mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
40974 lines
2.1 MiB
Plaintext
40974 lines
2.1 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02C7C790 @ 0x2c7c790
|
|
void Gambit_fn_02C7C790(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7C790: ; // 0x2c7c790
|
|
/* 02C7C790 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7C794 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7C794 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7C794 */ cpu->r[1] = _t0;
|
|
/* 02C7C798 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C798 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7C79C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C79C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7C7A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7C7A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7C7A4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7C7A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C7A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7C7AC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C7AC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7C7AC */ if (_t5) goto L_02C7C7CC; else goto L_02C7C7B0;
|
|
L_02C7C7B0: ; // 0x2c7c7b0
|
|
/* 02C7C7B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7C7B4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7C7B8 */ Gambit_fn_02C7CF54(cpu);
|
|
/* 02C7C7BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C7C7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7C7C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C7C0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7C7C0 */ if (_t7) goto L_02C7C7CC; else goto L_02C7C7C4;
|
|
L_02C7C7C4: ; // 0x2c7c7c4
|
|
/* 02C7C7C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7C7C8 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C7C7CC: ; // 0x2c7c7cc
|
|
/* 02C7C7CC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C7CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7C7D0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C7D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7C7D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7C7D8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C7D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7C7DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7C7E0 */ return;
|
|
}
|
|
|
|
// fn_02C7C794 @ 0x2c7c794
|
|
void Gambit_fn_02C7C794(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7C794: ; // 0x2c7c794
|
|
/* 02C7C794 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7C794 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7C794 */ cpu->r[1] = _t0;
|
|
/* 02C7C798 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C798 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7C79C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C79C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7C7A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7C7A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7C7A4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7C7A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C7A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7C7AC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C7AC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7C7AC */ if (_t5) goto L_02C7C7CC; else goto L_02C7C7B0;
|
|
L_02C7C7B0: ; // 0x2c7c7b0
|
|
/* 02C7C7B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7C7B4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7C7B8 */ Gambit_fn_02C7CF54(cpu);
|
|
/* 02C7C7BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C7C7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7C7C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C7C0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7C7C0 */ if (_t7) goto L_02C7C7CC; else goto L_02C7C7C4;
|
|
L_02C7C7C4: ; // 0x2c7c7c4
|
|
/* 02C7C7C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7C7C8 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C7C7CC: ; // 0x2c7c7cc
|
|
/* 02C7C7CC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C7CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7C7D0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C7D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7C7D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7C7D8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C7D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7C7DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7C7E0 */ return;
|
|
}
|
|
|
|
// fn_02C7C7E4 @ 0x2c7c7e4
|
|
void Gambit_fn_02C7C7E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C7C7E4: ; // 0x2c7c7e4
|
|
/* 02C7C7E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7C7E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7C7E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7C7E8 */ cpu->r[1] = _t0;
|
|
/* 02C7C7EC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C7EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7C7F0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7C7F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7C7F4 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7C7F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7C7F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7C7FC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C7FC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7C800 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7C800 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7C804 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7C808 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C808 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7C808 */ if (_t6) goto L_02C7C80C; else goto L_02C7C81C;
|
|
L_02C7C80C: ; // 0x2c7c80c
|
|
/* 02C7C80C */ cpu->r[3] = 0x00000218u;
|
|
/* 02C7C810 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7C814 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7C814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7C818 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C818 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7C818 */ if (_t8) goto L_02C7C848; else goto L_02C7C81C;
|
|
L_02C7C81C: ; // 0x2c7c81c
|
|
/* 02C7C81C */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7C81C */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 02C7C820 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7C824 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7C824 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02C7C828 */ Gambit_fn_02C816DC(cpu);
|
|
/* 02C7C82C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7C82C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7C830 */ cpu->r[4] = 0x00002500u;
|
|
/* 02C7C834 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C7C838 */ cpu->r[5] = 0x00000200u;
|
|
/* 02C7C83C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C7C840 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 02C7C844 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
L_02C7C848: ; // 0x2c7c848
|
|
/* 02C7C848 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C848 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7C84C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7C84C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7C850 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7C854 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7C854 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7C858 */ cpu->lr = cpu->r[0];
|
|
/* 02C7C85C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C85C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7C860 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7C864 */ return;
|
|
}
|
|
|
|
// fn_02C7C7E8 @ 0x2c7c7e8
|
|
void Gambit_fn_02C7C7E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C7C7E8: ; // 0x2c7c7e8
|
|
/* 02C7C7E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7C7E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7C7E8 */ cpu->r[1] = _t0;
|
|
/* 02C7C7EC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C7EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7C7F0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7C7F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7C7F4 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7C7F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7C7F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7C7FC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C7FC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7C800 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7C800 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7C804 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7C808 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C808 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7C808 */ if (_t6) goto L_02C7C80C; else goto L_02C7C81C;
|
|
L_02C7C80C: ; // 0x2c7c80c
|
|
/* 02C7C80C */ cpu->r[3] = 0x00000218u;
|
|
/* 02C7C810 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7C814 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7C814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7C818 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C818 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7C818 */ if (_t8) goto L_02C7C848; else goto L_02C7C81C;
|
|
L_02C7C81C: ; // 0x2c7c81c
|
|
/* 02C7C81C */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7C81C */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 02C7C820 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7C824 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7C824 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02C7C828 */ Gambit_fn_02C816DC(cpu);
|
|
/* 02C7C82C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7C82C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7C830 */ cpu->r[4] = 0x00002500u;
|
|
/* 02C7C834 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C7C838 */ cpu->r[5] = 0x00000200u;
|
|
/* 02C7C83C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C7C840 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 02C7C844 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
L_02C7C848: ; // 0x2c7c848
|
|
/* 02C7C848 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C848 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7C84C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7C84C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7C850 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7C854 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7C854 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7C858 */ cpu->lr = cpu->r[0];
|
|
/* 02C7C85C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C85C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7C860 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7C864 */ return;
|
|
}
|
|
|
|
// fn_02C7C868 @ 0x2c7c868
|
|
void Gambit_fn_02C7C868(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7C868: ; // 0x2c7c868
|
|
/* 02C7C868 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7C86C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7C86C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7C86C */ cpu->r[1] = _t0;
|
|
/* 02C7C870 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C870 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7C874 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C874 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7C878 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7C878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7C87C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7C880 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C880 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7C884 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C884 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7C884 */ if (_t5) goto L_02C7C8A4; else goto L_02C7C888;
|
|
L_02C7C888: ; // 0x2c7c888
|
|
/* 02C7C888 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7C88C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7C890 */ Gambit_fn_02C81728(cpu);
|
|
/* 02C7C894 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C7C894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7C898 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C898 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7C898 */ if (_t7) goto L_02C7C8A4; else goto L_02C7C89C;
|
|
L_02C7C89C: ; // 0x2c7c89c
|
|
/* 02C7C89C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7C8A0 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C7C8A4: ; // 0x2c7c8a4
|
|
/* 02C7C8A4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C8A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7C8A8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C8A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7C8AC */ cpu->lr = cpu->r[0];
|
|
/* 02C7C8B0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C8B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7C8B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7C8B8 */ return;
|
|
}
|
|
|
|
// fn_02C7C86C @ 0x2c7c86c
|
|
void Gambit_fn_02C7C86C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7C86C: ; // 0x2c7c86c
|
|
/* 02C7C86C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7C86C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7C86C */ cpu->r[1] = _t0;
|
|
/* 02C7C870 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C870 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7C874 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C874 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7C878 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7C878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7C87C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7C880 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C880 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7C884 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C884 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7C884 */ if (_t5) goto L_02C7C8A4; else goto L_02C7C888;
|
|
L_02C7C888: ; // 0x2c7c888
|
|
/* 02C7C888 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7C88C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7C890 */ Gambit_fn_02C81728(cpu);
|
|
/* 02C7C894 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C7C894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7C898 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C898 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7C898 */ if (_t7) goto L_02C7C8A4; else goto L_02C7C89C;
|
|
L_02C7C89C: ; // 0x2c7c89c
|
|
/* 02C7C89C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7C8A0 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C7C8A4: ; // 0x2c7c8a4
|
|
/* 02C7C8A4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C8A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7C8A8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C8A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7C8AC */ cpu->lr = cpu->r[0];
|
|
/* 02C7C8B0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C8B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7C8B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7C8B8 */ return;
|
|
}
|
|
|
|
// fn_02C7C8BC @ 0x2c7c8bc
|
|
void Gambit_fn_02C7C8BC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7C8BC: ; // 0x2c7c8bc
|
|
/* 02C7C8BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C7C8C0 */ cpu->r[0] = cpu->r[12] + cpu->r[3];
|
|
/* 02C7C8C4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C7C8C8 */ cpu->r[12] = cpu->r[11] + 0x101D0000u;
|
|
/* 02C7C8CC */ _t0 = cpu->r[12] + 0xFFFFC130u;
|
|
/* 02C7C8CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7C8D0 */ return;
|
|
}
|
|
|
|
// fn_02C7C8D4 @ 0x2c7c8d4
|
|
void Gambit_fn_02C7C8D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C7C8D4: ; // 0x2c7c8d4
|
|
/* 02C7C8D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7C8D8 */ cpu->r[10] = cpu->r[4];
|
|
/* 02C7C8DC */ cpu->r[4] = cpu->r[6];
|
|
/* 02C7C8E0 */ cpu->r[9] = cpu->r[3];
|
|
/* 02C7C8E4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7C8E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7C8E8 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C7C8EC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7C8EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7C8EC */ cpu->r[1] = _t1;
|
|
/* 02C7C8F0 */ Gambit_fn_02C7C8BC(cpu);
|
|
/* 02C7C8F4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C7C8F8 */ cpu->r[4] = cpu->r[10];
|
|
/* 02C7C8FC */ cpu->r[3] = cpu->r[9];
|
|
/* 02C7C900 */ Gambit_fn_02C79890(cpu);
|
|
/* 02C7C904 */ Gambit_fn_02C798C8(cpu);
|
|
/* 02C7C908 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7C90C */ cpu->lr = cpu->r[0];
|
|
/* 02C7C910 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C914 */ return;
|
|
}
|
|
|
|
// fn_02C7C8EC @ 0x2c7c8ec
|
|
void Gambit_fn_02C7C8EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C7C8EC: ; // 0x2c7c8ec
|
|
/* 02C7C8EC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7C8EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7C8EC */ cpu->r[1] = _t0;
|
|
/* 02C7C8F0 */ Gambit_fn_02C7C8BC(cpu);
|
|
/* 02C7C8F4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C7C8F8 */ cpu->r[4] = cpu->r[10];
|
|
/* 02C7C8FC */ cpu->r[3] = cpu->r[9];
|
|
/* 02C7C900 */ Gambit_fn_02C79890(cpu);
|
|
/* 02C7C904 */ Gambit_fn_02C798C8(cpu);
|
|
/* 02C7C908 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C7C90C */ cpu->lr = cpu->r[0];
|
|
/* 02C7C910 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C914 */ return;
|
|
}
|
|
|
|
// fn_02C7C918 @ 0x2c7c918
|
|
void Gambit_fn_02C7C918(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7C918: ; // 0x2c7c918
|
|
/* 02C7C918 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7C91C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7C91C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7C91C */ cpu->r[1] = _t0;
|
|
/* 02C7C920 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C920 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7C924 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C924 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7C928 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C7C92C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7C930 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C930 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_02C7C934: ; // 0x2c7c934
|
|
/* 02C7C934 */ cpu->r[12] = cpu->r[31] + 0x00000018u;
|
|
/* 02C7C938 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C7C93C */ cpu->r[4] = 0x00000100u;
|
|
/* 02C7C940 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7C944 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C7C948 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C7C94C */ Gambit_fn_02C7C8D4(cpu);
|
|
/* 02C7C950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7C954 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C954 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7C954 */ if (_t5) goto L_02C7C958; else goto L_02C7C968;
|
|
L_02C7C958: ; // 0x2c7c958
|
|
/* 02C7C958 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C7C95C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000002u);
|
|
/* 02C7C960 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7C960 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7C960 */ if (_t7) goto L_02C7C934; else goto L_02C7C964;
|
|
L_02C7C964: ; // 0x2c7c964
|
|
/* 02C7C964 */ cpu->r[3] = 0x00000000u;
|
|
L_02C7C968: ; // 0x2c7c968
|
|
/* 02C7C968 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7C96C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C96C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7C970 */ cpu->lr = cpu->r[0];
|
|
/* 02C7C974 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7C978 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7C97C */ return;
|
|
}
|
|
|
|
// fn_02C7C91C @ 0x2c7c91c
|
|
void Gambit_fn_02C7C91C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7C91C: ; // 0x2c7c91c
|
|
/* 02C7C91C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7C91C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7C91C */ cpu->r[1] = _t0;
|
|
/* 02C7C920 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C920 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7C924 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C924 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7C928 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C7C92C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7C930 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C930 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_02C7C934: ; // 0x2c7c934
|
|
/* 02C7C934 */ cpu->r[12] = cpu->r[31] + 0x00000018u;
|
|
/* 02C7C938 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C7C93C */ cpu->r[4] = 0x00000100u;
|
|
/* 02C7C940 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7C944 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C7C948 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C7C94C */ Gambit_fn_02C7C8D4(cpu);
|
|
/* 02C7C950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7C954 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C954 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7C954 */ if (_t5) goto L_02C7C958; else goto L_02C7C968;
|
|
L_02C7C958: ; // 0x2c7c958
|
|
/* 02C7C958 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C7C95C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000002u);
|
|
/* 02C7C960 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7C960 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7C960 */ if (_t7) goto L_02C7C934; else goto L_02C7C964;
|
|
L_02C7C964: ; // 0x2c7c964
|
|
/* 02C7C964 */ cpu->r[3] = 0x00000000u;
|
|
L_02C7C968: ; // 0x2c7c968
|
|
/* 02C7C968 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7C96C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C96C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7C970 */ cpu->lr = cpu->r[0];
|
|
/* 02C7C974 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7C978 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7C97C */ return;
|
|
}
|
|
|
|
// fn_02C7C980 @ 0x2c7c980
|
|
void Gambit_fn_02C7C980(CPUState* cpu) {
|
|
L_02C7C980: ; // 0x2c7c980
|
|
/* 02C7C980 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
|
|
/* 02C7C984 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C7C988 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C7C98C */ return;
|
|
}
|
|
|
|
// fn_02C7C990 @ 0x2c7c990
|
|
void Gambit_fn_02C7C990(CPUState* 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_02C7C990: ; // 0x2c7c990
|
|
/* 02C7C990 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7C994 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7C994 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7C994 */ cpu->r[1] = _t0;
|
|
/* 02C7C998 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C7C998 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7C99C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C99C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C7C9A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7C9A4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7C9A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C7C9A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C9AC */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7C9AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7C9B0 */ Gambit_fn_02C7574C(cpu);
|
|
/* 02C7C9B4 */ cpu->r[29] = 0x00000000u;
|
|
L_02C7C9B8: ; // 0x2c7c9b8
|
|
/* 02C7C9B8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x00004A00u);
|
|
/* 02C7C9BC */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7C9BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7C9C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7C9C4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7C9C8 */ cpu->r[31] = cpu->r[12] + cpu->r[0];
|
|
/* 02C7C9CC */ Gambit_fn_02C7C980(cpu);
|
|
/* 02C7C9D0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7C9D4 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7C9D8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C9DC */ cpu->r[6] = 0x00000000u;
|
|
/* 02C7C9E0 */ cpu->r[5] = cpu->r[5] + 0x00003134u;
|
|
/* 02C7C9E4 */ Gambit_fn_02C757AC(cpu);
|
|
/* 02C7C9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7C9EC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C9EC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7C9EC */ if (_t7) goto L_02C7C9F0; else goto L_02C7CA5C;
|
|
L_02C7C9F0: ; // 0x2c7c9f0
|
|
/* 02C7C9F0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C7C9F4 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C7C9F8 */ cpu->r[5] = 0x00004A00u;
|
|
/* 02C7C9FC */ cpu->r[8] = cpu->r[7];
|
|
/* 02C7CA00 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CA04 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7CA08 */ Gambit_fn_02C75818(cpu);
|
|
/* 02C7CA0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02C7CA10 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C7CA14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CA14 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7CA14 */ if (_t9) goto L_02C7CA4C; else goto L_02C7CA18;
|
|
L_02C7CA18: ; // 0x2c7ca18
|
|
/* 02C7CA18 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CA1C */ Gambit_fn_02C757CC(cpu);
|
|
/* 02C7CA20 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CA24 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7CA28 */ Gambit_fn_02C75798(cpu);
|
|
/* 02C7CA2C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CA2C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7CA30 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7CA30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7CA34 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02C7CA34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7CA38 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CA3C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CA3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7CA40 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7CA44 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C7CA48 */ return;
|
|
L_02C7CA4C: ; // 0x2c7ca4c
|
|
/* 02C7CA4C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CA50 */ Gambit_fn_02C757CC(cpu);
|
|
/* 02C7CA54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CA58 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CA58 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C7CA58 */ if (_t15) goto L_02C7CA88; else goto L_02C7CA5C;
|
|
L_02C7CA5C: ; // 0x2c7ca5c
|
|
/* 02C7CA5C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CA60 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7CA64 */ Gambit_fn_02C75798(cpu);
|
|
/* 02C7CA68 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CA68 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7CA6C */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7CA6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C7CA70 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02C7CA70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C7CA74 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CA78 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CA78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7CA7C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7CA80 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C7CA84 */ return;
|
|
L_02C7CA88: ; // 0x2c7ca88
|
|
/* 02C7CA88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7CA8C */ Gambit_fn_02C7CFAC(cpu);
|
|
/* 02C7CA90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CA90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7CA94 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CA94 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C7CA94 */ if (_t21) goto L_02C7CAC4; else goto L_02C7CA98;
|
|
L_02C7CA98: ; // 0x2c7ca98
|
|
/* 02C7CA98 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CA9C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7CAA0 */ Gambit_fn_02C75798(cpu);
|
|
/* 02C7CAA4 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CAA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C7CAA8 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7CAA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C7CAAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7CAB0 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02C7CAB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C7CAB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CAB8 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CAB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C7CABC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7CAC0 */ return;
|
|
L_02C7CAC4: ; // 0x2c7cac4
|
|
/* 02C7CAC4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C7CAC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
|
|
/* 02C7CACC */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7CACC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C7CACC */ if (_t27) goto L_02C7C9B8; else goto L_02C7CAD0;
|
|
L_02C7CAD0: ; // 0x2c7cad0
|
|
/* 02C7CAD0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CAD4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7CAD8 */ Gambit_fn_02C75798(cpu);
|
|
/* 02C7CADC */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CADC */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C7CAE0 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7CAE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C7CAE4 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02C7CAE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C7CAE8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CAEC */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CAEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C7CAF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7CAF4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7CAF8 */ return;
|
|
}
|
|
|
|
// fn_02C7C994 @ 0x2c7c994
|
|
void Gambit_fn_02C7C994(CPUState* 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_02C7C994: ; // 0x2c7c994
|
|
/* 02C7C994 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7C994 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7C994 */ cpu->r[1] = _t0;
|
|
/* 02C7C998 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C7C998 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7C99C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7C99C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C7C9A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7C9A4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7C9A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C7C9A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C9AC */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7C9AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7C9B0 */ Gambit_fn_02C7574C(cpu);
|
|
/* 02C7C9B4 */ cpu->r[29] = 0x00000000u;
|
|
L_02C7C9B8: ; // 0x2c7c9b8
|
|
/* 02C7C9B8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x00004A00u);
|
|
/* 02C7C9BC */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7C9BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7C9C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7C9C4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7C9C8 */ cpu->r[31] = cpu->r[12] + cpu->r[0];
|
|
/* 02C7C9CC */ Gambit_fn_02C7C980(cpu);
|
|
/* 02C7C9D0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7C9D4 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7C9D8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C9DC */ cpu->r[6] = 0x00000000u;
|
|
/* 02C7C9E0 */ cpu->r[5] = cpu->r[5] + 0x00003134u;
|
|
/* 02C7C9E4 */ Gambit_fn_02C757AC(cpu);
|
|
/* 02C7C9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7C9EC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7C9EC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7C9EC */ if (_t7) goto L_02C7C9F0; else goto L_02C7CA5C;
|
|
L_02C7C9F0: ; // 0x2c7c9f0
|
|
/* 02C7C9F0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C7C9F4 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C7C9F8 */ cpu->r[5] = 0x00004A00u;
|
|
/* 02C7C9FC */ cpu->r[8] = cpu->r[7];
|
|
/* 02C7CA00 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CA04 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7CA08 */ Gambit_fn_02C75818(cpu);
|
|
/* 02C7CA0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02C7CA10 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C7CA14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CA14 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7CA14 */ if (_t9) goto L_02C7CA4C; else goto L_02C7CA18;
|
|
L_02C7CA18: ; // 0x2c7ca18
|
|
/* 02C7CA18 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CA1C */ Gambit_fn_02C757CC(cpu);
|
|
/* 02C7CA20 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CA24 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7CA28 */ Gambit_fn_02C75798(cpu);
|
|
/* 02C7CA2C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CA2C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7CA30 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7CA30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7CA34 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02C7CA34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7CA38 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CA3C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CA3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7CA40 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7CA44 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C7CA48 */ return;
|
|
L_02C7CA4C: ; // 0x2c7ca4c
|
|
/* 02C7CA4C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CA50 */ Gambit_fn_02C757CC(cpu);
|
|
/* 02C7CA54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CA58 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CA58 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C7CA58 */ if (_t15) goto L_02C7CA88; else goto L_02C7CA5C;
|
|
L_02C7CA5C: ; // 0x2c7ca5c
|
|
/* 02C7CA5C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CA60 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7CA64 */ Gambit_fn_02C75798(cpu);
|
|
/* 02C7CA68 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CA68 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7CA6C */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7CA6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C7CA70 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02C7CA70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C7CA74 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CA78 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CA78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7CA7C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7CA80 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C7CA84 */ return;
|
|
L_02C7CA88: ; // 0x2c7ca88
|
|
/* 02C7CA88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7CA8C */ Gambit_fn_02C7CFAC(cpu);
|
|
/* 02C7CA90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CA90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7CA94 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CA94 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C7CA94 */ if (_t21) goto L_02C7CAC4; else goto L_02C7CA98;
|
|
L_02C7CA98: ; // 0x2c7ca98
|
|
/* 02C7CA98 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CA9C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7CAA0 */ Gambit_fn_02C75798(cpu);
|
|
/* 02C7CAA4 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CAA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C7CAA8 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7CAA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C7CAAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7CAB0 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02C7CAB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C7CAB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CAB8 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CAB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C7CABC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7CAC0 */ return;
|
|
L_02C7CAC4: ; // 0x2c7cac4
|
|
/* 02C7CAC4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C7CAC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
|
|
/* 02C7CACC */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7CACC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C7CACC */ if (_t27) goto L_02C7C9B8; else goto L_02C7CAD0;
|
|
L_02C7CAD0: ; // 0x2c7cad0
|
|
/* 02C7CAD0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CAD4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7CAD8 */ Gambit_fn_02C75798(cpu);
|
|
/* 02C7CADC */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CADC */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C7CAE0 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7CAE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C7CAE4 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02C7CAE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C7CAE8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CAEC */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CAEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C7CAF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7CAF4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7CAF8 */ return;
|
|
}
|
|
|
|
// fn_02C7CAFC @ 0x2c7cafc
|
|
void Gambit_fn_02C7CAFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C7CAFC: ; // 0x2c7cafc
|
|
/* 02C7CAFC */ cpu->r[0] = cpu->lr;
|
|
/* 02C7CB00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7CB00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CB00 */ cpu->r[1] = _t0;
|
|
/* 02C7CB04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CB04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7CB08 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CB0C */ cpu->r[3] = cpu->r[4];
|
|
/* 02C7CB10 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CB10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7CB14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CB14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7CB18 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7CB18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7CB1C */ Gambit_fn_02C7571C(cpu);
|
|
/* 02C7CB20 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7CB24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7CB28 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7CB2C */ Gambit_fn_02C7C990(cpu);
|
|
/* 02C7CB30 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CB34 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7CB38 */ Gambit_fn_02C75744(cpu);
|
|
/* 02C7CB3C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7CB40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7CB44 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CB44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7CB48 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CB4C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CB4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7CB50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CB54 */ return;
|
|
}
|
|
|
|
// fn_02C7CB00 @ 0x2c7cb00
|
|
void Gambit_fn_02C7CB00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C7CB00: ; // 0x2c7cb00
|
|
/* 02C7CB00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7CB00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CB00 */ cpu->r[1] = _t0;
|
|
/* 02C7CB04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CB04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7CB08 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CB0C */ cpu->r[3] = cpu->r[4];
|
|
/* 02C7CB10 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CB10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7CB14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CB14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7CB18 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7CB18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7CB1C */ Gambit_fn_02C7571C(cpu);
|
|
/* 02C7CB20 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7CB24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7CB28 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7CB2C */ Gambit_fn_02C7C990(cpu);
|
|
/* 02C7CB30 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CB34 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7CB38 */ Gambit_fn_02C75744(cpu);
|
|
/* 02C7CB3C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7CB40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7CB44 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CB44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7CB48 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CB4C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CB4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7CB50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CB54 */ return;
|
|
}
|
|
|
|
// fn_02C7CB58 @ 0x2c7cb58
|
|
void Gambit_fn_02C7CB58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C7CB58: ; // 0x2c7cb58
|
|
/* 02C7CB58 */ cpu->r[3] = cpu->r[3] + 0x00000008u;
|
|
/* 02C7CB5C */ goto L_02C8173C;
|
|
L_02C8173C: ; // 0x2c8173c
|
|
/* 02C8173C */ cpu->r[0] = cpu->lr;
|
|
/* 02C81740 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C81740 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81740 */ cpu->r[1] = _t0;
|
|
/* 02C81744 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81744 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C81748 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C8174C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8174C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C81750 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C81750 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C81754 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C81758 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C8175C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8175C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C81760 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C81764 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C81764 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C81768 */ cpu->r[29] = cpu->r[6];
|
|
/* 02C8176C */ Gambit_fn_02C7CFAC(cpu);
|
|
/* 02C81770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81774 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81774 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C81774 */ if (_t7) goto L_02C81778; else goto L_02C8178C;
|
|
L_02C81778: ; // 0x2c81778
|
|
/* 02C81778 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C8177C */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
/* 02C81780 */ _t8 = cpu->r[30] + cpu->r[0];
|
|
/* 02C81780 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C81784 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C81788 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02C81788 */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
L_02C8178C: ; // 0x2c8178c
|
|
/* 02C8178C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8178C */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C81790 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81790 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C81794 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C81794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C81798 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C81798 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C8179C */ cpu->lr = cpu->r[0];
|
|
/* 02C817A0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C817A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C817A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C817A8 */ return;
|
|
}
|
|
|
|
// fn_02C7CB60 @ 0x2c7cb60
|
|
void Gambit_fn_02C7CB60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C7CB60: ; // 0x2c7cb60
|
|
/* 02C7CB60 */ cpu->r[3] = cpu->r[3] + 0x00000008u;
|
|
/* 02C7CB64 */ goto L_02C817C0;
|
|
L_02C817C0: ; // 0x2c817c0
|
|
/* 02C817C0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C817C4 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C817C8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C817C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C817CC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C817D0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C817D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C817D0 */ cpu->r[1] = _t1;
|
|
L_02C817D4: ; // 0x2c817d4
|
|
/* 02C817D4 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C817D8 */ Gambit_fn_02C817AC(cpu);
|
|
/* 02C817DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C817E0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C817E0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C817E0 */ if (_t3) goto L_02C817F8; else goto L_02C817E4;
|
|
L_02C817E4: ; // 0x2c817e4
|
|
/* 02C817E4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C817E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C817E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C817EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C817F0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C817F4 */ return;
|
|
L_02C817F8: ; // 0x2c817f8
|
|
/* 02C817F8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C817FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
|
|
/* 02C81800 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C81800 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C81800 */ if (_t6) goto L_02C817D4; else goto L_02C81804;
|
|
L_02C81804: ; // 0x2c81804
|
|
/* 02C81804 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C81808 */ cpu->lr = cpu->r[0];
|
|
/* 02C8180C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81810 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C81814 */ return;
|
|
}
|
|
|
|
// fn_02C7CB68 @ 0x2c7cb68
|
|
void Gambit_fn_02C7CB68(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7CB68: ; // 0x2c7cb68
|
|
/* 02C7CB68 */ cpu->r[3] = cpu->r[3] + 0x00000008u;
|
|
/* 02C7CB6C */ goto L_02C81818;
|
|
L_02C81818: ; // 0x2c81818
|
|
/* 02C81818 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C8181C */ _t0 = cpu->r[12] + cpu->r[3];
|
|
/* 02C8181C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81820 */ return;
|
|
}
|
|
|
|
// fn_02C7CB70 @ 0x2c7cb70
|
|
void Gambit_fn_02C7CB70(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7CB70: ; // 0x2c7cb70
|
|
/* 02C7CB70 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00004A00u);
|
|
/* 02C7CB74 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7CB74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7CB78 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C7CB7C */ return;
|
|
}
|
|
|
|
// fn_02C7CB80 @ 0x2c7cb80
|
|
void Gambit_fn_02C7CB80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C7CB80: ; // 0x2c7cb80
|
|
/* 02C7CB80 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7CB84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7CB84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CB84 */ cpu->r[1] = _t0;
|
|
/* 02C7CB88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CB88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7CB8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CB8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7CB90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CB94 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7CB98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CB98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7CB9C */ Gambit_fn_02C7CB60(cpu);
|
|
/* 02C7CBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CBA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7CBA8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7CBAC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CBAC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7CBAC */ if (_t5) goto L_02C7CBCC; else goto L_02C7CBB0;
|
|
L_02C7CBB0: ; // 0x2c7cbb0
|
|
/* 02C7CBB0 */ Gambit_fn_02C7CB68(cpu);
|
|
/* 02C7CBB4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CBB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7CBB8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CBB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7CBBC */ cpu->lr = cpu->r[0];
|
|
/* 02C7CBC0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CBC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7CBC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CBC8 */ return;
|
|
L_02C7CBCC: ; // 0x2c7cbcc
|
|
/* 02C7CBCC */ Gambit_fn_02C7CB70(cpu);
|
|
/* 02C7CBD0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CBD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7CBD4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CBD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7CBD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CBDC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CBDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7CBE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CBE4 */ return;
|
|
}
|
|
|
|
// fn_02C7CB84 @ 0x2c7cb84
|
|
void Gambit_fn_02C7CB84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C7CB84: ; // 0x2c7cb84
|
|
/* 02C7CB84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7CB84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CB84 */ cpu->r[1] = _t0;
|
|
/* 02C7CB88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CB88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7CB8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CB8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7CB90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CB94 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7CB98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CB98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7CB9C */ Gambit_fn_02C7CB60(cpu);
|
|
/* 02C7CBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CBA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7CBA8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7CBAC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CBAC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7CBAC */ if (_t5) goto L_02C7CBCC; else goto L_02C7CBB0;
|
|
L_02C7CBB0: ; // 0x2c7cbb0
|
|
/* 02C7CBB0 */ Gambit_fn_02C7CB68(cpu);
|
|
/* 02C7CBB4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CBB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7CBB8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CBB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7CBBC */ cpu->lr = cpu->r[0];
|
|
/* 02C7CBC0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CBC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7CBC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CBC8 */ return;
|
|
L_02C7CBCC: ; // 0x2c7cbcc
|
|
/* 02C7CBCC */ Gambit_fn_02C7CB70(cpu);
|
|
/* 02C7CBD0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CBD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7CBD4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CBD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7CBD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CBDC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CBDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7CBE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CBE4 */ return;
|
|
}
|
|
|
|
// fn_02C7CBE8 @ 0x2c7cbe8
|
|
void Gambit_fn_02C7CBE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C7CBE8: ; // 0x2c7cbe8
|
|
/* 02C7CBE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7CBEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7CBEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CBEC */ cpu->r[1] = _t0;
|
|
/* 02C7CBF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CBF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7CBF4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C7CBF8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CBF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7CBFC */ Gambit_fn_02C7CB80(cpu);
|
|
/* 02C7CC00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C7CC04 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02C7CC08 */ _t3 = cpu->r[12] + 0x00000014u;
|
|
/* 02C7CC08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7CC0C */ cpu->r[4] = 0x00000040u;
|
|
/* 02C7CC10 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7CC14 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CC14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7CC18 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CC1C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CC1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7CC20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CC24 */ return;
|
|
}
|
|
|
|
// fn_02C7CBEC @ 0x2c7cbec
|
|
void Gambit_fn_02C7CBEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C7CBEC: ; // 0x2c7cbec
|
|
/* 02C7CBEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7CBEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CBEC */ cpu->r[1] = _t0;
|
|
/* 02C7CBF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CBF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7CBF4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C7CBF8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CBF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7CBFC */ Gambit_fn_02C7CB80(cpu);
|
|
/* 02C7CC00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C7CC04 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02C7CC08 */ _t3 = cpu->r[12] + 0x00000014u;
|
|
/* 02C7CC08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7CC0C */ cpu->r[4] = 0x00000040u;
|
|
/* 02C7CC10 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7CC14 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CC14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7CC18 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CC1C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CC1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7CC20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CC24 */ return;
|
|
}
|
|
|
|
// fn_02C7CC28 @ 0x2c7cc28
|
|
void Gambit_fn_02C7CC28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C7CC28: ; // 0x2c7cc28
|
|
/* 02C7CC28 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7CC2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7CC2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CC2C */ cpu->r[1] = _t0;
|
|
/* 02C7CC30 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CC30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7CC34 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C7CC38 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CC38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7CC3C */ Gambit_fn_02C7CB80(cpu);
|
|
/* 02C7CC40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C7CC44 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02C7CC48 */ _t3 = cpu->r[12] + 0x00001410u;
|
|
/* 02C7CC48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7CC4C */ cpu->r[4] = 0x00000040u;
|
|
/* 02C7CC50 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7CC54 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CC54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7CC58 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CC5C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CC5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7CC60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CC64 */ return;
|
|
}
|
|
|
|
// fn_02C7CC2C @ 0x2c7cc2c
|
|
void Gambit_fn_02C7CC2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C7CC2C: ; // 0x2c7cc2c
|
|
/* 02C7CC2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7CC2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CC2C */ cpu->r[1] = _t0;
|
|
/* 02C7CC30 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CC30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7CC34 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C7CC38 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CC38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7CC3C */ Gambit_fn_02C7CB80(cpu);
|
|
/* 02C7CC40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C7CC44 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02C7CC48 */ _t3 = cpu->r[12] + 0x00001410u;
|
|
/* 02C7CC48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7CC4C */ cpu->r[4] = 0x00000040u;
|
|
/* 02C7CC50 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7CC54 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CC54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7CC58 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CC5C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CC5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7CC60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CC64 */ return;
|
|
}
|
|
|
|
// fn_02C7CC68 @ 0x2c7cc68
|
|
void Gambit_fn_02C7CC68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7CC68: ; // 0x2c7cc68
|
|
/* 02C7CC68 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7CC6C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7CC6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CC6C */ cpu->r[1] = _t0;
|
|
/* 02C7CC70 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CC70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7CC74 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CC74 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7CC78 */ cpu->r[30] = 0x00000001u;
|
|
/* 02C7CC7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CC80 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CC80 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7CC84 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CC84 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7CC88 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7CC8C */ Gambit_fn_02C7CB60(cpu);
|
|
/* 02C7CC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CC94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CC94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7CC94 */ if (_t6) goto L_02C7CCA8; else goto L_02C7CC98;
|
|
L_02C7CC98: ; // 0x2c7cc98
|
|
/* 02C7CC98 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7CC9C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7CCA0 */ Gambit_fn_02C817AC(cpu);
|
|
/* 02C7CCA4 */ cpu->r[30] = cpu->r[3];
|
|
L_02C7CCA8: ; // 0x2c7cca8
|
|
/* 02C7CCA8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CCA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7CCAC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CCAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7CCB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7CCB4 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CCB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7CCB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CCBC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CCBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7CCC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7CCC4 */ return;
|
|
}
|
|
|
|
// fn_02C7CC6C @ 0x2c7cc6c
|
|
void Gambit_fn_02C7CC6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7CC6C: ; // 0x2c7cc6c
|
|
/* 02C7CC6C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7CC6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CC6C */ cpu->r[1] = _t0;
|
|
/* 02C7CC70 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CC70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7CC74 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CC74 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7CC78 */ cpu->r[30] = 0x00000001u;
|
|
/* 02C7CC7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CC80 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CC80 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7CC84 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CC84 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7CC88 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7CC8C */ Gambit_fn_02C7CB60(cpu);
|
|
/* 02C7CC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CC94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CC94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7CC94 */ if (_t6) goto L_02C7CCA8; else goto L_02C7CC98;
|
|
L_02C7CC98: ; // 0x2c7cc98
|
|
/* 02C7CC98 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7CC9C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7CCA0 */ Gambit_fn_02C817AC(cpu);
|
|
/* 02C7CCA4 */ cpu->r[30] = cpu->r[3];
|
|
L_02C7CCA8: ; // 0x2c7cca8
|
|
/* 02C7CCA8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CCA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7CCAC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CCAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7CCB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7CCB4 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CCB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7CCB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CCBC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CCBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7CCC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7CCC4 */ return;
|
|
}
|
|
|
|
// fn_02C7CCC8 @ 0x2c7ccc8
|
|
void Gambit_fn_02C7CCC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C7CCC8: ; // 0x2c7ccc8
|
|
/* 02C7CCC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7CCCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7CCCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CCCC */ cpu->r[1] = _t0;
|
|
/* 02C7CCD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CCD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7CCD4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CCD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7CCD8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7CCDC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7CCE0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CCE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7CCE4 */ Gambit_fn_02C7CC68(cpu);
|
|
/* 02C7CCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CCEC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CCEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7CCEC */ if (_t5) goto L_02C7CD00; else goto L_02C7CCF0;
|
|
L_02C7CCF0: ; // 0x2c7ccf0
|
|
/* 02C7CCF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7CCF4 */ Gambit_fn_02C7CB60(cpu);
|
|
/* 02C7CCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CCFC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CCFC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7CCFC */ if (_t7) goto L_02C7CD00; else goto L_02C7CD1C;
|
|
L_02C7CD00: ; // 0x2c7cd00
|
|
/* 02C7CD00 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CD00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7CD04 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CD04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7CD08 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CD0C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CD0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7CD10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CD14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7CD18 */ return;
|
|
L_02C7CD1C: ; // 0x2c7cd1c
|
|
/* 02C7CD1C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7CD20 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7CD24 */ Gambit_fn_02C7CB80(cpu);
|
|
/* 02C7CD28 */ _t11 = cpu->r[3] + 0x00000010u;
|
|
/* 02C7CD28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7CD2C */ cpu->r[12] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C7CD30 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C7CD34 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CD34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7CD38 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C7CD3C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CD3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7CD40 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CD40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7CD44 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CD48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CD4C */ return;
|
|
}
|
|
|
|
// fn_02C7CCCC @ 0x2c7cccc
|
|
void Gambit_fn_02C7CCCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C7CCCC: ; // 0x2c7cccc
|
|
/* 02C7CCCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7CCCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CCCC */ cpu->r[1] = _t0;
|
|
/* 02C7CCD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CCD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7CCD4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CCD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7CCD8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7CCDC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7CCE0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CCE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7CCE4 */ Gambit_fn_02C7CC68(cpu);
|
|
/* 02C7CCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CCEC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CCEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7CCEC */ if (_t5) goto L_02C7CD00; else goto L_02C7CCF0;
|
|
L_02C7CCF0: ; // 0x2c7ccf0
|
|
/* 02C7CCF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7CCF4 */ Gambit_fn_02C7CB60(cpu);
|
|
/* 02C7CCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CCFC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CCFC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7CCFC */ if (_t7) goto L_02C7CD00; else goto L_02C7CD1C;
|
|
L_02C7CD00: ; // 0x2c7cd00
|
|
/* 02C7CD00 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CD00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7CD04 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CD04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7CD08 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CD0C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CD0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7CD10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CD14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7CD18 */ return;
|
|
L_02C7CD1C: ; // 0x2c7cd1c
|
|
/* 02C7CD1C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7CD20 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7CD24 */ Gambit_fn_02C7CB80(cpu);
|
|
/* 02C7CD28 */ _t11 = cpu->r[3] + 0x00000010u;
|
|
/* 02C7CD28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7CD2C */ cpu->r[12] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C7CD30 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C7CD34 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CD34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7CD38 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C7CD3C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CD3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7CD40 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CD40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7CD44 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CD48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CD4C */ return;
|
|
}
|
|
|
|
// fn_02C7CD50 @ 0x2c7cd50
|
|
void Gambit_fn_02C7CD50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C7CD50: ; // 0x2c7cd50
|
|
/* 02C7CD50 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7CD54 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7CD54 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7CD58 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7CD58 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7CD58 */ cpu->r[1] = _t1;
|
|
/* 02C7CD5C */ Gambit_fn_02C7CB80(cpu);
|
|
/* 02C7CD60 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 02C7CD60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7CD64 */ cpu->r[4] = 0x00000040u;
|
|
/* 02C7CD68 */ cpu->r[3] = cpu->r[12] + 0x00000040u;
|
|
/* 02C7CD6C */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7CD70 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CD70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7CD74 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CD78 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CD7C */ return;
|
|
}
|
|
|
|
// fn_02C7CD58 @ 0x2c7cd58
|
|
void Gambit_fn_02C7CD58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C7CD58: ; // 0x2c7cd58
|
|
/* 02C7CD58 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7CD58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CD58 */ cpu->r[1] = _t0;
|
|
/* 02C7CD5C */ Gambit_fn_02C7CB80(cpu);
|
|
/* 02C7CD60 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C7CD60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C7CD64 */ cpu->r[4] = 0x00000040u;
|
|
/* 02C7CD68 */ cpu->r[3] = cpu->r[12] + 0x00000040u;
|
|
/* 02C7CD6C */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7CD70 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CD70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7CD74 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CD78 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CD7C */ return;
|
|
}
|
|
|
|
// fn_02C7CD98 @ 0x2c7cd98
|
|
void Gambit_fn_02C7CD98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C7CD98: ; // 0x2c7cd98
|
|
/* 02C7CD98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000008u);
|
|
/* 02C7CD9C */ cpu->r[12] = cpu->r[4];
|
|
/* 02C7CDA0 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C7CDA0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C7CDA0 */ if (_t1) goto L_02C7CE70; else goto L_02C7CDA4;
|
|
L_02C7CDA4: ; // 0x2c7cda4
|
|
/* 02C7CDA4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C7CDA8 */ cpu->r[7] = cpu->r[6] + 0x02C80000u;
|
|
/* 02C7CDAC */ cpu->r[7] = cpu->r[7] + 0xFFFFCDB8u;
|
|
/* 02C7CDB0 */ cpu->ctr = cpu->r[7];
|
|
/* 02C7CDB4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C7CE70: ; // 0x2c7ce70
|
|
/* 02C7CE70 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C7CE74 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7CE74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7CE78 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C7CE7C */ return;
|
|
}
|
|
|
|
// fn_02C7CE80 @ 0x2c7ce80
|
|
void Gambit_fn_02C7CE80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C7CE80: ; // 0x2c7ce80
|
|
/* 02C7CE80 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7CE80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CE80 */ cpu->r[1] = _t0;
|
|
/* 02C7CE84 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C7CE88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CE88 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[1]);
|
|
L_02C7CE8C: ; // 0x2c7ce8c
|
|
/* 02C7CE8C */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CE90 */ cpu->r[0] = 0x00000003u - cpu->r[11];
|
|
/* 02C7CE94 */ _t2 = cpu->r[10] + cpu->r[0];
|
|
/* 02C7CE94 */ cpu->r[12] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C7CE98 */ _t3 = cpu->r[10] + cpu->r[11];
|
|
/* 02C7CE98 */ cpu->r[9] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C7CE9C */ _t4 = cpu->r[10] + cpu->r[11];
|
|
/* 02C7CE9C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02C7CEA0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C7CEA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 02C7CEA8 */ _t5 = cpu->r[10] + cpu->r[0];
|
|
/* 02C7CEA8 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[9]);
|
|
/* 02C7CEAC */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7CEAC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7CEAC */ if (_t7) goto L_02C7CE8C; else goto L_02C7CEB0;
|
|
L_02C7CEB0: ; // 0x2c7ceb0
|
|
/* 02C7CEB0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CEB0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C7CEB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7CEB8 */ return;
|
|
}
|
|
|
|
// fn_02C7CEBC @ 0x2c7cebc
|
|
void Gambit_fn_02C7CEBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C7CEBC: ; // 0x2c7cebc
|
|
/* 02C7CEBC */ cpu->r[0] = cpu->lr;
|
|
/* 02C7CEC0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7CEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CEC0 */ cpu->r[1] = _t0;
|
|
/* 02C7CEC4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7CEC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CEC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7CECC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CECC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C7CED0 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7CED4 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C7CED8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7CEDC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CEDC */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C7CEE0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CEE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7CEE4 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C7CEE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CEE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7CEE8 */ if (_t7) goto L_02C7CEEC; else goto L_02C7CEFC;
|
|
L_02C7CEEC: ; // 0x2c7ceec
|
|
/* 02C7CEEC */ cpu->r[3] = 0x00000008u;
|
|
/* 02C7CEF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7CEF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7CEF8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CEF8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7CEF8 */ if (_t9) goto L_02C7CF30; else goto L_02C7CEFC;
|
|
L_02C7CEFC: ; // 0x2c7cefc
|
|
/* 02C7CEFC */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7CF00 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7CF04 */ Gambit_fn_02C7CD50(cpu);
|
|
/* 02C7CF08 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7CF0C */ cpu->r[5] = 0x00000040u;
|
|
/* 02C7CF10 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7CF14 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7CF18 */ cpu->r[4] = 0x00020000u;
|
|
/* 02C7CF1C */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7CF1C */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02C7CF20 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7CF24 */ cpu->r[4] = cpu->r[4] + 0xFFFF9000u;
|
|
/* 02C7CF28 */ Gambit_fn_02C7F608(cpu);
|
|
/* 02C7CF2C */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7CF2C */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
L_02C7CF30: ; // 0x2c7cf30
|
|
/* 02C7CF30 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CF30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7CF34 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CF34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7CF38 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CF38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7CF3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7CF40 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CF40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7CF44 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CF48 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7CF4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7CF50 */ return;
|
|
}
|
|
|
|
// fn_02C7CEC0 @ 0x2c7cec0
|
|
void Gambit_fn_02C7CEC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C7CEC0: ; // 0x2c7cec0
|
|
/* 02C7CEC0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7CEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CEC0 */ cpu->r[1] = _t0;
|
|
/* 02C7CEC4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7CEC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CEC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7CECC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CECC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C7CED0 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7CED4 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C7CED8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7CEDC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CEDC */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C7CEE0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CEE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7CEE4 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C7CEE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CEE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7CEE8 */ if (_t7) goto L_02C7CEEC; else goto L_02C7CEFC;
|
|
L_02C7CEEC: ; // 0x2c7ceec
|
|
/* 02C7CEEC */ cpu->r[3] = 0x00000008u;
|
|
/* 02C7CEF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7CEF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7CEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7CEF8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CEF8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7CEF8 */ if (_t9) goto L_02C7CF30; else goto L_02C7CEFC;
|
|
L_02C7CEFC: ; // 0x2c7cefc
|
|
/* 02C7CEFC */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7CF00 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7CF04 */ Gambit_fn_02C7CD50(cpu);
|
|
/* 02C7CF08 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7CF0C */ cpu->r[5] = 0x00000040u;
|
|
/* 02C7CF10 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7CF14 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7CF18 */ cpu->r[4] = 0x00020000u;
|
|
/* 02C7CF1C */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7CF1C */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02C7CF20 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7CF24 */ cpu->r[4] = cpu->r[4] + 0xFFFF9000u;
|
|
/* 02C7CF28 */ Gambit_fn_02C7F608(cpu);
|
|
/* 02C7CF2C */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7CF2C */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
L_02C7CF30: ; // 0x2c7cf30
|
|
/* 02C7CF30 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CF30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7CF34 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CF34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7CF38 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7CF38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7CF3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7CF40 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7CF40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7CF44 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CF48 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7CF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7CF4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7CF50 */ return;
|
|
}
|
|
|
|
// fn_02C7CF54 @ 0x2c7cf54
|
|
void Gambit_fn_02C7CF54(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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 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 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) 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 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C7CF54: ; // 0x2c7cf54
|
|
/* 02C7CF54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CF58 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CF58 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C7CF58 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C7CF58 */ goto L_02C7CF5C;
|
|
L_02C7CF5C: ; // 0x2c7cf5c
|
|
/* 02C7CF5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C7CF5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7CF60 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CF60 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C7CF60 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C7CF60 */ goto L_02C7CF64;
|
|
L_02C7CF64: ; // 0x2c7cf64
|
|
/* 02C7CF64 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C7CF68 @ 0x2c7cf68
|
|
void Gambit_fn_02C7CF68(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7CF68: ; // 0x2c7cf68
|
|
/* 02C7CF68 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7CF68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7CF6C */ return;
|
|
}
|
|
|
|
// fn_02C7CF70 @ 0x2c7cf70
|
|
void Gambit_fn_02C7CF70(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7CF70: ; // 0x2c7cf70
|
|
/* 02C7CF70 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7CF70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7CF74 */ return;
|
|
}
|
|
|
|
// fn_02C7CF78 @ 0x2c7cf78
|
|
void Gambit_fn_02C7CF78(CPUState* cpu) {
|
|
L_02C7CF78: ; // 0x2c7cf78
|
|
/* 02C7CF78 */ cpu->r[3] = 0x00020000u;
|
|
/* 02C7CF7C */ cpu->r[3] = cpu->r[3] + 0xFFFF9000u;
|
|
/* 02C7CF80 */ return;
|
|
}
|
|
|
|
// fn_02C7CF84 @ 0x2c7cf84
|
|
void Gambit_fn_02C7CF84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C7CF84: ; // 0x2c7cf84
|
|
/* 02C7CF84 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7CF88 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7CF88 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7CF8C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7CF8C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7CF8C */ cpu->r[1] = _t1;
|
|
/* 02C7CF90 */ Gambit_fn_02C7CD50(cpu);
|
|
/* 02C7CF94 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CF94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7CF98 */ cpu->r[12] = cpu->r[3] + 0xFFFF9040u;
|
|
/* 02C7CF9C */ cpu->lr = cpu->r[0];
|
|
/* 02C7CFA0 */ cpu->r[3] = cpu->r[12] + 0x00020000u;
|
|
/* 02C7CFA4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CFA8 */ return;
|
|
}
|
|
|
|
// fn_02C7CF8C @ 0x2c7cf8c
|
|
void Gambit_fn_02C7CF8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C7CF8C: ; // 0x2c7cf8c
|
|
/* 02C7CF8C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7CF8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CF8C */ cpu->r[1] = _t0;
|
|
/* 02C7CF90 */ Gambit_fn_02C7CD50(cpu);
|
|
/* 02C7CF94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CF94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C7CF98 */ cpu->r[12] = cpu->r[3] + 0xFFFF9040u;
|
|
/* 02C7CF9C */ cpu->lr = cpu->r[0];
|
|
/* 02C7CFA0 */ cpu->r[3] = cpu->r[12] + 0x00020000u;
|
|
/* 02C7CFA4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CFA8 */ return;
|
|
}
|
|
|
|
// fn_02C7CFAC @ 0x2c7cfac
|
|
void Gambit_fn_02C7CFAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C7B948: ; // 0x2c7b948
|
|
/* 02C7B948 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7B94C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7B94C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7B94C */ cpu->r[1] = _t0;
|
|
/* 02C7B950 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7B950 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7B954 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7B958 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C7B95C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7B95C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7B960 */ Gambit_fn_02C7E1B4(cpu);
|
|
/* 02C7B964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7B968 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7B968 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7B968 */ if (_t4) goto L_02C7B96C; else goto L_02C7B984;
|
|
L_02C7B96C: ; // 0x2c7b96c
|
|
/* 02C7B96C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7B96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7B970 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7B970 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7B974 */ cpu->lr = cpu->r[0];
|
|
/* 02C7B978 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7B97C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7B980 */ return;
|
|
L_02C7B984: ; // 0x2c7b984
|
|
/* 02C7B984 */ cpu->r[0] = 0x46460000u;
|
|
/* 02C7B988 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7B988 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7B98C */ cpu->r[0] = cpu->r[0] | 0x00005241u;
|
|
/* 02C7B990 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C7B994 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7B994 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7B994 */ if (_t9) goto L_02C7B998; else goto L_02C7B9A8;
|
|
L_02C7B998: ; // 0x2c7b998
|
|
/* 02C7B998 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7B998 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7B99C */ cpu->r[0] = 0x00070000u;
|
|
/* 02C7B9A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C7B9A4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7B9A4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7B9A4 */ if (_t12) goto L_02C7B9C0; else goto L_02C7B9A8;
|
|
L_02C7B9A8: ; // 0x2c7b9a8
|
|
/* 02C7B9A8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7B9A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7B9AC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7B9AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7B9B0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7B9B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7B9B8 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C7B9BC */ return;
|
|
L_02C7B9C0: ; // 0x2c7b9c0
|
|
/* 02C7B9C0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7B9C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7B9C4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7B9C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7B9C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7B9CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7B9D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7B9D4 */ return;
|
|
L_02C7CFAC: ; // 0x2c7cfac
|
|
/* 02C7CFAC */ goto L_02C7B948;
|
|
}
|
|
|
|
// fn_02C7CFB0 @ 0x2c7cfb0
|
|
void Gambit_fn_02C7CFB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C7CFB0: ; // 0x2c7cfb0
|
|
/* 02C7CFB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7CFB4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7CFB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7CFB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CFBC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7CFBC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7CFBC */ cpu->r[1] = _t1;
|
|
/* 02C7CFC0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CFC0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7CFC0 */ if (_t3) goto L_02C7CFC4; else goto L_02C7CFD4;
|
|
L_02C7CFC4: ; // 0x2c7cfc4
|
|
/* 02C7CFC4 */ cpu->r[3] = 0x00000004u;
|
|
/* 02C7CFC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7CFCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CFD0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CFD0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7CFD0 */ if (_t5) goto L_02C7CFDC; else goto L_02C7CFD4;
|
|
L_02C7CFD4: ; // 0x2c7cfd4
|
|
/* 02C7CFD4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C7CFD8 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7CFD8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02C7CFDC: ; // 0x2c7cfdc
|
|
/* 02C7CFDC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CFDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7CFE0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CFE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CFE8 */ return;
|
|
}
|
|
|
|
// fn_02C7CFBC @ 0x2c7cfbc
|
|
void Gambit_fn_02C7CFBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C7CFBC: ; // 0x2c7cfbc
|
|
/* 02C7CFBC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7CFBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7CFBC */ cpu->r[1] = _t0;
|
|
/* 02C7CFC0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CFC0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C7CFC0 */ if (_t2) goto L_02C7CFC4; else goto L_02C7CFD4;
|
|
L_02C7CFC4: ; // 0x2c7cfc4
|
|
/* 02C7CFC4 */ cpu->r[3] = 0x00000004u;
|
|
/* 02C7CFC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7CFCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CFD0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CFD0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7CFD0 */ if (_t4) goto L_02C7CFDC; else goto L_02C7CFD4;
|
|
L_02C7CFD4: ; // 0x2c7cfd4
|
|
/* 02C7CFD4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C7CFD8 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7CFD8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_02C7CFDC: ; // 0x2c7cfdc
|
|
/* 02C7CFDC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7CFDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7CFE0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7CFE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7CFE8 */ return;
|
|
}
|
|
|
|
// fn_02C7CFEC @ 0x2c7cfec
|
|
void Gambit_fn_02C7CFEC(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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 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 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) 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 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C7CFEC: ; // 0x2c7cfec
|
|
/* 02C7CFEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7CFF0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CFF0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C7CFF0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C7CFF0 */ goto L_02C7CFF4;
|
|
L_02C7CFF4: ; // 0x2c7cff4
|
|
/* 02C7CFF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C7CFF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7CFF8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7CFF8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C7CFF8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C7CFF8 */ goto L_02C7CFFC;
|
|
L_02C7CFFC: ; // 0x2c7cffc
|
|
/* 02C7CFFC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C7D000 @ 0x2c7d000
|
|
void Gambit_fn_02C7D000(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7D000: ; // 0x2c7d000
|
|
/* 02C7D000 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7D000 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7D004 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C7D008 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 02C7D00C */ return;
|
|
}
|
|
|
|
// fn_02C7D010 @ 0x2c7d010
|
|
void Gambit_fn_02C7D010(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7D010: ; // 0x2c7d010
|
|
/* 02C7D010 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7D010 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02C7D014 */ return;
|
|
}
|
|
|
|
// fn_02C7D018 @ 0x2c7d018
|
|
void Gambit_fn_02C7D018(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C7D018: ; // 0x2c7d018
|
|
/* 02C7D018 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7D01C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7D01C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7D020 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C7D024 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7D024 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7D024 */ cpu->r[1] = _t1;
|
|
/* 02C7D028 */ Gambit_fn_02C7D000(cpu);
|
|
/* 02C7D02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7D030 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D030 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7D030 */ if (_t3) goto L_02C7D048; else goto L_02C7D034;
|
|
L_02C7D034: ; // 0x2c7d034
|
|
/* 02C7D034 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02C7D034 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7D038 */ _t5 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C7D038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7D03C */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 02C7D03C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7D040 */ cpu->ctr = cpu->r[0];
|
|
/* 02C7D044 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C7D048: ; // 0x2c7d048
|
|
/* 02C7D048 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7D048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7D04C */ cpu->lr = cpu->r[0];
|
|
/* 02C7D050 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D054 */ return;
|
|
}
|
|
|
|
// fn_02C7D024 @ 0x2c7d024
|
|
void Gambit_fn_02C7D024(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C7D024: ; // 0x2c7d024
|
|
/* 02C7D024 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7D024 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7D024 */ cpu->r[1] = _t0;
|
|
/* 02C7D028 */ Gambit_fn_02C7D000(cpu);
|
|
/* 02C7D02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7D030 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D030 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C7D030 */ if (_t2) goto L_02C7D048; else goto L_02C7D034;
|
|
L_02C7D034: ; // 0x2c7d034
|
|
/* 02C7D034 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 02C7D034 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7D038 */ _t4 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C7D038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7D03C */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 02C7D03C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7D040 */ cpu->ctr = cpu->r[0];
|
|
/* 02C7D044 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C7D048: ; // 0x2c7d048
|
|
/* 02C7D048 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7D048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7D04C */ cpu->lr = cpu->r[0];
|
|
/* 02C7D050 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D054 */ return;
|
|
}
|
|
|
|
// fn_02C7D058 @ 0x2c7d058
|
|
void Gambit_fn_02C7D058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C7D058: ; // 0x2c7d058
|
|
/* 02C7D058 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7D05C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7D05C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7D060 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C7D064 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7D064 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7D064 */ cpu->r[1] = _t1;
|
|
/* 02C7D068 */ Gambit_fn_02C7D000(cpu);
|
|
/* 02C7D06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7D070 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D070 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7D070 */ if (_t3) goto L_02C7D088; else goto L_02C7D074;
|
|
L_02C7D074: ; // 0x2c7d074
|
|
/* 02C7D074 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02C7D074 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7D078 */ _t5 = cpu->r[12] + 0x00000008u;
|
|
/* 02C7D078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7D07C */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 02C7D07C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7D080 */ cpu->ctr = cpu->r[0];
|
|
/* 02C7D084 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C7D088: ; // 0x2c7d088
|
|
/* 02C7D088 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7D088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7D08C */ cpu->lr = cpu->r[0];
|
|
/* 02C7D090 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D094 */ return;
|
|
}
|
|
|
|
// fn_02C7D064 @ 0x2c7d064
|
|
void Gambit_fn_02C7D064(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C7D064: ; // 0x2c7d064
|
|
/* 02C7D064 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7D064 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7D064 */ cpu->r[1] = _t0;
|
|
/* 02C7D068 */ Gambit_fn_02C7D000(cpu);
|
|
/* 02C7D06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7D070 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D070 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C7D070 */ if (_t2) goto L_02C7D088; else goto L_02C7D074;
|
|
L_02C7D074: ; // 0x2c7d074
|
|
/* 02C7D074 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 02C7D074 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7D078 */ _t4 = cpu->r[12] + 0x00000008u;
|
|
/* 02C7D078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7D07C */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 02C7D07C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7D080 */ cpu->ctr = cpu->r[0];
|
|
/* 02C7D084 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C7D088: ; // 0x2c7d088
|
|
/* 02C7D088 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7D088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7D08C */ cpu->lr = cpu->r[0];
|
|
/* 02C7D090 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D094 */ return;
|
|
}
|
|
|
|
// fn_02C7D098 @ 0x2c7d098
|
|
void Gambit_fn_02C7D098(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C7D098: ; // 0x2c7d098
|
|
/* 02C7D098 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7D09C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7D09C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7D0A0 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C7D0A4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7D0A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7D0A4 */ cpu->r[1] = _t1;
|
|
/* 02C7D0A8 */ Gambit_fn_02C7D000(cpu);
|
|
/* 02C7D0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7D0B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D0B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7D0B0 */ if (_t3) goto L_02C7D0C0; else goto L_02C7D0B4;
|
|
L_02C7D0B4: ; // 0x2c7d0b4
|
|
/* 02C7D0B4 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02C7D0B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7D0B8 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7D0B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7D0BC */ Gambit_fn_02C7DE40(cpu);
|
|
L_02C7D0C0: ; // 0x2c7d0c0
|
|
/* 02C7D0C0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7D0C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7D0C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7D0C8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D0CC */ return;
|
|
}
|
|
|
|
// fn_02C7D0A4 @ 0x2c7d0a4
|
|
void Gambit_fn_02C7D0A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C7D0A4: ; // 0x2c7d0a4
|
|
/* 02C7D0A4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7D0A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7D0A4 */ cpu->r[1] = _t0;
|
|
/* 02C7D0A8 */ Gambit_fn_02C7D000(cpu);
|
|
/* 02C7D0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7D0B0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D0B0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C7D0B0 */ if (_t2) goto L_02C7D0C0; else goto L_02C7D0B4;
|
|
L_02C7D0B4: ; // 0x2c7d0b4
|
|
/* 02C7D0B4 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 02C7D0B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7D0B8 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7D0B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7D0BC */ Gambit_fn_02C7DE40(cpu);
|
|
L_02C7D0C0: ; // 0x2c7d0c0
|
|
/* 02C7D0C0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7D0C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7D0C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7D0C8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D0CC */ return;
|
|
}
|
|
|
|
// fn_02C7D0D0 @ 0x2c7d0d0
|
|
void Gambit_fn_02C7D0D0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7D0D0: ; // 0x2c7d0d0
|
|
/* 02C7D0D0 */ _t0 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02C7D0D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7D0D4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C7D0D8 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 02C7D0DC */ return;
|
|
}
|
|
|
|
// fn_02C7D0E0 @ 0x2c7d0e0
|
|
void Gambit_fn_02C7D0E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7D0E0: ; // 0x2c7d0e0
|
|
/* 02C7D0E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02C7D0E4 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D0E4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C7D0E4 */ if (_t1) goto L_02C7D0FC; else goto L_02C7D0E8;
|
|
L_02C7D0E8: ; // 0x2c7d0e8
|
|
/* 02C7D0E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 02C7D0EC */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C7D0EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7D0EC */ if (_t3) goto L_02C7D0FC; else goto L_02C7D0F0;
|
|
L_02C7D0F0: ; // 0x2c7d0f0
|
|
/* 02C7D0F0 */ cpu->r[12] = cpu->r[3] + 0x101B0000u;
|
|
/* 02C7D0F4 */ _t4 = cpu->r[12] + 0x00003137u;
|
|
/* 02C7D0F4 */ cpu->r[3] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C7D0F8 */ return;
|
|
L_02C7D0FC: ; // 0x2c7d0fc
|
|
/* 02C7D0FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7D100 */ return;
|
|
}
|
|
|
|
// fn_02C7D104 @ 0x2c7d104
|
|
void Gambit_fn_02C7D104(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C7D104: ; // 0x2c7d104
|
|
/* 02C7D104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000080Du);
|
|
/* 02C7D108 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D108 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C7D108 */ if (_t1) goto L_02C7D10C; else goto L_02C7D12C;
|
|
L_02C7D10C: ; // 0x2c7d10c
|
|
/* 02C7D10C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000000Au);
|
|
/* 02C7D110 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D110 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7D110 */ if (_t3) goto L_02C7D15C; else goto L_02C7D114;
|
|
L_02C7D114: ; // 0x2c7d114
|
|
/* 02C7D114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000020Au);
|
|
/* 02C7D118 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D118 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7D118 */ if (_t5) goto L_02C7D164; else goto L_02C7D11C;
|
|
L_02C7D11C: ; // 0x2c7d11c
|
|
/* 02C7D11C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000020Bu);
|
|
/* 02C7D120 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C7D120 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7D120 */ if (_t7) goto L_02C7D124; else goto L_02C7D15C;
|
|
L_02C7D124: ; // 0x2c7d124
|
|
/* 02C7D124 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7D128 */ return;
|
|
L_02C7D12C: ; // 0x2c7d12c
|
|
/* 02C7D12C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000080Du);
|
|
/* 02C7D130 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D130 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7D130 */ if (_t9) goto L_02C7D14C; else goto L_02C7D134;
|
|
L_02C7D134: ; // 0x2c7d134
|
|
/* 02C7D134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000811u);
|
|
/* 02C7D138 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D138 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7D138 */ if (_t11) goto L_02C7D154; else goto L_02C7D13C;
|
|
L_02C7D13C: ; // 0x2c7d13c
|
|
/* 02C7D13C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000813u);
|
|
/* 02C7D140 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D140 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C7D140 */ if (_t13) goto L_02C7D154; else goto L_02C7D144;
|
|
L_02C7D144: ; // 0x2c7d144
|
|
/* 02C7D144 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7D148 */ return;
|
|
L_02C7D14C: ; // 0x2c7d14c
|
|
/* 02C7D14C */ cpu->r[3] = 0x00000008u;
|
|
/* 02C7D150 */ return;
|
|
L_02C7D154: ; // 0x2c7d154
|
|
/* 02C7D154 */ cpu->r[3] = 0x00000010u;
|
|
/* 02C7D158 */ return;
|
|
L_02C7D15C: ; // 0x2c7d15c
|
|
/* 02C7D15C */ cpu->r[3] = 0x00000004u;
|
|
/* 02C7D160 */ return;
|
|
L_02C7D164: ; // 0x2c7d164
|
|
/* 02C7D164 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7D168 */ return;
|
|
}
|
|
|
|
// fn_02C7D16C @ 0x2c7d16c
|
|
void Gambit_fn_02C7D16C(CPUState* 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_02C7D16C: ; // 0x2c7d16c
|
|
/* 02C7D16C */ cpu->r[0] = cpu->lr;
|
|
/* 02C7D170 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7D170 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7D174 */ cpu->r[0] = cpu->r[3];
|
|
/* 02C7D178 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7D178 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7D178 */ cpu->r[1] = _t1;
|
|
/* 02C7D17C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02C7D180 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7D184 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D184 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7D184 */ if (_t3) goto L_02C7D188; else goto L_02C7D194;
|
|
L_02C7D188: ; // 0x2c7d188
|
|
/* 02C7D188 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C7D18C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D18C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7D18C */ if (_t5) goto L_02C7D1B4; else goto L_02C7D190;
|
|
L_02C7D190: ; // 0x2c7d190
|
|
/* 02C7D190 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D190 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7D190 */ if (_t7) goto L_02C7D1C8; else goto L_02C7D194;
|
|
L_02C7D194: ; // 0x2c7d194
|
|
/* 02C7D194 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02C7D198 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D198 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7D198 */ if (_t9) goto L_02C7D1DC; else goto L_02C7D19C;
|
|
L_02C7D19C: ; // 0x2c7d19c
|
|
/* 02C7D19C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D19C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7D19C */ if (_t11) goto L_02C7D1F0; else goto L_02C7D1A0;
|
|
L_02C7D1A0: ; // 0x2c7d1a0
|
|
/* 02C7D1A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02C7D1A4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D1A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C7D1A4 */ if (_t13) goto L_02C7D204; else goto L_02C7D1A8;
|
|
L_02C7D1A8: ; // 0x2c7d1a8
|
|
/* 02C7D1A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C7D1AC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D1AC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C7D1AC */ if (_t15) goto L_02C7D1B0; else goto L_02C7D214;
|
|
L_02C7D1B0: ; // 0x2c7d1b0
|
|
/* 02C7D1B0 */ goto L_02C7D218;
|
|
L_02C7D1B4: ; // 0x2c7d1b4
|
|
/* 02C7D1B4 */ cpu->r[3] = 0x00000811u;
|
|
/* 02C7D1B8 */ Gambit_fn_02C7D104(cpu);
|
|
/* 02C7D1BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C7D1C0 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D1C0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C7D1C0 */ if (_t17) goto L_02C7D1C4; else goto L_02C7D214;
|
|
L_02C7D1C4: ; // 0x2c7d1c4
|
|
/* 02C7D1C4 */ goto L_02C7D218;
|
|
L_02C7D1C8: ; // 0x2c7d1c8
|
|
/* 02C7D1C8 */ cpu->r[3] = 0x0000080Du;
|
|
/* 02C7D1CC */ Gambit_fn_02C7D104(cpu);
|
|
/* 02C7D1D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C7D1D4 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D1D4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C7D1D4 */ if (_t19) goto L_02C7D1D8; else goto L_02C7D214;
|
|
L_02C7D1D8: ; // 0x2c7d1d8
|
|
/* 02C7D1D8 */ goto L_02C7D218;
|
|
L_02C7D1DC: ; // 0x2c7d1dc
|
|
/* 02C7D1DC */ cpu->r[3] = 0x0000020Bu;
|
|
/* 02C7D1E0 */ Gambit_fn_02C7D104(cpu);
|
|
/* 02C7D1E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C7D1E8 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D1E8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C7D1E8 */ if (_t21) goto L_02C7D1EC; else goto L_02C7D214;
|
|
L_02C7D1EC: ; // 0x2c7d1ec
|
|
/* 02C7D1EC */ goto L_02C7D218;
|
|
L_02C7D1F0: ; // 0x2c7d1f0
|
|
/* 02C7D1F0 */ cpu->r[3] = 0x0000020Au;
|
|
/* 02C7D1F4 */ Gambit_fn_02C7D104(cpu);
|
|
/* 02C7D1F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C7D1FC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D1FC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C7D1FC */ if (_t23) goto L_02C7D200; else goto L_02C7D214;
|
|
L_02C7D200: ; // 0x2c7d200
|
|
/* 02C7D200 */ goto L_02C7D218;
|
|
L_02C7D204: ; // 0x2c7d204
|
|
/* 02C7D204 */ cpu->r[3] = 0x0000000Au;
|
|
/* 02C7D208 */ Gambit_fn_02C7D104(cpu);
|
|
/* 02C7D20C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C7D210 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D210 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C7D210 */ if (_t25) goto L_02C7D218; else goto L_02C7D214;
|
|
L_02C7D214: ; // 0x2c7d214
|
|
/* 02C7D214 */ cpu->r[3] = 0x00000000u;
|
|
L_02C7D218: ; // 0x2c7d218
|
|
/* 02C7D218 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7D218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C7D21C */ cpu->lr = cpu->r[0];
|
|
/* 02C7D220 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D224 */ return;
|
|
}
|
|
|
|
// fn_02C7D178 @ 0x2c7d178
|
|
void Gambit_fn_02C7D178(CPUState* 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_02C7D178: ; // 0x2c7d178
|
|
/* 02C7D178 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7D178 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7D178 */ cpu->r[1] = _t0;
|
|
/* 02C7D17C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02C7D180 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7D184 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D184 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C7D184 */ if (_t2) goto L_02C7D188; else goto L_02C7D194;
|
|
L_02C7D188: ; // 0x2c7d188
|
|
/* 02C7D188 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C7D18C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D18C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7D18C */ if (_t4) goto L_02C7D1B4; else goto L_02C7D190;
|
|
L_02C7D190: ; // 0x2c7d190
|
|
/* 02C7D190 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D190 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7D190 */ if (_t6) goto L_02C7D1C8; else goto L_02C7D194;
|
|
L_02C7D194: ; // 0x2c7d194
|
|
/* 02C7D194 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02C7D198 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D198 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7D198 */ if (_t8) goto L_02C7D1DC; else goto L_02C7D19C;
|
|
L_02C7D19C: ; // 0x2c7d19c
|
|
/* 02C7D19C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D19C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C7D19C */ if (_t10) goto L_02C7D1F0; else goto L_02C7D1A0;
|
|
L_02C7D1A0: ; // 0x2c7d1a0
|
|
/* 02C7D1A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02C7D1A4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D1A4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7D1A4 */ if (_t12) goto L_02C7D204; else goto L_02C7D1A8;
|
|
L_02C7D1A8: ; // 0x2c7d1a8
|
|
/* 02C7D1A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C7D1AC */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D1AC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C7D1AC */ if (_t14) goto L_02C7D1B0; else goto L_02C7D214;
|
|
L_02C7D1B0: ; // 0x2c7d1b0
|
|
/* 02C7D1B0 */ goto L_02C7D218;
|
|
L_02C7D1B4: ; // 0x2c7d1b4
|
|
/* 02C7D1B4 */ cpu->r[3] = 0x00000811u;
|
|
/* 02C7D1B8 */ Gambit_fn_02C7D104(cpu);
|
|
/* 02C7D1BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C7D1C0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D1C0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C7D1C0 */ if (_t16) goto L_02C7D1C4; else goto L_02C7D214;
|
|
L_02C7D1C4: ; // 0x2c7d1c4
|
|
/* 02C7D1C4 */ goto L_02C7D218;
|
|
L_02C7D1C8: ; // 0x2c7d1c8
|
|
/* 02C7D1C8 */ cpu->r[3] = 0x0000080Du;
|
|
/* 02C7D1CC */ Gambit_fn_02C7D104(cpu);
|
|
/* 02C7D1D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C7D1D4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D1D4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C7D1D4 */ if (_t18) goto L_02C7D1D8; else goto L_02C7D214;
|
|
L_02C7D1D8: ; // 0x2c7d1d8
|
|
/* 02C7D1D8 */ goto L_02C7D218;
|
|
L_02C7D1DC: ; // 0x2c7d1dc
|
|
/* 02C7D1DC */ cpu->r[3] = 0x0000020Bu;
|
|
/* 02C7D1E0 */ Gambit_fn_02C7D104(cpu);
|
|
/* 02C7D1E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C7D1E8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D1E8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C7D1E8 */ if (_t20) goto L_02C7D1EC; else goto L_02C7D214;
|
|
L_02C7D1EC: ; // 0x2c7d1ec
|
|
/* 02C7D1EC */ goto L_02C7D218;
|
|
L_02C7D1F0: ; // 0x2c7d1f0
|
|
/* 02C7D1F0 */ cpu->r[3] = 0x0000020Au;
|
|
/* 02C7D1F4 */ Gambit_fn_02C7D104(cpu);
|
|
/* 02C7D1F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C7D1FC */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D1FC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C7D1FC */ if (_t22) goto L_02C7D200; else goto L_02C7D214;
|
|
L_02C7D200: ; // 0x2c7d200
|
|
/* 02C7D200 */ goto L_02C7D218;
|
|
L_02C7D204: ; // 0x2c7d204
|
|
/* 02C7D204 */ cpu->r[3] = 0x0000000Au;
|
|
/* 02C7D208 */ Gambit_fn_02C7D104(cpu);
|
|
/* 02C7D20C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C7D210 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D210 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C7D210 */ if (_t24) goto L_02C7D218; else goto L_02C7D214;
|
|
L_02C7D214: ; // 0x2c7d214
|
|
/* 02C7D214 */ cpu->r[3] = 0x00000000u;
|
|
L_02C7D218: ; // 0x2c7d218
|
|
/* 02C7D218 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7D218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C7D21C */ cpu->lr = cpu->r[0];
|
|
/* 02C7D220 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D224 */ return;
|
|
}
|
|
|
|
// fn_02C7D228 @ 0x2c7d228
|
|
void Gambit_fn_02C7D228(CPUState* 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;
|
|
|
|
L_02C7D228: ; // 0x2c7d228
|
|
/* 02C7D228 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C7D228 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7D228 */ cpu->r[1] = _t0;
|
|
/* 02C7D22C */ cpu->r[0] = cpu->lr;
|
|
/* 02C7D230 */ /* nop */
|
|
/* 02C7D234 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C7D238 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7D23C */ cpu->r[26] = cpu->r[8];
|
|
/* 02C7D240 */ cpu->r[24] = cpu->r[3];
|
|
/* 02C7D244 */ cpu->r[25] = cpu->r[7];
|
|
/* 02C7D248 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7D24C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C7D250 */ cpu->r[31] = cpu->r[9];
|
|
/* 02C7D254 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C7D254 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7D258 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C7D25C */ Gambit_fn_02C7C064(cpu);
|
|
/* 02C7D260 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7D264 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7D268 */ cpu->r[5] = 0x00000040u;
|
|
/* 02C7D26C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D26C */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02C7D270 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7D274 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7D278 */ cpu->r[6] = cpu->r[30];
|
|
/* 02C7D27C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C7D280 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C7D284 */ cpu->r[7] = cpu->r[25];
|
|
/* 02C7D288 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D28C */ Gambit_fn_02C7C5BC(cpu);
|
|
/* 02C7D290 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7D290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7D294 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D294 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7D294 */ if (_t4) goto L_02C7D298; else goto L_02C7D4B4;
|
|
L_02C7D298: ; // 0x2c7d298
|
|
/* 02C7D298 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7D29C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7D2A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D2A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7D2A0 */ if (_t7) goto L_02C7D2A4; else goto L_02C7D2D4;
|
|
L_02C7D2A4: ; // 0x2c7d2a4
|
|
/* 02C7D2A4 */ cpu->r[4] = 0x0000001Au;
|
|
/* 02C7D2A8 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C7D2AC */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C7D2B0 */ cpu->r[6] = 0x00000006u;
|
|
/* 02C7D2B4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C7D2B8 */ cpu->r[5] = cpu->r[28] + 0xFFFFFFFCu;
|
|
/* 02C7D2BC */ cpu->ctr = cpu->r[6];
|
|
/* 02C7D2C0 */ cpu->r[12] = cpu->r[12] + 0x00003138u;
|
|
L_02C7D2C4: ; // 0x2c7d2c4
|
|
/* 02C7D2C4 */ _t8 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7D2C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7D2C4 */ cpu->r[12] = _t8;
|
|
/* 02C7D2C8 */ _t9 = cpu->r[5] + 0x00000004u;
|
|
/* 02C7D2C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02C7D2C8 */ cpu->r[5] = _t9;
|
|
/* 02C7D2CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C7D2CC */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C7D2CC */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02C7D2CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7D2CC */ if (_t12) goto L_02C7D2C4; else goto L_02C7D2D0;
|
|
L_02C7D2D0: ; // 0x2c7d2d0
|
|
/* 02C7D2D0 */ goto L_02C7D4B4;
|
|
L_02C7D2D4: ; // 0x2c7d2d4
|
|
/* 02C7D2D4 */ cpu->r[25] = 0x00000000u;
|
|
L_02C7D2D8: ; // 0x2c7d2d8
|
|
/* 02C7D2D8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C7D2DC */ Gambit_fn_02C7D0E0(cpu);
|
|
/* 02C7D2E0 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x0000000Cu);
|
|
/* 02C7D2E4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C7D2E8 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C7D2EC */ cpu->r[26] = cpu->r[24] + cpu->r[8];
|
|
/* 02C7D2F0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7D2F4 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C7D2F8 */ Gambit_fn_02C7CD98(cpu);
|
|
/* 02C7D2FC */ _t13 = cpu->r[26] + 0x00000008u;
|
|
/* 02C7D2FC */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 02C7D300 */ _t14 = cpu->r[26] + 0x00000000u;
|
|
/* 02C7D300 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7D304 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C7D308 */ Gambit_fn_02C7D16C(cpu);
|
|
/* 02C7D30C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C7D310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000005u);
|
|
/* 02C7D314 */ _t15 = cpu->r[26] + 0x00000004u;
|
|
/* 02C7D314 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02C7D318 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D318 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C7D318 */ if (_t17) goto L_02C7D2D8; else goto L_02C7D31C;
|
|
L_02C7D31C: ; // 0x2c7d31c
|
|
/* 02C7D31C */ cpu->r[6] = 0x00000005u;
|
|
/* 02C7D320 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7D324 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C7D328 */ cpu->r[3] = cpu->r[24] + 0x0000005Cu;
|
|
/* 02C7D32C */ Gambit_fn_02C7CD98(cpu);
|
|
/* 02C7D330 */ _t18 = cpu->r[24] + 0x00000064u;
|
|
/* 02C7D330 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 02C7D334 */ cpu->r[9] = 0x00000004u;
|
|
/* 02C7D338 */ _t19 = cpu->r[24] + 0x00000060u;
|
|
/* 02C7D338 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 02C7D33C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000008u);
|
|
/* 02C7D340 */ _t20 = cpu->r[24] + 0x00000058u;
|
|
/* 02C7D340 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 02C7D344 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D344 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C7D344 */ if (_t22) goto L_02C7D348; else goto L_02C7D414;
|
|
L_02C7D348: ; // 0x2c7d348
|
|
/* 02C7D348 */ cpu->r[6] = 0x00000006u;
|
|
/* 02C7D34C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D350 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7D354 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C7D358 */ Gambit_fn_02C7CD98(cpu);
|
|
/* 02C7D35C */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7D35C */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C7D360 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7D360 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C7D364 */ _t25 = cpu->r[29] + 0x00000758u;
|
|
/* 02C7D364 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02C7D368 */ _t26 = cpu->r[29] + 0x00000754u;
|
|
/* 02C7D368 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
|
|
/* 02C7D36C */ _t27 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C7D36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C7D370 */ _t28 = cpu->r[3] + 0x00000010u;
|
|
/* 02C7D370 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C7D374 */ _t29 = cpu->r[29] + 0x00000748u;
|
|
/* 02C7D374 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02C7D378 */ _t30 = cpu->r[29] + 0x0000074Cu;
|
|
/* 02C7D378 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 02C7D37C */ _t31 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C7D37C */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C7D380 */ _t32 = cpu->r[3] + 0x00000018u;
|
|
/* 02C7D380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C7D384 */ _t33 = cpu->r[29] + 0x00000770u;
|
|
/* 02C7D384 */ rbrew_write32(cpu->mem, _t33, cpu->r[5]);
|
|
/* 02C7D388 */ _t34 = cpu->r[29] + 0x0000076Cu;
|
|
/* 02C7D388 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02C7D38C */ _t35 = cpu->r[3] + 0x00000024u;
|
|
/* 02C7D38C */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C7D390 */ _t36 = cpu->r[3] + 0x00000028u;
|
|
/* 02C7D390 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C7D394 */ _t37 = cpu->r[29] + 0x00000760u;
|
|
/* 02C7D394 */ rbrew_write32(cpu->mem, _t37, cpu->r[7]);
|
|
/* 02C7D398 */ _t38 = cpu->r[3] + 0x00000030u;
|
|
/* 02C7D398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C7D39C */ _t39 = cpu->r[29] + 0x00000764u;
|
|
/* 02C7D39C */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 02C7D3A0 */ _t40 = cpu->r[29] + 0x00000784u;
|
|
/* 02C7D3A0 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02C7D3A4 */ _t41 = cpu->r[3] + 0x00000008u;
|
|
/* 02C7D3A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C7D3A8 */ _t42 = cpu->r[3] + 0x00000034u;
|
|
/* 02C7D3A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C7D3AC */ _t43 = cpu->r[29] + 0x0000075Cu;
|
|
/* 02C7D3AC */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02C7D3B0 */ _t44 = cpu->r[3] + 0x00000014u;
|
|
/* 02C7D3B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C7D3B4 */ _t45 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02C7D3B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C7D3B8 */ _t46 = cpu->r[29] + 0x00000750u;
|
|
/* 02C7D3B8 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 02C7D3BC */ _t47 = cpu->r[3] + 0x00000020u;
|
|
/* 02C7D3BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C7D3C0 */ _t48 = cpu->r[29] + 0x00000778u;
|
|
/* 02C7D3C0 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02C7D3C4 */ _t49 = cpu->r[29] + 0x00000774u;
|
|
/* 02C7D3C4 */ rbrew_write32(cpu->mem, _t49, cpu->r[6]);
|
|
/* 02C7D3C8 */ _t50 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C7D3C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C7D3CC */ _t51 = cpu->r[29] + 0x00000788u;
|
|
/* 02C7D3CC */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
|
|
/* 02C7D3D0 */ _t52 = cpu->r[29] + 0x00000768u;
|
|
/* 02C7D3D0 */ rbrew_write32(cpu->mem, _t52, cpu->r[9]);
|
|
/* 02C7D3D4 */ _t53 = cpu->r[3] + 0x00000038u;
|
|
/* 02C7D3D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C7D3D8 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C7D3DC */ _t54 = cpu->r[3] + 0x00000040u;
|
|
/* 02C7D3DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C7D3E0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7D3E4 */ _t55 = cpu->r[29] + 0x0000078Cu;
|
|
/* 02C7D3E4 */ rbrew_write32(cpu->mem, _t55, cpu->r[12]);
|
|
/* 02C7D3E8 */ _t56 = cpu->r[3] + 0x00000044u;
|
|
/* 02C7D3E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C7D3EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D3F0 */ _t57 = cpu->r[29] + 0x0000077Cu;
|
|
/* 02C7D3F0 */ rbrew_write32(cpu->mem, _t57, cpu->r[6]);
|
|
/* 02C7D3F4 */ cpu->r[6] = 0x00000008u;
|
|
/* 02C7D3F8 */ _t58 = cpu->r[29] + 0x00000780u;
|
|
/* 02C7D3F8 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 02C7D3FC */ Gambit_fn_02C7CD98(cpu);
|
|
/* 02C7D400 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7D404 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7D408 */ cpu->r[5] = 0x00000018u;
|
|
/* 02C7D40C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C7D410 */ goto L_02C7D4B4;
|
|
L_02C7D414: ; // 0x2c7d414
|
|
/* 02C7D414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000003u);
|
|
/* 02C7D418 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D418 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C7D418 */ if (_t60) goto L_02C7D41C; else goto L_02C7D490;
|
|
L_02C7D41C: ; // 0x2c7d41c
|
|
/* 02C7D41C */ cpu->r[4] = cpu->r[27];
|
|
/* 02C7D420 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7D424 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D428 */ cpu->r[6] = 0x00000007u;
|
|
/* 02C7D42C */ Gambit_fn_02C7CD98(cpu);
|
|
/* 02C7D430 */ _t61 = cpu->r[3] + 0x00000018u;
|
|
/* 02C7D430 */ cpu->r[8] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C7D434 */ _t62 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C7D434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C7D438 */ _t63 = cpu->r[29] + 0x00000718u;
|
|
/* 02C7D438 */ rbrew_write32(cpu->mem, _t63, cpu->r[8]);
|
|
/* 02C7D43C */ _t64 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7D43C */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C7D440 */ _t65 = cpu->r[29] + 0x0000071Cu;
|
|
/* 02C7D440 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
/* 02C7D444 */ _t66 = cpu->r[29] + 0x00000724u;
|
|
/* 02C7D444 */ rbrew_write32(cpu->mem, _t66, cpu->r[11]);
|
|
/* 02C7D448 */ _t67 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C7D448 */ cpu->r[5] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C7D44C */ _t68 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7D44C */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C7D450 */ _t69 = cpu->r[29] + 0x00000730u;
|
|
/* 02C7D450 */ rbrew_write32(cpu->mem, _t69, cpu->r[5]);
|
|
/* 02C7D454 */ _t70 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7D454 */ cpu->r[8] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C7D458 */ _t71 = cpu->r[3] + 0x00000020u;
|
|
/* 02C7D458 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C7D45C */ _t72 = cpu->r[29] + 0x00000728u;
|
|
/* 02C7D45C */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 02C7D460 */ _t73 = cpu->r[3] + 0x00000010u;
|
|
/* 02C7D460 */ cpu->r[6] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C7D464 */ _t74 = cpu->r[29] + 0x00000720u;
|
|
/* 02C7D464 */ rbrew_write32(cpu->mem, _t74, cpu->r[10]);
|
|
/* 02C7D468 */ _t75 = cpu->r[3] + 0x00000008u;
|
|
/* 02C7D468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C7D46C */ _t76 = cpu->r[29] + 0x00000734u;
|
|
/* 02C7D46C */ rbrew_write32(cpu->mem, _t76, cpu->r[6]);
|
|
/* 02C7D470 */ _t77 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7D470 */ cpu->r[9] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C7D474 */ _t78 = cpu->r[29] + 0x0000072Cu;
|
|
/* 02C7D474 */ rbrew_write32(cpu->mem, _t78, cpu->r[0]);
|
|
/* 02C7D478 */ _t79 = cpu->r[3] + 0x00000014u;
|
|
/* 02C7D478 */ cpu->r[7] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C7D47C */ _t80 = cpu->r[29] + 0x0000073Cu;
|
|
/* 02C7D47C */ rbrew_write32(cpu->mem, _t80, cpu->r[8]);
|
|
/* 02C7D480 */ _t81 = cpu->r[29] + 0x00000738u;
|
|
/* 02C7D480 */ rbrew_write32(cpu->mem, _t81, cpu->r[7]);
|
|
/* 02C7D484 */ _t82 = cpu->r[3] + 0x00000008u;
|
|
/* 02C7D484 */ cpu->r[10] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C7D488 */ _t83 = cpu->r[29] + 0x00000740u;
|
|
/* 02C7D488 */ rbrew_write32(cpu->mem, _t83, cpu->r[9]);
|
|
/* 02C7D48C */ _t84 = cpu->r[29] + 0x00000744u;
|
|
/* 02C7D48C */ rbrew_write32(cpu->mem, _t84, cpu->r[10]);
|
|
L_02C7D490: ; // 0x2c7d490
|
|
/* 02C7D490 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C7D494 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7D498 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D49C */ cpu->r[6] = 0x00000008u;
|
|
/* 02C7D4A0 */ Gambit_fn_02C7CD98(cpu);
|
|
/* 02C7D4A4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7D4A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7D4AC */ cpu->r[5] = 0x00000018u;
|
|
/* 02C7D4B0 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02C7D4B4: ; // 0x2c7d4b4
|
|
/* 02C7D4B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7D4B8 */ /* nop */
|
|
/* 02C7D4BC */ _t85 = cpu->r[1] + 0x00000034u;
|
|
/* 02C7D4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C7D4C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7D4C4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C7D4C8 */ return;
|
|
}
|
|
|
|
// fn_02C7D4CC @ 0x2c7d4cc
|
|
void Gambit_fn_02C7D4CC(CPUState* cpu) {
|
|
L_02C7D4CC: ; // 0x2c7d4cc
|
|
/* 02C7D4CC */ goto L_02C7F718;
|
|
L_02C7F718: ; // 0x2c7f718
|
|
/* 02C7F718 */ return;
|
|
}
|
|
|
|
// fn_02C7D4D0 @ 0x2c7d4d0
|
|
void Gambit_fn_02C7D4D0(CPUState* 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;
|
|
|
|
L_02C7D4D0: ; // 0x2c7d4d0
|
|
/* 02C7D4D0 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C7D4D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7D4D0 */ cpu->r[1] = _t0;
|
|
/* 02C7D4D4 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02C7D4D4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C7D4D8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02C7D4D8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 02C7D4DC */ /* nop */
|
|
/* 02C7D4E0 */ /* nop */
|
|
/* 02C7D4E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7D4E8 */ /* nop */
|
|
/* 02C7D4EC */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 02C7D4EC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C7D4F0 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C7D4F4 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02C7D4F4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
|
|
/* 02C7D4F8 */ cpu->f[29] = cpu->f[2];
|
|
/* 02C7D4FC */ cpu->r[31] = cpu->r[7];
|
|
/* 02C7D500 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 02C7D500 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[30]);
|
|
/* 02C7D504 */ /* nop */
|
|
/* 02C7D508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C7D50C */ _t6 = cpu->r[1] + 0x00000054u;
|
|
/* 02C7D50C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C7D510 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C7D514 */ _t7 = cpu->r[1] + 0x00000038u;
|
|
/* 02C7D514 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 02C7D518 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C7D51C */ cpu->f[12] = cpu->f[31] + cpu->f[29];
|
|
/* 02C7D520 */ _t8 = cpu->r[7] + 0x00003158u;
|
|
/* 02C7D520 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C7D524 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7D528 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7D52C */ cpu->r[30] = cpu->r[6];
|
|
/* 02C7D530 */ cpu->f[30] = cpu->f[12] * cpu->f[0];
|
|
/* 02C7D534 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D534 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C7D534 */ if (_t10) goto L_02C7D55C; else goto L_02C7D538;
|
|
L_02C7D538: ; // 0x2c7d538
|
|
/* 02C7D538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000007u);
|
|
/* 02C7D53C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D53C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7D53C */ if (_t12) goto L_02C7D548; else goto L_02C7D540;
|
|
L_02C7D540: ; // 0x2c7d540
|
|
/* 02C7D540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000006u);
|
|
/* 02C7D544 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D544 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C7D544 */ if (_t14) goto L_02C7D548; else goto L_02C7D55C;
|
|
L_02C7D548: ; // 0x2c7d548
|
|
/* 02C7D548 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C7D54C */ _t15 = cpu->r[12] + 0x0000315Cu;
|
|
/* 02C7D54C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C7D550 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[13]);
|
|
/* 02C7D554 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C7D554 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C7D554 */ if (_t17) goto L_02C7D558; else goto L_02C7D55C;
|
|
L_02C7D558: ; // 0x2c7d558
|
|
/* 02C7D558 */ cpu->f[30] = cpu->f[13];
|
|
L_02C7D55C: ; // 0x2c7d55c
|
|
/* 02C7D55C */ cpu->f[2] = cpu->f[29];
|
|
/* 02C7D560 */ _t18 = cpu->r[27] + 0x00000008u;
|
|
/* 02C7D560 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C7D564 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C7D568 */ _t19 = cpu->r[27] + 0x00000000u;
|
|
/* 02C7D568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7D56C */ cpu->f[3] = cpu->f[30];
|
|
/* 02C7D570 */ cpu->r[7] = cpu->r[31];
|
|
/* 02C7D574 */ cpu->r[6] = cpu->r[30];
|
|
/* 02C7D578 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x00000004u, 0x0000001Fu);
|
|
/* 02C7D57C */ cpu->r[5] = cpu->r[29];
|
|
/* 02C7D580 */ Gambit_fn_02C7D6EC(cpu);
|
|
/* 02C7D584 */ _t20 = cpu->r[27] + 0x00000018u;
|
|
/* 02C7D584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C7D588 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C7D58C */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7D590 */ _t21 = cpu->r[27] + 0x00000020u;
|
|
/* 02C7D590 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C7D594 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C7D598 */ Gambit_fn_02C7D854(cpu);
|
|
/* 02C7D59C */ _t22 = cpu->r[27] + 0x00000024u;
|
|
/* 02C7D59C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C7D5A0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7D5A4 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C7D5A8 */ _t23 = cpu->r[27] + 0x0000002Cu;
|
|
/* 02C7D5A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C7D5AC */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C7D5B0 */ Gambit_fn_02C7D8EC(cpu);
|
|
/* 02C7D5B4 */ _t24 = cpu->r[28] + 0x00000000u;
|
|
/* 02C7D5B4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C7D5B8 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D5B8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02C7D5BC */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D5BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C7D5C0 */ cpu->r[0] = 0xFF000000u;
|
|
/* 02C7D5C4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C7D5C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02C7D5CC */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C7D5CC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C7D5CC */ if (_t28) goto L_02C7D5F4; else goto L_02C7D5D0;
|
|
L_02C7D5D0: ; // 0x2c7d5d0
|
|
/* 02C7D5D0 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C7D5D4 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C7D5D8 */ cpu->f[3] = cpu->f[30];
|
|
/* 02C7D5DC */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7D5E0 */ cpu->f[2] = cpu->f[29];
|
|
/* 02C7D5E4 */ cpu->r[6] = cpu->r[30];
|
|
/* 02C7D5E8 */ cpu->r[7] = cpu->r[31];
|
|
/* 02C7D5EC */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7D5F0 */ Gambit_fn_02C7D97C(cpu);
|
|
L_02C7D5F4: ; // 0x2c7d5f4
|
|
/* 02C7D5F4 */ cpu->r[31] = 0x00000000u;
|
|
L_02C7D5F8: ; // 0x2c7d5f8
|
|
/* 02C7D5F8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu);
|
|
/* 02C7D5FC */ cpu->r[10] = cpu->r[27] + cpu->r[0];
|
|
/* 02C7D600 */ _t29 = cpu->r[10] + 0x00000008u;
|
|
/* 02C7D600 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C7D604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7D608 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D608 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C7D608 */ if (_t31) goto L_02C7D614; else goto L_02C7D60C;
|
|
L_02C7D60C: ; // 0x2c7d60c
|
|
/* 02C7D60C */ _t32 = cpu->r[10] + 0x00000000u;
|
|
/* 02C7D60C */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C7D610 */ Gambit_fn_02C7D4CC(cpu);
|
|
L_02C7D614: ; // 0x2c7d614
|
|
/* 02C7D614 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C7D618 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000005u);
|
|
/* 02C7D61C */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D61C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C7D61C */ if (_t34) goto L_02C7D5F8; else goto L_02C7D620;
|
|
L_02C7D620: ; // 0x2c7d620
|
|
/* 02C7D620 */ _t35 = cpu->r[27] + 0x00000064u;
|
|
/* 02C7D620 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C7D624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7D628 */ cpu->r[11] = cpu->r[27] + 0x00000058u;
|
|
/* 02C7D62C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D62C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C7D62C */ if (_t37) goto L_02C7D63C; else goto L_02C7D630;
|
|
L_02C7D630: ; // 0x2c7d630
|
|
/* 02C7D630 */ _t38 = cpu->r[11] + 0x00000004u;
|
|
/* 02C7D630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C7D634 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C7D638 */ Gambit_fn_02C7D4CC(cpu);
|
|
L_02C7D63C: ; // 0x2c7d63c
|
|
/* 02C7D63C */ /* nop */
|
|
/* 02C7D640 */ _t39 = cpu->r[1] + 0x00000028u;
|
|
/* 02C7D640 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C7D644 */ _t40 = cpu->r[1] + 0x00000038u;
|
|
/* 02C7D644 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C7D648 */ _t41 = cpu->r[1] + 0x00000020u;
|
|
/* 02C7D648 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 02C7D64C */ _t42 = cpu->r[1] + 0x00000048u;
|
|
/* 02C7D64C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C7D650 */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 02C7D650 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 02C7D654 */ _t44 = cpu->r[1] + 0x00000040u;
|
|
/* 02C7D654 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t44);
|
|
/* 02C7D658 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D658 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C7D658 */ if (_t46) goto L_02C7D65C; // else: addr-0 trap, fall-through
|
|
L_02C7D65C: ; // 0x2c7d65c
|
|
/* 02C7D65C */ _t47 = cpu->r[1] + 0x00000054u;
|
|
/* 02C7D65C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C7D660 */ cpu->lr = cpu->r[0];
|
|
/* 02C7D664 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C7D668 */ return;
|
|
}
|
|
|
|
// fn_02C7D66C @ 0x2c7d66c
|
|
void Gambit_fn_02C7D66C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C7D66C: ; // 0x2c7d66c
|
|
/* 02C7D66C */ cpu->r[0] = cpu->lr;
|
|
/* 02C7D670 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7D670 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7D670 */ cpu->r[1] = _t0;
|
|
/* 02C7D674 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D674 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7D678 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7D678 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7D67C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C7D680 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7D684 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7D684 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_02C7D688: ; // 0x2c7d688
|
|
/* 02C7D688 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu);
|
|
/* 02C7D68C */ cpu->r[11] = cpu->r[30] + cpu->r[0];
|
|
/* 02C7D690 */ _t4 = cpu->r[11] + 0x00000008u;
|
|
/* 02C7D690 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7D694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C7D698 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D698 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7D698 */ if (_t6) goto L_02C7D6A8; else goto L_02C7D69C;
|
|
L_02C7D69C: ; // 0x2c7d69c
|
|
/* 02C7D69C */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 02C7D69C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7D6A0 */ cpu->r[3] = 0x00000041u;
|
|
/* 02C7D6A4 */ Gambit_fn_02C76C5C(cpu);
|
|
L_02C7D6A8: ; // 0x2c7d6a8
|
|
/* 02C7D6A8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C7D6AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000005u);
|
|
/* 02C7D6B0 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D6B0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7D6B0 */ if (_t9) goto L_02C7D688; else goto L_02C7D6B4;
|
|
L_02C7D6B4: ; // 0x2c7d6b4
|
|
/* 02C7D6B4 */ _t10 = cpu->r[30] + 0x00000064u;
|
|
/* 02C7D6B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7D6B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C7D6BC */ cpu->r[12] = cpu->r[30] + 0x00000058u;
|
|
/* 02C7D6C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D6C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7D6C0 */ if (_t12) goto L_02C7D6D4; else goto L_02C7D6C4;
|
|
L_02C7D6C4: ; // 0x2c7d6c4
|
|
/* 02C7D6C4 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7D6C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7D6C8 */ cpu->r[3] = 0x00000041u;
|
|
/* 02C7D6CC */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C7D6D0 */ Gambit_fn_02C76C5C(cpu);
|
|
L_02C7D6D4: ; // 0x2c7d6d4
|
|
/* 02C7D6D4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7D6D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7D6D8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D6D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7D6DC */ cpu->lr = cpu->r[0];
|
|
/* 02C7D6E0 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7D6E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7D6E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7D6E8 */ return;
|
|
}
|
|
|
|
// fn_02C7D670 @ 0x2c7d670
|
|
void Gambit_fn_02C7D670(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C7D670: ; // 0x2c7d670
|
|
/* 02C7D670 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7D670 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7D670 */ cpu->r[1] = _t0;
|
|
/* 02C7D674 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D674 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7D678 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7D678 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7D67C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C7D680 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7D684 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7D684 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_02C7D688: ; // 0x2c7d688
|
|
/* 02C7D688 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu);
|
|
/* 02C7D68C */ cpu->r[11] = cpu->r[30] + cpu->r[0];
|
|
/* 02C7D690 */ _t4 = cpu->r[11] + 0x00000008u;
|
|
/* 02C7D690 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7D694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C7D698 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D698 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7D698 */ if (_t6) goto L_02C7D6A8; else goto L_02C7D69C;
|
|
L_02C7D69C: ; // 0x2c7d69c
|
|
/* 02C7D69C */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 02C7D69C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7D6A0 */ cpu->r[3] = 0x00000041u;
|
|
/* 02C7D6A4 */ Gambit_fn_02C76C5C(cpu);
|
|
L_02C7D6A8: ; // 0x2c7d6a8
|
|
/* 02C7D6A8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C7D6AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000005u);
|
|
/* 02C7D6B0 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D6B0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7D6B0 */ if (_t9) goto L_02C7D688; else goto L_02C7D6B4;
|
|
L_02C7D6B4: ; // 0x2c7d6b4
|
|
/* 02C7D6B4 */ _t10 = cpu->r[30] + 0x00000064u;
|
|
/* 02C7D6B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7D6B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C7D6BC */ cpu->r[12] = cpu->r[30] + 0x00000058u;
|
|
/* 02C7D6C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D6C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7D6C0 */ if (_t12) goto L_02C7D6D4; else goto L_02C7D6C4;
|
|
L_02C7D6C4: ; // 0x2c7d6c4
|
|
/* 02C7D6C4 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7D6C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7D6C8 */ cpu->r[3] = 0x00000041u;
|
|
/* 02C7D6CC */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C7D6D0 */ Gambit_fn_02C76C5C(cpu);
|
|
L_02C7D6D4: ; // 0x2c7d6d4
|
|
/* 02C7D6D4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7D6D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7D6D8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7D6D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7D6DC */ cpu->lr = cpu->r[0];
|
|
/* 02C7D6E0 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7D6E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7D6E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7D6E8 */ return;
|
|
}
|
|
|
|
// fn_02C7D6EC @ 0x2c7d6ec
|
|
void Gambit_fn_02C7D6EC(CPUState* 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;
|
|
|
|
L_02C7D6EC: ; // 0x2c7d6ec
|
|
/* 02C7D6EC */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02C7D6EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7D6EC */ cpu->r[1] = _t0;
|
|
/* 02C7D6F0 */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 02C7D6F0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02C7D6F4 */ /* nop */
|
|
/* 02C7D6F8 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02C7D6F8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[28]);
|
|
/* 02C7D6FC */ /* nop */
|
|
/* 02C7D700 */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 02C7D700 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
|
|
/* 02C7D704 */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 02C7D704 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02C7D708 */ /* nop */
|
|
/* 02C7D70C */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 02C7D70C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
|
|
/* 02C7D710 */ _t6 = cpu->r[1] + 0x00000040u;
|
|
/* 02C7D710 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 02C7D714 */ cpu->f[30] = cpu->f[3];
|
|
/* 02C7D718 */ /* nop */
|
|
/* 02C7D71C */ cpu->r[0] = cpu->lr;
|
|
/* 02C7D720 */ cpu->r[25] = cpu->r[4];
|
|
/* 02C7D724 */ cpu->f[28] = cpu->f[1];
|
|
/* 02C7D728 */ cpu->r[30] = cpu->r[7];
|
|
/* 02C7D72C */ cpu->r[28] = cpu->r[5];
|
|
/* 02C7D730 */ cpu->f[29] = cpu->f[2];
|
|
/* 02C7D734 */ _t7 = cpu->r[1] + 0x00000058u;
|
|
/* 02C7D734 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[31]);
|
|
/* 02C7D738 */ /* nop */
|
|
/* 02C7D73C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7D740 */ _t8 = cpu->r[1] + 0x00000060u;
|
|
/* 02C7D740 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02C7D744 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7D748 */ _t9 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C7D748 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C7D74C */ cpu->r[29] = cpu->r[6];
|
|
/* 02C7D750 */ Gambit_fn_02C714F0(cpu);
|
|
/* 02C7D754 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C7D758 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C7D75C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[25]);
|
|
/* 02C7D760 */ _t10 = cpu->r[12] + 0x00003154u;
|
|
/* 02C7D760 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C7D764 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C7D768 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D768 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7D768 */ if (_t12) goto L_02C7D76C; else goto L_02C7D81C;
|
|
L_02C7D76C: ; // 0x2c7d76c
|
|
/* 02C7D76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C7D770 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D770 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C7D770 */ if (_t14) goto L_02C7D784; else goto L_02C7D774;
|
|
L_02C7D774: ; // 0x2c7d774
|
|
/* 02C7D774 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7D774 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C7D778 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7D77C */ Gambit_fn_02C712A8(cpu);
|
|
/* 02C7D780 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7D780 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
|
|
L_02C7D784: ; // 0x2c7d784
|
|
/* 02C7D784 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[28], cpu->f[31]);
|
|
/* 02C7D788 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D788 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C7D788 */ if (_t18) goto L_02C7D798; else goto L_02C7D78C;
|
|
L_02C7D78C: ; // 0x2c7d78c
|
|
/* 02C7D78C */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7D78C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C7D790 */ cpu->f[0] = cpu->f[0] * cpu->f[28];
|
|
/* 02C7D794 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7D794 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
L_02C7D798: ; // 0x2c7d798
|
|
/* 02C7D798 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[31]);
|
|
/* 02C7D79C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D79C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C7D79C */ if (_t22) goto L_02C7D7AC; else goto L_02C7D7A0;
|
|
L_02C7D7A0: ; // 0x2c7d7a0
|
|
/* 02C7D7A0 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7D7A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C7D7A4 */ cpu->f[0] = cpu->f[0] * cpu->f[29];
|
|
/* 02C7D7A8 */ _t24 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7D7A8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
L_02C7D7AC: ; // 0x2c7d7ac
|
|
/* 02C7D7AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 02C7D7B0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D7B0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C7D7B0 */ if (_t26) goto L_02C7D7C0; else goto L_02C7D7B4;
|
|
L_02C7D7B4: ; // 0x2c7d7b4
|
|
/* 02C7D7B4 */ _t27 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7D7B4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C7D7B8 */ cpu->f[7] = cpu->f[7] * cpu->f[30];
|
|
/* 02C7D7BC */ _t28 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7D7BC */ rbrew_write_f32(cpu->mem, _t28, cpu->f[7]);
|
|
L_02C7D7C0: ; // 0x2c7d7c0
|
|
/* 02C7D7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C7D7C4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D7C4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C7D7C4 */ if (_t30) goto L_02C7D7F8; else goto L_02C7D7C8;
|
|
L_02C7D7C8: ; // 0x2c7d7c8
|
|
/* 02C7D7C8 */ _t31 = cpu->r[28] + 0x00000000u;
|
|
/* 02C7D7C8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C7D7CC */ _t32 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7D7CC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C7D7D0 */ cpu->f[8] = cpu->f[8] + cpu->f[9];
|
|
/* 02C7D7D4 */ _t33 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7D7D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C7D7D8 */ _t34 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7D7D8 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[8]);
|
|
/* 02C7D7DC */ _t35 = cpu->r[28] + 0x00000004u;
|
|
/* 02C7D7DC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C7D7E0 */ cpu->f[10] = cpu->f[10] + cpu->f[11];
|
|
/* 02C7D7E4 */ _t36 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7D7E4 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[10]);
|
|
/* 02C7D7E8 */ _t37 = cpu->r[28] + 0x00000008u;
|
|
/* 02C7D7E8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C7D7EC */ _t38 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7D7EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C7D7F0 */ cpu->f[12] = cpu->f[12] + cpu->f[13];
|
|
/* 02C7D7F4 */ _t39 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7D7F4 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
L_02C7D7F8: ; // 0x2c7d7f8
|
|
/* 02C7D7F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C7D7FC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D7FC */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C7D7FC */ if (_t41) goto L_02C7D800; else goto L_02C7D80C;
|
|
L_02C7D800: ; // 0x2c7d800
|
|
/* 02C7D800 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7D804 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7D808 */ Gambit_fn_02C712A4(cpu);
|
|
L_02C7D80C: ; // 0x2c7d80c
|
|
/* 02C7D80C */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02C7D810 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[25]);
|
|
/* 02C7D814 */ cpu->r[31] = cpu->r[31] + 0x00000010u;
|
|
/* 02C7D818 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D818 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C7D818 */ if (_t43) goto L_02C7D76C; else goto L_02C7D81C;
|
|
L_02C7D81C: ; // 0x2c7d81c
|
|
/* 02C7D81C */ /* nop */
|
|
/* 02C7D820 */ _t44 = cpu->r[1] + 0x00000040u;
|
|
/* 02C7D820 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C7D824 */ _t45 = cpu->r[1] + 0x00000050u;
|
|
/* 02C7D824 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C7D828 */ _t46 = cpu->r[1] + 0x00000038u;
|
|
/* 02C7D828 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 02C7D82C */ _t47 = cpu->r[1] + 0x00000048u;
|
|
/* 02C7D82C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t47);
|
|
/* 02C7D830 */ _t48 = cpu->r[1] + 0x00000030u;
|
|
/* 02C7D830 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C7D834 */ _t49 = cpu->r[1] + 0x00000060u;
|
|
/* 02C7D834 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C7D838 */ _t50 = cpu->r[1] + 0x00000028u;
|
|
/* 02C7D838 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 02C7D83C */ _t51 = cpu->r[1] + 0x00000058u;
|
|
/* 02C7D83C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t51);
|
|
/* 02C7D840 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D840 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C7D840 */ if (_t53) goto L_02C7D844; // else: addr-0 trap, fall-through
|
|
L_02C7D844: ; // 0x2c7d844
|
|
/* 02C7D844 */ _t54 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C7D844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C7D848 */ cpu->lr = cpu->r[0];
|
|
/* 02C7D84C */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02C7D850 */ return;
|
|
}
|
|
|
|
// fn_02C7D854 @ 0x2c7d854
|
|
void Gambit_fn_02C7D854(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C7D854: ; // 0x2c7d854
|
|
/* 02C7D854 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C7D854 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7D854 */ cpu->r[1] = _t0;
|
|
/* 02C7D858 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7D85C */ /* nop */
|
|
/* 02C7D860 */ cpu->r[26] = cpu->r[6];
|
|
/* 02C7D864 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7D868 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C7D86C */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7D870 */ cpu->r[25] = cpu->r[5];
|
|
/* 02C7D874 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7D874 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7D878 */ Gambit_fn_02C714F0(cpu);
|
|
/* 02C7D87C */ cpu->r[28] = 0x00000000u;
|
|
/* 02C7D880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
|
|
/* 02C7D884 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7D888 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D888 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7D888 */ if (_t3) goto L_02C7D88C; else goto L_02C7D8D8;
|
|
L_02C7D88C: ; // 0x2c7d88c
|
|
/* 02C7D88C */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C7D890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C7D894 */ cpu->r[29] = cpu->r[30] + cpu->r[11];
|
|
/* 02C7D898 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D898 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7D898 */ if (_t5) goto L_02C7D8B8; else goto L_02C7D89C;
|
|
L_02C7D89C: ; // 0x2c7d89c
|
|
/* 02C7D89C */ _t6 = cpu->r[29] + 0x00000000u;
|
|
/* 02C7D89C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7D8A0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7D8A4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
/* 02C7D8A8 */ Gambit_fn_02C712B4(cpu);
|
|
/* 02C7D8AC */ _t7 = cpu->r[29] + 0x00000000u;
|
|
/* 02C7D8AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7D8B0 */ _t8 = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
/* 02C7D8B0 */ _t9 = cpu->r[0] & 0xFFFFFC00u;
|
|
/* 02C7D8B0 */ cpu->r[0] = _t9 | _t8;
|
|
/* 02C7D8B4 */ _t10 = cpu->r[29] + 0x00000000u;
|
|
/* 02C7D8B4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02C7D8B8: ; // 0x2c7d8b8
|
|
/* 02C7D8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C7D8BC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D8BC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7D8BC */ if (_t12) goto L_02C7D8C0; else goto L_02C7D8CC;
|
|
L_02C7D8C0: ; // 0x2c7d8c0
|
|
/* 02C7D8C0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C7D8C4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7D8C8 */ Gambit_fn_02C713C0(cpu);
|
|
L_02C7D8CC: ; // 0x2c7d8cc
|
|
/* 02C7D8CC */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C7D8D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
|
|
/* 02C7D8D4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D8D4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C7D8D4 */ if (_t14) goto L_02C7D88C; else goto L_02C7D8D8;
|
|
L_02C7D8D8: ; // 0x2c7d8d8
|
|
/* 02C7D8D8 */ /* nop */
|
|
/* 02C7D8DC */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7D8DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7D8E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7D8E4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7D8E8 */ return;
|
|
}
|
|
|
|
// fn_02C7D8EC @ 0x2c7d8ec
|
|
void Gambit_fn_02C7D8EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C7D8EC: ; // 0x2c7d8ec
|
|
/* 02C7D8EC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C7D8EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7D8EC */ cpu->r[1] = _t0;
|
|
/* 02C7D8F0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7D8F4 */ /* nop */
|
|
/* 02C7D8F8 */ cpu->r[26] = cpu->r[6];
|
|
/* 02C7D8FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7D900 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C7D904 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7D908 */ cpu->r[25] = cpu->r[5];
|
|
/* 02C7D90C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7D90C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7D910 */ Gambit_fn_02C714F0(cpu);
|
|
/* 02C7D914 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C7D918 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
|
|
/* 02C7D91C */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7D920 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D920 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7D920 */ if (_t3) goto L_02C7D924; else goto L_02C7D968;
|
|
L_02C7D924: ; // 0x2c7d924
|
|
/* 02C7D924 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C7D928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C7D92C */ cpu->r[29] = cpu->r[30] + cpu->r[0];
|
|
/* 02C7D930 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D930 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7D930 */ if (_t5) goto L_02C7D948; else goto L_02C7D934;
|
|
L_02C7D934: ; // 0x2c7d934
|
|
/* 02C7D934 */ _t6 = cpu->r[29] + 0x00000000u;
|
|
/* 02C7D934 */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C7D938 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7D93C */ /* nop */
|
|
/* 02C7D940 */ Gambit_fn_02C713C4(cpu);
|
|
/* 02C7D944 */ _t7 = cpu->r[29] + 0x00000000u;
|
|
/* 02C7D944 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[3]);
|
|
L_02C7D948: ; // 0x2c7d948
|
|
/* 02C7D948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C7D94C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7D94C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7D94C */ if (_t9) goto L_02C7D950; else goto L_02C7D95C;
|
|
L_02C7D950: ; // 0x2c7d950
|
|
/* 02C7D950 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C7D954 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7D958 */ Gambit_fn_02C714EC(cpu);
|
|
L_02C7D95C: ; // 0x2c7d95c
|
|
/* 02C7D95C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C7D960 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
|
|
/* 02C7D964 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D964 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7D964 */ if (_t11) goto L_02C7D924; else goto L_02C7D968;
|
|
L_02C7D968: ; // 0x2c7d968
|
|
/* 02C7D968 */ /* nop */
|
|
/* 02C7D96C */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7D96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7D970 */ cpu->lr = cpu->r[0];
|
|
/* 02C7D974 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7D978 */ return;
|
|
}
|
|
|
|
// fn_02C7D97C @ 0x2c7d97c
|
|
void Gambit_fn_02C7D97C(CPUState* 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;
|
|
|
|
L_02C7D97C: ; // 0x2c7d97c
|
|
/* 02C7D97C */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02C7D97C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7D97C */ cpu->r[1] = _t0;
|
|
/* 02C7D980 */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 02C7D980 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02C7D984 */ /* nop */
|
|
/* 02C7D988 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02C7D988 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[28]);
|
|
/* 02C7D98C */ /* nop */
|
|
/* 02C7D990 */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 02C7D990 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
|
|
/* 02C7D994 */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 02C7D994 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02C7D998 */ /* nop */
|
|
/* 02C7D99C */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 02C7D99C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
|
|
/* 02C7D9A0 */ _t6 = cpu->r[1] + 0x00000040u;
|
|
/* 02C7D9A0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 02C7D9A4 */ cpu->f[30] = cpu->f[3];
|
|
/* 02C7D9A8 */ /* nop */
|
|
/* 02C7D9AC */ cpu->r[0] = cpu->lr;
|
|
/* 02C7D9B0 */ cpu->r[25] = cpu->r[4];
|
|
/* 02C7D9B4 */ cpu->f[28] = cpu->f[1];
|
|
/* 02C7D9B8 */ cpu->r[30] = cpu->r[7];
|
|
/* 02C7D9BC */ cpu->r[28] = cpu->r[5];
|
|
/* 02C7D9C0 */ cpu->f[29] = cpu->f[2];
|
|
/* 02C7D9C4 */ _t7 = cpu->r[1] + 0x00000058u;
|
|
/* 02C7D9C4 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[31]);
|
|
/* 02C7D9C8 */ /* nop */
|
|
/* 02C7D9CC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7D9D0 */ _t8 = cpu->r[1] + 0x00000060u;
|
|
/* 02C7D9D0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02C7D9D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7D9D8 */ _t9 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C7D9D8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C7D9DC */ cpu->r[29] = cpu->r[6];
|
|
/* 02C7D9E0 */ Gambit_fn_02C714F0(cpu);
|
|
/* 02C7D9E4 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C7D9E8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C7D9EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[25]);
|
|
/* 02C7D9F0 */ _t10 = cpu->r[12] + 0x00003154u;
|
|
/* 02C7D9F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C7D9F4 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C7D9F8 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7D9F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7D9F8 */ if (_t12) goto L_02C7D9FC; else goto L_02C7DAAC;
|
|
L_02C7D9FC: ; // 0x2c7d9fc
|
|
/* 02C7D9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C7DA00 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DA00 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C7DA00 */ if (_t14) goto L_02C7DA14; else goto L_02C7DA04;
|
|
L_02C7DA04: ; // 0x2c7da04
|
|
/* 02C7DA04 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7DA04 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C7DA08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DA0C */ Gambit_fn_02C71174(cpu);
|
|
/* 02C7DA10 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7DA10 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
|
|
L_02C7DA14: ; // 0x2c7da14
|
|
/* 02C7DA14 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[28], cpu->f[31]);
|
|
/* 02C7DA18 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DA18 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C7DA18 */ if (_t18) goto L_02C7DA28; else goto L_02C7DA1C;
|
|
L_02C7DA1C: ; // 0x2c7da1c
|
|
/* 02C7DA1C */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7DA1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C7DA20 */ cpu->f[0] = cpu->f[0] * cpu->f[28];
|
|
/* 02C7DA24 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7DA24 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
L_02C7DA28: ; // 0x2c7da28
|
|
/* 02C7DA28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[31]);
|
|
/* 02C7DA2C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DA2C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C7DA2C */ if (_t22) goto L_02C7DA3C; else goto L_02C7DA30;
|
|
L_02C7DA30: ; // 0x2c7da30
|
|
/* 02C7DA30 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7DA30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C7DA34 */ cpu->f[0] = cpu->f[0] * cpu->f[29];
|
|
/* 02C7DA38 */ _t24 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7DA38 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
L_02C7DA3C: ; // 0x2c7da3c
|
|
/* 02C7DA3C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 02C7DA40 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DA40 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C7DA40 */ if (_t26) goto L_02C7DA50; else goto L_02C7DA44;
|
|
L_02C7DA44: ; // 0x2c7da44
|
|
/* 02C7DA44 */ _t27 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7DA44 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C7DA48 */ cpu->f[7] = cpu->f[7] * cpu->f[30];
|
|
/* 02C7DA4C */ _t28 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7DA4C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[7]);
|
|
L_02C7DA50: ; // 0x2c7da50
|
|
/* 02C7DA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C7DA54 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DA54 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C7DA54 */ if (_t30) goto L_02C7DA88; else goto L_02C7DA58;
|
|
L_02C7DA58: ; // 0x2c7da58
|
|
/* 02C7DA58 */ _t31 = cpu->r[28] + 0x00000000u;
|
|
/* 02C7DA58 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C7DA5C */ _t32 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7DA5C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C7DA60 */ cpu->f[8] = cpu->f[8] + cpu->f[9];
|
|
/* 02C7DA64 */ _t33 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7DA64 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C7DA68 */ _t34 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7DA68 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[8]);
|
|
/* 02C7DA6C */ _t35 = cpu->r[28] + 0x00000004u;
|
|
/* 02C7DA6C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C7DA70 */ cpu->f[10] = cpu->f[10] + cpu->f[11];
|
|
/* 02C7DA74 */ _t36 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7DA74 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[10]);
|
|
/* 02C7DA78 */ _t37 = cpu->r[28] + 0x00000008u;
|
|
/* 02C7DA78 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C7DA7C */ _t38 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7DA7C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C7DA80 */ cpu->f[12] = cpu->f[12] + cpu->f[13];
|
|
/* 02C7DA84 */ _t39 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7DA84 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
L_02C7DA88: ; // 0x2c7da88
|
|
/* 02C7DA88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C7DA8C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DA8C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C7DA8C */ if (_t41) goto L_02C7DA90; else goto L_02C7DA9C;
|
|
L_02C7DA90: ; // 0x2c7da90
|
|
/* 02C7DA90 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7DA94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7DA98 */ Gambit_fn_02C71258(cpu);
|
|
L_02C7DA9C: ; // 0x2c7da9c
|
|
/* 02C7DA9C */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02C7DAA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[25]);
|
|
/* 02C7DAA4 */ cpu->r[31] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C7DAA8 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7DAA8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C7DAA8 */ if (_t43) goto L_02C7D9FC; else goto L_02C7DAAC;
|
|
L_02C7DAAC: ; // 0x2c7daac
|
|
/* 02C7DAAC */ /* nop */
|
|
/* 02C7DAB0 */ _t44 = cpu->r[1] + 0x00000040u;
|
|
/* 02C7DAB0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C7DAB4 */ _t45 = cpu->r[1] + 0x00000050u;
|
|
/* 02C7DAB4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C7DAB8 */ _t46 = cpu->r[1] + 0x00000038u;
|
|
/* 02C7DAB8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 02C7DABC */ _t47 = cpu->r[1] + 0x00000048u;
|
|
/* 02C7DABC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t47);
|
|
/* 02C7DAC0 */ _t48 = cpu->r[1] + 0x00000030u;
|
|
/* 02C7DAC0 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C7DAC4 */ _t49 = cpu->r[1] + 0x00000060u;
|
|
/* 02C7DAC4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C7DAC8 */ _t50 = cpu->r[1] + 0x00000028u;
|
|
/* 02C7DAC8 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 02C7DACC */ _t51 = cpu->r[1] + 0x00000058u;
|
|
/* 02C7DACC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t51);
|
|
/* 02C7DAD0 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7DAD0 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C7DAD0 */ if (_t53) goto L_02C7DAD4; // else: addr-0 trap, fall-through
|
|
L_02C7DAD4: ; // 0x2c7dad4
|
|
/* 02C7DAD4 */ _t54 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C7DAD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C7DAD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DADC */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02C7DAE0 */ return;
|
|
}
|
|
|
|
// fn_02C7DAE4 @ 0x2c7dae4
|
|
void Gambit_fn_02C7DAE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C7DAE4: ; // 0x2c7dae4
|
|
/* 02C7DAE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
|
|
/* 02C7DAE8 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C7DAE8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C7DAE8 */ if (_t1) goto L_02C7DAF8; else goto L_02C7DAEC;
|
|
L_02C7DAEC: ; // 0x2c7daec
|
|
/* 02C7DAEC */ cpu->r[12] = cpu->r[3] + 0x101B0000u;
|
|
/* 02C7DAF0 */ _t2 = cpu->r[12] + 0x00003160u;
|
|
/* 02C7DAF0 */ cpu->r[3] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C7DAF4 */ return;
|
|
L_02C7DAF8: ; // 0x2c7daf8
|
|
/* 02C7DAF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7DAFC */ return;
|
|
}
|
|
|
|
// fn_02C7DB00 @ 0x2c7db00
|
|
void Gambit_fn_02C7DB00(CPUState* 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;
|
|
|
|
L_02C7DB00: ; // 0x2c7db00
|
|
/* 02C7DB00 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7DB00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DB00 */ cpu->r[1] = _t0;
|
|
/* 02C7DB04 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7DB08 */ /* nop */
|
|
/* 02C7DB0C */ cpu->r[26] = cpu->r[4];
|
|
/* 02C7DB10 */ cpu->r[27] = cpu->r[5];
|
|
/* 02C7DB14 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7DB14 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7DB18 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C7DB1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7DB20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[27]);
|
|
/* 02C7DB24 */ cpu->r[28] = cpu->r[31];
|
|
/* 02C7DB28 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7DB28 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7DB28 */ if (_t3) goto L_02C7DB2C; else goto L_02C7DBE4;
|
|
L_02C7DB2C: ; // 0x2c7db2c
|
|
/* 02C7DB2C */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C7DB30 */ _t4 = cpu->r[26] + cpu->r[10];
|
|
/* 02C7DB30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7DB34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C7DB38 */ cpu->r[30] = cpu->r[26] + cpu->r[10];
|
|
/* 02C7DB3C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7DB3C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7DB3C */ if (_t6) goto L_02C7DB68; else goto L_02C7DB40;
|
|
L_02C7DB40: ; // 0x2c7db40
|
|
/* 02C7DB40 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DB40 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7DB40 */ if (_t8) goto L_02C7DB90; else goto L_02C7DB44;
|
|
L_02C7DB44: ; // 0x2c7db44
|
|
/* 02C7DB44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02C7DB48 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DB48 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C7DB48 */ if (_t10) goto L_02C7DBB8; else goto L_02C7DB4C;
|
|
L_02C7DB4C: ; // 0x2c7db4c
|
|
/* 02C7DB4C */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7DB4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7DB50 */ Gambit_fn_02C7DAE4(cpu);
|
|
/* 02C7DB54 */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 02C7DB54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7DB58 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[0]);
|
|
/* 02C7DB5C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C7DB60 */ cpu->r[28] = cpu->r[28] + cpu->r[12];
|
|
/* 02C7DB64 */ goto L_02C7DBDC;
|
|
L_02C7DB68: ; // 0x2c7db68
|
|
/* 02C7DB68 */ _t13 = cpu->r[30] + 0x00000004u;
|
|
/* 02C7DB68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7DB6C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7DB70 */ Gambit_fn_02C7DC00(cpu);
|
|
/* 02C7DB74 */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7DB74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7DB78 */ Gambit_fn_02C7DAE4(cpu);
|
|
/* 02C7DB7C */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 02C7DB7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7DB80 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[0]);
|
|
/* 02C7DB84 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C7DB88 */ cpu->r[28] = cpu->r[28] + cpu->r[12];
|
|
/* 02C7DB8C */ goto L_02C7DBDC;
|
|
L_02C7DB90: ; // 0x2c7db90
|
|
/* 02C7DB90 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02C7DB90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7DB94 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7DB98 */ Gambit_fn_02C72CB4(cpu);
|
|
/* 02C7DB9C */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7DB9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C7DBA0 */ Gambit_fn_02C7DAE4(cpu);
|
|
/* 02C7DBA4 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 02C7DBA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C7DBA8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[0]);
|
|
/* 02C7DBAC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C7DBB0 */ cpu->r[28] = cpu->r[28] + cpu->r[12];
|
|
/* 02C7DBB4 */ goto L_02C7DBDC;
|
|
L_02C7DBB8: ; // 0x2c7dbb8
|
|
/* 02C7DBB8 */ _t19 = cpu->r[30] + 0x00000004u;
|
|
/* 02C7DBB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7DBBC */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7DBC0 */ Gambit_fn_02C7BCD0(cpu);
|
|
/* 02C7DBC4 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7DBC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C7DBC8 */ Gambit_fn_02C7DAE4(cpu);
|
|
/* 02C7DBCC */ _t21 = cpu->r[30] + 0x00000004u;
|
|
/* 02C7DBCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C7DBD0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[0]);
|
|
/* 02C7DBD4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C7DBD8 */ cpu->r[28] = cpu->r[28] + cpu->r[12];
|
|
L_02C7DBDC: ; // 0x2c7dbdc
|
|
/* 02C7DBDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[27]);
|
|
/* 02C7DBE0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7DBE0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C7DBE0 */ if (_t23) goto L_02C7DB2C; else goto L_02C7DBE4;
|
|
L_02C7DBE4: ; // 0x2c7dbe4
|
|
/* 02C7DBE4 */ cpu->r[3] = cpu->r[28] - cpu->r[31];
|
|
/* 02C7DBE8 */ /* nop */
|
|
/* 02C7DBEC */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7DBEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C7DBF0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DBF4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7DBF8 */ return;
|
|
}
|
|
|
|
// fn_02C7DBFC @ 0x2c7dbfc
|
|
void Gambit_fn_02C7DBFC(CPUState* cpu) {
|
|
L_02C7DBFC: ; // 0x2c7dbfc
|
|
/* 02C7DBFC */ return;
|
|
}
|
|
|
|
// fn_02C7DC00 @ 0x2c7dc00
|
|
void Gambit_fn_02C7DC00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C7DC00: ; // 0x2c7dc00
|
|
/* 02C7DC00 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7DC04 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7DC04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DC04 */ cpu->r[1] = _t0;
|
|
/* 02C7DC08 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DC08 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7DC0C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DC0C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7DC10 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C7DC14 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7DC18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C7DC1C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DC1C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7DC20 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DC20 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7DC24 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C7DC28 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7DC28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7DC28 */ if (_t6) goto L_02C7DC2C; else goto L_02C7DC44;
|
|
L_02C7DC2C: ; // 0x2c7dc2c
|
|
/* 02C7DC2C */ _t7 = cpu->r[29] + cpu->r[31];
|
|
/* 02C7DC2C */ cpu->r[3] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C7DC30 */ Gambit_fn_02C7DBFC(cpu);
|
|
/* 02C7DC34 */ _t8 = cpu->r[29] + cpu->r[31];
|
|
/* 02C7DC34 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[3]);
|
|
/* 02C7DC38 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C7DC3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C7DC40 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7DC40 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C7DC40 */ if (_t10) goto L_02C7DC2C; else goto L_02C7DC44;
|
|
L_02C7DC44: ; // 0x2c7dc44
|
|
/* 02C7DC44 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DC44 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7DC48 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DC48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7DC4C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DC4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7DC50 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DC54 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DC54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7DC58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7DC5C */ return;
|
|
}
|
|
|
|
// fn_02C7DC04 @ 0x2c7dc04
|
|
void Gambit_fn_02C7DC04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C7DC04: ; // 0x2c7dc04
|
|
/* 02C7DC04 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7DC04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DC04 */ cpu->r[1] = _t0;
|
|
/* 02C7DC08 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DC08 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7DC0C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DC0C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7DC10 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C7DC14 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7DC18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C7DC1C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DC1C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7DC20 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DC20 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7DC24 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C7DC28 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7DC28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7DC28 */ if (_t6) goto L_02C7DC2C; else goto L_02C7DC44;
|
|
L_02C7DC2C: ; // 0x2c7dc2c
|
|
/* 02C7DC2C */ _t7 = cpu->r[29] + cpu->r[31];
|
|
/* 02C7DC2C */ cpu->r[3] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C7DC30 */ Gambit_fn_02C7DBFC(cpu);
|
|
/* 02C7DC34 */ _t8 = cpu->r[29] + cpu->r[31];
|
|
/* 02C7DC34 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[3]);
|
|
/* 02C7DC38 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C7DC3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C7DC40 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7DC40 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C7DC40 */ if (_t10) goto L_02C7DC2C; else goto L_02C7DC44;
|
|
L_02C7DC44: ; // 0x2c7dc44
|
|
/* 02C7DC44 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DC44 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7DC48 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DC48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7DC4C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DC4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7DC50 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DC54 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DC54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7DC58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7DC5C */ return;
|
|
}
|
|
|
|
// fn_02C7DC60 @ 0x2c7dc60
|
|
void Gambit_fn_02C7DC60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7DC60: ; // 0x2c7dc60
|
|
/* 02C7DC60 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7DC64 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7DC64 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7DC68 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7DC68 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7DC68 */ cpu->r[1] = _t1;
|
|
/* 02C7DC6C */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C7DC70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7DC74 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DC74 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7DC74 */ if (_t3) goto L_02C7DC84; else goto L_02C7DC78;
|
|
L_02C7DC78: ; // 0x2c7dc78
|
|
/* 02C7DC78 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C7DC7C */ cpu->r[3] = cpu->r[3] + 0x00000008u;
|
|
/* 02C7DC80 */ Gambit_fn_02C7DD70(cpu);
|
|
L_02C7DC84: ; // 0x2c7dc84
|
|
/* 02C7DC84 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DC84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7DC88 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DC8C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DC90 */ return;
|
|
}
|
|
|
|
// fn_02C7DC68 @ 0x2c7dc68
|
|
void Gambit_fn_02C7DC68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C7DC68: ; // 0x2c7dc68
|
|
/* 02C7DC68 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7DC68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DC68 */ cpu->r[1] = _t0;
|
|
/* 02C7DC6C */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C7DC70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7DC74 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DC74 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C7DC74 */ if (_t2) goto L_02C7DC84; else goto L_02C7DC78;
|
|
L_02C7DC78: ; // 0x2c7dc78
|
|
/* 02C7DC78 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C7DC7C */ cpu->r[3] = cpu->r[3] + 0x00000008u;
|
|
/* 02C7DC80 */ Gambit_fn_02C7DD70(cpu);
|
|
L_02C7DC84: ; // 0x2c7dc84
|
|
/* 02C7DC84 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DC84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7DC88 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DC8C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DC90 */ return;
|
|
}
|
|
|
|
// fn_02C7DC94 @ 0x2c7dc94
|
|
void Gambit_fn_02C7DC94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C7DC94: ; // 0x2c7dc94
|
|
/* 02C7DC94 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7DC98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7DC98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DC98 */ cpu->r[1] = _t0;
|
|
/* 02C7DC9C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DC9C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7DCA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7DCA4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DCA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7DCA8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7DCAC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C7DCB0 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C7DCB4 */ cpu->r[5] = 0x00000008u;
|
|
/* 02C7DCB8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DCB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7DCBC */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C7DCC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7DCC4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7DCC8 */ Gambit_fn_02C798D8(cpu);
|
|
/* 02C7DCCC */ cpu->r[0] = 0x000000FFu;
|
|
/* 02C7DCD0 */ _t4 = cpu->r[30] + 0x00000019u;
|
|
/* 02C7DCD0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 02C7DCD4 */ _t5 = cpu->r[30] + 0x00000015u;
|
|
/* 02C7DCD4 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 02C7DCD8 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 02C7DCD8 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 02C7DCDC */ _t7 = cpu->r[30] + 0x00000017u;
|
|
/* 02C7DCDC */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 02C7DCE0 */ _t8 = cpu->r[30] + 0x00000016u;
|
|
/* 02C7DCE0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 02C7DCE4 */ _t9 = cpu->r[30] + 0x00000014u;
|
|
/* 02C7DCE4 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 02C7DCE8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C7DCEC */ _t10 = cpu->r[30] + 0x00000024u;
|
|
/* 02C7DCEC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C7DCF0 */ _t11 = cpu->r[30] + 0x00000020u;
|
|
/* 02C7DCF0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02C7DCF4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DCF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7DCF8 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DCF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7DCFC */ cpu->lr = cpu->r[0];
|
|
/* 02C7DD00 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DD00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7DD04 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DD08 */ return;
|
|
}
|
|
|
|
// fn_02C7DC98 @ 0x2c7dc98
|
|
void Gambit_fn_02C7DC98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C7DC98: ; // 0x2c7dc98
|
|
/* 02C7DC98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7DC98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DC98 */ cpu->r[1] = _t0;
|
|
/* 02C7DC9C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DC9C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7DCA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7DCA4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DCA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7DCA8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7DCAC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C7DCB0 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C7DCB4 */ cpu->r[5] = 0x00000008u;
|
|
/* 02C7DCB8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DCB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7DCBC */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C7DCC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7DCC4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7DCC8 */ Gambit_fn_02C798D8(cpu);
|
|
/* 02C7DCCC */ cpu->r[0] = 0x000000FFu;
|
|
/* 02C7DCD0 */ _t4 = cpu->r[30] + 0x00000019u;
|
|
/* 02C7DCD0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 02C7DCD4 */ _t5 = cpu->r[30] + 0x00000015u;
|
|
/* 02C7DCD4 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 02C7DCD8 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 02C7DCD8 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 02C7DCDC */ _t7 = cpu->r[30] + 0x00000017u;
|
|
/* 02C7DCDC */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 02C7DCE0 */ _t8 = cpu->r[30] + 0x00000016u;
|
|
/* 02C7DCE0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 02C7DCE4 */ _t9 = cpu->r[30] + 0x00000014u;
|
|
/* 02C7DCE4 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 02C7DCE8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C7DCEC */ _t10 = cpu->r[30] + 0x00000024u;
|
|
/* 02C7DCEC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C7DCF0 */ _t11 = cpu->r[30] + 0x00000020u;
|
|
/* 02C7DCF0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02C7DCF4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DCF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7DCF8 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DCF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7DCFC */ cpu->lr = cpu->r[0];
|
|
/* 02C7DD00 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DD00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7DD04 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DD08 */ return;
|
|
}
|
|
|
|
// fn_02C7DD0C @ 0x2c7dd0c
|
|
void Gambit_fn_02C7DD0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C7DD0C: ; // 0x2c7dd0c
|
|
/* 02C7DD0C */ cpu->r[0] = cpu->lr;
|
|
/* 02C7DD10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7DD10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DD10 */ cpu->r[1] = _t0;
|
|
/* 02C7DD14 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DD14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7DD18 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7DD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7DD1C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DD1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7DD20 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DD20 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7DD20 */ if (_t4) goto L_02C7DD24; else goto L_02C7DD34;
|
|
L_02C7DD24: ; // 0x2c7dd24
|
|
/* 02C7DD24 */ cpu->r[3] = 0x00000028u;
|
|
/* 02C7DD28 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7DD2C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7DD2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7DD30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DD30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7DD30 */ if (_t6) goto L_02C7DD44; else goto L_02C7DD34;
|
|
L_02C7DD34: ; // 0x2c7dd34
|
|
/* 02C7DD34 */ Gambit_fn_02C738F4(cpu);
|
|
/* 02C7DD38 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7DD3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DD40 */ Gambit_fn_02C7DC94(cpu);
|
|
L_02C7DD44: ; // 0x2c7dd44
|
|
/* 02C7DD44 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DD44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7DD48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DD4C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DD4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7DD50 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DD54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DD58 */ return;
|
|
}
|
|
|
|
// fn_02C7DD10 @ 0x2c7dd10
|
|
void Gambit_fn_02C7DD10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C7DD10: ; // 0x2c7dd10
|
|
/* 02C7DD10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7DD10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DD10 */ cpu->r[1] = _t0;
|
|
/* 02C7DD14 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DD14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7DD18 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7DD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7DD1C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DD1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7DD20 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DD20 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7DD20 */ if (_t4) goto L_02C7DD24; else goto L_02C7DD34;
|
|
L_02C7DD24: ; // 0x2c7dd24
|
|
/* 02C7DD24 */ cpu->r[3] = 0x00000028u;
|
|
/* 02C7DD28 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7DD2C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7DD2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7DD30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DD30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7DD30 */ if (_t6) goto L_02C7DD44; else goto L_02C7DD34;
|
|
L_02C7DD34: ; // 0x2c7dd34
|
|
/* 02C7DD34 */ Gambit_fn_02C738F4(cpu);
|
|
/* 02C7DD38 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7DD3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DD40 */ Gambit_fn_02C7DC94(cpu);
|
|
L_02C7DD44: ; // 0x2c7dd44
|
|
/* 02C7DD44 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DD44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7DD48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DD4C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DD4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7DD50 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DD54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DD58 */ return;
|
|
}
|
|
|
|
// fn_02C7DD5C @ 0x2c7dd5c
|
|
void Gambit_fn_02C7DD5C(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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 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 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) 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 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C7DD5C: ; // 0x2c7dd5c
|
|
/* 02C7DD5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7DD60 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DD60 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C7DD60 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C7DD60 */ goto L_02C7DD64;
|
|
L_02C7DD64: ; // 0x2c7dd64
|
|
/* 02C7DD64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C7DD64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7DD68 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DD68 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C7DD68 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C7DD68 */ goto L_02C7DD6C;
|
|
L_02C7DD6C: ; // 0x2c7dd6c
|
|
/* 02C7DD6C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C7DD70 @ 0x2c7dd70
|
|
void Gambit_fn_02C7DD70(CPUState* cpu) {
|
|
L_02C7DD70: ; // 0x2c7dd70
|
|
/* 02C7DD70 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C7DD74 */ return;
|
|
}
|
|
|
|
// fn_02C7DD78 @ 0x2c7dd78
|
|
void Gambit_fn_02C7DD78(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C7DD78: ; // 0x2c7dd78
|
|
/* 02C7DD78 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02C7DD78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7DD7C */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02C7DD7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C7DD80 */ return;
|
|
}
|
|
|
|
// fn_02C7DD84 @ 0x2c7dd84
|
|
void Gambit_fn_02C7DD84(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_02C7DD84: ; // 0x2c7dd84
|
|
/* 02C7DD84 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7DD88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7DD88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DD88 */ cpu->r[1] = _t0;
|
|
/* 02C7DD8C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DD8C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7DD90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7DD94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DD94 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7DD98 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DD98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7DD9C */ rbrew_dispatch(cpu, 0x02d0c1e8u);
|
|
/* 02C7DDA0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C7DDA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C7DDA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DDA4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7DDA4 */ if (_t5) goto L_02C7DDA8; else goto L_02C7DDDC;
|
|
L_02C7DDA8: ; // 0x2c7dda8
|
|
/* 02C7DDA8 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C7DDAC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DDB0 */ cpu->r[4] = 0x000004A0u;
|
|
/* 02C7DDB4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DDB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02C7DDB8 */ cpu->r[5] = 0x000000FFu;
|
|
/* 02C7DDBC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DDBC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C7DDC0 */ rbrew_dispatch(cpu, 0x02d0c170u);
|
|
/* 02C7DDC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7DDC8 */ rbrew_dispatch(cpu, 0x02d0bf90u);
|
|
/* 02C7DDCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C7DDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7DDD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DDD0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7DDD0 */ if (_t9) goto L_02C7DDD4; else goto L_02C7DDDC;
|
|
L_02C7DDD4: ; // 0x2c7ddd4
|
|
/* 02C7DDD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C7DDD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7DDD8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DDD8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7DDD8 */ if (_t11) goto L_02C7DDF8; else goto L_02C7DDDC;
|
|
L_02C7DDDC: ; // 0x2c7dddc
|
|
/* 02C7DDDC */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DDDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7DDE0 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DDE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7DDE4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DDE8 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DDE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7DDEC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7DDF0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7DDF4 */ return;
|
|
L_02C7DDF8: ; // 0x2c7ddf8
|
|
/* 02C7DDF8 */ cpu->r[5] = 0x00000008u;
|
|
/* 02C7DDFC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DE00 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C7DE04 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C7DE08 */ Gambit_fn_02C79888(cpu);
|
|
/* 02C7DE0C */ _t15 = cpu->r[30] + 0x00000024u;
|
|
/* 02C7DE0C */ rbrew_write32(cpu->mem, _t15, cpu->r[4]);
|
|
/* 02C7DE10 */ _t16 = cpu->r[30] + 0x00000020u;
|
|
/* 02C7DE10 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02C7DE14 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DE14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C7DE18 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DE18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C7DE1C */ cpu->lr = cpu->r[0];
|
|
/* 02C7DE20 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DE20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7DE24 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7DE28 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7DE2C */ return;
|
|
}
|
|
|
|
// fn_02C7DD88 @ 0x2c7dd88
|
|
void Gambit_fn_02C7DD88(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_02C7DD88: ; // 0x2c7dd88
|
|
/* 02C7DD88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7DD88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DD88 */ cpu->r[1] = _t0;
|
|
/* 02C7DD8C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DD8C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7DD90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7DD94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DD94 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7DD98 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DD98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7DD9C */ rbrew_dispatch(cpu, 0x02d0c1e8u);
|
|
/* 02C7DDA0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C7DDA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C7DDA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DDA4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7DDA4 */ if (_t5) goto L_02C7DDA8; else goto L_02C7DDDC;
|
|
L_02C7DDA8: ; // 0x2c7dda8
|
|
/* 02C7DDA8 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C7DDAC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DDB0 */ cpu->r[4] = 0x000004A0u;
|
|
/* 02C7DDB4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DDB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02C7DDB8 */ cpu->r[5] = 0x000000FFu;
|
|
/* 02C7DDBC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DDBC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C7DDC0 */ rbrew_dispatch(cpu, 0x02d0c170u);
|
|
/* 02C7DDC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7DDC8 */ rbrew_dispatch(cpu, 0x02d0bf90u);
|
|
/* 02C7DDCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C7DDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7DDD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DDD0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7DDD0 */ if (_t9) goto L_02C7DDD4; else goto L_02C7DDDC;
|
|
L_02C7DDD4: ; // 0x2c7ddd4
|
|
/* 02C7DDD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C7DDD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7DDD8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DDD8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7DDD8 */ if (_t11) goto L_02C7DDF8; else goto L_02C7DDDC;
|
|
L_02C7DDDC: ; // 0x2c7dddc
|
|
/* 02C7DDDC */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DDDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7DDE0 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DDE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7DDE4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DDE8 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DDE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7DDEC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7DDF0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7DDF4 */ return;
|
|
L_02C7DDF8: ; // 0x2c7ddf8
|
|
/* 02C7DDF8 */ cpu->r[5] = 0x00000008u;
|
|
/* 02C7DDFC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DE00 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C7DE04 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C7DE08 */ Gambit_fn_02C79888(cpu);
|
|
/* 02C7DE0C */ _t15 = cpu->r[30] + 0x00000024u;
|
|
/* 02C7DE0C */ rbrew_write32(cpu->mem, _t15, cpu->r[4]);
|
|
/* 02C7DE10 */ _t16 = cpu->r[30] + 0x00000020u;
|
|
/* 02C7DE10 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02C7DE14 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DE14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C7DE18 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DE18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C7DE1C */ cpu->lr = cpu->r[0];
|
|
/* 02C7DE20 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DE20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7DE24 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7DE28 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7DE2C */ return;
|
|
}
|
|
|
|
// fn_02C7DE30 @ 0x2c7de30
|
|
void Gambit_fn_02C7DE30(CPUState* cpu) {
|
|
L_02C7DE30: ; // 0x2c7de30
|
|
/* 02C7DE30 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02C7DE34 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C7DE38 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C7DE3C */ rbrew_dispatch(cpu, 0x02d05c98u); return;
|
|
}
|
|
|
|
// fn_02C7DE40 @ 0x2c7de40
|
|
void Gambit_fn_02C7DE40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C7DE40: ; // 0x2c7de40
|
|
/* 02C7DE40 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7DE44 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7DE44 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7DE48 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7DE48 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7DE48 */ cpu->r[1] = _t1;
|
|
/* 02C7DE4C */ rbrew_dispatch(cpu, 0x02d06030u);
|
|
/* 02C7DE50 */ Gambit_fn_02C7DE30(cpu);
|
|
/* 02C7DE54 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DE54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7DE58 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DE5C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DE60 */ return;
|
|
}
|
|
|
|
// fn_02C7DE48 @ 0x2c7de48
|
|
void Gambit_fn_02C7DE48(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C7DE48: ; // 0x2c7de48
|
|
/* 02C7DE48 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7DE48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DE48 */ cpu->r[1] = _t0;
|
|
/* 02C7DE4C */ rbrew_dispatch(cpu, 0x02d06030u);
|
|
/* 02C7DE50 */ Gambit_fn_02C7DE30(cpu);
|
|
/* 02C7DE54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DE54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C7DE58 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DE5C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DE60 */ return;
|
|
}
|
|
|
|
// fn_02C7DE64 @ 0x2c7de64
|
|
void Gambit_fn_02C7DE64(CPUState* cpu) {
|
|
L_02C7DE64: ; // 0x2c7de64
|
|
/* 02C7DE64 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C7DE68 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02C7DE6C */ return;
|
|
}
|
|
|
|
// fn_02C7DE70 @ 0x2c7de70
|
|
void Gambit_fn_02C7DE70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7DE70: ; // 0x2c7de70
|
|
/* 02C7DE70 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7DE74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7DE74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DE74 */ cpu->r[1] = _t0;
|
|
/* 02C7DE78 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DE78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7DE7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7DE80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u);
|
|
/* 02C7DE84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DE84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7DE88 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DE88 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7DE88 */ if (_t4) goto L_02C7DE8C; else goto L_02C7DEC0;
|
|
L_02C7DE8C: ; // 0x2c7de8c
|
|
/* 02C7DE8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DE90 */ cpu->r[9] = 0x000000B0u;
|
|
/* 02C7DE94 */ cpu->r[7] = 0x00000030u;
|
|
/* 02C7DE98 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C7DE9C */ cpu->r[8] = 0x0000004Cu;
|
|
/* 02C7DEA0 */ cpu->r[6] = 0x00000040u;
|
|
/* 02C7DEA4 */ cpu->r[4] = 0x0000002Cu;
|
|
/* 02C7DEA8 */ rbrew_dispatch(cpu, 0x02d061e8u);
|
|
/* 02C7DEAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DEB0 */ Gambit_fn_02C7DE64(cpu);
|
|
/* 02C7DEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7DEB8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DEB8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7DEB8 */ if (_t6) goto L_02C7DEF4; else goto L_02C7DEBC;
|
|
L_02C7DEBC: ; // 0x2c7debc
|
|
/* 02C7DEBC */ goto L_02C7DEF0;
|
|
L_02C7DEC0: ; // 0x2c7dec0
|
|
/* 02C7DEC0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C7DEC4 */ cpu->r[4] = 0x00000030u;
|
|
/* 02C7DEC8 */ cpu->r[8] = 0x000000C8u;
|
|
/* 02C7DECC */ cpu->r[5] = 0x00000040u;
|
|
/* 02C7DED0 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C7DED4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DED8 */ cpu->r[9] = 0x000000C0u;
|
|
/* 02C7DEDC */ rbrew_dispatch(cpu, 0x02d061e8u);
|
|
/* 02C7DEE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DEE4 */ Gambit_fn_02C7DE64(cpu);
|
|
/* 02C7DEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7DEEC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DEEC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7DEEC */ if (_t8) goto L_02C7DEF4; else goto L_02C7DEF0;
|
|
L_02C7DEF0: ; // 0x2c7def0
|
|
/* 02C7DEF0 */ Gambit_fn_02C7DE30(cpu);
|
|
L_02C7DEF4: ; // 0x2c7def4
|
|
/* 02C7DEF4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DEF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7DEF8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DEF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7DEFC */ cpu->lr = cpu->r[0];
|
|
/* 02C7DF00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DF04 */ return;
|
|
}
|
|
|
|
// fn_02C7DE74 @ 0x2c7de74
|
|
void Gambit_fn_02C7DE74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7DE74: ; // 0x2c7de74
|
|
/* 02C7DE74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7DE74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DE74 */ cpu->r[1] = _t0;
|
|
/* 02C7DE78 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DE78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7DE7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7DE80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u);
|
|
/* 02C7DE84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DE84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7DE88 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DE88 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7DE88 */ if (_t4) goto L_02C7DE8C; else goto L_02C7DEC0;
|
|
L_02C7DE8C: ; // 0x2c7de8c
|
|
/* 02C7DE8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DE90 */ cpu->r[9] = 0x000000B0u;
|
|
/* 02C7DE94 */ cpu->r[7] = 0x00000030u;
|
|
/* 02C7DE98 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C7DE9C */ cpu->r[8] = 0x0000004Cu;
|
|
/* 02C7DEA0 */ cpu->r[6] = 0x00000040u;
|
|
/* 02C7DEA4 */ cpu->r[4] = 0x0000002Cu;
|
|
/* 02C7DEA8 */ rbrew_dispatch(cpu, 0x02d061e8u);
|
|
/* 02C7DEAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DEB0 */ Gambit_fn_02C7DE64(cpu);
|
|
/* 02C7DEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7DEB8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DEB8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7DEB8 */ if (_t6) goto L_02C7DEF4; else goto L_02C7DEBC;
|
|
L_02C7DEBC: ; // 0x2c7debc
|
|
/* 02C7DEBC */ goto L_02C7DEF0;
|
|
L_02C7DEC0: ; // 0x2c7dec0
|
|
/* 02C7DEC0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C7DEC4 */ cpu->r[4] = 0x00000030u;
|
|
/* 02C7DEC8 */ cpu->r[8] = 0x000000C8u;
|
|
/* 02C7DECC */ cpu->r[5] = 0x00000040u;
|
|
/* 02C7DED0 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C7DED4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DED8 */ cpu->r[9] = 0x000000C0u;
|
|
/* 02C7DEDC */ rbrew_dispatch(cpu, 0x02d061e8u);
|
|
/* 02C7DEE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DEE4 */ Gambit_fn_02C7DE64(cpu);
|
|
/* 02C7DEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7DEEC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DEEC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7DEEC */ if (_t8) goto L_02C7DEF4; else goto L_02C7DEF0;
|
|
L_02C7DEF0: ; // 0x2c7def0
|
|
/* 02C7DEF0 */ Gambit_fn_02C7DE30(cpu);
|
|
L_02C7DEF4: ; // 0x2c7def4
|
|
/* 02C7DEF4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DEF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7DEF8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DEF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7DEFC */ cpu->lr = cpu->r[0];
|
|
/* 02C7DF00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DF04 */ return;
|
|
}
|
|
|
|
// fn_02C7DF08 @ 0x2c7df08
|
|
void Gambit_fn_02C7DF08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C7DF08: ; // 0x2c7df08
|
|
/* 02C7DF08 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7DF0C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7DF0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DF0C */ cpu->r[1] = _t0;
|
|
/* 02C7DF10 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DF10 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C7DF14 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DF14 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7DF18 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DF18 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C7DF1C */ cpu->r[31] = 0x0000089Cu;
|
|
/* 02C7DF20 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C7DF24 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7DF28 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DF28 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C7DF2C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DF2C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7DF30 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7DF34 */ Gambit_fn_02C7CCC8(cpu);
|
|
/* 02C7DF38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7DF3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DF3C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7DF3C */ if (_t7) goto L_02C7DF40; else goto L_02C7DF54;
|
|
L_02C7DF40: ; // 0x2c7df40
|
|
/* 02C7DF40 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7DF44 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7DF48 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7DF4C */ Gambit_fn_02C7CBE8(cpu);
|
|
/* 02C7DF50 */ cpu->r[31] = cpu->r[3] + 0x0000089Cu;
|
|
L_02C7DF54: ; // 0x2c7df54
|
|
/* 02C7DF54 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DF54 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7DF58 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DF58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7DF5C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7DF60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DF64 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DF64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7DF68 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DF6C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DF6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7DF70 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7DF74 */ return;
|
|
}
|
|
|
|
// fn_02C7DF0C @ 0x2c7df0c
|
|
void Gambit_fn_02C7DF0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C7DF0C: ; // 0x2c7df0c
|
|
/* 02C7DF0C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7DF0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DF0C */ cpu->r[1] = _t0;
|
|
/* 02C7DF10 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DF10 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C7DF14 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DF14 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7DF18 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DF18 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C7DF1C */ cpu->r[31] = 0x0000089Cu;
|
|
/* 02C7DF20 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C7DF24 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7DF28 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DF28 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C7DF2C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DF2C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7DF30 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7DF34 */ Gambit_fn_02C7CCC8(cpu);
|
|
/* 02C7DF38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7DF3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DF3C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7DF3C */ if (_t7) goto L_02C7DF40; else goto L_02C7DF54;
|
|
L_02C7DF40: ; // 0x2c7df40
|
|
/* 02C7DF40 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7DF44 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7DF48 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7DF4C */ Gambit_fn_02C7CBE8(cpu);
|
|
/* 02C7DF50 */ cpu->r[31] = cpu->r[3] + 0x0000089Cu;
|
|
L_02C7DF54: ; // 0x2c7df54
|
|
/* 02C7DF54 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DF54 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7DF58 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DF58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7DF5C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7DF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7DF60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7DF64 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7DF64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7DF68 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DF6C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7DF6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7DF70 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7DF74 */ return;
|
|
}
|
|
|
|
// fn_02C7DF78 @ 0x2c7df78
|
|
void Gambit_fn_02C7DF78(CPUState* 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;
|
|
|
|
L_02C7DF78: ; // 0x2c7df78
|
|
/* 02C7DF78 */ _t0 = cpu->r[1] + 0xFFFFFEF8u;
|
|
/* 02C7DF78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7DF78 */ cpu->r[1] = _t0;
|
|
/* 02C7DF7C */ cpu->r[0] = cpu->lr;
|
|
/* 02C7DF80 */ /* nop */
|
|
/* 02C7DF84 */ cpu->r[26] = cpu->r[5];
|
|
/* 02C7DF88 */ cpu->r[27] = cpu->r[6];
|
|
/* 02C7DF8C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7DF90 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7DF94 */ cpu->r[28] = cpu->r[7];
|
|
/* 02C7DF98 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7DF9C */ _t1 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02C7DF9C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7DFA0 */ Gambit_fn_02C7C024(cpu);
|
|
/* 02C7DFA4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DFA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 02C7DFA8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C7DFAC */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7DFB0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DFB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7DFB4 */ Gambit_fn_02C7C00C(cpu);
|
|
/* 02C7DFB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7DFBC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7DFBC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7DFBC */ if (_t5) goto L_02C7DFC0; else goto L_02C7DFD4;
|
|
L_02C7DFC0: ; // 0x2c7dfc0
|
|
/* 02C7DFC0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DFC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7DFC4 */ cpu->r[5] = 0x00000800u;
|
|
/* 02C7DFC8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7DFCC */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7DFD0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DFD0 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
L_02C7DFD4: ; // 0x2c7dfd4
|
|
/* 02C7DFD4 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C7DFD8 */ cpu->r[4] = 0x0000009Cu;
|
|
/* 02C7DFDC */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7DFE0 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7DFE4 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7DFE4 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02C7DFE8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7DFEC */ Gambit_fn_02C7C00C(cpu);
|
|
/* 02C7DFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7DFF4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7DFF8 */ cpu->r[7] = cpu->r[26];
|
|
/* 02C7DFFC */ cpu->r[6] = cpu->r[31];
|
|
/* 02C7E000 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E000 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C7E000 */ if (_t10) goto L_02C7E004; else goto L_02C7E01C;
|
|
L_02C7E004: ; // 0x2c7e004
|
|
/* 02C7E004 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E004 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7E008 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E00C */ Gambit_fn_02C7C52C(cpu);
|
|
/* 02C7E010 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7E010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7E014 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E014 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C7E014 */ if (_t13) goto L_02C7E030; else goto L_02C7E018;
|
|
L_02C7E018: ; // 0x2c7e018
|
|
/* 02C7E018 */ goto L_02C7E114;
|
|
L_02C7E01C: ; // 0x2c7e01c
|
|
/* 02C7E01C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E020 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E024 */ Gambit_fn_02C7C64C(cpu);
|
|
/* 02C7E028 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7E028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7E02C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E02C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C7E02C */ if (_t15) goto L_02C7E030; else goto L_02C7E114;
|
|
L_02C7E030: ; // 0x2c7e030
|
|
/* 02C7E030 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E030 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7E034 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E034 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C7E038 */ Gambit_fn_02C81854(cpu);
|
|
/* 02C7E03C */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02C7E03C */ cpu->r[28] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C7E040 */ cpu->r[24] = cpu->r[3];
|
|
/* 02C7E044 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7E044 */ cpu->r[26] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C7E048 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7E048 */ cpu->r[25] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C7E04C */ _t21 = cpu->r[3] + 0x00000006u;
|
|
/* 02C7E04C */ cpu->r[27] = rbrew_read16(cpu->mem, _t21);
|
|
/* 02C7E050 */ Gambit_fn_02C8184C(cpu);
|
|
/* 02C7E054 */ cpu->r[0] = 0x00000036u;
|
|
/* 02C7E058 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C7E05C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E060 */ cpu->ctr = cpu->r[0];
|
|
/* 02C7E064 */ cpu->r[8] = cpu->r[8] + 0x00003160u;
|
|
L_02C7E068: ; // 0x2c7e068
|
|
/* 02C7E068 */ _t22 = cpu->r[8] + 0x00000004u;
|
|
/* 02C7E068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C7E068 */ cpu->r[8] = _t22;
|
|
/* 02C7E06C */ _t23 = cpu->r[9] + 0x00000004u;
|
|
/* 02C7E06C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C7E06C */ cpu->r[9] = _t23;
|
|
/* 02C7E070 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C7E070 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C7E070 */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 02C7E070 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C7E070 */ if (_t26) goto L_02C7E068; else goto L_02C7E074;
|
|
L_02C7E074: ; // 0x2c7e074
|
|
/* 02C7E074 */ _t27 = cpu->r[25] + 0x00000030u;
|
|
/* 02C7E074 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 02C7E078 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C7E07C */ _t28 = cpu->r[25] + 0x00000074u;
|
|
/* 02C7E07C */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 02C7E080 */ _t29 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02C7E080 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02C7E084 */ _t30 = cpu->r[25] + 0x00000010u;
|
|
/* 02C7E084 */ rbrew_write32(cpu->mem, _t30, cpu->r[28]);
|
|
/* 02C7E088 */ _t31 = cpu->r[25] + 0x0000007Cu;
|
|
/* 02C7E088 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 02C7E08C */ _t32 = cpu->r[25] + 0x00000004u;
|
|
/* 02C7E08C */ rbrew_write32(cpu->mem, _t32, cpu->r[26]);
|
|
/* 02C7E090 */ _t33 = cpu->r[25] + 0x00000008u;
|
|
/* 02C7E090 */ rbrew_write32(cpu->mem, _t33, cpu->r[27]);
|
|
/* 02C7E094 */ _t34 = cpu->r[25] + 0x00000018u;
|
|
/* 02C7E094 */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
|
|
/* 02C7E098 */ _t35 = cpu->r[25] + 0x00000034u;
|
|
/* 02C7E098 */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
|
|
/* 02C7E09C */ cpu->r[11] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E0A0 */ _t36 = cpu->r[25] + 0x00000080u;
|
|
/* 02C7E0A0 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02C7E0A4 */ _t37 = cpu->r[25] + 0x00000000u;
|
|
/* 02C7E0A4 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02C7E0A8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000018u, 0x0000001Du);
|
|
/* 02C7E0AC */ _t38 = cpu->r[25] + 0x00000078u;
|
|
/* 02C7E0AC */ rbrew_write32(cpu->mem, _t38, cpu->r[28]);
|
|
/* 02C7E0B0 */ _t39 = cpu->r[10] + cpu->r[11];
|
|
/* 02C7E0B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C7E0B4 */ _t40 = cpu->r[25] + 0x00000014u;
|
|
/* 02C7E0B4 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 02C7E0B8 */ _t41 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C7E0B8 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02C7E0BC */ cpu->r[3] = cpu->r[25];
|
|
/* 02C7E0C0 */ _t42 = cpu->r[25] + 0x00000084u;
|
|
/* 02C7E0C0 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 02C7E0C4 */ rbrew_dispatch(cpu, 0x02d05878u);
|
|
/* 02C7E0C8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C7E0CC */ rbrew_dispatch(cpu, 0x02d05c88u);
|
|
/* 02C7E0D0 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E0D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C7E0D4 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C7E0D8 */ Gambit_fn_02C81860(cpu);
|
|
/* 02C7E0DC */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E0DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C7E0E0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C7E0E4 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C7E0E8 */ Gambit_fn_02C8186C(cpu);
|
|
/* 02C7E0EC */ _t45 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7E0EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C7E0F0 */ _t46 = cpu->r[7] + 0x00000010u;
|
|
/* 02C7E0F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C7E0F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C7E0F8 */ _t47 = cpu->r[7] + 0x00000024u;
|
|
/* 02C7E0F8 */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
|
|
/* 02C7E0FC */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C7E0FC */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C7E0FC */ if (_t49) goto L_02C7E100; else goto L_02C7E110;
|
|
L_02C7E100: ; // 0x2c7e100
|
|
/* 02C7E100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7E104 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E104 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C7E104 */ if (_t51) goto L_02C7E108; else goto L_02C7E110;
|
|
L_02C7E108: ; // 0x2c7e108
|
|
/* 02C7E108 */ _t52 = cpu->r[7] + 0x00000040u;
|
|
/* 02C7E108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C7E10C */ cpu->r[3] = cpu->r[29] + cpu->r[0];
|
|
L_02C7E110: ; // 0x2c7e110
|
|
/* 02C7E110 */ _t53 = cpu->r[7] + 0x0000002Cu;
|
|
/* 02C7E110 */ rbrew_write32(cpu->mem, _t53, cpu->r[3]);
|
|
L_02C7E114: ; // 0x2c7e114
|
|
/* 02C7E114 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7E118 */ /* nop */
|
|
/* 02C7E11C */ _t54 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02C7E11C */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C7E120 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E124 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02C7E128 */ return;
|
|
}
|
|
|
|
// fn_02C7E12C @ 0x2c7e12c
|
|
void Gambit_fn_02C7E12C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C7E12C: ; // 0x2c7e12c
|
|
/* 02C7E12C */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E130 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7E130 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E130 */ cpu->r[1] = _t0;
|
|
/* 02C7E134 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E134 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7E138 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7E138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7E13C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E13C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7E140 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E140 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7E140 */ if (_t4) goto L_02C7E174; else goto L_02C7E144;
|
|
L_02C7E144: ; // 0x2c7e144
|
|
/* 02C7E144 */ _t5 = cpu->r[31] + 0x00000020u;
|
|
/* 02C7E144 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C7E14C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E14C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7E14C */ if (_t7) goto L_02C7E15C; else goto L_02C7E150;
|
|
L_02C7E150: ; // 0x2c7e150
|
|
/* 02C7E150 */ _t8 = cpu->r[31] + 0x00000024u;
|
|
/* 02C7E150 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7E154 */ cpu->r[3] = 0x00000042u;
|
|
/* 02C7E158 */ Gambit_fn_02C76C5C(cpu);
|
|
L_02C7E15C: ; // 0x2c7e15c
|
|
/* 02C7E15C */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 02C7E15C */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7E160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C7E164 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E164 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7E164 */ if (_t11) goto L_02C7E174; else goto L_02C7E168;
|
|
L_02C7E168: ; // 0x2c7e168
|
|
/* 02C7E168 */ _t12 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C7E168 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7E16C */ cpu->r[3] = 0x00000042u;
|
|
/* 02C7E170 */ Gambit_fn_02C76C5C(cpu);
|
|
L_02C7E174: ; // 0x2c7e174
|
|
/* 02C7E174 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7E178 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7E17C */ cpu->lr = cpu->r[0];
|
|
/* 02C7E180 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E184 */ return;
|
|
}
|
|
|
|
// fn_02C7E130 @ 0x2c7e130
|
|
void Gambit_fn_02C7E130(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C7E130: ; // 0x2c7e130
|
|
/* 02C7E130 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7E130 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E130 */ cpu->r[1] = _t0;
|
|
/* 02C7E134 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E134 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7E138 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7E138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7E13C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E13C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7E140 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E140 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7E140 */ if (_t4) goto L_02C7E174; else goto L_02C7E144;
|
|
L_02C7E144: ; // 0x2c7e144
|
|
/* 02C7E144 */ _t5 = cpu->r[31] + 0x00000020u;
|
|
/* 02C7E144 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C7E14C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E14C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7E14C */ if (_t7) goto L_02C7E15C; else goto L_02C7E150;
|
|
L_02C7E150: ; // 0x2c7e150
|
|
/* 02C7E150 */ _t8 = cpu->r[31] + 0x00000024u;
|
|
/* 02C7E150 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7E154 */ cpu->r[3] = 0x00000042u;
|
|
/* 02C7E158 */ Gambit_fn_02C76C5C(cpu);
|
|
L_02C7E15C: ; // 0x2c7e15c
|
|
/* 02C7E15C */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 02C7E15C */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7E160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C7E164 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E164 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7E164 */ if (_t11) goto L_02C7E174; else goto L_02C7E168;
|
|
L_02C7E168: ; // 0x2c7e168
|
|
/* 02C7E168 */ _t12 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C7E168 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7E16C */ cpu->r[3] = 0x00000042u;
|
|
/* 02C7E170 */ Gambit_fn_02C76C5C(cpu);
|
|
L_02C7E174: ; // 0x2c7e174
|
|
/* 02C7E174 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7E178 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7E17C */ cpu->lr = cpu->r[0];
|
|
/* 02C7E180 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E184 */ return;
|
|
}
|
|
|
|
// fn_02C7E188 @ 0x2c7e188
|
|
void Gambit_fn_02C7E188(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7E188: ; // 0x2c7e188
|
|
/* 02C7E188 */ cpu->r[11] = cpu->r[3] + cpu->r[4];
|
|
/* 02C7E18C */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C7E190 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C7E194 */ _t0 = ~cpu->r[0];
|
|
/* 02C7E194 */ cpu->r[3] = cpu->r[12] & _t0;
|
|
/* 02C7E198 */ return;
|
|
}
|
|
|
|
// fn_02C7E19C @ 0x2c7e19c
|
|
void Gambit_fn_02C7E19C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7E188: ; // 0x2c7e188
|
|
/* 02C7E188 */ cpu->r[11] = cpu->r[3] + cpu->r[4];
|
|
/* 02C7E18C */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C7E190 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C7E194 */ _t0 = ~cpu->r[0];
|
|
/* 02C7E194 */ cpu->r[3] = cpu->r[12] & _t0;
|
|
/* 02C7E198 */ return;
|
|
L_02C7E19C: ; // 0x2c7e19c
|
|
/* 02C7E19C */ goto L_02C7E188;
|
|
}
|
|
|
|
// fn_02C7E1A0 @ 0x2c7e1a0
|
|
void Gambit_fn_02C7E1A0(CPUState* cpu) {
|
|
L_02C7E1A0: ; // 0x2c7e1a0
|
|
/* 02C7E1A0 */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C7E1A4 */ cpu->r[12] = cpu->r[3] & cpu->r[0];
|
|
/* 02C7E1A8 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C7E1AC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C7E1B0 */ return;
|
|
}
|
|
|
|
// fn_02C7E1B4 @ 0x2c7e1b4
|
|
void Gambit_fn_02C7E1B4(CPUState* cpu) {
|
|
L_02C7E1A0: ; // 0x2c7e1a0
|
|
/* 02C7E1A0 */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C7E1A4 */ cpu->r[12] = cpu->r[3] & cpu->r[0];
|
|
/* 02C7E1A8 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C7E1AC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C7E1B0 */ return;
|
|
L_02C7E1B4: ; // 0x2c7e1b4
|
|
/* 02C7E1B4 */ goto L_02C7E1A0;
|
|
}
|
|
|
|
// fn_02C7E1B8 @ 0x2c7e1b8
|
|
void Gambit_fn_02C7E1B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C7E1B8: ; // 0x2c7e1b8
|
|
/* 02C7E1B8 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C7E1BC */ cpu->r[12] = cpu->r[10];
|
|
/* 02C7E1C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
|
|
/* 02C7E1C4 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E1C4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C7E1C4 */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 02C7E1C4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C7E1C4 */ goto L_02C7E1C8;
|
|
L_02C7E1C8: ; // 0x2c7e1c8
|
|
/* 02C7E1C8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C7E1CC */ _t3 = cpu->r[9] + cpu->r[5];
|
|
/* 02C7E1CC */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C7E1D0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C7E1D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7E1D8 */ _t4 = cpu->r[11] + cpu->r[3];
|
|
/* 02C7E1D8 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]);
|
|
/* 02C7E1DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E1DC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7E1DC */ if (_t6) goto L_02C7E1E4; else goto L_02C7E1E0;
|
|
L_02C7E1E0: ; // 0x2c7e1e0
|
|
/* 02C7E1E0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
L_02C7E1E4: ; // 0x2c7e1e4
|
|
/* 02C7E1E4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C7E1E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
|
|
/* 02C7E1EC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E1EC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7E1EC */ if (_t8) goto L_02C7E1C8; else goto L_02C7E1F0;
|
|
L_02C7E1F0: ; // 0x2c7e1f0
|
|
/* 02C7E1F0 */ return;
|
|
}
|
|
|
|
// fn_02C7E1F4 @ 0x2c7e1f4
|
|
void Gambit_fn_02C7E1F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C7E1F4: ; // 0x2c7e1f4
|
|
/* 02C7E1F4 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFD0u;
|
|
/* 02C7E1F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Au);
|
|
/* 02C7E1FC */ cpu->r[0] = 0x00000001u;
|
|
/* 02C7E200 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E200 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C7E200 */ if (_t1) goto L_02C7E248; else goto L_02C7E204;
|
|
L_02C7E204: ; // 0x2c7e204
|
|
/* 02C7E204 */ cpu->r[11] = cpu->r[3] + 0xFFFF0000u;
|
|
/* 02C7E208 */ cpu->r[11] = cpu->r[11] + 0x000000F0u;
|
|
/* 02C7E20C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Au);
|
|
/* 02C7E210 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E210 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7E210 */ if (_t3) goto L_02C7E248; else goto L_02C7E214;
|
|
L_02C7E214: ; // 0x2c7e214
|
|
/* 02C7E214 */ cpu->r[12] = cpu->r[3] + 0xFFFFDEA0u;
|
|
/* 02C7E218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Au);
|
|
/* 02C7E21C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E21C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7E21C */ if (_t5) goto L_02C7E248; else goto L_02C7E220;
|
|
L_02C7E220: ; // 0x2c7e220
|
|
/* 02C7E220 */ cpu->r[11] = cpu->r[3] + 0xFFFFDE90u;
|
|
/* 02C7E224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Au);
|
|
/* 02C7E228 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E228 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7E228 */ if (_t7) goto L_02C7E248; else goto L_02C7E22C;
|
|
L_02C7E22C: ; // 0x2c7e22c
|
|
/* 02C7E22C */ cpu->r[12] = cpu->r[3] + 0xFFFFDBA0u;
|
|
/* 02C7E230 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000014u);
|
|
/* 02C7E234 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E234 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7E234 */ if (_t9) goto L_02C7E248; else goto L_02C7E238;
|
|
L_02C7E238: ; // 0x2c7e238
|
|
/* 02C7E238 */ cpu->r[11] = cpu->r[3] + 0xFFFFD88Au;
|
|
/* 02C7E23C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000009u);
|
|
/* 02C7E240 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E240 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7E240 */ if (_t11) goto L_02C7E248; else goto L_02C7E244;
|
|
L_02C7E244: ; // 0x2c7e244
|
|
/* 02C7E244 */ cpu->r[0] = 0x00000000u;
|
|
L_02C7E248: ; // 0x2c7e248
|
|
/* 02C7E248 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C7E24C */ return;
|
|
}
|
|
|
|
// fn_02C7E250 @ 0x2c7e250
|
|
void Gambit_fn_02C7E250(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C7E250: ; // 0x2c7e250
|
|
/* 02C7E250 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E254 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C7E258 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7E258 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7E25C */ cpu->r[5] = cpu->r[4];
|
|
/* 02C7E260 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7E260 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7E260 */ cpu->r[1] = _t1;
|
|
/* 02C7E264 */ rbrew_dispatch(cpu, 0x02d05860u);
|
|
/* 02C7E268 */ cpu->r[4] = 0x00000100u;
|
|
/* 02C7E26C */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7E270 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7E274 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E278 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E27C */ return;
|
|
}
|
|
|
|
// fn_02C7E260 @ 0x2c7e260
|
|
void Gambit_fn_02C7E260(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C7E260: ; // 0x2c7e260
|
|
/* 02C7E260 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7E260 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E260 */ cpu->r[1] = _t0;
|
|
/* 02C7E264 */ rbrew_dispatch(cpu, 0x02d05860u);
|
|
/* 02C7E268 */ cpu->r[4] = 0x00000100u;
|
|
/* 02C7E26C */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7E270 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C7E274 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E278 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E27C */ return;
|
|
}
|
|
|
|
// fn_02C7E280 @ 0x2c7e280
|
|
void Gambit_fn_02C7E280(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C7E280: ; // 0x2c7e280
|
|
/* 02C7E280 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E284 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7E284 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E284 */ cpu->r[1] = _t0;
|
|
/* 02C7E288 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E288 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7E28C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E28C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7E290 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7E294 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7E298 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E298 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7E29C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E29C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7E2A0 */ Gambit_fn_02C7E250(cpu);
|
|
/* 02C7E2A4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C7E2A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7E2AC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7E2B0 */ Gambit_fn_02C68508(cpu);
|
|
/* 02C7E2B4 */ cpu->r[4] = 0x00000100u;
|
|
/* 02C7E2B8 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7E2BC */ cpu->r[29] = cpu->r[29] + cpu->r[3];
|
|
/* 02C7E2C0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7E2C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7E2C8 */ Gambit_fn_02C684F8(cpu);
|
|
/* 02C7E2CC */ cpu->r[4] = 0x00000100u;
|
|
/* 02C7E2D0 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7E2D4 */ cpu->r[3] = cpu->r[29] + cpu->r[3];
|
|
/* 02C7E2D8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E2D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E2DC */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E2E0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E2E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7E2E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E2E8 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E2E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7E2EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7E2F0 */ return;
|
|
}
|
|
|
|
// fn_02C7E284 @ 0x2c7e284
|
|
void Gambit_fn_02C7E284(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C7E284: ; // 0x2c7e284
|
|
/* 02C7E284 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7E284 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E284 */ cpu->r[1] = _t0;
|
|
/* 02C7E288 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E288 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7E28C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E28C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7E290 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7E294 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7E298 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E298 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7E29C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E29C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7E2A0 */ Gambit_fn_02C7E250(cpu);
|
|
/* 02C7E2A4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C7E2A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7E2AC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7E2B0 */ Gambit_fn_02C68508(cpu);
|
|
/* 02C7E2B4 */ cpu->r[4] = 0x00000100u;
|
|
/* 02C7E2B8 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7E2BC */ cpu->r[29] = cpu->r[29] + cpu->r[3];
|
|
/* 02C7E2C0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7E2C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7E2C8 */ Gambit_fn_02C684F8(cpu);
|
|
/* 02C7E2CC */ cpu->r[4] = 0x00000100u;
|
|
/* 02C7E2D0 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7E2D4 */ cpu->r[3] = cpu->r[29] + cpu->r[3];
|
|
/* 02C7E2D8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E2D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E2DC */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E2E0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E2E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7E2E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E2E8 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E2E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7E2EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7E2F0 */ return;
|
|
}
|
|
|
|
// fn_02C7E2F4 @ 0x2c7e2f4
|
|
void Gambit_fn_02C7E2F4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7E188: ; // 0x2c7e188
|
|
/* 02C7E188 */ cpu->r[11] = cpu->r[3] + cpu->r[4];
|
|
/* 02C7E18C */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C7E190 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C7E194 */ _t0 = ~cpu->r[0];
|
|
/* 02C7E194 */ cpu->r[3] = cpu->r[12] & _t0;
|
|
/* 02C7E198 */ return;
|
|
L_02C7E2F4: ; // 0x2c7e2f4
|
|
/* 02C7E2F4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C7E2F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C7E2FC */ goto L_02C7E188;
|
|
}
|
|
|
|
// fn_02C7E300 @ 0x2c7e300
|
|
void Gambit_fn_02C7E300(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C7E300: ; // 0x2c7e300
|
|
/* 02C7E300 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E304 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7E304 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E304 */ cpu->r[1] = _t0;
|
|
/* 02C7E308 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E308 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7E30C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E30C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7E310 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7E314 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7E318 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E318 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7E31C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E31C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7E320 */ Gambit_fn_02C7E2F4(cpu);
|
|
/* 02C7E324 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C7E328 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7E32C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7E330 */ Gambit_fn_02C684E8(cpu);
|
|
/* 02C7E334 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C7E338 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7E33C */ cpu->r[29] = cpu->r[29] + cpu->r[3];
|
|
/* 02C7E340 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7E344 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7E348 */ Gambit_fn_02C684D8(cpu);
|
|
/* 02C7E34C */ cpu->r[4] = 0x00000004u;
|
|
/* 02C7E350 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7E354 */ cpu->r[3] = cpu->r[29] + cpu->r[3];
|
|
/* 02C7E358 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E358 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E35C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E360 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7E364 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E368 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E368 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7E36C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7E370 */ return;
|
|
}
|
|
|
|
// fn_02C7E304 @ 0x2c7e304
|
|
void Gambit_fn_02C7E304(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C7E304: ; // 0x2c7e304
|
|
/* 02C7E304 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7E304 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E304 */ cpu->r[1] = _t0;
|
|
/* 02C7E308 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E308 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7E30C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E30C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7E310 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7E314 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7E318 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E318 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7E31C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E31C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7E320 */ Gambit_fn_02C7E2F4(cpu);
|
|
/* 02C7E324 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C7E328 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7E32C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7E330 */ Gambit_fn_02C684E8(cpu);
|
|
/* 02C7E334 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C7E338 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7E33C */ cpu->r[29] = cpu->r[29] + cpu->r[3];
|
|
/* 02C7E340 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7E344 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7E348 */ Gambit_fn_02C684D8(cpu);
|
|
/* 02C7E34C */ cpu->r[4] = 0x00000004u;
|
|
/* 02C7E350 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7E354 */ cpu->r[3] = cpu->r[29] + cpu->r[3];
|
|
/* 02C7E358 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E358 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E35C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E360 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7E364 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E368 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E368 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7E36C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7E370 */ return;
|
|
}
|
|
|
|
// fn_02C7E374 @ 0x2c7e374
|
|
void Gambit_fn_02C7E374(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7E374: ; // 0x2c7e374
|
|
/* 02C7E374 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E378 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7E378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E378 */ cpu->r[1] = _t0;
|
|
/* 02C7E37C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E37C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C7E380 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C7E384 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E384 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7E388 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E388 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7E38C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C7E390 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E390 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C7E394 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E394 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7E398 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7E39C */ Gambit_fn_02C7E280(cpu);
|
|
/* 02C7E3A0 */ cpu->r[30] = cpu->r[3] + 0x00000100u;
|
|
/* 02C7E3A4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7E3A8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7E3AC */ cpu->r[5] = cpu->r[31];
|
|
/* 02C7E3B0 */ Gambit_fn_02C7E300(cpu);
|
|
/* 02C7E3B4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E3B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E3B8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E3B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7E3BC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7E3C0 */ cpu->r[3] = cpu->r[30] + cpu->r[3];
|
|
/* 02C7E3C4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E3C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7E3C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E3CC */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E3CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7E3D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7E3D4 */ return;
|
|
}
|
|
|
|
// fn_02C7E378 @ 0x2c7e378
|
|
void Gambit_fn_02C7E378(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7E378: ; // 0x2c7e378
|
|
/* 02C7E378 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7E378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E378 */ cpu->r[1] = _t0;
|
|
/* 02C7E37C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E37C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C7E380 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C7E384 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E384 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7E388 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E388 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7E38C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C7E390 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E390 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C7E394 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E394 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7E398 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7E39C */ Gambit_fn_02C7E280(cpu);
|
|
/* 02C7E3A0 */ cpu->r[30] = cpu->r[3] + 0x00000100u;
|
|
/* 02C7E3A4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7E3A8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7E3AC */ cpu->r[5] = cpu->r[31];
|
|
/* 02C7E3B0 */ Gambit_fn_02C7E300(cpu);
|
|
/* 02C7E3B4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E3B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E3B8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E3B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7E3BC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7E3C0 */ cpu->r[3] = cpu->r[30] + cpu->r[3];
|
|
/* 02C7E3C4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E3C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7E3C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E3CC */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E3CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7E3D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7E3D4 */ return;
|
|
}
|
|
|
|
// fn_02C7E3DC @ 0x2c7e3dc
|
|
void Gambit_fn_02C7E3DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C7E3DC: ; // 0x2c7e3dc
|
|
/* 02C7E3DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7E3DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E3DC */ cpu->r[1] = _t0;
|
|
/* 02C7E3E0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E3E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7E3E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7E3E8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E3E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7E3EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E3EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7E3F0 */ Gambit_fn_02C7E250(cpu);
|
|
/* 02C7E3F4 */ cpu->r[31] = cpu->r[3] + 0x00000100u;
|
|
/* 02C7E3F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7E3FC */ Gambit_fn_02C7E2F4(cpu);
|
|
/* 02C7E400 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7E404 */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02C7E408 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E408 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E40C */ cpu->lr = cpu->r[0];
|
|
/* 02C7E410 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E410 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E414 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E418 */ return;
|
|
}
|
|
|
|
// fn_02C7E41C @ 0x2c7e41c
|
|
void Gambit_fn_02C7E41C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_02C7E41C: ; // 0x2c7e41c
|
|
/* 02C7E41C */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E420 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 02C7E420 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E420 */ cpu->r[1] = _t0;
|
|
/* 02C7E424 */ _t1 = cpu->r[1] + 0x00000094u;
|
|
/* 02C7E424 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7E428 */ /* nop */
|
|
/* 02C7E42C */ cpu->r[23] = cpu->r[4];
|
|
/* 02C7E430 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C7E434 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C7E438 */ cpu->r[27] = cpu->r[7];
|
|
/* 02C7E43C */ cpu->r[5] = cpu->r[4];
|
|
/* 02C7E440 */ cpu->r[22] = cpu->r[3];
|
|
/* 02C7E444 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7E448 */ cpu->r[28] = cpu->r[8];
|
|
/* 02C7E44C */ cpu->r[25] = cpu->r[6];
|
|
/* 02C7E450 */ rbrew_dispatch(cpu, 0x02d05860u);
|
|
/* 02C7E454 */ cpu->r[24] = cpu->r[3];
|
|
/* 02C7E458 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C7E45C */ cpu->r[4] = cpu->r[24];
|
|
/* 02C7E460 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7E464 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7E468 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C7E46C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C7E470 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7E474 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C7E478 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7E47C */ _t2 = cpu->r[22] + 0x00000020u;
|
|
/* 02C7E47C */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 02C7E480 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C7E484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[27]);
|
|
/* 02C7E488 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E488 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7E488 */ if (_t4) goto L_02C7E48C; else goto L_02C7E598;
|
|
L_02C7E48C: ; // 0x2c7e48c
|
|
/* 02C7E48C */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C7E490 */ _t5 = cpu->r[25] + cpu->r[0];
|
|
/* 02C7E490 */ cpu->r[19] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E494 */ cpu->r[21] = cpu->r[25] + cpu->r[0];
|
|
/* 02C7E498 */ _t6 = cpu->r[23] + 0x00000104u;
|
|
/* 02C7E498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E49C */ cpu->r[20] = 0x00000000u;
|
|
/* 02C7E4A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[0]);
|
|
/* 02C7E4A4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E4A4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7E4A4 */ if (_t8) goto L_02C7E4A8; else goto L_02C7E4E0;
|
|
L_02C7E4A8: ; // 0x2c7e4a8
|
|
/* 02C7E4A8 */ _t9 = cpu->r[23] + 0x00000108u;
|
|
/* 02C7E4A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7E4AC */ cpu->r[30] = rbrew_rlwinm(cpu->r[20], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C7E4B0 */ _t10 = cpu->r[31] + cpu->r[30];
|
|
/* 02C7E4B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7E4B4 */ cpu->r[4] = cpu->r[19];
|
|
/* 02C7E4B8 */ Gambit_fn_02C83EB8(cpu);
|
|
/* 02C7E4BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7E4C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E4C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7E4C0 */ if (_t12) goto L_02C7E4D8; else goto L_02C7E4C4;
|
|
L_02C7E4C4: ; // 0x2c7e4c4
|
|
/* 02C7E4C4 */ _t13 = cpu->r[23] + 0x00000104u;
|
|
/* 02C7E4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7E4C8 */ cpu->r[20] = cpu->r[20] + 0x00000001u;
|
|
/* 02C7E4CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[0]);
|
|
/* 02C7E4D0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E4D0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C7E4D0 */ if (_t15) goto L_02C7E4A8; else goto L_02C7E4D4;
|
|
L_02C7E4D4: ; // 0x2c7e4d4
|
|
/* 02C7E4D4 */ goto L_02C7E4E0;
|
|
L_02C7E4D8: ; // 0x2c7e4d8
|
|
/* 02C7E4D8 */ cpu->r[9] = cpu->r[31] + cpu->r[30];
|
|
/* 02C7E4D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C7E4DC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E4DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C7E4DC */ if (_t17) goto L_02C7E4E0; else goto L_02C7E4FC;
|
|
L_02C7E4E0: ; // 0x2c7e4e0
|
|
/* 02C7E4E0 */ /* nop */
|
|
/* 02C7E4E4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C7E4E8 */ _t18 = cpu->r[1] + 0x00000094u;
|
|
/* 02C7E4E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C7E4EC */ cpu->lr = cpu->r[0];
|
|
/* 02C7E4F0 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02C7E4F4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7E4F8 */ return;
|
|
L_02C7E4FC: ; // 0x2c7e4fc
|
|
/* 02C7E4FC */ _t19 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C7E4FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7E500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7E504 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E504 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C7E504 */ if (_t21) goto L_02C7E508; else goto L_02C7E520;
|
|
L_02C7E508: ; // 0x2c7e508
|
|
/* 02C7E508 */ /* nop */
|
|
/* 02C7E50C */ _t22 = cpu->r[1] + 0x00000094u;
|
|
/* 02C7E50C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C7E510 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E514 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02C7E518 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7E51C */ return;
|
|
L_02C7E520: ; // 0x2c7e520
|
|
/* 02C7E520 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7E524 */ cpu->r[11] = rbrew_rlwinm(cpu->r[29], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C7E528 */ _t23 = cpu->r[22] + 0x00000020u;
|
|
/* 02C7E528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C7E52C */ cpu->r[5] = cpu->r[5] + 0x00003238u;
|
|
/* 02C7E530 */ cpu->r[7] = 0x00000014u;
|
|
/* 02C7E534 */ _t24 = cpu->r[21] + 0x00000008u;
|
|
/* 02C7E534 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C7E538 */ cpu->r[4] = cpu->r[12] + cpu->r[11];
|
|
/* 02C7E53C */ _t25 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02C7E53C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C7E540 */ cpu->ctr = cpu->r[7];
|
|
/* 02C7E544 */ _t26 = cpu->r[21] + 0x00000004u;
|
|
/* 02C7E544 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C7E548 */ cpu->r[6] = cpu->r[1] + 0x00000004u;
|
|
L_02C7E54C: ; // 0x2c7e54c
|
|
/* 02C7E54C */ _t27 = cpu->r[5] + 0x00000004u;
|
|
/* 02C7E54C */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C7E54C */ cpu->r[5] = _t27;
|
|
/* 02C7E550 */ _t28 = cpu->r[6] + 0x00000004u;
|
|
/* 02C7E550 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 02C7E550 */ cpu->r[6] = _t28;
|
|
/* 02C7E554 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C7E554 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C7E554 */ _t30 = _t29 >> (0x00000002u & 31u);
|
|
/* 02C7E554 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C7E554 */ if (_t31) goto L_02C7E54C; else goto L_02C7E558;
|
|
L_02C7E558: ; // 0x2c7e558
|
|
/* 02C7E558 */ _t32 = cpu->r[4] + 0x00000000u;
|
|
/* 02C7E558 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02C7E55C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C7E560 */ _t33 = cpu->r[4] + 0x00000004u;
|
|
/* 02C7E560 */ rbrew_write32(cpu->mem, _t33, cpu->r[9]);
|
|
/* 02C7E564 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000016u, 0x0000001Du);
|
|
/* 02C7E568 */ _t34 = cpu->r[4] + 0x00000008u;
|
|
/* 02C7E568 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
|
|
/* 02C7E56C */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E570 */ _t35 = cpu->r[4] + 0x00000010u;
|
|
/* 02C7E570 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02C7E574 */ cpu->r[8] = 0x00000003u;
|
|
/* 02C7E578 */ _t36 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C7E578 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 02C7E57C */ _t37 = cpu->r[9] + cpu->r[10];
|
|
/* 02C7E57C */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C7E580 */ _t38 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C7E580 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 02C7E584 */ _t39 = cpu->r[4] + 0x00000018u;
|
|
/* 02C7E584 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02C7E588 */ _t40 = cpu->r[4] + 0x00000014u;
|
|
/* 02C7E588 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02C7E58C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C7E590 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[27]);
|
|
/* 02C7E594 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E594 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C7E594 */ if (_t42) goto L_02C7E48C; else goto L_02C7E598;
|
|
L_02C7E598: ; // 0x2c7e598
|
|
/* 02C7E598 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C7E59C */ _t43 = cpu->r[22] + 0x00000020u;
|
|
/* 02C7E59C */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C7E5A0 */ cpu->r[5] = cpu->r[27];
|
|
/* 02C7E5A4 */ cpu->r[8] = cpu->r[7];
|
|
/* 02C7E5A8 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C7E5AC */ cpu->r[3] = cpu->r[22];
|
|
/* 02C7E5B0 */ rbrew_dispatch(cpu, 0x02d05be0u);
|
|
/* 02C7E5B4 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C7E5B8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C7E5BC */ Gambit_fn_02C7F718(cpu);
|
|
/* 02C7E5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C7E5C4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E5C4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C7E5C4 */ if (_t45) goto L_02C7E5D4; else goto L_02C7E5C8;
|
|
L_02C7E5C8: ; // 0x2c7e5c8
|
|
/* 02C7E5C8 */ _t46 = cpu->r[22] + 0x0000000Cu;
|
|
/* 02C7E5C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C7E5CC */ _t47 = cpu->r[22] + 0x00000008u;
|
|
/* 02C7E5CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C7E5D0 */ Gambit_fn_02C76CCC(cpu);
|
|
L_02C7E5D4: ; // 0x2c7e5d4
|
|
/* 02C7E5D4 */ /* nop */
|
|
/* 02C7E5D8 */ _t48 = cpu->r[1] + 0x00000094u;
|
|
/* 02C7E5D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C7E5DC */ cpu->lr = cpu->r[0];
|
|
/* 02C7E5E0 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02C7E5E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7E5E8 */ return;
|
|
}
|
|
|
|
// fn_02C7E420 @ 0x2c7e420
|
|
void Gambit_fn_02C7E420(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_02C7E420: ; // 0x2c7e420
|
|
/* 02C7E420 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 02C7E420 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E420 */ cpu->r[1] = _t0;
|
|
/* 02C7E424 */ _t1 = cpu->r[1] + 0x00000094u;
|
|
/* 02C7E424 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7E428 */ /* nop */
|
|
/* 02C7E42C */ cpu->r[23] = cpu->r[4];
|
|
/* 02C7E430 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C7E434 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C7E438 */ cpu->r[27] = cpu->r[7];
|
|
/* 02C7E43C */ cpu->r[5] = cpu->r[4];
|
|
/* 02C7E440 */ cpu->r[22] = cpu->r[3];
|
|
/* 02C7E444 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7E448 */ cpu->r[28] = cpu->r[8];
|
|
/* 02C7E44C */ cpu->r[25] = cpu->r[6];
|
|
/* 02C7E450 */ rbrew_dispatch(cpu, 0x02d05860u);
|
|
/* 02C7E454 */ cpu->r[24] = cpu->r[3];
|
|
/* 02C7E458 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C7E45C */ cpu->r[4] = cpu->r[24];
|
|
/* 02C7E460 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7E464 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7E468 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C7E46C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C7E470 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7E474 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C7E478 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7E47C */ _t2 = cpu->r[22] + 0x00000020u;
|
|
/* 02C7E47C */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 02C7E480 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C7E484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[27]);
|
|
/* 02C7E488 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E488 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7E488 */ if (_t4) goto L_02C7E48C; else goto L_02C7E598;
|
|
L_02C7E48C: ; // 0x2c7e48c
|
|
/* 02C7E48C */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C7E490 */ _t5 = cpu->r[25] + cpu->r[0];
|
|
/* 02C7E490 */ cpu->r[19] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E494 */ cpu->r[21] = cpu->r[25] + cpu->r[0];
|
|
/* 02C7E498 */ _t6 = cpu->r[23] + 0x00000104u;
|
|
/* 02C7E498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E49C */ cpu->r[20] = 0x00000000u;
|
|
/* 02C7E4A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[0]);
|
|
/* 02C7E4A4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E4A4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7E4A4 */ if (_t8) goto L_02C7E4A8; else goto L_02C7E4E0;
|
|
L_02C7E4A8: ; // 0x2c7e4a8
|
|
/* 02C7E4A8 */ _t9 = cpu->r[23] + 0x00000108u;
|
|
/* 02C7E4A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7E4AC */ cpu->r[30] = rbrew_rlwinm(cpu->r[20], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C7E4B0 */ _t10 = cpu->r[31] + cpu->r[30];
|
|
/* 02C7E4B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7E4B4 */ cpu->r[4] = cpu->r[19];
|
|
/* 02C7E4B8 */ Gambit_fn_02C83EB8(cpu);
|
|
/* 02C7E4BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7E4C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E4C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7E4C0 */ if (_t12) goto L_02C7E4D8; else goto L_02C7E4C4;
|
|
L_02C7E4C4: ; // 0x2c7e4c4
|
|
/* 02C7E4C4 */ _t13 = cpu->r[23] + 0x00000104u;
|
|
/* 02C7E4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7E4C8 */ cpu->r[20] = cpu->r[20] + 0x00000001u;
|
|
/* 02C7E4CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[0]);
|
|
/* 02C7E4D0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E4D0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C7E4D0 */ if (_t15) goto L_02C7E4A8; else goto L_02C7E4D4;
|
|
L_02C7E4D4: ; // 0x2c7e4d4
|
|
/* 02C7E4D4 */ goto L_02C7E4E0;
|
|
L_02C7E4D8: ; // 0x2c7e4d8
|
|
/* 02C7E4D8 */ cpu->r[9] = cpu->r[31] + cpu->r[30];
|
|
/* 02C7E4D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C7E4DC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E4DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C7E4DC */ if (_t17) goto L_02C7E4E0; else goto L_02C7E4FC;
|
|
L_02C7E4E0: ; // 0x2c7e4e0
|
|
/* 02C7E4E0 */ /* nop */
|
|
/* 02C7E4E4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C7E4E8 */ _t18 = cpu->r[1] + 0x00000094u;
|
|
/* 02C7E4E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C7E4EC */ cpu->lr = cpu->r[0];
|
|
/* 02C7E4F0 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02C7E4F4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7E4F8 */ return;
|
|
L_02C7E4FC: ; // 0x2c7e4fc
|
|
/* 02C7E4FC */ _t19 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C7E4FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7E500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7E504 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E504 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C7E504 */ if (_t21) goto L_02C7E508; else goto L_02C7E520;
|
|
L_02C7E508: ; // 0x2c7e508
|
|
/* 02C7E508 */ /* nop */
|
|
/* 02C7E50C */ _t22 = cpu->r[1] + 0x00000094u;
|
|
/* 02C7E50C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C7E510 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E514 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02C7E518 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7E51C */ return;
|
|
L_02C7E520: ; // 0x2c7e520
|
|
/* 02C7E520 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7E524 */ cpu->r[11] = rbrew_rlwinm(cpu->r[29], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C7E528 */ _t23 = cpu->r[22] + 0x00000020u;
|
|
/* 02C7E528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C7E52C */ cpu->r[5] = cpu->r[5] + 0x00003238u;
|
|
/* 02C7E530 */ cpu->r[7] = 0x00000014u;
|
|
/* 02C7E534 */ _t24 = cpu->r[21] + 0x00000008u;
|
|
/* 02C7E534 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C7E538 */ cpu->r[4] = cpu->r[12] + cpu->r[11];
|
|
/* 02C7E53C */ _t25 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02C7E53C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C7E540 */ cpu->ctr = cpu->r[7];
|
|
/* 02C7E544 */ _t26 = cpu->r[21] + 0x00000004u;
|
|
/* 02C7E544 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C7E548 */ cpu->r[6] = cpu->r[1] + 0x00000004u;
|
|
L_02C7E54C: ; // 0x2c7e54c
|
|
/* 02C7E54C */ _t27 = cpu->r[5] + 0x00000004u;
|
|
/* 02C7E54C */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C7E54C */ cpu->r[5] = _t27;
|
|
/* 02C7E550 */ _t28 = cpu->r[6] + 0x00000004u;
|
|
/* 02C7E550 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 02C7E550 */ cpu->r[6] = _t28;
|
|
/* 02C7E554 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C7E554 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C7E554 */ _t30 = _t29 >> (0x00000002u & 31u);
|
|
/* 02C7E554 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C7E554 */ if (_t31) goto L_02C7E54C; else goto L_02C7E558;
|
|
L_02C7E558: ; // 0x2c7e558
|
|
/* 02C7E558 */ _t32 = cpu->r[4] + 0x00000000u;
|
|
/* 02C7E558 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02C7E55C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C7E560 */ _t33 = cpu->r[4] + 0x00000004u;
|
|
/* 02C7E560 */ rbrew_write32(cpu->mem, _t33, cpu->r[9]);
|
|
/* 02C7E564 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000016u, 0x0000001Du);
|
|
/* 02C7E568 */ _t34 = cpu->r[4] + 0x00000008u;
|
|
/* 02C7E568 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
|
|
/* 02C7E56C */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E570 */ _t35 = cpu->r[4] + 0x00000010u;
|
|
/* 02C7E570 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02C7E574 */ cpu->r[8] = 0x00000003u;
|
|
/* 02C7E578 */ _t36 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C7E578 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 02C7E57C */ _t37 = cpu->r[9] + cpu->r[10];
|
|
/* 02C7E57C */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C7E580 */ _t38 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C7E580 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 02C7E584 */ _t39 = cpu->r[4] + 0x00000018u;
|
|
/* 02C7E584 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02C7E588 */ _t40 = cpu->r[4] + 0x00000014u;
|
|
/* 02C7E588 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02C7E58C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C7E590 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[27]);
|
|
/* 02C7E594 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E594 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C7E594 */ if (_t42) goto L_02C7E48C; else goto L_02C7E598;
|
|
L_02C7E598: ; // 0x2c7e598
|
|
/* 02C7E598 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C7E59C */ _t43 = cpu->r[22] + 0x00000020u;
|
|
/* 02C7E59C */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C7E5A0 */ cpu->r[5] = cpu->r[27];
|
|
/* 02C7E5A4 */ cpu->r[8] = cpu->r[7];
|
|
/* 02C7E5A8 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C7E5AC */ cpu->r[3] = cpu->r[22];
|
|
/* 02C7E5B0 */ rbrew_dispatch(cpu, 0x02d05be0u);
|
|
/* 02C7E5B4 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C7E5B8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C7E5BC */ Gambit_fn_02C7F718(cpu);
|
|
/* 02C7E5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C7E5C4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E5C4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C7E5C4 */ if (_t45) goto L_02C7E5D4; else goto L_02C7E5C8;
|
|
L_02C7E5C8: ; // 0x2c7e5c8
|
|
/* 02C7E5C8 */ _t46 = cpu->r[22] + 0x0000000Cu;
|
|
/* 02C7E5C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C7E5CC */ _t47 = cpu->r[22] + 0x00000008u;
|
|
/* 02C7E5CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C7E5D0 */ Gambit_fn_02C76CCC(cpu);
|
|
L_02C7E5D4: ; // 0x2c7e5d4
|
|
/* 02C7E5D4 */ /* nop */
|
|
/* 02C7E5D8 */ _t48 = cpu->r[1] + 0x00000094u;
|
|
/* 02C7E5D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C7E5DC */ cpu->lr = cpu->r[0];
|
|
/* 02C7E5E0 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02C7E5E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7E5E8 */ return;
|
|
}
|
|
|
|
// fn_02C7E5EC @ 0x2c7e5ec
|
|
void Gambit_fn_02C7E5EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C7E5EC: ; // 0x2c7e5ec
|
|
/* 02C7E5EC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C7E5EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E5EC */ cpu->r[1] = _t0;
|
|
/* 02C7E5F0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E5F4 */ /* nop */
|
|
/* 02C7E5F8 */ cpu->r[26] = cpu->r[5];
|
|
/* 02C7E5FC */ cpu->r[25] = cpu->r[3];
|
|
/* 02C7E600 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C7E604 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C7E608 */ cpu->r[28] = cpu->r[6];
|
|
/* 02C7E60C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7E60C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7E610 */ cpu->r[29] = cpu->r[7];
|
|
/* 02C7E614 */ Gambit_fn_02C683EC(cpu);
|
|
/* 02C7E618 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[3]);
|
|
/* 02C7E61C */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E61C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7E61C */ if (_t3) goto L_02C7E620; else goto L_02C7E698;
|
|
L_02C7E620: ; // 0x2c7e620
|
|
/* 02C7E620 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7E624 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C7E628 */ Gambit_fn_02C684E8(cpu);
|
|
/* 02C7E62C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7E630 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7E634 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C7E638 */ Gambit_fn_02C68508(cpu);
|
|
/* 02C7E63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7E640 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7E644 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E644 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7E644 */ if (_t5) goto L_02C7E698; else goto L_02C7E648;
|
|
L_02C7E648: ; // 0x2c7e648
|
|
/* 02C7E648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C7E64C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E64C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7E64C */ if (_t7) goto L_02C7E698; else goto L_02C7E650;
|
|
L_02C7E650: ; // 0x2c7e650
|
|
/* 02C7E650 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7E654 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7E658 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C7E65C */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7E660 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7E664 */ cpu->r[3] = cpu->r[27] + 0x00000008u;
|
|
/* 02C7E668 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7E66C */ cpu->r[5] = 0x00000100u;
|
|
/* 02C7E670 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7E674 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7E678 */ cpu->r[5] = cpu->r[28];
|
|
/* 02C7E67C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7E680 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C7E684 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C7E688 */ Gambit_fn_02C68798(cpu);
|
|
/* 02C7E68C */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C7E690 */ cpu->r[0] = cpu->r[3] - cpu->r[0];
|
|
/* 02C7E690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7E694 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E694 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7E694 */ if (_t9) goto L_02C7E698; else goto L_02C7E6B0;
|
|
L_02C7E698: ; // 0x2c7e698
|
|
/* 02C7E698 */ /* nop */
|
|
/* 02C7E69C */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7E69C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7E6A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E6A4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7E6A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7E6AC */ return;
|
|
L_02C7E6B0: ; // 0x2c7e6b0
|
|
/* 02C7E6B0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7E6B4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7E6B8 */ Gambit_fn_02C7F718(cpu);
|
|
/* 02C7E6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C7E6C0 */ _t11 = cpu->r[25] + 0x00000000u;
|
|
/* 02C7E6C0 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02C7E6C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E6C4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C7E6C4 */ if (_t13) goto L_02C7E6D4; else goto L_02C7E6C8;
|
|
L_02C7E6C8: ; // 0x2c7e6c8
|
|
/* 02C7E6C8 */ _t14 = cpu->r[31] + 0x000000A8u;
|
|
/* 02C7E6C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7E6CC */ _t15 = cpu->r[31] + 0x000000A4u;
|
|
/* 02C7E6CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7E6D0 */ Gambit_fn_02C76CCC(cpu);
|
|
L_02C7E6D4: ; // 0x2c7e6d4
|
|
/* 02C7E6D4 */ /* nop */
|
|
/* 02C7E6D8 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7E6D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7E6DC */ cpu->lr = cpu->r[0];
|
|
/* 02C7E6E0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7E6E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7E6E8 */ return;
|
|
}
|
|
|
|
// fn_02C7E6EC @ 0x2c7e6ec
|
|
void Gambit_fn_02C7E6EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C7E5EC: ; // 0x2c7e5ec
|
|
/* 02C7E5EC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C7E5EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E5EC */ cpu->r[1] = _t0;
|
|
/* 02C7E5F0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E5F4 */ /* nop */
|
|
/* 02C7E5F8 */ cpu->r[26] = cpu->r[5];
|
|
/* 02C7E5FC */ cpu->r[25] = cpu->r[3];
|
|
/* 02C7E600 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C7E604 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C7E608 */ cpu->r[28] = cpu->r[6];
|
|
/* 02C7E60C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7E60C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7E610 */ cpu->r[29] = cpu->r[7];
|
|
/* 02C7E614 */ Gambit_fn_02C683EC(cpu);
|
|
/* 02C7E618 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[3]);
|
|
/* 02C7E61C */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E61C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7E61C */ if (_t3) goto L_02C7E620; else goto L_02C7E698;
|
|
L_02C7E620: ; // 0x2c7e620
|
|
/* 02C7E620 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7E624 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C7E628 */ Gambit_fn_02C684E8(cpu);
|
|
/* 02C7E62C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7E630 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7E634 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C7E638 */ Gambit_fn_02C68508(cpu);
|
|
/* 02C7E63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7E640 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7E644 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E644 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7E644 */ if (_t5) goto L_02C7E698; else goto L_02C7E648;
|
|
L_02C7E648: ; // 0x2c7e648
|
|
/* 02C7E648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C7E64C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E64C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7E64C */ if (_t7) goto L_02C7E698; else goto L_02C7E650;
|
|
L_02C7E650: ; // 0x2c7e650
|
|
/* 02C7E650 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7E654 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7E658 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C7E65C */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7E660 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7E664 */ cpu->r[3] = cpu->r[27] + 0x00000008u;
|
|
/* 02C7E668 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7E66C */ cpu->r[5] = 0x00000100u;
|
|
/* 02C7E670 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7E674 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7E678 */ cpu->r[5] = cpu->r[28];
|
|
/* 02C7E67C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7E680 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C7E684 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C7E688 */ Gambit_fn_02C68798(cpu);
|
|
/* 02C7E68C */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C7E690 */ cpu->r[0] = cpu->r[3] - cpu->r[0];
|
|
/* 02C7E690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7E694 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E694 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7E694 */ if (_t9) goto L_02C7E698; else goto L_02C7E6B0;
|
|
L_02C7E698: ; // 0x2c7e698
|
|
/* 02C7E698 */ /* nop */
|
|
/* 02C7E69C */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7E69C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7E6A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E6A4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7E6A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7E6AC */ return;
|
|
L_02C7E6B0: ; // 0x2c7e6b0
|
|
/* 02C7E6B0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7E6B4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7E6B8 */ Gambit_fn_02C7F718(cpu);
|
|
/* 02C7E6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C7E6C0 */ _t11 = cpu->r[25] + 0x00000000u;
|
|
/* 02C7E6C0 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02C7E6C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E6C4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C7E6C4 */ if (_t13) goto L_02C7E6D4; else goto L_02C7E6C8;
|
|
L_02C7E6C8: ; // 0x2c7e6c8
|
|
/* 02C7E6C8 */ _t14 = cpu->r[31] + 0x000000A8u;
|
|
/* 02C7E6C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7E6CC */ _t15 = cpu->r[31] + 0x000000A4u;
|
|
/* 02C7E6CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7E6D0 */ Gambit_fn_02C76CCC(cpu);
|
|
L_02C7E6D4: ; // 0x2c7e6d4
|
|
/* 02C7E6D4 */ /* nop */
|
|
/* 02C7E6D8 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7E6D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7E6DC */ cpu->lr = cpu->r[0];
|
|
/* 02C7E6E0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7E6E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7E6E8 */ return;
|
|
L_02C7E6EC: ; // 0x2c7e6ec
|
|
/* 02C7E6EC */ goto L_02C7E5EC;
|
|
}
|
|
|
|
// fn_02C7E6F0 @ 0x2c7e6f0
|
|
void Gambit_fn_02C7E6F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C7E6F0: ; // 0x2c7e6f0
|
|
/* 02C7E6F0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C7E6F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E6F0 */ cpu->r[1] = _t0;
|
|
/* 02C7E6F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E6F8 */ /* nop */
|
|
/* 02C7E6FC */ cpu->r[26] = cpu->r[5];
|
|
/* 02C7E700 */ cpu->r[25] = cpu->r[3];
|
|
/* 02C7E704 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C7E708 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C7E70C */ cpu->r[28] = cpu->r[6];
|
|
/* 02C7E710 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7E710 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7E714 */ cpu->r[29] = cpu->r[7];
|
|
/* 02C7E718 */ Gambit_fn_02C683E0(cpu);
|
|
/* 02C7E71C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[3]);
|
|
/* 02C7E720 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E720 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7E720 */ if (_t3) goto L_02C7E724; else goto L_02C7E79C;
|
|
L_02C7E724: ; // 0x2c7e724
|
|
/* 02C7E724 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7E728 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C7E72C */ Gambit_fn_02C684D8(cpu);
|
|
/* 02C7E730 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7E734 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7E738 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C7E73C */ Gambit_fn_02C684F8(cpu);
|
|
/* 02C7E740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7E744 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7E748 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E748 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7E748 */ if (_t5) goto L_02C7E79C; else goto L_02C7E74C;
|
|
L_02C7E74C: ; // 0x2c7e74c
|
|
/* 02C7E74C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C7E750 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E750 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7E750 */ if (_t7) goto L_02C7E79C; else goto L_02C7E754;
|
|
L_02C7E754: ; // 0x2c7e754
|
|
/* 02C7E754 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7E758 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7E75C */ cpu->r[5] = 0x00000004u;
|
|
/* 02C7E760 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7E764 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7E768 */ cpu->r[3] = cpu->r[27] + 0x00000008u;
|
|
/* 02C7E76C */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7E770 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C7E774 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7E778 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7E77C */ cpu->r[5] = cpu->r[28];
|
|
/* 02C7E780 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7E784 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C7E788 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C7E78C */ Gambit_fn_02C685E4(cpu);
|
|
/* 02C7E790 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C7E794 */ cpu->r[0] = cpu->r[3] - cpu->r[0];
|
|
/* 02C7E794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7E798 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E798 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7E798 */ if (_t9) goto L_02C7E79C; else goto L_02C7E7B4;
|
|
L_02C7E79C: ; // 0x2c7e79c
|
|
/* 02C7E79C */ /* nop */
|
|
/* 02C7E7A0 */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7E7A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7E7A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E7A8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7E7AC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7E7B0 */ return;
|
|
L_02C7E7B4: ; // 0x2c7e7b4
|
|
/* 02C7E7B4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7E7B8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7E7BC */ Gambit_fn_02C7F718(cpu);
|
|
/* 02C7E7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C7E7C4 */ _t11 = cpu->r[25] + 0x00000000u;
|
|
/* 02C7E7C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02C7E7C8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E7C8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C7E7C8 */ if (_t13) goto L_02C7E7D8; else goto L_02C7E7CC;
|
|
L_02C7E7CC: ; // 0x2c7e7cc
|
|
/* 02C7E7CC */ _t14 = cpu->r[31] + 0x000000D4u;
|
|
/* 02C7E7CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7E7D0 */ _t15 = cpu->r[31] + 0x000000D0u;
|
|
/* 02C7E7D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7E7D4 */ Gambit_fn_02C76CCC(cpu);
|
|
L_02C7E7D8: ; // 0x2c7e7d8
|
|
/* 02C7E7D8 */ /* nop */
|
|
/* 02C7E7DC */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7E7DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7E7E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E7E4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7E7E8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7E7EC */ return;
|
|
}
|
|
|
|
// fn_02C7E7F0 @ 0x2c7e7f0
|
|
void Gambit_fn_02C7E7F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C7E6F0: ; // 0x2c7e6f0
|
|
/* 02C7E6F0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C7E6F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E6F0 */ cpu->r[1] = _t0;
|
|
/* 02C7E6F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E6F8 */ /* nop */
|
|
/* 02C7E6FC */ cpu->r[26] = cpu->r[5];
|
|
/* 02C7E700 */ cpu->r[25] = cpu->r[3];
|
|
/* 02C7E704 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C7E708 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C7E70C */ cpu->r[28] = cpu->r[6];
|
|
/* 02C7E710 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7E710 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7E714 */ cpu->r[29] = cpu->r[7];
|
|
/* 02C7E718 */ Gambit_fn_02C683E0(cpu);
|
|
/* 02C7E71C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[3]);
|
|
/* 02C7E720 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E720 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7E720 */ if (_t3) goto L_02C7E724; else goto L_02C7E79C;
|
|
L_02C7E724: ; // 0x2c7e724
|
|
/* 02C7E724 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7E728 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C7E72C */ Gambit_fn_02C684D8(cpu);
|
|
/* 02C7E730 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7E734 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7E738 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C7E73C */ Gambit_fn_02C684F8(cpu);
|
|
/* 02C7E740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7E744 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7E748 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E748 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7E748 */ if (_t5) goto L_02C7E79C; else goto L_02C7E74C;
|
|
L_02C7E74C: ; // 0x2c7e74c
|
|
/* 02C7E74C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C7E750 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E750 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7E750 */ if (_t7) goto L_02C7E79C; else goto L_02C7E754;
|
|
L_02C7E754: ; // 0x2c7e754
|
|
/* 02C7E754 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7E758 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7E75C */ cpu->r[5] = 0x00000004u;
|
|
/* 02C7E760 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7E764 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7E768 */ cpu->r[3] = cpu->r[27] + 0x00000008u;
|
|
/* 02C7E76C */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7E770 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C7E774 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7E778 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7E77C */ cpu->r[5] = cpu->r[28];
|
|
/* 02C7E780 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7E784 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C7E788 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C7E78C */ Gambit_fn_02C685E4(cpu);
|
|
/* 02C7E790 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C7E794 */ cpu->r[0] = cpu->r[3] - cpu->r[0];
|
|
/* 02C7E794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7E798 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E798 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7E798 */ if (_t9) goto L_02C7E79C; else goto L_02C7E7B4;
|
|
L_02C7E79C: ; // 0x2c7e79c
|
|
/* 02C7E79C */ /* nop */
|
|
/* 02C7E7A0 */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7E7A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7E7A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E7A8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7E7AC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7E7B0 */ return;
|
|
L_02C7E7B4: ; // 0x2c7e7b4
|
|
/* 02C7E7B4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C7E7B8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7E7BC */ Gambit_fn_02C7F718(cpu);
|
|
/* 02C7E7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C7E7C4 */ _t11 = cpu->r[25] + 0x00000000u;
|
|
/* 02C7E7C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02C7E7C8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E7C8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C7E7C8 */ if (_t13) goto L_02C7E7D8; else goto L_02C7E7CC;
|
|
L_02C7E7CC: ; // 0x2c7e7cc
|
|
/* 02C7E7CC */ _t14 = cpu->r[31] + 0x000000D4u;
|
|
/* 02C7E7CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7E7D0 */ _t15 = cpu->r[31] + 0x000000D0u;
|
|
/* 02C7E7D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7E7D4 */ Gambit_fn_02C76CCC(cpu);
|
|
L_02C7E7D8: ; // 0x2c7e7d8
|
|
/* 02C7E7D8 */ /* nop */
|
|
/* 02C7E7DC */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7E7DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7E7E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E7E4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7E7E8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7E7EC */ return;
|
|
L_02C7E7F0: ; // 0x2c7e7f0
|
|
/* 02C7E7F0 */ goto L_02C7E6F0;
|
|
}
|
|
|
|
// fn_02C7E7F4 @ 0x2c7e7f4
|
|
void Gambit_fn_02C7E7F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C7E7F4: ; // 0x2c7e7f4
|
|
/* 02C7E7F4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7E7F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E7F4 */ cpu->r[1] = _t0;
|
|
/* 02C7E7F8 */ /* nop */
|
|
/* 02C7E7FC */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E800 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7E800 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7E804 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C7E808 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7E80C */ _t2 = cpu->r[28] + 0x000000B8u;
|
|
/* 02C7E80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7E810 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C7E814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C7E818 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7E81C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E81C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7E81C */ if (_t4) goto L_02C7E820; else goto L_02C7E864;
|
|
L_02C7E820: ; // 0x2c7e820
|
|
/* 02C7E820 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000014u);
|
|
/* 02C7E824 */ _t5 = cpu->r[28] + 0x000000BCu;
|
|
/* 02C7E824 */ cpu->r[26] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E828 */ _t6 = cpu->r[26] + cpu->r[31];
|
|
/* 02C7E828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E82C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7E830 */ Gambit_fn_02C83EB8(cpu);
|
|
/* 02C7E834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7E838 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E838 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7E838 */ if (_t8) goto L_02C7E850; else goto L_02C7E83C;
|
|
L_02C7E83C: ; // 0x2c7e83c
|
|
/* 02C7E83C */ _t9 = cpu->r[28] + 0x000000B8u;
|
|
/* 02C7E83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7E840 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C7E844 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C7E848 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E848 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7E848 */ if (_t11) goto L_02C7E820; else goto L_02C7E84C;
|
|
L_02C7E84C: ; // 0x2c7e84c
|
|
/* 02C7E84C */ goto L_02C7E864;
|
|
L_02C7E850: ; // 0x2c7e850
|
|
/* 02C7E850 */ cpu->r[12] = cpu->r[26] + cpu->r[31];
|
|
/* 02C7E850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C7E854 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E854 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C7E854 */ if (_t13) goto L_02C7E864; else goto L_02C7E858;
|
|
L_02C7E858: ; // 0x2c7e858
|
|
/* 02C7E858 */ _t14 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C7E858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7E85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7E860 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E860 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C7E860 */ if (_t16) goto L_02C7E864; else goto L_02C7E86C;
|
|
L_02C7E864: ; // 0x2c7e864
|
|
/* 02C7E864 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7E868 */ goto L_02C7E874;
|
|
L_02C7E86C: ; // 0x2c7e86c
|
|
/* 02C7E86C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7E870 */ _t17 = cpu->r[27] + 0x00000000u;
|
|
/* 02C7E870 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_02C7E874: ; // 0x2c7e874
|
|
/* 02C7E874 */ /* nop */
|
|
/* 02C7E878 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7E878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C7E87C */ cpu->lr = cpu->r[0];
|
|
/* 02C7E880 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7E884 */ return;
|
|
}
|
|
|
|
// fn_02C7E888 @ 0x2c7e888
|
|
void Gambit_fn_02C7E888(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C7E888: ; // 0x2c7e888
|
|
/* 02C7E888 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7E888 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E888 */ cpu->r[1] = _t0;
|
|
/* 02C7E88C */ /* nop */
|
|
/* 02C7E890 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E894 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7E894 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7E898 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C7E89C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7E8A0 */ _t2 = cpu->r[28] + 0x000000E4u;
|
|
/* 02C7E8A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7E8A4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C7E8A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C7E8AC */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7E8B0 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E8B0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7E8B0 */ if (_t4) goto L_02C7E8B4; else goto L_02C7E8F8;
|
|
L_02C7E8B4: ; // 0x2c7e8b4
|
|
/* 02C7E8B4 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000014u);
|
|
/* 02C7E8B8 */ _t5 = cpu->r[28] + 0x000000E8u;
|
|
/* 02C7E8B8 */ cpu->r[26] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E8BC */ _t6 = cpu->r[26] + cpu->r[31];
|
|
/* 02C7E8BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E8C0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7E8C4 */ Gambit_fn_02C83EB8(cpu);
|
|
/* 02C7E8C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7E8CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E8CC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7E8CC */ if (_t8) goto L_02C7E8E4; else goto L_02C7E8D0;
|
|
L_02C7E8D0: ; // 0x2c7e8d0
|
|
/* 02C7E8D0 */ _t9 = cpu->r[28] + 0x000000E4u;
|
|
/* 02C7E8D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7E8D4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C7E8D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C7E8DC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E8DC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7E8DC */ if (_t11) goto L_02C7E8B4; else goto L_02C7E8E0;
|
|
L_02C7E8E0: ; // 0x2c7e8e0
|
|
/* 02C7E8E0 */ goto L_02C7E8F8;
|
|
L_02C7E8E4: ; // 0x2c7e8e4
|
|
/* 02C7E8E4 */ cpu->r[12] = cpu->r[26] + cpu->r[31];
|
|
/* 02C7E8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C7E8E8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E8E8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C7E8E8 */ if (_t13) goto L_02C7E8F8; else goto L_02C7E8EC;
|
|
L_02C7E8EC: ; // 0x2c7e8ec
|
|
/* 02C7E8EC */ _t14 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C7E8EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7E8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7E8F4 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E8F4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C7E8F4 */ if (_t16) goto L_02C7E8F8; else goto L_02C7E900;
|
|
L_02C7E8F8: ; // 0x2c7e8f8
|
|
/* 02C7E8F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7E8FC */ goto L_02C7E908;
|
|
L_02C7E900: ; // 0x2c7e900
|
|
/* 02C7E900 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7E904 */ _t17 = cpu->r[27] + 0x00000000u;
|
|
/* 02C7E904 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_02C7E908: ; // 0x2c7e908
|
|
/* 02C7E908 */ /* nop */
|
|
/* 02C7E90C */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7E90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C7E910 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E914 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7E918 */ return;
|
|
}
|
|
|
|
// fn_02C7E91C @ 0x2c7e91c
|
|
void Gambit_fn_02C7E91C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C7E91C: ; // 0x2c7e91c
|
|
/* 02C7E91C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7E91C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E91C */ cpu->r[1] = _t0;
|
|
/* 02C7E920 */ /* nop */
|
|
/* 02C7E924 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E928 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7E928 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7E92C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C7E930 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7E934 */ _t2 = cpu->r[28] + 0x000000B0u;
|
|
/* 02C7E934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7E938 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C7E93C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C7E940 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7E944 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E944 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7E944 */ if (_t4) goto L_02C7E948; else goto L_02C7E99C;
|
|
L_02C7E948: ; // 0x2c7e948
|
|
/* 02C7E948 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x0000000Cu);
|
|
/* 02C7E94C */ _t5 = cpu->r[28] + 0x000000B4u;
|
|
/* 02C7E94C */ cpu->r[26] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E950 */ _t6 = cpu->r[26] + cpu->r[31];
|
|
/* 02C7E950 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E954 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7E958 */ Gambit_fn_02C83EB8(cpu);
|
|
/* 02C7E95C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7E960 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E960 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7E960 */ if (_t8) goto L_02C7E964; else goto L_02C7E98C;
|
|
L_02C7E964: ; // 0x2c7e964
|
|
/* 02C7E964 */ cpu->r[12] = cpu->r[26] + cpu->r[31];
|
|
/* 02C7E964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C7E968 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E968 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C7E968 */ if (_t10) goto L_02C7E9A0; else goto L_02C7E96C;
|
|
L_02C7E96C: ; // 0x2c7e96c
|
|
/* 02C7E96C */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7E96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7E970 */ _t12 = cpu->r[27] + 0x00000000u;
|
|
/* 02C7E970 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C7E974 */ /* nop */
|
|
/* 02C7E978 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7E978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7E97C */ cpu->lr = cpu->r[0];
|
|
/* 02C7E980 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7E984 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7E988 */ return;
|
|
L_02C7E98C: ; // 0x2c7e98c
|
|
/* 02C7E98C */ _t14 = cpu->r[28] + 0x000000B0u;
|
|
/* 02C7E98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7E990 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C7E994 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C7E998 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E998 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C7E998 */ if (_t16) goto L_02C7E948; else goto L_02C7E99C;
|
|
L_02C7E99C: ; // 0x2c7e99c
|
|
/* 02C7E99C */ cpu->r[12] = 0x00000000u;
|
|
L_02C7E9A0: ; // 0x2c7e9a0
|
|
/* 02C7E9A0 */ /* nop */
|
|
/* 02C7E9A4 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7E9A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C7E9A8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E9AC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7E9B0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C7E9B4 */ return;
|
|
}
|
|
|
|
// fn_02C7E9B8 @ 0x2c7e9b8
|
|
void Gambit_fn_02C7E9B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C7E9B8: ; // 0x2c7e9b8
|
|
/* 02C7E9B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7E9B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E9B8 */ cpu->r[1] = _t0;
|
|
/* 02C7E9BC */ /* nop */
|
|
/* 02C7E9C0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E9C4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7E9C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7E9C8 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C7E9CC */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7E9D0 */ _t2 = cpu->r[28] + 0x000000DCu;
|
|
/* 02C7E9D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7E9D4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C7E9D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C7E9DC */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7E9E0 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7E9E0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7E9E0 */ if (_t4) goto L_02C7E9E4; else goto L_02C7EA38;
|
|
L_02C7E9E4: ; // 0x2c7e9e4
|
|
/* 02C7E9E4 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x0000000Cu);
|
|
/* 02C7E9E8 */ _t5 = cpu->r[28] + 0x000000E0u;
|
|
/* 02C7E9E8 */ cpu->r[26] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E9EC */ _t6 = cpu->r[26] + cpu->r[31];
|
|
/* 02C7E9EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E9F0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7E9F4 */ Gambit_fn_02C83EB8(cpu);
|
|
/* 02C7E9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7E9FC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7E9FC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7E9FC */ if (_t8) goto L_02C7EA00; else goto L_02C7EA28;
|
|
L_02C7EA00: ; // 0x2c7ea00
|
|
/* 02C7EA00 */ cpu->r[12] = cpu->r[26] + cpu->r[31];
|
|
/* 02C7EA00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C7EA04 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EA04 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C7EA04 */ if (_t10) goto L_02C7EA3C; else goto L_02C7EA08;
|
|
L_02C7EA08: ; // 0x2c7ea08
|
|
/* 02C7EA08 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7EA08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7EA0C */ _t12 = cpu->r[27] + 0x00000000u;
|
|
/* 02C7EA0C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C7EA10 */ /* nop */
|
|
/* 02C7EA14 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7EA14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7EA18 */ cpu->lr = cpu->r[0];
|
|
/* 02C7EA1C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7EA20 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7EA24 */ return;
|
|
L_02C7EA28: ; // 0x2c7ea28
|
|
/* 02C7EA28 */ _t14 = cpu->r[28] + 0x000000DCu;
|
|
/* 02C7EA28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7EA2C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C7EA30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C7EA34 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7EA34 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C7EA34 */ if (_t16) goto L_02C7E9E4; else goto L_02C7EA38;
|
|
L_02C7EA38: ; // 0x2c7ea38
|
|
/* 02C7EA38 */ cpu->r[12] = 0x00000000u;
|
|
L_02C7EA3C: ; // 0x2c7ea3c
|
|
/* 02C7EA3C */ /* nop */
|
|
/* 02C7EA40 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7EA40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C7EA44 */ cpu->lr = cpu->r[0];
|
|
/* 02C7EA48 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7EA4C */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C7EA50 */ return;
|
|
}
|
|
|
|
// fn_02C7EA54 @ 0x2c7ea54
|
|
void Gambit_fn_02C7EA54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C7EA54: ; // 0x2c7ea54
|
|
/* 02C7EA54 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7EA54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7EA54 */ cpu->r[1] = _t0;
|
|
/* 02C7EA58 */ /* nop */
|
|
/* 02C7EA5C */ cpu->r[0] = cpu->lr;
|
|
/* 02C7EA60 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7EA60 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7EA64 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C7EA68 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7EA6C */ _t2 = cpu->r[28] + 0x000000D0u;
|
|
/* 02C7EA6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7EA70 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C7EA74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C7EA78 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7EA7C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7EA7C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7EA7C */ if (_t4) goto L_02C7EA80; else goto L_02C7EAC4;
|
|
L_02C7EA80: ; // 0x2c7ea80
|
|
/* 02C7EA80 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x0000000Cu);
|
|
/* 02C7EA84 */ _t5 = cpu->r[28] + 0x000000D4u;
|
|
/* 02C7EA84 */ cpu->r[26] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7EA88 */ _t6 = cpu->r[26] + cpu->r[31];
|
|
/* 02C7EA88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7EA8C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7EA90 */ Gambit_fn_02C83EB8(cpu);
|
|
/* 02C7EA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7EA98 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EA98 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7EA98 */ if (_t8) goto L_02C7EAB0; else goto L_02C7EA9C;
|
|
L_02C7EA9C: ; // 0x2c7ea9c
|
|
/* 02C7EA9C */ _t9 = cpu->r[28] + 0x000000D0u;
|
|
/* 02C7EA9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7EAA0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C7EAA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C7EAA8 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7EAA8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7EAA8 */ if (_t11) goto L_02C7EA80; else goto L_02C7EAAC;
|
|
L_02C7EAAC: ; // 0x2c7eaac
|
|
/* 02C7EAAC */ goto L_02C7EAC4;
|
|
L_02C7EAB0: ; // 0x2c7eab0
|
|
/* 02C7EAB0 */ cpu->r[12] = cpu->r[26] + cpu->r[31];
|
|
/* 02C7EAB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C7EAB4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EAB4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C7EAB4 */ if (_t13) goto L_02C7EAC4; else goto L_02C7EAB8;
|
|
L_02C7EAB8: ; // 0x2c7eab8
|
|
/* 02C7EAB8 */ _t14 = cpu->r[12] + 0x00000008u;
|
|
/* 02C7EAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7EABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7EAC0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7EAC0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C7EAC0 */ if (_t16) goto L_02C7EAC4; else goto L_02C7EACC;
|
|
L_02C7EAC4: ; // 0x2c7eac4
|
|
/* 02C7EAC4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7EAC8 */ goto L_02C7EAD4;
|
|
L_02C7EACC: ; // 0x2c7eacc
|
|
/* 02C7EACC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7EAD0 */ _t17 = cpu->r[27] + 0x00000000u;
|
|
/* 02C7EAD0 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_02C7EAD4: ; // 0x2c7ead4
|
|
/* 02C7EAD4 */ /* nop */
|
|
/* 02C7EAD8 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7EAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C7EADC */ cpu->lr = cpu->r[0];
|
|
/* 02C7EAE0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7EAE4 */ return;
|
|
}
|
|
|
|
// fn_02C7EAE8 @ 0x2c7eae8
|
|
void Gambit_fn_02C7EAE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C7EAE8: ; // 0x2c7eae8
|
|
/* 02C7EAE8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7EAE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7EAE8 */ cpu->r[1] = _t0;
|
|
/* 02C7EAEC */ cpu->r[0] = cpu->lr;
|
|
/* 02C7EAF0 */ /* nop */
|
|
/* 02C7EAF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7EAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7EAF8 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7EAFC */ cpu->r[30] = cpu->r[6];
|
|
/* 02C7EB00 */ cpu->r[26] = cpu->r[7];
|
|
/* 02C7EB04 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7EB04 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7EB08 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C7EB0C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EB0C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7EB0C */ if (_t3) goto L_02C7EB10; else goto L_02C7EB20;
|
|
L_02C7EB10: ; // 0x2c7eb10
|
|
/* 02C7EB10 */ cpu->r[3] = 0x00000010u;
|
|
/* 02C7EB14 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7EB18 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7EB18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7EB1C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EB1C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7EB1C */ if (_t5) goto L_02C7EB88; else goto L_02C7EB20;
|
|
L_02C7EB20: ; // 0x2c7eb20
|
|
/* 02C7EB20 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7EB24 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7EB28 */ cpu->r[5] = cpu->r[26];
|
|
/* 02C7EB2C */ Gambit_fn_02C7E280(cpu);
|
|
/* 02C7EB30 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7EB34 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C7EB38 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7EB3C */ cpu->r[4] = cpu->r[27];
|
|
/* 02C7EB40 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7EB44 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7EB48 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7EB4C */ cpu->r[5] = cpu->r[27];
|
|
/* 02C7EB50 */ Gambit_fn_02C7F5BC(cpu);
|
|
/* 02C7EB54 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7EB58 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7EB5C */ cpu->r[5] = cpu->r[26];
|
|
/* 02C7EB60 */ Gambit_fn_02C7E300(cpu);
|
|
/* 02C7EB64 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C7EB68 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C7EB6C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7EB70 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C7EB74 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7EB78 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7EB7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7EB80 */ cpu->r[5] = cpu->r[27];
|
|
/* 02C7EB84 */ Gambit_fn_02C7F5BC(cpu);
|
|
L_02C7EB88: ; // 0x2c7eb88
|
|
/* 02C7EB88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7EB8C */ /* nop */
|
|
/* 02C7EB90 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7EB90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7EB94 */ cpu->lr = cpu->r[0];
|
|
/* 02C7EB98 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7EB9C */ return;
|
|
}
|
|
|
|
// fn_02C7EBA0 @ 0x2c7eba0
|
|
void Gambit_fn_02C7EBA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C7EBA0: ; // 0x2c7eba0
|
|
/* 02C7EBA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7EBA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7EBA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7EBA4 */ cpu->r[1] = _t0;
|
|
/* 02C7EBA8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EBA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C7EBAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EBAC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7EBB0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7EBB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C7EBB4 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7EBB8 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7EBBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7EBBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7EBC0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EBC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C7EBC4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7EBC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7EBC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EBC8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7EBC8 */ if (_t7) goto L_02C7EBCC; else goto L_02C7EBDC;
|
|
L_02C7EBCC: ; // 0x2c7ebcc
|
|
/* 02C7EBCC */ cpu->r[3] = 0x00000010u;
|
|
/* 02C7EBD0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7EBD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7EBD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7EBD8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EBD8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7EBD8 */ if (_t9) goto L_02C7EC34; else goto L_02C7EBDC;
|
|
L_02C7EBDC: ; // 0x2c7ebdc
|
|
/* 02C7EBDC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7EBE0 */ Gambit_fn_02C7E250(cpu);
|
|
/* 02C7EBE4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C7EBE8 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C7EBEC */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7EBF0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7EBF4 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7EBF8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7EBFC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7EC00 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C7EC04 */ Gambit_fn_02C7F5BC(cpu);
|
|
/* 02C7EC08 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7EC0C */ Gambit_fn_02C7E2F4(cpu);
|
|
/* 02C7EC10 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C7EC14 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C7EC18 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7EC1C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7EC20 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7EC24 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7EC28 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C7EC2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7EC30 */ Gambit_fn_02C7F5BC(cpu);
|
|
L_02C7EC34: ; // 0x2c7ec34
|
|
/* 02C7EC34 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EC34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7EC38 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EC38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7EC3C */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7EC3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7EC40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7EC44 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7EC44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7EC48 */ cpu->lr = cpu->r[0];
|
|
/* 02C7EC4C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EC4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7EC50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7EC54 */ return;
|
|
}
|
|
|
|
// fn_02C7EBA4 @ 0x2c7eba4
|
|
void Gambit_fn_02C7EBA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C7EBA4: ; // 0x2c7eba4
|
|
/* 02C7EBA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7EBA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7EBA4 */ cpu->r[1] = _t0;
|
|
/* 02C7EBA8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EBA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C7EBAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EBAC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7EBB0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7EBB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C7EBB4 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7EBB8 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7EBBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7EBBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7EBC0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EBC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C7EBC4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7EBC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7EBC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EBC8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7EBC8 */ if (_t7) goto L_02C7EBCC; else goto L_02C7EBDC;
|
|
L_02C7EBCC: ; // 0x2c7ebcc
|
|
/* 02C7EBCC */ cpu->r[3] = 0x00000010u;
|
|
/* 02C7EBD0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7EBD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7EBD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7EBD8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EBD8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7EBD8 */ if (_t9) goto L_02C7EC34; else goto L_02C7EBDC;
|
|
L_02C7EBDC: ; // 0x2c7ebdc
|
|
/* 02C7EBDC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7EBE0 */ Gambit_fn_02C7E250(cpu);
|
|
/* 02C7EBE4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C7EBE8 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C7EBEC */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7EBF0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7EBF4 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7EBF8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7EBFC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7EC00 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C7EC04 */ Gambit_fn_02C7F5BC(cpu);
|
|
/* 02C7EC08 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7EC0C */ Gambit_fn_02C7E2F4(cpu);
|
|
/* 02C7EC10 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C7EC14 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C7EC18 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7EC1C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7EC20 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7EC24 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7EC28 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C7EC2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7EC30 */ Gambit_fn_02C7F5BC(cpu);
|
|
L_02C7EC34: ; // 0x2c7ec34
|
|
/* 02C7EC34 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EC34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7EC38 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EC38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7EC3C */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7EC3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7EC40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7EC44 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7EC44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7EC48 */ cpu->lr = cpu->r[0];
|
|
/* 02C7EC4C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EC4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7EC50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7EC54 */ return;
|
|
}
|
|
|
|
// fn_02C7EC58 @ 0x2c7ec58
|
|
void Gambit_fn_02C7EC58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C7EC58: ; // 0x2c7ec58
|
|
/* 02C7EC58 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7EC5C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7EC5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7EC5C */ cpu->r[1] = _t0;
|
|
/* 02C7EC60 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EC60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7EC64 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7EC64 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7EC68 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7EC6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7EC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7EC70 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EC70 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7EC74 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7EC74 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7EC78 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7EC7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EC7C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7EC7C */ if (_t6) goto L_02C7EC80; else goto L_02C7EC90;
|
|
L_02C7EC80: ; // 0x2c7ec80
|
|
/* 02C7EC80 */ cpu->r[3] = 0x00000044u;
|
|
/* 02C7EC84 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7EC88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7EC88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7EC8C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EC8C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7EC8C */ if (_t8) goto L_02C7ECF4; else goto L_02C7EC90;
|
|
L_02C7EC90: ; // 0x2c7ec90
|
|
/* 02C7EC90 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C7EC94 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02C7EC98 */ cpu->r[0] = cpu->r[0] + 0x0000333Cu;
|
|
/* 02C7EC9C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7ECA0 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7ECA0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C7ECA4 */ Gambit_fn_02C8188C(cpu);
|
|
/* 02C7ECA8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C7ECAC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7ECB0 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 02C7ECB4 */ _t10 = cpu->r[31] + 0x00000040u;
|
|
/* 02C7ECB4 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
/* 02C7ECB8 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C7ECBC */ cpu->r[9] = cpu->r[31] + 0x00000004u;
|
|
/* 02C7ECC0 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7ECC4 */ cpu->r[10] = 0x02C80000u;
|
|
/* 02C7ECC8 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 02C7ECC8 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02C7ECCC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7ECD0 */ cpu->r[10] = cpu->r[10] + 0x000018D0u;
|
|
/* 02C7ECD4 */ cpu->r[11] = 0x02C80000u;
|
|
/* 02C7ECD8 */ cpu->r[5] = cpu->r[5] + 0x00003334u;
|
|
/* 02C7ECDC */ _t12 = cpu->r[31] + 0x00000028u;
|
|
/* 02C7ECDC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02C7ECE0 */ cpu->r[11] = cpu->r[11] + 0x000018E8u;
|
|
/* 02C7ECE4 */ cpu->r[6] = 0x00000038u;
|
|
/* 02C7ECE8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7ECEC */ _t13 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C7ECEC */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02C7ECF0 */ rbrew_dispatch(cpu, 0x02d0bd70u);
|
|
L_02C7ECF4: ; // 0x2c7ecf4
|
|
/* 02C7ECF4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7ECF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7ECF8 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7ECF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7ECFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7ED00 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7ED00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7ED04 */ cpu->lr = cpu->r[0];
|
|
/* 02C7ED08 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7ED08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C7ED0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7ED10 */ return;
|
|
}
|
|
|
|
// fn_02C7EC5C @ 0x2c7ec5c
|
|
void Gambit_fn_02C7EC5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C7EC5C: ; // 0x2c7ec5c
|
|
/* 02C7EC5C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7EC5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7EC5C */ cpu->r[1] = _t0;
|
|
/* 02C7EC60 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EC60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7EC64 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7EC64 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7EC68 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7EC6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7EC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7EC70 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EC70 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7EC74 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7EC74 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7EC78 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7EC7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EC7C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7EC7C */ if (_t6) goto L_02C7EC80; else goto L_02C7EC90;
|
|
L_02C7EC80: ; // 0x2c7ec80
|
|
/* 02C7EC80 */ cpu->r[3] = 0x00000044u;
|
|
/* 02C7EC84 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7EC88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7EC88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7EC8C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EC8C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7EC8C */ if (_t8) goto L_02C7ECF4; else goto L_02C7EC90;
|
|
L_02C7EC90: ; // 0x2c7ec90
|
|
/* 02C7EC90 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C7EC94 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02C7EC98 */ cpu->r[0] = cpu->r[0] + 0x0000333Cu;
|
|
/* 02C7EC9C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7ECA0 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7ECA0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C7ECA4 */ Gambit_fn_02C8188C(cpu);
|
|
/* 02C7ECA8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C7ECAC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7ECB0 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 02C7ECB4 */ _t10 = cpu->r[31] + 0x00000040u;
|
|
/* 02C7ECB4 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
/* 02C7ECB8 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C7ECBC */ cpu->r[9] = cpu->r[31] + 0x00000004u;
|
|
/* 02C7ECC0 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7ECC4 */ cpu->r[10] = 0x02C80000u;
|
|
/* 02C7ECC8 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 02C7ECC8 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02C7ECCC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7ECD0 */ cpu->r[10] = cpu->r[10] + 0x000018D0u;
|
|
/* 02C7ECD4 */ cpu->r[11] = 0x02C80000u;
|
|
/* 02C7ECD8 */ cpu->r[5] = cpu->r[5] + 0x00003334u;
|
|
/* 02C7ECDC */ _t12 = cpu->r[31] + 0x00000028u;
|
|
/* 02C7ECDC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02C7ECE0 */ cpu->r[11] = cpu->r[11] + 0x000018E8u;
|
|
/* 02C7ECE4 */ cpu->r[6] = 0x00000038u;
|
|
/* 02C7ECE8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7ECEC */ _t13 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C7ECEC */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02C7ECF0 */ rbrew_dispatch(cpu, 0x02d0bd70u);
|
|
L_02C7ECF4: ; // 0x2c7ecf4
|
|
/* 02C7ECF4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7ECF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7ECF8 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7ECF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7ECFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7ED00 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7ED00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7ED04 */ cpu->lr = cpu->r[0];
|
|
/* 02C7ED08 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7ED08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C7ED0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7ED10 */ return;
|
|
}
|
|
|
|
// fn_02C7ED14 @ 0x2c7ed14
|
|
void Gambit_fn_02C7ED14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C7ED14: ; // 0x2c7ed14
|
|
/* 02C7ED14 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7ED18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7ED18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7ED18 */ cpu->r[1] = _t0;
|
|
/* 02C7ED1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7ED1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7ED20 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7ED20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7ED24 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7ED24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C7ED28 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7ED2C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7ED2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7ED30 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7ED30 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7ED30 */ if (_t5) goto L_02C7ED58; else goto L_02C7ED34;
|
|
L_02C7ED34: ; // 0x2c7ed34
|
|
/* 02C7ED34 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C7ED38 */ cpu->r[0] = cpu->r[0] + 0x0000333Cu;
|
|
/* 02C7ED3C */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02C7ED40 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7ED40 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C7ED44 */ rbrew_dispatch(cpu, 0x02d0bd60u);
|
|
/* 02C7ED48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C7ED48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7ED4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7ED4C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7ED4C */ if (_t8) goto L_02C7ED58; else goto L_02C7ED50;
|
|
L_02C7ED50: ; // 0x2c7ed50
|
|
/* 02C7ED50 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7ED54 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C7ED58: ; // 0x2c7ed58
|
|
/* 02C7ED58 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7ED58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7ED5C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7ED5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7ED60 */ cpu->lr = cpu->r[0];
|
|
/* 02C7ED64 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7ED64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7ED68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7ED6C */ return;
|
|
}
|
|
|
|
// fn_02C7ED18 @ 0x2c7ed18
|
|
void Gambit_fn_02C7ED18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C7ED18: ; // 0x2c7ed18
|
|
/* 02C7ED18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7ED18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7ED18 */ cpu->r[1] = _t0;
|
|
/* 02C7ED1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7ED1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7ED20 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7ED20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7ED24 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7ED24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C7ED28 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7ED2C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7ED2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7ED30 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7ED30 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7ED30 */ if (_t5) goto L_02C7ED58; else goto L_02C7ED34;
|
|
L_02C7ED34: ; // 0x2c7ed34
|
|
/* 02C7ED34 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C7ED38 */ cpu->r[0] = cpu->r[0] + 0x0000333Cu;
|
|
/* 02C7ED3C */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02C7ED40 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7ED40 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C7ED44 */ rbrew_dispatch(cpu, 0x02d0bd60u);
|
|
/* 02C7ED48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C7ED48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7ED4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7ED4C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7ED4C */ if (_t8) goto L_02C7ED58; else goto L_02C7ED50;
|
|
L_02C7ED50: ; // 0x2c7ed50
|
|
/* 02C7ED50 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7ED54 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C7ED58: ; // 0x2c7ed58
|
|
/* 02C7ED58 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7ED58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7ED5C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7ED5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7ED60 */ cpu->lr = cpu->r[0];
|
|
/* 02C7ED64 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7ED64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7ED68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7ED6C */ return;
|
|
}
|
|
|
|
// fn_02C7ED70 @ 0x2c7ed70
|
|
void Gambit_fn_02C7ED70(CPUState* 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_02C7ED70: ; // 0x2c7ed70
|
|
/* 02C7ED70 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7ED70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7ED70 */ cpu->r[1] = _t0;
|
|
/* 02C7ED74 */ /* nop */
|
|
/* 02C7ED78 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7ED7C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7ED7C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7ED80 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7ED84 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C7ED88 */ cpu->r[27] = cpu->r[7];
|
|
/* 02C7ED8C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7ED90 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7ED90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7ED94 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C7ED98 */ _t3 = cpu->r[29] + 0x00000000u;
|
|
/* 02C7ED98 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7ED9C */ cpu->r[4] = cpu->r[8];
|
|
/* 02C7EDA0 */ _t4 = cpu->r[28] + 0x00000018u;
|
|
/* 02C7EDA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 02C7EDA4 */ _t5 = cpu->r[27] + 0x00000000u;
|
|
/* 02C7EDA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7EDA8 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7EDA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7EDAC */ _t7 = cpu->r[28] + 0x00000014u;
|
|
/* 02C7EDAC */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 02C7EDB0 */ _t8 = cpu->r[28] + 0x00000008u;
|
|
/* 02C7EDB0 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02C7EDB4 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02C7EDB8 */ _t9 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C7EDB8 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02C7EDBC */ rbrew_dispatch(cpu, 0x02d0bd38u);
|
|
/* 02C7EDC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02C7EDC4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EDC4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7EDC4 */ if (_t11) goto L_02C7EDC8; else goto L_02C7EDCC;
|
|
L_02C7EDC8: ; // 0x2c7edc8
|
|
/* 02C7EDC8 */ _t12 = cpu->r[28] + 0x00000040u;
|
|
/* 02C7EDC8 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[3]);
|
|
L_02C7EDCC: ; // 0x2c7edcc
|
|
/* 02C7EDCC */ _t13 = cpu->r[28] + 0x00000008u;
|
|
/* 02C7EDCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7EDD0 */ _t14 = cpu->r[28] + 0x00000018u;
|
|
/* 02C7EDD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7EDD4 */ _t15 = cpu->r[28] + 0x00000014u;
|
|
/* 02C7EDD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7EDD8 */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7EDD8 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02C7EDDC */ _t17 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C7EDDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C7EDE0 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02C7EDE0 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 02C7EDE4 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7EDE4 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C7EDE8 */ _t20 = cpu->r[27] + 0x00000000u;
|
|
/* 02C7EDE8 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02C7EDEC */ /* nop */
|
|
/* 02C7EDF0 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7EDF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C7EDF4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7EDF8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7EDFC */ return;
|
|
}
|
|
|
|
// fn_02C7EE00 @ 0x2c7ee00
|
|
void Gambit_fn_02C7EE00(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7EE00: ; // 0x2c7ee00
|
|
/* 02C7EE00 */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C7EE00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7EE04 */ return;
|
|
}
|
|
|
|
// fn_02C7EE08 @ 0x2c7ee08
|
|
void Gambit_fn_02C7EE08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C7EE08: ; // 0x2c7ee08
|
|
/* 02C7EE08 */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02C7EE08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7EE08 */ cpu->r[1] = _t0;
|
|
/* 02C7EE0C */ cpu->r[0] = cpu->lr;
|
|
/* 02C7EE10 */ /* nop */
|
|
/* 02C7EE14 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C7EE18 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7EE1C */ cpu->r[31] = cpu->r[7];
|
|
/* 02C7EE20 */ cpu->r[26] = cpu->r[8];
|
|
/* 02C7EE24 */ cpu->r[27] = cpu->r[9];
|
|
/* 02C7EE28 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7EE2C */ _t1 = cpu->r[1] + 0x00000084u;
|
|
/* 02C7EE2C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C7EE30 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7EE34 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C7EE38 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7EE38 */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
|
|
/* 02C7EE3C */ cpu->r[0] = cpu->r[0] + 0x00003294u;
|
|
/* 02C7EE40 */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7EE44 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EE44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7EE48 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C7EE4C */ cpu->r[5] = cpu->r[26];
|
|
/* 02C7EE50 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7EE54 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7EE58 */ Gambit_fn_02C7F5BC(cpu);
|
|
/* 02C7EE5C */ cpu->r[5] = cpu->r[27];
|
|
/* 02C7EE60 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7EE64 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EE68 */ Gambit_fn_02C7EC58(cpu);
|
|
/* 02C7EE6C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EE6C */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 02C7EE70 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C7EE74 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7EE78 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7EE7C */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EE80 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EE84 */ cpu->r[8] = 0x00000004u;
|
|
/* 02C7EE88 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EE88 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02C7EE8C */ Gambit_fn_02C7ED70(cpu);
|
|
/* 02C7EE90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7EE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C7EE98 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EE98 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7EE98 */ if (_t7) goto L_02C7EE9C; else goto L_02C7EEA8;
|
|
L_02C7EE9C: ; // 0x2c7ee9c
|
|
/* 02C7EE9C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7EEA0 */ Gambit_fn_02C7EE00(cpu);
|
|
/* 02C7EEA4 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02C7EEA4 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
L_02C7EEA8: ; // 0x2c7eea8
|
|
/* 02C7EEA8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7EEAC */ cpu->r[4] = 0x00000002u;
|
|
/* 02C7EEB0 */ Gambit_fn_02C7ED14(cpu);
|
|
/* 02C7EEB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7EEB8 */ /* nop */
|
|
/* 02C7EEBC */ _t9 = cpu->r[1] + 0x00000084u;
|
|
/* 02C7EEBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7EEC0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7EEC4 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02C7EEC8 */ return;
|
|
}
|
|
|
|
// fn_02C7EECC @ 0x2c7eecc
|
|
void Gambit_fn_02C7EECC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C7EECC: ; // 0x2c7eecc
|
|
/* 02C7EECC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7EECC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7EED0 */ _t1 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C7EED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C7EED4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C7EED8 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C7EEDC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C7EEE0 @ 0x2c7eee0
|
|
void Gambit_fn_02C7EEE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C7EEE0: ; // 0x2c7eee0
|
|
/* 02C7EEE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7EEE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7EEE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7EEE4 */ cpu->r[1] = _t0;
|
|
/* 02C7EEE8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EEE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7EEEC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EEEC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C7EEF0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C7EEF4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C7EEF8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7EEF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C7EEFC */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02C7EF00 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EF00 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C7EF04 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7EF08 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7EF08 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7EF0C */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7EF10 */ Gambit_fn_02C7F61C(cpu);
|
|
/* 02C7EF14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7EF18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EF18 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7EF18 */ if (_t7) goto L_02C7EF30; else goto L_02C7EF1C;
|
|
L_02C7EF1C: ; // 0x2c7ef1c
|
|
/* 02C7EF1C */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7EF20 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7EF24 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02C7EF28 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7EF2C */ cpu->r[31] = cpu->r[3];
|
|
L_02C7EF30: ; // 0x2c7ef30
|
|
/* 02C7EF30 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EF30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7EF34 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EF34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7EF38 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7EF38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7EF3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7EF40 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7EF40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7EF44 */ cpu->lr = cpu->r[0];
|
|
/* 02C7EF48 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7EF4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7EF50 */ return;
|
|
}
|
|
|
|
// fn_02C7EEE4 @ 0x2c7eee4
|
|
void Gambit_fn_02C7EEE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C7EEE4: ; // 0x2c7eee4
|
|
/* 02C7EEE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7EEE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7EEE4 */ cpu->r[1] = _t0;
|
|
/* 02C7EEE8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EEE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7EEEC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EEEC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C7EEF0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C7EEF4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C7EEF8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7EEF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C7EEFC */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02C7EF00 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EF00 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C7EF04 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7EF08 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7EF08 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7EF0C */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7EF10 */ Gambit_fn_02C7F61C(cpu);
|
|
/* 02C7EF14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7EF18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EF18 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7EF18 */ if (_t7) goto L_02C7EF30; else goto L_02C7EF1C;
|
|
L_02C7EF1C: ; // 0x2c7ef1c
|
|
/* 02C7EF1C */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7EF20 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7EF24 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02C7EF28 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C7EF2C */ cpu->r[31] = cpu->r[3];
|
|
L_02C7EF30: ; // 0x2c7ef30
|
|
/* 02C7EF30 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EF30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7EF34 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EF34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7EF38 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7EF38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7EF3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7EF40 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7EF40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7EF44 */ cpu->lr = cpu->r[0];
|
|
/* 02C7EF48 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7EF4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7EF50 */ return;
|
|
}
|
|
|
|
// fn_02C7EF54 @ 0x2c7ef54
|
|
void Gambit_fn_02C7EF54(CPUState* cpu) {
|
|
L_02C7EF54: ; // 0x2c7ef54
|
|
/* 02C7EF54 */ return;
|
|
}
|
|
|
|
// fn_02C7EF58 @ 0x2c7ef58
|
|
void Gambit_fn_02C7EF58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C7C8D4: ; // 0x2c7c8d4
|
|
/* 02C7C8D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7C8D8 */ cpu->r[10] = cpu->r[4];
|
|
/* 02C7C8DC */ cpu->r[4] = cpu->r[6];
|
|
/* 02C7C8E0 */ cpu->r[9] = cpu->r[3];
|
|
/* 02C7C8E4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7C8E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7C8E8 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C7C8EC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7C8EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7C8EC */ cpu->r[1] = _t1;
|
|
/* 02C7C8F0 */ Gambit_fn_02C7C8BC(cpu);
|
|
/* 02C7C8F4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C7C8F8 */ cpu->r[4] = cpu->r[10];
|
|
/* 02C7C8FC */ cpu->r[3] = cpu->r[9];
|
|
/* 02C7C900 */ Gambit_fn_02C79890(cpu);
|
|
/* 02C7C904 */ Gambit_fn_02C798C8(cpu);
|
|
/* 02C7C908 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7C908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7C90C */ cpu->lr = cpu->r[0];
|
|
/* 02C7C910 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7C914 */ return;
|
|
L_02C7EF58: ; // 0x2c7ef58
|
|
/* 02C7EF58 */ cpu->r[0] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C7EF5C */ cpu->r[6] = cpu->r[6] - cpu->r[0];
|
|
/* 02C7EF60 */ goto L_02C7C8D4;
|
|
}
|
|
|
|
// fn_02C7EF68 @ 0x2c7ef68
|
|
void Gambit_fn_02C7EF68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C7EF68: ; // 0x2c7ef68
|
|
/* 02C7EF68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7EF68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7EF68 */ cpu->r[1] = _t0;
|
|
/* 02C7EF6C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EF6C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7EF70 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7EF74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EF74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7EF78 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C7EF7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7EF80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EF80 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7EF80 */ if (_t4) goto L_02C7EF94; else goto L_02C7EF84;
|
|
L_02C7EF84: ; // 0x2c7ef84
|
|
/* 02C7EF84 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C7EF88 */ cpu->r[3] = cpu->r[3] + 0x00002930u;
|
|
/* 02C7EF8C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7EF90 */ Gambit_fn_02C7D010(cpu);
|
|
L_02C7EF94: ; // 0x2c7ef94
|
|
/* 02C7EF94 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7EF94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7EF98 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EF98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7EF9C */ cpu->lr = cpu->r[0];
|
|
/* 02C7EFA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7EFA4 */ return;
|
|
}
|
|
|
|
// fn_02C7EFA8 @ 0x2c7efa8
|
|
void Gambit_fn_02C7EFA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C7EFA8: ; // 0x2c7efa8
|
|
/* 02C7EFA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7EFAC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7EFAC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7EFB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7EFB4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7EFB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7EFB4 */ cpu->r[1] = _t1;
|
|
/* 02C7EFB8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EFB8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7EFB8 */ if (_t3) goto L_02C7EFBC; else goto L_02C7EFCC;
|
|
L_02C7EFBC: ; // 0x2c7efbc
|
|
/* 02C7EFBC */ cpu->r[3] = 0x00000004u;
|
|
/* 02C7EFC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7EFC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7EFC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EFC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7EFC8 */ if (_t5) goto L_02C7EFD4; else goto L_02C7EFCC;
|
|
L_02C7EFCC: ; // 0x2c7efcc
|
|
/* 02C7EFCC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C7EFD0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7EFD0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02C7EFD4: ; // 0x2c7efd4
|
|
/* 02C7EFD4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EFD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7EFD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7EFDC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EFE0 */ return;
|
|
}
|
|
|
|
// fn_02C7EFB4 @ 0x2c7efb4
|
|
void Gambit_fn_02C7EFB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C7EFB4: ; // 0x2c7efb4
|
|
/* 02C7EFB4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7EFB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7EFB4 */ cpu->r[1] = _t0;
|
|
/* 02C7EFB8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EFB8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C7EFB8 */ if (_t2) goto L_02C7EFBC; else goto L_02C7EFCC;
|
|
L_02C7EFBC: ; // 0x2c7efbc
|
|
/* 02C7EFBC */ cpu->r[3] = 0x00000004u;
|
|
/* 02C7EFC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7EFC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7EFC8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7EFC8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7EFC8 */ if (_t4) goto L_02C7EFD4; else goto L_02C7EFCC;
|
|
L_02C7EFCC: ; // 0x2c7efcc
|
|
/* 02C7EFCC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C7EFD0 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7EFD0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_02C7EFD4: ; // 0x2c7efd4
|
|
/* 02C7EFD4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7EFD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7EFD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7EFDC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EFE0 */ return;
|
|
}
|
|
|
|
// fn_02C7EFE4 @ 0x2c7efe4
|
|
void Gambit_fn_02C7EFE4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7EFE4: ; // 0x2c7efe4
|
|
/* 02C7EFE4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7EFE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7EFE8 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C7EFEC */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 02C7EFF0 */ return;
|
|
}
|
|
|
|
// fn_02C7EFF4 @ 0x2c7eff4
|
|
void Gambit_fn_02C7EFF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C7EFF4: ; // 0x2c7eff4
|
|
/* 02C7EFF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7EFF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7EFF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7EFF8 */ cpu->r[1] = _t0;
|
|
/* 02C7EFFC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EFFC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7F000 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F000 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7F004 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7F008 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7F00C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F00C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7F010 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F010 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7F010 */ if (_t5) goto L_02C7F03C; else goto L_02C7F014;
|
|
L_02C7F014: ; // 0x2c7f014
|
|
/* 02C7F014 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7F018 */ Gambit_fn_02C7EFE4(cpu);
|
|
/* 02C7F01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F020 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F020 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7F020 */ if (_t7) goto L_02C7F02C; else goto L_02C7F024;
|
|
L_02C7F024: ; // 0x2c7f024
|
|
/* 02C7F024 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7F024 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7F028 */ rbrew_dispatch(cpu, 0x02d0a460u);
|
|
L_02C7F02C: ; // 0x2c7f02c
|
|
/* 02C7F02C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C7F02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7F030 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F030 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C7F030 */ if (_t10) goto L_02C7F03C; else goto L_02C7F034;
|
|
L_02C7F034: ; // 0x2c7f034
|
|
/* 02C7F034 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7F038 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C7F03C: ; // 0x2c7f03c
|
|
/* 02C7F03C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F03C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7F040 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F040 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7F044 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F048 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7F04C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F050 */ return;
|
|
}
|
|
|
|
// fn_02C7EFF8 @ 0x2c7eff8
|
|
void Gambit_fn_02C7EFF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C7EFF8: ; // 0x2c7eff8
|
|
/* 02C7EFF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7EFF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7EFF8 */ cpu->r[1] = _t0;
|
|
/* 02C7EFFC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7EFFC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7F000 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F000 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7F004 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7F008 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7F00C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F00C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7F010 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F010 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7F010 */ if (_t5) goto L_02C7F03C; else goto L_02C7F014;
|
|
L_02C7F014: ; // 0x2c7f014
|
|
/* 02C7F014 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7F018 */ Gambit_fn_02C7EFE4(cpu);
|
|
/* 02C7F01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F020 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F020 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7F020 */ if (_t7) goto L_02C7F02C; else goto L_02C7F024;
|
|
L_02C7F024: ; // 0x2c7f024
|
|
/* 02C7F024 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7F024 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7F028 */ rbrew_dispatch(cpu, 0x02d0a460u);
|
|
L_02C7F02C: ; // 0x2c7f02c
|
|
/* 02C7F02C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C7F02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7F030 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F030 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C7F030 */ if (_t10) goto L_02C7F03C; else goto L_02C7F034;
|
|
L_02C7F034: ; // 0x2c7f034
|
|
/* 02C7F034 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7F038 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C7F03C: ; // 0x2c7f03c
|
|
/* 02C7F03C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F03C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7F040 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F040 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7F044 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F048 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7F04C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F050 */ return;
|
|
}
|
|
|
|
// fn_02C7F054 @ 0x2c7f054
|
|
void Gambit_fn_02C7F054(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C7F054: ; // 0x2c7f054
|
|
/* 02C7F054 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F058 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7F058 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F058 */ cpu->r[1] = _t0;
|
|
/* 02C7F05C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F05C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F060 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F064 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C7F068 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C7F06C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C7F070 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F070 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7F074 */ rbrew_dispatch(cpu, 0x02d0a438u);
|
|
/* 02C7F078 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7F078 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02C7F07C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F07C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7F080 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7F084 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F088 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F08C */ return;
|
|
}
|
|
|
|
// fn_02C7F058 @ 0x2c7f058
|
|
void Gambit_fn_02C7F058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C7F058: ; // 0x2c7f058
|
|
/* 02C7F058 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7F058 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F058 */ cpu->r[1] = _t0;
|
|
/* 02C7F05C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F05C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F060 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F064 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C7F068 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C7F06C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C7F070 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F070 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7F074 */ rbrew_dispatch(cpu, 0x02d0a438u);
|
|
/* 02C7F078 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7F078 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02C7F07C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F07C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7F080 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7F084 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F088 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F08C */ return;
|
|
}
|
|
|
|
// fn_02C7F090 @ 0x2c7f090
|
|
void Gambit_fn_02C7F090(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7F090: ; // 0x2c7f090
|
|
/* 02C7F090 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F090 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7F094 */ rbrew_dispatch(cpu, 0x02d0a3f0u); return;
|
|
}
|
|
|
|
// fn_02C7F098 @ 0x2c7f098
|
|
void Gambit_fn_02C7F098(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7F098: ; // 0x2c7f098
|
|
/* 02C7F098 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F098 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7F09C */ rbrew_dispatch(cpu, 0x02d0a4a8u); return;
|
|
}
|
|
|
|
// fn_02C7F0A0 @ 0x2c7f0a0
|
|
void Gambit_fn_02C7F0A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7F0A0: ; // 0x2c7f0a0
|
|
/* 02C7F0A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F0A4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7F0A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7F0A8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7F0A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C7F0AC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7F0AC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7F0AC */ cpu->r[1] = _t1;
|
|
/* 02C7F0B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F0B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7F0B0 */ if (_t3) goto L_02C7F0C8; else goto L_02C7F0B4;
|
|
L_02C7F0B4: ; // 0x2c7f0b4
|
|
/* 02C7F0B4 */ cpu->r[3] = 0x00000002u;
|
|
/* 02C7F0B8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C7F0BC */ Gambit_fn_02C7E374(cpu);
|
|
/* 02C7F0C0 */ cpu->r[12] = cpu->r[3] + 0x00010000u;
|
|
/* 02C7F0C4 */ cpu->r[4] = cpu->r[12] + 0xFFFFA200u;
|
|
L_02C7F0C8: ; // 0x2c7f0c8
|
|
/* 02C7F0C8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F0C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7F0CC */ cpu->lr = cpu->r[0];
|
|
/* 02C7F0D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F0D4 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C7F0D8 */ return;
|
|
}
|
|
|
|
// fn_02C7F0AC @ 0x2c7f0ac
|
|
void Gambit_fn_02C7F0AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C7F0AC: ; // 0x2c7f0ac
|
|
/* 02C7F0AC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7F0AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F0AC */ cpu->r[1] = _t0;
|
|
/* 02C7F0B0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F0B0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C7F0B0 */ if (_t2) goto L_02C7F0C8; else goto L_02C7F0B4;
|
|
L_02C7F0B4: ; // 0x2c7f0b4
|
|
/* 02C7F0B4 */ cpu->r[3] = 0x00000002u;
|
|
/* 02C7F0B8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C7F0BC */ Gambit_fn_02C7E374(cpu);
|
|
/* 02C7F0C0 */ cpu->r[12] = cpu->r[3] + 0x00010000u;
|
|
/* 02C7F0C4 */ cpu->r[4] = cpu->r[12] + 0xFFFFA200u;
|
|
L_02C7F0C8: ; // 0x2c7f0c8
|
|
/* 02C7F0C8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F0C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7F0CC */ cpu->lr = cpu->r[0];
|
|
/* 02C7F0D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F0D4 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C7F0D8 */ return;
|
|
}
|
|
|
|
// fn_02C7F0DC @ 0x2c7f0dc
|
|
void Gambit_fn_02C7F0DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C7F0DC: ; // 0x2c7f0dc
|
|
/* 02C7F0DC */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F0E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7F0E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F0E0 */ cpu->r[1] = _t0;
|
|
/* 02C7F0E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F0E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F0E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7F0EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F0EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7F0F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F0F0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7F0F0 */ if (_t4) goto L_02C7F0F4; else goto L_02C7F104;
|
|
L_02C7F0F4: ; // 0x2c7f0f4
|
|
/* 02C7F0F4 */ cpu->r[3] = 0x00000180u;
|
|
/* 02C7F0F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7F0FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7F100 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F100 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7F100 */ if (_t6) goto L_02C7F120; else goto L_02C7F104;
|
|
L_02C7F104: ; // 0x2c7f104
|
|
/* 02C7F104 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C7F108 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C7F10C */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F10C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C7F110 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7F110 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C7F114 */ cpu->r[4] = 0x00000024u;
|
|
/* 02C7F118 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F118 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C7F11C */ Gambit_fn_02C89380(cpu);
|
|
L_02C7F120: ; // 0x2c7f120
|
|
/* 02C7F120 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7F124 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7F128 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7F12C */ cpu->lr = cpu->r[0];
|
|
/* 02C7F130 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F134 */ return;
|
|
}
|
|
|
|
// fn_02C7F0E0 @ 0x2c7f0e0
|
|
void Gambit_fn_02C7F0E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C7F0E0: ; // 0x2c7f0e0
|
|
/* 02C7F0E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7F0E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F0E0 */ cpu->r[1] = _t0;
|
|
/* 02C7F0E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F0E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F0E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7F0EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F0EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7F0F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F0F0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7F0F0 */ if (_t4) goto L_02C7F0F4; else goto L_02C7F104;
|
|
L_02C7F0F4: ; // 0x2c7f0f4
|
|
/* 02C7F0F4 */ cpu->r[3] = 0x00000180u;
|
|
/* 02C7F0F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7F0FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7F100 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F100 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7F100 */ if (_t6) goto L_02C7F120; else goto L_02C7F104;
|
|
L_02C7F104: ; // 0x2c7f104
|
|
/* 02C7F104 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C7F108 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C7F10C */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F10C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C7F110 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7F110 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C7F114 */ cpu->r[4] = 0x00000024u;
|
|
/* 02C7F118 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F118 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C7F11C */ Gambit_fn_02C89380(cpu);
|
|
L_02C7F120: ; // 0x2c7f120
|
|
/* 02C7F120 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7F124 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7F128 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7F12C */ cpu->lr = cpu->r[0];
|
|
/* 02C7F130 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F134 */ return;
|
|
}
|
|
|
|
// fn_02C7F138 @ 0x2c7f138
|
|
void Gambit_fn_02C7F138(CPUState* 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_02C7F138: ; // 0x2c7f138
|
|
/* 02C7F138 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F13C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C7F13C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F13C */ cpu->r[1] = _t0;
|
|
/* 02C7F140 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02C7F140 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7F144 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7F148 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7F148 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7F14C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F150 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C7F154 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F154 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7F158 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7F158 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7F15C */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7F160 */ cpu->r[4] = 0x00010000u;
|
|
/* 02C7F164 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7F168 */ cpu->r[4] = cpu->r[4] + 0xFFFFA100u;
|
|
/* 02C7F16C */ Gambit_fn_02C7F604(cpu);
|
|
/* 02C7F170 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7F170 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C7F174 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7F178 */ cpu->r[6] = cpu->r[30];
|
|
/* 02C7F17C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F180 */ cpu->r[5] = 0x00000002u;
|
|
/* 02C7F184 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C7F188 */ Gambit_fn_02C7EAE8(cpu);
|
|
/* 02C7F18C */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F190 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7F194 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F198 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C7F19C */ cpu->r[7] = 0x00000001u;
|
|
/* 02C7F1A0 */ Gambit_fn_02C7E7F0(cpu);
|
|
/* 02C7F1A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F1A8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F1A8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7F1A8 */ if (_t7) goto L_02C7F328; else goto L_02C7F1AC;
|
|
L_02C7F1AC: ; // 0x2c7f1ac
|
|
/* 02C7F1AC */ cpu->r[7] = 0x00000001u;
|
|
/* 02C7F1B0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C7F1B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F1B8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7F1BC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F1C0 */ Gambit_fn_02C7E6EC(cpu);
|
|
/* 02C7F1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F1C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F1C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7F1C8 */ if (_t9) goto L_02C7F328; else goto L_02C7F1CC;
|
|
L_02C7F1CC: ; // 0x2c7f1cc
|
|
/* 02C7F1CC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F1CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7F1D0 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C7F1D4 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C7F1D8 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C7F1DC */ cpu->r[6] = cpu->r[6] + 0xFFFFC140u;
|
|
/* 02C7F1E0 */ cpu->r[8] = 0x00000001u;
|
|
/* 02C7F1E4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F1E8 */ Gambit_fn_02C7E41C(cpu);
|
|
/* 02C7F1EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F1F0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F1F0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7F1F0 */ if (_t12) goto L_02C7F328; else goto L_02C7F1F4;
|
|
L_02C7F1F4: ; // 0x2c7f1f4
|
|
/* 02C7F1F4 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F1F8 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 02C7F1FC */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F1FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7F200 */ cpu->r[5] = cpu->r[5] + 0x000033BCu;
|
|
/* 02C7F204 */ Gambit_fn_02C7E888(cpu);
|
|
/* 02C7F208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F20C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F20C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C7F20C */ if (_t15) goto L_02C7F328; else goto L_02C7F210;
|
|
L_02C7F210: ; // 0x2c7f210
|
|
/* 02C7F210 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F214 */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 02C7F218 */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F218 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7F21C */ cpu->r[5] = cpu->r[5] + 0x000033C4u;
|
|
/* 02C7F220 */ Gambit_fn_02C7E888(cpu);
|
|
/* 02C7F224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F228 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F228 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C7F228 */ if (_t18) goto L_02C7F328; else goto L_02C7F22C;
|
|
L_02C7F22C: ; // 0x2c7f22c
|
|
/* 02C7F22C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F230 */ cpu->r[3] = cpu->r[31] + 0x00000038u;
|
|
/* 02C7F234 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F234 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7F238 */ cpu->r[5] = cpu->r[5] + 0x000033CCu;
|
|
/* 02C7F23C */ Gambit_fn_02C7E888(cpu);
|
|
/* 02C7F240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F244 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F244 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C7F244 */ if (_t21) goto L_02C7F328; else goto L_02C7F248;
|
|
L_02C7F248: ; // 0x2c7f248
|
|
/* 02C7F248 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F24C */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C7F250 */ _t22 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F250 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C7F254 */ cpu->r[5] = cpu->r[5] + 0x000033E8u;
|
|
/* 02C7F258 */ Gambit_fn_02C7E888(cpu);
|
|
/* 02C7F25C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F260 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F260 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C7F260 */ if (_t24) goto L_02C7F328; else goto L_02C7F264;
|
|
L_02C7F264: ; // 0x2c7f264
|
|
/* 02C7F264 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F268 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02C7F26C */ _t25 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F26C */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C7F270 */ cpu->r[5] = cpu->r[5] + 0x000033D4u;
|
|
/* 02C7F274 */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F27C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F27C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C7F27C */ if (_t27) goto L_02C7F328; else goto L_02C7F280;
|
|
L_02C7F280: ; // 0x2c7f280
|
|
/* 02C7F280 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F284 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02C7F288 */ _t28 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F288 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C7F28C */ cpu->r[5] = cpu->r[5] + 0x000033A8u;
|
|
/* 02C7F290 */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F298 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F298 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C7F298 */ if (_t30) goto L_02C7F328; else goto L_02C7F29C;
|
|
L_02C7F29C: ; // 0x2c7f29c
|
|
/* 02C7F29C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F2A0 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02C7F2A4 */ _t31 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F2A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C7F2A8 */ cpu->r[5] = cpu->r[5] + 0x000033B0u;
|
|
/* 02C7F2AC */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F2B4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F2B4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C7F2B4 */ if (_t33) goto L_02C7F328; else goto L_02C7F2B8;
|
|
L_02C7F2B8: ; // 0x2c7f2b8
|
|
/* 02C7F2B8 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F2BC */ cpu->r[3] = cpu->r[31] + 0x0000004Cu;
|
|
/* 02C7F2C0 */ _t34 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F2C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C7F2C4 */ cpu->r[5] = cpu->r[5] + 0x000033F4u;
|
|
/* 02C7F2C8 */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F2CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F2D0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F2D0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C7F2D0 */ if (_t36) goto L_02C7F328; else goto L_02C7F2D4;
|
|
L_02C7F2D4: ; // 0x2c7f2d4
|
|
/* 02C7F2D4 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F2D8 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02C7F2DC */ _t37 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F2DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C7F2E0 */ cpu->r[5] = cpu->r[5] + 0x000033B8u;
|
|
/* 02C7F2E4 */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F2EC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F2EC */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C7F2EC */ if (_t39) goto L_02C7F328; else goto L_02C7F2F0;
|
|
L_02C7F2F0: ; // 0x2c7f2f0
|
|
/* 02C7F2F0 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F2F4 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
|
|
/* 02C7F2F8 */ _t40 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F2F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C7F2FC */ cpu->r[5] = cpu->r[5] + 0x00003400u;
|
|
/* 02C7F300 */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F308 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F308 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C7F308 */ if (_t42) goto L_02C7F328; else goto L_02C7F30C;
|
|
L_02C7F30C: ; // 0x2c7f30c
|
|
/* 02C7F30C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F310 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 02C7F314 */ _t43 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F314 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C7F318 */ cpu->r[5] = cpu->r[5] + 0x000033DCu;
|
|
/* 02C7F31C */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F324 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F324 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C7F324 */ if (_t45) goto L_02C7F328; else goto L_02C7F348;
|
|
L_02C7F328: ; // 0x2c7f328
|
|
/* 02C7F328 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F328 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C7F32C */ _t47 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7F32C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C7F330 */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 02C7F330 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C7F334 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F338 */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7F338 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C7F33C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7F340 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F344 */ return;
|
|
L_02C7F348: ; // 0x2c7f348
|
|
/* 02C7F348 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F348 */ cpu->r[29] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C7F34C */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7F34C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C7F350 */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 02C7F350 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C7F354 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F358 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7F358 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C7F35C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7F360 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7F364 */ return;
|
|
}
|
|
|
|
// fn_02C7F13C @ 0x2c7f13c
|
|
void Gambit_fn_02C7F13C(CPUState* 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_02C7F13C: ; // 0x2c7f13c
|
|
/* 02C7F13C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C7F13C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F13C */ cpu->r[1] = _t0;
|
|
/* 02C7F140 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02C7F140 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7F144 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7F148 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7F148 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7F14C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F150 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C7F154 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F154 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7F158 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7F158 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7F15C */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7F160 */ cpu->r[4] = 0x00010000u;
|
|
/* 02C7F164 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7F168 */ cpu->r[4] = cpu->r[4] + 0xFFFFA100u;
|
|
/* 02C7F16C */ Gambit_fn_02C7F604(cpu);
|
|
/* 02C7F170 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7F170 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C7F174 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7F178 */ cpu->r[6] = cpu->r[30];
|
|
/* 02C7F17C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F180 */ cpu->r[5] = 0x00000002u;
|
|
/* 02C7F184 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C7F188 */ Gambit_fn_02C7EAE8(cpu);
|
|
/* 02C7F18C */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F190 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7F194 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F198 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C7F19C */ cpu->r[7] = 0x00000001u;
|
|
/* 02C7F1A0 */ Gambit_fn_02C7E7F0(cpu);
|
|
/* 02C7F1A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F1A8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F1A8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7F1A8 */ if (_t7) goto L_02C7F328; else goto L_02C7F1AC;
|
|
L_02C7F1AC: ; // 0x2c7f1ac
|
|
/* 02C7F1AC */ cpu->r[7] = 0x00000001u;
|
|
/* 02C7F1B0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C7F1B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F1B8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7F1BC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F1C0 */ Gambit_fn_02C7E6EC(cpu);
|
|
/* 02C7F1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F1C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F1C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7F1C8 */ if (_t9) goto L_02C7F328; else goto L_02C7F1CC;
|
|
L_02C7F1CC: ; // 0x2c7f1cc
|
|
/* 02C7F1CC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F1CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7F1D0 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C7F1D4 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C7F1D8 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C7F1DC */ cpu->r[6] = cpu->r[6] + 0xFFFFC140u;
|
|
/* 02C7F1E0 */ cpu->r[8] = 0x00000001u;
|
|
/* 02C7F1E4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F1E8 */ Gambit_fn_02C7E41C(cpu);
|
|
/* 02C7F1EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F1F0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F1F0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7F1F0 */ if (_t12) goto L_02C7F328; else goto L_02C7F1F4;
|
|
L_02C7F1F4: ; // 0x2c7f1f4
|
|
/* 02C7F1F4 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F1F8 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 02C7F1FC */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F1FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7F200 */ cpu->r[5] = cpu->r[5] + 0x000033BCu;
|
|
/* 02C7F204 */ Gambit_fn_02C7E888(cpu);
|
|
/* 02C7F208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F20C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F20C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C7F20C */ if (_t15) goto L_02C7F328; else goto L_02C7F210;
|
|
L_02C7F210: ; // 0x2c7f210
|
|
/* 02C7F210 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F214 */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 02C7F218 */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F218 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7F21C */ cpu->r[5] = cpu->r[5] + 0x000033C4u;
|
|
/* 02C7F220 */ Gambit_fn_02C7E888(cpu);
|
|
/* 02C7F224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F228 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F228 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C7F228 */ if (_t18) goto L_02C7F328; else goto L_02C7F22C;
|
|
L_02C7F22C: ; // 0x2c7f22c
|
|
/* 02C7F22C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F230 */ cpu->r[3] = cpu->r[31] + 0x00000038u;
|
|
/* 02C7F234 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F234 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7F238 */ cpu->r[5] = cpu->r[5] + 0x000033CCu;
|
|
/* 02C7F23C */ Gambit_fn_02C7E888(cpu);
|
|
/* 02C7F240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F244 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F244 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C7F244 */ if (_t21) goto L_02C7F328; else goto L_02C7F248;
|
|
L_02C7F248: ; // 0x2c7f248
|
|
/* 02C7F248 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F24C */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C7F250 */ _t22 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F250 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C7F254 */ cpu->r[5] = cpu->r[5] + 0x000033E8u;
|
|
/* 02C7F258 */ Gambit_fn_02C7E888(cpu);
|
|
/* 02C7F25C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F260 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F260 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C7F260 */ if (_t24) goto L_02C7F328; else goto L_02C7F264;
|
|
L_02C7F264: ; // 0x2c7f264
|
|
/* 02C7F264 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F268 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02C7F26C */ _t25 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F26C */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C7F270 */ cpu->r[5] = cpu->r[5] + 0x000033D4u;
|
|
/* 02C7F274 */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F27C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F27C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C7F27C */ if (_t27) goto L_02C7F328; else goto L_02C7F280;
|
|
L_02C7F280: ; // 0x2c7f280
|
|
/* 02C7F280 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F284 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02C7F288 */ _t28 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F288 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C7F28C */ cpu->r[5] = cpu->r[5] + 0x000033A8u;
|
|
/* 02C7F290 */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F298 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F298 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C7F298 */ if (_t30) goto L_02C7F328; else goto L_02C7F29C;
|
|
L_02C7F29C: ; // 0x2c7f29c
|
|
/* 02C7F29C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F2A0 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02C7F2A4 */ _t31 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F2A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C7F2A8 */ cpu->r[5] = cpu->r[5] + 0x000033B0u;
|
|
/* 02C7F2AC */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F2B4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F2B4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C7F2B4 */ if (_t33) goto L_02C7F328; else goto L_02C7F2B8;
|
|
L_02C7F2B8: ; // 0x2c7f2b8
|
|
/* 02C7F2B8 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F2BC */ cpu->r[3] = cpu->r[31] + 0x0000004Cu;
|
|
/* 02C7F2C0 */ _t34 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F2C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C7F2C4 */ cpu->r[5] = cpu->r[5] + 0x000033F4u;
|
|
/* 02C7F2C8 */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F2CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F2D0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F2D0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C7F2D0 */ if (_t36) goto L_02C7F328; else goto L_02C7F2D4;
|
|
L_02C7F2D4: ; // 0x2c7f2d4
|
|
/* 02C7F2D4 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F2D8 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02C7F2DC */ _t37 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F2DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C7F2E0 */ cpu->r[5] = cpu->r[5] + 0x000033B8u;
|
|
/* 02C7F2E4 */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F2EC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F2EC */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C7F2EC */ if (_t39) goto L_02C7F328; else goto L_02C7F2F0;
|
|
L_02C7F2F0: ; // 0x2c7f2f0
|
|
/* 02C7F2F0 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F2F4 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
|
|
/* 02C7F2F8 */ _t40 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F2F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C7F2FC */ cpu->r[5] = cpu->r[5] + 0x00003400u;
|
|
/* 02C7F300 */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F308 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F308 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C7F308 */ if (_t42) goto L_02C7F328; else goto L_02C7F30C;
|
|
L_02C7F30C: ; // 0x2c7f30c
|
|
/* 02C7F30C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C7F310 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 02C7F314 */ _t43 = cpu->r[31] + 0x00000008u;
|
|
/* 02C7F314 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C7F318 */ cpu->r[5] = cpu->r[5] + 0x000033DCu;
|
|
/* 02C7F31C */ Gambit_fn_02C7E7F4(cpu);
|
|
/* 02C7F320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F324 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F324 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C7F324 */ if (_t45) goto L_02C7F328; else goto L_02C7F348;
|
|
L_02C7F328: ; // 0x2c7f328
|
|
/* 02C7F328 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F328 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C7F32C */ _t47 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7F32C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C7F330 */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 02C7F330 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C7F334 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F338 */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7F338 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C7F33C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7F340 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F344 */ return;
|
|
L_02C7F348: ; // 0x2c7f348
|
|
/* 02C7F348 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F348 */ cpu->r[29] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C7F34C */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C7F34C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C7F350 */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 02C7F350 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C7F354 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F358 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7F358 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C7F35C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C7F360 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7F364 */ return;
|
|
}
|
|
|
|
// fn_02C7F368 @ 0x2c7f368
|
|
void Gambit_fn_02C7F368(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C7F368: ; // 0x2c7f368
|
|
/* 02C7F368 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F36C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7F36C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7F370 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7F370 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7F370 */ cpu->r[1] = _t1;
|
|
/* 02C7F374 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F374 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7F378 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C7F37C */ rbrew_dispatch(cpu, 0x02d062c8u);
|
|
/* 02C7F380 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F384 */ rbrew_dispatch(cpu, 0x02d06030u);
|
|
/* 02C7F388 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7F38C */ cpu->lr = cpu->r[0];
|
|
/* 02C7F390 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F394 */ return;
|
|
}
|
|
|
|
// fn_02C7F370 @ 0x2c7f370
|
|
void Gambit_fn_02C7F370(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C7F370: ; // 0x2c7f370
|
|
/* 02C7F370 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7F370 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F370 */ cpu->r[1] = _t0;
|
|
/* 02C7F374 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F374 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C7F378 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C7F37C */ rbrew_dispatch(cpu, 0x02d062c8u);
|
|
/* 02C7F380 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F384 */ rbrew_dispatch(cpu, 0x02d06030u);
|
|
/* 02C7F388 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7F38C */ cpu->lr = cpu->r[0];
|
|
/* 02C7F390 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F394 */ return;
|
|
}
|
|
|
|
// fn_02C7F398 @ 0x2c7f398
|
|
void Gambit_fn_02C7F398(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7F398: ; // 0x2c7f398
|
|
/* 02C7F398 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F398 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7F39C */ rbrew_dispatch(cpu, 0x02d06030u); return;
|
|
}
|
|
|
|
// fn_02C7F3A0 @ 0x2c7f3a0
|
|
void Gambit_fn_02C7F3A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7F3A0: ; // 0x2c7f3a0
|
|
/* 02C7F3A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F3A4 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C7F3A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F3A4 */ cpu->r[1] = _t0;
|
|
/* 02C7F3A8 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C7F3A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F3AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F3B0 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C7F3B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F3B8 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02C7F3B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7F3BC */ Gambit_fn_02C69034(cpu);
|
|
/* 02C7F3C0 */ cpu->r[4] = 0x00000010u;
|
|
/* 02C7F3C4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F3C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7F3CC */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
/* 02C7F3D0 */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 02C7F3D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7F3D4 */ _t4 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C7F3D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7F3D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F3DC */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C7F3E0 */ return;
|
|
}
|
|
|
|
// fn_02C7F3A4 @ 0x2c7f3a4
|
|
void Gambit_fn_02C7F3A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7F3A4: ; // 0x2c7f3a4
|
|
/* 02C7F3A4 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C7F3A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F3A4 */ cpu->r[1] = _t0;
|
|
/* 02C7F3A8 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C7F3A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F3AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F3B0 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C7F3B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F3B8 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02C7F3B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7F3BC */ Gambit_fn_02C69034(cpu);
|
|
/* 02C7F3C0 */ cpu->r[4] = 0x00000010u;
|
|
/* 02C7F3C4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F3C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7F3CC */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
/* 02C7F3D0 */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 02C7F3D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7F3D4 */ _t4 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C7F3D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7F3D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F3DC */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C7F3E0 */ return;
|
|
}
|
|
|
|
// fn_02C7F3E4 @ 0x2c7f3e4
|
|
void Gambit_fn_02C7F3E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C7F3E4: ; // 0x2c7f3e4
|
|
/* 02C7F3E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F3E8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7F3E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7F3EC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C7F3F0 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7F3F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7F3F0 */ cpu->r[1] = _t1;
|
|
/* 02C7F3F4 */ _t2 = cpu->r[12] + 0x0000340Cu;
|
|
/* 02C7F3F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7F3F4 */ cpu->r[12] = _t2;
|
|
/* 02C7F3F8 */ _t3 = cpu->r[12] + 0x00000008u;
|
|
/* 02C7F3F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7F3FC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F3FC */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 02C7F400 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F400 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02C7F404 */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02C7F404 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C7F408 */ _t7 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7F408 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7F40C */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F40C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 02C7F410 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C7F410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7F414 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 02C7F414 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C7F418 */ _t11 = cpu->r[4] + 0x00000004u;
|
|
/* 02C7F418 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C7F41C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F41C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 02C7F420 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C7F424 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F424 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 02C7F428 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F428 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02C7F42C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F430 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F430 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 02C7F434 */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
/* 02C7F438 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7F438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7F43C */ cpu->lr = cpu->r[0];
|
|
/* 02C7F440 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7F444 */ return;
|
|
}
|
|
|
|
// fn_02C7F3F0 @ 0x2c7f3f0
|
|
void Gambit_fn_02C7F3F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C7F3F0: ; // 0x2c7f3f0
|
|
/* 02C7F3F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7F3F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F3F0 */ cpu->r[1] = _t0;
|
|
/* 02C7F3F4 */ _t1 = cpu->r[12] + 0x0000340Cu;
|
|
/* 02C7F3F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C7F3F4 */ cpu->r[12] = _t1;
|
|
/* 02C7F3F8 */ _t2 = cpu->r[12] + 0x00000008u;
|
|
/* 02C7F3F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7F3FC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F3FC */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02C7F400 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F400 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C7F404 */ _t5 = cpu->r[4] + 0x00000008u;
|
|
/* 02C7F404 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C7F408 */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7F408 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7F40C */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F40C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 02C7F410 */ _t8 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C7F410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7F414 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02C7F414 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C7F418 */ _t10 = cpu->r[4] + 0x00000004u;
|
|
/* 02C7F418 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C7F41C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F41C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02C7F420 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C7F424 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F424 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02C7F428 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F428 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02C7F42C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F430 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F430 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[12]);
|
|
/* 02C7F434 */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
/* 02C7F438 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7F438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7F43C */ cpu->lr = cpu->r[0];
|
|
/* 02C7F440 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7F444 */ return;
|
|
}
|
|
|
|
// fn_02C7F448 @ 0x2c7f448
|
|
void Gambit_fn_02C7F448(CPUState* cpu) {
|
|
L_02C7F448: ; // 0x2c7f448
|
|
/* 02C7F448 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C7F44C */ cpu->r[4] = 0x00000004u;
|
|
/* 02C7F450 */ rbrew_dispatch(cpu, 0x02d06160u); return;
|
|
}
|
|
|
|
// fn_02C7F454 @ 0x2c7f454
|
|
void Gambit_fn_02C7F454(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C7F454: ; // 0x2c7f454
|
|
/* 02C7F454 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F458 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7F458 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7F45C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C7F460 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7F460 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7F460 */ cpu->r[1] = _t1;
|
|
/* 02C7F464 */ _t2 = cpu->r[12] + 0x0000341Cu;
|
|
/* 02C7F464 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7F464 */ cpu->r[12] = _t2;
|
|
/* 02C7F468 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7F468 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7F46C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F46C */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 02C7F470 */ _t5 = cpu->r[12] + 0x00000008u;
|
|
/* 02C7F470 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7F474 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F474 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02C7F478 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F478 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C7F47C */ _t8 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C7F47C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7F480 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C7F484 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F484 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[1]);
|
|
/* 02C7F488 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F48C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F48C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C7F490 */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
/* 02C7F494 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7F494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7F498 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F49C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7F4A0 */ return;
|
|
}
|
|
|
|
// fn_02C7F460 @ 0x2c7f460
|
|
void Gambit_fn_02C7F460(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7F460: ; // 0x2c7f460
|
|
/* 02C7F460 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C7F460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F460 */ cpu->r[1] = _t0;
|
|
/* 02C7F464 */ _t1 = cpu->r[12] + 0x0000341Cu;
|
|
/* 02C7F464 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C7F464 */ cpu->r[12] = _t1;
|
|
/* 02C7F468 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7F468 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7F46C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F46C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02C7F470 */ _t4 = cpu->r[12] + 0x00000008u;
|
|
/* 02C7F470 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7F474 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F474 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02C7F478 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F478 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02C7F47C */ _t7 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C7F47C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7F480 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C7F484 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F484 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
|
|
/* 02C7F488 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F48C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F48C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C7F490 */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
/* 02C7F494 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02C7F494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7F498 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F49C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C7F4A0 */ return;
|
|
}
|
|
|
|
// fn_02C7F4A4 @ 0x2c7f4a4
|
|
void Gambit_fn_02C7F4A4(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_02C7F4A4: ; // 0x2c7f4a4
|
|
/* 02C7F4A4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F4A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7F4A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F4A8 */ cpu->r[1] = _t0;
|
|
/* 02C7F4AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F4AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F4B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F4B4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F4B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7F4B8 */ cpu->r[4] = cpu->r[31] + 0x000000DCu;
|
|
/* 02C7F4BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F4BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7F4C0 */ _t4 = cpu->r[31] + 0x00000030u;
|
|
/* 02C7F4C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7F4C4 */ cpu->r[30] = cpu->r[31] + 0x0000005Cu;
|
|
/* 02C7F4C8 */ Gambit_fn_02C7F3A0(cpu);
|
|
/* 02C7F4CC */ _t5 = cpu->r[31] + 0x00000034u;
|
|
/* 02C7F4CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7F4D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7F4D4 */ Gambit_fn_02C7F3A0(cpu);
|
|
/* 02C7F4D8 */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 02C7F4D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7F4DC */ cpu->r[4] = cpu->r[31] + 0x0000009Cu;
|
|
/* 02C7F4E0 */ Gambit_fn_02C7F3A0(cpu);
|
|
/* 02C7F4E4 */ _t7 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C7F4E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7F4E8 */ cpu->r[4] = cpu->r[30] + 0x000000C0u;
|
|
/* 02C7F4EC */ Gambit_fn_02C7F3E4(cpu);
|
|
/* 02C7F4F0 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02C7F4F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7F4F4 */ cpu->r[4] = cpu->r[31] + 0x00000128u;
|
|
/* 02C7F4F8 */ Gambit_fn_02C7F448(cpu);
|
|
/* 02C7F4FC */ _t9 = cpu->r[31] + 0x00000044u;
|
|
/* 02C7F4FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7F500 */ cpu->r[4] = cpu->r[31] + 0x00000138u;
|
|
/* 02C7F504 */ Gambit_fn_02C7F448(cpu);
|
|
/* 02C7F508 */ _t10 = cpu->r[31] + 0x00000048u;
|
|
/* 02C7F508 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7F50C */ cpu->r[4] = cpu->r[31] + 0x00000148u;
|
|
/* 02C7F510 */ Gambit_fn_02C7F448(cpu);
|
|
/* 02C7F514 */ _t11 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02C7F514 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7F518 */ cpu->r[4] = cpu->r[30] + 0x000000FCu;
|
|
/* 02C7F51C */ Gambit_fn_02C7F448(cpu);
|
|
/* 02C7F520 */ _t12 = cpu->r[31] + 0x00000050u;
|
|
/* 02C7F520 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7F524 */ cpu->r[4] = cpu->r[31] + 0x00000168u;
|
|
/* 02C7F528 */ Gambit_fn_02C7F448(cpu);
|
|
/* 02C7F52C */ _t13 = cpu->r[31] + 0x00000054u;
|
|
/* 02C7F52C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7F530 */ _t14 = cpu->r[31] + 0x00000178u;
|
|
/* 02C7F530 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C7F534 */ Gambit_fn_02C7F454(cpu);
|
|
/* 02C7F538 */ _t15 = cpu->r[31] + 0x00000058u;
|
|
/* 02C7F538 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7F53C */ _t16 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02C7F53C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C7F540 */ Gambit_fn_02C7F454(cpu);
|
|
/* 02C7F544 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C7F548 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F548 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C7F54C */ cpu->lr = cpu->r[0];
|
|
/* 02C7F550 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F550 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7F554 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F558 */ return;
|
|
}
|
|
|
|
// fn_02C7F4A8 @ 0x2c7f4a8
|
|
void Gambit_fn_02C7F4A8(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_02C7F4A8: ; // 0x2c7f4a8
|
|
/* 02C7F4A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7F4A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F4A8 */ cpu->r[1] = _t0;
|
|
/* 02C7F4AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F4AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F4B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F4B4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F4B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7F4B8 */ cpu->r[4] = cpu->r[31] + 0x000000DCu;
|
|
/* 02C7F4BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F4BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7F4C0 */ _t4 = cpu->r[31] + 0x00000030u;
|
|
/* 02C7F4C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7F4C4 */ cpu->r[30] = cpu->r[31] + 0x0000005Cu;
|
|
/* 02C7F4C8 */ Gambit_fn_02C7F3A0(cpu);
|
|
/* 02C7F4CC */ _t5 = cpu->r[31] + 0x00000034u;
|
|
/* 02C7F4CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7F4D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7F4D4 */ Gambit_fn_02C7F3A0(cpu);
|
|
/* 02C7F4D8 */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 02C7F4D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7F4DC */ cpu->r[4] = cpu->r[31] + 0x0000009Cu;
|
|
/* 02C7F4E0 */ Gambit_fn_02C7F3A0(cpu);
|
|
/* 02C7F4E4 */ _t7 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C7F4E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7F4E8 */ cpu->r[4] = cpu->r[30] + 0x000000C0u;
|
|
/* 02C7F4EC */ Gambit_fn_02C7F3E4(cpu);
|
|
/* 02C7F4F0 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02C7F4F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7F4F4 */ cpu->r[4] = cpu->r[31] + 0x00000128u;
|
|
/* 02C7F4F8 */ Gambit_fn_02C7F448(cpu);
|
|
/* 02C7F4FC */ _t9 = cpu->r[31] + 0x00000044u;
|
|
/* 02C7F4FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7F500 */ cpu->r[4] = cpu->r[31] + 0x00000138u;
|
|
/* 02C7F504 */ Gambit_fn_02C7F448(cpu);
|
|
/* 02C7F508 */ _t10 = cpu->r[31] + 0x00000048u;
|
|
/* 02C7F508 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7F50C */ cpu->r[4] = cpu->r[31] + 0x00000148u;
|
|
/* 02C7F510 */ Gambit_fn_02C7F448(cpu);
|
|
/* 02C7F514 */ _t11 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02C7F514 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7F518 */ cpu->r[4] = cpu->r[30] + 0x000000FCu;
|
|
/* 02C7F51C */ Gambit_fn_02C7F448(cpu);
|
|
/* 02C7F520 */ _t12 = cpu->r[31] + 0x00000050u;
|
|
/* 02C7F520 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7F524 */ cpu->r[4] = cpu->r[31] + 0x00000168u;
|
|
/* 02C7F528 */ Gambit_fn_02C7F448(cpu);
|
|
/* 02C7F52C */ _t13 = cpu->r[31] + 0x00000054u;
|
|
/* 02C7F52C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7F530 */ _t14 = cpu->r[31] + 0x00000178u;
|
|
/* 02C7F530 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C7F534 */ Gambit_fn_02C7F454(cpu);
|
|
/* 02C7F538 */ _t15 = cpu->r[31] + 0x00000058u;
|
|
/* 02C7F538 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7F53C */ _t16 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02C7F53C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C7F540 */ Gambit_fn_02C7F454(cpu);
|
|
/* 02C7F544 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C7F548 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F548 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C7F54C */ cpu->lr = cpu->r[0];
|
|
/* 02C7F550 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F550 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7F554 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F558 */ return;
|
|
}
|
|
|
|
// fn_02C7F55C @ 0x2c7f55c
|
|
void Gambit_fn_02C7F55C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7F55C: ; // 0x2c7f55c
|
|
/* 02C7F55C */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F560 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7F560 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F560 */ cpu->r[1] = _t0;
|
|
/* 02C7F564 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F564 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C7F568 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F568 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7F56C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F56C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C7F570 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F570 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7F574 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C7F578 */ _t5 = cpu->r[29] + 0x00000004u;
|
|
/* 02C7F578 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7F57C */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C7F580 */ _t6 = cpu->r[29] + 0x00000008u;
|
|
/* 02C7F580 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7F584 */ rbrew_dispatch(cpu, 0x02d060b0u);
|
|
/* 02C7F588 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7F58C */ rbrew_dispatch(cpu, 0x02d06290u);
|
|
/* 02C7F590 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7F594 */ rbrew_dispatch(cpu, 0x02d06148u);
|
|
/* 02C7F598 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7F59C */ Gambit_fn_02C7F4A4(cpu);
|
|
/* 02C7F5A0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F5A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7F5A4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F5A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7F5A8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F5A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7F5AC */ cpu->lr = cpu->r[0];
|
|
/* 02C7F5B0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F5B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7F5B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7F5B8 */ return;
|
|
}
|
|
|
|
// fn_02C7F560 @ 0x2c7f560
|
|
void Gambit_fn_02C7F560(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7F560: ; // 0x2c7f560
|
|
/* 02C7F560 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7F560 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F560 */ cpu->r[1] = _t0;
|
|
/* 02C7F564 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F564 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C7F568 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F568 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7F56C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F56C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C7F570 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F570 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7F574 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C7F578 */ _t5 = cpu->r[29] + 0x00000004u;
|
|
/* 02C7F578 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7F57C */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C7F580 */ _t6 = cpu->r[29] + 0x00000008u;
|
|
/* 02C7F580 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7F584 */ rbrew_dispatch(cpu, 0x02d060b0u);
|
|
/* 02C7F588 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7F58C */ rbrew_dispatch(cpu, 0x02d06290u);
|
|
/* 02C7F590 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7F594 */ rbrew_dispatch(cpu, 0x02d06148u);
|
|
/* 02C7F598 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7F59C */ Gambit_fn_02C7F4A4(cpu);
|
|
/* 02C7F5A0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F5A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7F5A4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F5A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7F5A8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F5A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7F5AC */ cpu->lr = cpu->r[0];
|
|
/* 02C7F5B0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F5B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7F5B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7F5B8 */ return;
|
|
}
|
|
|
|
// fn_02C7F5BC @ 0x2c7f5bc
|
|
void Gambit_fn_02C7F5BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C7F5BC: ; // 0x2c7f5bc
|
|
/* 02C7F5BC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F5BC */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02C7F5C0 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F5C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02C7F5C4 */ return;
|
|
}
|
|
|
|
// fn_02C7F5C8 @ 0x2c7f5c8
|
|
void Gambit_fn_02C7F5C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C7F5BC: ; // 0x2c7f5bc
|
|
/* 02C7F5BC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F5BC */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02C7F5C0 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F5C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02C7F5C4 */ return;
|
|
L_02C7F5C8: ; // 0x2c7f5c8
|
|
/* 02C7F5C8 */ goto L_02C7F5BC;
|
|
}
|
|
|
|
// fn_02C7F5CC @ 0x2c7f5cc
|
|
void Gambit_fn_02C7F5CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7F5CC: ; // 0x2c7f5cc
|
|
/* 02C7F5CC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F5CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7F5D0 */ cpu->r[8] = cpu->r[9] + cpu->r[5];
|
|
/* 02C7F5D4 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C7F5D8 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C7F5DC */ _t1 = ~cpu->r[0];
|
|
/* 02C7F5DC */ cpu->r[12] = cpu->r[10] & _t1;
|
|
/* 02C7F5E0 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F5E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7F5E4 */ cpu->r[11] = cpu->r[12] - cpu->r[9];
|
|
/* 02C7F5E8 */ cpu->r[0] = cpu->r[12] + cpu->r[4];
|
|
/* 02C7F5EC */ cpu->r[8] = cpu->r[11] + cpu->r[4];
|
|
/* 02C7F5F0 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F5F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7F5F4 */ cpu->r[10] = cpu->r[10] - cpu->r[8];
|
|
/* 02C7F5F8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F5F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C7F5FC */ cpu->r[3] = cpu->r[12];
|
|
/* 02C7F600 */ return;
|
|
}
|
|
|
|
// fn_02C7F604 @ 0x2c7f604
|
|
void Gambit_fn_02C7F604(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7F5CC: ; // 0x2c7f5cc
|
|
/* 02C7F5CC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F5CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7F5D0 */ cpu->r[8] = cpu->r[9] + cpu->r[5];
|
|
/* 02C7F5D4 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C7F5D8 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C7F5DC */ _t1 = ~cpu->r[0];
|
|
/* 02C7F5DC */ cpu->r[12] = cpu->r[10] & _t1;
|
|
/* 02C7F5E0 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F5E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7F5E4 */ cpu->r[11] = cpu->r[12] - cpu->r[9];
|
|
/* 02C7F5E8 */ cpu->r[0] = cpu->r[12] + cpu->r[4];
|
|
/* 02C7F5EC */ cpu->r[8] = cpu->r[11] + cpu->r[4];
|
|
/* 02C7F5F0 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F5F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7F5F4 */ cpu->r[10] = cpu->r[10] - cpu->r[8];
|
|
/* 02C7F5F8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F5F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C7F5FC */ cpu->r[3] = cpu->r[12];
|
|
/* 02C7F600 */ return;
|
|
L_02C7F604: ; // 0x2c7f604
|
|
/* 02C7F604 */ goto L_02C7F5CC;
|
|
}
|
|
|
|
// fn_02C7F608 @ 0x2c7f608
|
|
void Gambit_fn_02C7F608(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7F5CC: ; // 0x2c7f5cc
|
|
/* 02C7F5CC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F5CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7F5D0 */ cpu->r[8] = cpu->r[9] + cpu->r[5];
|
|
/* 02C7F5D4 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C7F5D8 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C7F5DC */ _t1 = ~cpu->r[0];
|
|
/* 02C7F5DC */ cpu->r[12] = cpu->r[10] & _t1;
|
|
/* 02C7F5E0 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F5E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7F5E4 */ cpu->r[11] = cpu->r[12] - cpu->r[9];
|
|
/* 02C7F5E8 */ cpu->r[0] = cpu->r[12] + cpu->r[4];
|
|
/* 02C7F5EC */ cpu->r[8] = cpu->r[11] + cpu->r[4];
|
|
/* 02C7F5F0 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F5F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7F5F4 */ cpu->r[10] = cpu->r[10] - cpu->r[8];
|
|
/* 02C7F5F8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F5F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C7F5FC */ cpu->r[3] = cpu->r[12];
|
|
/* 02C7F600 */ return;
|
|
L_02C7F608: ; // 0x2c7f608
|
|
/* 02C7F608 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C7F60C */ goto L_02C7F5CC;
|
|
}
|
|
|
|
// fn_02C7F610 @ 0x2c7f610
|
|
void Gambit_fn_02C7F610(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7F5CC: ; // 0x2c7f5cc
|
|
/* 02C7F5CC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F5CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7F5D0 */ cpu->r[8] = cpu->r[9] + cpu->r[5];
|
|
/* 02C7F5D4 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C7F5D8 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C7F5DC */ _t1 = ~cpu->r[0];
|
|
/* 02C7F5DC */ cpu->r[12] = cpu->r[10] & _t1;
|
|
/* 02C7F5E0 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F5E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7F5E4 */ cpu->r[11] = cpu->r[12] - cpu->r[9];
|
|
/* 02C7F5E8 */ cpu->r[0] = cpu->r[12] + cpu->r[4];
|
|
/* 02C7F5EC */ cpu->r[8] = cpu->r[11] + cpu->r[4];
|
|
/* 02C7F5F0 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F5F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7F5F4 */ cpu->r[10] = cpu->r[10] - cpu->r[8];
|
|
/* 02C7F5F8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F5F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C7F5FC */ cpu->r[3] = cpu->r[12];
|
|
/* 02C7F600 */ return;
|
|
L_02C7F608: ; // 0x2c7f608
|
|
/* 02C7F608 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C7F60C */ goto L_02C7F5CC;
|
|
L_02C7F610: ; // 0x2c7f610
|
|
/* 02C7F610 */ goto L_02C7F608;
|
|
}
|
|
|
|
// fn_02C7F614 @ 0x2c7f614
|
|
void Gambit_fn_02C7F614(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7F614: ; // 0x2c7f614
|
|
/* 02C7F614 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F614 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7F618 */ return;
|
|
}
|
|
|
|
// fn_02C7F61C @ 0x2c7f61c
|
|
void Gambit_fn_02C7F61C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C7F61C: ; // 0x2c7f61c
|
|
/* 02C7F61C */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F620 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7F620 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F620 */ cpu->r[1] = _t0;
|
|
/* 02C7F624 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F624 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F628 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F628 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7F62C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7F630 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7F634 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F634 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7F638 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F638 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7F63C */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7F63C */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7F640 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C7F644 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7F648 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7F64C */ cpu->r[0] = cpu->r[3] + cpu->r[31];
|
|
/* 02C7F650 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7F654 */ cpu->r[11] = cpu->r[0] - cpu->r[29];
|
|
/* 02C7F658 */ Gambit_fn_02C7F614(cpu);
|
|
/* 02C7F65C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F65C */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7F660 */ cpu->r[0] = cpu->r[3] - cpu->r[11];
|
|
/* 02C7F664 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7F668 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C7F66C */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F66C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7F670 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F674 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F674 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7F678 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7F67C */ cpu->r[3] = cpu->r[10];
|
|
/* 02C7F680 */ return;
|
|
}
|
|
|
|
// fn_02C7F620 @ 0x2c7f620
|
|
void Gambit_fn_02C7F620(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C7F620: ; // 0x2c7f620
|
|
/* 02C7F620 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7F620 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F620 */ cpu->r[1] = _t0;
|
|
/* 02C7F624 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F624 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F628 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F628 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7F62C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7F630 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7F634 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F634 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7F638 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F638 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7F63C */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C7F63C */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7F640 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C7F644 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C7F648 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7F64C */ cpu->r[0] = cpu->r[3] + cpu->r[31];
|
|
/* 02C7F650 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7F654 */ cpu->r[11] = cpu->r[0] - cpu->r[29];
|
|
/* 02C7F658 */ Gambit_fn_02C7F614(cpu);
|
|
/* 02C7F65C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F65C */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7F660 */ cpu->r[0] = cpu->r[3] - cpu->r[11];
|
|
/* 02C7F664 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7F668 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C7F66C */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F66C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7F670 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F674 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F674 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7F678 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7F67C */ cpu->r[3] = cpu->r[10];
|
|
/* 02C7F680 */ return;
|
|
}
|
|
|
|
// fn_02C7F684 @ 0x2c7f684
|
|
void Gambit_fn_02C7F684(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C7F684: ; // 0x2c7f684
|
|
/* 02C7F684 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F688 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7F688 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F688 */ cpu->r[1] = _t0;
|
|
/* 02C7F68C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F68C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F690 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F690 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7F694 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7F698 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7F69C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F69C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7F6A0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F6A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7F6A4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7F6A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F6A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7F6A8 */ if (_t6) goto L_02C7F6AC; else goto L_02C7F6BC;
|
|
L_02C7F6AC: ; // 0x2c7f6ac
|
|
/* 02C7F6AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C7F6B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7F6B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7F6B8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F6B8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7F6B8 */ if (_t8) goto L_02C7F6D8; else goto L_02C7F6BC;
|
|
L_02C7F6BC: ; // 0x2c7f6bc
|
|
/* 02C7F6BC */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C7F6C0 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F6C4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7F6C8 */ cpu->r[0] = cpu->r[0] + 0x00003454u;
|
|
/* 02C7F6CC */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7F6D0 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7F6D0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C7F6D4 */ Gambit_fn_02C7F5BC(cpu);
|
|
L_02C7F6D8: ; // 0x2c7f6d8
|
|
/* 02C7F6D8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F6D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7F6DC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F6DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7F6E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7F6E4 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F6E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7F6E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F6EC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F6EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7F6F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7F6F4 */ return;
|
|
}
|
|
|
|
// fn_02C7F688 @ 0x2c7f688
|
|
void Gambit_fn_02C7F688(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C7F688: ; // 0x2c7f688
|
|
/* 02C7F688 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7F688 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F688 */ cpu->r[1] = _t0;
|
|
/* 02C7F68C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F68C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F690 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F690 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7F694 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C7F698 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7F69C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F69C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7F6A0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F6A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7F6A4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7F6A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F6A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7F6A8 */ if (_t6) goto L_02C7F6AC; else goto L_02C7F6BC;
|
|
L_02C7F6AC: ; // 0x2c7f6ac
|
|
/* 02C7F6AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C7F6B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7F6B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7F6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C7F6B8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F6B8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7F6B8 */ if (_t8) goto L_02C7F6D8; else goto L_02C7F6BC;
|
|
L_02C7F6BC: ; // 0x2c7f6bc
|
|
/* 02C7F6BC */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C7F6C0 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02C7F6C4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7F6C8 */ cpu->r[0] = cpu->r[0] + 0x00003454u;
|
|
/* 02C7F6CC */ cpu->r[5] = cpu->r[30];
|
|
/* 02C7F6D0 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C7F6D0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C7F6D4 */ Gambit_fn_02C7F5BC(cpu);
|
|
L_02C7F6D8: ; // 0x2c7f6d8
|
|
/* 02C7F6D8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F6D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7F6DC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7F6DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7F6E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7F6E4 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F6E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7F6E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F6EC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F6EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7F6F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7F6F4 */ return;
|
|
}
|
|
|
|
// fn_02C7F6F8 @ 0x2c7f6f8
|
|
void Gambit_fn_02C7F6F8(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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 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 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) 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 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C7F6F8: ; // 0x2c7f6f8
|
|
/* 02C7F6F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F6FC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F6FC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C7F6FC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C7F6FC */ goto L_02C7F700;
|
|
L_02C7F700: ; // 0x2c7f700
|
|
/* 02C7F700 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C7F700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7F704 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F704 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C7F704 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C7F704 */ goto L_02C7F708;
|
|
L_02C7F708: ; // 0x2c7f708
|
|
/* 02C7F708 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C7F70C @ 0x2c7f70c
|
|
void Gambit_fn_02C7F70C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7F5CC: ; // 0x2c7f5cc
|
|
/* 02C7F5CC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F5CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C7F5D0 */ cpu->r[8] = cpu->r[9] + cpu->r[5];
|
|
/* 02C7F5D4 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C7F5D8 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C7F5DC */ _t1 = ~cpu->r[0];
|
|
/* 02C7F5DC */ cpu->r[12] = cpu->r[10] & _t1;
|
|
/* 02C7F5E0 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F5E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C7F5E4 */ cpu->r[11] = cpu->r[12] - cpu->r[9];
|
|
/* 02C7F5E8 */ cpu->r[0] = cpu->r[12] + cpu->r[4];
|
|
/* 02C7F5EC */ cpu->r[8] = cpu->r[11] + cpu->r[4];
|
|
/* 02C7F5F0 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7F5F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7F5F4 */ cpu->r[10] = cpu->r[10] - cpu->r[8];
|
|
/* 02C7F5F8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F5F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C7F5FC */ cpu->r[3] = cpu->r[12];
|
|
/* 02C7F600 */ return;
|
|
L_02C7F608: ; // 0x2c7f608
|
|
/* 02C7F608 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C7F60C */ goto L_02C7F5CC;
|
|
L_02C7F70C: ; // 0x2c7f70c
|
|
/* 02C7F70C */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02C7F710 */ goto L_02C7F608;
|
|
}
|
|
|
|
// fn_02C7F714 @ 0x2c7f714
|
|
void Gambit_fn_02C7F714(CPUState* cpu) {
|
|
L_02C7F714: ; // 0x2c7f714
|
|
/* 02C7F714 */ return;
|
|
}
|
|
|
|
// fn_02C7F718 @ 0x2c7f718
|
|
void Gambit_fn_02C7F718(CPUState* cpu) {
|
|
L_02C7F718: ; // 0x2c7f718
|
|
/* 02C7F718 */ return;
|
|
}
|
|
|
|
// fn_02C7F71C @ 0x2c7f71c
|
|
void Gambit_fn_02C7F71C(CPUState* cpu) {
|
|
L_02C7F71C: ; // 0x2c7f71c
|
|
/* 02C7F71C */ cpu->r[0] = cpu->r[3] + 0x00000003u;
|
|
/* 02C7F720 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C7F724 */ return;
|
|
}
|
|
|
|
// fn_02C7F728 @ 0x2c7f728
|
|
void Gambit_fn_02C7F728(CPUState* cpu) {
|
|
L_02C7F728: ; // 0x2c7f728
|
|
/* 02C7F728 */ cpu->r[3] = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C7F72C */ return;
|
|
}
|
|
|
|
// fn_02C7F730 @ 0x2c7f730
|
|
void Gambit_fn_02C7F730(CPUState* cpu) {
|
|
L_02C7F730: ; // 0x2c7f730
|
|
/* 02C7F730 */ cpu->r[3] = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C7F734 */ return;
|
|
}
|
|
|
|
// fn_02C7F738 @ 0x2c7f738
|
|
void Gambit_fn_02C7F738(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C7F738: ; // 0x2c7f738
|
|
/* 02C7F738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000025u);
|
|
/* 02C7F73C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F73C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C7F73C */ if (_t1) goto L_02C7F748; else goto L_02C7F740;
|
|
L_02C7F740: ; // 0x2c7f740
|
|
/* 02C7F740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000005Cu);
|
|
/* 02C7F744 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F744 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7F744 */ if (_t3) goto L_02C7F748; else goto L_02C7F750;
|
|
L_02C7F748: ; // 0x2c7f748
|
|
/* 02C7F748 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F74C */ return;
|
|
L_02C7F750: ; // 0x2c7f750
|
|
/* 02C7F750 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7F754 */ return;
|
|
}
|
|
|
|
// fn_02C7F758 @ 0x2c7f758
|
|
void Gambit_fn_02C7F758(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C7F758: ; // 0x2c7f758
|
|
/* 02C7F758 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F75C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C7F760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]);
|
|
/* 02C7F764 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7F764 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C7F768 */ cpu->r[0] = cpu->r[3];
|
|
/* 02C7F76C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7F76C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7F76C */ cpu->r[1] = _t1;
|
|
/* 02C7F770 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7F770 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7F770 */ if (_t3) goto L_02C7F774; else goto L_02C7F7AC;
|
|
L_02C7F774: ; // 0x2c7f774
|
|
/* 02C7F774 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C7F778 */ _t4 = cpu->r[11] + cpu->r[0];
|
|
/* 02C7F778 */ cpu->r[3] = rbrew_read16(cpu->mem, _t4);
|
|
/* 02C7F77C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F780 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F780 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7F780 */ if (_t6) goto L_02C7F7AC; else goto L_02C7F784;
|
|
L_02C7F784: ; // 0x2c7f784
|
|
/* 02C7F784 */ Gambit_fn_02C7F738(cpu);
|
|
/* 02C7F788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F78C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F78C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7F78C */ if (_t8) goto L_02C7F790; else goto L_02C7F7A0;
|
|
L_02C7F790: ; // 0x2c7f790
|
|
/* 02C7F790 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7F794 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F798 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F79C */ return;
|
|
L_02C7F7A0: ; // 0x2c7f7a0
|
|
/* 02C7F7A0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C7F7A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]);
|
|
/* 02C7F7A8 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7F7A8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7F7A8 */ if (_t11) goto L_02C7F774; else goto L_02C7F7AC;
|
|
L_02C7F7AC: ; // 0x2c7f7ac
|
|
/* 02C7F7AC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C7F7B0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F7B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F7B8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7F7BC */ return;
|
|
}
|
|
|
|
// fn_02C7F76C @ 0x2c7f76c
|
|
void Gambit_fn_02C7F76C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C7F76C: ; // 0x2c7f76c
|
|
/* 02C7F76C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7F76C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F76C */ cpu->r[1] = _t0;
|
|
/* 02C7F770 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7F770 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C7F770 */ if (_t2) goto L_02C7F774; else goto L_02C7F7AC;
|
|
L_02C7F774: ; // 0x2c7f774
|
|
/* 02C7F774 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C7F778 */ _t3 = cpu->r[11] + cpu->r[0];
|
|
/* 02C7F778 */ cpu->r[3] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C7F77C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F780 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F780 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7F780 */ if (_t5) goto L_02C7F7AC; else goto L_02C7F784;
|
|
L_02C7F784: ; // 0x2c7f784
|
|
/* 02C7F784 */ Gambit_fn_02C7F738(cpu);
|
|
/* 02C7F788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F78C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F78C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C7F78C */ if (_t7) goto L_02C7F790; else goto L_02C7F7A0;
|
|
L_02C7F790: ; // 0x2c7f790
|
|
/* 02C7F790 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7F794 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F798 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F79C */ return;
|
|
L_02C7F7A0: ; // 0x2c7f7a0
|
|
/* 02C7F7A0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C7F7A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]);
|
|
/* 02C7F7A8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C7F7A8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C7F7A8 */ if (_t10) goto L_02C7F774; else goto L_02C7F7AC;
|
|
L_02C7F7AC: ; // 0x2c7f7ac
|
|
/* 02C7F7AC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7F7B0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F7B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F7B8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7F7BC */ return;
|
|
}
|
|
|
|
// fn_02C7F7C0 @ 0x2c7f7c0
|
|
void Gambit_fn_02C7F7C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344;
|
|
|
|
L_02C7F7C0: ; // 0x2c7f7c0
|
|
/* 02C7F7C0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7F7C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7F7C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F7C4 */ cpu->r[1] = _t0;
|
|
/* 02C7F7C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F7C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F7CC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7F7D0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F7D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7F7D4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7F7D8 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 02C7F7DC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F7DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7F7E0 */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 02C7F7E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7F7E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F7E8 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F7F0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F7F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7F7F0 */ if (_t6) goto L_02C7F7F4; else goto L_02C7F810;
|
|
L_02C7F7F4: ; // 0x2c7f7f4
|
|
/* 02C7F7F4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F7F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7F7F8 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F7F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7F7FC */ cpu->lr = cpu->r[0];
|
|
/* 02C7F800 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F800 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7F804 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F808 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7F80C */ return;
|
|
L_02C7F810: ; // 0x2c7f810
|
|
/* 02C7F810 */ _t10 = cpu->r[30] + 0x00000008u;
|
|
/* 02C7F810 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7F814 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F818 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C7F81C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F824 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F824 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7F824 */ if (_t12) goto L_02C7F828; else goto L_02C7F844;
|
|
L_02C7F828: ; // 0x2c7f828
|
|
/* 02C7F828 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7F82C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F82C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7F830 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F834 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F834 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7F838 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F83C */ cpu->r[3] = 0x00000002u;
|
|
/* 02C7F840 */ return;
|
|
L_02C7F844: ; // 0x2c7f844
|
|
/* 02C7F844 */ _t16 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C7F844 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7F848 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F84C */ cpu->r[4] = 0x0000000Bu;
|
|
/* 02C7F850 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F858 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F858 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C7F858 */ if (_t18) goto L_02C7F85C; else goto L_02C7F878;
|
|
L_02C7F85C: ; // 0x2c7f85c
|
|
/* 02C7F85C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7F860 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C7F864 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F868 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C7F86C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F870 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C7F874 */ return;
|
|
L_02C7F878: ; // 0x2c7f878
|
|
/* 02C7F878 */ _t22 = cpu->r[30] + 0x00000010u;
|
|
/* 02C7F878 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C7F87C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F880 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 02C7F884 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F88C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F88C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C7F88C */ if (_t24) goto L_02C7F890; else goto L_02C7F8AC;
|
|
L_02C7F890: ; // 0x2c7f890
|
|
/* 02C7F890 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C7F894 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F894 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C7F898 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F89C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F89C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C7F8A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F8A4 */ cpu->r[3] = 0x00000004u;
|
|
/* 02C7F8A8 */ return;
|
|
L_02C7F8AC: ; // 0x2c7f8ac
|
|
/* 02C7F8AC */ _t28 = cpu->r[30] + 0x00000014u;
|
|
/* 02C7F8AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C7F8B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F8B4 */ cpu->r[4] = 0x00000083u;
|
|
/* 02C7F8B8 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F8BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F8C0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F8C0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C7F8C0 */ if (_t30) goto L_02C7F8C4; else goto L_02C7F8E0;
|
|
L_02C7F8C4: ; // 0x2c7f8c4
|
|
/* 02C7F8C4 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F8C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C7F8C8 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F8C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C7F8CC */ cpu->lr = cpu->r[0];
|
|
/* 02C7F8D0 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F8D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C7F8D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F8D8 */ cpu->r[3] = 0x00000005u;
|
|
/* 02C7F8DC */ return;
|
|
L_02C7F8E0: ; // 0x2c7f8e0
|
|
/* 02C7F8E0 */ _t34 = cpu->r[30] + 0x00000018u;
|
|
/* 02C7F8E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C7F8E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F8E8 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C7F8EC */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F8F4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F8F4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C7F8F4 */ if (_t36) goto L_02C7F8F8; else goto L_02C7F914;
|
|
L_02C7F8F8: ; // 0x2c7f8f8
|
|
/* 02C7F8F8 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C7F8FC */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F8FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C7F900 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F904 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F904 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C7F908 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F90C */ cpu->r[3] = 0x00000006u;
|
|
/* 02C7F910 */ return;
|
|
L_02C7F914: ; // 0x2c7f914
|
|
/* 02C7F914 */ _t40 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C7F914 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C7F918 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F91C */ cpu->r[4] = 0x00000001u;
|
|
/* 02C7F920 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F928 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F928 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C7F928 */ if (_t42) goto L_02C7F92C; else goto L_02C7F948;
|
|
L_02C7F92C: ; // 0x2c7f92c
|
|
/* 02C7F92C */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F92C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C7F930 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F930 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C7F934 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F938 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F938 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C7F93C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F940 */ cpu->r[3] = 0x00000007u;
|
|
/* 02C7F944 */ return;
|
|
L_02C7F948: ; // 0x2c7f948
|
|
/* 02C7F948 */ _t46 = cpu->r[30] + 0x00000020u;
|
|
/* 02C7F948 */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C7F94C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F950 */ cpu->r[4] = 0x0000003Bu;
|
|
/* 02C7F954 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F95C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F95C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C7F95C */ if (_t48) goto L_02C7F960; else goto L_02C7F97C;
|
|
L_02C7F960: ; // 0x2c7f960
|
|
/* 02C7F960 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C7F964 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F964 */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C7F968 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F96C */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F96C */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C7F970 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F974 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C7F978 */ return;
|
|
L_02C7F97C: ; // 0x2c7f97c
|
|
/* 02C7F97C */ _t52 = cpu->r[30] + 0x00000024u;
|
|
/* 02C7F97C */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C7F980 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F984 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C7F988 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F990 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F990 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C7F990 */ if (_t54) goto L_02C7F994; else goto L_02C7F9B0;
|
|
L_02C7F994: ; // 0x2c7f994
|
|
/* 02C7F994 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C7F998 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F998 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C7F99C */ cpu->lr = cpu->r[0];
|
|
/* 02C7F9A0 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F9A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C7F9A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F9A8 */ cpu->r[3] = 0x00000009u;
|
|
/* 02C7F9AC */ return;
|
|
L_02C7F9B0: ; // 0x2c7f9b0
|
|
/* 02C7F9B0 */ _t58 = cpu->r[30] + 0x00000028u;
|
|
/* 02C7F9B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C7F9B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F9B8 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C7F9BC */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F9C4 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F9C4 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C7F9C4 */ if (_t60) goto L_02C7F9C8; else goto L_02C7F9E4;
|
|
L_02C7F9C8: ; // 0x2c7f9c8
|
|
/* 02C7F9C8 */ _t61 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F9C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C7F9CC */ _t62 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F9CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C7F9D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F9D4 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F9D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C7F9D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F9DC */ cpu->r[3] = 0x0000000Au;
|
|
/* 02C7F9E0 */ return;
|
|
L_02C7F9E4: ; // 0x2c7f9e4
|
|
/* 02C7F9E4 */ _t64 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C7F9E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C7F9E8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F9EC */ cpu->r[4] = 0x00000006u;
|
|
/* 02C7F9F0 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F9F8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F9F8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C7F9F8 */ if (_t66) goto L_02C7F9FC; else goto L_02C7FA18;
|
|
L_02C7F9FC: ; // 0x2c7f9fc
|
|
/* 02C7F9FC */ _t67 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F9FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C7FA00 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FA00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C7FA04 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FA08 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FA08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C7FA0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FA10 */ cpu->r[3] = 0x0000000Bu;
|
|
/* 02C7FA14 */ return;
|
|
L_02C7FA18: ; // 0x2c7fa18
|
|
/* 02C7FA18 */ _t70 = cpu->r[30] + 0x00000030u;
|
|
/* 02C7FA18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C7FA1C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FA20 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C7FA24 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FA28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FA2C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FA2C */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C7FA2C */ if (_t72) goto L_02C7FA30; else goto L_02C7FA4C;
|
|
L_02C7FA30: ; // 0x2c7fa30
|
|
/* 02C7FA30 */ _t73 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FA30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C7FA34 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FA34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C7FA38 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FA3C */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FA3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C7FA40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FA44 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C7FA48 */ return;
|
|
L_02C7FA4C: ; // 0x2c7fa4c
|
|
/* 02C7FA4C */ _t76 = cpu->r[30] + 0x00000034u;
|
|
/* 02C7FA4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C7FA50 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FA54 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C7FA58 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FA60 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FA60 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02C7FA60 */ if (_t78) goto L_02C7FA64; else goto L_02C7FA80;
|
|
L_02C7FA64: ; // 0x2c7fa64
|
|
/* 02C7FA64 */ _t79 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FA64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C7FA68 */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FA68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C7FA6C */ cpu->lr = cpu->r[0];
|
|
/* 02C7FA70 */ _t81 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FA70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C7FA74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FA78 */ cpu->r[3] = 0x0000000Du;
|
|
/* 02C7FA7C */ return;
|
|
L_02C7FA80: ; // 0x2c7fa80
|
|
/* 02C7FA80 */ _t82 = cpu->r[30] + 0x00000038u;
|
|
/* 02C7FA80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C7FA84 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FA88 */ cpu->r[4] = 0x00000012u;
|
|
/* 02C7FA8C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FA90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FA94 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FA94 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C7FA94 */ if (_t84) goto L_02C7FA98; else goto L_02C7FAB4;
|
|
L_02C7FA98: ; // 0x2c7fa98
|
|
/* 02C7FA98 */ _t85 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FA98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C7FA9C */ _t86 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FA9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C7FAA0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FAA4 */ _t87 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FAA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C7FAA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FAAC */ cpu->r[3] = 0x0000000Eu;
|
|
/* 02C7FAB0 */ return;
|
|
L_02C7FAB4: ; // 0x2c7fab4
|
|
/* 02C7FAB4 */ _t88 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C7FAB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C7FAB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FABC */ cpu->r[4] = 0x00000017u;
|
|
/* 02C7FAC0 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FAC8 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FAC8 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C7FAC8 */ if (_t90) goto L_02C7FACC; else goto L_02C7FAE8;
|
|
L_02C7FACC: ; // 0x2c7facc
|
|
/* 02C7FACC */ _t91 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C7FAD0 */ _t92 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FAD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C7FAD4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FAD8 */ _t93 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FAD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02C7FADC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FAE0 */ cpu->r[3] = 0x0000000Fu;
|
|
/* 02C7FAE4 */ return;
|
|
L_02C7FAE8: ; // 0x2c7fae8
|
|
/* 02C7FAE8 */ _t94 = cpu->r[30] + 0x00000040u;
|
|
/* 02C7FAE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C7FAEC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FAF0 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C7FAF4 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FAF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FAFC */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FAFC */ _t96 = _t95 & 0x00000001u;
|
|
/* 02C7FAFC */ if (_t96) goto L_02C7FB00; else goto L_02C7FB1C;
|
|
L_02C7FB00: ; // 0x2c7fb00
|
|
/* 02C7FB00 */ _t97 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FB00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02C7FB04 */ _t98 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FB04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02C7FB08 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FB0C */ _t99 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FB0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C7FB10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FB14 */ cpu->r[3] = 0x00000010u;
|
|
/* 02C7FB18 */ return;
|
|
L_02C7FB1C: ; // 0x2c7fb1c
|
|
/* 02C7FB1C */ _t100 = cpu->r[30] + 0x00000044u;
|
|
/* 02C7FB1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C7FB20 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FB24 */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7FB28 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FB2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FB30 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FB30 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02C7FB30 */ if (_t102) goto L_02C7FB34; else goto L_02C7FB50;
|
|
L_02C7FB34: ; // 0x2c7fb34
|
|
/* 02C7FB34 */ _t103 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FB34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02C7FB38 */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FB38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02C7FB3C */ cpu->lr = cpu->r[0];
|
|
/* 02C7FB40 */ _t105 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FB40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02C7FB44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FB48 */ cpu->r[3] = 0x00000011u;
|
|
/* 02C7FB4C */ return;
|
|
L_02C7FB50: ; // 0x2c7fb50
|
|
/* 02C7FB50 */ _t106 = cpu->r[30] + 0x00000048u;
|
|
/* 02C7FB50 */ cpu->r[5] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02C7FB54 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FB58 */ cpu->r[4] = 0x00000006u;
|
|
/* 02C7FB5C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FB64 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FB64 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02C7FB64 */ if (_t108) goto L_02C7FB68; else goto L_02C7FB84;
|
|
L_02C7FB68: ; // 0x2c7fb68
|
|
/* 02C7FB68 */ _t109 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FB68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C7FB6C */ _t110 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FB6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C7FB70 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FB74 */ _t111 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FB74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02C7FB78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FB7C */ cpu->r[3] = 0x00000012u;
|
|
/* 02C7FB80 */ return;
|
|
L_02C7FB84: ; // 0x2c7fb84
|
|
/* 02C7FB84 */ _t112 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C7FB84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02C7FB88 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FB8C */ cpu->r[4] = 0x0000000Bu;
|
|
/* 02C7FB90 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FB94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FB98 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FB98 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02C7FB98 */ if (_t114) goto L_02C7FB9C; else goto L_02C7FBB8;
|
|
L_02C7FB9C: ; // 0x2c7fb9c
|
|
/* 02C7FB9C */ _t115 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FB9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02C7FBA0 */ _t116 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FBA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02C7FBA4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FBA8 */ _t117 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FBA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02C7FBAC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FBB0 */ cpu->r[3] = 0x00000013u;
|
|
/* 02C7FBB4 */ return;
|
|
L_02C7FBB8: ; // 0x2c7fbb8
|
|
/* 02C7FBB8 */ _t118 = cpu->r[30] + 0x00000050u;
|
|
/* 02C7FBB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02C7FBBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FBC0 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C7FBC4 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FBCC */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FBCC */ _t120 = _t119 & 0x00000001u;
|
|
/* 02C7FBCC */ if (_t120) goto L_02C7FBD0; else goto L_02C7FBEC;
|
|
L_02C7FBD0: ; // 0x2c7fbd0
|
|
/* 02C7FBD0 */ _t121 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FBD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02C7FBD4 */ _t122 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FBD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02C7FBD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FBDC */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FBDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02C7FBE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FBE4 */ cpu->r[3] = 0x00000014u;
|
|
/* 02C7FBE8 */ return;
|
|
L_02C7FBEC: ; // 0x2c7fbec
|
|
/* 02C7FBEC */ _t124 = cpu->r[30] + 0x00000054u;
|
|
/* 02C7FBEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02C7FBF0 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C7FBF4 */ cpu->r[4] = 0x00000012u;
|
|
/* 02C7FBF8 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FC00 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FC00 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02C7FC00 */ if (_t126) goto L_02C7FC04; else goto L_02C7FC20;
|
|
L_02C7FC04: ; // 0x2c7fc04
|
|
/* 02C7FC04 */ _t127 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FC04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02C7FC08 */ _t128 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FC08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02C7FC0C */ cpu->lr = cpu->r[0];
|
|
/* 02C7FC10 */ _t129 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FC10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02C7FC14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FC18 */ cpu->r[3] = 0x00000015u;
|
|
/* 02C7FC1C */ return;
|
|
L_02C7FC20: ; // 0x2c7fc20
|
|
/* 02C7FC20 */ _t130 = cpu->r[30] + 0x00000058u;
|
|
/* 02C7FC20 */ cpu->r[5] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02C7FC24 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FC28 */ cpu->r[4] = 0x00000011u;
|
|
/* 02C7FC2C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FC34 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FC34 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02C7FC34 */ if (_t132) goto L_02C7FC38; else goto L_02C7FC54;
|
|
L_02C7FC38: ; // 0x2c7fc38
|
|
/* 02C7FC38 */ _t133 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FC38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02C7FC3C */ _t134 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FC3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02C7FC40 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FC44 */ _t135 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FC44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02C7FC48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FC4C */ cpu->r[3] = 0x00000016u;
|
|
/* 02C7FC50 */ return;
|
|
L_02C7FC54: ; // 0x2c7fc54
|
|
/* 02C7FC54 */ _t136 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C7FC54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02C7FC58 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FC5C */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7FC60 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FC68 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FC68 */ _t138 = _t137 & 0x00000001u;
|
|
/* 02C7FC68 */ if (_t138) goto L_02C7FC6C; else goto L_02C7FC88;
|
|
L_02C7FC6C: ; // 0x2c7fc6c
|
|
/* 02C7FC6C */ _t139 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FC6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02C7FC70 */ _t140 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FC70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02C7FC74 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FC78 */ _t141 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FC78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02C7FC7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FC80 */ cpu->r[3] = 0x00000017u;
|
|
/* 02C7FC84 */ return;
|
|
L_02C7FC88: ; // 0x2c7fc88
|
|
/* 02C7FC88 */ _t142 = cpu->r[30] + 0x00000060u;
|
|
/* 02C7FC88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02C7FC8C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FC90 */ cpu->r[4] = 0x00000012u;
|
|
/* 02C7FC94 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FC98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FC9C */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FC9C */ _t144 = _t143 & 0x00000001u;
|
|
/* 02C7FC9C */ if (_t144) goto L_02C7FCA0; else goto L_02C7FCBC;
|
|
L_02C7FCA0: ; // 0x2c7fca0
|
|
/* 02C7FCA0 */ _t145 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FCA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02C7FCA4 */ _t146 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FCA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02C7FCA8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FCAC */ _t147 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FCAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02C7FCB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FCB4 */ cpu->r[3] = 0x00000018u;
|
|
/* 02C7FCB8 */ return;
|
|
L_02C7FCBC: ; // 0x2c7fcbc
|
|
/* 02C7FCBC */ _t148 = cpu->r[30] + 0x00000064u;
|
|
/* 02C7FCBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02C7FCC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FCC4 */ cpu->r[4] = 0x00000023u;
|
|
/* 02C7FCC8 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FCCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FCD0 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FCD0 */ _t150 = _t149 & 0x00000001u;
|
|
/* 02C7FCD0 */ if (_t150) goto L_02C7FCD4; else goto L_02C7FCF0;
|
|
L_02C7FCD4: ; // 0x2c7fcd4
|
|
/* 02C7FCD4 */ _t151 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FCD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02C7FCD8 */ _t152 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FCD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02C7FCDC */ cpu->lr = cpu->r[0];
|
|
/* 02C7FCE0 */ _t153 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FCE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02C7FCE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FCE8 */ cpu->r[3] = 0x00000019u;
|
|
/* 02C7FCEC */ return;
|
|
L_02C7FCF0: ; // 0x2c7fcf0
|
|
/* 02C7FCF0 */ _t154 = cpu->r[30] + 0x00000068u;
|
|
/* 02C7FCF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02C7FCF4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FCF8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C7FCFC */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FD00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FD04 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FD04 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02C7FD04 */ if (_t156) goto L_02C7FD08; else goto L_02C7FD24;
|
|
L_02C7FD08: ; // 0x2c7fd08
|
|
/* 02C7FD08 */ _t157 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FD08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02C7FD0C */ _t158 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FD0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02C7FD10 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FD14 */ _t159 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FD14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02C7FD18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FD1C */ cpu->r[3] = 0x0000001Au;
|
|
/* 02C7FD20 */ return;
|
|
L_02C7FD24: ; // 0x2c7fd24
|
|
/* 02C7FD24 */ _t160 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02C7FD24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02C7FD28 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FD2C */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7FD30 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FD38 */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FD38 */ _t162 = _t161 & 0x00000001u;
|
|
/* 02C7FD38 */ if (_t162) goto L_02C7FD3C; else goto L_02C7FD58;
|
|
L_02C7FD3C: ; // 0x2c7fd3c
|
|
/* 02C7FD3C */ _t163 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FD3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02C7FD40 */ _t164 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FD40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02C7FD44 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FD48 */ _t165 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FD48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02C7FD4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FD50 */ cpu->r[3] = 0x0000001Bu;
|
|
/* 02C7FD54 */ return;
|
|
L_02C7FD58: ; // 0x2c7fd58
|
|
/* 02C7FD58 */ _t166 = cpu->r[30] + 0x00000070u;
|
|
/* 02C7FD58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02C7FD5C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FD60 */ cpu->r[4] = 0x00000006u;
|
|
/* 02C7FD64 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FD6C */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FD6C */ _t168 = _t167 & 0x00000001u;
|
|
/* 02C7FD6C */ if (_t168) goto L_02C7FD70; else goto L_02C7FD8C;
|
|
L_02C7FD70: ; // 0x2c7fd70
|
|
/* 02C7FD70 */ _t169 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FD70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02C7FD74 */ _t170 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FD74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02C7FD78 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FD7C */ _t171 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FD7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02C7FD80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FD84 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 02C7FD88 */ return;
|
|
L_02C7FD8C: ; // 0x2c7fd8c
|
|
/* 02C7FD8C */ _t172 = cpu->r[30] + 0x00000074u;
|
|
/* 02C7FD8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02C7FD90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FD94 */ cpu->r[4] = 0x00000012u;
|
|
/* 02C7FD98 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FDA0 */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FDA0 */ _t174 = _t173 & 0x00000001u;
|
|
/* 02C7FDA0 */ if (_t174) goto L_02C7FDA4; else goto L_02C7FDC0;
|
|
L_02C7FDA4: ; // 0x2c7fda4
|
|
/* 02C7FDA4 */ _t175 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FDA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02C7FDA8 */ _t176 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FDA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02C7FDAC */ cpu->lr = cpu->r[0];
|
|
/* 02C7FDB0 */ _t177 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FDB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t177);
|
|
/* 02C7FDB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FDB8 */ cpu->r[3] = 0x0000001Du;
|
|
/* 02C7FDBC */ return;
|
|
L_02C7FDC0: ; // 0x2c7fdc0
|
|
/* 02C7FDC0 */ _t178 = cpu->r[30] + 0x00000078u;
|
|
/* 02C7FDC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02C7FDC4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FDC8 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C7FDCC */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FDD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FDD4 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FDD4 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02C7FDD4 */ if (_t180) goto L_02C7FDD8; else goto L_02C7FDF4;
|
|
L_02C7FDD8: ; // 0x2c7fdd8
|
|
/* 02C7FDD8 */ _t181 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02C7FDDC */ _t182 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FDDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02C7FDE0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FDE4 */ _t183 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FDE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02C7FDE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FDEC */ cpu->r[3] = 0x00000020u;
|
|
/* 02C7FDF0 */ return;
|
|
L_02C7FDF4: ; // 0x2c7fdf4
|
|
/* 02C7FDF4 */ _t184 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02C7FDF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02C7FDF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FDFC */ cpu->r[4] = 0x00000005u;
|
|
/* 02C7FE00 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FE08 */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FE08 */ _t186 = _t185 & 0x00000001u;
|
|
/* 02C7FE08 */ if (_t186) goto L_02C7FE0C; else goto L_02C7FE28;
|
|
L_02C7FE0C: ; // 0x2c7fe0c
|
|
/* 02C7FE0C */ _t187 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FE0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02C7FE10 */ _t188 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FE10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02C7FE14 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FE18 */ _t189 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FE18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02C7FE1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FE20 */ cpu->r[3] = 0x0000001Eu;
|
|
/* 02C7FE24 */ return;
|
|
L_02C7FE28: ; // 0x2c7fe28
|
|
/* 02C7FE28 */ _t190 = cpu->r[30] + 0x00000080u;
|
|
/* 02C7FE28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02C7FE2C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FE30 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C7FE34 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FE38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FE3C */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FE3C */ _t192 = _t191 & 0x00000001u;
|
|
/* 02C7FE3C */ if (_t192) goto L_02C7FE40; else goto L_02C7FE5C;
|
|
L_02C7FE40: ; // 0x2c7fe40
|
|
/* 02C7FE40 */ _t193 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t193);
|
|
/* 02C7FE44 */ _t194 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FE44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02C7FE48 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FE4C */ _t195 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02C7FE50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FE54 */ cpu->r[3] = 0x0000001Fu;
|
|
/* 02C7FE58 */ return;
|
|
L_02C7FE5C: ; // 0x2c7fe5c
|
|
/* 02C7FE5C */ _t196 = cpu->r[30] + 0x00000084u;
|
|
/* 02C7FE5C */ cpu->r[5] = rbrew_read32(cpu->mem, _t196);
|
|
/* 02C7FE60 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FE64 */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7FE68 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FE6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FE70 */ _t197 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FE70 */ _t198 = _t197 & 0x00000001u;
|
|
/* 02C7FE70 */ if (_t198) goto L_02C7FE74; else goto L_02C7FE90;
|
|
L_02C7FE74: ; // 0x2c7fe74
|
|
/* 02C7FE74 */ _t199 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t199);
|
|
/* 02C7FE78 */ _t200 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FE78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02C7FE7C */ cpu->lr = cpu->r[0];
|
|
/* 02C7FE80 */ _t201 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FE80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02C7FE84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FE88 */ cpu->r[3] = 0x00000021u;
|
|
/* 02C7FE8C */ return;
|
|
L_02C7FE90: ; // 0x2c7fe90
|
|
/* 02C7FE90 */ _t202 = cpu->r[30] + 0x00000088u;
|
|
/* 02C7FE90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t202);
|
|
/* 02C7FE94 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FE98 */ cpu->r[4] = 0x00000010u;
|
|
/* 02C7FE9C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FEA4 */ _t203 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FEA4 */ _t204 = _t203 & 0x00000001u;
|
|
/* 02C7FEA4 */ if (_t204) goto L_02C7FEA8; else goto L_02C7FEC4;
|
|
L_02C7FEA8: ; // 0x2c7fea8
|
|
/* 02C7FEA8 */ _t205 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FEA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t205);
|
|
/* 02C7FEAC */ _t206 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FEAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t206);
|
|
/* 02C7FEB0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FEB4 */ _t207 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FEB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02C7FEB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FEBC */ cpu->r[3] = 0x00000022u;
|
|
/* 02C7FEC0 */ return;
|
|
L_02C7FEC4: ; // 0x2c7fec4
|
|
/* 02C7FEC4 */ _t208 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02C7FEC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02C7FEC8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FECC */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7FED0 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FED8 */ _t209 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FED8 */ _t210 = _t209 & 0x00000001u;
|
|
/* 02C7FED8 */ if (_t210) goto L_02C7FEDC; else goto L_02C7FEF8;
|
|
L_02C7FEDC: ; // 0x2c7fedc
|
|
/* 02C7FEDC */ _t211 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FEDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t211);
|
|
/* 02C7FEE0 */ _t212 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FEE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t212);
|
|
/* 02C7FEE4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FEE8 */ _t213 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FEE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02C7FEEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FEF0 */ cpu->r[3] = 0x00000023u;
|
|
/* 02C7FEF4 */ return;
|
|
L_02C7FEF8: ; // 0x2c7fef8
|
|
/* 02C7FEF8 */ _t214 = cpu->r[30] + 0x00000090u;
|
|
/* 02C7FEF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02C7FEFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FF00 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C7FF04 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FF0C */ _t215 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FF0C */ _t216 = _t215 & 0x00000001u;
|
|
/* 02C7FF0C */ if (_t216) goto L_02C7FF10; else goto L_02C7FF2C;
|
|
L_02C7FF10: ; // 0x2c7ff10
|
|
/* 02C7FF10 */ _t217 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FF10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02C7FF14 */ _t218 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FF14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02C7FF18 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FF1C */ _t219 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FF1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t219);
|
|
/* 02C7FF20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FF24 */ cpu->r[3] = 0x00000024u;
|
|
/* 02C7FF28 */ return;
|
|
L_02C7FF2C: ; // 0x2c7ff2c
|
|
/* 02C7FF2C */ _t220 = cpu->r[30] + 0x00000094u;
|
|
/* 02C7FF2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t220);
|
|
/* 02C7FF30 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FF34 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C7FF38 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FF3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FF40 */ _t221 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FF40 */ _t222 = _t221 & 0x00000001u;
|
|
/* 02C7FF40 */ if (_t222) goto L_02C7FF44; else goto L_02C7FF60;
|
|
L_02C7FF44: ; // 0x2c7ff44
|
|
/* 02C7FF44 */ _t223 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FF44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t223);
|
|
/* 02C7FF48 */ _t224 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FF48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t224);
|
|
/* 02C7FF4C */ cpu->lr = cpu->r[0];
|
|
/* 02C7FF50 */ _t225 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FF50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t225);
|
|
/* 02C7FF54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FF58 */ cpu->r[3] = 0x00000025u;
|
|
/* 02C7FF5C */ return;
|
|
L_02C7FF60: ; // 0x2c7ff60
|
|
/* 02C7FF60 */ _t226 = cpu->r[30] + 0x00000098u;
|
|
/* 02C7FF60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02C7FF64 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FF68 */ cpu->r[4] = 0x00000014u;
|
|
/* 02C7FF6C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FF70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FF74 */ _t227 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FF74 */ _t228 = _t227 & 0x00000001u;
|
|
/* 02C7FF74 */ if (_t228) goto L_02C7FF78; else goto L_02C7FF94;
|
|
L_02C7FF78: ; // 0x2c7ff78
|
|
/* 02C7FF78 */ _t229 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FF78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t229);
|
|
/* 02C7FF7C */ _t230 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FF7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t230);
|
|
/* 02C7FF80 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FF84 */ _t231 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FF84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t231);
|
|
/* 02C7FF88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FF8C */ cpu->r[3] = 0x00000026u;
|
|
/* 02C7FF90 */ return;
|
|
L_02C7FF94: ; // 0x2c7ff94
|
|
/* 02C7FF94 */ _t232 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02C7FF94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t232);
|
|
/* 02C7FF98 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FF9C */ cpu->r[4] = 0x00000001u;
|
|
/* 02C7FFA0 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FFA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FFA8 */ _t233 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FFA8 */ _t234 = _t233 & 0x00000001u;
|
|
/* 02C7FFA8 */ if (_t234) goto L_02C7FFAC; else goto L_02C7FFC8;
|
|
L_02C7FFAC: ; // 0x2c7ffac
|
|
/* 02C7FFAC */ _t235 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FFAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t235);
|
|
/* 02C7FFB0 */ _t236 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FFB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t236);
|
|
/* 02C7FFB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FFB8 */ _t237 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FFB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t237);
|
|
/* 02C7FFBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FFC0 */ cpu->r[3] = 0x00000027u;
|
|
/* 02C7FFC4 */ return;
|
|
L_02C7FFC8: ; // 0x2c7ffc8
|
|
/* 02C7FFC8 */ _t238 = cpu->r[30] + 0x000000A0u;
|
|
/* 02C7FFC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t238);
|
|
/* 02C7FFCC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FFD0 */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7FFD4 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FFDC */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FFDC */ _t240 = _t239 & 0x00000001u;
|
|
/* 02C7FFDC */ if (_t240) goto L_02C7FFE0; else goto L_02C7FFFC;
|
|
L_02C7FFE0: ; // 0x2c7ffe0
|
|
/* 02C7FFE0 */ _t241 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FFE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t241);
|
|
/* 02C7FFE4 */ _t242 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FFE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t242);
|
|
/* 02C7FFE8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FFEC */ _t243 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FFEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t243);
|
|
/* 02C7FFF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FFF4 */ cpu->r[3] = 0x00000028u;
|
|
/* 02C7FFF8 */ return;
|
|
L_02C7FFFC: ; // 0x2c7fffc
|
|
/* 02C7FFFC */ _t244 = cpu->r[30] + 0x000000A4u;
|
|
/* 02C7FFFC */ cpu->r[5] = rbrew_read32(cpu->mem, _t244);
|
|
/* 02C80000 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C80004 */ cpu->r[4] = 0x00000010u;
|
|
/* 02C80008 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C8000C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80010 */ _t245 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80010 */ _t246 = _t245 & 0x00000001u;
|
|
/* 02C80010 */ if (_t246) goto L_02C80014; else goto L_02C80030;
|
|
L_02C80014: ; // 0x2c80014
|
|
/* 02C80014 */ _t247 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t247);
|
|
/* 02C80018 */ _t248 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80018 */ cpu->r[30] = rbrew_read32(cpu->mem, _t248);
|
|
/* 02C8001C */ cpu->lr = cpu->r[0];
|
|
/* 02C80020 */ _t249 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80020 */ cpu->r[31] = rbrew_read32(cpu->mem, _t249);
|
|
/* 02C80024 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80028 */ cpu->r[3] = 0x00000029u;
|
|
/* 02C8002C */ return;
|
|
L_02C80030: ; // 0x2c80030
|
|
/* 02C80030 */ _t250 = cpu->r[30] + 0x000000A8u;
|
|
/* 02C80030 */ cpu->r[5] = rbrew_read32(cpu->mem, _t250);
|
|
/* 02C80034 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C80038 */ cpu->r[4] = 0x0000001Eu;
|
|
/* 02C8003C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C80040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80044 */ _t251 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80044 */ _t252 = _t251 & 0x00000001u;
|
|
/* 02C80044 */ if (_t252) goto L_02C80048; else goto L_02C80064;
|
|
L_02C80048: ; // 0x2c80048
|
|
/* 02C80048 */ _t253 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t253);
|
|
/* 02C8004C */ _t254 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8004C */ cpu->r[30] = rbrew_read32(cpu->mem, _t254);
|
|
/* 02C80050 */ cpu->lr = cpu->r[0];
|
|
/* 02C80054 */ _t255 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t255);
|
|
/* 02C80058 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8005C */ cpu->r[3] = 0x0000002Au;
|
|
/* 02C80060 */ return;
|
|
L_02C80064: ; // 0x2c80064
|
|
/* 02C80064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C80068 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80068 */ _t257 = _t256 & 0x00000001u;
|
|
/* 02C80068 */ if (_t257) goto L_02C800D8; else goto L_02C8006C;
|
|
L_02C8006C: ; // 0x2c8006c
|
|
/* 02C8006C */ _t258 = cpu->r[30] + 0x000000B4u;
|
|
/* 02C8006C */ cpu->r[11] = rbrew_read16(cpu->mem, _t258);
|
|
/* 02C80070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C80074 */ _t259 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80074 */ _t260 = _t259 & 0x00000001u;
|
|
/* 02C80074 */ if (_t260) goto L_02C8008C; else goto L_02C80078;
|
|
L_02C80078: ; // 0x2c80078
|
|
/* 02C80078 */ cpu->r[3] = cpu->r[30] + 0x000000B4u;
|
|
/* 02C8007C */ cpu->r[4] = 0x0000000Au;
|
|
/* 02C80080 */ Gambit_fn_02C7F758(cpu);
|
|
/* 02C80084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80088 */ _t261 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80088 */ _t262 = _t261 & 0x00000001u;
|
|
/* 02C80088 */ if (_t262) goto L_02C8008C; else goto L_02C800A8;
|
|
L_02C8008C: ; // 0x2c8008c
|
|
/* 02C8008C */ _t263 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8008C */ cpu->r[0] = rbrew_read32(cpu->mem, _t263);
|
|
/* 02C80090 */ _t264 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t264);
|
|
/* 02C80094 */ cpu->lr = cpu->r[0];
|
|
/* 02C80098 */ _t265 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t265);
|
|
/* 02C8009C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C800A0 */ cpu->r[3] = 0x0000002Du;
|
|
/* 02C800A4 */ return;
|
|
L_02C800A8: ; // 0x2c800a8
|
|
/* 02C800A8 */ cpu->r[3] = cpu->r[30] + 0x000000CAu;
|
|
/* 02C800AC */ cpu->r[4] = 0x0000000Au;
|
|
/* 02C800B0 */ Gambit_fn_02C7F758(cpu);
|
|
/* 02C800B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C800B8 */ _t266 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C800B8 */ _t267 = _t266 & 0x00000001u;
|
|
/* 02C800B8 */ if (_t267) goto L_02C800BC; else goto L_02C800D8;
|
|
L_02C800BC: ; // 0x2c800bc
|
|
/* 02C800BC */ _t268 = cpu->r[1] + 0x00000014u;
|
|
/* 02C800BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t268);
|
|
/* 02C800C0 */ _t269 = cpu->r[1] + 0x00000008u;
|
|
/* 02C800C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t269);
|
|
/* 02C800C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C800C8 */ _t270 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C800C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t270);
|
|
/* 02C800CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C800D0 */ cpu->r[3] = 0x0000002Eu;
|
|
/* 02C800D4 */ return;
|
|
L_02C800D8: ; // 0x2c800d8
|
|
/* 02C800D8 */ _t271 = cpu->r[30] + 0x000000ACu;
|
|
/* 02C800D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t271);
|
|
/* 02C800DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000080u);
|
|
/* 02C800E0 */ _t272 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C800E0 */ _t273 = _t272 & 0x00000001u;
|
|
/* 02C800E0 */ if (_t273) goto L_02C800E4; else goto L_02C80100;
|
|
L_02C800E4: ; // 0x2c800e4
|
|
/* 02C800E4 */ _t274 = cpu->r[1] + 0x00000014u;
|
|
/* 02C800E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t274);
|
|
/* 02C800E8 */ _t275 = cpu->r[1] + 0x00000008u;
|
|
/* 02C800E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t275);
|
|
/* 02C800EC */ cpu->lr = cpu->r[0];
|
|
/* 02C800F0 */ _t276 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C800F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t276);
|
|
/* 02C800F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C800F8 */ cpu->r[3] = 0x0000002Bu;
|
|
/* 02C800FC */ return;
|
|
L_02C80100: ; // 0x2c80100
|
|
/* 02C80100 */ _t277 = cpu->r[30] + 0x000000B0u;
|
|
/* 02C80100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t277);
|
|
/* 02C80104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000080u);
|
|
/* 02C80108 */ _t278 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C80108 */ _t279 = _t278 & 0x00000001u;
|
|
/* 02C80108 */ if (_t279) goto L_02C8010C; else goto L_02C80128;
|
|
L_02C8010C: ; // 0x2c8010c
|
|
/* 02C8010C */ _t280 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8010C */ cpu->r[0] = rbrew_read32(cpu->mem, _t280);
|
|
/* 02C80110 */ _t281 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t281);
|
|
/* 02C80114 */ cpu->lr = cpu->r[0];
|
|
/* 02C80118 */ _t282 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80118 */ cpu->r[31] = rbrew_read32(cpu->mem, _t282);
|
|
/* 02C8011C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80120 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02C80124 */ return;
|
|
L_02C80128: ; // 0x2c80128
|
|
/* 02C80128 */ _t283 = cpu->r[30] + 0x000000E0u;
|
|
/* 02C80128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t283);
|
|
/* 02C8012C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C80130 */ _t284 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C80130 */ _t285 = _t284 & 0x00000001u;
|
|
/* 02C80130 */ if (_t285) goto L_02C80134; else goto L_02C80150;
|
|
L_02C80134: ; // 0x2c80134
|
|
/* 02C80134 */ _t286 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t286);
|
|
/* 02C80138 */ _t287 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80138 */ cpu->r[30] = rbrew_read32(cpu->mem, _t287);
|
|
/* 02C8013C */ cpu->lr = cpu->r[0];
|
|
/* 02C80140 */ _t288 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80140 */ cpu->r[31] = rbrew_read32(cpu->mem, _t288);
|
|
/* 02C80144 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80148 */ cpu->r[3] = 0x0000002Fu;
|
|
/* 02C8014C */ return;
|
|
L_02C80150: ; // 0x2c80150
|
|
/* 02C80150 */ _t289 = cpu->r[30] + 0x000000E4u;
|
|
/* 02C80150 */ cpu->r[3] = rbrew_read32(cpu->mem, _t289);
|
|
/* 02C80154 */ _t290 = cpu->r[30] + 0x000000E8u;
|
|
/* 02C80154 */ cpu->r[4] = rbrew_read32(cpu->mem, _t290);
|
|
/* 02C80158 */ Gambit_fn_02C78E80(cpu);
|
|
/* 02C8015C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80160 */ _t291 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80160 */ _t292 = _t291 & 0x00000001u;
|
|
/* 02C80160 */ if (_t292) goto L_02C80164; else goto L_02C80180;
|
|
L_02C80164: ; // 0x2c80164
|
|
/* 02C80164 */ _t293 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t293);
|
|
/* 02C80168 */ _t294 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80168 */ cpu->r[30] = rbrew_read32(cpu->mem, _t294);
|
|
/* 02C8016C */ cpu->lr = cpu->r[0];
|
|
/* 02C80170 */ _t295 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80170 */ cpu->r[31] = rbrew_read32(cpu->mem, _t295);
|
|
/* 02C80174 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80178 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C8017C */ return;
|
|
L_02C80180: ; // 0x2c80180
|
|
/* 02C80180 */ _t296 = cpu->r[30] + 0x000000ECu;
|
|
/* 02C80180 */ cpu->r[11] = rbrew_read32(cpu->mem, _t296);
|
|
/* 02C80184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000000Bu);
|
|
/* 02C80188 */ _t297 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C80188 */ _t298 = _t297 & 0x00000001u;
|
|
/* 02C80188 */ if (_t298) goto L_02C8018C; else goto L_02C801A8;
|
|
L_02C8018C: ; // 0x2c8018c
|
|
/* 02C8018C */ _t299 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8018C */ cpu->r[0] = rbrew_read32(cpu->mem, _t299);
|
|
/* 02C80190 */ _t300 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80190 */ cpu->r[30] = rbrew_read32(cpu->mem, _t300);
|
|
/* 02C80194 */ cpu->lr = cpu->r[0];
|
|
/* 02C80198 */ _t301 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80198 */ cpu->r[31] = rbrew_read32(cpu->mem, _t301);
|
|
/* 02C8019C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C801A0 */ cpu->r[3] = 0x00000031u;
|
|
/* 02C801A4 */ return;
|
|
L_02C801A8: ; // 0x2c801a8
|
|
/* 02C801A8 */ _t302 = cpu->r[30] + 0x000000F4u;
|
|
/* 02C801A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t302);
|
|
/* 02C801AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 02C801B0 */ _t303 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C801B0 */ _t304 = _t303 & 0x00000001u;
|
|
/* 02C801B0 */ if (_t304) goto L_02C801B4; else goto L_02C801D0;
|
|
L_02C801B4: ; // 0x2c801b4
|
|
/* 02C801B4 */ _t305 = cpu->r[1] + 0x00000014u;
|
|
/* 02C801B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t305);
|
|
/* 02C801B8 */ _t306 = cpu->r[1] + 0x00000008u;
|
|
/* 02C801B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t306);
|
|
/* 02C801BC */ cpu->lr = cpu->r[0];
|
|
/* 02C801C0 */ _t307 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C801C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t307);
|
|
/* 02C801C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C801C8 */ cpu->r[3] = 0x00000032u;
|
|
/* 02C801CC */ return;
|
|
L_02C801D0: ; // 0x2c801d0
|
|
/* 02C801D0 */ _t308 = cpu->r[30] + 0x000000F8u;
|
|
/* 02C801D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t308);
|
|
/* 02C801D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02C801D8 */ _t309 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C801D8 */ _t310 = _t309 & 0x00000001u;
|
|
/* 02C801D8 */ if (_t310) goto L_02C801DC; else goto L_02C801F8;
|
|
L_02C801DC: ; // 0x2c801dc
|
|
/* 02C801DC */ _t311 = cpu->r[1] + 0x00000014u;
|
|
/* 02C801DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t311);
|
|
/* 02C801E0 */ _t312 = cpu->r[1] + 0x00000008u;
|
|
/* 02C801E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t312);
|
|
/* 02C801E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C801E8 */ _t313 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C801E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t313);
|
|
/* 02C801EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C801F0 */ cpu->r[3] = 0x00000033u;
|
|
/* 02C801F4 */ return;
|
|
L_02C801F8: ; // 0x2c801f8
|
|
/* 02C801F8 */ _t314 = cpu->r[30] + 0x000000FCu;
|
|
/* 02C801F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t314);
|
|
/* 02C801FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000009u);
|
|
/* 02C80200 */ _t315 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C80200 */ _t316 = _t315 & 0x00000001u;
|
|
/* 02C80200 */ if (_t316) goto L_02C80204; else goto L_02C80220;
|
|
L_02C80204: ; // 0x2c80204
|
|
/* 02C80204 */ _t317 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t317);
|
|
/* 02C80208 */ _t318 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80208 */ cpu->r[30] = rbrew_read32(cpu->mem, _t318);
|
|
/* 02C8020C */ cpu->lr = cpu->r[0];
|
|
/* 02C80210 */ _t319 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80210 */ cpu->r[31] = rbrew_read32(cpu->mem, _t319);
|
|
/* 02C80214 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80218 */ cpu->r[3] = 0x00000034u;
|
|
/* 02C8021C */ return;
|
|
L_02C80220: ; // 0x2c80220
|
|
/* 02C80220 */ _t320 = cpu->r[30] + 0x00000100u;
|
|
/* 02C80220 */ cpu->r[12] = rbrew_read32(cpu->mem, _t320);
|
|
/* 02C80224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000009u);
|
|
/* 02C80228 */ _t321 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C80228 */ _t322 = _t321 & 0x00000001u;
|
|
/* 02C80228 */ if (_t322) goto L_02C8022C; else goto L_02C80248;
|
|
L_02C8022C: ; // 0x2c8022c
|
|
/* 02C8022C */ _t323 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8022C */ cpu->r[0] = rbrew_read32(cpu->mem, _t323);
|
|
/* 02C80230 */ _t324 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80230 */ cpu->r[30] = rbrew_read32(cpu->mem, _t324);
|
|
/* 02C80234 */ cpu->lr = cpu->r[0];
|
|
/* 02C80238 */ _t325 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80238 */ cpu->r[31] = rbrew_read32(cpu->mem, _t325);
|
|
/* 02C8023C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80240 */ cpu->r[3] = 0x00000035u;
|
|
/* 02C80244 */ return;
|
|
L_02C80248: ; // 0x2c80248
|
|
/* 02C80248 */ _t326 = cpu->r[30] + 0x00000104u;
|
|
/* 02C80248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t326);
|
|
/* 02C8024C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C80250 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000007u);
|
|
/* 02C80254 */ _t327 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C80254 */ _t328 = _t327 & 0x00000001u;
|
|
/* 02C80254 */ if (_t328) goto L_02C80274; else goto L_02C80258;
|
|
L_02C80258: ; // 0x2c80258
|
|
/* 02C80258 */ _t329 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t329);
|
|
/* 02C8025C */ _t330 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8025C */ cpu->r[30] = rbrew_read32(cpu->mem, _t330);
|
|
/* 02C80260 */ cpu->lr = cpu->r[0];
|
|
/* 02C80264 */ _t331 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t331);
|
|
/* 02C80268 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8026C */ cpu->r[3] = 0x00000036u;
|
|
/* 02C80270 */ return;
|
|
L_02C80274: ; // 0x2c80274
|
|
/* 02C80274 */ cpu->r[3] = cpu->r[30] + 0x00000108u;
|
|
/* 02C80278 */ Gambit_fn_02C71618(cpu);
|
|
/* 02C8027C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80280 */ _t332 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80280 */ _t333 = _t332 & 0x00000001u;
|
|
/* 02C80280 */ if (_t333) goto L_02C802BC; else goto L_02C80284;
|
|
L_02C80284: ; // 0x2c80284
|
|
/* 02C80284 */ cpu->r[3] = cpu->r[30] + 0x00000108u;
|
|
/* 02C80288 */ Gambit_fn_02C715B8(cpu);
|
|
/* 02C8028C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80290 */ _t334 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80290 */ _t335 = _t334 & 0x00000001u;
|
|
/* 02C80290 */ if (_t335) goto L_02C80294; else goto L_02C802BC;
|
|
L_02C80294: ; // 0x2c80294
|
|
/* 02C80294 */ _t336 = cpu->r[30] + 0x000000F3u;
|
|
/* 02C80294 */ cpu->r[0] = rbrew_read8(cpu->mem, _t336);
|
|
/* 02C80298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C8029C */ _t337 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8029C */ _t338 = _t337 & 0x00000001u;
|
|
/* 02C8029C */ if (_t338) goto L_02C802A0; else goto L_02C802BC;
|
|
L_02C802A0: ; // 0x2c802a0
|
|
/* 02C802A0 */ _t339 = cpu->r[1] + 0x00000014u;
|
|
/* 02C802A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t339);
|
|
/* 02C802A4 */ _t340 = cpu->r[1] + 0x00000008u;
|
|
/* 02C802A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t340);
|
|
/* 02C802A8 */ cpu->lr = cpu->r[0];
|
|
/* 02C802AC */ _t341 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C802AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t341);
|
|
/* 02C802B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C802B4 */ cpu->r[3] = 0x00000037u;
|
|
/* 02C802B8 */ return;
|
|
L_02C802BC: ; // 0x2c802bc
|
|
/* 02C802BC */ _t342 = cpu->r[1] + 0x00000014u;
|
|
/* 02C802BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t342);
|
|
/* 02C802C0 */ _t343 = cpu->r[1] + 0x00000008u;
|
|
/* 02C802C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t343);
|
|
/* 02C802C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C802C8 */ _t344 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C802C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t344);
|
|
/* 02C802CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C802D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C802D4 */ return;
|
|
}
|
|
|
|
// fn_02C7F7C4 @ 0x2c7f7c4
|
|
void Gambit_fn_02C7F7C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344;
|
|
|
|
L_02C7F7C4: ; // 0x2c7f7c4
|
|
/* 02C7F7C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7F7C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7F7C4 */ cpu->r[1] = _t0;
|
|
/* 02C7F7C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F7C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7F7CC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C7F7D0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F7D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7F7D4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7F7D8 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 02C7F7DC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F7DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7F7E0 */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 02C7F7E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7F7E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F7E8 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F7F0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F7F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7F7F0 */ if (_t6) goto L_02C7F7F4; else goto L_02C7F810;
|
|
L_02C7F7F4: ; // 0x2c7f7f4
|
|
/* 02C7F7F4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F7F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7F7F8 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F7F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7F7FC */ cpu->lr = cpu->r[0];
|
|
/* 02C7F800 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F800 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7F804 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F808 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7F80C */ return;
|
|
L_02C7F810: ; // 0x2c7f810
|
|
/* 02C7F810 */ _t10 = cpu->r[30] + 0x00000008u;
|
|
/* 02C7F810 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7F814 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F818 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C7F81C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F824 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F824 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C7F824 */ if (_t12) goto L_02C7F828; else goto L_02C7F844;
|
|
L_02C7F828: ; // 0x2c7f828
|
|
/* 02C7F828 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7F82C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F82C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C7F830 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F834 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F834 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C7F838 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F83C */ cpu->r[3] = 0x00000002u;
|
|
/* 02C7F840 */ return;
|
|
L_02C7F844: ; // 0x2c7f844
|
|
/* 02C7F844 */ _t16 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C7F844 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C7F848 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F84C */ cpu->r[4] = 0x0000000Bu;
|
|
/* 02C7F850 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F858 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F858 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C7F858 */ if (_t18) goto L_02C7F85C; else goto L_02C7F878;
|
|
L_02C7F85C: ; // 0x2c7f85c
|
|
/* 02C7F85C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C7F860 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C7F864 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F868 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C7F86C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F870 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C7F874 */ return;
|
|
L_02C7F878: ; // 0x2c7f878
|
|
/* 02C7F878 */ _t22 = cpu->r[30] + 0x00000010u;
|
|
/* 02C7F878 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C7F87C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F880 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 02C7F884 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F88C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F88C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C7F88C */ if (_t24) goto L_02C7F890; else goto L_02C7F8AC;
|
|
L_02C7F890: ; // 0x2c7f890
|
|
/* 02C7F890 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C7F894 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F894 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C7F898 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F89C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F89C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C7F8A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F8A4 */ cpu->r[3] = 0x00000004u;
|
|
/* 02C7F8A8 */ return;
|
|
L_02C7F8AC: ; // 0x2c7f8ac
|
|
/* 02C7F8AC */ _t28 = cpu->r[30] + 0x00000014u;
|
|
/* 02C7F8AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C7F8B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F8B4 */ cpu->r[4] = 0x00000083u;
|
|
/* 02C7F8B8 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F8BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F8C0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F8C0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C7F8C0 */ if (_t30) goto L_02C7F8C4; else goto L_02C7F8E0;
|
|
L_02C7F8C4: ; // 0x2c7f8c4
|
|
/* 02C7F8C4 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F8C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C7F8C8 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F8C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C7F8CC */ cpu->lr = cpu->r[0];
|
|
/* 02C7F8D0 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F8D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C7F8D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F8D8 */ cpu->r[3] = 0x00000005u;
|
|
/* 02C7F8DC */ return;
|
|
L_02C7F8E0: ; // 0x2c7f8e0
|
|
/* 02C7F8E0 */ _t34 = cpu->r[30] + 0x00000018u;
|
|
/* 02C7F8E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C7F8E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F8E8 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C7F8EC */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F8F4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F8F4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C7F8F4 */ if (_t36) goto L_02C7F8F8; else goto L_02C7F914;
|
|
L_02C7F8F8: ; // 0x2c7f8f8
|
|
/* 02C7F8F8 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C7F8FC */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F8FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C7F900 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F904 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F904 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C7F908 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F90C */ cpu->r[3] = 0x00000006u;
|
|
/* 02C7F910 */ return;
|
|
L_02C7F914: ; // 0x2c7f914
|
|
/* 02C7F914 */ _t40 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C7F914 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C7F918 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F91C */ cpu->r[4] = 0x00000001u;
|
|
/* 02C7F920 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F928 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F928 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C7F928 */ if (_t42) goto L_02C7F92C; else goto L_02C7F948;
|
|
L_02C7F92C: ; // 0x2c7f92c
|
|
/* 02C7F92C */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F92C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C7F930 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F930 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C7F934 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F938 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F938 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C7F93C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F940 */ cpu->r[3] = 0x00000007u;
|
|
/* 02C7F944 */ return;
|
|
L_02C7F948: ; // 0x2c7f948
|
|
/* 02C7F948 */ _t46 = cpu->r[30] + 0x00000020u;
|
|
/* 02C7F948 */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C7F94C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F950 */ cpu->r[4] = 0x0000003Bu;
|
|
/* 02C7F954 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F95C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F95C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C7F95C */ if (_t48) goto L_02C7F960; else goto L_02C7F97C;
|
|
L_02C7F960: ; // 0x2c7f960
|
|
/* 02C7F960 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C7F964 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F964 */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C7F968 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F96C */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F96C */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C7F970 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F974 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C7F978 */ return;
|
|
L_02C7F97C: ; // 0x2c7f97c
|
|
/* 02C7F97C */ _t52 = cpu->r[30] + 0x00000024u;
|
|
/* 02C7F97C */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C7F980 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F984 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C7F988 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F990 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F990 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C7F990 */ if (_t54) goto L_02C7F994; else goto L_02C7F9B0;
|
|
L_02C7F994: ; // 0x2c7f994
|
|
/* 02C7F994 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C7F998 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F998 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C7F99C */ cpu->lr = cpu->r[0];
|
|
/* 02C7F9A0 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F9A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C7F9A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F9A8 */ cpu->r[3] = 0x00000009u;
|
|
/* 02C7F9AC */ return;
|
|
L_02C7F9B0: ; // 0x2c7f9b0
|
|
/* 02C7F9B0 */ _t58 = cpu->r[30] + 0x00000028u;
|
|
/* 02C7F9B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C7F9B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F9B8 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C7F9BC */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F9C4 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F9C4 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C7F9C4 */ if (_t60) goto L_02C7F9C8; else goto L_02C7F9E4;
|
|
L_02C7F9C8: ; // 0x2c7f9c8
|
|
/* 02C7F9C8 */ _t61 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F9C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C7F9CC */ _t62 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7F9CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C7F9D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7F9D4 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7F9D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C7F9D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7F9DC */ cpu->r[3] = 0x0000000Au;
|
|
/* 02C7F9E0 */ return;
|
|
L_02C7F9E4: ; // 0x2c7f9e4
|
|
/* 02C7F9E4 */ _t64 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C7F9E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C7F9E8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7F9EC */ cpu->r[4] = 0x00000006u;
|
|
/* 02C7F9F0 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7F9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7F9F8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7F9F8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C7F9F8 */ if (_t66) goto L_02C7F9FC; else goto L_02C7FA18;
|
|
L_02C7F9FC: ; // 0x2c7f9fc
|
|
/* 02C7F9FC */ _t67 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7F9FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C7FA00 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FA00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C7FA04 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FA08 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FA08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C7FA0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FA10 */ cpu->r[3] = 0x0000000Bu;
|
|
/* 02C7FA14 */ return;
|
|
L_02C7FA18: ; // 0x2c7fa18
|
|
/* 02C7FA18 */ _t70 = cpu->r[30] + 0x00000030u;
|
|
/* 02C7FA18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C7FA1C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FA20 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C7FA24 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FA28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FA2C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FA2C */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C7FA2C */ if (_t72) goto L_02C7FA30; else goto L_02C7FA4C;
|
|
L_02C7FA30: ; // 0x2c7fa30
|
|
/* 02C7FA30 */ _t73 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FA30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C7FA34 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FA34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C7FA38 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FA3C */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FA3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C7FA40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FA44 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C7FA48 */ return;
|
|
L_02C7FA4C: ; // 0x2c7fa4c
|
|
/* 02C7FA4C */ _t76 = cpu->r[30] + 0x00000034u;
|
|
/* 02C7FA4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C7FA50 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FA54 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C7FA58 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FA60 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FA60 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02C7FA60 */ if (_t78) goto L_02C7FA64; else goto L_02C7FA80;
|
|
L_02C7FA64: ; // 0x2c7fa64
|
|
/* 02C7FA64 */ _t79 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FA64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C7FA68 */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FA68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C7FA6C */ cpu->lr = cpu->r[0];
|
|
/* 02C7FA70 */ _t81 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FA70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C7FA74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FA78 */ cpu->r[3] = 0x0000000Du;
|
|
/* 02C7FA7C */ return;
|
|
L_02C7FA80: ; // 0x2c7fa80
|
|
/* 02C7FA80 */ _t82 = cpu->r[30] + 0x00000038u;
|
|
/* 02C7FA80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C7FA84 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FA88 */ cpu->r[4] = 0x00000012u;
|
|
/* 02C7FA8C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FA90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FA94 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FA94 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C7FA94 */ if (_t84) goto L_02C7FA98; else goto L_02C7FAB4;
|
|
L_02C7FA98: ; // 0x2c7fa98
|
|
/* 02C7FA98 */ _t85 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FA98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C7FA9C */ _t86 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FA9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C7FAA0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FAA4 */ _t87 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FAA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C7FAA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FAAC */ cpu->r[3] = 0x0000000Eu;
|
|
/* 02C7FAB0 */ return;
|
|
L_02C7FAB4: ; // 0x2c7fab4
|
|
/* 02C7FAB4 */ _t88 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C7FAB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C7FAB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FABC */ cpu->r[4] = 0x00000017u;
|
|
/* 02C7FAC0 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FAC8 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FAC8 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C7FAC8 */ if (_t90) goto L_02C7FACC; else goto L_02C7FAE8;
|
|
L_02C7FACC: ; // 0x2c7facc
|
|
/* 02C7FACC */ _t91 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C7FAD0 */ _t92 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FAD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C7FAD4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FAD8 */ _t93 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FAD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02C7FADC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FAE0 */ cpu->r[3] = 0x0000000Fu;
|
|
/* 02C7FAE4 */ return;
|
|
L_02C7FAE8: ; // 0x2c7fae8
|
|
/* 02C7FAE8 */ _t94 = cpu->r[30] + 0x00000040u;
|
|
/* 02C7FAE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C7FAEC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FAF0 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C7FAF4 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FAF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FAFC */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FAFC */ _t96 = _t95 & 0x00000001u;
|
|
/* 02C7FAFC */ if (_t96) goto L_02C7FB00; else goto L_02C7FB1C;
|
|
L_02C7FB00: ; // 0x2c7fb00
|
|
/* 02C7FB00 */ _t97 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FB00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02C7FB04 */ _t98 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FB04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02C7FB08 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FB0C */ _t99 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FB0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C7FB10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FB14 */ cpu->r[3] = 0x00000010u;
|
|
/* 02C7FB18 */ return;
|
|
L_02C7FB1C: ; // 0x2c7fb1c
|
|
/* 02C7FB1C */ _t100 = cpu->r[30] + 0x00000044u;
|
|
/* 02C7FB1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C7FB20 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FB24 */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7FB28 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FB2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FB30 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FB30 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02C7FB30 */ if (_t102) goto L_02C7FB34; else goto L_02C7FB50;
|
|
L_02C7FB34: ; // 0x2c7fb34
|
|
/* 02C7FB34 */ _t103 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FB34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02C7FB38 */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FB38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02C7FB3C */ cpu->lr = cpu->r[0];
|
|
/* 02C7FB40 */ _t105 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FB40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02C7FB44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FB48 */ cpu->r[3] = 0x00000011u;
|
|
/* 02C7FB4C */ return;
|
|
L_02C7FB50: ; // 0x2c7fb50
|
|
/* 02C7FB50 */ _t106 = cpu->r[30] + 0x00000048u;
|
|
/* 02C7FB50 */ cpu->r[5] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02C7FB54 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FB58 */ cpu->r[4] = 0x00000006u;
|
|
/* 02C7FB5C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FB64 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FB64 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02C7FB64 */ if (_t108) goto L_02C7FB68; else goto L_02C7FB84;
|
|
L_02C7FB68: ; // 0x2c7fb68
|
|
/* 02C7FB68 */ _t109 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FB68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C7FB6C */ _t110 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FB6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C7FB70 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FB74 */ _t111 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FB74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02C7FB78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FB7C */ cpu->r[3] = 0x00000012u;
|
|
/* 02C7FB80 */ return;
|
|
L_02C7FB84: ; // 0x2c7fb84
|
|
/* 02C7FB84 */ _t112 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C7FB84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02C7FB88 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FB8C */ cpu->r[4] = 0x0000000Bu;
|
|
/* 02C7FB90 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FB94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FB98 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FB98 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02C7FB98 */ if (_t114) goto L_02C7FB9C; else goto L_02C7FBB8;
|
|
L_02C7FB9C: ; // 0x2c7fb9c
|
|
/* 02C7FB9C */ _t115 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FB9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02C7FBA0 */ _t116 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FBA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02C7FBA4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FBA8 */ _t117 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FBA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02C7FBAC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FBB0 */ cpu->r[3] = 0x00000013u;
|
|
/* 02C7FBB4 */ return;
|
|
L_02C7FBB8: ; // 0x2c7fbb8
|
|
/* 02C7FBB8 */ _t118 = cpu->r[30] + 0x00000050u;
|
|
/* 02C7FBB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02C7FBBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FBC0 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C7FBC4 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FBCC */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FBCC */ _t120 = _t119 & 0x00000001u;
|
|
/* 02C7FBCC */ if (_t120) goto L_02C7FBD0; else goto L_02C7FBEC;
|
|
L_02C7FBD0: ; // 0x2c7fbd0
|
|
/* 02C7FBD0 */ _t121 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FBD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02C7FBD4 */ _t122 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FBD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02C7FBD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FBDC */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FBDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02C7FBE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FBE4 */ cpu->r[3] = 0x00000014u;
|
|
/* 02C7FBE8 */ return;
|
|
L_02C7FBEC: ; // 0x2c7fbec
|
|
/* 02C7FBEC */ _t124 = cpu->r[30] + 0x00000054u;
|
|
/* 02C7FBEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02C7FBF0 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C7FBF4 */ cpu->r[4] = 0x00000012u;
|
|
/* 02C7FBF8 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FC00 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FC00 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02C7FC00 */ if (_t126) goto L_02C7FC04; else goto L_02C7FC20;
|
|
L_02C7FC04: ; // 0x2c7fc04
|
|
/* 02C7FC04 */ _t127 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FC04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02C7FC08 */ _t128 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FC08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02C7FC0C */ cpu->lr = cpu->r[0];
|
|
/* 02C7FC10 */ _t129 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FC10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02C7FC14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FC18 */ cpu->r[3] = 0x00000015u;
|
|
/* 02C7FC1C */ return;
|
|
L_02C7FC20: ; // 0x2c7fc20
|
|
/* 02C7FC20 */ _t130 = cpu->r[30] + 0x00000058u;
|
|
/* 02C7FC20 */ cpu->r[5] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02C7FC24 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FC28 */ cpu->r[4] = 0x00000011u;
|
|
/* 02C7FC2C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FC34 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FC34 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02C7FC34 */ if (_t132) goto L_02C7FC38; else goto L_02C7FC54;
|
|
L_02C7FC38: ; // 0x2c7fc38
|
|
/* 02C7FC38 */ _t133 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FC38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02C7FC3C */ _t134 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FC3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02C7FC40 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FC44 */ _t135 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FC44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02C7FC48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FC4C */ cpu->r[3] = 0x00000016u;
|
|
/* 02C7FC50 */ return;
|
|
L_02C7FC54: ; // 0x2c7fc54
|
|
/* 02C7FC54 */ _t136 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C7FC54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02C7FC58 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FC5C */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7FC60 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FC68 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FC68 */ _t138 = _t137 & 0x00000001u;
|
|
/* 02C7FC68 */ if (_t138) goto L_02C7FC6C; else goto L_02C7FC88;
|
|
L_02C7FC6C: ; // 0x2c7fc6c
|
|
/* 02C7FC6C */ _t139 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FC6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02C7FC70 */ _t140 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FC70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02C7FC74 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FC78 */ _t141 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FC78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02C7FC7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FC80 */ cpu->r[3] = 0x00000017u;
|
|
/* 02C7FC84 */ return;
|
|
L_02C7FC88: ; // 0x2c7fc88
|
|
/* 02C7FC88 */ _t142 = cpu->r[30] + 0x00000060u;
|
|
/* 02C7FC88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02C7FC8C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FC90 */ cpu->r[4] = 0x00000012u;
|
|
/* 02C7FC94 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FC98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FC9C */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FC9C */ _t144 = _t143 & 0x00000001u;
|
|
/* 02C7FC9C */ if (_t144) goto L_02C7FCA0; else goto L_02C7FCBC;
|
|
L_02C7FCA0: ; // 0x2c7fca0
|
|
/* 02C7FCA0 */ _t145 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FCA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02C7FCA4 */ _t146 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FCA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02C7FCA8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FCAC */ _t147 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FCAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02C7FCB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FCB4 */ cpu->r[3] = 0x00000018u;
|
|
/* 02C7FCB8 */ return;
|
|
L_02C7FCBC: ; // 0x2c7fcbc
|
|
/* 02C7FCBC */ _t148 = cpu->r[30] + 0x00000064u;
|
|
/* 02C7FCBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02C7FCC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FCC4 */ cpu->r[4] = 0x00000023u;
|
|
/* 02C7FCC8 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FCCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FCD0 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FCD0 */ _t150 = _t149 & 0x00000001u;
|
|
/* 02C7FCD0 */ if (_t150) goto L_02C7FCD4; else goto L_02C7FCF0;
|
|
L_02C7FCD4: ; // 0x2c7fcd4
|
|
/* 02C7FCD4 */ _t151 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FCD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02C7FCD8 */ _t152 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FCD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02C7FCDC */ cpu->lr = cpu->r[0];
|
|
/* 02C7FCE0 */ _t153 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FCE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02C7FCE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FCE8 */ cpu->r[3] = 0x00000019u;
|
|
/* 02C7FCEC */ return;
|
|
L_02C7FCF0: ; // 0x2c7fcf0
|
|
/* 02C7FCF0 */ _t154 = cpu->r[30] + 0x00000068u;
|
|
/* 02C7FCF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02C7FCF4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FCF8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C7FCFC */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FD00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FD04 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FD04 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02C7FD04 */ if (_t156) goto L_02C7FD08; else goto L_02C7FD24;
|
|
L_02C7FD08: ; // 0x2c7fd08
|
|
/* 02C7FD08 */ _t157 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FD08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02C7FD0C */ _t158 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FD0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02C7FD10 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FD14 */ _t159 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FD14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02C7FD18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FD1C */ cpu->r[3] = 0x0000001Au;
|
|
/* 02C7FD20 */ return;
|
|
L_02C7FD24: ; // 0x2c7fd24
|
|
/* 02C7FD24 */ _t160 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02C7FD24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02C7FD28 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FD2C */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7FD30 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FD38 */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FD38 */ _t162 = _t161 & 0x00000001u;
|
|
/* 02C7FD38 */ if (_t162) goto L_02C7FD3C; else goto L_02C7FD58;
|
|
L_02C7FD3C: ; // 0x2c7fd3c
|
|
/* 02C7FD3C */ _t163 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FD3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02C7FD40 */ _t164 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FD40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02C7FD44 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FD48 */ _t165 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FD48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02C7FD4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FD50 */ cpu->r[3] = 0x0000001Bu;
|
|
/* 02C7FD54 */ return;
|
|
L_02C7FD58: ; // 0x2c7fd58
|
|
/* 02C7FD58 */ _t166 = cpu->r[30] + 0x00000070u;
|
|
/* 02C7FD58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02C7FD5C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FD60 */ cpu->r[4] = 0x00000006u;
|
|
/* 02C7FD64 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FD6C */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FD6C */ _t168 = _t167 & 0x00000001u;
|
|
/* 02C7FD6C */ if (_t168) goto L_02C7FD70; else goto L_02C7FD8C;
|
|
L_02C7FD70: ; // 0x2c7fd70
|
|
/* 02C7FD70 */ _t169 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FD70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02C7FD74 */ _t170 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FD74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02C7FD78 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FD7C */ _t171 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FD7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02C7FD80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FD84 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 02C7FD88 */ return;
|
|
L_02C7FD8C: ; // 0x2c7fd8c
|
|
/* 02C7FD8C */ _t172 = cpu->r[30] + 0x00000074u;
|
|
/* 02C7FD8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02C7FD90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FD94 */ cpu->r[4] = 0x00000012u;
|
|
/* 02C7FD98 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FDA0 */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FDA0 */ _t174 = _t173 & 0x00000001u;
|
|
/* 02C7FDA0 */ if (_t174) goto L_02C7FDA4; else goto L_02C7FDC0;
|
|
L_02C7FDA4: ; // 0x2c7fda4
|
|
/* 02C7FDA4 */ _t175 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FDA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02C7FDA8 */ _t176 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FDA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02C7FDAC */ cpu->lr = cpu->r[0];
|
|
/* 02C7FDB0 */ _t177 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FDB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t177);
|
|
/* 02C7FDB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FDB8 */ cpu->r[3] = 0x0000001Du;
|
|
/* 02C7FDBC */ return;
|
|
L_02C7FDC0: ; // 0x2c7fdc0
|
|
/* 02C7FDC0 */ _t178 = cpu->r[30] + 0x00000078u;
|
|
/* 02C7FDC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02C7FDC4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FDC8 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C7FDCC */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FDD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FDD4 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FDD4 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02C7FDD4 */ if (_t180) goto L_02C7FDD8; else goto L_02C7FDF4;
|
|
L_02C7FDD8: ; // 0x2c7fdd8
|
|
/* 02C7FDD8 */ _t181 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02C7FDDC */ _t182 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FDDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02C7FDE0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FDE4 */ _t183 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FDE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02C7FDE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FDEC */ cpu->r[3] = 0x00000020u;
|
|
/* 02C7FDF0 */ return;
|
|
L_02C7FDF4: ; // 0x2c7fdf4
|
|
/* 02C7FDF4 */ _t184 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02C7FDF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02C7FDF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FDFC */ cpu->r[4] = 0x00000005u;
|
|
/* 02C7FE00 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FE08 */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FE08 */ _t186 = _t185 & 0x00000001u;
|
|
/* 02C7FE08 */ if (_t186) goto L_02C7FE0C; else goto L_02C7FE28;
|
|
L_02C7FE0C: ; // 0x2c7fe0c
|
|
/* 02C7FE0C */ _t187 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FE0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02C7FE10 */ _t188 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FE10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02C7FE14 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FE18 */ _t189 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FE18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02C7FE1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FE20 */ cpu->r[3] = 0x0000001Eu;
|
|
/* 02C7FE24 */ return;
|
|
L_02C7FE28: ; // 0x2c7fe28
|
|
/* 02C7FE28 */ _t190 = cpu->r[30] + 0x00000080u;
|
|
/* 02C7FE28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02C7FE2C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FE30 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C7FE34 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FE38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FE3C */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FE3C */ _t192 = _t191 & 0x00000001u;
|
|
/* 02C7FE3C */ if (_t192) goto L_02C7FE40; else goto L_02C7FE5C;
|
|
L_02C7FE40: ; // 0x2c7fe40
|
|
/* 02C7FE40 */ _t193 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t193);
|
|
/* 02C7FE44 */ _t194 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FE44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02C7FE48 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FE4C */ _t195 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02C7FE50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FE54 */ cpu->r[3] = 0x0000001Fu;
|
|
/* 02C7FE58 */ return;
|
|
L_02C7FE5C: ; // 0x2c7fe5c
|
|
/* 02C7FE5C */ _t196 = cpu->r[30] + 0x00000084u;
|
|
/* 02C7FE5C */ cpu->r[5] = rbrew_read32(cpu->mem, _t196);
|
|
/* 02C7FE60 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FE64 */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7FE68 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FE6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FE70 */ _t197 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FE70 */ _t198 = _t197 & 0x00000001u;
|
|
/* 02C7FE70 */ if (_t198) goto L_02C7FE74; else goto L_02C7FE90;
|
|
L_02C7FE74: ; // 0x2c7fe74
|
|
/* 02C7FE74 */ _t199 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t199);
|
|
/* 02C7FE78 */ _t200 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FE78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02C7FE7C */ cpu->lr = cpu->r[0];
|
|
/* 02C7FE80 */ _t201 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FE80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02C7FE84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FE88 */ cpu->r[3] = 0x00000021u;
|
|
/* 02C7FE8C */ return;
|
|
L_02C7FE90: ; // 0x2c7fe90
|
|
/* 02C7FE90 */ _t202 = cpu->r[30] + 0x00000088u;
|
|
/* 02C7FE90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t202);
|
|
/* 02C7FE94 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FE98 */ cpu->r[4] = 0x00000010u;
|
|
/* 02C7FE9C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FEA4 */ _t203 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FEA4 */ _t204 = _t203 & 0x00000001u;
|
|
/* 02C7FEA4 */ if (_t204) goto L_02C7FEA8; else goto L_02C7FEC4;
|
|
L_02C7FEA8: ; // 0x2c7fea8
|
|
/* 02C7FEA8 */ _t205 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FEA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t205);
|
|
/* 02C7FEAC */ _t206 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FEAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t206);
|
|
/* 02C7FEB0 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FEB4 */ _t207 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FEB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02C7FEB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FEBC */ cpu->r[3] = 0x00000022u;
|
|
/* 02C7FEC0 */ return;
|
|
L_02C7FEC4: ; // 0x2c7fec4
|
|
/* 02C7FEC4 */ _t208 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02C7FEC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02C7FEC8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FECC */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7FED0 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FED8 */ _t209 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FED8 */ _t210 = _t209 & 0x00000001u;
|
|
/* 02C7FED8 */ if (_t210) goto L_02C7FEDC; else goto L_02C7FEF8;
|
|
L_02C7FEDC: ; // 0x2c7fedc
|
|
/* 02C7FEDC */ _t211 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FEDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t211);
|
|
/* 02C7FEE0 */ _t212 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FEE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t212);
|
|
/* 02C7FEE4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FEE8 */ _t213 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FEE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02C7FEEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FEF0 */ cpu->r[3] = 0x00000023u;
|
|
/* 02C7FEF4 */ return;
|
|
L_02C7FEF8: ; // 0x2c7fef8
|
|
/* 02C7FEF8 */ _t214 = cpu->r[30] + 0x00000090u;
|
|
/* 02C7FEF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02C7FEFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FF00 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C7FF04 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FF0C */ _t215 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FF0C */ _t216 = _t215 & 0x00000001u;
|
|
/* 02C7FF0C */ if (_t216) goto L_02C7FF10; else goto L_02C7FF2C;
|
|
L_02C7FF10: ; // 0x2c7ff10
|
|
/* 02C7FF10 */ _t217 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FF10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02C7FF14 */ _t218 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FF14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02C7FF18 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FF1C */ _t219 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FF1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t219);
|
|
/* 02C7FF20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FF24 */ cpu->r[3] = 0x00000024u;
|
|
/* 02C7FF28 */ return;
|
|
L_02C7FF2C: ; // 0x2c7ff2c
|
|
/* 02C7FF2C */ _t220 = cpu->r[30] + 0x00000094u;
|
|
/* 02C7FF2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t220);
|
|
/* 02C7FF30 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FF34 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C7FF38 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FF3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FF40 */ _t221 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FF40 */ _t222 = _t221 & 0x00000001u;
|
|
/* 02C7FF40 */ if (_t222) goto L_02C7FF44; else goto L_02C7FF60;
|
|
L_02C7FF44: ; // 0x2c7ff44
|
|
/* 02C7FF44 */ _t223 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FF44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t223);
|
|
/* 02C7FF48 */ _t224 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FF48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t224);
|
|
/* 02C7FF4C */ cpu->lr = cpu->r[0];
|
|
/* 02C7FF50 */ _t225 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FF50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t225);
|
|
/* 02C7FF54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FF58 */ cpu->r[3] = 0x00000025u;
|
|
/* 02C7FF5C */ return;
|
|
L_02C7FF60: ; // 0x2c7ff60
|
|
/* 02C7FF60 */ _t226 = cpu->r[30] + 0x00000098u;
|
|
/* 02C7FF60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02C7FF64 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FF68 */ cpu->r[4] = 0x00000014u;
|
|
/* 02C7FF6C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FF70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FF74 */ _t227 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FF74 */ _t228 = _t227 & 0x00000001u;
|
|
/* 02C7FF74 */ if (_t228) goto L_02C7FF78; else goto L_02C7FF94;
|
|
L_02C7FF78: ; // 0x2c7ff78
|
|
/* 02C7FF78 */ _t229 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FF78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t229);
|
|
/* 02C7FF7C */ _t230 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FF7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t230);
|
|
/* 02C7FF80 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FF84 */ _t231 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FF84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t231);
|
|
/* 02C7FF88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FF8C */ cpu->r[3] = 0x00000026u;
|
|
/* 02C7FF90 */ return;
|
|
L_02C7FF94: ; // 0x2c7ff94
|
|
/* 02C7FF94 */ _t232 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02C7FF94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t232);
|
|
/* 02C7FF98 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FF9C */ cpu->r[4] = 0x00000001u;
|
|
/* 02C7FFA0 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FFA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FFA8 */ _t233 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FFA8 */ _t234 = _t233 & 0x00000001u;
|
|
/* 02C7FFA8 */ if (_t234) goto L_02C7FFAC; else goto L_02C7FFC8;
|
|
L_02C7FFAC: ; // 0x2c7ffac
|
|
/* 02C7FFAC */ _t235 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FFAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t235);
|
|
/* 02C7FFB0 */ _t236 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FFB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t236);
|
|
/* 02C7FFB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FFB8 */ _t237 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FFB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t237);
|
|
/* 02C7FFBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FFC0 */ cpu->r[3] = 0x00000027u;
|
|
/* 02C7FFC4 */ return;
|
|
L_02C7FFC8: ; // 0x2c7ffc8
|
|
/* 02C7FFC8 */ _t238 = cpu->r[30] + 0x000000A0u;
|
|
/* 02C7FFC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t238);
|
|
/* 02C7FFCC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7FFD0 */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7FFD4 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C7FFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7FFDC */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7FFDC */ _t240 = _t239 & 0x00000001u;
|
|
/* 02C7FFDC */ if (_t240) goto L_02C7FFE0; else goto L_02C7FFFC;
|
|
L_02C7FFE0: ; // 0x2c7ffe0
|
|
/* 02C7FFE0 */ _t241 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7FFE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t241);
|
|
/* 02C7FFE4 */ _t242 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7FFE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t242);
|
|
/* 02C7FFE8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7FFEC */ _t243 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7FFEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t243);
|
|
/* 02C7FFF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7FFF4 */ cpu->r[3] = 0x00000028u;
|
|
/* 02C7FFF8 */ return;
|
|
L_02C7FFFC: ; // 0x2c7fffc
|
|
/* 02C7FFFC */ _t244 = cpu->r[30] + 0x000000A4u;
|
|
/* 02C7FFFC */ cpu->r[5] = rbrew_read32(cpu->mem, _t244);
|
|
/* 02C80000 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C80004 */ cpu->r[4] = 0x00000010u;
|
|
/* 02C80008 */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C8000C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80010 */ _t245 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80010 */ _t246 = _t245 & 0x00000001u;
|
|
/* 02C80010 */ if (_t246) goto L_02C80014; else goto L_02C80030;
|
|
L_02C80014: ; // 0x2c80014
|
|
/* 02C80014 */ _t247 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t247);
|
|
/* 02C80018 */ _t248 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80018 */ cpu->r[30] = rbrew_read32(cpu->mem, _t248);
|
|
/* 02C8001C */ cpu->lr = cpu->r[0];
|
|
/* 02C80020 */ _t249 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80020 */ cpu->r[31] = rbrew_read32(cpu->mem, _t249);
|
|
/* 02C80024 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80028 */ cpu->r[3] = 0x00000029u;
|
|
/* 02C8002C */ return;
|
|
L_02C80030: ; // 0x2c80030
|
|
/* 02C80030 */ _t250 = cpu->r[30] + 0x000000A8u;
|
|
/* 02C80030 */ cpu->r[5] = rbrew_read32(cpu->mem, _t250);
|
|
/* 02C80034 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C80038 */ cpu->r[4] = 0x0000001Eu;
|
|
/* 02C8003C */ Gambit_fn_02C803A4(cpu);
|
|
/* 02C80040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80044 */ _t251 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80044 */ _t252 = _t251 & 0x00000001u;
|
|
/* 02C80044 */ if (_t252) goto L_02C80048; else goto L_02C80064;
|
|
L_02C80048: ; // 0x2c80048
|
|
/* 02C80048 */ _t253 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t253);
|
|
/* 02C8004C */ _t254 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8004C */ cpu->r[30] = rbrew_read32(cpu->mem, _t254);
|
|
/* 02C80050 */ cpu->lr = cpu->r[0];
|
|
/* 02C80054 */ _t255 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t255);
|
|
/* 02C80058 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8005C */ cpu->r[3] = 0x0000002Au;
|
|
/* 02C80060 */ return;
|
|
L_02C80064: ; // 0x2c80064
|
|
/* 02C80064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C80068 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80068 */ _t257 = _t256 & 0x00000001u;
|
|
/* 02C80068 */ if (_t257) goto L_02C800D8; else goto L_02C8006C;
|
|
L_02C8006C: ; // 0x2c8006c
|
|
/* 02C8006C */ _t258 = cpu->r[30] + 0x000000B4u;
|
|
/* 02C8006C */ cpu->r[11] = rbrew_read16(cpu->mem, _t258);
|
|
/* 02C80070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C80074 */ _t259 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80074 */ _t260 = _t259 & 0x00000001u;
|
|
/* 02C80074 */ if (_t260) goto L_02C8008C; else goto L_02C80078;
|
|
L_02C80078: ; // 0x2c80078
|
|
/* 02C80078 */ cpu->r[3] = cpu->r[30] + 0x000000B4u;
|
|
/* 02C8007C */ cpu->r[4] = 0x0000000Au;
|
|
/* 02C80080 */ Gambit_fn_02C7F758(cpu);
|
|
/* 02C80084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80088 */ _t261 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80088 */ _t262 = _t261 & 0x00000001u;
|
|
/* 02C80088 */ if (_t262) goto L_02C8008C; else goto L_02C800A8;
|
|
L_02C8008C: ; // 0x2c8008c
|
|
/* 02C8008C */ _t263 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8008C */ cpu->r[0] = rbrew_read32(cpu->mem, _t263);
|
|
/* 02C80090 */ _t264 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t264);
|
|
/* 02C80094 */ cpu->lr = cpu->r[0];
|
|
/* 02C80098 */ _t265 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t265);
|
|
/* 02C8009C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C800A0 */ cpu->r[3] = 0x0000002Du;
|
|
/* 02C800A4 */ return;
|
|
L_02C800A8: ; // 0x2c800a8
|
|
/* 02C800A8 */ cpu->r[3] = cpu->r[30] + 0x000000CAu;
|
|
/* 02C800AC */ cpu->r[4] = 0x0000000Au;
|
|
/* 02C800B0 */ Gambit_fn_02C7F758(cpu);
|
|
/* 02C800B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C800B8 */ _t266 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C800B8 */ _t267 = _t266 & 0x00000001u;
|
|
/* 02C800B8 */ if (_t267) goto L_02C800BC; else goto L_02C800D8;
|
|
L_02C800BC: ; // 0x2c800bc
|
|
/* 02C800BC */ _t268 = cpu->r[1] + 0x00000014u;
|
|
/* 02C800BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t268);
|
|
/* 02C800C0 */ _t269 = cpu->r[1] + 0x00000008u;
|
|
/* 02C800C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t269);
|
|
/* 02C800C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C800C8 */ _t270 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C800C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t270);
|
|
/* 02C800CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C800D0 */ cpu->r[3] = 0x0000002Eu;
|
|
/* 02C800D4 */ return;
|
|
L_02C800D8: ; // 0x2c800d8
|
|
/* 02C800D8 */ _t271 = cpu->r[30] + 0x000000ACu;
|
|
/* 02C800D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t271);
|
|
/* 02C800DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000080u);
|
|
/* 02C800E0 */ _t272 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C800E0 */ _t273 = _t272 & 0x00000001u;
|
|
/* 02C800E0 */ if (_t273) goto L_02C800E4; else goto L_02C80100;
|
|
L_02C800E4: ; // 0x2c800e4
|
|
/* 02C800E4 */ _t274 = cpu->r[1] + 0x00000014u;
|
|
/* 02C800E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t274);
|
|
/* 02C800E8 */ _t275 = cpu->r[1] + 0x00000008u;
|
|
/* 02C800E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t275);
|
|
/* 02C800EC */ cpu->lr = cpu->r[0];
|
|
/* 02C800F0 */ _t276 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C800F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t276);
|
|
/* 02C800F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C800F8 */ cpu->r[3] = 0x0000002Bu;
|
|
/* 02C800FC */ return;
|
|
L_02C80100: ; // 0x2c80100
|
|
/* 02C80100 */ _t277 = cpu->r[30] + 0x000000B0u;
|
|
/* 02C80100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t277);
|
|
/* 02C80104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000080u);
|
|
/* 02C80108 */ _t278 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C80108 */ _t279 = _t278 & 0x00000001u;
|
|
/* 02C80108 */ if (_t279) goto L_02C8010C; else goto L_02C80128;
|
|
L_02C8010C: ; // 0x2c8010c
|
|
/* 02C8010C */ _t280 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8010C */ cpu->r[0] = rbrew_read32(cpu->mem, _t280);
|
|
/* 02C80110 */ _t281 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t281);
|
|
/* 02C80114 */ cpu->lr = cpu->r[0];
|
|
/* 02C80118 */ _t282 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80118 */ cpu->r[31] = rbrew_read32(cpu->mem, _t282);
|
|
/* 02C8011C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80120 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02C80124 */ return;
|
|
L_02C80128: ; // 0x2c80128
|
|
/* 02C80128 */ _t283 = cpu->r[30] + 0x000000E0u;
|
|
/* 02C80128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t283);
|
|
/* 02C8012C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C80130 */ _t284 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C80130 */ _t285 = _t284 & 0x00000001u;
|
|
/* 02C80130 */ if (_t285) goto L_02C80134; else goto L_02C80150;
|
|
L_02C80134: ; // 0x2c80134
|
|
/* 02C80134 */ _t286 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t286);
|
|
/* 02C80138 */ _t287 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80138 */ cpu->r[30] = rbrew_read32(cpu->mem, _t287);
|
|
/* 02C8013C */ cpu->lr = cpu->r[0];
|
|
/* 02C80140 */ _t288 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80140 */ cpu->r[31] = rbrew_read32(cpu->mem, _t288);
|
|
/* 02C80144 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80148 */ cpu->r[3] = 0x0000002Fu;
|
|
/* 02C8014C */ return;
|
|
L_02C80150: ; // 0x2c80150
|
|
/* 02C80150 */ _t289 = cpu->r[30] + 0x000000E4u;
|
|
/* 02C80150 */ cpu->r[3] = rbrew_read32(cpu->mem, _t289);
|
|
/* 02C80154 */ _t290 = cpu->r[30] + 0x000000E8u;
|
|
/* 02C80154 */ cpu->r[4] = rbrew_read32(cpu->mem, _t290);
|
|
/* 02C80158 */ Gambit_fn_02C78E80(cpu);
|
|
/* 02C8015C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80160 */ _t291 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80160 */ _t292 = _t291 & 0x00000001u;
|
|
/* 02C80160 */ if (_t292) goto L_02C80164; else goto L_02C80180;
|
|
L_02C80164: ; // 0x2c80164
|
|
/* 02C80164 */ _t293 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t293);
|
|
/* 02C80168 */ _t294 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80168 */ cpu->r[30] = rbrew_read32(cpu->mem, _t294);
|
|
/* 02C8016C */ cpu->lr = cpu->r[0];
|
|
/* 02C80170 */ _t295 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80170 */ cpu->r[31] = rbrew_read32(cpu->mem, _t295);
|
|
/* 02C80174 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80178 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C8017C */ return;
|
|
L_02C80180: ; // 0x2c80180
|
|
/* 02C80180 */ _t296 = cpu->r[30] + 0x000000ECu;
|
|
/* 02C80180 */ cpu->r[11] = rbrew_read32(cpu->mem, _t296);
|
|
/* 02C80184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000000Bu);
|
|
/* 02C80188 */ _t297 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C80188 */ _t298 = _t297 & 0x00000001u;
|
|
/* 02C80188 */ if (_t298) goto L_02C8018C; else goto L_02C801A8;
|
|
L_02C8018C: ; // 0x2c8018c
|
|
/* 02C8018C */ _t299 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8018C */ cpu->r[0] = rbrew_read32(cpu->mem, _t299);
|
|
/* 02C80190 */ _t300 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80190 */ cpu->r[30] = rbrew_read32(cpu->mem, _t300);
|
|
/* 02C80194 */ cpu->lr = cpu->r[0];
|
|
/* 02C80198 */ _t301 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80198 */ cpu->r[31] = rbrew_read32(cpu->mem, _t301);
|
|
/* 02C8019C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C801A0 */ cpu->r[3] = 0x00000031u;
|
|
/* 02C801A4 */ return;
|
|
L_02C801A8: ; // 0x2c801a8
|
|
/* 02C801A8 */ _t302 = cpu->r[30] + 0x000000F4u;
|
|
/* 02C801A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t302);
|
|
/* 02C801AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 02C801B0 */ _t303 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C801B0 */ _t304 = _t303 & 0x00000001u;
|
|
/* 02C801B0 */ if (_t304) goto L_02C801B4; else goto L_02C801D0;
|
|
L_02C801B4: ; // 0x2c801b4
|
|
/* 02C801B4 */ _t305 = cpu->r[1] + 0x00000014u;
|
|
/* 02C801B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t305);
|
|
/* 02C801B8 */ _t306 = cpu->r[1] + 0x00000008u;
|
|
/* 02C801B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t306);
|
|
/* 02C801BC */ cpu->lr = cpu->r[0];
|
|
/* 02C801C0 */ _t307 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C801C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t307);
|
|
/* 02C801C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C801C8 */ cpu->r[3] = 0x00000032u;
|
|
/* 02C801CC */ return;
|
|
L_02C801D0: ; // 0x2c801d0
|
|
/* 02C801D0 */ _t308 = cpu->r[30] + 0x000000F8u;
|
|
/* 02C801D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t308);
|
|
/* 02C801D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02C801D8 */ _t309 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C801D8 */ _t310 = _t309 & 0x00000001u;
|
|
/* 02C801D8 */ if (_t310) goto L_02C801DC; else goto L_02C801F8;
|
|
L_02C801DC: ; // 0x2c801dc
|
|
/* 02C801DC */ _t311 = cpu->r[1] + 0x00000014u;
|
|
/* 02C801DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t311);
|
|
/* 02C801E0 */ _t312 = cpu->r[1] + 0x00000008u;
|
|
/* 02C801E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t312);
|
|
/* 02C801E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C801E8 */ _t313 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C801E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t313);
|
|
/* 02C801EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C801F0 */ cpu->r[3] = 0x00000033u;
|
|
/* 02C801F4 */ return;
|
|
L_02C801F8: ; // 0x2c801f8
|
|
/* 02C801F8 */ _t314 = cpu->r[30] + 0x000000FCu;
|
|
/* 02C801F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t314);
|
|
/* 02C801FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000009u);
|
|
/* 02C80200 */ _t315 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C80200 */ _t316 = _t315 & 0x00000001u;
|
|
/* 02C80200 */ if (_t316) goto L_02C80204; else goto L_02C80220;
|
|
L_02C80204: ; // 0x2c80204
|
|
/* 02C80204 */ _t317 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t317);
|
|
/* 02C80208 */ _t318 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80208 */ cpu->r[30] = rbrew_read32(cpu->mem, _t318);
|
|
/* 02C8020C */ cpu->lr = cpu->r[0];
|
|
/* 02C80210 */ _t319 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80210 */ cpu->r[31] = rbrew_read32(cpu->mem, _t319);
|
|
/* 02C80214 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80218 */ cpu->r[3] = 0x00000034u;
|
|
/* 02C8021C */ return;
|
|
L_02C80220: ; // 0x2c80220
|
|
/* 02C80220 */ _t320 = cpu->r[30] + 0x00000100u;
|
|
/* 02C80220 */ cpu->r[12] = rbrew_read32(cpu->mem, _t320);
|
|
/* 02C80224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000009u);
|
|
/* 02C80228 */ _t321 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C80228 */ _t322 = _t321 & 0x00000001u;
|
|
/* 02C80228 */ if (_t322) goto L_02C8022C; else goto L_02C80248;
|
|
L_02C8022C: ; // 0x2c8022c
|
|
/* 02C8022C */ _t323 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8022C */ cpu->r[0] = rbrew_read32(cpu->mem, _t323);
|
|
/* 02C80230 */ _t324 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80230 */ cpu->r[30] = rbrew_read32(cpu->mem, _t324);
|
|
/* 02C80234 */ cpu->lr = cpu->r[0];
|
|
/* 02C80238 */ _t325 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80238 */ cpu->r[31] = rbrew_read32(cpu->mem, _t325);
|
|
/* 02C8023C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80240 */ cpu->r[3] = 0x00000035u;
|
|
/* 02C80244 */ return;
|
|
L_02C80248: ; // 0x2c80248
|
|
/* 02C80248 */ _t326 = cpu->r[30] + 0x00000104u;
|
|
/* 02C80248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t326);
|
|
/* 02C8024C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C80250 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000007u);
|
|
/* 02C80254 */ _t327 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C80254 */ _t328 = _t327 & 0x00000001u;
|
|
/* 02C80254 */ if (_t328) goto L_02C80274; else goto L_02C80258;
|
|
L_02C80258: ; // 0x2c80258
|
|
/* 02C80258 */ _t329 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t329);
|
|
/* 02C8025C */ _t330 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8025C */ cpu->r[30] = rbrew_read32(cpu->mem, _t330);
|
|
/* 02C80260 */ cpu->lr = cpu->r[0];
|
|
/* 02C80264 */ _t331 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t331);
|
|
/* 02C80268 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8026C */ cpu->r[3] = 0x00000036u;
|
|
/* 02C80270 */ return;
|
|
L_02C80274: ; // 0x2c80274
|
|
/* 02C80274 */ cpu->r[3] = cpu->r[30] + 0x00000108u;
|
|
/* 02C80278 */ Gambit_fn_02C71618(cpu);
|
|
/* 02C8027C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80280 */ _t332 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80280 */ _t333 = _t332 & 0x00000001u;
|
|
/* 02C80280 */ if (_t333) goto L_02C802BC; else goto L_02C80284;
|
|
L_02C80284: ; // 0x2c80284
|
|
/* 02C80284 */ cpu->r[3] = cpu->r[30] + 0x00000108u;
|
|
/* 02C80288 */ Gambit_fn_02C715B8(cpu);
|
|
/* 02C8028C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80290 */ _t334 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80290 */ _t335 = _t334 & 0x00000001u;
|
|
/* 02C80290 */ if (_t335) goto L_02C80294; else goto L_02C802BC;
|
|
L_02C80294: ; // 0x2c80294
|
|
/* 02C80294 */ _t336 = cpu->r[30] + 0x000000F3u;
|
|
/* 02C80294 */ cpu->r[0] = rbrew_read8(cpu->mem, _t336);
|
|
/* 02C80298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C8029C */ _t337 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8029C */ _t338 = _t337 & 0x00000001u;
|
|
/* 02C8029C */ if (_t338) goto L_02C802A0; else goto L_02C802BC;
|
|
L_02C802A0: ; // 0x2c802a0
|
|
/* 02C802A0 */ _t339 = cpu->r[1] + 0x00000014u;
|
|
/* 02C802A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t339);
|
|
/* 02C802A4 */ _t340 = cpu->r[1] + 0x00000008u;
|
|
/* 02C802A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t340);
|
|
/* 02C802A8 */ cpu->lr = cpu->r[0];
|
|
/* 02C802AC */ _t341 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C802AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t341);
|
|
/* 02C802B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C802B4 */ cpu->r[3] = 0x00000037u;
|
|
/* 02C802B8 */ return;
|
|
L_02C802BC: ; // 0x2c802bc
|
|
/* 02C802BC */ _t342 = cpu->r[1] + 0x00000014u;
|
|
/* 02C802BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t342);
|
|
/* 02C802C0 */ _t343 = cpu->r[1] + 0x00000008u;
|
|
/* 02C802C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t343);
|
|
/* 02C802C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C802C8 */ _t344 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C802C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t344);
|
|
/* 02C802CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C802D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C802D4 */ return;
|
|
}
|
|
|
|
// fn_02C802D8 @ 0x2c802d8
|
|
void Gambit_fn_02C802D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C802D8: ; // 0x2c802d8
|
|
/* 02C802D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C802DC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C802DC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C802E0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C802E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C802E0 */ cpu->r[1] = _t1;
|
|
/* 02C802E4 */ Gambit_fn_02C7F7C0(cpu);
|
|
/* 02C802E8 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02C802EC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C802F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C802F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C802F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C802F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C802FC */ return;
|
|
}
|
|
|
|
// fn_02C802E0 @ 0x2c802e0
|
|
void Gambit_fn_02C802E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C802E0: ; // 0x2c802e0
|
|
/* 02C802E0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C802E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C802E0 */ cpu->r[1] = _t0;
|
|
/* 02C802E4 */ Gambit_fn_02C7F7C0(cpu);
|
|
/* 02C802E8 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02C802EC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C802F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C802F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C802F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C802F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C802FC */ return;
|
|
}
|
|
|
|
// fn_02C80300 @ 0x2c80300
|
|
void Gambit_fn_02C80300(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C802D8: ; // 0x2c802d8
|
|
/* 02C802D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C802DC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C802DC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C802E0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C802E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C802E0 */ cpu->r[1] = _t1;
|
|
/* 02C802E4 */ Gambit_fn_02C7F7C0(cpu);
|
|
/* 02C802E8 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02C802EC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C802F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C802F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C802F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C802F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C802FC */ return;
|
|
L_02C80300: ; // 0x2c80300
|
|
/* 02C80300 */ goto L_02C802D8;
|
|
}
|
|
|
|
// fn_02C80304 @ 0x2c80304
|
|
void Gambit_fn_02C80304(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C80304: ; // 0x2c80304
|
|
/* 02C80304 */ cpu->r[12] = cpu->r[3] + 0x101B0000u;
|
|
/* 02C80308 */ _t0 = cpu->r[12] + 0x000034B0u;
|
|
/* 02C80308 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C8030C */ cpu->r[3] = 0x00000020u - cpu->r[0];
|
|
/* 02C80310 */ return;
|
|
}
|
|
|
|
// fn_02C80314 @ 0x2c80314
|
|
void Gambit_fn_02C80314(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C80314: ; // 0x2c80314
|
|
/* 02C80314 */ cpu->r[12] = cpu->r[3] + 0x101B0000u;
|
|
/* 02C80318 */ _t0 = cpu->r[12] + 0x000034F0u;
|
|
/* 02C80318 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C8031C */ cpu->r[3] = 0x00000020u - cpu->r[0];
|
|
/* 02C80320 */ return;
|
|
}
|
|
|
|
// fn_02C80324 @ 0x2c80324
|
|
void Gambit_fn_02C80324(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C80324: ; // 0x2c80324
|
|
/* 02C80324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000013u);
|
|
/* 02C80328 */ cpu->f[0] = cpu->f[1];
|
|
/* 02C8032C */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8032C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C8032C */ if (_t1) goto L_02C80330; else goto L_02C80348;
|
|
L_02C80330: ; // 0x2c80330
|
|
/* 02C80330 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000003u);
|
|
/* 02C80334 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80334 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C80334 */ if (_t3) goto L_02C80360; else goto L_02C80338;
|
|
L_02C80338: ; // 0x2c80338
|
|
/* 02C80338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000000Fu);
|
|
/* 02C8033C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8033C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C8033C */ if (_t5) goto L_02C80360; else goto L_02C80340;
|
|
L_02C80340: ; // 0x2c80340
|
|
/* 02C80340 */ cpu->f[1] = cpu->f[0];
|
|
/* 02C80344 */ return;
|
|
L_02C80348: ; // 0x2c80348
|
|
/* 02C80348 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000015u);
|
|
/* 02C8034C */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8034C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C8034C */ if (_t7) goto L_02C80350; else goto L_02C80360;
|
|
L_02C80350: ; // 0x2c80350
|
|
/* 02C80350 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000017u);
|
|
/* 02C80354 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80354 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C80354 */ if (_t9) goto L_02C80360; else goto L_02C80358;
|
|
L_02C80358: ; // 0x2c80358
|
|
/* 02C80358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000019u);
|
|
/* 02C8035C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8035C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C8035C */ if (_t11) goto L_02C80360; else goto L_02C80370;
|
|
L_02C80360: ; // 0x2c80360
|
|
/* 02C80360 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C80364 */ _t12 = cpu->r[12] + 0x00003508u;
|
|
/* 02C80364 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C80368 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
|
|
/* 02C8036C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8036C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C8036C */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C8036C */ goto L_02C80370;
|
|
L_02C80370: ; // 0x2c80370
|
|
/* 02C80370 */ cpu->f[1] = cpu->f[0];
|
|
/* 02C80374 */ return;
|
|
}
|
|
|
|
// fn_02C80378 @ 0x2c80378
|
|
void Gambit_fn_02C80378(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C80378: ; // 0x2c80378
|
|
/* 02C80378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000000Eu);
|
|
/* 02C8037C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8037C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C8037C */ if (_t1) goto L_02C80388; else goto L_02C80380;
|
|
L_02C80380: ; // 0x2c80380
|
|
/* 02C80380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000001Au);
|
|
/* 02C80384 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80384 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C80384 */ if (_t3) goto L_02C80388; else goto L_02C80398;
|
|
L_02C80388: ; // 0x2c80388
|
|
/* 02C80388 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8038C */ _t4 = cpu->r[12] + 0x00003508u;
|
|
/* 02C8038C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C80390 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02C80394 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C80394 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C80394 */ if (_t6) goto L_02C8039C; else goto L_02C80398;
|
|
L_02C80398: ; // 0x2c80398
|
|
/* 02C80398 */ cpu->f[0] = cpu->f[1];
|
|
L_02C8039C: ; // 0x2c8039c
|
|
/* 02C8039C */ cpu->f[1] = cpu->f[0];
|
|
/* 02C803A0 */ return;
|
|
}
|
|
|
|
// fn_02C803A4 @ 0x2c803a4
|
|
void Gambit_fn_02C803A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C803A4: ; // 0x2c803a4
|
|
/* 02C803A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]);
|
|
/* 02C803A8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C803AC */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C803AC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C803AC */ if (_t1) goto L_02C803BC; else goto L_02C803B0;
|
|
L_02C803B0: ; // 0x2c803b0
|
|
/* 02C803B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[4]);
|
|
/* 02C803B4 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C803B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C803B4 */ if (_t3) goto L_02C803BC; else goto L_02C803B8;
|
|
L_02C803B8: ; // 0x2c803b8
|
|
/* 02C803B8 */ cpu->r[0] = 0x00000001u;
|
|
L_02C803BC: ; // 0x2c803bc
|
|
/* 02C803BC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C803C0 */ return;
|
|
}
|
|
|
|
// fn_02C803C4 @ 0x2c803c4
|
|
void Gambit_fn_02C803C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C803C4: ; // 0x2c803c4
|
|
/* 02C803C4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C803C8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C803C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C803CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C803D0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C803D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C803D0 */ cpu->r[1] = _t1;
|
|
/* 02C803D4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C803D4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C803D4 */ if (_t3) goto L_02C803D8; else goto L_02C803E8;
|
|
L_02C803D8: ; // 0x2c803d8
|
|
/* 02C803D8 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C803DC */ Gambit_fn_02801A78(cpu);
|
|
/* 02C803E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C803E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C803E4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C803E4 */ if (_t5) goto L_02C803F4; else goto L_02C803E8;
|
|
L_02C803E8: ; // 0x2c803e8
|
|
/* 02C803E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C803EC */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02C803EC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C803F0 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C803F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_02C803F4: ; // 0x2c803f4
|
|
/* 02C803F4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C803F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C803F8 */ cpu->lr = cpu->r[0];
|
|
/* 02C803FC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80400 */ return;
|
|
}
|
|
|
|
// fn_02C803D0 @ 0x2c803d0
|
|
void Gambit_fn_02C803D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C803D0: ; // 0x2c803d0
|
|
/* 02C803D0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C803D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C803D0 */ cpu->r[1] = _t0;
|
|
/* 02C803D4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C803D4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C803D4 */ if (_t2) goto L_02C803D8; else goto L_02C803E8;
|
|
L_02C803D8: ; // 0x2c803d8
|
|
/* 02C803D8 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C803DC */ Gambit_fn_02801A78(cpu);
|
|
/* 02C803E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C803E4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C803E4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C803E4 */ if (_t4) goto L_02C803F4; else goto L_02C803E8;
|
|
L_02C803E8: ; // 0x2c803e8
|
|
/* 02C803E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C803EC */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02C803EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C803F0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C803F0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02C803F4: ; // 0x2c803f4
|
|
/* 02C803F4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C803F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C803F8 */ cpu->lr = cpu->r[0];
|
|
/* 02C803FC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80400 */ return;
|
|
}
|
|
|
|
// fn_02C80404 @ 0x2c80404
|
|
void Gambit_fn_02C80404(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C80404: ; // 0x2c80404
|
|
/* 02C80404 */ cpu->r[0] = cpu->lr;
|
|
/* 02C80408 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80408 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80408 */ cpu->r[1] = _t0;
|
|
/* 02C8040C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8040C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80410 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80410 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C80414 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C80418 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C8041C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C80420 */ cpu->r[4] = 0x00000030u;
|
|
/* 02C80424 */ cpu->r[5] = 0x00000040u;
|
|
/* 02C80428 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80428 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C8042C */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C80430 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C80434 */ cpu->r[5] = 0x00000040u;
|
|
/* 02C80438 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C80438 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02C8043C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C80440 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C80444 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02C80444 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C80448 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C8044C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C8044C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C80450 */ cpu->r[4] = cpu->r[4] + 0x0000350Cu;
|
|
/* 02C80454 */ cpu->r[5] = 0x00000030u;
|
|
/* 02C80458 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C8045C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C80460 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02C80460 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C80464 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C80468 */ cpu->r[4] = cpu->r[4] + 0x0000353Cu;
|
|
/* 02C8046C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C80470 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C80474 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80474 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C80478 */ cpu->lr = cpu->r[0];
|
|
/* 02C8047C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8047C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C80480 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80484 */ return;
|
|
}
|
|
|
|
// fn_02C80408 @ 0x2c80408
|
|
void Gambit_fn_02C80408(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C80408: ; // 0x2c80408
|
|
/* 02C80408 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80408 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80408 */ cpu->r[1] = _t0;
|
|
/* 02C8040C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8040C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80410 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80410 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C80414 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C80418 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C8041C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C80420 */ cpu->r[4] = 0x00000030u;
|
|
/* 02C80424 */ cpu->r[5] = 0x00000040u;
|
|
/* 02C80428 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80428 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C8042C */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C80430 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C80434 */ cpu->r[5] = 0x00000040u;
|
|
/* 02C80438 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C80438 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02C8043C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C80440 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C80444 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02C80444 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C80448 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C8044C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C8044C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C80450 */ cpu->r[4] = cpu->r[4] + 0x0000350Cu;
|
|
/* 02C80454 */ cpu->r[5] = 0x00000030u;
|
|
/* 02C80458 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C8045C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C80460 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02C80460 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C80464 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C80468 */ cpu->r[4] = cpu->r[4] + 0x0000353Cu;
|
|
/* 02C8046C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C80470 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C80474 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80474 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C80478 */ cpu->lr = cpu->r[0];
|
|
/* 02C8047C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8047C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C80480 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80484 */ return;
|
|
}
|
|
|
|
// fn_02C80488 @ 0x2c80488
|
|
void Gambit_fn_02C80488(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C80488: ; // 0x2c80488
|
|
/* 02C80488 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8048C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C8048C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8048C */ cpu->r[1] = _t0;
|
|
/* 02C80490 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80490 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80494 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80498 */ cpu->r[5] = 0x00000030u;
|
|
/* 02C8049C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8049C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C804A0 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C804A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C804A4 */ cpu->r[3] = 0x00000041u;
|
|
/* 02C804A8 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C804AC */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C804AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C804B0 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C804B4 */ cpu->r[3] = 0x00000041u;
|
|
/* 02C804B8 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C804BC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C804BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C804C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C804C4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C804C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C804C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C804CC */ return;
|
|
}
|
|
|
|
// fn_02C8048C @ 0x2c8048c
|
|
void Gambit_fn_02C8048C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C8048C: ; // 0x2c8048c
|
|
/* 02C8048C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C8048C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8048C */ cpu->r[1] = _t0;
|
|
/* 02C80490 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80490 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80494 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80498 */ cpu->r[5] = 0x00000030u;
|
|
/* 02C8049C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8049C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C804A0 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C804A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C804A4 */ cpu->r[3] = 0x00000041u;
|
|
/* 02C804A8 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C804AC */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C804AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C804B0 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C804B4 */ cpu->r[3] = 0x00000041u;
|
|
/* 02C804B8 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C804BC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C804BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C804C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C804C4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C804C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C804C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C804CC */ return;
|
|
}
|
|
|
|
// fn_02C804D0 @ 0x2c804d0
|
|
void Gambit_fn_02C804D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C804D0: ; // 0x2c804d0
|
|
/* 02C804D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C804D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C804D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C804D4 */ cpu->r[1] = _t0;
|
|
/* 02C804D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C804D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C804DC */ cpu->r[30] = cpu->r[5];
|
|
/* 02C804E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C804E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C804E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C804E8 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C804EC */ cpu->r[5] = 0x0000000Cu;
|
|
/* 02C804F0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C804F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C804F4 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C804F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C804F8 */ cpu->r[4] = 0x00000030u;
|
|
/* 02C804FC */ rbrew_dispatch(cpu, 0x02d05fb0u);
|
|
/* 02C80500 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02C80500 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C80504 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C80508 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C8050C */ cpu->r[5] = 0x00000008u;
|
|
/* 02C80510 */ rbrew_dispatch(cpu, 0x02d05fb0u);
|
|
/* 02C80514 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C80518 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8051C */ cpu->lr = cpu->r[0];
|
|
/* 02C80520 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80520 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C80524 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80528 */ return;
|
|
}
|
|
|
|
// fn_02C804D4 @ 0x2c804d4
|
|
void Gambit_fn_02C804D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C804D4: ; // 0x2c804d4
|
|
/* 02C804D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C804D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C804D4 */ cpu->r[1] = _t0;
|
|
/* 02C804D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C804D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C804DC */ cpu->r[30] = cpu->r[5];
|
|
/* 02C804E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C804E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C804E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C804E8 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C804EC */ cpu->r[5] = 0x0000000Cu;
|
|
/* 02C804F0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C804F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C804F4 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C804F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C804F8 */ cpu->r[4] = 0x00000030u;
|
|
/* 02C804FC */ rbrew_dispatch(cpu, 0x02d05fb0u);
|
|
/* 02C80500 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02C80500 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C80504 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C80508 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C8050C */ cpu->r[5] = 0x00000008u;
|
|
/* 02C80510 */ rbrew_dispatch(cpu, 0x02d05fb0u);
|
|
/* 02C80514 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C80518 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8051C */ cpu->lr = cpu->r[0];
|
|
/* 02C80520 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80520 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C80524 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80528 */ return;
|
|
}
|
|
|
|
// fn_02C8052C @ 0x2c8052c
|
|
void Gambit_fn_02C8052C(CPUState* cpu) {
|
|
L_02C8052C: ; // 0x2c8052c
|
|
/* 02C8052C */ cpu->r[6] = 0x00000001u;
|
|
/* 02C80530 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C80534 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C80538 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C8053C */ rbrew_dispatch(cpu, 0x02d05920u); return;
|
|
}
|
|
|
|
// fn_02C80540 @ 0x2c80540
|
|
void Gambit_fn_02C80540(CPUState* cpu) {
|
|
L_02C80540: ; // 0x2c80540
|
|
/* 02C80540 */ cpu->r[3] = 0x000000D0u;
|
|
/* 02C80544 */ return;
|
|
}
|
|
|
|
// fn_02C80548 @ 0x2c80548
|
|
void Gambit_fn_02C80548(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C80548: ; // 0x2c80548
|
|
/* 02C80548 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8054C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C8054C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C80550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80554 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C80554 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C80554 */ cpu->r[1] = _t1;
|
|
/* 02C80558 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80558 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C80558 */ if (_t3) goto L_02C8055C; else goto L_02C8056C;
|
|
L_02C8055C: ; // 0x2c8055c
|
|
/* 02C8055C */ cpu->r[3] = 0x00000008u;
|
|
/* 02C80560 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C80564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80568 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80568 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C80568 */ if (_t5) goto L_02C80578; else goto L_02C8056C;
|
|
L_02C8056C: ; // 0x2c8056c
|
|
/* 02C8056C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C80570 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02C80570 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C80574 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C80574 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_02C80578: ; // 0x2c80578
|
|
/* 02C80578 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C8057C */ cpu->lr = cpu->r[0];
|
|
/* 02C80580 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80584 */ return;
|
|
}
|
|
|
|
// fn_02C80554 @ 0x2c80554
|
|
void Gambit_fn_02C80554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C80554: ; // 0x2c80554
|
|
/* 02C80554 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C80554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80554 */ cpu->r[1] = _t0;
|
|
/* 02C80558 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80558 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C80558 */ if (_t2) goto L_02C8055C; else goto L_02C8056C;
|
|
L_02C8055C: ; // 0x2c8055c
|
|
/* 02C8055C */ cpu->r[3] = 0x00000008u;
|
|
/* 02C80560 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C80564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80568 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80568 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C80568 */ if (_t4) goto L_02C80578; else goto L_02C8056C;
|
|
L_02C8056C: ; // 0x2c8056c
|
|
/* 02C8056C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C80570 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02C80570 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C80574 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C80574 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02C80578: ; // 0x2c80578
|
|
/* 02C80578 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8057C */ cpu->lr = cpu->r[0];
|
|
/* 02C80580 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80584 */ return;
|
|
}
|
|
|
|
// fn_02C80588 @ 0x2c80588
|
|
void Gambit_fn_02C80588(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C80588: ; // 0x2c80588
|
|
/* 02C80588 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8058C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C8058C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8058C */ cpu->r[1] = _t0;
|
|
/* 02C80590 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80590 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C80594 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C80598 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80598 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C8059C */ cpu->r[31] = rbrew_rlwinm(cpu->r[30], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C805A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C805A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C805A4 */ Gambit_fn_02C809AC(cpu);
|
|
/* 02C805A8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[30]);
|
|
/* 02C805AC */ cpu->r[3] = cpu->r[31] + cpu->r[0];
|
|
/* 02C805B0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C805B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C805B4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C805B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C805B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C805BC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C805BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C805C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C805C4 */ return;
|
|
}
|
|
|
|
// fn_02C8058C @ 0x2c8058c
|
|
void Gambit_fn_02C8058C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C8058C: ; // 0x2c8058c
|
|
/* 02C8058C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C8058C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8058C */ cpu->r[1] = _t0;
|
|
/* 02C80590 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80590 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C80594 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C80598 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80598 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C8059C */ cpu->r[31] = rbrew_rlwinm(cpu->r[30], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C805A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C805A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C805A4 */ Gambit_fn_02C809AC(cpu);
|
|
/* 02C805A8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[30]);
|
|
/* 02C805AC */ cpu->r[3] = cpu->r[31] + cpu->r[0];
|
|
/* 02C805B0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C805B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C805B4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C805B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C805B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C805BC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C805BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C805C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C805C4 */ return;
|
|
}
|
|
|
|
// fn_02C805C8 @ 0x2c805c8
|
|
void Gambit_fn_02C805C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C805C8: ; // 0x2c805c8
|
|
/* 02C805C8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C805C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C805C8 */ cpu->r[1] = _t0;
|
|
/* 02C805CC */ cpu->r[0] = cpu->lr;
|
|
/* 02C805D0 */ /* nop */
|
|
/* 02C805D4 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C805D8 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C805DC */ cpu->r[3] = cpu->r[28];
|
|
/* 02C805E0 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C805E4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C805E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C805E8 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C805EC */ cpu->r[5] = 0x00000004u;
|
|
/* 02C805F0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C805F4 */ _t2 = cpu->r[27] + 0x00000000u;
|
|
/* 02C805F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C805F8 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C805FC */ cpu->r[31] = 0x00000000u;
|
|
/* 02C80600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
|
|
/* 02C80604 */ _t3 = cpu->r[27] + 0x00000004u;
|
|
/* 02C80604 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02C80608 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C80608 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C80608 */ if (_t5) goto L_02C8060C; else goto L_02C80640;
|
|
L_02C8060C: ; // 0x2c8060c
|
|
/* 02C8060C */ cpu->r[5] = 0x00000004u;
|
|
/* 02C80610 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C80614 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C80618 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C8061C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C80620 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80620 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C80620 */ if (_t7) goto L_02C80628; else goto L_02C80624;
|
|
L_02C80624: ; // 0x2c80624
|
|
/* 02C80624 */ Gambit_fn_02C807A8(cpu);
|
|
L_02C80628: ; // 0x2c80628
|
|
/* 02C80628 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C8062C */ _t8 = cpu->r[27] + 0x00000004u;
|
|
/* 02C8062C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C80630 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C80634 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
|
|
/* 02C80638 */ _t9 = cpu->r[12] + cpu->r[0];
|
|
/* 02C80638 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02C8063C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8063C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C8063C */ if (_t11) goto L_02C8060C; else goto L_02C80640;
|
|
L_02C80640: ; // 0x2c80640
|
|
/* 02C80640 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C80644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
|
|
/* 02C80648 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C80648 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C80648 */ if (_t13) goto L_02C8064C; else goto L_02C80670;
|
|
L_02C8064C: ; // 0x2c8064c
|
|
/* 02C8064C */ _t14 = cpu->r[27] + 0x00000004u;
|
|
/* 02C8064C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C80650 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C80654 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C80658 */ _t15 = cpu->r[10] + cpu->r[0];
|
|
/* 02C80658 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C8065C */ cpu->r[4] = cpu->r[28];
|
|
/* 02C80660 */ Gambit_fn_02C807EC(cpu);
|
|
/* 02C80664 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C80668 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
|
|
/* 02C8066C */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8066C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C8066C */ if (_t17) goto L_02C8064C; else goto L_02C80670;
|
|
L_02C80670: ; // 0x2c80670
|
|
/* 02C80670 */ /* nop */
|
|
/* 02C80674 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C80678 */ cpu->lr = cpu->r[0];
|
|
/* 02C8067C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C80680 */ return;
|
|
}
|
|
|
|
// fn_02C80684 @ 0x2c80684
|
|
void Gambit_fn_02C80684(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C80684: ; // 0x2c80684
|
|
/* 02C80684 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C80684 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80684 */ cpu->r[1] = _t0;
|
|
/* 02C80688 */ /* nop */
|
|
/* 02C8068C */ cpu->r[0] = cpu->lr;
|
|
/* 02C80690 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80690 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C80694 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C80698 */ _t2 = cpu->r[27] + 0x00000010u;
|
|
/* 02C80698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C8069C */ cpu->r[28] = 0x00000000u;
|
|
/* 02C806A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02C806A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C806A8 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C806A8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C806A8 */ if (_t4) goto L_02C806AC; else goto L_02C80700;
|
|
L_02C806AC: ; // 0x2c806ac
|
|
/* 02C806AC */ _t5 = cpu->r[27] + 0x00000004u;
|
|
/* 02C806AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C806B0 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C806B4 */ Gambit_fn_02C78E6C(cpu);
|
|
/* 02C806B8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C806BC */ _t6 = cpu->r[27] + 0x00000008u;
|
|
/* 02C806BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C806C0 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C806C4 */ Gambit_fn_02C78E6C(cpu);
|
|
/* 02C806C8 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02C806C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C806CC */ cpu->r[30] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C806D0 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C806D4 */ _t8 = cpu->r[11] + cpu->r[30];
|
|
/* 02C806D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C806D8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C806DC */ Gambit_fn_02C80860(cpu);
|
|
/* 02C806E0 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02C806E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C806E4 */ _t10 = cpu->r[12] + cpu->r[30];
|
|
/* 02C806E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C806E8 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C806EC */ Gambit_fn_02C80938(cpu);
|
|
/* 02C806F0 */ _t11 = cpu->r[27] + 0x00000010u;
|
|
/* 02C806F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C806F4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C806F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02C806FC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C806FC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C806FC */ if (_t13) goto L_02C806AC; else goto L_02C80700;
|
|
L_02C80700: ; // 0x2c80700
|
|
/* 02C80700 */ /* nop */
|
|
/* 02C80704 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C80708 */ cpu->lr = cpu->r[0];
|
|
/* 02C8070C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C80710 */ return;
|
|
}
|
|
|
|
// fn_02C80714 @ 0x2c80714
|
|
void Gambit_fn_02C80714(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C80714: ; // 0x2c80714
|
|
/* 02C80714 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C80714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C80718 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C8071C */ _t1 = cpu->r[12] + cpu->r[0];
|
|
/* 02C8071C */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C80720 */ return;
|
|
}
|
|
|
|
// fn_02C80724 @ 0x2c80724
|
|
void Gambit_fn_02C80724(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C80724: ; // 0x2c80724
|
|
/* 02C80724 */ cpu->r[0] = cpu->lr;
|
|
/* 02C80728 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C80728 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80728 */ cpu->r[1] = _t0;
|
|
/* 02C8072C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8072C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C80730 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C80730 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C80734 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C80738 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80738 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C8073C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C80740 */ cpu->r[4] = 0x00000008u;
|
|
/* 02C80744 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80744 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C80748 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C80748 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C8074C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C80750 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C80754 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C80758 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C8075C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C8075C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C80760 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80760 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C80760 */ if (_t7) goto L_02C80770; else goto L_02C80764;
|
|
L_02C80764: ; // 0x2c80764
|
|
/* 02C80764 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80768 */ Gambit_fn_02C80548(cpu);
|
|
/* 02C8076C */ cpu->r[31] = cpu->r[3];
|
|
L_02C80770: ; // 0x2c80770
|
|
/* 02C80770 */ cpu->r[6] = cpu->r[28];
|
|
/* 02C80774 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C80778 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C8077C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80780 */ Gambit_fn_02C805C8(cpu);
|
|
/* 02C80784 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80784 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C80788 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80788 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C8078C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8078C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C80790 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80794 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C80794 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C80798 */ cpu->lr = cpu->r[0];
|
|
/* 02C8079C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8079C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C807A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C807A4 */ return;
|
|
}
|
|
|
|
// fn_02C80728 @ 0x2c80728
|
|
void Gambit_fn_02C80728(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C80728: ; // 0x2c80728
|
|
/* 02C80728 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C80728 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80728 */ cpu->r[1] = _t0;
|
|
/* 02C8072C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8072C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C80730 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C80730 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C80734 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C80738 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80738 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C8073C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C80740 */ cpu->r[4] = 0x00000008u;
|
|
/* 02C80744 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80744 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C80748 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C80748 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C8074C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C80750 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C80754 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C80758 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C8075C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C8075C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C80760 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80760 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C80760 */ if (_t7) goto L_02C80770; else goto L_02C80764;
|
|
L_02C80764: ; // 0x2c80764
|
|
/* 02C80764 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80768 */ Gambit_fn_02C80548(cpu);
|
|
/* 02C8076C */ cpu->r[31] = cpu->r[3];
|
|
L_02C80770: ; // 0x2c80770
|
|
/* 02C80770 */ cpu->r[6] = cpu->r[28];
|
|
/* 02C80774 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C80778 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C8077C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80780 */ Gambit_fn_02C805C8(cpu);
|
|
/* 02C80784 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80784 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C80788 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80788 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C8078C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8078C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C80790 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80794 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C80794 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C80798 */ cpu->lr = cpu->r[0];
|
|
/* 02C8079C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8079C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C807A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C807A4 */ return;
|
|
}
|
|
|
|
// fn_02C807A8 @ 0x2c807a8
|
|
void Gambit_fn_02C807A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C807A8: ; // 0x2c807a8
|
|
/* 02C807A8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C807AC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C807AC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C807B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C807B4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C807B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C807B4 */ cpu->r[1] = _t1;
|
|
/* 02C807B8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C807B8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C807B8 */ if (_t3) goto L_02C807BC; else goto L_02C807CC;
|
|
L_02C807BC: ; // 0x2c807bc
|
|
/* 02C807BC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C807C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C807C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C807C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C807C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C807C8 */ if (_t5) goto L_02C807DC; else goto L_02C807CC;
|
|
L_02C807CC: ; // 0x2c807cc
|
|
/* 02C807CC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C807D0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C807D0 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 02C807D4 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 02C807D4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C807D8 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C807D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02C807DC: ; // 0x2c807dc
|
|
/* 02C807DC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C807DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C807E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C807E4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C807E8 */ return;
|
|
}
|
|
|
|
// fn_02C807B4 @ 0x2c807b4
|
|
void Gambit_fn_02C807B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C807B4: ; // 0x2c807b4
|
|
/* 02C807B4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C807B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C807B4 */ cpu->r[1] = _t0;
|
|
/* 02C807B8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C807B8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C807B8 */ if (_t2) goto L_02C807BC; else goto L_02C807CC;
|
|
L_02C807BC: ; // 0x2c807bc
|
|
/* 02C807BC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C807C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C807C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C807C8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C807C8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C807C8 */ if (_t4) goto L_02C807DC; else goto L_02C807CC;
|
|
L_02C807CC: ; // 0x2c807cc
|
|
/* 02C807CC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C807D0 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02C807D0 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 02C807D4 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02C807D4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C807D8 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02C807D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_02C807DC: ; // 0x2c807dc
|
|
/* 02C807DC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C807DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C807E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C807E4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C807E8 */ return;
|
|
}
|
|
|
|
// fn_02C807EC @ 0x2c807ec
|
|
void Gambit_fn_02C807EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C807EC: ; // 0x2c807ec
|
|
/* 02C807EC */ cpu->r[0] = cpu->lr;
|
|
/* 02C807F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C807F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C807F0 */ cpu->r[1] = _t0;
|
|
/* 02C807F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C807F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C807F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C807F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C807FC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C80800 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80804 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80804 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C80808 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C8080C */ cpu->r[4] = 0x00000100u;
|
|
/* 02C80810 */ cpu->r[0] = cpu->r[5] - cpu->r[0];
|
|
/* 02C80814 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C80818 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C8081C */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C8081C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 02C80820 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C80824 */ cpu->r[4] = 0x00000100u;
|
|
/* 02C80828 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02C80828 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C8082C */ cpu->r[5] = cpu->r[4];
|
|
/* 02C80830 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C80834 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C80838 */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 02C80838 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C8083C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8083C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C80840 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80840 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C80844 */ cpu->lr = cpu->r[0];
|
|
/* 02C80848 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80848 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C8084C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80850 */ return;
|
|
}
|
|
|
|
// fn_02C807F0 @ 0x2c807f0
|
|
void Gambit_fn_02C807F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C807F0: ; // 0x2c807f0
|
|
/* 02C807F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C807F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C807F0 */ cpu->r[1] = _t0;
|
|
/* 02C807F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C807F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C807F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C807F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C807FC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C80800 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80804 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80804 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C80808 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C8080C */ cpu->r[4] = 0x00000100u;
|
|
/* 02C80810 */ cpu->r[0] = cpu->r[5] - cpu->r[0];
|
|
/* 02C80814 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C80818 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C8081C */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C8081C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 02C80820 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C80824 */ cpu->r[4] = 0x00000100u;
|
|
/* 02C80828 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02C80828 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C8082C */ cpu->r[5] = cpu->r[4];
|
|
/* 02C80830 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C80834 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C80838 */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 02C80838 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C8083C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8083C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C80840 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80840 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C80844 */ cpu->lr = cpu->r[0];
|
|
/* 02C80848 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80848 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C8084C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80850 */ return;
|
|
}
|
|
|
|
// fn_02C80854 @ 0x2c80854
|
|
void Gambit_fn_02C80854(CPUState* cpu) {
|
|
L_02C80854: ; // 0x2c80854
|
|
/* 02C80854 */ cpu->r[0] = cpu->r[3] + 0x00000003u;
|
|
/* 02C80858 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C8085C */ return;
|
|
}
|
|
|
|
// fn_02C80860 @ 0x2c80860
|
|
void Gambit_fn_02C80860(CPUState* 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_02C80860: ; // 0x2c80860
|
|
/* 02C80860 */ cpu->r[0] = cpu->lr;
|
|
/* 02C80864 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C80864 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C80868 */ cpu->r[10] = 0x43300000u;
|
|
/* 02C8086C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C8086C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C8086C */ cpu->r[1] = _t1;
|
|
/* 02C80870 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80870 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 02C80874 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C80878 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80878 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02C8087C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8087C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C80880 */ _t5 = cpu->r[7] + 0x00003560u;
|
|
/* 02C80880 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 02C80884 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C80888 */ cpu->f[12] = cpu->f[0] - cpu->f[12];
|
|
/* 02C8088C */ cpu->r[3] = cpu->r[4];
|
|
/* 02C80890 */ cpu->f[9] = (double)(float)cpu->f[12];
|
|
/* 02C80894 */ Gambit_fn_02C80854(cpu);
|
|
/* 02C80898 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80898 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02C8089C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8089C */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02C808A0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C808A0 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 02C808A4 */ _t9 = cpu->r[7] + 0x00003560u;
|
|
/* 02C808A4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C808A8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C808A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 02C808AC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C808AC */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 02C808B0 */ cpu->f[0] = cpu->f[8] - cpu->f[13];
|
|
/* 02C808B4 */ cpu->f[11] = cpu->f[10] - cpu->f[13];
|
|
/* 02C808B8 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02C808BC */ cpu->f[8] = (double)(float)cpu->f[11];
|
|
/* 02C808C0 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C808C4 */ cpu->f[7] = cpu->f[0] / cpu->f[9];
|
|
/* 02C808C8 */ Gambit_fn_02C80854(cpu);
|
|
/* 02C808CC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C808CC */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02C808D0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C808D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02C808D4 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C808D4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02C808D8 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C808DC */ _t15 = cpu->r[11] + 0x00003568u;
|
|
/* 02C808DC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C808E0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C808E4 */ _t16 = cpu->r[12] + 0x00003560u;
|
|
/* 02C808E4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C808E8 */ cpu->f[12] = cpu->f[10] - cpu->f[0];
|
|
/* 02C808EC */ cpu->f[13] = cpu->f[11] / cpu->f[8];
|
|
/* 02C808F0 */ cpu->f[11] = cpu->f[11] / cpu->f[9];
|
|
/* 02C808F4 */ _t17 = cpu->r[6] + 0x00000004u;
|
|
/* 02C808F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C808F8 */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 02C808FC */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02C808FC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 02C80900 */ cpu->f[13] = cpu->f[12] / cpu->f[8];
|
|
/* 02C80904 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 02C80904 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[11]);
|
|
/* 02C80908 */ _t20 = cpu->r[6] + 0x00000000u;
|
|
/* 02C80908 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C8090C */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 02C8090C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[7]);
|
|
/* 02C80910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C80914 */ _t22 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C80914 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 02C80918 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80918 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C80918 */ if (_t24) goto L_02C80928; else goto L_02C8091C;
|
|
L_02C8091C: ; // 0x2c8091c
|
|
/* 02C8091C */ cpu->r[5] = 0x00000100u;
|
|
/* 02C80920 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C80924 */ Gambit_fn_02C80A20(cpu);
|
|
L_02C80928: ; // 0x2c80928
|
|
/* 02C80928 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8092C */ cpu->lr = cpu->r[0];
|
|
/* 02C80930 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80934 */ return;
|
|
}
|
|
|
|
// fn_02C8086C @ 0x2c8086c
|
|
void Gambit_fn_02C8086C(CPUState* 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;
|
|
|
|
L_02C8086C: ; // 0x2c8086c
|
|
/* 02C8086C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C8086C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8086C */ cpu->r[1] = _t0;
|
|
/* 02C80870 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80870 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02C80874 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C80878 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80878 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02C8087C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8087C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C80880 */ _t4 = cpu->r[7] + 0x00003560u;
|
|
/* 02C80880 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C80884 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C80888 */ cpu->f[12] = cpu->f[0] - cpu->f[12];
|
|
/* 02C8088C */ cpu->r[3] = cpu->r[4];
|
|
/* 02C80890 */ cpu->f[9] = (double)(float)cpu->f[12];
|
|
/* 02C80894 */ Gambit_fn_02C80854(cpu);
|
|
/* 02C80898 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80898 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02C8089C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8089C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C808A0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C808A0 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C808A4 */ _t8 = cpu->r[7] + 0x00003560u;
|
|
/* 02C808A4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 02C808A8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C808A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02C808AC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C808AC */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 02C808B0 */ cpu->f[0] = cpu->f[8] - cpu->f[13];
|
|
/* 02C808B4 */ cpu->f[11] = cpu->f[10] - cpu->f[13];
|
|
/* 02C808B8 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02C808BC */ cpu->f[8] = (double)(float)cpu->f[11];
|
|
/* 02C808C0 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C808C4 */ cpu->f[7] = cpu->f[0] / cpu->f[9];
|
|
/* 02C808C8 */ Gambit_fn_02C80854(cpu);
|
|
/* 02C808CC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C808CC */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 02C808D0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C808D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02C808D4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C808D4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 02C808D8 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C808DC */ _t14 = cpu->r[11] + 0x00003568u;
|
|
/* 02C808DC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C808E0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C808E4 */ _t15 = cpu->r[12] + 0x00003560u;
|
|
/* 02C808E4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02C808E8 */ cpu->f[12] = cpu->f[10] - cpu->f[0];
|
|
/* 02C808EC */ cpu->f[13] = cpu->f[11] / cpu->f[8];
|
|
/* 02C808F0 */ cpu->f[11] = cpu->f[11] / cpu->f[9];
|
|
/* 02C808F4 */ _t16 = cpu->r[6] + 0x00000004u;
|
|
/* 02C808F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C808F8 */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 02C808FC */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 02C808FC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 02C80900 */ cpu->f[13] = cpu->f[12] / cpu->f[8];
|
|
/* 02C80904 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02C80904 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[11]);
|
|
/* 02C80908 */ _t19 = cpu->r[6] + 0x00000000u;
|
|
/* 02C80908 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02C8090C */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 02C8090C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[7]);
|
|
/* 02C80910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C80914 */ _t21 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C80914 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02C80918 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80918 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C80918 */ if (_t23) goto L_02C80928; else goto L_02C8091C;
|
|
L_02C8091C: ; // 0x2c8091c
|
|
/* 02C8091C */ cpu->r[5] = 0x00000100u;
|
|
/* 02C80920 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C80924 */ Gambit_fn_02C80A20(cpu);
|
|
L_02C80928: ; // 0x2c80928
|
|
/* 02C80928 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C8092C */ cpu->lr = cpu->r[0];
|
|
/* 02C80930 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80934 */ return;
|
|
}
|
|
|
|
// fn_02C80938 @ 0x2c80938
|
|
void Gambit_fn_02C80938(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C80938: ; // 0x2c80938
|
|
/* 02C80938 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8093C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C80940 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C80940 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C80944 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C80948 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C80948 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C80948 */ cpu->r[1] = _t1;
|
|
/* 02C8094C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8094C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C80950 */ _t3 = cpu->r[11] + 0x00003560u;
|
|
/* 02C80950 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C80954 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80954 */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 02C80958 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80958 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 02C8095C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C80960 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02C80960 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C80964 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02C80968 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C80968 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C8096C */ _t8 = cpu->r[11] + 0x0000356Cu;
|
|
/* 02C8096C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C80970 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02C80970 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 02C80974 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02C80978 */ _t10 = cpu->r[12] + 0x00000008u;
|
|
/* 02C80978 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02C8097C */ _t11 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C8097C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 02C80980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C80984 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 02C80984 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 02C80988 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80988 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C80988 */ if (_t14) goto L_02C8099C; else goto L_02C8098C;
|
|
L_02C8098C: ; // 0x2c8098c
|
|
/* 02C8098C */ cpu->r[5] = 0x00000100u;
|
|
/* 02C80990 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C80994 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C80998 */ Gambit_fn_02C80A20(cpu);
|
|
L_02C8099C: ; // 0x2c8099c
|
|
/* 02C8099C */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8099C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C809A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C809A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C809A8 */ return;
|
|
}
|
|
|
|
// fn_02C80948 @ 0x2c80948
|
|
void Gambit_fn_02C80948(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C80948: ; // 0x2c80948
|
|
/* 02C80948 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C80948 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80948 */ cpu->r[1] = _t0;
|
|
/* 02C8094C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8094C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C80950 */ _t2 = cpu->r[11] + 0x00003560u;
|
|
/* 02C80950 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t2);
|
|
/* 02C80954 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80954 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02C80958 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80958 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C8095C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C80960 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02C80960 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C80964 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02C80968 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C80968 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C8096C */ _t7 = cpu->r[11] + 0x0000356Cu;
|
|
/* 02C8096C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C80970 */ _t8 = cpu->r[12] + 0x00000004u;
|
|
/* 02C80970 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 02C80974 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02C80978 */ _t9 = cpu->r[12] + 0x00000008u;
|
|
/* 02C80978 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 02C8097C */ _t10 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C8097C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02C80980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C80984 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02C80984 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02C80988 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80988 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C80988 */ if (_t13) goto L_02C8099C; else goto L_02C8098C;
|
|
L_02C8098C: ; // 0x2c8098c
|
|
/* 02C8098C */ cpu->r[5] = 0x00000100u;
|
|
/* 02C80990 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C80994 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C80998 */ Gambit_fn_02C80A20(cpu);
|
|
L_02C8099C: ; // 0x2c8099c
|
|
/* 02C8099C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8099C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C809A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C809A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C809A8 */ return;
|
|
}
|
|
|
|
// fn_02C809AC @ 0x2c809ac
|
|
void Gambit_fn_02C809AC(CPUState* cpu) {
|
|
L_02C809AC: ; // 0x2c809ac
|
|
/* 02C809AC */ cpu->r[3] = 0x00000300u;
|
|
/* 02C809B0 */ return;
|
|
}
|
|
|
|
// fn_02C809B4 @ 0x2c809b4
|
|
void Gambit_fn_02C809B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C809B4: ; // 0x2c809b4
|
|
/* 02C809B4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C809B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C809B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C809B8 */ cpu->r[1] = _t0;
|
|
/* 02C809BC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C809BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C809C0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C809C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C809C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C809C8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C809C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C809CC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C809CC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C809D0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C809D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C809D4 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C809D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 02C809DC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C809E0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C809E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C809E0 */ if (_t7) goto L_02C809E4; else goto L_02C80A00;
|
|
L_02C809E4: ; // 0x2c809e4
|
|
/* 02C809E4 */ cpu->r[28] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C809E8 */ _t8 = cpu->r[30] + cpu->r[28];
|
|
/* 02C809E8 */ cpu->r[1] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C809EC */ Gambit_fn_02C7CE80(cpu);
|
|
/* 02C809F0 */ _t9 = cpu->r[30] + cpu->r[28];
|
|
/* 02C809F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[1]);
|
|
/* 02C809F4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C809F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 02C809FC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C809FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C809FC */ if (_t11) goto L_02C809E4; else goto L_02C80A00;
|
|
L_02C80A00: ; // 0x2c80a00
|
|
/* 02C80A00 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80A00 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C80A04 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80A04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C80A08 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C80A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C80A0C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C80A0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C80A10 */ cpu->lr = cpu->r[0];
|
|
/* 02C80A14 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80A14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C80A18 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C80A1C */ return;
|
|
}
|
|
|
|
// fn_02C809B8 @ 0x2c809b8
|
|
void Gambit_fn_02C809B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C809B8: ; // 0x2c809b8
|
|
/* 02C809B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C809B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C809B8 */ cpu->r[1] = _t0;
|
|
/* 02C809BC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C809BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C809C0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C809C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C809C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C809C8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C809C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C809CC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C809CC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C809D0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C809D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C809D4 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C809D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 02C809DC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C809E0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C809E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C809E0 */ if (_t7) goto L_02C809E4; else goto L_02C80A00;
|
|
L_02C809E4: ; // 0x2c809e4
|
|
/* 02C809E4 */ cpu->r[28] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C809E8 */ _t8 = cpu->r[30] + cpu->r[28];
|
|
/* 02C809E8 */ cpu->r[1] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C809EC */ Gambit_fn_02C7CE80(cpu);
|
|
/* 02C809F0 */ _t9 = cpu->r[30] + cpu->r[28];
|
|
/* 02C809F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[1]);
|
|
/* 02C809F4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C809F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 02C809FC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C809FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C809FC */ if (_t11) goto L_02C809E4; else goto L_02C80A00;
|
|
L_02C80A00: ; // 0x2c80a00
|
|
/* 02C80A00 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80A00 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C80A04 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80A04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C80A08 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C80A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C80A0C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C80A0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C80A10 */ cpu->lr = cpu->r[0];
|
|
/* 02C80A14 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80A14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C80A18 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C80A1C */ return;
|
|
}
|
|
|
|
// fn_02C80A20 @ 0x2c80a20
|
|
void Gambit_fn_02C80A20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C80A20: ; // 0x2c80a20
|
|
/* 02C80A20 */ cpu->r[0] = cpu->lr;
|
|
/* 02C80A24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80A24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80A24 */ cpu->r[1] = _t0;
|
|
/* 02C80A28 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80A28 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C80A2C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80A2C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C80A30 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80A34 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C80A38 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80A38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C80A3C */ Gambit_fn_02C809B4(cpu);
|
|
/* 02C80A40 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C80A44 */ cpu->r[3] = 0x00000044u;
|
|
/* 02C80A48 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C80A4C */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C80A50 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C80A54 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80A54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C80A58 */ cpu->lr = cpu->r[0];
|
|
/* 02C80A5C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80A5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C80A60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80A64 */ return;
|
|
}
|
|
|
|
// fn_02C80A24 @ 0x2c80a24
|
|
void Gambit_fn_02C80A24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C80A24: ; // 0x2c80a24
|
|
/* 02C80A24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80A24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80A24 */ cpu->r[1] = _t0;
|
|
/* 02C80A28 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80A28 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C80A2C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80A2C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C80A30 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80A34 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C80A38 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80A38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C80A3C */ Gambit_fn_02C809B4(cpu);
|
|
/* 02C80A40 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C80A44 */ cpu->r[3] = 0x00000044u;
|
|
/* 02C80A48 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C80A4C */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C80A50 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C80A54 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80A54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C80A58 */ cpu->lr = cpu->r[0];
|
|
/* 02C80A5C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80A5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C80A60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80A64 */ return;
|
|
}
|
|
|
|
// fn_02C80A68 @ 0x2c80a68
|
|
void Gambit_fn_02C80A68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C80A68: ; // 0x2c80a68
|
|
/* 02C80A68 */ cpu->r[0] = cpu->lr;
|
|
/* 02C80A6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80A6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80A6C */ cpu->r[1] = _t0;
|
|
/* 02C80A70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80A70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80A74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80A74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C80A78 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C80A7C */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02C80A7C */ rbrew_write32(cpu->mem, _t3, cpu->r[5]);
|
|
/* 02C80A80 */ _t4 = cpu->r[3] + 0x00000030u;
|
|
/* 02C80A80 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C80A84 */ _t5 = cpu->r[3] + 0x00000014u;
|
|
/* 02C80A84 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 02C80A88 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C80A8C */ _t6 = cpu->r[3] + 0x00000074u;
|
|
/* 02C80A8C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C80A90 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C80A90 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C80A94 */ _t8 = cpu->r[3] + 0x00000078u;
|
|
/* 02C80A94 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C80A98 */ _t9 = cpu->r[3] + 0x00000018u;
|
|
/* 02C80A98 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02C80A9C */ _t10 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C80A9C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C80AA0 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C80AA0 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02C80AA4 */ _t12 = cpu->r[3] + 0x00000034u;
|
|
/* 02C80AA4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C80AA8 */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02C80AA8 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02C80AAC */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 02C80AAC */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 02C80AB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80AB4 */ _t15 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02C80AB4 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02C80AB8 */ rbrew_dispatch(cpu, 0x02d05878u);
|
|
/* 02C80ABC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80AC0 */ rbrew_dispatch(cpu, 0x02d05ba8u);
|
|
/* 02C80AC4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80AC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C80AC8 */ cpu->lr = cpu->r[0];
|
|
/* 02C80ACC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80ACC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C80AD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80AD4 */ return;
|
|
}
|
|
|
|
// fn_02C80A6C @ 0x2c80a6c
|
|
void Gambit_fn_02C80A6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C80A6C: ; // 0x2c80a6c
|
|
/* 02C80A6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80A6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80A6C */ cpu->r[1] = _t0;
|
|
/* 02C80A70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80A70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80A74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80A74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C80A78 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C80A7C */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02C80A7C */ rbrew_write32(cpu->mem, _t3, cpu->r[5]);
|
|
/* 02C80A80 */ _t4 = cpu->r[3] + 0x00000030u;
|
|
/* 02C80A80 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C80A84 */ _t5 = cpu->r[3] + 0x00000014u;
|
|
/* 02C80A84 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 02C80A88 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C80A8C */ _t6 = cpu->r[3] + 0x00000074u;
|
|
/* 02C80A8C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C80A90 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C80A90 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C80A94 */ _t8 = cpu->r[3] + 0x00000078u;
|
|
/* 02C80A94 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C80A98 */ _t9 = cpu->r[3] + 0x00000018u;
|
|
/* 02C80A98 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02C80A9C */ _t10 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C80A9C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C80AA0 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C80AA0 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02C80AA4 */ _t12 = cpu->r[3] + 0x00000034u;
|
|
/* 02C80AA4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C80AA8 */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02C80AA8 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02C80AAC */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 02C80AAC */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 02C80AB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80AB4 */ _t15 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02C80AB4 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02C80AB8 */ rbrew_dispatch(cpu, 0x02d05878u);
|
|
/* 02C80ABC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80AC0 */ rbrew_dispatch(cpu, 0x02d05ba8u);
|
|
/* 02C80AC4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80AC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C80AC8 */ cpu->lr = cpu->r[0];
|
|
/* 02C80ACC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80ACC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C80AD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80AD4 */ return;
|
|
}
|
|
|
|
// fn_02C80AD8 @ 0x2c80ad8
|
|
void Gambit_fn_02C80AD8(CPUState* cpu) {
|
|
L_02C80AD8: ; // 0x2c80ad8
|
|
/* 02C80AD8 */ /* nop */
|
|
/* 02C80ADC */ cpu->r[0] = 0x00000004u - cpu->r[12];
|
|
/* 02C80AE0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C80AE4 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
/* 02C80AE8 */ /* nop */
|
|
/* 02C80AEC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C80AF0 */ return;
|
|
}
|
|
|
|
// fn_02C80AF4 @ 0x2c80af4
|
|
void Gambit_fn_02C80AF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C80AF4: ; // 0x2c80af4
|
|
/* 02C80AF4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C80AF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80AF4 */ cpu->r[1] = _t0;
|
|
/* 02C80AF8 */ /* nop */
|
|
/* 02C80AFC */ cpu->r[0] = cpu->lr;
|
|
/* 02C80B00 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80B00 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C80B04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80B08 */ cpu->r[27] = cpu->r[5];
|
|
/* 02C80B0C */ cpu->r[26] = cpu->r[4];
|
|
/* 02C80B10 */ _t2 = cpu->r[26] + 0x00000004u;
|
|
/* 02C80B10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C80B14 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C80B18 */ cpu->r[28] = cpu->r[6];
|
|
/* 02C80B1C */ Gambit_fn_02C80AD8(cpu);
|
|
/* 02C80B20 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C80B24 */ _t3 = cpu->r[26] + 0x00000008u;
|
|
/* 02C80B24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C80B28 */ Gambit_fn_02C80AD8(cpu);
|
|
/* 02C80B2C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C80B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80B34 */ cpu->r[4] = 0x00000027u;
|
|
/* 02C80B38 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C80B3C */ cpu->r[10] = 0x00000003u;
|
|
/* 02C80B40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80B44 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C80B48 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C80B48 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C80B4C */ cpu->r[5] = cpu->r[30];
|
|
/* 02C80B50 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C80B54 */ cpu->r[6] = cpu->r[28];
|
|
/* 02C80B58 */ Gambit_fn_02C80A68(cpu);
|
|
/* 02C80B5C */ _t5 = cpu->r[26] + 0x00000010u;
|
|
/* 02C80B5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C80B60 */ _t6 = cpu->r[31] + 0x00000010u;
|
|
/* 02C80B60 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C80B64 */ _t7 = cpu->r[26] + 0x00000020u;
|
|
/* 02C80B64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C80B68 */ _t8 = cpu->r[31] + 0x00000020u;
|
|
/* 02C80B68 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C80B6C */ _t9 = cpu->r[26] + 0x00000028u;
|
|
/* 02C80B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C80B70 */ cpu->r[5] = 0x00000034u;
|
|
/* 02C80B74 */ cpu->r[4] = cpu->r[26] + 0x00000040u;
|
|
/* 02C80B78 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02C80B7C */ _t10 = cpu->r[31] + 0x00000028u;
|
|
/* 02C80B7C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C80B80 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C80B84 */ _t11 = cpu->r[26] + 0x00000024u;
|
|
/* 02C80B84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C80B88 */ _t12 = cpu->r[31] + 0x00000024u;
|
|
/* 02C80B88 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02C80B8C */ _t13 = cpu->r[26] + 0x0000002Cu;
|
|
/* 02C80B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C80B90 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 02C80B90 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 02C80B94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80B98 */ _t15 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C80B98 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C80B9C */ rbrew_dispatch(cpu, 0x02d05ba8u);
|
|
/* 02C80BA0 */ /* nop */
|
|
/* 02C80BA4 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C80BA8 */ cpu->lr = cpu->r[0];
|
|
/* 02C80BAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C80BB0 */ return;
|
|
}
|
|
|
|
// fn_02C80BB4 @ 0x2c80bb4
|
|
void Gambit_fn_02C80BB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C80AF4: ; // 0x2c80af4
|
|
/* 02C80AF4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C80AF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80AF4 */ cpu->r[1] = _t0;
|
|
/* 02C80AF8 */ /* nop */
|
|
/* 02C80AFC */ cpu->r[0] = cpu->lr;
|
|
/* 02C80B00 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80B00 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C80B04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80B08 */ cpu->r[27] = cpu->r[5];
|
|
/* 02C80B0C */ cpu->r[26] = cpu->r[4];
|
|
/* 02C80B10 */ _t2 = cpu->r[26] + 0x00000004u;
|
|
/* 02C80B10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C80B14 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C80B18 */ cpu->r[28] = cpu->r[6];
|
|
/* 02C80B1C */ Gambit_fn_02C80AD8(cpu);
|
|
/* 02C80B20 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C80B24 */ _t3 = cpu->r[26] + 0x00000008u;
|
|
/* 02C80B24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C80B28 */ Gambit_fn_02C80AD8(cpu);
|
|
/* 02C80B2C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C80B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80B34 */ cpu->r[4] = 0x00000027u;
|
|
/* 02C80B38 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C80B3C */ cpu->r[10] = 0x00000003u;
|
|
/* 02C80B40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80B44 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C80B48 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C80B48 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C80B4C */ cpu->r[5] = cpu->r[30];
|
|
/* 02C80B50 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C80B54 */ cpu->r[6] = cpu->r[28];
|
|
/* 02C80B58 */ Gambit_fn_02C80A68(cpu);
|
|
/* 02C80B5C */ _t5 = cpu->r[26] + 0x00000010u;
|
|
/* 02C80B5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C80B60 */ _t6 = cpu->r[31] + 0x00000010u;
|
|
/* 02C80B60 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C80B64 */ _t7 = cpu->r[26] + 0x00000020u;
|
|
/* 02C80B64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C80B68 */ _t8 = cpu->r[31] + 0x00000020u;
|
|
/* 02C80B68 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C80B6C */ _t9 = cpu->r[26] + 0x00000028u;
|
|
/* 02C80B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C80B70 */ cpu->r[5] = 0x00000034u;
|
|
/* 02C80B74 */ cpu->r[4] = cpu->r[26] + 0x00000040u;
|
|
/* 02C80B78 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02C80B7C */ _t10 = cpu->r[31] + 0x00000028u;
|
|
/* 02C80B7C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C80B80 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C80B84 */ _t11 = cpu->r[26] + 0x00000024u;
|
|
/* 02C80B84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C80B88 */ _t12 = cpu->r[31] + 0x00000024u;
|
|
/* 02C80B88 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02C80B8C */ _t13 = cpu->r[26] + 0x0000002Cu;
|
|
/* 02C80B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C80B90 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 02C80B90 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 02C80B94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80B98 */ _t15 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C80B98 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C80B9C */ rbrew_dispatch(cpu, 0x02d05ba8u);
|
|
/* 02C80BA0 */ /* nop */
|
|
/* 02C80BA4 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C80BA8 */ cpu->lr = cpu->r[0];
|
|
/* 02C80BAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C80BB0 */ return;
|
|
L_02C80BB4: ; // 0x2c80bb4
|
|
/* 02C80BB4 */ cpu->r[6] = 0x00000122u;
|
|
/* 02C80BB8 */ goto L_02C80AF4;
|
|
}
|
|
|
|
// fn_02C80BBC @ 0x2c80bbc
|
|
void Gambit_fn_02C80BBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C80AF4: ; // 0x2c80af4
|
|
/* 02C80AF4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C80AF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80AF4 */ cpu->r[1] = _t0;
|
|
/* 02C80AF8 */ /* nop */
|
|
/* 02C80AFC */ cpu->r[0] = cpu->lr;
|
|
/* 02C80B00 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80B00 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C80B04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80B08 */ cpu->r[27] = cpu->r[5];
|
|
/* 02C80B0C */ cpu->r[26] = cpu->r[4];
|
|
/* 02C80B10 */ _t2 = cpu->r[26] + 0x00000004u;
|
|
/* 02C80B10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C80B14 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C80B18 */ cpu->r[28] = cpu->r[6];
|
|
/* 02C80B1C */ Gambit_fn_02C80AD8(cpu);
|
|
/* 02C80B20 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C80B24 */ _t3 = cpu->r[26] + 0x00000008u;
|
|
/* 02C80B24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C80B28 */ Gambit_fn_02C80AD8(cpu);
|
|
/* 02C80B2C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C80B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80B34 */ cpu->r[4] = 0x00000027u;
|
|
/* 02C80B38 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C80B3C */ cpu->r[10] = 0x00000003u;
|
|
/* 02C80B40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80B44 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C80B48 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C80B48 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C80B4C */ cpu->r[5] = cpu->r[30];
|
|
/* 02C80B50 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C80B54 */ cpu->r[6] = cpu->r[28];
|
|
/* 02C80B58 */ Gambit_fn_02C80A68(cpu);
|
|
/* 02C80B5C */ _t5 = cpu->r[26] + 0x00000010u;
|
|
/* 02C80B5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C80B60 */ _t6 = cpu->r[31] + 0x00000010u;
|
|
/* 02C80B60 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C80B64 */ _t7 = cpu->r[26] + 0x00000020u;
|
|
/* 02C80B64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C80B68 */ _t8 = cpu->r[31] + 0x00000020u;
|
|
/* 02C80B68 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C80B6C */ _t9 = cpu->r[26] + 0x00000028u;
|
|
/* 02C80B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C80B70 */ cpu->r[5] = 0x00000034u;
|
|
/* 02C80B74 */ cpu->r[4] = cpu->r[26] + 0x00000040u;
|
|
/* 02C80B78 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02C80B7C */ _t10 = cpu->r[31] + 0x00000028u;
|
|
/* 02C80B7C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C80B80 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C80B84 */ _t11 = cpu->r[26] + 0x00000024u;
|
|
/* 02C80B84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C80B88 */ _t12 = cpu->r[31] + 0x00000024u;
|
|
/* 02C80B88 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02C80B8C */ _t13 = cpu->r[26] + 0x0000002Cu;
|
|
/* 02C80B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C80B90 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 02C80B90 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 02C80B94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80B98 */ _t15 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C80B98 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C80B9C */ rbrew_dispatch(cpu, 0x02d05ba8u);
|
|
/* 02C80BA0 */ /* nop */
|
|
/* 02C80BA4 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C80BA8 */ cpu->lr = cpu->r[0];
|
|
/* 02C80BAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C80BB0 */ return;
|
|
L_02C80BBC: ; // 0x2c80bbc
|
|
/* 02C80BBC */ cpu->r[6] = 0x0000011Fu;
|
|
/* 02C80BC0 */ goto L_02C80AF4;
|
|
}
|
|
|
|
// fn_02C80BC4 @ 0x2c80bc4
|
|
void Gambit_fn_02C80BC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C80BC4: ; // 0x2c80bc4
|
|
/* 02C80BC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C80BC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80BC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80BC8 */ cpu->r[1] = _t0;
|
|
/* 02C80BCC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80BCC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80BD0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80BD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C80BD4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C80BD8 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02C80BD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[5]);
|
|
/* 02C80BDC */ _t4 = cpu->r[3] + 0x00000030u;
|
|
/* 02C80BDC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C80BE0 */ _t5 = cpu->r[3] + 0x00000014u;
|
|
/* 02C80BE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 02C80BE4 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C80BE8 */ _t6 = cpu->r[3] + 0x00000074u;
|
|
/* 02C80BE8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C80BEC */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C80BEC */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C80BF0 */ _t8 = cpu->r[3] + 0x00000078u;
|
|
/* 02C80BF0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C80BF4 */ _t9 = cpu->r[3] + 0x00000018u;
|
|
/* 02C80BF4 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02C80BF8 */ _t10 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C80BF8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C80BFC */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C80BFC */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02C80C00 */ _t12 = cpu->r[3] + 0x00000034u;
|
|
/* 02C80C00 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C80C04 */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02C80C04 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02C80C08 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 02C80C08 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 02C80C0C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80C10 */ _t15 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02C80C10 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02C80C14 */ rbrew_dispatch(cpu, 0x02d05878u);
|
|
/* 02C80C18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80C1C */ rbrew_dispatch(cpu, 0x02d05ba8u);
|
|
/* 02C80C20 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C80C24 */ cpu->lr = cpu->r[0];
|
|
/* 02C80C28 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80C28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C80C2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80C30 */ return;
|
|
}
|
|
|
|
// fn_02C80BC8 @ 0x2c80bc8
|
|
void Gambit_fn_02C80BC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C80BC8: ; // 0x2c80bc8
|
|
/* 02C80BC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80BC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80BC8 */ cpu->r[1] = _t0;
|
|
/* 02C80BCC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80BCC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80BD0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80BD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C80BD4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C80BD8 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02C80BD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[5]);
|
|
/* 02C80BDC */ _t4 = cpu->r[3] + 0x00000030u;
|
|
/* 02C80BDC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C80BE0 */ _t5 = cpu->r[3] + 0x00000014u;
|
|
/* 02C80BE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 02C80BE4 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C80BE8 */ _t6 = cpu->r[3] + 0x00000074u;
|
|
/* 02C80BE8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C80BEC */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C80BEC */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C80BF0 */ _t8 = cpu->r[3] + 0x00000078u;
|
|
/* 02C80BF0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C80BF4 */ _t9 = cpu->r[3] + 0x00000018u;
|
|
/* 02C80BF4 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02C80BF8 */ _t10 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C80BF8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C80BFC */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C80BFC */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02C80C00 */ _t12 = cpu->r[3] + 0x00000034u;
|
|
/* 02C80C00 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C80C04 */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02C80C04 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02C80C08 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 02C80C08 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 02C80C0C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80C10 */ _t15 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02C80C10 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02C80C14 */ rbrew_dispatch(cpu, 0x02d05878u);
|
|
/* 02C80C18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80C1C */ rbrew_dispatch(cpu, 0x02d05ba8u);
|
|
/* 02C80C20 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C80C24 */ cpu->lr = cpu->r[0];
|
|
/* 02C80C28 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80C28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C80C2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80C30 */ return;
|
|
}
|
|
|
|
// fn_02C80C34 @ 0x2c80c34
|
|
void Gambit_fn_02C80C34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C80C34: ; // 0x2c80c34
|
|
/* 02C80C34 */ cpu->r[0] = cpu->lr;
|
|
/* 02C80C38 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80C38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80C38 */ cpu->r[1] = _t0;
|
|
/* 02C80C3C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80C3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80C40 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80C40 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C80C44 */ Gambit_fn_02C815E4(cpu);
|
|
/* 02C80C48 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80C4C */ Gambit_fn_02C81390(cpu);
|
|
/* 02C80C50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80C50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C80C54 */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02C80C58 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80C58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C80C5C */ cpu->lr = cpu->r[0];
|
|
/* 02C80C60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80C64 */ return;
|
|
}
|
|
|
|
// fn_02C80C38 @ 0x2c80c38
|
|
void Gambit_fn_02C80C38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C80C38: ; // 0x2c80c38
|
|
/* 02C80C38 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80C38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80C38 */ cpu->r[1] = _t0;
|
|
/* 02C80C3C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80C3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80C40 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80C40 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C80C44 */ Gambit_fn_02C815E4(cpu);
|
|
/* 02C80C48 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80C4C */ Gambit_fn_02C81390(cpu);
|
|
/* 02C80C50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80C50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C80C54 */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02C80C58 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80C58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C80C5C */ cpu->lr = cpu->r[0];
|
|
/* 02C80C60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80C64 */ return;
|
|
}
|
|
|
|
// fn_02C80C68 @ 0x2c80c68
|
|
void Gambit_fn_02C80C68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C80C68: ; // 0x2c80c68
|
|
/* 02C80C68 */ cpu->r[0] = cpu->lr;
|
|
/* 02C80C6C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C80C6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80C6C */ cpu->r[1] = _t0;
|
|
/* 02C80C70 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C80C70 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C80C74 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C80C74 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C80C78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C80C7C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C80C80 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80C80 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C80C84 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80C84 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C80C88 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80C88 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C80C88 */ if (_t6) goto L_02C80C8C; else goto L_02C80C9C;
|
|
L_02C80C8C: ; // 0x2c80c8c
|
|
/* 02C80C8C */ cpu->r[3] = 0x00000044u;
|
|
/* 02C80C90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C80C94 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C80C98 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80C98 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C80C98 */ if (_t8) goto L_02C80CE8; else goto L_02C80C9C;
|
|
L_02C80C9C: ; // 0x2c80c9c
|
|
/* 02C80C9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80CA0 */ Gambit_fn_02C81398(cpu);
|
|
/* 02C80CA4 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C80CA8 */ Gambit_fn_02C81200(cpu);
|
|
/* 02C80CAC */ Gambit_fn_02C80C34(cpu);
|
|
/* 02C80CB0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C80CB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C80CB8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C80CBC */ Gambit_fn_02C7F608(cpu);
|
|
/* 02C80CC0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C80CC4 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C80CC8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80CCC */ Gambit_fn_02C7F5BC(cpu);
|
|
/* 02C80CD0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80CD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80CD8 */ Gambit_fn_02C81424(cpu);
|
|
/* 02C80CDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80CE0 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C80CE4 */ Gambit_fn_02C81254(cpu);
|
|
L_02C80CE8: ; // 0x2c80ce8
|
|
/* 02C80CE8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80CE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C80CEC */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C80CF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80CF4 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02C80CF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C80CF8 */ cpu->lr = cpu->r[0];
|
|
/* 02C80CFC */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C80CFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C80D00 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C80D04 */ return;
|
|
}
|
|
|
|
// fn_02C80C6C @ 0x2c80c6c
|
|
void Gambit_fn_02C80C6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C80C6C: ; // 0x2c80c6c
|
|
/* 02C80C6C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C80C6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80C6C */ cpu->r[1] = _t0;
|
|
/* 02C80C70 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C80C70 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C80C74 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C80C74 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C80C78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C80C7C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C80C80 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80C80 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C80C84 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80C84 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C80C88 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80C88 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C80C88 */ if (_t6) goto L_02C80C8C; else goto L_02C80C9C;
|
|
L_02C80C8C: ; // 0x2c80c8c
|
|
/* 02C80C8C */ cpu->r[3] = 0x00000044u;
|
|
/* 02C80C90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C80C94 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C80C98 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80C98 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C80C98 */ if (_t8) goto L_02C80CE8; else goto L_02C80C9C;
|
|
L_02C80C9C: ; // 0x2c80c9c
|
|
/* 02C80C9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80CA0 */ Gambit_fn_02C81398(cpu);
|
|
/* 02C80CA4 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C80CA8 */ Gambit_fn_02C81200(cpu);
|
|
/* 02C80CAC */ Gambit_fn_02C80C34(cpu);
|
|
/* 02C80CB0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C80CB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C80CB8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C80CBC */ Gambit_fn_02C7F608(cpu);
|
|
/* 02C80CC0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C80CC4 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C80CC8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80CCC */ Gambit_fn_02C7F5BC(cpu);
|
|
/* 02C80CD0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80CD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80CD8 */ Gambit_fn_02C81424(cpu);
|
|
/* 02C80CDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80CE0 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C80CE4 */ Gambit_fn_02C81254(cpu);
|
|
L_02C80CE8: ; // 0x2c80ce8
|
|
/* 02C80CE8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80CE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C80CEC */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C80CF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80CF4 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02C80CF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C80CF8 */ cpu->lr = cpu->r[0];
|
|
/* 02C80CFC */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C80CFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C80D00 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C80D04 */ return;
|
|
}
|
|
|
|
// fn_02C80D08 @ 0x2c80d08
|
|
void Gambit_fn_02C80D08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C80D08: ; // 0x2c80d08
|
|
/* 02C80D08 */ cpu->r[0] = cpu->lr;
|
|
/* 02C80D0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80D0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80D0C */ cpu->r[1] = _t0;
|
|
/* 02C80D10 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80D10 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C80D14 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80D14 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C80D18 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C80D1C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C80D20 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80D20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C80D24 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80D24 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C80D24 */ if (_t5) goto L_02C80D50; else goto L_02C80D28;
|
|
L_02C80D28: ; // 0x2c80d28
|
|
/* 02C80D28 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C80D2C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C80D30 */ Gambit_fn_02C81240(cpu);
|
|
/* 02C80D34 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80D38 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C80D3C */ Gambit_fn_02C81410(cpu);
|
|
/* 02C80D40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C80D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C80D44 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80D44 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C80D44 */ if (_t7) goto L_02C80D50; else goto L_02C80D48;
|
|
L_02C80D48: ; // 0x2c80d48
|
|
/* 02C80D48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80D4C */ Gambit_fn_02801BB0(cpu);
|
|
L_02C80D50: ; // 0x2c80d50
|
|
/* 02C80D50 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80D50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C80D54 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80D54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C80D58 */ cpu->lr = cpu->r[0];
|
|
/* 02C80D5C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80D5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C80D60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80D64 */ return;
|
|
}
|
|
|
|
// fn_02C80D0C @ 0x2c80d0c
|
|
void Gambit_fn_02C80D0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C80D0C: ; // 0x2c80d0c
|
|
/* 02C80D0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80D0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80D0C */ cpu->r[1] = _t0;
|
|
/* 02C80D10 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80D10 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C80D14 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80D14 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C80D18 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C80D1C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C80D20 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80D20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C80D24 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80D24 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C80D24 */ if (_t5) goto L_02C80D50; else goto L_02C80D28;
|
|
L_02C80D28: ; // 0x2c80d28
|
|
/* 02C80D28 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C80D2C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C80D30 */ Gambit_fn_02C81240(cpu);
|
|
/* 02C80D34 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80D38 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C80D3C */ Gambit_fn_02C81410(cpu);
|
|
/* 02C80D40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C80D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C80D44 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80D44 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C80D44 */ if (_t7) goto L_02C80D50; else goto L_02C80D48;
|
|
L_02C80D48: ; // 0x2c80d48
|
|
/* 02C80D48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80D4C */ Gambit_fn_02801BB0(cpu);
|
|
L_02C80D50: ; // 0x2c80d50
|
|
/* 02C80D50 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80D50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C80D54 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80D54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C80D58 */ cpu->lr = cpu->r[0];
|
|
/* 02C80D5C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80D5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C80D60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80D64 */ return;
|
|
}
|
|
|
|
// fn_02C80D68 @ 0x2c80d68
|
|
void Gambit_fn_02C80D68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C80D68: ; // 0x2c80d68
|
|
/* 02C80D68 */ cpu->r[0] = cpu->lr;
|
|
/* 02C80D6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80D6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80D6C */ cpu->r[1] = _t0;
|
|
/* 02C80D70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80D70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80D74 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80D78 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80D78 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C80D7C */ Gambit_fn_02C814C8(cpu);
|
|
/* 02C80D80 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C80D84 */ Gambit_fn_02C812D8(cpu);
|
|
/* 02C80D88 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80D88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C80D8C */ cpu->lr = cpu->r[0];
|
|
/* 02C80D90 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80D90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C80D94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80D98 */ return;
|
|
}
|
|
|
|
// fn_02C80D6C @ 0x2c80d6c
|
|
void Gambit_fn_02C80D6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C80D6C: ; // 0x2c80d6c
|
|
/* 02C80D6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80D6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80D6C */ cpu->r[1] = _t0;
|
|
/* 02C80D70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80D70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80D74 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80D78 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80D78 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C80D7C */ Gambit_fn_02C814C8(cpu);
|
|
/* 02C80D80 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C80D84 */ Gambit_fn_02C812D8(cpu);
|
|
/* 02C80D88 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80D88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C80D8C */ cpu->lr = cpu->r[0];
|
|
/* 02C80D90 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80D90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C80D94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80D98 */ return;
|
|
}
|
|
|
|
// fn_02C80D9C @ 0x2c80d9c
|
|
void Gambit_fn_02C80D9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C80D9C: ; // 0x2c80d9c
|
|
/* 02C80D9C */ cpu->r[0] = cpu->lr;
|
|
/* 02C80DA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80DA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80DA0 */ cpu->r[1] = _t0;
|
|
/* 02C80DA4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80DA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80DA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80DAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C80DB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80DB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C80DB4 */ Gambit_fn_02C7DE40(cpu);
|
|
/* 02C80DB8 */ rbrew_dispatch(cpu, 0x02d06080u);
|
|
/* 02C80DBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C80DC0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C80DC4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C80DC8 */ rbrew_dispatch(cpu, 0x02d06090u);
|
|
/* 02C80DCC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C80DD0 */ cpu->r[3] = 0x0000000Fu;
|
|
/* 02C80DD4 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C80DD8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C80DDC */ cpu->r[8] = cpu->r[6];
|
|
/* 02C80DE0 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C80DE4 */ cpu->r[9] = cpu->r[8];
|
|
/* 02C80DE8 */ cpu->r[10] = cpu->r[8];
|
|
/* 02C80DEC */ rbrew_dispatch(cpu, 0x02d06258u);
|
|
/* 02C80DF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80DF4 */ Gambit_fn_02C8151C(cpu);
|
|
/* 02C80DF8 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C80DFC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C80E00 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C80E04 */ Gambit_fn_02C81320(cpu);
|
|
/* 02C80E08 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C80E0C */ cpu->lr = cpu->r[0];
|
|
/* 02C80E10 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C80E14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80E18 */ return;
|
|
}
|
|
|
|
// fn_02C80DA0 @ 0x2c80da0
|
|
void Gambit_fn_02C80DA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C80DA0: ; // 0x2c80da0
|
|
/* 02C80DA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C80DA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80DA0 */ cpu->r[1] = _t0;
|
|
/* 02C80DA4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80DA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C80DA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C80DAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C80DB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80DB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C80DB4 */ Gambit_fn_02C7DE40(cpu);
|
|
/* 02C80DB8 */ rbrew_dispatch(cpu, 0x02d06080u);
|
|
/* 02C80DBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C80DC0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C80DC4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C80DC8 */ rbrew_dispatch(cpu, 0x02d06090u);
|
|
/* 02C80DCC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C80DD0 */ cpu->r[3] = 0x0000000Fu;
|
|
/* 02C80DD4 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C80DD8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C80DDC */ cpu->r[8] = cpu->r[6];
|
|
/* 02C80DE0 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C80DE4 */ cpu->r[9] = cpu->r[8];
|
|
/* 02C80DE8 */ cpu->r[10] = cpu->r[8];
|
|
/* 02C80DEC */ rbrew_dispatch(cpu, 0x02d06258u);
|
|
/* 02C80DF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C80DF4 */ Gambit_fn_02C8151C(cpu);
|
|
/* 02C80DF8 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C80DFC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C80E00 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C80E04 */ Gambit_fn_02C81320(cpu);
|
|
/* 02C80E08 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C80E0C */ cpu->lr = cpu->r[0];
|
|
/* 02C80E10 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C80E14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80E18 */ return;
|
|
}
|
|
|
|
// fn_02C80E1C @ 0x2c80e1c
|
|
void Gambit_fn_02C80E1C(CPUState* 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;
|
|
|
|
L_02C80E1C: ; // 0x2c80e1c
|
|
/* 02C80E1C */ cpu->r[0] = cpu->lr;
|
|
/* 02C80E20 */ _t0 = cpu->r[1] + 0xFFFFFE78u;
|
|
/* 02C80E20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80E20 */ cpu->r[1] = _t0;
|
|
/* 02C80E24 */ _t1 = cpu->r[1] + 0x00000180u;
|
|
/* 02C80E24 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C80E28 */ cpu->r[12] = 0x00000036u;
|
|
/* 02C80E2C */ _t2 = cpu->r[1] + 0x0000017Cu;
|
|
/* 02C80E2C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C80E30 */ cpu->ctr = cpu->r[12];
|
|
/* 02C80E34 */ _t3 = cpu->r[1] + 0x00000184u;
|
|
/* 02C80E34 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C80E38 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C80E3C */ _t4 = cpu->r[1] + 0x0000018Cu;
|
|
/* 02C80E3C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C80E40 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C80E44 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C80E48 */ _t5 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C80E48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C80E4C */ cpu->r[10] = cpu->r[10] + 0x0000356Cu;
|
|
/* 02C80E50 */ _t6 = cpu->r[30] + 0x00000014u;
|
|
/* 02C80E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C80E54 */ cpu->r[11] = cpu->r[1] + 0x000000A0u;
|
|
/* 02C80E58 */ _t7 = cpu->r[30] + 0x00000010u;
|
|
/* 02C80E58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C80E5C */ cpu->r[31] = cpu->r[5];
|
|
L_02C80E60: ; // 0x2c80e60
|
|
/* 02C80E60 */ _t8 = cpu->r[10] + 0x00000004u;
|
|
/* 02C80E60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C80E60 */ cpu->r[10] = _t8;
|
|
/* 02C80E64 */ _t9 = cpu->r[11] + 0x00000004u;
|
|
/* 02C80E64 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02C80E64 */ cpu->r[11] = _t9;
|
|
/* 02C80E68 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C80E68 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C80E68 */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02C80E68 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C80E68 */ if (_t12) goto L_02C80E60; else goto L_02C80E6C;
|
|
L_02C80E6C: ; // 0x2c80e6c
|
|
/* 02C80E6C */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 02C80E6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C80E70 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 02C80E70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C80E74 */ _t15 = cpu->r[30] + 0x00000008u;
|
|
/* 02C80E74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C80E78 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80E78 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02C80E7C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C80E80 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02C80E80 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 02C80E84 */ _t18 = cpu->r[1] + 0x00000038u;
|
|
/* 02C80E84 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02C80E88 */ _t19 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C80E88 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C80E8C */ _t20 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C80E8C */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C80E90 */ _t21 = cpu->r[1] + 0x00000084u;
|
|
/* 02C80E90 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C80E94 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C80E94 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02C80E98 */ _t23 = cpu->r[1] + 0x00000088u;
|
|
/* 02C80E98 */ rbrew_write32(cpu->mem, _t23, cpu->r[4]);
|
|
/* 02C80E9C */ cpu->r[6] = cpu->r[1] + 0x000000A4u;
|
|
/* 02C80EA0 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80EA0 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02C80EA4 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C80EA8 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80EA8 */ rbrew_write32(cpu->mem, _t25, cpu->r[4]);
|
|
/* 02C80EAC */ _t26 = cpu->r[1] + 0x00000080u;
|
|
/* 02C80EAC */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 02C80EB0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000018u, 0x0000001Du);
|
|
/* 02C80EB4 */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 02C80EB4 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 02C80EB8 */ _t28 = cpu->r[5] + cpu->r[6];
|
|
/* 02C80EB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C80EBC */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02C80EBC */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 02C80EC0 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80EC0 */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
/* 02C80EC4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80EC8 */ _t31 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02C80EC8 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 02C80ECC */ rbrew_dispatch(cpu, 0x02d05878u);
|
|
/* 02C80ED0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80ED4 */ rbrew_dispatch(cpu, 0x02d05c88u);
|
|
/* 02C80ED8 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02C80ED8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C80EDC */ _t33 = cpu->r[30] + 0x00000024u;
|
|
/* 02C80EDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C80EE0 */ _t34 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C80EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C80EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 02C80EE8 */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C80EE8 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02C80EEC */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C80EEC */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C80EEC */ if (_t37) goto L_02C80EF0; else goto L_02C80F00;
|
|
L_02C80EF0: ; // 0x2c80ef0
|
|
/* 02C80EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C80EF4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80EF4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C80EF4 */ if (_t39) goto L_02C80EF8; else goto L_02C80F00;
|
|
L_02C80EF8: ; // 0x2c80ef8
|
|
/* 02C80EF8 */ _t40 = cpu->r[1] + 0x00000048u;
|
|
/* 02C80EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C80EFC */ cpu->r[0] = cpu->r[12] + cpu->r[0];
|
|
L_02C80F00: ; // 0x2c80f00
|
|
/* 02C80F00 */ _t41 = cpu->r[1] + 0x00000034u;
|
|
/* 02C80F00 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02C80F04 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C80F08 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C80F0C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80F10 */ Gambit_fn_02C81564(cpu);
|
|
/* 02C80F14 */ _t42 = cpu->r[1] + 0x0000017Cu;
|
|
/* 02C80F14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C80F18 */ _t43 = cpu->r[1] + 0x0000018Cu;
|
|
/* 02C80F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C80F1C */ _t44 = cpu->r[1] + 0x00000180u;
|
|
/* 02C80F1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C80F20 */ cpu->lr = cpu->r[0];
|
|
/* 02C80F24 */ _t45 = cpu->r[1] + 0x00000184u;
|
|
/* 02C80F24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C80F28 */ cpu->r[1] = cpu->r[1] + 0x00000188u;
|
|
/* 02C80F2C */ return;
|
|
}
|
|
|
|
// fn_02C80E20 @ 0x2c80e20
|
|
void Gambit_fn_02C80E20(CPUState* 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;
|
|
|
|
L_02C80E20: ; // 0x2c80e20
|
|
/* 02C80E20 */ _t0 = cpu->r[1] + 0xFFFFFE78u;
|
|
/* 02C80E20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80E20 */ cpu->r[1] = _t0;
|
|
/* 02C80E24 */ _t1 = cpu->r[1] + 0x00000180u;
|
|
/* 02C80E24 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C80E28 */ cpu->r[12] = 0x00000036u;
|
|
/* 02C80E2C */ _t2 = cpu->r[1] + 0x0000017Cu;
|
|
/* 02C80E2C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C80E30 */ cpu->ctr = cpu->r[12];
|
|
/* 02C80E34 */ _t3 = cpu->r[1] + 0x00000184u;
|
|
/* 02C80E34 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C80E38 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C80E3C */ _t4 = cpu->r[1] + 0x0000018Cu;
|
|
/* 02C80E3C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C80E40 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C80E44 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C80E48 */ _t5 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C80E48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C80E4C */ cpu->r[10] = cpu->r[10] + 0x0000356Cu;
|
|
/* 02C80E50 */ _t6 = cpu->r[30] + 0x00000014u;
|
|
/* 02C80E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C80E54 */ cpu->r[11] = cpu->r[1] + 0x000000A0u;
|
|
/* 02C80E58 */ _t7 = cpu->r[30] + 0x00000010u;
|
|
/* 02C80E58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C80E5C */ cpu->r[31] = cpu->r[5];
|
|
L_02C80E60: ; // 0x2c80e60
|
|
/* 02C80E60 */ _t8 = cpu->r[10] + 0x00000004u;
|
|
/* 02C80E60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C80E60 */ cpu->r[10] = _t8;
|
|
/* 02C80E64 */ _t9 = cpu->r[11] + 0x00000004u;
|
|
/* 02C80E64 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02C80E64 */ cpu->r[11] = _t9;
|
|
/* 02C80E68 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C80E68 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C80E68 */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02C80E68 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C80E68 */ if (_t12) goto L_02C80E60; else goto L_02C80E6C;
|
|
L_02C80E6C: ; // 0x2c80e6c
|
|
/* 02C80E6C */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 02C80E6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C80E70 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 02C80E70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C80E74 */ _t15 = cpu->r[30] + 0x00000008u;
|
|
/* 02C80E74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C80E78 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80E78 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02C80E7C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C80E80 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02C80E80 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 02C80E84 */ _t18 = cpu->r[1] + 0x00000038u;
|
|
/* 02C80E84 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02C80E88 */ _t19 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C80E88 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C80E8C */ _t20 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C80E8C */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C80E90 */ _t21 = cpu->r[1] + 0x00000084u;
|
|
/* 02C80E90 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C80E94 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C80E94 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02C80E98 */ _t23 = cpu->r[1] + 0x00000088u;
|
|
/* 02C80E98 */ rbrew_write32(cpu->mem, _t23, cpu->r[4]);
|
|
/* 02C80E9C */ cpu->r[6] = cpu->r[1] + 0x000000A4u;
|
|
/* 02C80EA0 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80EA0 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02C80EA4 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C80EA8 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C80EA8 */ rbrew_write32(cpu->mem, _t25, cpu->r[4]);
|
|
/* 02C80EAC */ _t26 = cpu->r[1] + 0x00000080u;
|
|
/* 02C80EAC */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 02C80EB0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000018u, 0x0000001Du);
|
|
/* 02C80EB4 */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 02C80EB4 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 02C80EB8 */ _t28 = cpu->r[5] + cpu->r[6];
|
|
/* 02C80EB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C80EBC */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02C80EBC */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 02C80EC0 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 02C80EC0 */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
/* 02C80EC4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80EC8 */ _t31 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02C80EC8 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 02C80ECC */ rbrew_dispatch(cpu, 0x02d05878u);
|
|
/* 02C80ED0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80ED4 */ rbrew_dispatch(cpu, 0x02d05c88u);
|
|
/* 02C80ED8 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02C80ED8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C80EDC */ _t33 = cpu->r[30] + 0x00000024u;
|
|
/* 02C80EDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C80EE0 */ _t34 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C80EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C80EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 02C80EE8 */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C80EE8 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02C80EEC */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C80EEC */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C80EEC */ if (_t37) goto L_02C80EF0; else goto L_02C80F00;
|
|
L_02C80EF0: ; // 0x2c80ef0
|
|
/* 02C80EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C80EF4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C80EF4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C80EF4 */ if (_t39) goto L_02C80EF8; else goto L_02C80F00;
|
|
L_02C80EF8: ; // 0x2c80ef8
|
|
/* 02C80EF8 */ _t40 = cpu->r[1] + 0x00000048u;
|
|
/* 02C80EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C80EFC */ cpu->r[0] = cpu->r[12] + cpu->r[0];
|
|
L_02C80F00: ; // 0x2c80f00
|
|
/* 02C80F00 */ _t41 = cpu->r[1] + 0x00000034u;
|
|
/* 02C80F00 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02C80F04 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C80F08 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C80F0C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C80F10 */ Gambit_fn_02C81564(cpu);
|
|
/* 02C80F14 */ _t42 = cpu->r[1] + 0x0000017Cu;
|
|
/* 02C80F14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C80F18 */ _t43 = cpu->r[1] + 0x0000018Cu;
|
|
/* 02C80F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C80F1C */ _t44 = cpu->r[1] + 0x00000180u;
|
|
/* 02C80F1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C80F20 */ cpu->lr = cpu->r[0];
|
|
/* 02C80F24 */ _t45 = cpu->r[1] + 0x00000184u;
|
|
/* 02C80F24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C80F28 */ cpu->r[1] = cpu->r[1] + 0x00000188u;
|
|
/* 02C80F2C */ return;
|
|
}
|
|
|
|
// fn_02C80F30 @ 0x2c80f30
|
|
void Gambit_fn_02C80F30(CPUState* 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_02C80F30: ; // 0x2c80f30
|
|
/* 02C80F30 */ cpu->r[0] = cpu->lr;
|
|
/* 02C80F34 */ _t0 = cpu->r[1] + 0xFFFFFF28u;
|
|
/* 02C80F34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80F34 */ cpu->r[1] = _t0;
|
|
/* 02C80F38 */ _t1 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C80F38 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02C80F3C */ _t2 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C80F3C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C80F40 */ /* nop */
|
|
/* 02C80F44 */ _t3 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C80F44 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02C80F48 */ /* nop */
|
|
/* 02C80F4C */ _t4 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C80F4C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C80F50 */ _t5 = cpu->r[1] + 0x000000DCu;
|
|
/* 02C80F50 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C80F54 */ _t6 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C80F54 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 02C80F58 */ _t7 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C80F58 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02C80F5C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C80F60 */ _t8 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C80F60 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C80F64 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C80F68 */ _t9 = cpu->r[30] + 0x00000014u;
|
|
/* 02C80F68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C80F6C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C80F70 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02C80F70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C80F74 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C80F78 */ _t11 = cpu->r[30] + 0x00000008u;
|
|
/* 02C80F78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C80F7C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80F80 */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C80F80 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C80F84 */ Gambit_fn_02C80BC4(cpu);
|
|
/* 02C80F88 */ _t13 = cpu->r[30] + 0x00000010u;
|
|
/* 02C80F88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C80F8C */ _t14 = cpu->r[1] + 0x00000084u;
|
|
/* 02C80F8C */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 02C80F90 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80F94 */ _t15 = cpu->r[1] + 0x00000020u;
|
|
/* 02C80F94 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C80F98 */ rbrew_dispatch(cpu, 0x02d05878u);
|
|
/* 02C80F9C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80FA0 */ rbrew_dispatch(cpu, 0x02d05ba8u);
|
|
/* 02C80FA4 */ _t16 = cpu->r[30] + 0x00000024u;
|
|
/* 02C80FA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C80FA8 */ _t17 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C80FA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C80FAC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C80FB0 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02C80FB0 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 02C80FB4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80FB8 */ _t19 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C80FB8 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02C80FBC */ rbrew_dispatch(cpu, 0x02d05ff0u);
|
|
/* 02C80FC0 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C80FC4 */ _t20 = cpu->r[30] + 0x00000004u;
|
|
/* 02C80FC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C80FC8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C80FCC */ _t21 = cpu->r[11] + 0x00003648u;
|
|
/* 02C80FCC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C80FD0 */ Gambit_fn_02C78E6C(cpu);
|
|
/* 02C80FD4 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C80FD8 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80FD8 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02C80FDC */ cpu->r[31] = 0x43300000u;
|
|
/* 02C80FE0 */ _t23 = cpu->r[10] + 0x00003650u;
|
|
/* 02C80FE0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 02C80FE4 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80FE4 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
|
|
/* 02C80FE8 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80FE8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 02C80FEC */ cpu->f[12] = cpu->f[11] - cpu->f[12];
|
|
/* 02C80FF0 */ _t26 = cpu->r[30] + 0x00000008u;
|
|
/* 02C80FF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C80FF4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C80FF8 */ cpu->f[30] = (double)(float)cpu->f[12];
|
|
/* 02C80FFC */ Gambit_fn_02C78E6C(cpu);
|
|
/* 02C81000 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81000 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02C81004 */ cpu->f[2] = cpu->f[31];
|
|
/* 02C81008 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C8100C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8100C */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
/* 02C81010 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81010 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02C81014 */ cpu->f[3] = cpu->f[30];
|
|
/* 02C81018 */ _t30 = cpu->r[9] + 0x00003650u;
|
|
/* 02C81018 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02C8101C */ cpu->f[5] = cpu->f[31];
|
|
/* 02C81020 */ cpu->f[10] = cpu->f[0] - cpu->f[11];
|
|
/* 02C81024 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C81028 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C8102C */ cpu->f[4] = (double)(float)cpu->f[10];
|
|
/* 02C81030 */ _t31 = cpu->r[8] + 0x00003658u;
|
|
/* 02C81030 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C81034 */ rbrew_dispatch(cpu, 0x02d062b8u);
|
|
/* 02C81038 */ _t32 = cpu->r[30] + 0x00000004u;
|
|
/* 02C81038 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C8103C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C81040 */ Gambit_fn_02C78E6C(cpu);
|
|
/* 02C81044 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81044 */ rbrew_write32(cpu->mem, _t33, cpu->r[31]);
|
|
/* 02C81048 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8104C */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8104C */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
/* 02C81050 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81050 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 02C81054 */ _t36 = cpu->r[12] + 0x00003650u;
|
|
/* 02C81054 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 02C81058 */ cpu->f[10] = cpu->f[0] - cpu->f[13];
|
|
/* 02C8105C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C81060 */ cpu->f[12] = (double)(float)cpu->f[10];
|
|
/* 02C81064 */ _t37 = cpu->r[10] + 0x0000365Cu;
|
|
/* 02C81064 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C81068 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 02C8106C */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8106C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C8106C */ if (_t39) goto L_02C81070; else goto L_02C810E0;
|
|
L_02C81070: ; // 0x2c81070
|
|
/* 02C81070 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[12];
|
|
/* 02C81074 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81078 */ /* nop */
|
|
/* 02C8107C */ _t40 = cpu->r[30] + 0x00000008u;
|
|
/* 02C8107C */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C81080 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C81084 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81084 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C81088 */ Gambit_fn_02C78E6C(cpu);
|
|
/* 02C8108C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C81090 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81090 */ rbrew_write32(cpu->mem, _t42, cpu->r[3]);
|
|
/* 02C81094 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C81098 */ _t43 = cpu->r[12] + 0x00003650u;
|
|
/* 02C81098 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 02C8109C */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8109C */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02C810A0 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02C810A0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t45);
|
|
/* 02C810A4 */ cpu->f[10] = cpu->f[13] - cpu->f[0];
|
|
/* 02C810A8 */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 02C810AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 02C810B0 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C810B0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C810B0 */ if (_t47) goto L_02C8112C; else goto L_02C810B4;
|
|
L_02C810B4: ; // 0x2c810b4
|
|
/* 02C810B4 */ cpu->f[12] = cpu->f[0] - cpu->f[31];
|
|
/* 02C810B8 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[12];
|
|
/* 02C810BC */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C810C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C810C4 */ /* nop */
|
|
/* 02C810C8 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02C810C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C810CC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C810D0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C810D4 */ cpu->r[6] = cpu->r[12] + 0x80000000u;
|
|
/* 02C810D8 */ rbrew_dispatch(cpu, 0x02d061c8u);
|
|
/* 02C810DC */ goto L_02C8114C;
|
|
L_02C810E0: ; // 0x2c810e0
|
|
/* 02C810E0 */ cpu->f[13] = cpu->f[12] - cpu->f[31];
|
|
/* 02C810E4 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 02C810E8 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C810EC */ /* nop */
|
|
/* 02C810F0 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02C810F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C810F4 */ _t50 = cpu->r[30] + 0x00000008u;
|
|
/* 02C810F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C810F8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C810FC */ cpu->r[31] = cpu->r[9] + 0x80000000u;
|
|
/* 02C81100 */ Gambit_fn_02C78E6C(cpu);
|
|
/* 02C81104 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C81108 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81108 */ rbrew_write32(cpu->mem, _t51, cpu->r[3]);
|
|
/* 02C8110C */ cpu->r[0] = 0x43300000u;
|
|
/* 02C81110 */ _t52 = cpu->r[12] + 0x00003650u;
|
|
/* 02C81110 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 02C81114 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81114 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02C81118 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81118 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 02C8111C */ cpu->f[10] = cpu->f[13] - cpu->f[0];
|
|
/* 02C81120 */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 02C81124 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 02C81128 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C81128 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C81128 */ if (_t56) goto L_02C8112C; else goto L_02C810B4;
|
|
L_02C8112C: ; // 0x2c8112c
|
|
/* 02C8112C */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 02C81130 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81134 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C81138 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C8113C */ /* nop */
|
|
/* 02C81140 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81140 */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C81144 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C81148 */ rbrew_dispatch(cpu, 0x02d061c8u);
|
|
L_02C8114C: ; // 0x2c8114c
|
|
/* 02C8114C */ _t58 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C8114C */ cpu->r[29] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C81150 */ _t59 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C81150 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C81154 */ _t60 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C81154 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02C81158 */ _t61 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C81158 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 02C8115C */ _t62 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C8115C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t62);
|
|
/* 02C81160 */ _t63 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C81160 */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C81164 */ _t64 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C81164 */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C81168 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C81168 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C81168 */ if (_t66) goto L_02C8116C; // else: addr-0 trap, fall-through
|
|
L_02C8116C: ; // 0x2c8116c
|
|
/* 02C8116C */ _t67 = cpu->r[1] + 0x000000DCu;
|
|
/* 02C8116C */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C81170 */ cpu->lr = cpu->r[0];
|
|
/* 02C81174 */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
|
|
/* 02C81178 */ return;
|
|
}
|
|
|
|
// fn_02C80F34 @ 0x2c80f34
|
|
void Gambit_fn_02C80F34(CPUState* 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_02C80F34: ; // 0x2c80f34
|
|
/* 02C80F34 */ _t0 = cpu->r[1] + 0xFFFFFF28u;
|
|
/* 02C80F34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C80F34 */ cpu->r[1] = _t0;
|
|
/* 02C80F38 */ _t1 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C80F38 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02C80F3C */ _t2 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C80F3C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C80F40 */ /* nop */
|
|
/* 02C80F44 */ _t3 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C80F44 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02C80F48 */ /* nop */
|
|
/* 02C80F4C */ _t4 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C80F4C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C80F50 */ _t5 = cpu->r[1] + 0x000000DCu;
|
|
/* 02C80F50 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C80F54 */ _t6 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C80F54 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 02C80F58 */ _t7 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C80F58 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02C80F5C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C80F60 */ _t8 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C80F60 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C80F64 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C80F68 */ _t9 = cpu->r[30] + 0x00000014u;
|
|
/* 02C80F68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C80F6C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C80F70 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02C80F70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C80F74 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C80F78 */ _t11 = cpu->r[30] + 0x00000008u;
|
|
/* 02C80F78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C80F7C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80F80 */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C80F80 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C80F84 */ Gambit_fn_02C80BC4(cpu);
|
|
/* 02C80F88 */ _t13 = cpu->r[30] + 0x00000010u;
|
|
/* 02C80F88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C80F8C */ _t14 = cpu->r[1] + 0x00000084u;
|
|
/* 02C80F8C */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 02C80F90 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80F94 */ _t15 = cpu->r[1] + 0x00000020u;
|
|
/* 02C80F94 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C80F98 */ rbrew_dispatch(cpu, 0x02d05878u);
|
|
/* 02C80F9C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80FA0 */ rbrew_dispatch(cpu, 0x02d05ba8u);
|
|
/* 02C80FA4 */ _t16 = cpu->r[30] + 0x00000024u;
|
|
/* 02C80FA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C80FA8 */ _t17 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C80FA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C80FAC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C80FB0 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02C80FB0 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 02C80FB4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02C80FB8 */ _t19 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C80FB8 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02C80FBC */ rbrew_dispatch(cpu, 0x02d05ff0u);
|
|
/* 02C80FC0 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C80FC4 */ _t20 = cpu->r[30] + 0x00000004u;
|
|
/* 02C80FC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C80FC8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C80FCC */ _t21 = cpu->r[11] + 0x00003648u;
|
|
/* 02C80FCC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C80FD0 */ Gambit_fn_02C78E6C(cpu);
|
|
/* 02C80FD4 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C80FD8 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C80FD8 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02C80FDC */ cpu->r[31] = 0x43300000u;
|
|
/* 02C80FE0 */ _t23 = cpu->r[10] + 0x00003650u;
|
|
/* 02C80FE0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 02C80FE4 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80FE4 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
|
|
/* 02C80FE8 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02C80FE8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 02C80FEC */ cpu->f[12] = cpu->f[11] - cpu->f[12];
|
|
/* 02C80FF0 */ _t26 = cpu->r[30] + 0x00000008u;
|
|
/* 02C80FF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C80FF4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C80FF8 */ cpu->f[30] = (double)(float)cpu->f[12];
|
|
/* 02C80FFC */ Gambit_fn_02C78E6C(cpu);
|
|
/* 02C81000 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81000 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02C81004 */ cpu->f[2] = cpu->f[31];
|
|
/* 02C81008 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C8100C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8100C */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
/* 02C81010 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81010 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02C81014 */ cpu->f[3] = cpu->f[30];
|
|
/* 02C81018 */ _t30 = cpu->r[9] + 0x00003650u;
|
|
/* 02C81018 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02C8101C */ cpu->f[5] = cpu->f[31];
|
|
/* 02C81020 */ cpu->f[10] = cpu->f[0] - cpu->f[11];
|
|
/* 02C81024 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C81028 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C8102C */ cpu->f[4] = (double)(float)cpu->f[10];
|
|
/* 02C81030 */ _t31 = cpu->r[8] + 0x00003658u;
|
|
/* 02C81030 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C81034 */ rbrew_dispatch(cpu, 0x02d062b8u);
|
|
/* 02C81038 */ _t32 = cpu->r[30] + 0x00000004u;
|
|
/* 02C81038 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C8103C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C81040 */ Gambit_fn_02C78E6C(cpu);
|
|
/* 02C81044 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81044 */ rbrew_write32(cpu->mem, _t33, cpu->r[31]);
|
|
/* 02C81048 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8104C */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8104C */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
/* 02C81050 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81050 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 02C81054 */ _t36 = cpu->r[12] + 0x00003650u;
|
|
/* 02C81054 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 02C81058 */ cpu->f[10] = cpu->f[0] - cpu->f[13];
|
|
/* 02C8105C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C81060 */ cpu->f[12] = (double)(float)cpu->f[10];
|
|
/* 02C81064 */ _t37 = cpu->r[10] + 0x0000365Cu;
|
|
/* 02C81064 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C81068 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 02C8106C */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8106C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C8106C */ if (_t39) goto L_02C81070; else goto L_02C810E0;
|
|
L_02C81070: ; // 0x2c81070
|
|
/* 02C81070 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[12];
|
|
/* 02C81074 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81078 */ /* nop */
|
|
/* 02C8107C */ _t40 = cpu->r[30] + 0x00000008u;
|
|
/* 02C8107C */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C81080 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C81084 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81084 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C81088 */ Gambit_fn_02C78E6C(cpu);
|
|
/* 02C8108C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C81090 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81090 */ rbrew_write32(cpu->mem, _t42, cpu->r[3]);
|
|
/* 02C81094 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C81098 */ _t43 = cpu->r[12] + 0x00003650u;
|
|
/* 02C81098 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 02C8109C */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8109C */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02C810A0 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02C810A0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t45);
|
|
/* 02C810A4 */ cpu->f[10] = cpu->f[13] - cpu->f[0];
|
|
/* 02C810A8 */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 02C810AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 02C810B0 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C810B0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C810B0 */ if (_t47) goto L_02C8112C; else goto L_02C810B4;
|
|
L_02C810B4: ; // 0x2c810b4
|
|
/* 02C810B4 */ cpu->f[12] = cpu->f[0] - cpu->f[31];
|
|
/* 02C810B8 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[12];
|
|
/* 02C810BC */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C810C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C810C4 */ /* nop */
|
|
/* 02C810C8 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02C810C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C810CC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C810D0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C810D4 */ cpu->r[6] = cpu->r[12] + 0x80000000u;
|
|
/* 02C810D8 */ rbrew_dispatch(cpu, 0x02d061c8u);
|
|
/* 02C810DC */ goto L_02C8114C;
|
|
L_02C810E0: ; // 0x2c810e0
|
|
/* 02C810E0 */ cpu->f[13] = cpu->f[12] - cpu->f[31];
|
|
/* 02C810E4 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 02C810E8 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C810EC */ /* nop */
|
|
/* 02C810F0 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02C810F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C810F4 */ _t50 = cpu->r[30] + 0x00000008u;
|
|
/* 02C810F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C810F8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C810FC */ cpu->r[31] = cpu->r[9] + 0x80000000u;
|
|
/* 02C81100 */ Gambit_fn_02C78E6C(cpu);
|
|
/* 02C81104 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C81108 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81108 */ rbrew_write32(cpu->mem, _t51, cpu->r[3]);
|
|
/* 02C8110C */ cpu->r[0] = 0x43300000u;
|
|
/* 02C81110 */ _t52 = cpu->r[12] + 0x00003650u;
|
|
/* 02C81110 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 02C81114 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81114 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02C81118 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81118 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 02C8111C */ cpu->f[10] = cpu->f[13] - cpu->f[0];
|
|
/* 02C81120 */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 02C81124 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 02C81128 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C81128 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C81128 */ if (_t56) goto L_02C8112C; else goto L_02C810B4;
|
|
L_02C8112C: ; // 0x2c8112c
|
|
/* 02C8112C */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 02C81130 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81134 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C81138 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C8113C */ /* nop */
|
|
/* 02C81140 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81140 */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C81144 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C81148 */ rbrew_dispatch(cpu, 0x02d061c8u);
|
|
L_02C8114C: ; // 0x2c8114c
|
|
/* 02C8114C */ _t58 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C8114C */ cpu->r[29] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C81150 */ _t59 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C81150 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C81154 */ _t60 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C81154 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02C81158 */ _t61 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C81158 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 02C8115C */ _t62 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C8115C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t62);
|
|
/* 02C81160 */ _t63 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C81160 */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C81164 */ _t64 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C81164 */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C81168 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C81168 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C81168 */ if (_t66) goto L_02C8116C; // else: addr-0 trap, fall-through
|
|
L_02C8116C: ; // 0x2c8116c
|
|
/* 02C8116C */ _t67 = cpu->r[1] + 0x000000DCu;
|
|
/* 02C8116C */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C81170 */ cpu->lr = cpu->r[0];
|
|
/* 02C81174 */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
|
|
/* 02C81178 */ return;
|
|
}
|
|
|
|
// fn_02C8117C @ 0x2c8117c
|
|
void Gambit_fn_02C8117C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C8117C: ; // 0x2c8117c
|
|
/* 02C8117C */ cpu->r[0] = cpu->lr;
|
|
/* 02C81180 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C81180 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81180 */ cpu->r[1] = _t0;
|
|
/* 02C81184 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81184 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C81188 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C81188 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C8118C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C81190 */ cpu->r[5] = cpu->r[7];
|
|
/* 02C81194 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81194 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C81198 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C8119C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8119C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C811A0 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C811A4 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C811A8 */ Gambit_fn_02C80E1C(cpu);
|
|
/* 02C811AC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C811B0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C811B4 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C811B8 */ Gambit_fn_02C80F30(cpu);
|
|
/* 02C811BC */ cpu->r[4] = 0x00000002u;
|
|
/* 02C811C0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C811C4 */ Gambit_fn_02C76C60(cpu);
|
|
/* 02C811C8 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C811CC */ Gambit_fn_02C8137C(cpu);
|
|
/* 02C811D0 */ cpu->r[4] = 0x00000010u;
|
|
/* 02C811D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C811D8 */ Gambit_fn_02C76C60(cpu);
|
|
/* 02C811DC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C811DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C811E0 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C811E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C811E4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C811E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C811E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C811EC */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02C811EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C811F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C811F4 */ return;
|
|
}
|
|
|
|
// fn_02C81180 @ 0x2c81180
|
|
void Gambit_fn_02C81180(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C81180: ; // 0x2c81180
|
|
/* 02C81180 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C81180 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81180 */ cpu->r[1] = _t0;
|
|
/* 02C81184 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81184 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C81188 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C81188 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C8118C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C81190 */ cpu->r[5] = cpu->r[7];
|
|
/* 02C81194 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81194 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C81198 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C8119C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8119C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C811A0 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C811A4 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C811A8 */ Gambit_fn_02C80E1C(cpu);
|
|
/* 02C811AC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C811B0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C811B4 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C811B8 */ Gambit_fn_02C80F30(cpu);
|
|
/* 02C811BC */ cpu->r[4] = 0x00000002u;
|
|
/* 02C811C0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C811C4 */ Gambit_fn_02C76C60(cpu);
|
|
/* 02C811C8 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C811CC */ Gambit_fn_02C8137C(cpu);
|
|
/* 02C811D0 */ cpu->r[4] = 0x00000010u;
|
|
/* 02C811D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C811D8 */ Gambit_fn_02C76C60(cpu);
|
|
/* 02C811DC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C811DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C811E0 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C811E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C811E4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C811E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C811E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C811EC */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02C811EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C811F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C811F4 */ return;
|
|
}
|
|
|
|
// fn_02C81200 @ 0x2c81200
|
|
void Gambit_fn_02C81200(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C81200: ; // 0x2c81200
|
|
/* 02C81200 */ cpu->r[0] = cpu->lr;
|
|
/* 02C81204 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C81204 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C81208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C8120C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C8120C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C8120C */ cpu->r[1] = _t1;
|
|
/* 02C81210 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81210 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C81210 */ if (_t3) goto L_02C81214; else goto L_02C81224;
|
|
L_02C81214: ; // 0x2c81214
|
|
/* 02C81214 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C81218 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C8121C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81220 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81220 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C81220 */ if (_t5) goto L_02C81230; else goto L_02C81224;
|
|
L_02C81224: ; // 0x2c81224
|
|
/* 02C81224 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C81228 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02C81228 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C8122C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C8122C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_02C81230: ; // 0x2c81230
|
|
/* 02C81230 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C81234 */ cpu->lr = cpu->r[0];
|
|
/* 02C81238 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C8123C */ return;
|
|
}
|
|
|
|
// fn_02C8120C @ 0x2c8120c
|
|
void Gambit_fn_02C8120C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C8120C: ; // 0x2c8120c
|
|
/* 02C8120C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C8120C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8120C */ cpu->r[1] = _t0;
|
|
/* 02C81210 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81210 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C81210 */ if (_t2) goto L_02C81214; else goto L_02C81224;
|
|
L_02C81214: ; // 0x2c81214
|
|
/* 02C81214 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C81218 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C8121C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81220 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81220 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C81220 */ if (_t4) goto L_02C81230; else goto L_02C81224;
|
|
L_02C81224: ; // 0x2c81224
|
|
/* 02C81224 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C81228 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02C81228 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C8122C */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C8122C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02C81230: ; // 0x2c81230
|
|
/* 02C81230 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C81234 */ cpu->lr = cpu->r[0];
|
|
/* 02C81238 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C8123C */ return;
|
|
}
|
|
|
|
// fn_02C81240 @ 0x2c81240
|
|
void Gambit_fn_02C81240(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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 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 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) 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 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C81240: ; // 0x2c81240
|
|
/* 02C81240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81244 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81244 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C81244 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C81244 */ goto L_02C81248;
|
|
L_02C81248: ; // 0x2c81248
|
|
/* 02C81248 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C81248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C8124C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8124C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C8124C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C8124C */ goto L_02C81250;
|
|
L_02C81250: ; // 0x2c81250
|
|
/* 02C81250 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C81254 @ 0x2c81254
|
|
void Gambit_fn_02C81254(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C81254: ; // 0x2c81254
|
|
/* 02C81254 */ cpu->r[0] = cpu->lr;
|
|
/* 02C81258 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C81258 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81258 */ cpu->r[1] = _t0;
|
|
/* 02C8125C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8125C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C81260 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81260 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C81264 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C81268 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C8126C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C81270 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C81274 */ cpu->r[5] = 0x00000040u;
|
|
/* 02C81278 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81278 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C8127C */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C81280 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C81284 */ cpu->r[5] = 0x00000040u;
|
|
/* 02C81288 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C81288 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02C8128C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C81290 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C81294 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02C81294 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C81298 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C8129C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C8129C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C812A0 */ cpu->r[4] = cpu->r[4] + 0x00003660u;
|
|
/* 02C812A4 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C812A8 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C812AC */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C812B0 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02C812B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C812B4 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C812B8 */ cpu->r[4] = cpu->r[4] + 0x00003680u;
|
|
/* 02C812BC */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C812C0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C812C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C812C4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C812C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C812C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C812CC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C812CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C812D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C812D4 */ return;
|
|
}
|
|
|
|
// fn_02C81258 @ 0x2c81258
|
|
void Gambit_fn_02C81258(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C81258: ; // 0x2c81258
|
|
/* 02C81258 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C81258 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81258 */ cpu->r[1] = _t0;
|
|
/* 02C8125C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8125C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C81260 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81260 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C81264 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C81268 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C8126C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C81270 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C81274 */ cpu->r[5] = 0x00000040u;
|
|
/* 02C81278 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81278 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C8127C */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C81280 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C81284 */ cpu->r[5] = 0x00000040u;
|
|
/* 02C81288 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C81288 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02C8128C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C81290 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C81294 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02C81294 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C81298 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C8129C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C8129C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C812A0 */ cpu->r[4] = cpu->r[4] + 0x00003660u;
|
|
/* 02C812A4 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C812A8 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C812AC */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C812B0 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02C812B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C812B4 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C812B8 */ cpu->r[4] = cpu->r[4] + 0x00003680u;
|
|
/* 02C812BC */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C812C0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C812C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C812C4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C812C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C812C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C812CC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C812CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C812D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C812D4 */ return;
|
|
}
|
|
|
|
// fn_02C812D8 @ 0x2c812d8
|
|
void Gambit_fn_02C812D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C812D8: ; // 0x2c812d8
|
|
/* 02C812D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C812DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C812DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C812DC */ cpu->r[1] = _t0;
|
|
/* 02C812E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C812E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C812E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C812E8 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C812EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C812EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C812F0 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C812F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C812F4 */ cpu->r[3] = 0x00000041u;
|
|
/* 02C812F8 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C812FC */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C812FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C81300 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C81304 */ cpu->r[3] = 0x00000041u;
|
|
/* 02C81308 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C8130C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8130C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C81310 */ cpu->lr = cpu->r[0];
|
|
/* 02C81314 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81314 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C81318 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8131C */ return;
|
|
}
|
|
|
|
// fn_02C812DC @ 0x2c812dc
|
|
void Gambit_fn_02C812DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C812DC: ; // 0x2c812dc
|
|
/* 02C812DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C812DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C812DC */ cpu->r[1] = _t0;
|
|
/* 02C812E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C812E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C812E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C812E8 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C812EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C812EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C812F0 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C812F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C812F4 */ cpu->r[3] = 0x00000041u;
|
|
/* 02C812F8 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C812FC */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C812FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C81300 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C81304 */ cpu->r[3] = 0x00000041u;
|
|
/* 02C81308 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C8130C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8130C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C81310 */ cpu->lr = cpu->r[0];
|
|
/* 02C81314 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81314 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C81318 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8131C */ return;
|
|
}
|
|
|
|
// fn_02C81320 @ 0x2c81320
|
|
void Gambit_fn_02C81320(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C81320: ; // 0x2c81320
|
|
/* 02C81320 */ cpu->r[0] = cpu->lr;
|
|
/* 02C81324 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C81324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81324 */ cpu->r[1] = _t0;
|
|
/* 02C81328 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81328 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C8132C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C81330 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81330 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C81334 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C81338 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C8133C */ cpu->r[5] = 0x00000008u;
|
|
/* 02C81340 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81340 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C81344 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C81344 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C81348 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C8134C */ rbrew_dispatch(cpu, 0x02d05fb0u);
|
|
/* 02C81350 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02C81350 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C81354 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C81358 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C8135C */ cpu->r[5] = 0x00000008u;
|
|
/* 02C81360 */ rbrew_dispatch(cpu, 0x02d05fb0u);
|
|
/* 02C81364 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C81368 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8136C */ cpu->lr = cpu->r[0];
|
|
/* 02C81370 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81370 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C81374 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C81378 */ return;
|
|
}
|
|
|
|
// fn_02C81324 @ 0x2c81324
|
|
void Gambit_fn_02C81324(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C81324: ; // 0x2c81324
|
|
/* 02C81324 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C81324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81324 */ cpu->r[1] = _t0;
|
|
/* 02C81328 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81328 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C8132C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C81330 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81330 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C81334 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C81338 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C8133C */ cpu->r[5] = 0x00000008u;
|
|
/* 02C81340 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81340 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C81344 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C81344 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C81348 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C8134C */ rbrew_dispatch(cpu, 0x02d05fb0u);
|
|
/* 02C81350 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02C81350 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C81354 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C81358 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C8135C */ cpu->r[5] = 0x00000008u;
|
|
/* 02C81360 */ rbrew_dispatch(cpu, 0x02d05fb0u);
|
|
/* 02C81364 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C81368 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8136C */ cpu->lr = cpu->r[0];
|
|
/* 02C81370 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81370 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C81374 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C81378 */ return;
|
|
}
|
|
|
|
// fn_02C8137C @ 0x2c8137c
|
|
void Gambit_fn_02C8137C(CPUState* cpu) {
|
|
L_02C8137C: ; // 0x2c8137c
|
|
/* 02C8137C */ cpu->r[6] = 0x00000001u;
|
|
/* 02C81380 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C81384 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C81388 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C8138C */ rbrew_dispatch(cpu, 0x02d05920u); return;
|
|
}
|
|
|
|
// fn_02C81390 @ 0x2c81390
|
|
void Gambit_fn_02C81390(CPUState* cpu) {
|
|
L_02C81390: ; // 0x2c81390
|
|
/* 02C81390 */ cpu->r[3] = 0x000000C0u;
|
|
/* 02C81394 */ return;
|
|
}
|
|
|
|
// fn_02C81398 @ 0x2c81398
|
|
void Gambit_fn_02C81398(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C81398: ; // 0x2c81398
|
|
/* 02C81398 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8139C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C8139C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8139C */ cpu->r[1] = _t0;
|
|
/* 02C813A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C813A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C813A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C813A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C813A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C813A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C813AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C813AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C813AC */ if (_t4) goto L_02C813B0; else goto L_02C813C0;
|
|
L_02C813B0: ; // 0x2c813b0
|
|
/* 02C813B0 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02C813B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C813B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C813B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C813BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C813BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C813BC */ if (_t6) goto L_02C813F8; else goto L_02C813C0;
|
|
L_02C813C0: ; // 0x2c813c0
|
|
/* 02C813C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C813C4 */ cpu->r[4] = 0x00000024u;
|
|
/* 02C813C8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C813CC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02C813D0 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C813D4 */ cpu->r[11] = cpu->r[11] + 0xFFFFC160u;
|
|
/* 02C813D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C813DC */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02C813DC */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02C813E0 */ cpu->r[12] = cpu->r[12] + 0xFFFFC294u;
|
|
/* 02C813E4 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C813E8 */ _t8 = cpu->r[31] + 0x00000028u;
|
|
/* 02C813E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C813EC */ Gambit_fn_02C89380(cpu);
|
|
/* 02C813F0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C813F4 */ _t9 = cpu->r[31] + 0x00000038u;
|
|
/* 02C813F4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02C813F8: ; // 0x2c813f8
|
|
/* 02C813F8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C813F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C813FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C81400 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81400 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C81404 */ cpu->lr = cpu->r[0];
|
|
/* 02C81408 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8140C */ return;
|
|
}
|
|
|
|
// fn_02C8139C @ 0x2c8139c
|
|
void Gambit_fn_02C8139C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C8139C: ; // 0x2c8139c
|
|
/* 02C8139C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C8139C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8139C */ cpu->r[1] = _t0;
|
|
/* 02C813A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C813A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C813A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C813A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C813A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C813A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C813AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C813AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C813AC */ if (_t4) goto L_02C813B0; else goto L_02C813C0;
|
|
L_02C813B0: ; // 0x2c813b0
|
|
/* 02C813B0 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02C813B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C813B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C813B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C813BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C813BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C813BC */ if (_t6) goto L_02C813F8; else goto L_02C813C0;
|
|
L_02C813C0: ; // 0x2c813c0
|
|
/* 02C813C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C813C4 */ cpu->r[4] = 0x00000024u;
|
|
/* 02C813C8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C813CC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02C813D0 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C813D4 */ cpu->r[11] = cpu->r[11] + 0xFFFFC160u;
|
|
/* 02C813D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C813DC */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02C813DC */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02C813E0 */ cpu->r[12] = cpu->r[12] + 0xFFFFC294u;
|
|
/* 02C813E4 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C813E8 */ _t8 = cpu->r[31] + 0x00000028u;
|
|
/* 02C813E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C813EC */ Gambit_fn_02C89380(cpu);
|
|
/* 02C813F0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C813F4 */ _t9 = cpu->r[31] + 0x00000038u;
|
|
/* 02C813F4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02C813F8: ; // 0x2c813f8
|
|
/* 02C813F8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C813F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C813FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C81400 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81400 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C81404 */ cpu->lr = cpu->r[0];
|
|
/* 02C81408 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8140C */ return;
|
|
}
|
|
|
|
// fn_02C81410 @ 0x2c81410
|
|
void Gambit_fn_02C81410(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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 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 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) 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 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C81410: ; // 0x2c81410
|
|
/* 02C81410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81414 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81414 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C81414 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C81414 */ goto L_02C81418;
|
|
L_02C81418: ; // 0x2c81418
|
|
/* 02C81418 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C81418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C8141C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8141C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C8141C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C8141C */ goto L_02C81420;
|
|
L_02C81420: ; // 0x2c81420
|
|
/* 02C81420 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C81424 @ 0x2c81424
|
|
void Gambit_fn_02C81424(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C81424: ; // 0x2c81424
|
|
/* 02C81424 */ cpu->r[0] = cpu->lr;
|
|
/* 02C81428 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C81428 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81428 */ cpu->r[1] = _t0;
|
|
/* 02C8142C */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8142C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C81430 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C81434 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81438 */ cpu->r[5] = 0x00000002u;
|
|
/* 02C8143C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02C8143C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C81440 */ Gambit_fn_02C7EBA0(cpu);
|
|
/* 02C81444 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C81448 */ _t3 = cpu->r[31] + 0x00000024u;
|
|
/* 02C81448 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C8144C */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C81450 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81454 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C81458 */ cpu->r[6] = cpu->r[6] + 0xFFFFC3A0u;
|
|
/* 02C8145C */ cpu->r[8] = 0x00000000u;
|
|
/* 02C81460 */ Gambit_fn_02C7E41C(cpu);
|
|
/* 02C81464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81468 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81468 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C81468 */ if (_t5) goto L_02C81488; else goto L_02C8146C;
|
|
L_02C8146C: ; // 0x2c8146c
|
|
/* 02C8146C */ cpu->r[5] = 0x101D0000u;
|
|
/* 02C81470 */ _t6 = cpu->r[31] + 0x00000028u;
|
|
/* 02C81470 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C81474 */ _t7 = cpu->r[5] + 0xFFFFC37Cu;
|
|
/* 02C81474 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C81478 */ cpu->r[3] = cpu->r[31] + 0x00000038u;
|
|
/* 02C8147C */ Gambit_fn_02C7EA54(cpu);
|
|
/* 02C81480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81484 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81484 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C81484 */ if (_t9) goto L_02C81488; else goto L_02C814A0;
|
|
L_02C81488: ; // 0x2c81488
|
|
/* 02C81488 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02C81488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C8148C */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8148C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C81490 */ cpu->lr = cpu->r[0];
|
|
/* 02C81494 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C81498 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C8149C */ return;
|
|
L_02C814A0: ; // 0x2c814a0
|
|
/* 02C814A0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C814A4 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C814A8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C814AC */ rbrew_dispatch(cpu, 0x02d05c20u);
|
|
/* 02C814B0 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02C814B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C814B4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C814B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C814B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C814BC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C814C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C814C4 */ return;
|
|
}
|
|
|
|
// fn_02C81428 @ 0x2c81428
|
|
void Gambit_fn_02C81428(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C81428: ; // 0x2c81428
|
|
/* 02C81428 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C81428 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81428 */ cpu->r[1] = _t0;
|
|
/* 02C8142C */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8142C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C81430 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C81434 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81438 */ cpu->r[5] = 0x00000002u;
|
|
/* 02C8143C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02C8143C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C81440 */ Gambit_fn_02C7EBA0(cpu);
|
|
/* 02C81444 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C81448 */ _t3 = cpu->r[31] + 0x00000024u;
|
|
/* 02C81448 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C8144C */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C81450 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81454 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C81458 */ cpu->r[6] = cpu->r[6] + 0xFFFFC3A0u;
|
|
/* 02C8145C */ cpu->r[8] = 0x00000000u;
|
|
/* 02C81460 */ Gambit_fn_02C7E41C(cpu);
|
|
/* 02C81464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81468 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81468 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C81468 */ if (_t5) goto L_02C81488; else goto L_02C8146C;
|
|
L_02C8146C: ; // 0x2c8146c
|
|
/* 02C8146C */ cpu->r[5] = 0x101D0000u;
|
|
/* 02C81470 */ _t6 = cpu->r[31] + 0x00000028u;
|
|
/* 02C81470 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C81474 */ _t7 = cpu->r[5] + 0xFFFFC37Cu;
|
|
/* 02C81474 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C81478 */ cpu->r[3] = cpu->r[31] + 0x00000038u;
|
|
/* 02C8147C */ Gambit_fn_02C7EA54(cpu);
|
|
/* 02C81480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81484 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81484 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C81484 */ if (_t9) goto L_02C81488; else goto L_02C814A0;
|
|
L_02C81488: ; // 0x2c81488
|
|
/* 02C81488 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02C81488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C8148C */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8148C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C81490 */ cpu->lr = cpu->r[0];
|
|
/* 02C81494 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C81498 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C8149C */ return;
|
|
L_02C814A0: ; // 0x2c814a0
|
|
/* 02C814A0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C814A4 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C814A8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C814AC */ rbrew_dispatch(cpu, 0x02d05c20u);
|
|
/* 02C814B0 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02C814B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C814B4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C814B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C814B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C814BC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C814C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C814C4 */ return;
|
|
}
|
|
|
|
// fn_02C814C8 @ 0x2c814c8
|
|
void Gambit_fn_02C814C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C814C8: ; // 0x2c814c8
|
|
/* 02C814C8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C814CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C814CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C814CC */ cpu->r[1] = _t0;
|
|
/* 02C814D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C814D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C814D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C814D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C814D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C814DC */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02C814DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C814E0 */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C814E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C814E4 */ Gambit_fn_02C76CCC(cpu);
|
|
/* 02C814E8 */ _t5 = cpu->r[31] + 0x00000024u;
|
|
/* 02C814E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C814EC */ _t6 = cpu->r[12] + 0x000000D4u;
|
|
/* 02C814EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C814F0 */ _t7 = cpu->r[12] + 0x000000D0u;
|
|
/* 02C814F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C814F4 */ Gambit_fn_02C76CCC(cpu);
|
|
/* 02C814F8 */ _t8 = cpu->r[31] + 0x00000028u;
|
|
/* 02C814F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C814FC */ _t9 = cpu->r[12] + 0x000000A8u;
|
|
/* 02C814FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C81500 */ _t10 = cpu->r[12] + 0x000000A4u;
|
|
/* 02C81500 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C81504 */ Gambit_fn_02C76CCC(cpu);
|
|
/* 02C81508 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C8150C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8150C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C81510 */ cpu->lr = cpu->r[0];
|
|
/* 02C81514 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C81518 */ return;
|
|
}
|
|
|
|
// fn_02C814CC @ 0x2c814cc
|
|
void Gambit_fn_02C814CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C814CC: ; // 0x2c814cc
|
|
/* 02C814CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C814CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C814CC */ cpu->r[1] = _t0;
|
|
/* 02C814D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C814D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C814D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C814D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C814D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C814DC */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02C814DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C814E0 */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C814E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C814E4 */ Gambit_fn_02C76CCC(cpu);
|
|
/* 02C814E8 */ _t5 = cpu->r[31] + 0x00000024u;
|
|
/* 02C814E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C814EC */ _t6 = cpu->r[12] + 0x000000D4u;
|
|
/* 02C814EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C814F0 */ _t7 = cpu->r[12] + 0x000000D0u;
|
|
/* 02C814F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C814F4 */ Gambit_fn_02C76CCC(cpu);
|
|
/* 02C814F8 */ _t8 = cpu->r[31] + 0x00000028u;
|
|
/* 02C814F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C814FC */ _t9 = cpu->r[12] + 0x000000A8u;
|
|
/* 02C814FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C81500 */ _t10 = cpu->r[12] + 0x000000A4u;
|
|
/* 02C81500 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C81504 */ Gambit_fn_02C76CCC(cpu);
|
|
/* 02C81508 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C8150C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8150C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C81510 */ cpu->lr = cpu->r[0];
|
|
/* 02C81514 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C81518 */ return;
|
|
}
|
|
|
|
// fn_02C8151C @ 0x2c8151c
|
|
void Gambit_fn_02C8151C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C8151C: ; // 0x2c8151c
|
|
/* 02C8151C */ cpu->r[0] = cpu->lr;
|
|
/* 02C81520 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C81520 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81520 */ cpu->r[1] = _t0;
|
|
/* 02C81524 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81524 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C81528 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81528 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C8152C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8152C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C81530 */ _t4 = cpu->r[3] + 0x00000024u;
|
|
/* 02C81530 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C81534 */ _t5 = cpu->r[3] + 0x00000028u;
|
|
/* 02C81534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C81538 */ rbrew_dispatch(cpu, 0x02d060b0u);
|
|
/* 02C8153C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C81540 */ rbrew_dispatch(cpu, 0x02d06290u);
|
|
/* 02C81544 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C81548 */ rbrew_dispatch(cpu, 0x02d06148u);
|
|
/* 02C8154C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8154C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C81550 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81550 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C81554 */ cpu->lr = cpu->r[0];
|
|
/* 02C81558 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81558 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C8155C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C81560 */ return;
|
|
}
|
|
|
|
// fn_02C81520 @ 0x2c81520
|
|
void Gambit_fn_02C81520(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C81520: ; // 0x2c81520
|
|
/* 02C81520 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C81520 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81520 */ cpu->r[1] = _t0;
|
|
/* 02C81524 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81524 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C81528 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81528 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C8152C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8152C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C81530 */ _t4 = cpu->r[3] + 0x00000024u;
|
|
/* 02C81530 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C81534 */ _t5 = cpu->r[3] + 0x00000028u;
|
|
/* 02C81534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C81538 */ rbrew_dispatch(cpu, 0x02d060b0u);
|
|
/* 02C8153C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C81540 */ rbrew_dispatch(cpu, 0x02d06290u);
|
|
/* 02C81544 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C81548 */ rbrew_dispatch(cpu, 0x02d06148u);
|
|
/* 02C8154C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8154C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C81550 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81550 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C81554 */ cpu->lr = cpu->r[0];
|
|
/* 02C81558 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81558 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C8155C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C81560 */ return;
|
|
}
|
|
|
|
// fn_02C81564 @ 0x2c81564
|
|
void Gambit_fn_02C81564(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C81564: ; // 0x2c81564
|
|
/* 02C81564 */ cpu->r[0] = cpu->lr;
|
|
/* 02C81568 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C81568 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81568 */ cpu->r[1] = _t0;
|
|
/* 02C8156C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C8156C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C81570 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81570 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C81574 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C81578 */ _t3 = cpu->r[12] + 0x00003B00u;
|
|
/* 02C81578 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C8157C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8157C */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C81580 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C81580 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C81584 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C81588 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81588 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C8158C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8158C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C81590 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02C81594 */ cpu->f[1] = (double)(float)cpu->f[0];
|
|
/* 02C81598 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8159C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C815A0 */ cpu->f[2] = cpu->f[1];
|
|
/* 02C815A4 */ _t8 = cpu->r[12] + 0x00003B08u;
|
|
/* 02C815A4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C815A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C815AC */ cpu->r[3] = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C815B0 */ rbrew_dispatch(cpu, 0x02d05c48u);
|
|
/* 02C815B4 */ _t9 = cpu->r[30] + 0x00000038u;
|
|
/* 02C815B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C815B8 */ cpu->r[3] = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C815BC */ rbrew_dispatch(cpu, 0x02d06138u);
|
|
/* 02C815C0 */ _t10 = cpu->r[30] + 0x00000038u;
|
|
/* 02C815C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C815C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C815C8 */ rbrew_dispatch(cpu, 0x02d06150u);
|
|
/* 02C815CC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C815CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C815D0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C815D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C815D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C815D8 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C815D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C815DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C815E0 */ return;
|
|
}
|
|
|
|
// fn_02C81568 @ 0x2c81568
|
|
void Gambit_fn_02C81568(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C81568: ; // 0x2c81568
|
|
/* 02C81568 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C81568 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81568 */ cpu->r[1] = _t0;
|
|
/* 02C8156C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C8156C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C81570 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81570 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C81574 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C81578 */ _t3 = cpu->r[12] + 0x00003B00u;
|
|
/* 02C81578 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C8157C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8157C */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C81580 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C81580 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C81584 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C81588 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81588 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C8158C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8158C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C81590 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02C81594 */ cpu->f[1] = (double)(float)cpu->f[0];
|
|
/* 02C81598 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8159C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C815A0 */ cpu->f[2] = cpu->f[1];
|
|
/* 02C815A4 */ _t8 = cpu->r[12] + 0x00003B08u;
|
|
/* 02C815A4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C815A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C815AC */ cpu->r[3] = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C815B0 */ rbrew_dispatch(cpu, 0x02d05c48u);
|
|
/* 02C815B4 */ _t9 = cpu->r[30] + 0x00000038u;
|
|
/* 02C815B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C815B8 */ cpu->r[3] = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C815BC */ rbrew_dispatch(cpu, 0x02d06138u);
|
|
/* 02C815C0 */ _t10 = cpu->r[30] + 0x00000038u;
|
|
/* 02C815C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C815C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C815C8 */ rbrew_dispatch(cpu, 0x02d06150u);
|
|
/* 02C815CC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C815CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C815D0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C815D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C815D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C815D8 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C815D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C815DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C815E0 */ return;
|
|
}
|
|
|
|
// fn_02C815E4 @ 0x2c815e4
|
|
void Gambit_fn_02C815E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C7E3D8: ; // 0x2c7e3d8
|
|
/* 02C7E3D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E3DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7E3DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E3DC */ cpu->r[1] = _t0;
|
|
/* 02C7E3E0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E3E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C7E3E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C7E3E8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E3E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7E3EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E3EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C7E3F0 */ Gambit_fn_02C7E250(cpu);
|
|
/* 02C7E3F4 */ cpu->r[31] = cpu->r[3] + 0x00000100u;
|
|
/* 02C7E3F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C7E3FC */ Gambit_fn_02C7E2F4(cpu);
|
|
/* 02C7E400 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7E404 */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02C7E408 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E408 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7E40C */ cpu->lr = cpu->r[0];
|
|
/* 02C7E410 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E410 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E414 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E418 */ return;
|
|
L_02C815E4: ; // 0x2c815e4
|
|
/* 02C815E4 */ cpu->r[3] = 0x00000002u;
|
|
/* 02C815E8 */ goto L_02C7E3D8;
|
|
}
|
|
|
|
// fn_02C815EC @ 0x2c815ec
|
|
void Gambit_fn_02C815EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C815EC: ; // 0x2c815ec
|
|
/* 02C815EC */ cpu->r[10] = 0x00000000u;
|
|
/* 02C815F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]);
|
|
/* 02C815F4 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C815F4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C815F4 */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 02C815F4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C815F4 */ goto L_02C815F8;
|
|
L_02C815F8: ; // 0x2c815f8
|
|
/* 02C815F8 */ cpu->r[12] = 0x00000000u;
|
|
L_02C815FC: ; // 0x2c815fc
|
|
/* 02C815FC */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x00000010u);
|
|
/* 02C815FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C81600 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81600 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C81600 */ if (_t4) goto L_02C81620; else goto L_02C81604;
|
|
L_02C81604: ; // 0x2c81604
|
|
/* 02C81604 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C81608 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C8160C */ cpu->r[3] = cpu->r[11] ^ 0x00001021u;
|
|
/* 02C81610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000008u);
|
|
/* 02C81614 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C81618 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C81618 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C81618 */ if (_t6) goto L_02C815FC; else goto L_02C8161C;
|
|
L_02C8161C: ; // 0x2c8161c
|
|
/* 02C8161C */ goto L_02C81630;
|
|
L_02C81620: ; // 0x2c81620
|
|
/* 02C81620 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C81624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000008u);
|
|
/* 02C81628 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C8162C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8162C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C8162C */ if (_t8) goto L_02C815FC; else goto L_02C81630;
|
|
L_02C81630: ; // 0x2c81630
|
|
/* 02C81630 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02C81630 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C81634 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C81638 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C8163C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]);
|
|
/* 02C81640 */ cpu->r[3] = cpu->r[3] ^ cpu->r[0];
|
|
/* 02C81644 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C81644 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C81644 */ if (_t11) goto L_02C815F8; else goto L_02C81648;
|
|
L_02C81648: ; // 0x2c81648
|
|
/* 02C81648 */ return;
|
|
}
|
|
|
|
// fn_02C8165C @ 0x2c8165c
|
|
void Gambit_fn_02C8165C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C8165C: ; // 0x2c8165c
|
|
/* 02C8165C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C8165C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8165C */ cpu->r[1] = _t0;
|
|
/* 02C81660 */ _t1 = cpu->r[8] + 0xFFFFFFFEu;
|
|
/* 02C81660 */ rbrew_write16(cpu->mem, _t1, (uint16_t)cpu->r[0]);
|
|
/* 02C81664 */ Gambit_fn_02C815EC(cpu);
|
|
/* 02C81668 */ _t2 = cpu->r[8] + 0xFFFFFFFEu;
|
|
/* 02C81668 */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[3]);
|
|
/* 02C8166C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8166C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C81670 */ cpu->lr = cpu->r[0];
|
|
/* 02C81674 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81678 */ return;
|
|
}
|
|
|
|
// fn_02C8167C @ 0x2c8167c
|
|
void Gambit_fn_02C8167C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C8167C: ; // 0x2c8167c
|
|
/* 02C8167C */ cpu->r[0] = cpu->lr;
|
|
/* 02C81680 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81684 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C81688 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C81688 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C8168C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C81690 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C81690 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C81690 */ cpu->r[1] = _t1;
|
|
/* 02C81694 */ Gambit_fn_02C815EC(cpu);
|
|
/* 02C81698 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C8169C */ cpu->r[12] = rbrew_clz32(cpu->r[3]);
|
|
/* 02C816A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C816A4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C816A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C816AC */ return;
|
|
}
|
|
|
|
// fn_02C81690 @ 0x2c81690
|
|
void Gambit_fn_02C81690(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C81690: ; // 0x2c81690
|
|
/* 02C81690 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C81690 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81690 */ cpu->r[1] = _t0;
|
|
/* 02C81694 */ Gambit_fn_02C815EC(cpu);
|
|
/* 02C81698 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C8169C */ cpu->r[12] = rbrew_clz32(cpu->r[3]);
|
|
/* 02C816A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C816A4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C816A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C816AC */ return;
|
|
}
|
|
|
|
// fn_02C816B0 @ 0x2c816b0
|
|
void Gambit_fn_02C816B0(CPUState* cpu) {
|
|
L_02C816B0: ; // 0x2c816b0
|
|
/* 02C816B0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000038u);
|
|
/* 02C816B4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C816B8 */ cpu->r[12] = cpu->r[12] + 0x00003B60u;
|
|
/* 02C816BC */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C816C0 */ return;
|
|
}
|
|
|
|
// fn_02C816C4 @ 0x2c816c4
|
|
void Gambit_fn_02C816C4(CPUState* cpu) {
|
|
L_02C816C4: ; // 0x2c816c4
|
|
/* 02C816C4 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C816C8 */ cpu->r[3] = cpu->r[3] + 0x00003B0Cu;
|
|
/* 02C816CC */ return;
|
|
}
|
|
|
|
// fn_02C816D0 @ 0x2c816d0
|
|
void Gambit_fn_02C816D0(CPUState* cpu) {
|
|
L_02C816D0: ; // 0x2c816d0
|
|
/* 02C816D0 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C816D4 */ cpu->r[3] = cpu->r[3] + 0x00003B4Cu;
|
|
/* 02C816D8 */ return;
|
|
}
|
|
|
|
// fn_02C816DC @ 0x2c816dc
|
|
void Gambit_fn_02C816DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C816DC: ; // 0x2c816dc
|
|
/* 02C816DC */ cpu->r[0] = cpu->lr;
|
|
/* 02C816E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C816E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C816E0 */ cpu->r[1] = _t0;
|
|
/* 02C816E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C816E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C816E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C816E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C816EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C816EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C816F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C816F0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C816F0 */ if (_t4) goto L_02C816F4; else goto L_02C81704;
|
|
L_02C816F4: ; // 0x2c816f4
|
|
/* 02C816F4 */ cpu->r[3] = 0x00000010u;
|
|
/* 02C816F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C816FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C816FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C81700 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81700 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C81700 */ if (_t6) goto L_02C81710; else goto L_02C81704;
|
|
L_02C81704: ; // 0x2c81704
|
|
/* 02C81704 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C81708 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C8170C */ Gambit_fn_02C89B44(cpu);
|
|
L_02C81710: ; // 0x2c81710
|
|
/* 02C81710 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C81714 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C81718 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81718 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C8171C */ cpu->lr = cpu->r[0];
|
|
/* 02C81720 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C81724 */ return;
|
|
}
|
|
|
|
// fn_02C816E0 @ 0x2c816e0
|
|
void Gambit_fn_02C816E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C816E0: ; // 0x2c816e0
|
|
/* 02C816E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C816E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C816E0 */ cpu->r[1] = _t0;
|
|
/* 02C816E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C816E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C816E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C816E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C816EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C816EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C816F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C816F0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C816F0 */ if (_t4) goto L_02C816F4; else goto L_02C81704;
|
|
L_02C816F4: ; // 0x2c816f4
|
|
/* 02C816F4 */ cpu->r[3] = 0x00000010u;
|
|
/* 02C816F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C816FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C816FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C81700 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81700 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C81700 */ if (_t6) goto L_02C81710; else goto L_02C81704;
|
|
L_02C81704: ; // 0x2c81704
|
|
/* 02C81704 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C81708 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C8170C */ Gambit_fn_02C89B44(cpu);
|
|
L_02C81710: ; // 0x2c81710
|
|
/* 02C81710 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C81714 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C81718 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81718 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C8171C */ cpu->lr = cpu->r[0];
|
|
/* 02C81720 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C81724 */ return;
|
|
}
|
|
|
|
// fn_02C81728 @ 0x2c81728
|
|
void Gambit_fn_02C81728(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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 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 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) 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 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C81728: ; // 0x2c81728
|
|
/* 02C81728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C8172C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8172C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C8172C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C8172C */ goto L_02C81730;
|
|
L_02C81730: ; // 0x2c81730
|
|
/* 02C81730 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C81730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C81734 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81734 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C81734 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C81734 */ goto L_02C81738;
|
|
L_02C81738: ; // 0x2c81738
|
|
/* 02C81738 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C81740 @ 0x2c81740
|
|
void Gambit_fn_02C81740(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C81740: ; // 0x2c81740
|
|
/* 02C81740 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C81740 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81740 */ cpu->r[1] = _t0;
|
|
/* 02C81744 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81744 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C81748 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C8174C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8174C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C81750 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C81750 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C81754 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C81758 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C8175C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8175C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C81760 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C81764 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C81764 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C81768 */ cpu->r[29] = cpu->r[6];
|
|
/* 02C8176C */ Gambit_fn_02C7CFAC(cpu);
|
|
/* 02C81770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81774 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81774 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C81774 */ if (_t7) goto L_02C81778; else goto L_02C8178C;
|
|
L_02C81778: ; // 0x2c81778
|
|
/* 02C81778 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C8177C */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
/* 02C81780 */ _t8 = cpu->r[30] + cpu->r[0];
|
|
/* 02C81780 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C81784 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C81788 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02C81788 */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
L_02C8178C: ; // 0x2c8178c
|
|
/* 02C8178C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8178C */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C81790 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81790 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C81794 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C81794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C81798 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C81798 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C8179C */ cpu->lr = cpu->r[0];
|
|
/* 02C817A0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C817A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C817A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C817A8 */ return;
|
|
}
|
|
|
|
// fn_02C817AC @ 0x2c817ac
|
|
void Gambit_fn_02C817AC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C817AC: ; // 0x2c817ac
|
|
/* 02C817AC */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C817B0 */ _t0 = cpu->r[12] + cpu->r[3];
|
|
/* 02C817B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C817B4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C817B8 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 02C817BC */ return;
|
|
}
|
|
|
|
// fn_02C817D0 @ 0x2c817d0
|
|
void Gambit_fn_02C817D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C817D0: ; // 0x2c817d0
|
|
/* 02C817D0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C817D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C817D0 */ cpu->r[1] = _t0;
|
|
L_02C817D4: ; // 0x2c817d4
|
|
/* 02C817D4 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C817D8 */ Gambit_fn_02C817AC(cpu);
|
|
/* 02C817DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C817E0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C817E0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C817E0 */ if (_t2) goto L_02C817F8; else goto L_02C817E4;
|
|
L_02C817E4: ; // 0x2c817e4
|
|
/* 02C817E4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C817E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C817E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C817EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C817F0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C817F4 */ return;
|
|
L_02C817F8: ; // 0x2c817f8
|
|
/* 02C817F8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C817FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
|
|
/* 02C81800 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C81800 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C81800 */ if (_t5) goto L_02C817D4; else goto L_02C81804;
|
|
L_02C81804: ; // 0x2c81804
|
|
/* 02C81804 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C81808 */ cpu->lr = cpu->r[0];
|
|
/* 02C8180C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81810 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C81814 */ return;
|
|
}
|
|
|
|
// fn_02C81818 @ 0x2c81818
|
|
void Gambit_fn_02C81818(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81818: ; // 0x2c81818
|
|
/* 02C81818 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C8181C */ _t0 = cpu->r[12] + cpu->r[3];
|
|
/* 02C8181C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81820 */ return;
|
|
}
|
|
|
|
// fn_02C8184C @ 0x2c8184c
|
|
void Gambit_fn_02C8184C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C81824: ; // 0x2c81824
|
|
/* 02C81824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02C81828 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81828 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C81828 */ if (_t1) goto L_02C8183C; else goto L_02C8182C;
|
|
L_02C8182C: ; // 0x2c8182c
|
|
/* 02C8182C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
|
|
/* 02C81830 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81830 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C81830 */ if (_t3) goto L_02C81844; else goto L_02C81834;
|
|
L_02C81834: ; // 0x2c81834
|
|
/* 02C81834 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C81838 */ return;
|
|
L_02C8183C: ; // 0x2c8183c
|
|
/* 02C8183C */ cpu->r[3] = 0x00000007u;
|
|
/* 02C81840 */ return;
|
|
L_02C81844: ; // 0x2c81844
|
|
/* 02C81844 */ cpu->r[3] = 0x0000001Au;
|
|
/* 02C81848 */ return;
|
|
L_02C8184C: ; // 0x2c8184c
|
|
/* 02C8184C */ _t4 = cpu->r[3] + 0x00000009u;
|
|
/* 02C8184C */ cpu->r[3] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C81850 */ goto L_02C81824;
|
|
}
|
|
|
|
// fn_02C81854 @ 0x2c81854
|
|
void Gambit_fn_02C81854(CPUState* cpu) {
|
|
L_02C81854: ; // 0x2c81854
|
|
/* 02C81854 */ cpu->r[12] = cpu->r[3] + cpu->r[4];
|
|
/* 02C81858 */ cpu->r[3] = cpu->r[12] + 0xFFFFFFF4u;
|
|
/* 02C8185C */ return;
|
|
}
|
|
|
|
// fn_02C81860 @ 0x2c81860
|
|
void Gambit_fn_02C81860(CPUState* cpu) {
|
|
L_02C81860: ; // 0x2c81860
|
|
/* 02C81860 */ cpu->r[0] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C81864 */ cpu->r[3] = cpu->r[0] - cpu->r[4];
|
|
/* 02C81868 */ return;
|
|
}
|
|
|
|
// fn_02C8186C @ 0x2c8186c
|
|
void Gambit_fn_02C8186C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C8186C: ; // 0x2c8186c
|
|
/* 02C8186C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C8186C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C81874 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81874 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C81874 */ if (_t2) goto L_02C81884; else goto L_02C81878;
|
|
L_02C81878: ; // 0x2c81878
|
|
/* 02C81878 */ cpu->r[11] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C8187C */ cpu->r[12] = cpu->r[11] - cpu->r[4];
|
|
/* 02C81880 */ cpu->r[0] = cpu->r[12] + cpu->r[0];
|
|
L_02C81884: ; // 0x2c81884
|
|
/* 02C81884 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C81888 */ return;
|
|
}
|
|
|
|
// fn_02C8188C @ 0x2c8188c
|
|
void Gambit_fn_02C8188C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C8188C: ; // 0x2c8188c
|
|
/* 02C8188C */ cpu->r[0] = cpu->lr;
|
|
/* 02C81890 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C81890 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81890 */ cpu->r[1] = _t0;
|
|
/* 02C81894 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81894 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C81898 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C8189C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C818A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C818A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C818A4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C818A4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C818A4 */ if (_t4) goto L_02C818A8; else goto L_02C818B8;
|
|
L_02C818A8: ; // 0x2c818a8
|
|
/* 02C818A8 */ cpu->r[3] = 0x00000004u;
|
|
/* 02C818AC */ Gambit_fn_02801A78(cpu);
|
|
/* 02C818B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C818B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C818B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C818B4 */ if (_t6) goto L_02C818BC; else goto L_02C818B8;
|
|
L_02C818B8: ; // 0x2c818b8
|
|
/* 02C818B8 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C818B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
L_02C818BC: ; // 0x2c818bc
|
|
/* 02C818BC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C818BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C818C0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C818C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C818C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C818C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C818CC */ return;
|
|
}
|
|
|
|
// fn_02C81890 @ 0x2c81890
|
|
void Gambit_fn_02C81890(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C81890: ; // 0x2c81890
|
|
/* 02C81890 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C81890 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81890 */ cpu->r[1] = _t0;
|
|
/* 02C81894 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81894 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C81898 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C8189C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C818A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C818A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C818A4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C818A4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C818A4 */ if (_t4) goto L_02C818A8; else goto L_02C818B8;
|
|
L_02C818A8: ; // 0x2c818a8
|
|
/* 02C818A8 */ cpu->r[3] = 0x00000004u;
|
|
/* 02C818AC */ Gambit_fn_02801A78(cpu);
|
|
/* 02C818B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C818B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C818B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C818B4 */ if (_t6) goto L_02C818BC; else goto L_02C818B8;
|
|
L_02C818B8: ; // 0x2c818b8
|
|
/* 02C818B8 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C818B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
L_02C818BC: ; // 0x2c818bc
|
|
/* 02C818BC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C818BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C818C0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C818C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C818C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C818C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C818CC */ return;
|
|
}
|
|
|
|
// fn_02C81900 @ 0x2c81900
|
|
void Gambit_fn_02C81900(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C81900: ; // 0x2c81900
|
|
/* 02C81900 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C81900 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81900 */ cpu->r[1] = _t0;
|
|
/* 02C81904 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C81908 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81908 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C8190C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C81910 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81914 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81918 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81918 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C8191C */ _t3 = cpu->r[3] + 0xFFFFE554u;
|
|
/* 02C8191C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C81920 */ cpu->r[4] = cpu->r[11];
|
|
/* 02C81924 */ rbrew_dispatch(cpu, 0x02d0a3f0u);
|
|
/* 02C81928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C8192C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C81930 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C81930 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02C81934 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81934 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C81934 */ if (_t6) goto L_02C8193C; else goto L_02C81938;
|
|
L_02C81938: ; // 0x2c81938
|
|
/* 02C81938 */ cpu->r[0] = 0x00000000u;
|
|
L_02C8193C: ; // 0x2c8193c
|
|
/* 02C8193C */ cpu->r[3] = cpu->r[0];
|
|
/* 02C81940 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C81944 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81944 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C81948 */ cpu->lr = cpu->r[0];
|
|
/* 02C8194C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C81950 */ return;
|
|
}
|
|
|
|
// fn_02C81964 @ 0x2c81964
|
|
void Gambit_fn_02C81964(CPUState* 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_02C81964: ; // 0x2c81964
|
|
/* 02C81964 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C81964 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81964 */ cpu->r[1] = _t0;
|
|
/* 02C81968 */ /* nop */
|
|
/* 02C8196C */ cpu->r[0] = cpu->lr;
|
|
/* 02C81970 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C81970 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C81974 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C81978 */ _t2 = cpu->r[31] + 0x00000000u;
|
|
/* 02C81978 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C8197C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C81980 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81980 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C81980 */ if (_t4) goto L_02C81984; else goto L_02C819AC;
|
|
L_02C81984: ; // 0x2c81984
|
|
/* 02C81984 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C81988 */ cpu->r[3] = cpu->r[3] + 0x00003EE8u;
|
|
/* 02C8198C */ _t5 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C8198C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C8198C */ if (_t6) goto L_02C81990; // else: addr-0 trap, fall-through
|
|
L_02C81990: ; // 0x2c81990
|
|
/* 02C81990 */ rbrew_dispatch(cpu, 0x02d0ae08u);
|
|
/* 02C81994 */ /* nop */
|
|
/* 02C81998 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02C81998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8199C */ cpu->lr = cpu->r[0];
|
|
/* 02C819A0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C819A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C819A8 */ return;
|
|
L_02C819AC: ; // 0x2c819ac
|
|
/* 02C819AC */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C819AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C819B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C819B4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C819B4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C819B4 */ if (_t10) goto L_02C819B8; else goto L_02C819E0;
|
|
L_02C819B8: ; // 0x2c819b8
|
|
/* 02C819B8 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C819BC */ cpu->r[3] = cpu->r[3] + 0x00003E10u;
|
|
/* 02C819C0 */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C819C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C819C0 */ if (_t12) goto L_02C819C4; // else: addr-0 trap, fall-through
|
|
L_02C819C4: ; // 0x2c819c4
|
|
/* 02C819C4 */ rbrew_dispatch(cpu, 0x02d0ae08u);
|
|
/* 02C819C8 */ /* nop */
|
|
/* 02C819CC */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02C819CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C819D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C819D4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C819D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C819DC */ return;
|
|
L_02C819E0: ; // 0x2c819e0
|
|
/* 02C819E0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C819E4 */ cpu->r[3] = cpu->r[3] + 0xFFFFC6D4u;
|
|
/* 02C819E8 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C819E8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C819E8 */ if (_t15) goto L_02C819EC; // else: addr-0 trap, fall-through
|
|
L_02C819EC: ; // 0x2c819ec
|
|
/* 02C819EC */ Gambit_fn_02C6AD08(cpu);
|
|
/* 02C819F0 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02C819F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C819F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C819F8 */ cpu->r[4] = 0x01600000u;
|
|
/* 02C819FC */ rbrew_dispatch(cpu, 0x02d0a438u);
|
|
/* 02C81A00 */ cpu->r[29] = 0x10250000u;
|
|
/* 02C81A04 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02C81A08 */ cpu->r[4] = 0x02C80000u;
|
|
/* 02C81A0C */ _t17 = cpu->r[29] + 0xFFFFE554u;
|
|
/* 02C81A0C */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 02C81A0C */ cpu->r[29] = _t17;
|
|
/* 02C81A10 */ cpu->r[3] = 0x02C80000u;
|
|
/* 02C81A14 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C81A18 */ cpu->r[4] = cpu->r[4] + 0x00001954u;
|
|
/* 02C81A1C */ cpu->r[3] = cpu->r[3] + 0x000018FCu;
|
|
/* 02C81A20 */ _t18 = cpu->r[30] + 0xFFFFC3CCu;
|
|
/* 02C81A20 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 02C81A20 */ cpu->r[30] = _t18;
|
|
/* 02C81A24 */ rbrew_dispatch(cpu, 0x02d0a8b8u);
|
|
/* 02C81A28 */ cpu->r[4] = 0x10250000u;
|
|
/* 02C81A2C */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C81A30 */ cpu->r[4] = cpu->r[4] + 0xFFFFE558u;
|
|
/* 02C81A34 */ cpu->r[3] = cpu->r[3] + 0x00003E44u;
|
|
/* 02C81A38 */ rbrew_dispatch(cpu, 0x02d0a840u);
|
|
/* 02C81A3C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C81A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C81A40 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81A40 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C81A40 */ if (_t20) goto L_02C81A6C; else goto L_02C81A44;
|
|
L_02C81A44: ; // 0x2c81a44
|
|
/* 02C81A44 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C81A48 */ cpu->r[3] = cpu->r[3] + 0x00003F1Cu;
|
|
/* 02C81A4C */ _t21 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C81A4C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C81A4C */ if (_t22) goto L_02C81A50; // else: addr-0 trap, fall-through
|
|
L_02C81A50: ; // 0x2c81a50
|
|
/* 02C81A50 */ rbrew_dispatch(cpu, 0x02d0ae08u);
|
|
/* 02C81A54 */ /* nop */
|
|
/* 02C81A58 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02C81A58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C81A5C */ cpu->lr = cpu->r[0];
|
|
/* 02C81A60 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C81A64 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C81A68 */ return;
|
|
L_02C81A6C: ; // 0x2c81a6c
|
|
/* 02C81A6C */ _t24 = cpu->r[30] + 0x00000000u;
|
|
/* 02C81A6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C81A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C81A74 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81A74 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C81A74 */ if (_t26) goto L_02C81AD4; else goto L_02C81A78;
|
|
L_02C81A78: ; // 0x2c81a78
|
|
/* 02C81A78 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02C81A78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C81A7C */ cpu->r[4] = 0x00000004u;
|
|
/* 02C81A80 */ rbrew_dispatch(cpu, 0x02d0a4d8u);
|
|
/* 02C81A84 */ cpu->r[28] = 0x00000000u - cpu->r[3];
|
|
/* 02C81A88 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C81A8C */ cpu->r[28] = cpu->r[28] + 0x01600000u;
|
|
/* 02C81A90 */ cpu->r[3] = cpu->r[3] + 0x00003F5Cu;
|
|
/* 02C81A94 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C81A98 */ _t28 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C81A98 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C81A98 */ if (_t29) goto L_02C81A9C; // else: addr-0 trap, fall-through
|
|
L_02C81A9C: ; // 0x2c81a9c
|
|
/* 02C81A9C */ rbrew_dispatch(cpu, 0x02d0ae08u);
|
|
/* 02C81AA0 */ cpu->r[8] = 0x00380000u;
|
|
/* 02C81AA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]);
|
|
/* 02C81AA8 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C81AA8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C81AA8 */ if (_t31) goto L_02C81AAC; else goto L_02C81AD4;
|
|
L_02C81AAC: ; // 0x2c81aac
|
|
/* 02C81AAC */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C81AB0 */ cpu->r[3] = cpu->r[3] + 0x000041B0u;
|
|
/* 02C81AB4 */ _t32 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C81AB4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C81AB4 */ if (_t33) goto L_02C81AB8; // else: addr-0 trap, fall-through
|
|
L_02C81AB8: ; // 0x2c81ab8
|
|
/* 02C81AB8 */ rbrew_dispatch(cpu, 0x02d0ae08u);
|
|
/* 02C81ABC */ /* nop */
|
|
/* 02C81AC0 */ _t34 = cpu->r[1] + 0x00000024u;
|
|
/* 02C81AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C81AC4 */ cpu->lr = cpu->r[0];
|
|
/* 02C81AC8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C81ACC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C81AD0 */ return;
|
|
L_02C81AD4: ; // 0x2c81ad4
|
|
/* 02C81AD4 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81AD8 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81ADC */ cpu->r[3] = cpu->r[3] + 0xFFFFE4F8u;
|
|
/* 02C81AE0 */ cpu->r[4] = cpu->r[4] + 0x00003E50u;
|
|
/* 02C81AE4 */ Gambit_fn_02C81EC0(cpu);
|
|
/* 02C81AE8 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81AEC */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81AF0 */ cpu->r[3] = cpu->r[3] + 0xFFFFE4FCu;
|
|
/* 02C81AF4 */ cpu->r[4] = cpu->r[4] + 0x00004040u;
|
|
/* 02C81AF8 */ Gambit_fn_02C81ED8(cpu);
|
|
/* 02C81AFC */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81B00 */ cpu->r[27] = 0x10250000u;
|
|
/* 02C81B04 */ cpu->r[4] = cpu->r[4] + 0x000041F8u;
|
|
/* 02C81B08 */ cpu->r[3] = cpu->r[27] + 0xFFFFE50Cu;
|
|
/* 02C81B0C */ Gambit_fn_02C81EF0(cpu);
|
|
/* 02C81B10 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81B14 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81B18 */ cpu->r[4] = cpu->r[4] + 0x00004074u;
|
|
/* 02C81B1C */ cpu->r[3] = cpu->r[3] + 0xFFFFE510u;
|
|
/* 02C81B20 */ Gambit_fn_02C81F08(cpu);
|
|
/* 02C81B24 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81B28 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81B2C */ cpu->r[4] = cpu->r[4] + 0x00003F7Cu;
|
|
/* 02C81B30 */ cpu->r[3] = cpu->r[3] + 0xFFFFE514u;
|
|
/* 02C81B34 */ Gambit_fn_02C81F20(cpu);
|
|
/* 02C81B38 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81B3C */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81B40 */ cpu->r[4] = cpu->r[4] + 0x0000408Cu;
|
|
/* 02C81B44 */ cpu->r[3] = cpu->r[3] + 0xFFFFE518u;
|
|
/* 02C81B48 */ Gambit_fn_02C81F08(cpu);
|
|
/* 02C81B4C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81B50 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81B54 */ cpu->r[3] = cpu->r[3] + 0xFFFFE51Cu;
|
|
/* 02C81B58 */ cpu->r[4] = cpu->r[4] + 0x00003F9Cu;
|
|
/* 02C81B5C */ Gambit_fn_02C81F08(cpu);
|
|
/* 02C81B60 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81B64 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81B68 */ cpu->r[4] = cpu->r[4] + 0x000040A4u;
|
|
/* 02C81B6C */ cpu->r[3] = cpu->r[3] + 0xFFFFE524u;
|
|
/* 02C81B70 */ Gambit_fn_02C81F38(cpu);
|
|
/* 02C81B74 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81B78 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81B7C */ cpu->r[4] = cpu->r[4] + 0x000040C8u;
|
|
/* 02C81B80 */ cpu->r[3] = cpu->r[3] + 0xFFFFE534u;
|
|
/* 02C81B84 */ Gambit_fn_02C81F50(cpu);
|
|
/* 02C81B88 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81B8C */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81B90 */ cpu->r[4] = cpu->r[4] + 0x000040F4u;
|
|
/* 02C81B94 */ cpu->r[3] = cpu->r[3] + 0xFFFFE538u;
|
|
/* 02C81B98 */ Gambit_fn_02C81F50(cpu);
|
|
/* 02C81B9C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81BA0 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81BA4 */ cpu->r[4] = cpu->r[4] + 0x00003FB4u;
|
|
/* 02C81BA8 */ cpu->r[3] = cpu->r[3] + 0xFFFFE53Cu;
|
|
/* 02C81BAC */ Gambit_fn_02C81F50(cpu);
|
|
/* 02C81BB0 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81BB4 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81BB8 */ cpu->r[4] = cpu->r[4] + 0x00003FE4u;
|
|
/* 02C81BBC */ cpu->r[3] = cpu->r[3] + 0xFFFFE504u;
|
|
/* 02C81BC0 */ Gambit_fn_02C81F68(cpu);
|
|
/* 02C81BC4 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81BC8 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81BCC */ cpu->r[4] = cpu->r[4] + 0x00003D58u;
|
|
/* 02C81BD0 */ cpu->r[3] = cpu->r[3] + 0xFFFFE508u;
|
|
/* 02C81BD4 */ Gambit_fn_02C81F80(cpu);
|
|
/* 02C81BD8 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81BDC */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81BE0 */ cpu->r[4] = cpu->r[4] + 0x00004124u;
|
|
/* 02C81BE4 */ cpu->r[3] = cpu->r[3] + 0xFFFFE540u;
|
|
/* 02C81BE8 */ Gambit_fn_02C81F50(cpu);
|
|
/* 02C81BEC */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81BF0 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81BF4 */ cpu->r[4] = cpu->r[4] + 0x00003E84u;
|
|
/* 02C81BF8 */ cpu->r[3] = cpu->r[3] + 0xFFFFE520u;
|
|
/* 02C81BFC */ Gambit_fn_02C81F08(cpu);
|
|
/* 02C81C00 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81C04 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81C08 */ cpu->r[4] = cpu->r[4] + 0x00003D98u;
|
|
/* 02C81C0C */ cpu->r[3] = cpu->r[3] + 0xFFFFE500u;
|
|
/* 02C81C10 */ Gambit_fn_02C81F98(cpu);
|
|
/* 02C81C14 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81C18 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81C1C */ cpu->r[3] = cpu->r[3] + 0xFFFFE544u;
|
|
/* 02C81C20 */ cpu->r[4] = cpu->r[4] + 0x00003EA8u;
|
|
/* 02C81C24 */ Gambit_fn_02C81F50(cpu);
|
|
/* 02C81C28 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81C2C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81C30 */ cpu->r[3] = cpu->r[3] + 0xFFFFE530u;
|
|
/* 02C81C34 */ cpu->r[4] = cpu->r[4] + 0x00004148u;
|
|
/* 02C81C38 */ Gambit_fn_02C81FB0(cpu);
|
|
/* 02C81C3C */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81C40 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81C44 */ cpu->r[3] = cpu->r[3] + 0xFFFFE528u;
|
|
/* 02C81C48 */ cpu->r[4] = cpu->r[4] + 0x00004168u;
|
|
/* 02C81C4C */ Gambit_fn_02C81FC8(cpu);
|
|
/* 02C81C50 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81C54 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81C58 */ cpu->r[4] = cpu->r[4] + 0x00004188u;
|
|
/* 02C81C5C */ cpu->r[3] = cpu->r[3] + 0xFFFFE52Cu;
|
|
/* 02C81C60 */ Gambit_fn_02C81FC8(cpu);
|
|
/* 02C81C64 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81C68 */ cpu->r[28] = 0x10250000u;
|
|
/* 02C81C6C */ cpu->r[4] = cpu->r[4] + 0x00004024u;
|
|
/* 02C81C70 */ cpu->r[3] = cpu->r[28] + 0xFFFFE548u;
|
|
/* 02C81C74 */ Gambit_fn_02C81FE0(cpu);
|
|
/* 02C81C78 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81C7C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81C80 */ cpu->r[3] = cpu->r[3] + 0xFFFFE54Cu;
|
|
/* 02C81C84 */ cpu->r[4] = cpu->r[4] + 0x00003ECCu;
|
|
/* 02C81C88 */ Gambit_fn_02C81FF8(cpu);
|
|
/* 02C81C8C */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81C90 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C81C94 */ cpu->r[3] = cpu->r[3] + 0xFFFFE550u;
|
|
/* 02C81C98 */ cpu->r[4] = cpu->r[4] + 0x00003DC8u;
|
|
/* 02C81C9C */ Gambit_fn_02C82010(cpu);
|
|
/* 02C81CA0 */ _t35 = cpu->r[30] + 0x00000000u;
|
|
/* 02C81CA0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02C81CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C81CA8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C81CAC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81CAC */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C81CAC */ if (_t37) goto L_02C81CF0; else goto L_02C81CB0;
|
|
L_02C81CB0: ; // 0x2c81cb0
|
|
/* 02C81CB0 */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02C81CB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C81CB4 */ cpu->r[4] = 0x01280000u;
|
|
/* 02C81CB8 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C81CBC */ rbrew_dispatch(cpu, 0x02d0a3f0u);
|
|
/* 02C81CC0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C81CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C81CC4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81CC4 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C81CC4 */ if (_t40) goto L_02C81CC8; else goto L_02C81CF0;
|
|
L_02C81CC8: ; // 0x2c81cc8
|
|
/* 02C81CC8 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C81CCC */ cpu->r[3] = cpu->r[3] + 0x00003DE0u;
|
|
/* 02C81CD0 */ _t41 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C81CD0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C81CD0 */ if (_t42) goto L_02C81CD4; // else: addr-0 trap, fall-through
|
|
L_02C81CD4: ; // 0x2c81cd4
|
|
/* 02C81CD4 */ rbrew_dispatch(cpu, 0x02d0ae08u);
|
|
/* 02C81CD8 */ /* nop */
|
|
/* 02C81CDC */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 02C81CDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C81CE0 */ cpu->lr = cpu->r[0];
|
|
/* 02C81CE4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C81CE8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C81CEC */ return;
|
|
L_02C81CF0: ; // 0x2c81cf0
|
|
/* 02C81CF0 */ _t44 = cpu->r[28] + 0xFFFFE548u;
|
|
/* 02C81CF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C81CF4 */ cpu->ctr = cpu->r[11];
|
|
/* 02C81CF8 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C81CFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C81D00 */ _t45 = cpu->r[27] + 0xFFFFE50Cu;
|
|
/* 02C81D00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C81D04 */ _t46 = cpu->r[31] + 0x00000008u;
|
|
/* 02C81D04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C81D08 */ cpu->ctr = cpu->r[12];
|
|
/* 02C81D0C */ _t47 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C81D0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C81D10 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 02C81D10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C81D14 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C81D18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C81D1C */ /* nop */
|
|
/* 02C81D20 */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 02C81D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C81D24 */ cpu->lr = cpu->r[0];
|
|
/* 02C81D28 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C81D2C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C81D30 */ return;
|
|
}
|
|
|
|
// fn_02C81D34 @ 0x2c81d34
|
|
void Gambit_fn_02C81D34(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81D34: ; // 0x2c81d34
|
|
/* 02C81D34 */ cpu->r[12] = 0x10250000u;
|
|
/* 02C81D38 */ _t0 = cpu->r[12] + 0xFFFFE524u;
|
|
/* 02C81D38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81D3C */ cpu->ctr = cpu->r[12];
|
|
/* 02C81D40 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C81D44 @ 0x2c81d44
|
|
void Gambit_fn_02C81D44(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81D44: ; // 0x2c81d44
|
|
/* 02C81D44 */ cpu->r[12] = 0x10250000u;
|
|
/* 02C81D48 */ _t0 = cpu->r[12] + 0xFFFFE540u;
|
|
/* 02C81D48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81D4C */ cpu->ctr = cpu->r[12];
|
|
/* 02C81D50 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C81D54 @ 0x2c81d54
|
|
void Gambit_fn_02C81D54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C81D54: ; // 0x2c81d54
|
|
/* 02C81D54 */ cpu->r[0] = cpu->lr;
|
|
/* 02C81D58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C81D58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81D58 */ cpu->r[1] = _t0;
|
|
/* 02C81D5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81D5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C81D60 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C81D64 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81D64 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C81D68 */ Gambit_fn_02C81D34(cpu);
|
|
/* 02C81D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81D70 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81D70 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C81D70 */ if (_t4) goto L_02C81D74; else goto L_02C81D80;
|
|
L_02C81D74: ; // 0x2c81d74
|
|
/* 02C81D74 */ Gambit_fn_02C81D44(cpu);
|
|
/* 02C81D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81D7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81D7C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C81D7C */ if (_t6) goto L_02C81D94; else goto L_02C81D80;
|
|
L_02C81D80: ; // 0x2c81d80
|
|
/* 02C81D80 */ cpu->r[12] = 0x10250000u;
|
|
/* 02C81D84 */ _t7 = cpu->r[12] + 0xFFFFE4FCu;
|
|
/* 02C81D84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C81D88 */ cpu->ctr = cpu->r[12];
|
|
/* 02C81D8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C81D90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C81D94: ; // 0x2c81d94
|
|
/* 02C81D94 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C81D98 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81D98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C81D9C */ cpu->lr = cpu->r[0];
|
|
/* 02C81DA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C81DA4 */ return;
|
|
}
|
|
|
|
// fn_02C81D58 @ 0x2c81d58
|
|
void Gambit_fn_02C81D58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C81D58: ; // 0x2c81d58
|
|
/* 02C81D58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C81D58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81D58 */ cpu->r[1] = _t0;
|
|
/* 02C81D5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81D5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C81D60 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C81D64 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81D64 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C81D68 */ Gambit_fn_02C81D34(cpu);
|
|
/* 02C81D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81D70 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81D70 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C81D70 */ if (_t4) goto L_02C81D74; else goto L_02C81D80;
|
|
L_02C81D74: ; // 0x2c81d74
|
|
/* 02C81D74 */ Gambit_fn_02C81D44(cpu);
|
|
/* 02C81D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81D7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81D7C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C81D7C */ if (_t6) goto L_02C81D94; else goto L_02C81D80;
|
|
L_02C81D80: ; // 0x2c81d80
|
|
/* 02C81D80 */ cpu->r[12] = 0x10250000u;
|
|
/* 02C81D84 */ _t7 = cpu->r[12] + 0xFFFFE4FCu;
|
|
/* 02C81D84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C81D88 */ cpu->ctr = cpu->r[12];
|
|
/* 02C81D8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C81D90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C81D94: ; // 0x2c81d94
|
|
/* 02C81D94 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C81D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C81D98 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81D98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C81D9C */ cpu->lr = cpu->r[0];
|
|
/* 02C81DA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C81DA4 */ return;
|
|
}
|
|
|
|
// fn_02C81DA8 @ 0x2c81da8
|
|
void Gambit_fn_02C81DA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C81DA8: ; // 0x2c81da8
|
|
/* 02C81DA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C81DAC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C81DAC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C81DB0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C81DB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C81DB0 */ cpu->r[1] = _t1;
|
|
/* 02C81DB4 */ Gambit_fn_02C81D34(cpu);
|
|
/* 02C81DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81DBC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81DBC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C81DBC */ if (_t3) goto L_02C81DC0; else goto L_02C81DCC;
|
|
L_02C81DC0: ; // 0x2c81dc0
|
|
/* 02C81DC0 */ Gambit_fn_02C81D44(cpu);
|
|
/* 02C81DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81DC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81DC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C81DC8 */ if (_t5) goto L_02C81DDC; else goto L_02C81DCC;
|
|
L_02C81DCC: ; // 0x2c81dcc
|
|
/* 02C81DCC */ cpu->r[12] = 0x10250000u;
|
|
/* 02C81DD0 */ _t6 = cpu->r[12] + 0xFFFFE51Cu;
|
|
/* 02C81DD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C81DD4 */ cpu->ctr = cpu->r[12];
|
|
/* 02C81DD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C81DDC: ; // 0x2c81ddc
|
|
/* 02C81DDC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81DDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C81DE0 */ cpu->lr = cpu->r[0];
|
|
/* 02C81DE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81DE8 */ return;
|
|
}
|
|
|
|
// fn_02C81DB0 @ 0x2c81db0
|
|
void Gambit_fn_02C81DB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C81DB0: ; // 0x2c81db0
|
|
/* 02C81DB0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C81DB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81DB0 */ cpu->r[1] = _t0;
|
|
/* 02C81DB4 */ Gambit_fn_02C81D34(cpu);
|
|
/* 02C81DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81DBC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81DBC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C81DBC */ if (_t2) goto L_02C81DC0; else goto L_02C81DCC;
|
|
L_02C81DC0: ; // 0x2c81dc0
|
|
/* 02C81DC0 */ Gambit_fn_02C81D44(cpu);
|
|
/* 02C81DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81DC8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81DC8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C81DC8 */ if (_t4) goto L_02C81DDC; else goto L_02C81DCC;
|
|
L_02C81DCC: ; // 0x2c81dcc
|
|
/* 02C81DCC */ cpu->r[12] = 0x10250000u;
|
|
/* 02C81DD0 */ _t5 = cpu->r[12] + 0xFFFFE51Cu;
|
|
/* 02C81DD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C81DD4 */ cpu->ctr = cpu->r[12];
|
|
/* 02C81DD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C81DDC: ; // 0x2c81ddc
|
|
/* 02C81DDC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81DDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C81DE0 */ cpu->lr = cpu->r[0];
|
|
/* 02C81DE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81DE8 */ return;
|
|
}
|
|
|
|
// fn_02C81DEC @ 0x2c81dec
|
|
void Gambit_fn_02C81DEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C81DEC: ; // 0x2c81dec
|
|
/* 02C81DEC */ cpu->r[0] = cpu->lr;
|
|
/* 02C81DF0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C81DF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C81DF4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C81DF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C81DF4 */ cpu->r[1] = _t1;
|
|
/* 02C81DF8 */ Gambit_fn_02C81D34(cpu);
|
|
/* 02C81DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81E00 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81E00 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C81E00 */ if (_t3) goto L_02C81E04; else goto L_02C81E10;
|
|
L_02C81E04: ; // 0x2c81e04
|
|
/* 02C81E04 */ Gambit_fn_02C81D44(cpu);
|
|
/* 02C81E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81E0C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81E0C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C81E0C */ if (_t5) goto L_02C81E20; else goto L_02C81E10;
|
|
L_02C81E10: ; // 0x2c81e10
|
|
/* 02C81E10 */ cpu->r[12] = 0x10250000u;
|
|
/* 02C81E14 */ _t6 = cpu->r[12] + 0xFFFFE518u;
|
|
/* 02C81E14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C81E18 */ cpu->ctr = cpu->r[12];
|
|
/* 02C81E1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C81E20: ; // 0x2c81e20
|
|
/* 02C81E20 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C81E24 */ cpu->lr = cpu->r[0];
|
|
/* 02C81E28 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81E2C */ return;
|
|
}
|
|
|
|
// fn_02C81DF4 @ 0x2c81df4
|
|
void Gambit_fn_02C81DF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C81DF4: ; // 0x2c81df4
|
|
/* 02C81DF4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C81DF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81DF4 */ cpu->r[1] = _t0;
|
|
/* 02C81DF8 */ Gambit_fn_02C81D34(cpu);
|
|
/* 02C81DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81E00 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81E00 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C81E00 */ if (_t2) goto L_02C81E04; else goto L_02C81E10;
|
|
L_02C81E04: ; // 0x2c81e04
|
|
/* 02C81E04 */ Gambit_fn_02C81D44(cpu);
|
|
/* 02C81E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C81E0C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C81E0C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C81E0C */ if (_t4) goto L_02C81E20; else goto L_02C81E10;
|
|
L_02C81E10: ; // 0x2c81e10
|
|
/* 02C81E10 */ cpu->r[12] = 0x10250000u;
|
|
/* 02C81E14 */ _t5 = cpu->r[12] + 0xFFFFE518u;
|
|
/* 02C81E14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C81E18 */ cpu->ctr = cpu->r[12];
|
|
/* 02C81E1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C81E20: ; // 0x2c81e20
|
|
/* 02C81E20 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C81E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C81E24 */ cpu->lr = cpu->r[0];
|
|
/* 02C81E28 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81E2C */ return;
|
|
}
|
|
|
|
// fn_02C81E30 @ 0x2c81e30
|
|
void Gambit_fn_02C81E30(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81E30: ; // 0x2c81e30
|
|
/* 02C81E30 */ cpu->r[12] = 0x10250000u;
|
|
/* 02C81E34 */ _t0 = cpu->r[12] + 0xFFFFE4F8u;
|
|
/* 02C81E34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81E38 */ cpu->ctr = cpu->r[12];
|
|
/* 02C81E3C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C81E40 @ 0x2c81e40
|
|
void Gambit_fn_02C81E40(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81E40: ; // 0x2c81e40
|
|
/* 02C81E40 */ cpu->r[12] = 0x10250000u;
|
|
/* 02C81E44 */ _t0 = cpu->r[12] + 0xFFFFE514u;
|
|
/* 02C81E44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81E48 */ cpu->ctr = cpu->r[12];
|
|
/* 02C81E4C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C81E60 @ 0x2c81e60
|
|
void Gambit_fn_02C81E60(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81E60: ; // 0x2c81e60
|
|
/* 02C81E60 */ cpu->r[12] = 0x10250000u;
|
|
/* 02C81E64 */ _t0 = cpu->r[12] + 0xFFFFE538u;
|
|
/* 02C81E64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81E68 */ cpu->ctr = cpu->r[12];
|
|
/* 02C81E6C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C81E70 @ 0x2c81e70
|
|
void Gambit_fn_02C81E70(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81E70: ; // 0x2c81e70
|
|
/* 02C81E70 */ cpu->r[12] = 0x10250000u;
|
|
/* 02C81E74 */ _t0 = cpu->r[12] + 0xFFFFE504u;
|
|
/* 02C81E74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81E78 */ cpu->ctr = cpu->r[12];
|
|
/* 02C81E7C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C81E80 @ 0x2c81e80
|
|
void Gambit_fn_02C81E80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C81E80: ; // 0x2c81e80
|
|
/* 02C81E80 */ cpu->r[0] = cpu->lr;
|
|
/* 02C81E84 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C81E84 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C81E88 */ cpu->r[12] = 0x10250000u;
|
|
/* 02C81E8C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C81E8C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C81E8C */ cpu->r[1] = _t1;
|
|
/* 02C81E90 */ _t2 = cpu->r[12] + 0xFFFFE508u;
|
|
/* 02C81E90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C81E94 */ cpu->ctr = cpu->r[12];
|
|
/* 02C81E98 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C81E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C81E9C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81E9C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C81EA0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81EA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C81EA8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C81EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C81EAC */ cpu->lr = cpu->r[0];
|
|
/* 02C81EB0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C81EB4 */ return;
|
|
}
|
|
|
|
// fn_02C81E8C @ 0x2c81e8c
|
|
void Gambit_fn_02C81E8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C81E8C: ; // 0x2c81e8c
|
|
/* 02C81E8C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C81E8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C81E8C */ cpu->r[1] = _t0;
|
|
/* 02C81E90 */ _t1 = cpu->r[12] + 0xFFFFE508u;
|
|
/* 02C81E90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C81E94 */ cpu->ctr = cpu->r[12];
|
|
/* 02C81E98 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C81E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C81E9C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C81E9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C81EA0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C81EA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C81EA8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C81EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C81EAC */ cpu->lr = cpu->r[0];
|
|
/* 02C81EB0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C81EB4 */ return;
|
|
}
|
|
|
|
// fn_02C81EB8 @ 0x2c81eb8
|
|
void Gambit_fn_02C81EB8(CPUState* cpu) {
|
|
L_02C81EB8: ; // 0x2c81eb8
|
|
/* 02C81EB8 */ cpu->r[3] = 0x01600000u;
|
|
/* 02C81EBC */ return;
|
|
}
|
|
|
|
// fn_02C81EC0 @ 0x2c81ec0
|
|
void Gambit_fn_02C81EC0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81EC0: ; // 0x2c81ec0
|
|
/* 02C81EC0 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81EC4 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81EC8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81ECC */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C81ECC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81ED0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C81ED4 */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C81ED8 @ 0x2c81ed8
|
|
void Gambit_fn_02C81ED8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81ED8: ; // 0x2c81ed8
|
|
/* 02C81ED8 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81EDC */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81EE0 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81EE4 */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C81EE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81EE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C81EEC */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C81EF0 @ 0x2c81ef0
|
|
void Gambit_fn_02C81EF0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81EF0: ; // 0x2c81ef0
|
|
/* 02C81EF0 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81EF4 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81EF8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81EFC */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C81EFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81F00 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C81F04 */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C81F08 @ 0x2c81f08
|
|
void Gambit_fn_02C81F08(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81F08: ; // 0x2c81f08
|
|
/* 02C81F08 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81F0C */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81F10 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81F14 */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C81F14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81F18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C81F1C */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C81F20 @ 0x2c81f20
|
|
void Gambit_fn_02C81F20(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81F20: ; // 0x2c81f20
|
|
/* 02C81F20 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81F24 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81F28 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81F2C */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C81F2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81F30 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C81F34 */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C81F38 @ 0x2c81f38
|
|
void Gambit_fn_02C81F38(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81F38: ; // 0x2c81f38
|
|
/* 02C81F38 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81F3C */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81F40 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81F44 */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C81F44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81F48 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C81F4C */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C81F50 @ 0x2c81f50
|
|
void Gambit_fn_02C81F50(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81F50: ; // 0x2c81f50
|
|
/* 02C81F50 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81F54 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81F58 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81F5C */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C81F5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81F60 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C81F64 */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C81F68 @ 0x2c81f68
|
|
void Gambit_fn_02C81F68(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81F68: ; // 0x2c81f68
|
|
/* 02C81F68 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81F6C */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81F70 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81F74 */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C81F74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81F78 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C81F7C */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C81F80 @ 0x2c81f80
|
|
void Gambit_fn_02C81F80(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81F80: ; // 0x2c81f80
|
|
/* 02C81F80 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81F84 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81F88 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81F8C */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C81F8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81F90 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C81F94 */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C81F98 @ 0x2c81f98
|
|
void Gambit_fn_02C81F98(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81F98: ; // 0x2c81f98
|
|
/* 02C81F98 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81F9C */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81FA0 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81FA4 */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C81FA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81FA8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C81FAC */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C81FB0 @ 0x2c81fb0
|
|
void Gambit_fn_02C81FB0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81FB0: ; // 0x2c81fb0
|
|
/* 02C81FB0 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81FB4 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81FB8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81FBC */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C81FBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81FC0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C81FC4 */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C81FC8 @ 0x2c81fc8
|
|
void Gambit_fn_02C81FC8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81FC8: ; // 0x2c81fc8
|
|
/* 02C81FC8 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81FCC */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81FD0 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81FD4 */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C81FD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81FD8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C81FDC */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C81FE0 @ 0x2c81fe0
|
|
void Gambit_fn_02C81FE0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81FE0: ; // 0x2c81fe0
|
|
/* 02C81FE0 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81FE4 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C81FE8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C81FEC */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C81FEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C81FF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C81FF4 */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C81FF8 @ 0x2c81ff8
|
|
void Gambit_fn_02C81FF8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C81FF8: ; // 0x2c81ff8
|
|
/* 02C81FF8 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C81FFC */ cpu->r[3] = 0x10250000u;
|
|
/* 02C82000 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C82004 */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C82004 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C82008 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C8200C */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C82010 @ 0x2c82010
|
|
void Gambit_fn_02C82010(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C82010: ; // 0x2c82010
|
|
/* 02C82010 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C82014 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C82018 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C8201C */ _t0 = cpu->r[3] + 0xFFFFE558u;
|
|
/* 02C8201C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C82020 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C82024 */ rbrew_dispatch(cpu, 0x02d0a868u); return;
|
|
}
|
|
|
|
// fn_02C82028 @ 0x2c82028
|
|
void Gambit_fn_02C82028(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C82028: ; // 0x2c82028
|
|
/* 02C82028 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8202C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C8202C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C82030 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C82030 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C82030 */ cpu->r[1] = _t1;
|
|
/* 02C82034 */ Gambit_fn_02C82048(cpu);
|
|
/* 02C82038 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C8203C */ cpu->lr = cpu->r[0];
|
|
/* 02C82040 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82044 */ return;
|
|
}
|
|
|
|
// fn_02C82030 @ 0x2c82030
|
|
void Gambit_fn_02C82030(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C82030: ; // 0x2c82030
|
|
/* 02C82030 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C82030 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82030 */ cpu->r[1] = _t0;
|
|
/* 02C82034 */ Gambit_fn_02C82048(cpu);
|
|
/* 02C82038 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C8203C */ cpu->lr = cpu->r[0];
|
|
/* 02C82040 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82044 */ return;
|
|
}
|
|
|
|
// fn_02C82048 @ 0x2c82048
|
|
void Gambit_fn_02C82048(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C82048: ; // 0x2c82048
|
|
/* 02C82048 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8204C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C8204C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C82050 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C82054 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C82054 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C82054 */ cpu->r[1] = _t1;
|
|
/* 02C82058 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C8205C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C82060 */ cpu->r[4] = 0x0000001Du;
|
|
/* 02C82064 */ cpu->r[3] = cpu->r[3] + 0x0000426Cu;
|
|
/* 02C82068 */ cpu->r[5] = cpu->r[5] + 0x0000424Cu;
|
|
/* 02C8206C */ _t2 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C8206C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C8206C */ if (_t3) goto L_02C82070; // else: addr-0 trap, fall-through
|
|
L_02C82070: ; // 0x2c82070
|
|
/* 02C82070 */ rbrew_dispatch(cpu, 0x02d0adb8u);
|
|
/* 02C82074 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C82078 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C8207C */ cpu->lr = cpu->r[0];
|
|
/* 02C82080 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82084 */ return;
|
|
}
|
|
|
|
// fn_02C82054 @ 0x2c82054
|
|
void Gambit_fn_02C82054(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C82054: ; // 0x2c82054
|
|
/* 02C82054 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C82054 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82054 */ cpu->r[1] = _t0;
|
|
/* 02C82058 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C8205C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C82060 */ cpu->r[4] = 0x0000001Du;
|
|
/* 02C82064 */ cpu->r[3] = cpu->r[3] + 0x0000426Cu;
|
|
/* 02C82068 */ cpu->r[5] = cpu->r[5] + 0x0000424Cu;
|
|
/* 02C8206C */ _t1 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C8206C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C8206C */ if (_t2) goto L_02C82070; // else: addr-0 trap, fall-through
|
|
L_02C82070: ; // 0x2c82070
|
|
/* 02C82070 */ rbrew_dispatch(cpu, 0x02d0adb8u);
|
|
/* 02C82074 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C82078 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C8207C */ cpu->lr = cpu->r[0];
|
|
/* 02C82080 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82084 */ return;
|
|
}
|
|
|
|
// fn_02C8208C @ 0x2c8208c
|
|
void Gambit_fn_02C8208C(CPUState* 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;
|
|
|
|
L_02C8208C: ; // 0x2c8208c
|
|
/* 02C8208C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C8208C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8208C */ cpu->r[1] = _t0;
|
|
/* 02C82090 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C82090 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C82094 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82094 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C82098 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C8209C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C8209C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C820A0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C820A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C820A4 */ _t5 = cpu->r[31] + 0x00000060u;
|
|
/* 02C820A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C820A8 */ _t6 = cpu->r[31] + 0x00000078u;
|
|
/* 02C820A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C820AC */ cpu->r[29] = 0x00000000u;
|
|
/* 02C820B0 */ _t7 = cpu->r[31] + 0x0000000Au;
|
|
/* 02C820B0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C820B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02C820B8 */ _t8 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C820B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02C820BC */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C820BC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C820BC */ if (_t10) goto L_02C820C0; else goto L_02C821F8;
|
|
L_02C820C0: ; // 0x2c820c0
|
|
/* 02C820C0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x00000014u);
|
|
/* 02C820C4 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C820C8 */ cpu->r[12] = cpu->r[31] + 0x00000010u;
|
|
/* 02C820CC */ cpu->r[30] = cpu->r[12] + cpu->r[0];
|
|
/* 02C820D0 */ goto L_02C820D8;
|
|
L_02C820D4: ; // 0x2c820d4
|
|
/* 02C820D4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C820D8: ; // 0x2c820d8
|
|
/* 02C820D8 */ _t11 = cpu->r[31] + 0x00000078u;
|
|
/* 02C820D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C820DC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[5]);
|
|
/* 02C820E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02C820E4 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C820E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C820E4 */ if (_t13) goto L_02C82104; else goto L_02C820E8;
|
|
L_02C820E8: ; // 0x2c820e8
|
|
/* 02C820E8 */ _t14 = cpu->r[30] + 0x00000001u;
|
|
/* 02C820E8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C820EC */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[5]);
|
|
/* 02C820F0 */ _t15 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C820F0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C820F4 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] / (int32_t)cpu->r[6]);
|
|
/* 02C820F8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[6]);
|
|
/* 02C820FC */ cpu->r[8] = cpu->r[9] - cpu->r[10];
|
|
/* 02C820FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C82100 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82100 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C82100 */ if (_t17) goto L_02C820D4; else goto L_02C82104;
|
|
L_02C82104: ; // 0x2c82104
|
|
/* 02C82104 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C82108 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 02C82108 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02C8210C */ goto L_02C82114;
|
|
L_02C82110: ; // 0x2c82110
|
|
/* 02C82110 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C82114: ; // 0x2c82114
|
|
/* 02C82114 */ _t19 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C82114 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C82118 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[5]);
|
|
/* 02C8211C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 02C82120 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C82120 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C82120 */ if (_t21) goto L_02C82140; else goto L_02C82124;
|
|
L_02C82124: ; // 0x2c82124
|
|
/* 02C82124 */ _t22 = cpu->r[30] + 0x00000002u;
|
|
/* 02C82124 */ cpu->r[6] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C82128 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[5]);
|
|
/* 02C8212C */ _t23 = cpu->r[31] + 0x0000000Eu;
|
|
/* 02C8212C */ cpu->r[8] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C82130 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] / (int32_t)cpu->r[11]);
|
|
/* 02C82134 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[11]);
|
|
/* 02C82138 */ cpu->r[7] = cpu->r[8] - cpu->r[9];
|
|
/* 02C82138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C8213C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8213C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C8213C */ if (_t25) goto L_02C82110; else goto L_02C82140;
|
|
L_02C82140: ; // 0x2c82140
|
|
/* 02C82140 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C82144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[8]);
|
|
/* 02C82148 */ _t26 = cpu->r[30] + 0x00000008u;
|
|
/* 02C82148 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 02C8214C */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8214C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C8214C */ if (_t28) goto L_02C82150; else goto L_02C82198;
|
|
L_02C82150: ; // 0x2c82150
|
|
/* 02C82150 */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 02C82150 */ cpu->r[10] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C82154 */ _t30 = cpu->r[30] + 0x00000001u;
|
|
/* 02C82154 */ cpu->r[11] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02C82158 */ _t31 = cpu->r[30] + 0x00000004u;
|
|
/* 02C82158 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 02C8215C */ _t32 = cpu->r[31] + 0x00000060u;
|
|
/* 02C8215C */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C82160 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[11]);
|
|
/* 02C82164 */ _t33 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C82164 */ cpu->r[0] = rbrew_read16(cpu->mem, _t33);
|
|
/* 02C82168 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[7]);
|
|
/* 02C8216C */ Gambit_fn_02C824C8(cpu);
|
|
/* 02C82170 */ _t34 = cpu->r[31] + 0x00000006u;
|
|
/* 02C82170 */ cpu->r[12] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02C82174 */ _t35 = cpu->r[30] + 0x00000002u;
|
|
/* 02C82174 */ cpu->r[0] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02C82178 */ _t36 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C82178 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02C8217C */ _t37 = cpu->r[31] + 0x00000060u;
|
|
/* 02C8217C */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C82180 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[0]);
|
|
/* 02C82184 */ _t38 = cpu->r[31] + 0x0000000Eu;
|
|
/* 02C82184 */ cpu->r[8] = rbrew_read16(cpu->mem, _t38);
|
|
/* 02C82188 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[9]);
|
|
/* 02C8218C */ Gambit_fn_02C824C8(cpu);
|
|
/* 02C82190 */ _t39 = cpu->r[30] + 0x00000010u;
|
|
/* 02C82190 */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
/* 02C82194 */ goto L_02C821E8;
|
|
L_02C82198: ; // 0x2c82198
|
|
/* 02C82198 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C8219C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]);
|
|
/* 02C821A0 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C821A0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C821A0 */ if (_t41) goto L_02C821A4; else goto L_02C821A8;
|
|
L_02C821A4: ; // 0x2c821a4
|
|
/* 02C821A4 */ _t42 = cpu->r[30] + 0x00000008u;
|
|
/* 02C821A4 */ rbrew_write32(cpu->mem, _t42, cpu->r[7]);
|
|
L_02C821A8: ; // 0x2c821a8
|
|
/* 02C821A8 */ _t43 = cpu->r[31] + 0x00000008u;
|
|
/* 02C821A8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t43);
|
|
/* 02C821AC */ _t44 = cpu->r[30] + 0x00000001u;
|
|
/* 02C821AC */ cpu->r[11] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02C821B0 */ _t45 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C821B0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t45);
|
|
/* 02C821B4 */ _t46 = cpu->r[31] + 0x00000060u;
|
|
/* 02C821B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C821B8 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[11]);
|
|
/* 02C821BC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[7]);
|
|
/* 02C821C0 */ Gambit_fn_02C824C8(cpu);
|
|
/* 02C821C4 */ _t47 = cpu->r[31] + 0x00000006u;
|
|
/* 02C821C4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t47);
|
|
/* 02C821C8 */ _t48 = cpu->r[30] + 0x00000002u;
|
|
/* 02C821C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02C821CC */ _t49 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C821CC */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
|
|
/* 02C821D0 */ _t50 = cpu->r[31] + 0x00000060u;
|
|
/* 02C821D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C821D4 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[0]);
|
|
/* 02C821D8 */ _t51 = cpu->r[31] + 0x0000000Eu;
|
|
/* 02C821D8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t51);
|
|
/* 02C821DC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[9]);
|
|
/* 02C821E0 */ Gambit_fn_02C824C8(cpu);
|
|
/* 02C821E4 */ _t52 = cpu->r[30] + 0x00000010u;
|
|
/* 02C821E4 */ rbrew_write32(cpu->mem, _t52, cpu->r[3]);
|
|
L_02C821E8: ; // 0x2c821e8
|
|
/* 02C821E8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C821EC */ _t53 = cpu->r[31] + 0x0000000Au;
|
|
/* 02C821EC */ cpu->r[9] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02C821F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02C821F4 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C821F4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C821F4 */ if (_t55) goto L_02C820C0; else goto L_02C821F8;
|
|
L_02C821F8: ; // 0x2c821f8
|
|
/* 02C821F8 */ _t56 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02C821F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C821FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u);
|
|
/* 02C82200 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82200 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C82200 */ if (_t58) goto L_02C82204; else goto L_02C822BC;
|
|
L_02C82204: ; // 0x2c82204
|
|
/* 02C82204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 02C82208 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82208 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C82208 */ if (_t60) goto L_02C8220C; else goto L_02C822BC;
|
|
L_02C8220C: ; // 0x2c8220c
|
|
/* 02C8220C */ _t61 = cpu->r[31] + 0x00000098u;
|
|
/* 02C8220C */ cpu->r[11] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C82210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02C82214 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82214 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C82214 */ if (_t63) goto L_02C82218; else goto L_02C822BC;
|
|
L_02C82218: ; // 0x2c82218
|
|
/* 02C82218 */ _t64 = cpu->r[31] + 0x00000090u;
|
|
/* 02C82218 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C8221C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 02C82220 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82220 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C82220 */ if (_t66) goto L_02C82224; else goto L_02C822BC;
|
|
L_02C82224: ; // 0x2c82224
|
|
/* 02C82224 */ _t67 = cpu->r[31] + 0x00000011u;
|
|
/* 02C82224 */ cpu->r[0] = rbrew_read8(cpu->mem, _t67);
|
|
/* 02C82228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C8222C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8222C */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C8222C */ if (_t69) goto L_02C82230; else goto L_02C822BC;
|
|
L_02C82230: ; // 0x2c82230
|
|
/* 02C82230 */ _t70 = cpu->r[31] + 0x00000025u;
|
|
/* 02C82230 */ cpu->r[6] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02C82234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 02C82238 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82238 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C82238 */ if (_t72) goto L_02C8223C; else goto L_02C822BC;
|
|
L_02C8223C: ; // 0x2c8223c
|
|
/* 02C8223C */ _t73 = cpu->r[31] + 0x00000039u;
|
|
/* 02C8223C */ cpu->r[7] = rbrew_read8(cpu->mem, _t73);
|
|
/* 02C82240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u);
|
|
/* 02C82244 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82244 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C82244 */ if (_t75) goto L_02C82248; else goto L_02C822BC;
|
|
L_02C82248: ; // 0x2c82248
|
|
/* 02C82248 */ _t76 = cpu->r[31] + 0x00000012u;
|
|
/* 02C82248 */ cpu->r[8] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02C8224C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u);
|
|
/* 02C82250 */ _t77 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C82250 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02C82250 */ if (_t78) goto L_02C822BC; else goto L_02C82254;
|
|
L_02C82254: ; // 0x2c82254
|
|
/* 02C82254 */ _t79 = cpu->r[31] + 0x00000026u;
|
|
/* 02C82254 */ cpu->r[9] = rbrew_read8(cpu->mem, _t79);
|
|
/* 02C82258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02C8225C */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8225C */ _t81 = _t80 & 0x00000001u;
|
|
/* 02C8225C */ if (_t81) goto L_02C82260; else goto L_02C822BC;
|
|
L_02C82260: ; // 0x2c82260
|
|
/* 02C82260 */ _t82 = cpu->r[31] + 0x0000003Au;
|
|
/* 02C82260 */ cpu->r[10] = rbrew_read8(cpu->mem, _t82);
|
|
/* 02C82264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02C82268 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82268 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C82268 */ if (_t84) goto L_02C8226C; else goto L_02C822BC;
|
|
L_02C8226C: ; // 0x2c8226c
|
|
/* 02C8226C */ _t85 = cpu->r[31] + 0x00000078u;
|
|
/* 02C8226C */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C82270 */ _t86 = cpu->r[31] + 0x00000014u;
|
|
/* 02C82270 */ cpu->r[11] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C82274 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02C82278 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82278 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C82278 */ if (_t88) goto L_02C8227C; else goto L_02C822BC;
|
|
L_02C8227C: ; // 0x2c8227c
|
|
/* 02C8227C */ _t89 = cpu->r[31] + 0x00000028u;
|
|
/* 02C8227C */ cpu->r[7] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C82280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02C82284 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82284 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02C82284 */ if (_t91) goto L_02C82288; else goto L_02C822BC;
|
|
L_02C82288: ; // 0x2c82288
|
|
/* 02C82288 */ _t92 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C82288 */ cpu->r[8] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C8228C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02C82290 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82290 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02C82290 */ if (_t94) goto L_02C82294; else goto L_02C822BC;
|
|
L_02C82294: ; // 0x2c82294
|
|
/* 02C82294 */ _t95 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C82294 */ cpu->r[6] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02C82298 */ _t96 = cpu->r[31] + 0x00000018u;
|
|
/* 02C82298 */ cpu->r[9] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02C8229C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[6]);
|
|
/* 02C822A0 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C822A0 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02C822A0 */ if (_t98) goto L_02C822A4; else goto L_02C822BC;
|
|
L_02C822A4: ; // 0x2c822a4
|
|
/* 02C822A4 */ _t99 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C822A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C822A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02C822AC */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C822AC */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C822AC */ if (_t101) goto L_02C822B0; else goto L_02C822BC;
|
|
L_02C822B0: ; // 0x2c822b0
|
|
/* 02C822B0 */ _t102 = cpu->r[31] + 0x00000040u;
|
|
/* 02C822B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02C822B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[6]);
|
|
/* 02C822B8 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C822B8 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02C822B8 */ if (_t104) goto L_02C822C8; else goto L_02C822BC;
|
|
L_02C822BC: ; // 0x2c822bc
|
|
/* 02C822BC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C822C0 */ _t105 = cpu->r[31] + 0x00000094u;
|
|
/* 02C822C0 */ rbrew_write32(cpu->mem, _t105, cpu->r[12]);
|
|
/* 02C822C4 */ goto L_02C822D0;
|
|
L_02C822C8: ; // 0x2c822c8
|
|
/* 02C822C8 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C822CC */ _t106 = cpu->r[31] + 0x00000094u;
|
|
/* 02C822CC */ rbrew_write32(cpu->mem, _t106, cpu->r[12]);
|
|
L_02C822D0: ; // 0x2c822d0
|
|
/* 02C822D0 */ _t107 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C822D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02C822D4 */ _t108 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C822D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C822D8 */ _t109 = cpu->r[1] + 0x00000010u;
|
|
/* 02C822D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C822DC */ cpu->lr = cpu->r[0];
|
|
/* 02C822E0 */ _t110 = cpu->r[1] + 0x00000014u;
|
|
/* 02C822E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C822E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C822E8 */ return;
|
|
}
|
|
|
|
// fn_02C822EC @ 0x2c822ec
|
|
void Gambit_fn_02C822EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126;
|
|
|
|
L_02C82088: ; // 0x2c82088
|
|
/* 02C82088 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8208C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C8208C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8208C */ cpu->r[1] = _t0;
|
|
/* 02C82090 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C82090 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C82094 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82094 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C82098 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C8209C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C8209C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C820A0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C820A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C820A4 */ _t5 = cpu->r[31] + 0x00000060u;
|
|
/* 02C820A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C820A8 */ _t6 = cpu->r[31] + 0x00000078u;
|
|
/* 02C820A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C820AC */ cpu->r[29] = 0x00000000u;
|
|
/* 02C820B0 */ _t7 = cpu->r[31] + 0x0000000Au;
|
|
/* 02C820B0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C820B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02C820B8 */ _t8 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C820B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02C820BC */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C820BC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C820BC */ if (_t10) goto L_02C820C0; else goto L_02C821F8;
|
|
L_02C820C0: ; // 0x2c820c0
|
|
/* 02C820C0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x00000014u);
|
|
/* 02C820C4 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C820C8 */ cpu->r[12] = cpu->r[31] + 0x00000010u;
|
|
/* 02C820CC */ cpu->r[30] = cpu->r[12] + cpu->r[0];
|
|
/* 02C820D0 */ goto L_02C820D8;
|
|
L_02C820D4: ; // 0x2c820d4
|
|
/* 02C820D4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C820D8: ; // 0x2c820d8
|
|
/* 02C820D8 */ _t11 = cpu->r[31] + 0x00000078u;
|
|
/* 02C820D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C820DC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[5]);
|
|
/* 02C820E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02C820E4 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C820E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C820E4 */ if (_t13) goto L_02C82104; else goto L_02C820E8;
|
|
L_02C820E8: ; // 0x2c820e8
|
|
/* 02C820E8 */ _t14 = cpu->r[30] + 0x00000001u;
|
|
/* 02C820E8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C820EC */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[5]);
|
|
/* 02C820F0 */ _t15 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C820F0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C820F4 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] / (int32_t)cpu->r[6]);
|
|
/* 02C820F8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[6]);
|
|
/* 02C820FC */ cpu->r[8] = cpu->r[9] - cpu->r[10];
|
|
/* 02C820FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C82100 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82100 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C82100 */ if (_t17) goto L_02C820D4; else goto L_02C82104;
|
|
L_02C82104: ; // 0x2c82104
|
|
/* 02C82104 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C82108 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 02C82108 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02C8210C */ goto L_02C82114;
|
|
L_02C82110: ; // 0x2c82110
|
|
/* 02C82110 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C82114: ; // 0x2c82114
|
|
/* 02C82114 */ _t19 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C82114 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C82118 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[5]);
|
|
/* 02C8211C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 02C82120 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C82120 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C82120 */ if (_t21) goto L_02C82140; else goto L_02C82124;
|
|
L_02C82124: ; // 0x2c82124
|
|
/* 02C82124 */ _t22 = cpu->r[30] + 0x00000002u;
|
|
/* 02C82124 */ cpu->r[6] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C82128 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[5]);
|
|
/* 02C8212C */ _t23 = cpu->r[31] + 0x0000000Eu;
|
|
/* 02C8212C */ cpu->r[8] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C82130 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] / (int32_t)cpu->r[11]);
|
|
/* 02C82134 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[11]);
|
|
/* 02C82138 */ cpu->r[7] = cpu->r[8] - cpu->r[9];
|
|
/* 02C82138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C8213C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8213C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C8213C */ if (_t25) goto L_02C82110; else goto L_02C82140;
|
|
L_02C82140: ; // 0x2c82140
|
|
/* 02C82140 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C82144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[8]);
|
|
/* 02C82148 */ _t26 = cpu->r[30] + 0x00000008u;
|
|
/* 02C82148 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 02C8214C */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8214C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C8214C */ if (_t28) goto L_02C82150; else goto L_02C82198;
|
|
L_02C82150: ; // 0x2c82150
|
|
/* 02C82150 */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 02C82150 */ cpu->r[10] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C82154 */ _t30 = cpu->r[30] + 0x00000001u;
|
|
/* 02C82154 */ cpu->r[11] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02C82158 */ _t31 = cpu->r[30] + 0x00000004u;
|
|
/* 02C82158 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 02C8215C */ _t32 = cpu->r[31] + 0x00000060u;
|
|
/* 02C8215C */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C82160 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[11]);
|
|
/* 02C82164 */ _t33 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C82164 */ cpu->r[0] = rbrew_read16(cpu->mem, _t33);
|
|
/* 02C82168 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[7]);
|
|
/* 02C8216C */ Gambit_fn_02C824C8(cpu);
|
|
/* 02C82170 */ _t34 = cpu->r[31] + 0x00000006u;
|
|
/* 02C82170 */ cpu->r[12] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02C82174 */ _t35 = cpu->r[30] + 0x00000002u;
|
|
/* 02C82174 */ cpu->r[0] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02C82178 */ _t36 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C82178 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02C8217C */ _t37 = cpu->r[31] + 0x00000060u;
|
|
/* 02C8217C */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C82180 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[0]);
|
|
/* 02C82184 */ _t38 = cpu->r[31] + 0x0000000Eu;
|
|
/* 02C82184 */ cpu->r[8] = rbrew_read16(cpu->mem, _t38);
|
|
/* 02C82188 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[9]);
|
|
/* 02C8218C */ Gambit_fn_02C824C8(cpu);
|
|
/* 02C82190 */ _t39 = cpu->r[30] + 0x00000010u;
|
|
/* 02C82190 */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
/* 02C82194 */ goto L_02C821E8;
|
|
L_02C82198: ; // 0x2c82198
|
|
/* 02C82198 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C8219C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]);
|
|
/* 02C821A0 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C821A0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C821A0 */ if (_t41) goto L_02C821A4; else goto L_02C821A8;
|
|
L_02C821A4: ; // 0x2c821a4
|
|
/* 02C821A4 */ _t42 = cpu->r[30] + 0x00000008u;
|
|
/* 02C821A4 */ rbrew_write32(cpu->mem, _t42, cpu->r[7]);
|
|
L_02C821A8: ; // 0x2c821a8
|
|
/* 02C821A8 */ _t43 = cpu->r[31] + 0x00000008u;
|
|
/* 02C821A8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t43);
|
|
/* 02C821AC */ _t44 = cpu->r[30] + 0x00000001u;
|
|
/* 02C821AC */ cpu->r[11] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02C821B0 */ _t45 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C821B0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t45);
|
|
/* 02C821B4 */ _t46 = cpu->r[31] + 0x00000060u;
|
|
/* 02C821B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C821B8 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[11]);
|
|
/* 02C821BC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[7]);
|
|
/* 02C821C0 */ Gambit_fn_02C824C8(cpu);
|
|
/* 02C821C4 */ _t47 = cpu->r[31] + 0x00000006u;
|
|
/* 02C821C4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t47);
|
|
/* 02C821C8 */ _t48 = cpu->r[30] + 0x00000002u;
|
|
/* 02C821C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02C821CC */ _t49 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C821CC */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
|
|
/* 02C821D0 */ _t50 = cpu->r[31] + 0x00000060u;
|
|
/* 02C821D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C821D4 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[0]);
|
|
/* 02C821D8 */ _t51 = cpu->r[31] + 0x0000000Eu;
|
|
/* 02C821D8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t51);
|
|
/* 02C821DC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[9]);
|
|
/* 02C821E0 */ Gambit_fn_02C824C8(cpu);
|
|
/* 02C821E4 */ _t52 = cpu->r[30] + 0x00000010u;
|
|
/* 02C821E4 */ rbrew_write32(cpu->mem, _t52, cpu->r[3]);
|
|
L_02C821E8: ; // 0x2c821e8
|
|
/* 02C821E8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C821EC */ _t53 = cpu->r[31] + 0x0000000Au;
|
|
/* 02C821EC */ cpu->r[9] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02C821F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02C821F4 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C821F4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C821F4 */ if (_t55) goto L_02C820C0; else goto L_02C821F8;
|
|
L_02C821F8: ; // 0x2c821f8
|
|
/* 02C821F8 */ _t56 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02C821F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C821FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u);
|
|
/* 02C82200 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82200 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C82200 */ if (_t58) goto L_02C82204; else goto L_02C822BC;
|
|
L_02C82204: ; // 0x2c82204
|
|
/* 02C82204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 02C82208 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82208 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C82208 */ if (_t60) goto L_02C8220C; else goto L_02C822BC;
|
|
L_02C8220C: ; // 0x2c8220c
|
|
/* 02C8220C */ _t61 = cpu->r[31] + 0x00000098u;
|
|
/* 02C8220C */ cpu->r[11] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C82210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02C82214 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82214 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C82214 */ if (_t63) goto L_02C82218; else goto L_02C822BC;
|
|
L_02C82218: ; // 0x2c82218
|
|
/* 02C82218 */ _t64 = cpu->r[31] + 0x00000090u;
|
|
/* 02C82218 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C8221C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 02C82220 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82220 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C82220 */ if (_t66) goto L_02C82224; else goto L_02C822BC;
|
|
L_02C82224: ; // 0x2c82224
|
|
/* 02C82224 */ _t67 = cpu->r[31] + 0x00000011u;
|
|
/* 02C82224 */ cpu->r[0] = rbrew_read8(cpu->mem, _t67);
|
|
/* 02C82228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C8222C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8222C */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C8222C */ if (_t69) goto L_02C82230; else goto L_02C822BC;
|
|
L_02C82230: ; // 0x2c82230
|
|
/* 02C82230 */ _t70 = cpu->r[31] + 0x00000025u;
|
|
/* 02C82230 */ cpu->r[6] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02C82234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 02C82238 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82238 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C82238 */ if (_t72) goto L_02C8223C; else goto L_02C822BC;
|
|
L_02C8223C: ; // 0x2c8223c
|
|
/* 02C8223C */ _t73 = cpu->r[31] + 0x00000039u;
|
|
/* 02C8223C */ cpu->r[7] = rbrew_read8(cpu->mem, _t73);
|
|
/* 02C82240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u);
|
|
/* 02C82244 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82244 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C82244 */ if (_t75) goto L_02C82248; else goto L_02C822BC;
|
|
L_02C82248: ; // 0x2c82248
|
|
/* 02C82248 */ _t76 = cpu->r[31] + 0x00000012u;
|
|
/* 02C82248 */ cpu->r[8] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02C8224C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u);
|
|
/* 02C82250 */ _t77 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C82250 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02C82250 */ if (_t78) goto L_02C822BC; else goto L_02C82254;
|
|
L_02C82254: ; // 0x2c82254
|
|
/* 02C82254 */ _t79 = cpu->r[31] + 0x00000026u;
|
|
/* 02C82254 */ cpu->r[9] = rbrew_read8(cpu->mem, _t79);
|
|
/* 02C82258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02C8225C */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8225C */ _t81 = _t80 & 0x00000001u;
|
|
/* 02C8225C */ if (_t81) goto L_02C82260; else goto L_02C822BC;
|
|
L_02C82260: ; // 0x2c82260
|
|
/* 02C82260 */ _t82 = cpu->r[31] + 0x0000003Au;
|
|
/* 02C82260 */ cpu->r[10] = rbrew_read8(cpu->mem, _t82);
|
|
/* 02C82264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02C82268 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82268 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C82268 */ if (_t84) goto L_02C8226C; else goto L_02C822BC;
|
|
L_02C8226C: ; // 0x2c8226c
|
|
/* 02C8226C */ _t85 = cpu->r[31] + 0x00000078u;
|
|
/* 02C8226C */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C82270 */ _t86 = cpu->r[31] + 0x00000014u;
|
|
/* 02C82270 */ cpu->r[11] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C82274 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02C82278 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82278 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C82278 */ if (_t88) goto L_02C8227C; else goto L_02C822BC;
|
|
L_02C8227C: ; // 0x2c8227c
|
|
/* 02C8227C */ _t89 = cpu->r[31] + 0x00000028u;
|
|
/* 02C8227C */ cpu->r[7] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C82280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02C82284 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82284 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02C82284 */ if (_t91) goto L_02C82288; else goto L_02C822BC;
|
|
L_02C82288: ; // 0x2c82288
|
|
/* 02C82288 */ _t92 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C82288 */ cpu->r[8] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C8228C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02C82290 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82290 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02C82290 */ if (_t94) goto L_02C82294; else goto L_02C822BC;
|
|
L_02C82294: ; // 0x2c82294
|
|
/* 02C82294 */ _t95 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C82294 */ cpu->r[6] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02C82298 */ _t96 = cpu->r[31] + 0x00000018u;
|
|
/* 02C82298 */ cpu->r[9] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02C8229C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[6]);
|
|
/* 02C822A0 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C822A0 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02C822A0 */ if (_t98) goto L_02C822A4; else goto L_02C822BC;
|
|
L_02C822A4: ; // 0x2c822a4
|
|
/* 02C822A4 */ _t99 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C822A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C822A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02C822AC */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C822AC */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C822AC */ if (_t101) goto L_02C822B0; else goto L_02C822BC;
|
|
L_02C822B0: ; // 0x2c822b0
|
|
/* 02C822B0 */ _t102 = cpu->r[31] + 0x00000040u;
|
|
/* 02C822B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02C822B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[6]);
|
|
/* 02C822B8 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C822B8 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02C822B8 */ if (_t104) goto L_02C822C8; else goto L_02C822BC;
|
|
L_02C822BC: ; // 0x2c822bc
|
|
/* 02C822BC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C822C0 */ _t105 = cpu->r[31] + 0x00000094u;
|
|
/* 02C822C0 */ rbrew_write32(cpu->mem, _t105, cpu->r[12]);
|
|
/* 02C822C4 */ goto L_02C822D0;
|
|
L_02C822C8: ; // 0x2c822c8
|
|
/* 02C822C8 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C822CC */ _t106 = cpu->r[31] + 0x00000094u;
|
|
/* 02C822CC */ rbrew_write32(cpu->mem, _t106, cpu->r[12]);
|
|
L_02C822D0: ; // 0x2c822d0
|
|
/* 02C822D0 */ _t107 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C822D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02C822D4 */ _t108 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C822D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C822D8 */ _t109 = cpu->r[1] + 0x00000010u;
|
|
/* 02C822D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C822DC */ cpu->lr = cpu->r[0];
|
|
/* 02C822E0 */ _t110 = cpu->r[1] + 0x00000014u;
|
|
/* 02C822E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C822E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C822E8 */ return;
|
|
L_02C822EC: ; // 0x2c822ec
|
|
/* 02C822EC */ _t111 = cpu->r[5] + 0x00000006u;
|
|
/* 02C822EC */ rbrew_write16(cpu->mem, _t111, (uint16_t)cpu->r[4]);
|
|
/* 02C822F0 */ cpu->r[12] = 0x00000002u;
|
|
/* 02C822F4 */ _t112 = cpu->r[5] + 0x00000008u;
|
|
/* 02C822F4 */ rbrew_write16(cpu->mem, _t112, (uint16_t)cpu->r[3]);
|
|
/* 02C822F8 */ cpu->r[0] = 0x0000003Fu;
|
|
/* 02C822FC */ _t113 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02C822FC */ rbrew_write16(cpu->mem, _t113, (uint16_t)cpu->r[12]);
|
|
/* 02C82300 */ cpu->r[11] = 0x00000001u;
|
|
/* 02C82304 */ _t114 = cpu->r[5] + 0x00000088u;
|
|
/* 02C82304 */ rbrew_write32(cpu->mem, _t114, cpu->r[0]);
|
|
/* 02C82308 */ cpu->r[0] = 0x00000008u;
|
|
/* 02C8230C */ _t115 = cpu->r[5] + 0x00000010u;
|
|
/* 02C8230C */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[11]);
|
|
/* 02C82310 */ _t116 = cpu->r[5] + 0x00000060u;
|
|
/* 02C82310 */ rbrew_write32(cpu->mem, _t116, cpu->r[0]);
|
|
/* 02C82314 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C82318 */ _t117 = cpu->r[5] + 0x00000011u;
|
|
/* 02C82318 */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[12]);
|
|
/* 02C8231C */ _t118 = cpu->r[5] + 0x0000000Au;
|
|
/* 02C8231C */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[0]);
|
|
/* 02C82320 */ cpu->r[10] = cpu->r[5] + 0x00000010u;
|
|
/* 02C82324 */ _t119 = cpu->r[5] + 0x00000012u;
|
|
/* 02C82324 */ rbrew_write8(cpu->mem, _t119, (uint8_t)cpu->r[12]);
|
|
/* 02C82328 */ _t120 = cpu->r[10] + 0x00000014u;
|
|
/* 02C82328 */ rbrew_write8(cpu->mem, _t120, (uint8_t)cpu->r[12]);
|
|
/* 02C82328 */ cpu->r[10] = _t120;
|
|
/* 02C8232C */ _t121 = cpu->r[10] + 0x00000001u;
|
|
/* 02C8232C */ rbrew_write8(cpu->mem, _t121, (uint8_t)cpu->r[11]);
|
|
/* 02C82330 */ _t122 = cpu->r[10] + 0x00000002u;
|
|
/* 02C82330 */ rbrew_write8(cpu->mem, _t122, (uint8_t)cpu->r[11]);
|
|
/* 02C82334 */ _t123 = cpu->r[5] + 0x0000003Au;
|
|
/* 02C82334 */ rbrew_write8(cpu->mem, _t123, (uint8_t)cpu->r[11]);
|
|
/* 02C82338 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C8233C */ _t124 = cpu->r[5] + 0x00000038u;
|
|
/* 02C8233C */ rbrew_write8(cpu->mem, _t124, (uint8_t)cpu->r[0]);
|
|
/* 02C82340 */ _t125 = cpu->r[5] + 0x0000000Eu;
|
|
/* 02C82340 */ rbrew_write16(cpu->mem, _t125, (uint16_t)cpu->r[12]);
|
|
/* 02C82344 */ _t126 = cpu->r[5] + 0x00000039u;
|
|
/* 02C82344 */ rbrew_write8(cpu->mem, _t126, (uint8_t)cpu->r[11]);
|
|
/* 02C82348 */ goto L_02C82088;
|
|
}
|
|
|
|
// fn_02C8234C @ 0x2c8234c
|
|
void Gambit_fn_02C8234C(CPUState* cpu) {
|
|
L_02C8234C: ; // 0x2c8234c
|
|
/* 02C8234C */ cpu->r[3] = 0x000048A8u;
|
|
/* 02C82350 */ return;
|
|
}
|
|
|
|
// fn_02C82354 @ 0x2c82354
|
|
void Gambit_fn_02C82354(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C82354: ; // 0x2c82354
|
|
/* 02C82354 */ _t0 = cpu->r[3] + 0x0000000Au;
|
|
/* 02C82354 */ cpu->r[11] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C82358 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C8235C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[11]);
|
|
/* 02C82360 */ cpu->r[12] = 0x00000510u;
|
|
/* 02C82364 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82364 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C82364 */ if (_t2) goto L_02C82368; else goto L_02C823DC;
|
|
L_02C82368: ; // 0x2c82368
|
|
/* 02C82368 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000014u);
|
|
/* 02C8236C */ _t3 = cpu->r[3] + 0x00000078u;
|
|
/* 02C8236C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C82370 */ cpu->r[8] = cpu->r[3] + cpu->r[10];
|
|
/* 02C82374 */ _t4 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02C82374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C82378 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[11]);
|
|
/* 02C8237C */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C8237C */ cpu->r[11] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C82380 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[11]);
|
|
/* 02C82384 */ _t6 = cpu->r[8] + 0x00000011u;
|
|
/* 02C82384 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C82388 */ cpu->r[10] = cpu->r[10] / cpu->r[11];
|
|
/* 02C8238C */ _t7 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02C8238C */ cpu->r[11] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C82390 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[11]);
|
|
/* 02C82394 */ _t8 = cpu->r[8] + 0x00000014u;
|
|
/* 02C82394 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C82398 */ _t9 = cpu->r[8] + 0x00000012u;
|
|
/* 02C82398 */ cpu->r[6] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C8239C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[11]);
|
|
/* 02C823A0 */ _t10 = cpu->r[8] + 0x00000018u;
|
|
/* 02C823A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C823A4 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[6]);
|
|
/* 02C823A8 */ cpu->r[11] = cpu->r[10] + 0x00000007u;
|
|
/* 02C823AC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[9]);
|
|
/* 02C823B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C823B4 */ cpu->r[10] = cpu->r[10] + 0x00000007u;
|
|
/* 02C823B8 */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 02C823BC */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C823C0 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
/* 02C823C4 */ cpu->r[11] = cpu->r[10] + 0x00000010u;
|
|
/* 02C823C8 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
/* 02C823CC */ _t11 = cpu->r[3] + 0x0000000Au;
|
|
/* 02C823CC */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C823D0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02C823D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[11]);
|
|
/* 02C823D8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C823D8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C823D8 */ if (_t13) goto L_02C82368; else goto L_02C823DC;
|
|
L_02C823DC: ; // 0x2c823dc
|
|
/* 02C823DC */ cpu->r[3] = cpu->r[12];
|
|
/* 02C823E0 */ return;
|
|
}
|
|
|
|
// fn_02C823E4 @ 0x2c823e4
|
|
void Gambit_fn_02C823E4(CPUState* cpu) {
|
|
L_02C823E4: ; // 0x2c823e4
|
|
/* 02C823E4 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x0000000Cu);
|
|
/* 02C823E8 */ return;
|
|
}
|
|
|
|
// fn_02C823EC @ 0x2c823ec
|
|
void Gambit_fn_02C823EC(CPUState* 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_02C823EC: ; // 0x2c823ec
|
|
/* 02C823EC */ cpu->r[0] = cpu->lr;
|
|
/* 02C823F0 */ _t0 = cpu->r[1] + 0xFFFFFF38u;
|
|
/* 02C823F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C823F0 */ cpu->r[1] = _t0;
|
|
/* 02C823F4 */ _t1 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C823F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C823F8 */ _t2 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C823F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C823FC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C82400 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C82404 */ _t3 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C82404 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C82408 */ _t4 = cpu->r[1] + 0x000000CCu;
|
|
/* 02C82408 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C8240C */ cpu->r[11] = 0x0000002Du;
|
|
/* 02C82410 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C82414 */ cpu->ctr = cpu->r[11];
|
|
/* 02C82418 */ cpu->r[10] = cpu->r[1] + 0x00000004u;
|
|
L_02C8241C: ; // 0x2c8241c
|
|
/* 02C8241C */ _t5 = cpu->r[10] + 0x00000004u;
|
|
/* 02C8241C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C8241C */ cpu->r[10] = _t5;
|
|
/* 02C82420 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C82420 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C82420 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 02C82420 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C82420 */ if (_t8) goto L_02C8241C; else goto L_02C82424;
|
|
L_02C82424: ; // 0x2c82424
|
|
/* 02C82424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C82428 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82428 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C82428 */ if (_t10) goto L_02C82434; else goto L_02C8242C;
|
|
L_02C8242C: ; // 0x2c8242c
|
|
/* 02C8242C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C82430 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82430 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C82430 */ if (_t12) goto L_02C82434; else goto L_02C82454;
|
|
L_02C82434: ; // 0x2c82434
|
|
/* 02C82434 */ _t13 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C82434 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C82438 */ _t14 = cpu->r[1] + 0x000000CCu;
|
|
/* 02C82438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C8243C */ _t15 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C8243C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C82440 */ cpu->lr = cpu->r[0];
|
|
/* 02C82444 */ _t16 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C82444 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C82448 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 02C8244C */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C82450 */ return;
|
|
L_02C82454: ; // 0x2c82454
|
|
/* 02C82454 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C82458 */ cpu->r[3] = cpu->r[3] + 0xFFFFC6F0u;
|
|
/* 02C8245C */ _t17 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C8245C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C8245C */ if (_t18) goto L_02C82460; // else: addr-0 trap, fall-through
|
|
L_02C82460: ; // 0x2c82460
|
|
/* 02C82460 */ Gambit_fn_02C6AD08(cpu);
|
|
/* 02C82464 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C82468 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02C82468 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 02C8246C */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02C8246C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C82470 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 02C82470 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C82474 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82478 */ Gambit_fn_02C822EC(cpu);
|
|
/* 02C8247C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82480 */ Gambit_fn_02C8234C(cpu);
|
|
/* 02C82484 */ cpu->r[5] = cpu->r[3] + 0x00000054u;
|
|
/* 02C82488 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C8248C */ Gambit_fn_02C82354(cpu);
|
|
/* 02C82490 */ cpu->r[5] = cpu->r[5] + cpu->r[3];
|
|
/* 02C82494 */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 02C82494 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C82498 */ Gambit_fn_02C823E4(cpu);
|
|
/* 02C8249C */ cpu->r[5] = cpu->r[5] + cpu->r[3];
|
|
/* 02C824A0 */ cpu->r[0] = cpu->r[5] + 0x00000400u;
|
|
/* 02C824A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C824A8 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 02C824A8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C824AC */ _t24 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C824AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C824B0 */ _t25 = cpu->r[1] + 0x000000CCu;
|
|
/* 02C824B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C824B4 */ _t26 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C824B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C824B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C824BC */ _t27 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C824BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C824C0 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 02C824C4 */ return;
|
|
}
|
|
|
|
// fn_02C823F0 @ 0x2c823f0
|
|
void Gambit_fn_02C823F0(CPUState* 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_02C823F0: ; // 0x2c823f0
|
|
/* 02C823F0 */ _t0 = cpu->r[1] + 0xFFFFFF38u;
|
|
/* 02C823F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C823F0 */ cpu->r[1] = _t0;
|
|
/* 02C823F4 */ _t1 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C823F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C823F8 */ _t2 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C823F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C823FC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C82400 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C82404 */ _t3 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C82404 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C82408 */ _t4 = cpu->r[1] + 0x000000CCu;
|
|
/* 02C82408 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C8240C */ cpu->r[11] = 0x0000002Du;
|
|
/* 02C82410 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C82414 */ cpu->ctr = cpu->r[11];
|
|
/* 02C82418 */ cpu->r[10] = cpu->r[1] + 0x00000004u;
|
|
L_02C8241C: ; // 0x2c8241c
|
|
/* 02C8241C */ _t5 = cpu->r[10] + 0x00000004u;
|
|
/* 02C8241C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C8241C */ cpu->r[10] = _t5;
|
|
/* 02C82420 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C82420 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C82420 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 02C82420 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C82420 */ if (_t8) goto L_02C8241C; else goto L_02C82424;
|
|
L_02C82424: ; // 0x2c82424
|
|
/* 02C82424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C82428 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82428 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C82428 */ if (_t10) goto L_02C82434; else goto L_02C8242C;
|
|
L_02C8242C: ; // 0x2c8242c
|
|
/* 02C8242C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C82430 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82430 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C82430 */ if (_t12) goto L_02C82434; else goto L_02C82454;
|
|
L_02C82434: ; // 0x2c82434
|
|
/* 02C82434 */ _t13 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C82434 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C82438 */ _t14 = cpu->r[1] + 0x000000CCu;
|
|
/* 02C82438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C8243C */ _t15 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C8243C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C82440 */ cpu->lr = cpu->r[0];
|
|
/* 02C82444 */ _t16 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C82444 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C82448 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 02C8244C */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C82450 */ return;
|
|
L_02C82454: ; // 0x2c82454
|
|
/* 02C82454 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C82458 */ cpu->r[3] = cpu->r[3] + 0xFFFFC6F0u;
|
|
/* 02C8245C */ _t17 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C8245C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C8245C */ if (_t18) goto L_02C82460; // else: addr-0 trap, fall-through
|
|
L_02C82460: ; // 0x2c82460
|
|
/* 02C82460 */ Gambit_fn_02C6AD08(cpu);
|
|
/* 02C82464 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C82468 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02C82468 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 02C8246C */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02C8246C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C82470 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 02C82470 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C82474 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82478 */ Gambit_fn_02C822EC(cpu);
|
|
/* 02C8247C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82480 */ Gambit_fn_02C8234C(cpu);
|
|
/* 02C82484 */ cpu->r[5] = cpu->r[3] + 0x00000054u;
|
|
/* 02C82488 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C8248C */ Gambit_fn_02C82354(cpu);
|
|
/* 02C82490 */ cpu->r[5] = cpu->r[5] + cpu->r[3];
|
|
/* 02C82494 */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 02C82494 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C82498 */ Gambit_fn_02C823E4(cpu);
|
|
/* 02C8249C */ cpu->r[5] = cpu->r[5] + cpu->r[3];
|
|
/* 02C824A0 */ cpu->r[0] = cpu->r[5] + 0x00000400u;
|
|
/* 02C824A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C824A8 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 02C824A8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C824AC */ _t24 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C824AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C824B0 */ _t25 = cpu->r[1] + 0x000000CCu;
|
|
/* 02C824B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C824B4 */ _t26 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C824B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C824B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C824BC */ _t27 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C824BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C824C0 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 02C824C4 */ return;
|
|
}
|
|
|
|
// fn_02C824C8 @ 0x2c824c8
|
|
void Gambit_fn_02C824C8(CPUState* cpu) {
|
|
L_02C824C8: ; // 0x2c824c8
|
|
/* 02C824C8 */ cpu->r[12] = cpu->r[3] + cpu->r[4];
|
|
/* 02C824CC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C824D0 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[0] / (int32_t)cpu->r[4]);
|
|
/* 02C824D4 */ return;
|
|
}
|
|
|
|
// fn_02C824D8 @ 0x2c824d8
|
|
void Gambit_fn_02C824D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C824D8: ; // 0x2c824d8
|
|
/* 02C824D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C824DC */ cpu->r[11] = cpu->r[1];
|
|
/* 02C824E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C824E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C824E0 */ cpu->r[1] = _t0;
|
|
/* 02C824E4 */ Gambit_fn_02C8A530(cpu);
|
|
/* 02C824E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C824EC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C824F0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C824F4 */ cpu->r[29] = cpu->r[1] + 0x00000008u;
|
|
/* 02C824F8 */ Gambit_fn_02C86A98(cpu);
|
|
/* 02C824FC */ cpu->r[28] = 0x02D10000u;
|
|
/* 02C82500 */ cpu->r[28] = cpu->r[28] + 0xFFFFB960u;
|
|
/* 02C82504 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C82508 */ cpu->r[4] = cpu->r[28] + 0x00000020u;
|
|
/* 02C8250C */ Gambit_fn_02C86828(cpu);
|
|
/* 02C82510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C82514 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82514 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C82514 */ if (_t2) goto L_02C82518; else goto L_02C82520;
|
|
L_02C82518: ; // 0x2c82518
|
|
/* 02C82518 */ cpu->r[31] = 0x101B0000u;
|
|
/* 02C8251C */ cpu->r[31] = cpu->r[31] + 0x00004288u;
|
|
L_02C82520: ; // 0x2c82520
|
|
/* 02C82520 */ cpu->r[4] = cpu->r[28] + 0x00000020u;
|
|
/* 02C82524 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C82528 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8252C */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C82530 */ cpu->r[4] = cpu->r[28] + 0x00000020u;
|
|
/* 02C82534 */ cpu->r[3] = cpu->r[3] + 0x00004290u;
|
|
/* 02C82538 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8253C */ Gambit_fn_02C8706C(cpu);
|
|
/* 02C82540 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82544 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C82548 */ _t3 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C82548 */ rbrew_write32(cpu->mem, _t3, cpu->r[1]);
|
|
/* 02C82548 */ cpu->r[1] = _t3;
|
|
/* 02C8254C */ Gambit_fn_02C8A534(cpu);
|
|
/* 02C82550 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02C82550 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C82554 */ _t5 = cpu->r[12] + 0x00000014u;
|
|
/* 02C82554 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C82558 */ cpu->ctr = cpu->r[12];
|
|
/* 02C8255C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C82560 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C82564 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C82568 */ cpu->r[3] = cpu->r[3] + 0x00004292u;
|
|
/* 02C8256C */ Gambit_fn_02C824D8(cpu);
|
|
/* 02C82570 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C82574 */ goto L_02C8A58C;
|
|
L_02C8A58C: ; // 0x2c8a58c
|
|
/* 02C8A58C */ _t6 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C8A590 */ _t7 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8A594 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C8A598 */ _t9 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C824E0 @ 0x2c824e0
|
|
void Gambit_fn_02C824E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C824E0: ; // 0x2c824e0
|
|
/* 02C824E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C824E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C824E0 */ cpu->r[1] = _t0;
|
|
/* 02C824E4 */ Gambit_fn_02C8A530(cpu);
|
|
/* 02C824E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C824EC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C824F0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C824F4 */ cpu->r[29] = cpu->r[1] + 0x00000008u;
|
|
/* 02C824F8 */ Gambit_fn_02C86A98(cpu);
|
|
/* 02C824FC */ cpu->r[28] = 0x02D10000u;
|
|
/* 02C82500 */ cpu->r[28] = cpu->r[28] + 0xFFFFB960u;
|
|
/* 02C82504 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C82508 */ cpu->r[4] = cpu->r[28] + 0x00000020u;
|
|
/* 02C8250C */ Gambit_fn_02C86828(cpu);
|
|
/* 02C82510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C82514 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82514 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C82514 */ if (_t2) goto L_02C82518; else goto L_02C82520;
|
|
L_02C82518: ; // 0x2c82518
|
|
/* 02C82518 */ cpu->r[31] = 0x101B0000u;
|
|
/* 02C8251C */ cpu->r[31] = cpu->r[31] + 0x00004288u;
|
|
L_02C82520: ; // 0x2c82520
|
|
/* 02C82520 */ cpu->r[4] = cpu->r[28] + 0x00000020u;
|
|
/* 02C82524 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C82528 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8252C */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C82530 */ cpu->r[4] = cpu->r[28] + 0x00000020u;
|
|
/* 02C82534 */ cpu->r[3] = cpu->r[3] + 0x00004290u;
|
|
/* 02C82538 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8253C */ Gambit_fn_02C8706C(cpu);
|
|
/* 02C82540 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82544 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C82548 */ _t3 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C82548 */ rbrew_write32(cpu->mem, _t3, cpu->r[1]);
|
|
/* 02C82548 */ cpu->r[1] = _t3;
|
|
/* 02C8254C */ Gambit_fn_02C8A534(cpu);
|
|
/* 02C82550 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02C82550 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C82554 */ _t5 = cpu->r[12] + 0x00000014u;
|
|
/* 02C82554 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C82558 */ cpu->ctr = cpu->r[12];
|
|
/* 02C8255C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C82560 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C82564 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C82568 */ cpu->r[3] = cpu->r[3] + 0x00004292u;
|
|
/* 02C8256C */ Gambit_fn_02C824D8(cpu);
|
|
/* 02C82570 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C82574 */ goto L_02C8A58C;
|
|
L_02C8A58C: ; // 0x2c8a58c
|
|
/* 02C8A58C */ _t6 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C8A590 */ _t7 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8A594 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C8A598 */ _t9 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82540 @ 0x2c82540
|
|
void Gambit_fn_02C82540(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C82540: ; // 0x2c82540
|
|
/* 02C82540 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82544 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C82548 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C82548 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82548 */ cpu->r[1] = _t0;
|
|
/* 02C8254C */ Gambit_fn_02C8A534(cpu);
|
|
/* 02C82550 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C82550 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C82554 */ _t2 = cpu->r[12] + 0x00000014u;
|
|
/* 02C82554 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C82558 */ cpu->ctr = cpu->r[12];
|
|
/* 02C8255C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C82560 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C82564 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C82568 */ cpu->r[3] = cpu->r[3] + 0x00004292u;
|
|
/* 02C8256C */ Gambit_fn_02C824D8(cpu);
|
|
/* 02C82570 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C82574 */ goto L_02C8A58C;
|
|
L_02C8A58C: ; // 0x2c8a58c
|
|
/* 02C8A58C */ _t3 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C8A590 */ _t4 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C8A594 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C8A598 */ _t6 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82548 @ 0x2c82548
|
|
void Gambit_fn_02C82548(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C82548: ; // 0x2c82548
|
|
/* 02C82548 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C82548 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82548 */ cpu->r[1] = _t0;
|
|
/* 02C8254C */ Gambit_fn_02C8A534(cpu);
|
|
/* 02C82550 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C82550 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C82554 */ _t2 = cpu->r[12] + 0x00000014u;
|
|
/* 02C82554 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C82558 */ cpu->ctr = cpu->r[12];
|
|
/* 02C8255C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C82560 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C82564 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C82568 */ cpu->r[3] = cpu->r[3] + 0x00004292u;
|
|
/* 02C8256C */ Gambit_fn_02C824D8(cpu);
|
|
/* 02C82570 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C82574 */ goto L_02C8A58C;
|
|
L_02C8A58C: ; // 0x2c8a58c
|
|
/* 02C8A58C */ _t3 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C8A590 */ _t4 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C8A594 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C8A598 */ _t6 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82578 @ 0x2c82578
|
|
void Gambit_fn_02C82578(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C82578: ; // 0x2c82578
|
|
/* 02C82578 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C82578 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82578 */ cpu->r[1] = _t0;
|
|
/* 02C8257C */ /* nop */
|
|
/* 02C82580 */ cpu->r[29] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82584 */ _t1 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C82584 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C82588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000010u);
|
|
/* 02C8258C */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 02C82590 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82590 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82590 */ if (_t3) goto L_02C8259C; else goto L_02C82594;
|
|
L_02C82594: ; // 0x2c82594
|
|
/* 02C82594 */ _t4 = cpu->r[3] + 0x00000014u;
|
|
/* 02C82594 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C82598 */ goto L_02C825A0;
|
|
L_02C8259C: ; // 0x2c8259c
|
|
/* 02C8259C */ cpu->r[11] = cpu->r[12];
|
|
L_02C825A0: ; // 0x2c825a0
|
|
/* 02C825A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02C825A4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C825A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C825A4 */ if (_t6) goto L_02C825C4; else goto L_02C825A8;
|
|
L_02C825A8: ; // 0x2c825a8
|
|
/* 02C825A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000010u);
|
|
/* 02C825AC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C825AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C825AC */ if (_t8) goto L_02C825B4; else goto L_02C825B0;
|
|
L_02C825B0: ; // 0x2c825b0
|
|
/* 02C825B0 */ _t9 = cpu->r[12] + 0x00000010u;
|
|
/* 02C825B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
L_02C825B4: ; // 0x2c825b4
|
|
/* 02C825B4 */ _t10 = cpu->r[3] + 0x00000018u;
|
|
/* 02C825B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C825B8 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
/* 02C825BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
|
|
/* 02C825C0 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C825C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C825C0 */ if (_t12) goto L_02C825CC; else goto L_02C825C4;
|
|
L_02C825C4: ; // 0x2c825c4
|
|
/* 02C825C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C825C8 */ goto L_02C825D0;
|
|
L_02C825CC: ; // 0x2c825cc
|
|
/* 02C825CC */ cpu->r[3] = 0x00000001u;
|
|
L_02C825D0: ; // 0x2c825d0
|
|
/* 02C825D0 */ /* nop */
|
|
/* 02C825D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C825D8 */ return;
|
|
}
|
|
|
|
// fn_02C825DC @ 0x2c825dc
|
|
void Gambit_fn_02C825DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C825DC: ; // 0x2c825dc
|
|
/* 02C825DC */ cpu->r[0] = cpu->lr;
|
|
/* 02C825E0 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C825E4 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02C825E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C825E4 */ cpu->r[1] = _t0;
|
|
/* 02C825E8 */ Gambit_fn_02C8A534(cpu);
|
|
/* 02C825EC */ cpu->r[29] = cpu->r[1] + 0x00000054u;
|
|
/* 02C825F0 */ cpu->r[31] = 0x0000000Fu;
|
|
/* 02C825F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C825F8 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C825F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C825FC */ cpu->r[5] = 0x00000017u;
|
|
/* 02C82600 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C82604 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02C82604 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C82608 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02C8260C */ cpu->r[4] = cpu->r[4] + 0x00004392u;
|
|
/* 02C82610 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02C82610 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[30]);
|
|
/* 02C82614 */ Gambit_fn_02C82A50(cpu);
|
|
/* 02C82618 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8261C */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02C8261C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C82620 */ cpu->r[6] = 0x10020000u;
|
|
/* 02C82624 */ cpu->r[12] = cpu->r[12] + 0x000042B8u;
|
|
/* 02C82628 */ _t5 = cpu->r[6] + 0xFFFFF884u;
|
|
/* 02C82628 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C8262C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8262C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 02C82630 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C82634 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82634 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C82638 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8263C */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02C82640 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C82640 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C82644 */ cpu->r[12] = cpu->r[12] + 0x000042C0u;
|
|
/* 02C82648 */ cpu->r[31] = cpu->r[1] + 0x00000014u;
|
|
/* 02C8264C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02C82650 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82650 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C82654 */ Gambit_fn_02C82958(cpu);
|
|
/* 02C82658 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8265C */ cpu->r[12] = cpu->r[12] + 0x000042F0u;
|
|
/* 02C82660 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82660 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C82664 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C82668 */ _t11 = cpu->r[12] + 0xFFFFC3D0u;
|
|
/* 02C82668 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C8266C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C82670 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82670 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C82670 */ if (_t13) goto L_02C82680; else goto L_02C82674;
|
|
L_02C82674: ; // 0x2c82674
|
|
/* 02C82674 */ cpu->ctr = cpu->r[12];
|
|
/* 02C82678 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C8267C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C82680: ; // 0x2c82680
|
|
/* 02C82680 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82684 */ Gambit_fn_02C82540(cpu);
|
|
/* 02C82688 */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C82688 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C8268C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82690 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82690 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C82690 */ if (_t16) goto L_02C8269C; else goto L_02C82694;
|
|
L_02C82694: ; // 0x2c82694
|
|
/* 02C82694 */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 02C82694 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C82698 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C8269C: ; // 0x2c8269c
|
|
/* 02C8269C */ cpu->r[12] = 0x0000000Fu;
|
|
/* 02C826A0 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C826A0 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02C826A4 */ _t19 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C826A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C826A8 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02C826A8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02C826AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C826B0 */ _t21 = cpu->r[31] + 0x00000000u;
|
|
/* 02C826B0 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02C826B4 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C826B4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C826B4 */ if (_t23) goto L_02C826C0; else goto L_02C826B8;
|
|
L_02C826B8: ; // 0x2c826b8
|
|
/* 02C826B8 */ _t24 = cpu->r[1] + 0x00000044u;
|
|
/* 02C826B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C826BC */ Gambit_fn_02801BB0(cpu);
|
|
L_02C826C0: ; // 0x2c826c0
|
|
/* 02C826C0 */ cpu->r[11] = cpu->r[1] + 0x00000060u;
|
|
/* 02C826C4 */ goto L_02C8A58C;
|
|
L_02C8A58C: ; // 0x2c8a58c
|
|
/* 02C8A58C */ _t25 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A590 */ _t26 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A594 */ _t27 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A598 */ _t28 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C825E4 @ 0x2c825e4
|
|
void Gambit_fn_02C825E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C825E4: ; // 0x2c825e4
|
|
/* 02C825E4 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02C825E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C825E4 */ cpu->r[1] = _t0;
|
|
/* 02C825E8 */ Gambit_fn_02C8A534(cpu);
|
|
/* 02C825EC */ cpu->r[29] = cpu->r[1] + 0x00000054u;
|
|
/* 02C825F0 */ cpu->r[31] = 0x0000000Fu;
|
|
/* 02C825F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C825F8 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C825F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C825FC */ cpu->r[5] = 0x00000017u;
|
|
/* 02C82600 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C82604 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02C82604 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C82608 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02C8260C */ cpu->r[4] = cpu->r[4] + 0x00004392u;
|
|
/* 02C82610 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02C82610 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[30]);
|
|
/* 02C82614 */ Gambit_fn_02C82A50(cpu);
|
|
/* 02C82618 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8261C */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02C8261C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C82620 */ cpu->r[6] = 0x10020000u;
|
|
/* 02C82624 */ cpu->r[12] = cpu->r[12] + 0x000042B8u;
|
|
/* 02C82628 */ _t5 = cpu->r[6] + 0xFFFFF884u;
|
|
/* 02C82628 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C8262C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8262C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 02C82630 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C82634 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82634 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C82638 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8263C */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02C82640 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C82640 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C82644 */ cpu->r[12] = cpu->r[12] + 0x000042C0u;
|
|
/* 02C82648 */ cpu->r[31] = cpu->r[1] + 0x00000014u;
|
|
/* 02C8264C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02C82650 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82650 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C82654 */ Gambit_fn_02C82958(cpu);
|
|
/* 02C82658 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8265C */ cpu->r[12] = cpu->r[12] + 0x000042F0u;
|
|
/* 02C82660 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82660 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C82664 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C82668 */ _t11 = cpu->r[12] + 0xFFFFC3D0u;
|
|
/* 02C82668 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C8266C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C82670 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82670 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C82670 */ if (_t13) goto L_02C82680; else goto L_02C82674;
|
|
L_02C82674: ; // 0x2c82674
|
|
/* 02C82674 */ cpu->ctr = cpu->r[12];
|
|
/* 02C82678 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C8267C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C82680: ; // 0x2c82680
|
|
/* 02C82680 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82684 */ Gambit_fn_02C82540(cpu);
|
|
/* 02C82688 */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C82688 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C8268C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82690 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82690 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C82690 */ if (_t16) goto L_02C8269C; else goto L_02C82694;
|
|
L_02C82694: ; // 0x2c82694
|
|
/* 02C82694 */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 02C82694 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C82698 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C8269C: ; // 0x2c8269c
|
|
/* 02C8269C */ cpu->r[12] = 0x0000000Fu;
|
|
/* 02C826A0 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C826A0 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02C826A4 */ _t19 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C826A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C826A8 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02C826A8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02C826AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C826B0 */ _t21 = cpu->r[31] + 0x00000000u;
|
|
/* 02C826B0 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02C826B4 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C826B4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C826B4 */ if (_t23) goto L_02C826C0; else goto L_02C826B8;
|
|
L_02C826B8: ; // 0x2c826b8
|
|
/* 02C826B8 */ _t24 = cpu->r[1] + 0x00000044u;
|
|
/* 02C826B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C826BC */ Gambit_fn_02801BB0(cpu);
|
|
L_02C826C0: ; // 0x2c826c0
|
|
/* 02C826C0 */ cpu->r[11] = cpu->r[1] + 0x00000060u;
|
|
/* 02C826C4 */ goto L_02C8A58C;
|
|
L_02C8A58C: ; // 0x2c8a58c
|
|
/* 02C8A58C */ _t25 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A590 */ _t26 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A594 */ _t27 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A598 */ _t28 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C826C8 @ 0x2c826c8
|
|
void Gambit_fn_02C826C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C826C8: ; // 0x2c826c8
|
|
/* 02C826C8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C826CC */ cpu->r[11] = cpu->r[1];
|
|
/* 02C826D0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C826D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C826D0 */ cpu->r[1] = _t0;
|
|
/* 02C826D4 */ Gambit_fn_02C8A52C(cpu);
|
|
/* 02C826D8 */ cpu->r[29] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C826DC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C826E0 */ _t1 = cpu->r[31] + 0x00000018u;
|
|
/* 02C826E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C826E4 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C826E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[27]);
|
|
/* 02C826EC */ cpu->r[28] = cpu->r[5];
|
|
/* 02C826F0 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C826F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C826F0 */ if (_t3) goto L_02C826F4; else goto L_02C826FC;
|
|
L_02C826F4: ; // 0x2c826f4
|
|
/* 02C826F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C826F8 */ Gambit_fn_02C825DC(cpu);
|
|
L_02C826FC: ; // 0x2c826fc
|
|
/* 02C826FC */ _t4 = cpu->r[31] + 0x00000018u;
|
|
/* 02C826FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C82700 */ cpu->r[11] = cpu->r[12] - cpu->r[27];
|
|
/* 02C82704 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[28]);
|
|
/* 02C82708 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82708 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C82708 */ if (_t6) goto L_02C8270C; else goto L_02C82710;
|
|
L_02C8270C: ; // 0x2c8270c
|
|
/* 02C8270C */ cpu->r[28] = cpu->r[11];
|
|
L_02C82710: ; // 0x2c82710
|
|
/* 02C82710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C82714 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82714 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C82714 */ if (_t8) goto L_02C82780; else goto L_02C82718;
|
|
L_02C82718: ; // 0x2c82718
|
|
/* 02C82718 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C82718 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C8271C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82720 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 02C82724 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82724 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C82724 */ if (_t11) goto L_02C82730; else goto L_02C82728;
|
|
L_02C82728: ; // 0x2c82728
|
|
/* 02C82728 */ _t12 = cpu->r[31] + 0x00000014u;
|
|
/* 02C82728 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C8272C */ goto L_02C82734;
|
|
L_02C82730: ; // 0x2c82730
|
|
/* 02C82730 */ cpu->r[10] = cpu->r[30];
|
|
L_02C82734: ; // 0x2c82734
|
|
/* 02C82734 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82738 */ cpu->r[3] = cpu->r[10] + cpu->r[27];
|
|
/* 02C8273C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8273C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C8273C */ if (_t14) goto L_02C82748; else goto L_02C82740;
|
|
L_02C82740: ; // 0x2c82740
|
|
/* 02C82740 */ _t15 = cpu->r[30] + 0x00000010u;
|
|
/* 02C82740 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C82744 */ goto L_02C8274C;
|
|
L_02C82748: ; // 0x2c82748
|
|
/* 02C82748 */ cpu->r[12] = cpu->r[30];
|
|
L_02C8274C: ; // 0x2c8274c
|
|
/* 02C8274C */ cpu->r[12] = cpu->r[12] + cpu->r[27];
|
|
/* 02C82750 */ cpu->r[5] = cpu->r[11] - cpu->r[28];
|
|
/* 02C82754 */ cpu->r[4] = cpu->r[12] + cpu->r[28];
|
|
/* 02C82758 */ rbrew_dispatch(cpu, 0x02d0b878u);
|
|
/* 02C8275C */ _t16 = cpu->r[31] + 0x00000018u;
|
|
/* 02C8275C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C82760 */ cpu->r[11] = cpu->r[12] - cpu->r[28];
|
|
/* 02C82764 */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C82764 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C82768 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C8276C */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8276C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C8276C */ if (_t19) goto L_02C82774; else goto L_02C82770;
|
|
L_02C82770: ; // 0x2c82770
|
|
/* 02C82770 */ _t20 = cpu->r[30] + 0x00000010u;
|
|
/* 02C82770 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
L_02C82774: ; // 0x2c82774
|
|
/* 02C82774 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C82778 */ _t21 = cpu->r[31] + 0x00000018u;
|
|
/* 02C82778 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 02C8277C */ _t22 = cpu->r[30] + cpu->r[11];
|
|
/* 02C8277C */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[12]);
|
|
L_02C82780: ; // 0x2c82780
|
|
/* 02C82780 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C82784 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C82788 */ goto L_02C8A584;
|
|
L_02C8A584: ; // 0x2c8a584
|
|
/* 02C8A584 */ _t23 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C8A588 */ _t24 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C8A58C */ _t25 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A590 */ _t26 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A594 */ _t27 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A598 */ _t28 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C826D0 @ 0x2c826d0
|
|
void Gambit_fn_02C826D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C826D0: ; // 0x2c826d0
|
|
/* 02C826D0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C826D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C826D0 */ cpu->r[1] = _t0;
|
|
/* 02C826D4 */ Gambit_fn_02C8A52C(cpu);
|
|
/* 02C826D8 */ cpu->r[29] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C826DC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C826E0 */ _t1 = cpu->r[31] + 0x00000018u;
|
|
/* 02C826E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C826E4 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C826E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[27]);
|
|
/* 02C826EC */ cpu->r[28] = cpu->r[5];
|
|
/* 02C826F0 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C826F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C826F0 */ if (_t3) goto L_02C826F4; else goto L_02C826FC;
|
|
L_02C826F4: ; // 0x2c826f4
|
|
/* 02C826F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C826F8 */ Gambit_fn_02C825DC(cpu);
|
|
L_02C826FC: ; // 0x2c826fc
|
|
/* 02C826FC */ _t4 = cpu->r[31] + 0x00000018u;
|
|
/* 02C826FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C82700 */ cpu->r[11] = cpu->r[12] - cpu->r[27];
|
|
/* 02C82704 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[28]);
|
|
/* 02C82708 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82708 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C82708 */ if (_t6) goto L_02C8270C; else goto L_02C82710;
|
|
L_02C8270C: ; // 0x2c8270c
|
|
/* 02C8270C */ cpu->r[28] = cpu->r[11];
|
|
L_02C82710: ; // 0x2c82710
|
|
/* 02C82710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C82714 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82714 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C82714 */ if (_t8) goto L_02C82780; else goto L_02C82718;
|
|
L_02C82718: ; // 0x2c82718
|
|
/* 02C82718 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C82718 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C8271C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82720 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 02C82724 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82724 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C82724 */ if (_t11) goto L_02C82730; else goto L_02C82728;
|
|
L_02C82728: ; // 0x2c82728
|
|
/* 02C82728 */ _t12 = cpu->r[31] + 0x00000014u;
|
|
/* 02C82728 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C8272C */ goto L_02C82734;
|
|
L_02C82730: ; // 0x2c82730
|
|
/* 02C82730 */ cpu->r[10] = cpu->r[30];
|
|
L_02C82734: ; // 0x2c82734
|
|
/* 02C82734 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82738 */ cpu->r[3] = cpu->r[10] + cpu->r[27];
|
|
/* 02C8273C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8273C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C8273C */ if (_t14) goto L_02C82748; else goto L_02C82740;
|
|
L_02C82740: ; // 0x2c82740
|
|
/* 02C82740 */ _t15 = cpu->r[30] + 0x00000010u;
|
|
/* 02C82740 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C82744 */ goto L_02C8274C;
|
|
L_02C82748: ; // 0x2c82748
|
|
/* 02C82748 */ cpu->r[12] = cpu->r[30];
|
|
L_02C8274C: ; // 0x2c8274c
|
|
/* 02C8274C */ cpu->r[12] = cpu->r[12] + cpu->r[27];
|
|
/* 02C82750 */ cpu->r[5] = cpu->r[11] - cpu->r[28];
|
|
/* 02C82754 */ cpu->r[4] = cpu->r[12] + cpu->r[28];
|
|
/* 02C82758 */ rbrew_dispatch(cpu, 0x02d0b878u);
|
|
/* 02C8275C */ _t16 = cpu->r[31] + 0x00000018u;
|
|
/* 02C8275C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C82760 */ cpu->r[11] = cpu->r[12] - cpu->r[28];
|
|
/* 02C82764 */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C82764 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C82768 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C8276C */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8276C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C8276C */ if (_t19) goto L_02C82774; else goto L_02C82770;
|
|
L_02C82770: ; // 0x2c82770
|
|
/* 02C82770 */ _t20 = cpu->r[30] + 0x00000010u;
|
|
/* 02C82770 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
L_02C82774: ; // 0x2c82774
|
|
/* 02C82774 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C82778 */ _t21 = cpu->r[31] + 0x00000018u;
|
|
/* 02C82778 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 02C8277C */ _t22 = cpu->r[30] + cpu->r[11];
|
|
/* 02C8277C */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[12]);
|
|
L_02C82780: ; // 0x2c82780
|
|
/* 02C82780 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C82784 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C82788 */ goto L_02C8A584;
|
|
L_02C8A584: ; // 0x2c8a584
|
|
/* 02C8A584 */ _t23 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C8A588 */ _t24 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C8A58C */ _t25 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A590 */ _t26 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A594 */ _t27 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A598 */ _t28 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C8278C @ 0x2c8278c
|
|
void Gambit_fn_02C8278C(CPUState* 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_02C8278C: ; // 0x2c8278c
|
|
/* 02C8278C */ cpu->r[0] = cpu->lr;
|
|
/* 02C82790 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C82794 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C82794 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82794 */ cpu->r[1] = _t0;
|
|
/* 02C82798 */ Gambit_fn_02C8A52C(cpu);
|
|
/* 02C8279C */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 02C827A0 */ cpu->r[27] = cpu->r[4] | 0x0000000Fu;
|
|
/* 02C827A4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C827A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[12]);
|
|
/* 02C827AC */ cpu->r[29] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C827B0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C827B4 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C827B4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C827B4 */ if (_t2) goto L_02C827B8; else goto L_02C827C0;
|
|
L_02C827B8: ; // 0x2c827b8
|
|
/* 02C827B8 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C827BC */ goto L_02C827E8;
|
|
L_02C827C0: ; // 0x2c827c0
|
|
/* 02C827C0 */ cpu->r[10] = 0x00000003u;
|
|
/* 02C827C4 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C827C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C827C8 */ cpu->r[10] = cpu->r[27] / cpu->r[10];
|
|
/* 02C827CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C827D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C827D4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C827D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C827D4 */ if (_t5) goto L_02C827D8; else goto L_02C827E8;
|
|
L_02C827D8: ; // 0x2c827d8
|
|
/* 02C827D8 */ cpu->r[10] = 0xFFFFFFFEu - cpu->r[11];
|
|
/* 02C827DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02C827E0 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C827E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C827E0 */ if (_t7) goto L_02C827E8; else goto L_02C827E4;
|
|
L_02C827E4: ; // 0x2c827e4
|
|
/* 02C827E4 */ cpu->r[27] = cpu->r[12] + cpu->r[11];
|
|
L_02C827E8: ; // 0x2c827e8
|
|
/* 02C827E8 */ cpu->r[3] = cpu->r[27] + 0x00000001u;
|
|
/* 02C827EC */ Gambit_fn_02801A78(cpu);
|
|
/* 02C827F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C827F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C827F8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C827F8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C827F8 */ if (_t9) goto L_02C82820; else goto L_02C827FC;
|
|
L_02C827FC: ; // 0x2c827fc
|
|
/* 02C827FC */ _t10 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C827FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C82800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82804 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82804 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C82804 */ if (_t12) goto L_02C82810; else goto L_02C82808;
|
|
L_02C82808: ; // 0x2c82808
|
|
/* 02C82808 */ _t13 = cpu->r[28] + 0x00000014u;
|
|
/* 02C82808 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C8280C */ goto L_02C82814;
|
|
L_02C82810: ; // 0x2c82810
|
|
/* 02C82810 */ cpu->r[4] = cpu->r[28] + 0x00000004u;
|
|
L_02C82814: ; // 0x2c82814
|
|
/* 02C82814 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C82818 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C8281C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02C82820: ; // 0x2c82820
|
|
/* 02C82820 */ _t14 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C82820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C82824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82828 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82828 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C82828 */ if (_t16) goto L_02C82834; else goto L_02C8282C;
|
|
L_02C8282C: ; // 0x2c8282c
|
|
/* 02C8282C */ _t17 = cpu->r[28] + 0x00000014u;
|
|
/* 02C8282C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C82830 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C82834: ; // 0x2c82834
|
|
/* 02C82834 */ _t18 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C82834 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
/* 02C82838 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000010u);
|
|
/* 02C8283C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C82840 */ _t19 = cpu->r[28] + 0x00000014u;
|
|
/* 02C82840 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 02C82844 */ cpu->r[12] = cpu->r[28] + 0x00000004u;
|
|
/* 02C82848 */ _t20 = cpu->r[28] + 0x00000004u;
|
|
/* 02C82848 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[11]);
|
|
/* 02C8284C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8284C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C8284C */ if (_t22) goto L_02C82850; else goto L_02C82854;
|
|
L_02C82850: ; // 0x2c82850
|
|
/* 02C82850 */ cpu->r[31] = cpu->r[12];
|
|
L_02C82854: ; // 0x2c82854
|
|
/* 02C82854 */ _t23 = cpu->r[28] + 0x00000018u;
|
|
/* 02C82854 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02C82858 */ _t24 = cpu->r[31] + cpu->r[30];
|
|
/* 02C82858 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[11]);
|
|
/* 02C8285C */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C82860 */ goto L_02C8A584;
|
|
L_02C8A584: ; // 0x2c8a584
|
|
/* 02C8A584 */ _t25 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A588 */ _t26 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A58C */ _t27 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A590 */ _t28 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A594 */ _t29 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C8A598 */ _t30 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82794 @ 0x2c82794
|
|
void Gambit_fn_02C82794(CPUState* 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_02C82794: ; // 0x2c82794
|
|
/* 02C82794 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C82794 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82794 */ cpu->r[1] = _t0;
|
|
/* 02C82798 */ Gambit_fn_02C8A52C(cpu);
|
|
/* 02C8279C */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 02C827A0 */ cpu->r[27] = cpu->r[4] | 0x0000000Fu;
|
|
/* 02C827A4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C827A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[12]);
|
|
/* 02C827AC */ cpu->r[29] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C827B0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C827B4 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C827B4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C827B4 */ if (_t2) goto L_02C827B8; else goto L_02C827C0;
|
|
L_02C827B8: ; // 0x2c827b8
|
|
/* 02C827B8 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C827BC */ goto L_02C827E8;
|
|
L_02C827C0: ; // 0x2c827c0
|
|
/* 02C827C0 */ cpu->r[10] = 0x00000003u;
|
|
/* 02C827C4 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C827C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C827C8 */ cpu->r[10] = cpu->r[27] / cpu->r[10];
|
|
/* 02C827CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C827D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C827D4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C827D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C827D4 */ if (_t5) goto L_02C827D8; else goto L_02C827E8;
|
|
L_02C827D8: ; // 0x2c827d8
|
|
/* 02C827D8 */ cpu->r[10] = 0xFFFFFFFEu - cpu->r[11];
|
|
/* 02C827DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02C827E0 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C827E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C827E0 */ if (_t7) goto L_02C827E8; else goto L_02C827E4;
|
|
L_02C827E4: ; // 0x2c827e4
|
|
/* 02C827E4 */ cpu->r[27] = cpu->r[12] + cpu->r[11];
|
|
L_02C827E8: ; // 0x2c827e8
|
|
/* 02C827E8 */ cpu->r[3] = cpu->r[27] + 0x00000001u;
|
|
/* 02C827EC */ Gambit_fn_02801A78(cpu);
|
|
/* 02C827F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C827F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C827F8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C827F8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C827F8 */ if (_t9) goto L_02C82820; else goto L_02C827FC;
|
|
L_02C827FC: ; // 0x2c827fc
|
|
/* 02C827FC */ _t10 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C827FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C82800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82804 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82804 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C82804 */ if (_t12) goto L_02C82810; else goto L_02C82808;
|
|
L_02C82808: ; // 0x2c82808
|
|
/* 02C82808 */ _t13 = cpu->r[28] + 0x00000014u;
|
|
/* 02C82808 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C8280C */ goto L_02C82814;
|
|
L_02C82810: ; // 0x2c82810
|
|
/* 02C82810 */ cpu->r[4] = cpu->r[28] + 0x00000004u;
|
|
L_02C82814: ; // 0x2c82814
|
|
/* 02C82814 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C82818 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C8281C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02C82820: ; // 0x2c82820
|
|
/* 02C82820 */ _t14 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C82820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C82824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82828 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82828 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C82828 */ if (_t16) goto L_02C82834; else goto L_02C8282C;
|
|
L_02C8282C: ; // 0x2c8282c
|
|
/* 02C8282C */ _t17 = cpu->r[28] + 0x00000014u;
|
|
/* 02C8282C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C82830 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C82834: ; // 0x2c82834
|
|
/* 02C82834 */ _t18 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C82834 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
/* 02C82838 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000010u);
|
|
/* 02C8283C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C82840 */ _t19 = cpu->r[28] + 0x00000014u;
|
|
/* 02C82840 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 02C82844 */ cpu->r[12] = cpu->r[28] + 0x00000004u;
|
|
/* 02C82848 */ _t20 = cpu->r[28] + 0x00000004u;
|
|
/* 02C82848 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[11]);
|
|
/* 02C8284C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8284C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C8284C */ if (_t22) goto L_02C82850; else goto L_02C82854;
|
|
L_02C82850: ; // 0x2c82850
|
|
/* 02C82850 */ cpu->r[31] = cpu->r[12];
|
|
L_02C82854: ; // 0x2c82854
|
|
/* 02C82854 */ _t23 = cpu->r[28] + 0x00000018u;
|
|
/* 02C82854 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02C82858 */ _t24 = cpu->r[31] + cpu->r[30];
|
|
/* 02C82858 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[11]);
|
|
/* 02C8285C */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C82860 */ goto L_02C8A584;
|
|
L_02C8A584: ; // 0x2c8a584
|
|
/* 02C8A584 */ _t25 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A588 */ _t26 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A58C */ _t27 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A590 */ _t28 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A594 */ _t29 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C8A598 */ _t30 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82864 @ 0x2c82864
|
|
void Gambit_fn_02C82864(CPUState* 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_02C82864: ; // 0x2c82864
|
|
/* 02C82864 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82868 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C8286C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C8286C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8286C */ cpu->r[1] = _t0;
|
|
/* 02C82870 */ Gambit_fn_02C8A528(cpu);
|
|
/* 02C82874 */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 02C82878 */ cpu->r[26] = cpu->r[4];
|
|
/* 02C8287C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C82880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[12]);
|
|
/* 02C82884 */ cpu->r[29] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82888 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C8288C */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8288C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C8288C */ if (_t2) goto L_02C82890; else goto L_02C82898;
|
|
L_02C82890: ; // 0x2c82890
|
|
/* 02C82890 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C82894 */ Gambit_fn_02C82B14(cpu);
|
|
L_02C82898: ; // 0x2c82898
|
|
/* 02C82898 */ _t3 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C82898 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C8289C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[26]);
|
|
/* 02C828A0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C828A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C828A0 */ if (_t5) goto L_02C828A4; else goto L_02C828B8;
|
|
L_02C828A4: ; // 0x2c828a4
|
|
/* 02C828A4 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 02C828A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C828A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C828AC */ cpu->r[4] = cpu->r[26];
|
|
/* 02C828B0 */ Gambit_fn_02C8278C(cpu);
|
|
/* 02C828B4 */ goto L_02C82948;
|
|
L_02C828B8: ; // 0x2c828b8
|
|
/* 02C828B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C828BC */ cpu->r[28] = 0x00000000u;
|
|
/* 02C828C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C828C0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C828C0 */ if (_t8) goto L_02C82920; else goto L_02C828C4;
|
|
L_02C828C4: ; // 0x2c828c4
|
|
/* 02C828C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000010u);
|
|
/* 02C828C8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C828C8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C828C8 */ if (_t10) goto L_02C828CC; else goto L_02C82920;
|
|
L_02C828CC: ; // 0x2c828cc
|
|
/* 02C828CC */ _t11 = cpu->r[30] + 0x00000018u;
|
|
/* 02C828CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C828D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[31]);
|
|
/* 02C828D4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C828D4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C828D4 */ if (_t13) goto L_02C828D8; else goto L_02C828DC;
|
|
L_02C828D8: ; // 0x2c828d8
|
|
/* 02C828D8 */ cpu->r[31] = cpu->r[26];
|
|
L_02C828DC: ; // 0x2c828dc
|
|
/* 02C828DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C828E0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C828E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C828E0 */ if (_t15) goto L_02C82908; else goto L_02C828E4;
|
|
L_02C828E4: ; // 0x2c828e4
|
|
/* 02C828E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C828E8 */ _t16 = cpu->r[30] + 0x00000014u;
|
|
/* 02C828E8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C828EC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C828EC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C828EC */ if (_t18) goto L_02C82900; else goto L_02C828F0;
|
|
L_02C828F0: ; // 0x2c828f0
|
|
/* 02C828F0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C828F4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C828F8 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 02C828FC */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02C82900: ; // 0x2c82900
|
|
/* 02C82900 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C82904 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C82908: ; // 0x2c82908
|
|
/* 02C82908 */ cpu->r[12] = 0x0000000Fu;
|
|
/* 02C8290C */ _t19 = cpu->r[30] + 0x00000018u;
|
|
/* 02C8290C */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 02C82910 */ _t20 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C82910 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C82914 */ cpu->r[12] = cpu->r[30] + cpu->r[31];
|
|
/* 02C82918 */ _t21 = cpu->r[12] + 0x00000004u;
|
|
/* 02C82918 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[28]);
|
|
/* 02C8291C */ goto L_02C82948;
|
|
L_02C82920: ; // 0x2c82920
|
|
/* 02C82920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C82924 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82924 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C82924 */ if (_t23) goto L_02C82928; else goto L_02C82948;
|
|
L_02C82928: ; // 0x2c82928
|
|
/* 02C82928 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C8292C */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8292C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C8292C */ if (_t25) goto L_02C82938; else goto L_02C82930;
|
|
L_02C82930: ; // 0x2c82930
|
|
/* 02C82930 */ _t26 = cpu->r[30] + 0x00000014u;
|
|
/* 02C82930 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C82934 */ goto L_02C8293C;
|
|
L_02C82938: ; // 0x2c82938
|
|
/* 02C82938 */ cpu->r[11] = cpu->r[30] + 0x00000004u;
|
|
L_02C8293C: ; // 0x2c8293c
|
|
/* 02C8293C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C82940 */ _t27 = cpu->r[30] + 0x00000018u;
|
|
/* 02C82940 */ rbrew_write32(cpu->mem, _t27, cpu->r[12]);
|
|
/* 02C82944 */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 02C82944 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[28]);
|
|
L_02C82948: ; // 0x2c82948
|
|
/* 02C82948 */ cpu->r[12] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C8294C */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C82950 */ cpu->r[3] = cpu->r[26] - cpu->r[12];
|
|
/* 02C82954 */ goto L_02C8A580;
|
|
L_02C8A580: ; // 0x2c8a580
|
|
/* 02C8A580 */ _t29 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C8A584 */ _t30 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C8A588 */ _t31 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C8A58C */ _t32 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C8A590 */ _t33 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C8A594 */ _t34 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C8A598 */ _t35 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C8286C @ 0x2c8286c
|
|
void Gambit_fn_02C8286C(CPUState* 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_02C8286C: ; // 0x2c8286c
|
|
/* 02C8286C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C8286C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8286C */ cpu->r[1] = _t0;
|
|
/* 02C82870 */ Gambit_fn_02C8A528(cpu);
|
|
/* 02C82874 */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 02C82878 */ cpu->r[26] = cpu->r[4];
|
|
/* 02C8287C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C82880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[12]);
|
|
/* 02C82884 */ cpu->r[29] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82888 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C8288C */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8288C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C8288C */ if (_t2) goto L_02C82890; else goto L_02C82898;
|
|
L_02C82890: ; // 0x2c82890
|
|
/* 02C82890 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C82894 */ Gambit_fn_02C82B14(cpu);
|
|
L_02C82898: ; // 0x2c82898
|
|
/* 02C82898 */ _t3 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C82898 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C8289C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[26]);
|
|
/* 02C828A0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C828A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C828A0 */ if (_t5) goto L_02C828A4; else goto L_02C828B8;
|
|
L_02C828A4: ; // 0x2c828a4
|
|
/* 02C828A4 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 02C828A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C828A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C828AC */ cpu->r[4] = cpu->r[26];
|
|
/* 02C828B0 */ Gambit_fn_02C8278C(cpu);
|
|
/* 02C828B4 */ goto L_02C82948;
|
|
L_02C828B8: ; // 0x2c828b8
|
|
/* 02C828B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C828BC */ cpu->r[28] = 0x00000000u;
|
|
/* 02C828C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C828C0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C828C0 */ if (_t8) goto L_02C82920; else goto L_02C828C4;
|
|
L_02C828C4: ; // 0x2c828c4
|
|
/* 02C828C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000010u);
|
|
/* 02C828C8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C828C8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C828C8 */ if (_t10) goto L_02C828CC; else goto L_02C82920;
|
|
L_02C828CC: ; // 0x2c828cc
|
|
/* 02C828CC */ _t11 = cpu->r[30] + 0x00000018u;
|
|
/* 02C828CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C828D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[31]);
|
|
/* 02C828D4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C828D4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C828D4 */ if (_t13) goto L_02C828D8; else goto L_02C828DC;
|
|
L_02C828D8: ; // 0x2c828d8
|
|
/* 02C828D8 */ cpu->r[31] = cpu->r[26];
|
|
L_02C828DC: ; // 0x2c828dc
|
|
/* 02C828DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C828E0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C828E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C828E0 */ if (_t15) goto L_02C82908; else goto L_02C828E4;
|
|
L_02C828E4: ; // 0x2c828e4
|
|
/* 02C828E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C828E8 */ _t16 = cpu->r[30] + 0x00000014u;
|
|
/* 02C828E8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C828EC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C828EC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C828EC */ if (_t18) goto L_02C82900; else goto L_02C828F0;
|
|
L_02C828F0: ; // 0x2c828f0
|
|
/* 02C828F0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C828F4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C828F8 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 02C828FC */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02C82900: ; // 0x2c82900
|
|
/* 02C82900 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C82904 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C82908: ; // 0x2c82908
|
|
/* 02C82908 */ cpu->r[12] = 0x0000000Fu;
|
|
/* 02C8290C */ _t19 = cpu->r[30] + 0x00000018u;
|
|
/* 02C8290C */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 02C82910 */ _t20 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C82910 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C82914 */ cpu->r[12] = cpu->r[30] + cpu->r[31];
|
|
/* 02C82918 */ _t21 = cpu->r[12] + 0x00000004u;
|
|
/* 02C82918 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[28]);
|
|
/* 02C8291C */ goto L_02C82948;
|
|
L_02C82920: ; // 0x2c82920
|
|
/* 02C82920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C82924 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82924 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C82924 */ if (_t23) goto L_02C82928; else goto L_02C82948;
|
|
L_02C82928: ; // 0x2c82928
|
|
/* 02C82928 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C8292C */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8292C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C8292C */ if (_t25) goto L_02C82938; else goto L_02C82930;
|
|
L_02C82930: ; // 0x2c82930
|
|
/* 02C82930 */ _t26 = cpu->r[30] + 0x00000014u;
|
|
/* 02C82930 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C82934 */ goto L_02C8293C;
|
|
L_02C82938: ; // 0x2c82938
|
|
/* 02C82938 */ cpu->r[11] = cpu->r[30] + 0x00000004u;
|
|
L_02C8293C: ; // 0x2c8293c
|
|
/* 02C8293C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C82940 */ _t27 = cpu->r[30] + 0x00000018u;
|
|
/* 02C82940 */ rbrew_write32(cpu->mem, _t27, cpu->r[12]);
|
|
/* 02C82944 */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 02C82944 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[28]);
|
|
L_02C82948: ; // 0x2c82948
|
|
/* 02C82948 */ cpu->r[12] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C8294C */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C82950 */ cpu->r[3] = cpu->r[26] - cpu->r[12];
|
|
/* 02C82954 */ goto L_02C8A580;
|
|
L_02C8A580: ; // 0x2c8a580
|
|
/* 02C8A580 */ _t29 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C8A584 */ _t30 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C8A588 */ _t31 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C8A58C */ _t32 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C8A590 */ _t33 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C8A594 */ _t34 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C8A598 */ _t35 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82958 @ 0x2c82958
|
|
void Gambit_fn_02C82958(CPUState* 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_02C82958: ; // 0x2c82958
|
|
/* 02C82958 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8295C */ cpu->r[11] = cpu->r[1];
|
|
/* 02C82960 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C82960 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82960 */ cpu->r[1] = _t0;
|
|
/* 02C82964 */ Gambit_fn_02C8A528(cpu);
|
|
/* 02C82968 */ cpu->r[29] = cpu->r[1] + 0x00000008u;
|
|
/* 02C8296C */ cpu->r[27] = cpu->r[4];
|
|
/* 02C82970 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C82974 */ _t1 = cpu->r[27] + 0x00000018u;
|
|
/* 02C82974 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C82978 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C8297C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[28]);
|
|
/* 02C82980 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C82984 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82984 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82984 */ if (_t3) goto L_02C82988; else goto L_02C82990;
|
|
L_02C82988: ; // 0x2c82988
|
|
/* 02C82988 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C8298C */ Gambit_fn_02C825DC(cpu);
|
|
L_02C82990: ; // 0x2c82990
|
|
/* 02C82990 */ _t4 = cpu->r[27] + 0x00000018u;
|
|
/* 02C82990 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C82994 */ cpu->r[26] = cpu->r[12] - cpu->r[28];
|
|
/* 02C82998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[26]);
|
|
/* 02C8299C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8299C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C8299C */ if (_t6) goto L_02C829A0; else goto L_02C829A4;
|
|
L_02C829A0: ; // 0x2c829a0
|
|
/* 02C829A0 */ cpu->r[26] = cpu->r[30];
|
|
L_02C829A4: ; // 0x2c829a4
|
|
/* 02C829A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[27]);
|
|
/* 02C829A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C829AC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C829AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C829AC */ if (_t8) goto L_02C829B0; else goto L_02C829D4;
|
|
L_02C829B0: ; // 0x2c829b0
|
|
/* 02C829B0 */ cpu->r[5] = 0x10020000u;
|
|
/* 02C829B4 */ _t9 = cpu->r[5] + 0xFFFFF884u;
|
|
/* 02C829B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C829B8 */ cpu->r[4] = cpu->r[28] + cpu->r[26];
|
|
/* 02C829BC */ Gambit_fn_02C826C8(cpu);
|
|
/* 02C829C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C829C4 */ cpu->r[5] = cpu->r[28];
|
|
/* 02C829C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C829CC */ Gambit_fn_02C826C8(cpu);
|
|
/* 02C829D0 */ goto L_02C82A44;
|
|
L_02C829D4: ; // 0x2c829d4
|
|
/* 02C829D4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C829D8 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C829DC */ Gambit_fn_02C82864(cpu);
|
|
/* 02C829E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C829E4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C829E4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C829E4 */ if (_t11) goto L_02C82A44; else goto L_02C829E8;
|
|
L_02C829E8: ; // 0x2c829e8
|
|
/* 02C829E8 */ _t12 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C829E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C829EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C829F0 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 02C829F4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C829F4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C829F4 */ if (_t14) goto L_02C82A00; else goto L_02C829F8;
|
|
L_02C829F8: ; // 0x2c829f8
|
|
/* 02C829F8 */ _t15 = cpu->r[31] + 0x00000014u;
|
|
/* 02C829F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C829FC */ goto L_02C82A04;
|
|
L_02C82A00: ; // 0x2c82a00
|
|
/* 02C82A00 */ cpu->r[3] = cpu->r[30];
|
|
L_02C82A04: ; // 0x2c82a04
|
|
/* 02C82A04 */ _t16 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02C82A04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C82A08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82A0C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82A0C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C82A0C */ if (_t18) goto L_02C82A18; else goto L_02C82A10;
|
|
L_02C82A10: ; // 0x2c82a10
|
|
/* 02C82A10 */ _t19 = cpu->r[27] + 0x00000014u;
|
|
/* 02C82A10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C82A14 */ goto L_02C82A1C;
|
|
L_02C82A18: ; // 0x2c82a18
|
|
/* 02C82A18 */ cpu->r[12] = cpu->r[27] + 0x00000004u;
|
|
L_02C82A1C: ; // 0x2c82a1c
|
|
/* 02C82A1C */ cpu->r[5] = cpu->r[26];
|
|
/* 02C82A20 */ cpu->r[4] = cpu->r[12] + cpu->r[28];
|
|
/* 02C82A24 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C82A28 */ _t20 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C82A28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C82A2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82A30 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82A30 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C82A30 */ if (_t22) goto L_02C82A38; else goto L_02C82A34;
|
|
L_02C82A34: ; // 0x2c82a34
|
|
/* 02C82A34 */ _t23 = cpu->r[30] + 0x00000010u;
|
|
/* 02C82A34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
L_02C82A38: ; // 0x2c82a38
|
|
/* 02C82A38 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C82A3C */ _t24 = cpu->r[31] + 0x00000018u;
|
|
/* 02C82A3C */ rbrew_write32(cpu->mem, _t24, cpu->r[26]);
|
|
/* 02C82A40 */ _t25 = cpu->r[30] + cpu->r[26];
|
|
/* 02C82A40 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[12]);
|
|
L_02C82A44: ; // 0x2c82a44
|
|
/* 02C82A44 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C82A48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C82A4C */ goto L_02C8A580;
|
|
L_02C8A580: ; // 0x2c8a580
|
|
/* 02C8A580 */ _t26 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A584 */ _t27 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A588 */ _t28 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A58C */ _t29 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C8A590 */ _t30 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C8A594 */ _t31 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C8A598 */ _t32 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82960 @ 0x2c82960
|
|
void Gambit_fn_02C82960(CPUState* 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_02C82960: ; // 0x2c82960
|
|
/* 02C82960 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C82960 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82960 */ cpu->r[1] = _t0;
|
|
/* 02C82964 */ Gambit_fn_02C8A528(cpu);
|
|
/* 02C82968 */ cpu->r[29] = cpu->r[1] + 0x00000008u;
|
|
/* 02C8296C */ cpu->r[27] = cpu->r[4];
|
|
/* 02C82970 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C82974 */ _t1 = cpu->r[27] + 0x00000018u;
|
|
/* 02C82974 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C82978 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C8297C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[28]);
|
|
/* 02C82980 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C82984 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82984 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82984 */ if (_t3) goto L_02C82988; else goto L_02C82990;
|
|
L_02C82988: ; // 0x2c82988
|
|
/* 02C82988 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C8298C */ Gambit_fn_02C825DC(cpu);
|
|
L_02C82990: ; // 0x2c82990
|
|
/* 02C82990 */ _t4 = cpu->r[27] + 0x00000018u;
|
|
/* 02C82990 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C82994 */ cpu->r[26] = cpu->r[12] - cpu->r[28];
|
|
/* 02C82998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[26]);
|
|
/* 02C8299C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8299C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C8299C */ if (_t6) goto L_02C829A0; else goto L_02C829A4;
|
|
L_02C829A0: ; // 0x2c829a0
|
|
/* 02C829A0 */ cpu->r[26] = cpu->r[30];
|
|
L_02C829A4: ; // 0x2c829a4
|
|
/* 02C829A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[27]);
|
|
/* 02C829A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C829AC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C829AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C829AC */ if (_t8) goto L_02C829B0; else goto L_02C829D4;
|
|
L_02C829B0: ; // 0x2c829b0
|
|
/* 02C829B0 */ cpu->r[5] = 0x10020000u;
|
|
/* 02C829B4 */ _t9 = cpu->r[5] + 0xFFFFF884u;
|
|
/* 02C829B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C829B8 */ cpu->r[4] = cpu->r[28] + cpu->r[26];
|
|
/* 02C829BC */ Gambit_fn_02C826C8(cpu);
|
|
/* 02C829C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C829C4 */ cpu->r[5] = cpu->r[28];
|
|
/* 02C829C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C829CC */ Gambit_fn_02C826C8(cpu);
|
|
/* 02C829D0 */ goto L_02C82A44;
|
|
L_02C829D4: ; // 0x2c829d4
|
|
/* 02C829D4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C829D8 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C829DC */ Gambit_fn_02C82864(cpu);
|
|
/* 02C829E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C829E4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C829E4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C829E4 */ if (_t11) goto L_02C82A44; else goto L_02C829E8;
|
|
L_02C829E8: ; // 0x2c829e8
|
|
/* 02C829E8 */ _t12 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C829E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C829EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C829F0 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 02C829F4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C829F4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C829F4 */ if (_t14) goto L_02C82A00; else goto L_02C829F8;
|
|
L_02C829F8: ; // 0x2c829f8
|
|
/* 02C829F8 */ _t15 = cpu->r[31] + 0x00000014u;
|
|
/* 02C829F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C829FC */ goto L_02C82A04;
|
|
L_02C82A00: ; // 0x2c82a00
|
|
/* 02C82A00 */ cpu->r[3] = cpu->r[30];
|
|
L_02C82A04: ; // 0x2c82a04
|
|
/* 02C82A04 */ _t16 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02C82A04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C82A08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82A0C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82A0C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C82A0C */ if (_t18) goto L_02C82A18; else goto L_02C82A10;
|
|
L_02C82A10: ; // 0x2c82a10
|
|
/* 02C82A10 */ _t19 = cpu->r[27] + 0x00000014u;
|
|
/* 02C82A10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C82A14 */ goto L_02C82A1C;
|
|
L_02C82A18: ; // 0x2c82a18
|
|
/* 02C82A18 */ cpu->r[12] = cpu->r[27] + 0x00000004u;
|
|
L_02C82A1C: ; // 0x2c82a1c
|
|
/* 02C82A1C */ cpu->r[5] = cpu->r[26];
|
|
/* 02C82A20 */ cpu->r[4] = cpu->r[12] + cpu->r[28];
|
|
/* 02C82A24 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C82A28 */ _t20 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C82A28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C82A2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82A30 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82A30 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C82A30 */ if (_t22) goto L_02C82A38; else goto L_02C82A34;
|
|
L_02C82A34: ; // 0x2c82a34
|
|
/* 02C82A34 */ _t23 = cpu->r[30] + 0x00000010u;
|
|
/* 02C82A34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
L_02C82A38: ; // 0x2c82a38
|
|
/* 02C82A38 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C82A3C */ _t24 = cpu->r[31] + 0x00000018u;
|
|
/* 02C82A3C */ rbrew_write32(cpu->mem, _t24, cpu->r[26]);
|
|
/* 02C82A40 */ _t25 = cpu->r[30] + cpu->r[26];
|
|
/* 02C82A40 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[12]);
|
|
L_02C82A44: ; // 0x2c82a44
|
|
/* 02C82A44 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C82A48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C82A4C */ goto L_02C8A580;
|
|
L_02C8A580: ; // 0x2c8a580
|
|
/* 02C8A580 */ _t26 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A584 */ _t27 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A588 */ _t28 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A58C */ _t29 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C8A590 */ _t30 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C8A594 */ _t31 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C8A598 */ _t32 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82A50 @ 0x2c82a50
|
|
void Gambit_fn_02C82A50(CPUState* 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;
|
|
|
|
L_02C82A50: ; // 0x2c82a50
|
|
/* 02C82A50 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82A54 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C82A58 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C82A58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82A58 */ cpu->r[1] = _t0;
|
|
/* 02C82A5C */ Gambit_fn_02C8A52C(cpu);
|
|
/* 02C82A60 */ cpu->r[29] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82A64 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C82A68 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C82A6C */ cpu->r[27] = cpu->r[4];
|
|
/* 02C82A70 */ Gambit_fn_02C82578(cpu);
|
|
/* 02C82A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C82A78 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82A78 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C82A78 */ if (_t2) goto L_02C82AAC; else goto L_02C82A7C;
|
|
L_02C82A7C: ; // 0x2c82a7c
|
|
/* 02C82A7C */ _t3 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C82A7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C82A80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82A84 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82A84 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C82A84 */ if (_t5) goto L_02C82A90; else goto L_02C82A88;
|
|
L_02C82A88: ; // 0x2c82a88
|
|
/* 02C82A88 */ _t6 = cpu->r[30] + 0x00000014u;
|
|
/* 02C82A88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C82A8C */ goto L_02C82A94;
|
|
L_02C82A90: ; // 0x2c82a90
|
|
/* 02C82A90 */ cpu->r[12] = cpu->r[30] + 0x00000004u;
|
|
L_02C82A94: ; // 0x2c82a94
|
|
/* 02C82A94 */ cpu->r[6] = cpu->r[28];
|
|
/* 02C82A98 */ cpu->r[5] = cpu->r[27] - cpu->r[12];
|
|
/* 02C82A9C */ cpu->r[4] = cpu->r[30];
|
|
/* 02C82AA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C82AA4 */ Gambit_fn_02C82958(cpu);
|
|
/* 02C82AA8 */ goto L_02C82B0C;
|
|
L_02C82AAC: ; // 0x2c82aac
|
|
/* 02C82AAC */ cpu->r[5] = 0x00000000u;
|
|
/* 02C82AB0 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C82AB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C82AB8 */ Gambit_fn_02C82864(cpu);
|
|
/* 02C82ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C82AC0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82AC0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C82AC0 */ if (_t8) goto L_02C82B08; else goto L_02C82AC4;
|
|
L_02C82AC4: ; // 0x2c82ac4
|
|
/* 02C82AC4 */ _t9 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C82AC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C82AC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82ACC */ cpu->r[31] = cpu->r[30] + 0x00000004u;
|
|
/* 02C82AD0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82AD0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C82AD0 */ if (_t11) goto L_02C82ADC; else goto L_02C82AD4;
|
|
L_02C82AD4: ; // 0x2c82ad4
|
|
/* 02C82AD4 */ _t12 = cpu->r[30] + 0x00000014u;
|
|
/* 02C82AD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C82AD8 */ goto L_02C82AE0;
|
|
L_02C82ADC: ; // 0x2c82adc
|
|
/* 02C82ADC */ cpu->r[3] = cpu->r[31];
|
|
L_02C82AE0: ; // 0x2c82ae0
|
|
/* 02C82AE0 */ cpu->r[5] = cpu->r[28];
|
|
/* 02C82AE4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C82AE8 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C82AEC */ _t13 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C82AEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C82AF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82AF4 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82AF4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C82AF4 */ if (_t15) goto L_02C82AFC; else goto L_02C82AF8;
|
|
L_02C82AF8: ; // 0x2c82af8
|
|
/* 02C82AF8 */ _t16 = cpu->r[31] + 0x00000010u;
|
|
/* 02C82AF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
L_02C82AFC: ; // 0x2c82afc
|
|
/* 02C82AFC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C82B00 */ _t17 = cpu->r[30] + 0x00000018u;
|
|
/* 02C82B00 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02C82B04 */ _t18 = cpu->r[31] + cpu->r[28];
|
|
/* 02C82B04 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
L_02C82B08: ; // 0x2c82b08
|
|
/* 02C82B08 */ cpu->r[3] = cpu->r[30];
|
|
L_02C82B0C: ; // 0x2c82b0c
|
|
/* 02C82B0C */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C82B10 */ goto L_02C8A584;
|
|
L_02C8A584: ; // 0x2c8a584
|
|
/* 02C8A584 */ _t19 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C8A588 */ _t20 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C8A58C */ _t21 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C8A590 */ _t22 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C8A594 */ _t23 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C8A598 */ _t24 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82A58 @ 0x2c82a58
|
|
void Gambit_fn_02C82A58(CPUState* 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;
|
|
|
|
L_02C82A58: ; // 0x2c82a58
|
|
/* 02C82A58 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C82A58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82A58 */ cpu->r[1] = _t0;
|
|
/* 02C82A5C */ Gambit_fn_02C8A52C(cpu);
|
|
/* 02C82A60 */ cpu->r[29] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82A64 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C82A68 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C82A6C */ cpu->r[27] = cpu->r[4];
|
|
/* 02C82A70 */ Gambit_fn_02C82578(cpu);
|
|
/* 02C82A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C82A78 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82A78 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C82A78 */ if (_t2) goto L_02C82AAC; else goto L_02C82A7C;
|
|
L_02C82A7C: ; // 0x2c82a7c
|
|
/* 02C82A7C */ _t3 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C82A7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C82A80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82A84 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82A84 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C82A84 */ if (_t5) goto L_02C82A90; else goto L_02C82A88;
|
|
L_02C82A88: ; // 0x2c82a88
|
|
/* 02C82A88 */ _t6 = cpu->r[30] + 0x00000014u;
|
|
/* 02C82A88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C82A8C */ goto L_02C82A94;
|
|
L_02C82A90: ; // 0x2c82a90
|
|
/* 02C82A90 */ cpu->r[12] = cpu->r[30] + 0x00000004u;
|
|
L_02C82A94: ; // 0x2c82a94
|
|
/* 02C82A94 */ cpu->r[6] = cpu->r[28];
|
|
/* 02C82A98 */ cpu->r[5] = cpu->r[27] - cpu->r[12];
|
|
/* 02C82A9C */ cpu->r[4] = cpu->r[30];
|
|
/* 02C82AA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C82AA4 */ Gambit_fn_02C82958(cpu);
|
|
/* 02C82AA8 */ goto L_02C82B0C;
|
|
L_02C82AAC: ; // 0x2c82aac
|
|
/* 02C82AAC */ cpu->r[5] = 0x00000000u;
|
|
/* 02C82AB0 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C82AB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C82AB8 */ Gambit_fn_02C82864(cpu);
|
|
/* 02C82ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C82AC0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82AC0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C82AC0 */ if (_t8) goto L_02C82B08; else goto L_02C82AC4;
|
|
L_02C82AC4: ; // 0x2c82ac4
|
|
/* 02C82AC4 */ _t9 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C82AC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C82AC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82ACC */ cpu->r[31] = cpu->r[30] + 0x00000004u;
|
|
/* 02C82AD0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82AD0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C82AD0 */ if (_t11) goto L_02C82ADC; else goto L_02C82AD4;
|
|
L_02C82AD4: ; // 0x2c82ad4
|
|
/* 02C82AD4 */ _t12 = cpu->r[30] + 0x00000014u;
|
|
/* 02C82AD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C82AD8 */ goto L_02C82AE0;
|
|
L_02C82ADC: ; // 0x2c82adc
|
|
/* 02C82ADC */ cpu->r[3] = cpu->r[31];
|
|
L_02C82AE0: ; // 0x2c82ae0
|
|
/* 02C82AE0 */ cpu->r[5] = cpu->r[28];
|
|
/* 02C82AE4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C82AE8 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C82AEC */ _t13 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C82AEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C82AF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82AF4 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82AF4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C82AF4 */ if (_t15) goto L_02C82AFC; else goto L_02C82AF8;
|
|
L_02C82AF8: ; // 0x2c82af8
|
|
/* 02C82AF8 */ _t16 = cpu->r[31] + 0x00000010u;
|
|
/* 02C82AF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
L_02C82AFC: ; // 0x2c82afc
|
|
/* 02C82AFC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C82B00 */ _t17 = cpu->r[30] + 0x00000018u;
|
|
/* 02C82B00 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02C82B04 */ _t18 = cpu->r[31] + cpu->r[28];
|
|
/* 02C82B04 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
L_02C82B08: ; // 0x2c82b08
|
|
/* 02C82B08 */ cpu->r[3] = cpu->r[30];
|
|
L_02C82B0C: ; // 0x2c82b0c
|
|
/* 02C82B0C */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C82B10 */ goto L_02C8A584;
|
|
L_02C8A584: ; // 0x2c8a584
|
|
/* 02C8A584 */ _t19 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C8A588 */ _t20 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C8A58C */ _t21 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C8A590 */ _t22 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C8A594 */ _t23 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C8A598 */ _t24 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82B14 @ 0x2c82b14
|
|
void Gambit_fn_02C82B14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C82B14: ; // 0x2c82b14
|
|
/* 02C82B14 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82B18 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C82B1C */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02C82B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82B1C */ cpu->r[1] = _t0;
|
|
/* 02C82B20 */ Gambit_fn_02C8A534(cpu);
|
|
/* 02C82B24 */ cpu->r[29] = cpu->r[1] + 0x00000054u;
|
|
/* 02C82B28 */ cpu->r[31] = 0x0000000Fu;
|
|
/* 02C82B2C */ cpu->r[30] = 0x00000000u;
|
|
/* 02C82B30 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C82B30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C82B34 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02C82B38 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C82B3C */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02C82B3C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C82B40 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C82B44 */ cpu->r[4] = cpu->r[4] + 0x000043AAu;
|
|
/* 02C82B48 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02C82B48 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[30]);
|
|
/* 02C82B4C */ Gambit_fn_02C82A50(cpu);
|
|
/* 02C82B50 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C82B54 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02C82B54 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C82B58 */ cpu->r[6] = 0x10020000u;
|
|
/* 02C82B5C */ cpu->r[12] = cpu->r[12] + 0x000042B8u;
|
|
/* 02C82B60 */ _t5 = cpu->r[6] + 0xFFFFF884u;
|
|
/* 02C82B60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C82B64 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C82B64 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 02C82B68 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C82B6C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82B6C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C82B70 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C82B74 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02C82B78 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C82B78 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C82B7C */ cpu->r[12] = cpu->r[12] + 0x000042C0u;
|
|
/* 02C82B80 */ cpu->r[31] = cpu->r[1] + 0x00000014u;
|
|
/* 02C82B84 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02C82B88 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82B88 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C82B8C */ Gambit_fn_02C82958(cpu);
|
|
/* 02C82B90 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C82B94 */ cpu->r[12] = cpu->r[12] + 0x000042D8u;
|
|
/* 02C82B98 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82B98 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C82B9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C82BA0 */ _t11 = cpu->r[12] + 0xFFFFC3D0u;
|
|
/* 02C82BA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C82BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C82BA8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82BA8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C82BA8 */ if (_t13) goto L_02C82BB8; else goto L_02C82BAC;
|
|
L_02C82BAC: ; // 0x2c82bac
|
|
/* 02C82BAC */ cpu->ctr = cpu->r[12];
|
|
/* 02C82BB0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82BB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C82BB8: ; // 0x2c82bb8
|
|
/* 02C82BB8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82BBC */ Gambit_fn_02C82540(cpu);
|
|
/* 02C82BC0 */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C82BC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C82BC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82BC8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82BC8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C82BC8 */ if (_t16) goto L_02C82BD4; else goto L_02C82BCC;
|
|
L_02C82BCC: ; // 0x2c82bcc
|
|
/* 02C82BCC */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 02C82BCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C82BD0 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C82BD4: ; // 0x2c82bd4
|
|
/* 02C82BD4 */ cpu->r[12] = 0x0000000Fu;
|
|
/* 02C82BD8 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C82BD8 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02C82BDC */ _t19 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C82BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C82BE0 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02C82BE0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02C82BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82BE8 */ _t21 = cpu->r[31] + 0x00000000u;
|
|
/* 02C82BE8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02C82BEC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82BEC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C82BEC */ if (_t23) goto L_02C82BF8; else goto L_02C82BF0;
|
|
L_02C82BF0: ; // 0x2c82bf0
|
|
/* 02C82BF0 */ _t24 = cpu->r[1] + 0x00000044u;
|
|
/* 02C82BF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C82BF4 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C82BF8: ; // 0x2c82bf8
|
|
/* 02C82BF8 */ cpu->r[11] = cpu->r[1] + 0x00000060u;
|
|
/* 02C82BFC */ goto L_02C8A58C;
|
|
L_02C8A58C: ; // 0x2c8a58c
|
|
/* 02C8A58C */ _t25 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A590 */ _t26 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A594 */ _t27 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A598 */ _t28 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82B1C @ 0x2c82b1c
|
|
void Gambit_fn_02C82B1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C82B1C: ; // 0x2c82b1c
|
|
/* 02C82B1C */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02C82B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82B1C */ cpu->r[1] = _t0;
|
|
/* 02C82B20 */ Gambit_fn_02C8A534(cpu);
|
|
/* 02C82B24 */ cpu->r[29] = cpu->r[1] + 0x00000054u;
|
|
/* 02C82B28 */ cpu->r[31] = 0x0000000Fu;
|
|
/* 02C82B2C */ cpu->r[30] = 0x00000000u;
|
|
/* 02C82B30 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C82B30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C82B34 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02C82B38 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C82B3C */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02C82B3C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C82B40 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C82B44 */ cpu->r[4] = cpu->r[4] + 0x000043AAu;
|
|
/* 02C82B48 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02C82B48 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[30]);
|
|
/* 02C82B4C */ Gambit_fn_02C82A50(cpu);
|
|
/* 02C82B50 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C82B54 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02C82B54 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C82B58 */ cpu->r[6] = 0x10020000u;
|
|
/* 02C82B5C */ cpu->r[12] = cpu->r[12] + 0x000042B8u;
|
|
/* 02C82B60 */ _t5 = cpu->r[6] + 0xFFFFF884u;
|
|
/* 02C82B60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C82B64 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C82B64 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 02C82B68 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C82B6C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82B6C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C82B70 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C82B74 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02C82B78 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C82B78 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C82B7C */ cpu->r[12] = cpu->r[12] + 0x000042C0u;
|
|
/* 02C82B80 */ cpu->r[31] = cpu->r[1] + 0x00000014u;
|
|
/* 02C82B84 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02C82B88 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82B88 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C82B8C */ Gambit_fn_02C82958(cpu);
|
|
/* 02C82B90 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C82B94 */ cpu->r[12] = cpu->r[12] + 0x000042D8u;
|
|
/* 02C82B98 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82B98 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C82B9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C82BA0 */ _t11 = cpu->r[12] + 0xFFFFC3D0u;
|
|
/* 02C82BA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C82BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C82BA8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82BA8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C82BA8 */ if (_t13) goto L_02C82BB8; else goto L_02C82BAC;
|
|
L_02C82BAC: ; // 0x2c82bac
|
|
/* 02C82BAC */ cpu->ctr = cpu->r[12];
|
|
/* 02C82BB0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82BB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C82BB8: ; // 0x2c82bb8
|
|
/* 02C82BB8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C82BBC */ Gambit_fn_02C82540(cpu);
|
|
/* 02C82BC0 */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C82BC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C82BC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82BC8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82BC8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C82BC8 */ if (_t16) goto L_02C82BD4; else goto L_02C82BCC;
|
|
L_02C82BCC: ; // 0x2c82bcc
|
|
/* 02C82BCC */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 02C82BCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C82BD0 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C82BD4: ; // 0x2c82bd4
|
|
/* 02C82BD4 */ cpu->r[12] = 0x0000000Fu;
|
|
/* 02C82BD8 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C82BD8 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02C82BDC */ _t19 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C82BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C82BE0 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02C82BE0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02C82BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82BE8 */ _t21 = cpu->r[31] + 0x00000000u;
|
|
/* 02C82BE8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02C82BEC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82BEC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C82BEC */ if (_t23) goto L_02C82BF8; else goto L_02C82BF0;
|
|
L_02C82BF0: ; // 0x2c82bf0
|
|
/* 02C82BF0 */ _t24 = cpu->r[1] + 0x00000044u;
|
|
/* 02C82BF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C82BF4 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C82BF8: ; // 0x2c82bf8
|
|
/* 02C82BF8 */ cpu->r[11] = cpu->r[1] + 0x00000060u;
|
|
/* 02C82BFC */ goto L_02C8A58C;
|
|
L_02C8A58C: ; // 0x2c8a58c
|
|
/* 02C8A58C */ _t25 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A590 */ _t26 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A594 */ _t27 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A598 */ _t28 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82C00 @ 0x2c82c00
|
|
void Gambit_fn_02C82C00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C82C00: ; // 0x2c82c00
|
|
/* 02C82C00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C82C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82C00 */ cpu->r[1] = _t0;
|
|
/* 02C82C04 */ /* nop */
|
|
/* 02C82C08 */ cpu->r[29] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82C0C */ _t1 = cpu->r[3] + 0x00000024u;
|
|
/* 02C82C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C82C10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02C82C14 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82C14 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82C14 */ if (_t3) goto L_02C82C20; else goto L_02C82C18;
|
|
L_02C82C18: ; // 0x2c82c18
|
|
/* 02C82C18 */ _t4 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C82C18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C82C1C */ goto L_02C82C24;
|
|
L_02C82C20: ; // 0x2c82c20
|
|
/* 02C82C20 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
L_02C82C24: ; // 0x2c82c24
|
|
/* 02C82C24 */ /* nop */
|
|
/* 02C82C28 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C82C2C */ return;
|
|
}
|
|
|
|
// fn_02C82C30 @ 0x2c82c30
|
|
void Gambit_fn_02C82C30(CPUState* cpu) {
|
|
L_02C82C30: ; // 0x2c82c30
|
|
/* 02C82C30 */ cpu->r[3] = 0x00000009u;
|
|
/* 02C82C34 */ goto L_02C83138;
|
|
L_02C83138: ; // 0x2c83138
|
|
/* 02C83138 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8313C */ Gambit_fn_02C8A14C(cpu);
|
|
/* 02C83140 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C83144 */ cpu->r[30] = 0x02D10000u;
|
|
/* 02C83148 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C8314C */ cpu->r[30] = cpu->r[30] + 0xFFFFB960u;
|
|
/* 02C83150 */ Gambit_fn_02C83110(cpu);
|
|
/* 02C83154 */ cpu->r[4] = cpu->r[30] + 0x00000020u;
|
|
/* 02C83158 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8315C */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C83160 */ cpu->r[4] = cpu->r[30] + 0x00000020u;
|
|
/* 02C83164 */ cpu->r[3] = cpu->r[3] + 0x0000460Eu;
|
|
/* 02C83168 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8316C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C83170 */ Gambit_fn_02C83110(cpu);
|
|
/* 02C83174 */ cpu->r[4] = cpu->r[30] + 0x00000020u;
|
|
/* 02C83178 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8317C */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C83180 */ cpu->r[4] = cpu->r[30] + 0x00000020u;
|
|
/* 02C83184 */ cpu->r[3] = cpu->r[3] + 0x0000460Cu;
|
|
/* 02C83188 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8318C */ Gambit_fn_02C8706C(cpu);
|
|
/* 02C83190 */ cpu->r[3] = 0x0000000Du;
|
|
/* 02C83194 */ goto L_02C83138;
|
|
}
|
|
|
|
// fn_02C82C38 @ 0x2c82c38
|
|
void Gambit_fn_02C82C38(CPUState* 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_02C82C38: ; // 0x2c82c38
|
|
/* 02C82C38 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82C3C */ cpu->r[11] = cpu->r[1];
|
|
/* 02C82C40 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C82C40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82C40 */ cpu->r[1] = _t0;
|
|
/* 02C82C44 */ Gambit_fn_02C8A520(cpu);
|
|
/* 02C82C48 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C82C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C82C4C */ cpu->r[25] = cpu->r[4];
|
|
/* 02C82C50 */ cpu->r[26] = cpu->r[5];
|
|
/* 02C82C54 */ cpu->r[29] = cpu->r[8];
|
|
/* 02C82C58 */ cpu->r[28] = cpu->r[7];
|
|
/* 02C82C5C */ cpu->r[27] = cpu->r[6];
|
|
/* 02C82C60 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02C82C60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C82C64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82C64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82C64 */ if (_t3) goto L_02C82C70; else goto L_02C82C68;
|
|
L_02C82C68: ; // 0x2c82c68
|
|
/* 02C82C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C82C6C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82C6C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C82C6C */ if (_t5) goto L_02C82CDC; else goto L_02C82C70;
|
|
L_02C82C70: ; // 0x2c82c70
|
|
/* 02C82C70 */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[26]);
|
|
/* 02C82C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C82C74 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82C74 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C82C74 */ if (_t7) goto L_02C82C78; else goto L_02C82C7C;
|
|
L_02C82C78: ; // 0x2c82c78
|
|
/* 02C82C78 */ cpu->r[24] = 0x00000001u;
|
|
L_02C82C7C: ; // 0x2c82c7c
|
|
/* 02C82C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C82C80 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82C80 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C82C80 */ if (_t9) goto L_02C82C84; else goto L_02C82CB0;
|
|
L_02C82C84: ; // 0x2c82c84
|
|
/* 02C82C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C82C88 */ cpu->r[3] = cpu->r[24] + cpu->r[27];
|
|
/* 02C82C8C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82C8C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C82C8C */ if (_t11) goto L_02C82C90; else goto L_02C82C98;
|
|
L_02C82C90: ; // 0x2c82c90
|
|
/* 02C82C90 */ Gambit_fn_02801A8C(cpu);
|
|
/* 02C82C94 */ goto L_02C82CA0;
|
|
L_02C82C98: ; // 0x2c82c98
|
|
/* 02C82C98 */ cpu->ctr = cpu->r[10];
|
|
/* 02C82C9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C82CA0: ; // 0x2c82ca0
|
|
/* 02C82CA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C82CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C82CA4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82CA4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C82CA4 */ if (_t13) goto L_02C82D5C; else goto L_02C82CA8;
|
|
L_02C82CA8: ; // 0x2c82ca8
|
|
/* 02C82CA8 */ cpu->r[31] = cpu->r[31] + cpu->r[27];
|
|
/* 02C82CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C82CAC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82CAC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C82CAC */ if (_t15) goto L_02C82D5C; else goto L_02C82CB0;
|
|
L_02C82CB0: ; // 0x2c82cb0
|
|
/* 02C82CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C82CB4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82CB4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C82CB4 */ if (_t17) goto L_02C82CD0; else goto L_02C82CB8;
|
|
L_02C82CB8: ; // 0x2c82cb8
|
|
/* 02C82CB8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C82CBC */ _t18 = cpu->r[12] + 0xFFFFC3D4u;
|
|
/* 02C82CBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C82CC0 */ cpu->r[12] = cpu->r[31] - cpu->r[12];
|
|
/* 02C82CC4 */ _t19 = cpu->r[25] | cpu->r[25];
|
|
/* 02C82CC4 */ cpu->r[11] = ~_t19;
|
|
/* 02C82CC8 */ _t20 = cpu->r[12] + 0x00000000u;
|
|
/* 02C82CC8 */ rbrew_write32(cpu->mem, _t20, cpu->r[24]);
|
|
/* 02C82CCC */ _t21 = cpu->r[12] + 0x00000004u;
|
|
/* 02C82CCC */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
L_02C82CD0: ; // 0x2c82cd0
|
|
/* 02C82CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C82CD4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82CD4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C82CD4 */ if (_t23) goto L_02C82CF4; else goto L_02C82CD8;
|
|
L_02C82CD8: ; // 0x2c82cd8
|
|
/* 02C82CD8 */ goto L_02C82CE8;
|
|
L_02C82CDC: ; // 0x2c82cdc
|
|
/* 02C82CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C82CE0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82CE0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C82CE0 */ if (_t25) goto L_02C82CF4; else goto L_02C82CE4;
|
|
L_02C82CE4: ; // 0x2c82ce4
|
|
/* 02C82CE4 */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[26]);
|
|
L_02C82CE8: ; // 0x2c82ce8
|
|
/* 02C82CE8 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C82CEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C82CF0 */ Gambit_fn_02C89380(cpu);
|
|
L_02C82CF4: ; // 0x2c82cf4
|
|
/* 02C82CF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C82CF8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82CF8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C82CF8 */ if (_t27) goto L_02C82D5C; else goto L_02C82CFC;
|
|
L_02C82CFC: ; // 0x2c82cfc
|
|
/* 02C82CFC */ cpu->r[27] = 0x00000000u;
|
|
/* 02C82D00 */ cpu->r[30] = cpu->r[31];
|
|
/* 02C82D04 */ goto L_02C82D54;
|
|
L_02C82D08: ; // 0x2c82d08
|
|
/* 02C82D08 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C82D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C82D10 */ cpu->ctr = cpu->r[29];
|
|
/* 02C82D14 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82D14 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C82D14 */ if (_t29) goto L_02C82D18; else goto L_02C82D40;
|
|
L_02C82D18: ; // 0x2c82d18
|
|
/* 02C82D18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C82D1C */ cpu->r[7] = cpu->r[4];
|
|
/* 02C82D20 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C82D24 */ cpu->r[9] = cpu->r[7];
|
|
/* 02C82D28 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C82D2C */ cpu->r[8] = cpu->r[7];
|
|
/* 02C82D30 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C82D34 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82D34 */ rbrew_write32(cpu->mem, _t30, cpu->r[4]);
|
|
/* 02C82D38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C82D3C */ goto L_02C82D4C;
|
|
L_02C82D40: ; // 0x2c82d40
|
|
/* 02C82D40 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C82D44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C82D48 */ cpu->r[28] = cpu->r[28] + cpu->r[26];
|
|
L_02C82D4C: ; // 0x2c82d4c
|
|
/* 02C82D4C */ cpu->r[30] = cpu->r[30] + cpu->r[26];
|
|
/* 02C82D50 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
L_02C82D54: ; // 0x2c82d54
|
|
/* 02C82D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[25]);
|
|
/* 02C82D58 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82D58 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C82D58 */ if (_t32) goto L_02C82D08; else goto L_02C82D5C;
|
|
L_02C82D5C: ; // 0x2c82d5c
|
|
/* 02C82D5C */ cpu->r[11] = cpu->r[1] + 0x00000030u;
|
|
/* 02C82D60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C82D64 */ goto L_02C8A578;
|
|
L_02C8A578: ; // 0x2c8a578
|
|
/* 02C8A578 */ _t33 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A578 */ cpu->r[24] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C8A57C */ _t34 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C8A580 */ _t35 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C8A584 */ _t36 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C8A588 */ _t37 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C8A58C */ _t38 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C8A590 */ _t39 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C8A594 */ _t40 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C8A598 */ _t41 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82C40 @ 0x2c82c40
|
|
void Gambit_fn_02C82C40(CPUState* 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_02C82C40: ; // 0x2c82c40
|
|
/* 02C82C40 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C82C40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82C40 */ cpu->r[1] = _t0;
|
|
/* 02C82C44 */ Gambit_fn_02C8A520(cpu);
|
|
/* 02C82C48 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C82C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C82C4C */ cpu->r[25] = cpu->r[4];
|
|
/* 02C82C50 */ cpu->r[26] = cpu->r[5];
|
|
/* 02C82C54 */ cpu->r[29] = cpu->r[8];
|
|
/* 02C82C58 */ cpu->r[28] = cpu->r[7];
|
|
/* 02C82C5C */ cpu->r[27] = cpu->r[6];
|
|
/* 02C82C60 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02C82C60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C82C64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82C64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82C64 */ if (_t3) goto L_02C82C70; else goto L_02C82C68;
|
|
L_02C82C68: ; // 0x2c82c68
|
|
/* 02C82C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C82C6C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82C6C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C82C6C */ if (_t5) goto L_02C82CDC; else goto L_02C82C70;
|
|
L_02C82C70: ; // 0x2c82c70
|
|
/* 02C82C70 */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[26]);
|
|
/* 02C82C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C82C74 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82C74 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C82C74 */ if (_t7) goto L_02C82C78; else goto L_02C82C7C;
|
|
L_02C82C78: ; // 0x2c82c78
|
|
/* 02C82C78 */ cpu->r[24] = 0x00000001u;
|
|
L_02C82C7C: ; // 0x2c82c7c
|
|
/* 02C82C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C82C80 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82C80 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C82C80 */ if (_t9) goto L_02C82C84; else goto L_02C82CB0;
|
|
L_02C82C84: ; // 0x2c82c84
|
|
/* 02C82C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C82C88 */ cpu->r[3] = cpu->r[24] + cpu->r[27];
|
|
/* 02C82C8C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82C8C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C82C8C */ if (_t11) goto L_02C82C90; else goto L_02C82C98;
|
|
L_02C82C90: ; // 0x2c82c90
|
|
/* 02C82C90 */ Gambit_fn_02801A8C(cpu);
|
|
/* 02C82C94 */ goto L_02C82CA0;
|
|
L_02C82C98: ; // 0x2c82c98
|
|
/* 02C82C98 */ cpu->ctr = cpu->r[10];
|
|
/* 02C82C9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C82CA0: ; // 0x2c82ca0
|
|
/* 02C82CA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C82CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C82CA4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82CA4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C82CA4 */ if (_t13) goto L_02C82D5C; else goto L_02C82CA8;
|
|
L_02C82CA8: ; // 0x2c82ca8
|
|
/* 02C82CA8 */ cpu->r[31] = cpu->r[31] + cpu->r[27];
|
|
/* 02C82CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C82CAC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82CAC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C82CAC */ if (_t15) goto L_02C82D5C; else goto L_02C82CB0;
|
|
L_02C82CB0: ; // 0x2c82cb0
|
|
/* 02C82CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C82CB4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82CB4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C82CB4 */ if (_t17) goto L_02C82CD0; else goto L_02C82CB8;
|
|
L_02C82CB8: ; // 0x2c82cb8
|
|
/* 02C82CB8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C82CBC */ _t18 = cpu->r[12] + 0xFFFFC3D4u;
|
|
/* 02C82CBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C82CC0 */ cpu->r[12] = cpu->r[31] - cpu->r[12];
|
|
/* 02C82CC4 */ _t19 = cpu->r[25] | cpu->r[25];
|
|
/* 02C82CC4 */ cpu->r[11] = ~_t19;
|
|
/* 02C82CC8 */ _t20 = cpu->r[12] + 0x00000000u;
|
|
/* 02C82CC8 */ rbrew_write32(cpu->mem, _t20, cpu->r[24]);
|
|
/* 02C82CCC */ _t21 = cpu->r[12] + 0x00000004u;
|
|
/* 02C82CCC */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
L_02C82CD0: ; // 0x2c82cd0
|
|
/* 02C82CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C82CD4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82CD4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C82CD4 */ if (_t23) goto L_02C82CF4; else goto L_02C82CD8;
|
|
L_02C82CD8: ; // 0x2c82cd8
|
|
/* 02C82CD8 */ goto L_02C82CE8;
|
|
L_02C82CDC: ; // 0x2c82cdc
|
|
/* 02C82CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C82CE0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82CE0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C82CE0 */ if (_t25) goto L_02C82CF4; else goto L_02C82CE4;
|
|
L_02C82CE4: ; // 0x2c82ce4
|
|
/* 02C82CE4 */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[26]);
|
|
L_02C82CE8: ; // 0x2c82ce8
|
|
/* 02C82CE8 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C82CEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C82CF0 */ Gambit_fn_02C89380(cpu);
|
|
L_02C82CF4: ; // 0x2c82cf4
|
|
/* 02C82CF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C82CF8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82CF8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C82CF8 */ if (_t27) goto L_02C82D5C; else goto L_02C82CFC;
|
|
L_02C82CFC: ; // 0x2c82cfc
|
|
/* 02C82CFC */ cpu->r[27] = 0x00000000u;
|
|
/* 02C82D00 */ cpu->r[30] = cpu->r[31];
|
|
/* 02C82D04 */ goto L_02C82D54;
|
|
L_02C82D08: ; // 0x2c82d08
|
|
/* 02C82D08 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C82D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C82D10 */ cpu->ctr = cpu->r[29];
|
|
/* 02C82D14 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82D14 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C82D14 */ if (_t29) goto L_02C82D18; else goto L_02C82D40;
|
|
L_02C82D18: ; // 0x2c82d18
|
|
/* 02C82D18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C82D1C */ cpu->r[7] = cpu->r[4];
|
|
/* 02C82D20 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C82D24 */ cpu->r[9] = cpu->r[7];
|
|
/* 02C82D28 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C82D2C */ cpu->r[8] = cpu->r[7];
|
|
/* 02C82D30 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C82D34 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82D34 */ rbrew_write32(cpu->mem, _t30, cpu->r[4]);
|
|
/* 02C82D38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C82D3C */ goto L_02C82D4C;
|
|
L_02C82D40: ; // 0x2c82d40
|
|
/* 02C82D40 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C82D44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C82D48 */ cpu->r[28] = cpu->r[28] + cpu->r[26];
|
|
L_02C82D4C: ; // 0x2c82d4c
|
|
/* 02C82D4C */ cpu->r[30] = cpu->r[30] + cpu->r[26];
|
|
/* 02C82D50 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
L_02C82D54: ; // 0x2c82d54
|
|
/* 02C82D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[25]);
|
|
/* 02C82D58 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82D58 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C82D58 */ if (_t32) goto L_02C82D08; else goto L_02C82D5C;
|
|
L_02C82D5C: ; // 0x2c82d5c
|
|
/* 02C82D5C */ cpu->r[11] = cpu->r[1] + 0x00000030u;
|
|
/* 02C82D60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C82D64 */ goto L_02C8A578;
|
|
L_02C8A578: ; // 0x2c8a578
|
|
/* 02C8A578 */ _t33 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A578 */ cpu->r[24] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C8A57C */ _t34 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C8A580 */ _t35 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C8A584 */ _t36 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C8A588 */ _t37 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C8A58C */ _t38 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C8A590 */ _t39 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C8A594 */ _t40 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C8A598 */ _t41 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82D68 @ 0x2c82d68
|
|
void Gambit_fn_02C82D68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C82D68: ; // 0x2c82d68
|
|
/* 02C82D68 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82D6C */ cpu->r[11] = cpu->r[1];
|
|
/* 02C82D70 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C82D70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82D70 */ cpu->r[1] = _t0;
|
|
/* 02C82D74 */ Gambit_fn_02C8A538(cpu);
|
|
/* 02C82D78 */ cpu->r[12] = cpu->r[6];
|
|
/* 02C82D7C */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82D80 */ cpu->r[11] = cpu->r[5];
|
|
/* 02C82D84 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C82D88 */ _t1 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82D88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C82D8C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C82D90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C82D94 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82D94 */ rbrew_write32(cpu->mem, _t2, cpu->r[8]);
|
|
/* 02C82D98 */ cpu->r[8] = cpu->r[11];
|
|
/* 02C82D9C */ cpu->r[10] = cpu->r[7];
|
|
/* 02C82DA0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82DA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02C82DA4 */ cpu->r[9] = cpu->r[12];
|
|
/* 02C82DA8 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C82DAC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C82DAC */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02C82DB0 */ Gambit_fn_02C82C38(cpu);
|
|
/* 02C82DB4 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C82DB8 */ goto L_02C8A590;
|
|
L_02C8A590: ; // 0x2c8a590
|
|
/* 02C8A590 */ _t5 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C8A594 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C8A598 */ _t7 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82D70 @ 0x2c82d70
|
|
void Gambit_fn_02C82D70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C82D70: ; // 0x2c82d70
|
|
/* 02C82D70 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C82D70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82D70 */ cpu->r[1] = _t0;
|
|
/* 02C82D74 */ Gambit_fn_02C8A538(cpu);
|
|
/* 02C82D78 */ cpu->r[12] = cpu->r[6];
|
|
/* 02C82D7C */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82D80 */ cpu->r[11] = cpu->r[5];
|
|
/* 02C82D84 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C82D88 */ _t1 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82D88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C82D8C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C82D90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C82D94 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82D94 */ rbrew_write32(cpu->mem, _t2, cpu->r[8]);
|
|
/* 02C82D98 */ cpu->r[8] = cpu->r[11];
|
|
/* 02C82D9C */ cpu->r[10] = cpu->r[7];
|
|
/* 02C82DA0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82DA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02C82DA4 */ cpu->r[9] = cpu->r[12];
|
|
/* 02C82DA8 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C82DAC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C82DAC */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02C82DB0 */ Gambit_fn_02C82C38(cpu);
|
|
/* 02C82DB4 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C82DB8 */ goto L_02C8A590;
|
|
L_02C8A590: ; // 0x2c8a590
|
|
/* 02C8A590 */ _t5 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C8A594 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C8A598 */ _t7 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82DBC @ 0x2c82dbc
|
|
void Gambit_fn_02C82DBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C82DBC: ; // 0x2c82dbc
|
|
/* 02C82DBC */ cpu->r[0] = cpu->lr;
|
|
/* 02C82DC0 */ cpu->r[8] = cpu->r[6];
|
|
/* 02C82DC4 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82DC8 */ cpu->r[9] = cpu->r[7];
|
|
/* 02C82DCC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C82DCC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C82DD0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C82DD4 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C82DD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C82DD4 */ cpu->r[1] = _t1;
|
|
/* 02C82DD8 */ _t2 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82DD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C82DDC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82DDC */ rbrew_write32(cpu->mem, _t3, cpu->r[7]);
|
|
/* 02C82DE0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82DE0 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
/* 02C82DE4 */ cpu->r[10] = cpu->r[7];
|
|
/* 02C82DE8 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C82DE8 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 02C82DEC */ Gambit_fn_02C82C38(cpu);
|
|
/* 02C82DF0 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C82DF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C82DF4 */ cpu->lr = cpu->r[0];
|
|
/* 02C82DF8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C82DFC */ return;
|
|
}
|
|
|
|
// fn_02C82DD4 @ 0x2c82dd4
|
|
void Gambit_fn_02C82DD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C82DD4: ; // 0x2c82dd4
|
|
/* 02C82DD4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C82DD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82DD4 */ cpu->r[1] = _t0;
|
|
/* 02C82DD8 */ _t1 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82DD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C82DDC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82DDC */ rbrew_write32(cpu->mem, _t2, cpu->r[7]);
|
|
/* 02C82DE0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82DE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[7]);
|
|
/* 02C82DE4 */ cpu->r[10] = cpu->r[7];
|
|
/* 02C82DE8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C82DE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
/* 02C82DEC */ Gambit_fn_02C82C38(cpu);
|
|
/* 02C82DF0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C82DF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C82DF4 */ cpu->lr = cpu->r[0];
|
|
/* 02C82DF8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C82DFC */ return;
|
|
}
|
|
|
|
// fn_02C82E00 @ 0x2c82e00
|
|
void Gambit_fn_02C82E00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C82E00: ; // 0x2c82e00
|
|
/* 02C82E00 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82E04 */ cpu->r[8] = cpu->r[6];
|
|
/* 02C82E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C82E0C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C82E0C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C82E10 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C82E14 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C82E14 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C82E14 */ cpu->r[1] = _t1;
|
|
/* 02C82E18 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82E18 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82E18 */ if (_t3) goto L_02C82E1C; else goto L_02C82E24;
|
|
L_02C82E1C: ; // 0x2c82e1c
|
|
/* 02C82E1C */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82E20 */ _t4 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82E20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C82E24: ; // 0x2c82e24
|
|
/* 02C82E24 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C82E28 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82E28 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 02C82E2C */ cpu->r[9] = cpu->r[7];
|
|
/* 02C82E30 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82E30 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02C82E34 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C82E38 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02C82E38 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 02C82E3C */ Gambit_fn_02C82C38(cpu);
|
|
/* 02C82E40 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C82E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C82E44 */ cpu->lr = cpu->r[0];
|
|
/* 02C82E48 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C82E4C */ return;
|
|
}
|
|
|
|
// fn_02C82E14 @ 0x2c82e14
|
|
void Gambit_fn_02C82E14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C82E14: ; // 0x2c82e14
|
|
/* 02C82E14 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C82E14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82E14 */ cpu->r[1] = _t0;
|
|
/* 02C82E18 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82E18 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C82E18 */ if (_t2) goto L_02C82E1C; else goto L_02C82E24;
|
|
L_02C82E1C: ; // 0x2c82e1c
|
|
/* 02C82E1C */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82E20 */ _t3 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82E20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
L_02C82E24: ; // 0x2c82e24
|
|
/* 02C82E24 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C82E28 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82E28 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
/* 02C82E2C */ cpu->r[9] = cpu->r[7];
|
|
/* 02C82E30 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C82E30 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 02C82E34 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C82E38 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C82E38 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02C82E3C */ Gambit_fn_02C82C38(cpu);
|
|
/* 02C82E40 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C82E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C82E44 */ cpu->lr = cpu->r[0];
|
|
/* 02C82E48 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C82E4C */ return;
|
|
}
|
|
|
|
// fn_02C82E50 @ 0x2c82e50
|
|
void Gambit_fn_02C82E50(CPUState* 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_02C82E50: ; // 0x2c82e50
|
|
/* 02C82E50 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82E54 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C82E58 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C82E58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82E58 */ cpu->r[1] = _t0;
|
|
/* 02C82E5C */ Gambit_fn_02C8A514(cpu);
|
|
/* 02C82E60 */ cpu->r[24] = cpu->r[3];
|
|
/* 02C82E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C82E64 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C82E68 */ cpu->r[25] = cpu->r[5];
|
|
/* 02C82E6C */ cpu->r[26] = cpu->r[6];
|
|
/* 02C82E70 */ cpu->r[27] = cpu->r[7];
|
|
/* 02C82E74 */ cpu->r[28] = cpu->r[8];
|
|
/* 02C82E78 */ cpu->r[29] = cpu->r[9];
|
|
/* 02C82E7C */ cpu->r[30] = cpu->r[10];
|
|
/* 02C82E80 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C82E84 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82E84 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C82E84 */ if (_t2) goto L_02C82F30; else goto L_02C82E88;
|
|
L_02C82E88: ; // 0x2c82e88
|
|
/* 02C82E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFFu);
|
|
/* 02C82E8C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82E8C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C82E8C */ if (_t4) goto L_02C82E90; else goto L_02C82EC8;
|
|
L_02C82E90: ; // 0x2c82e90
|
|
/* 02C82E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C82E94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82E94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C82E94 */ if (_t6) goto L_02C82EC8; else goto L_02C82E98;
|
|
L_02C82E98: ; // 0x2c82e98
|
|
/* 02C82E98 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C82E9C */ _t7 = cpu->r[12] + 0xFFFFC3D4u;
|
|
/* 02C82E9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C82EA0 */ cpu->r[12] = cpu->r[24] - cpu->r[12];
|
|
/* 02C82EA4 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02C82EA4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C82EA8 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02C82EA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C82EAC */ _t10 = cpu->r[12] | cpu->r[12];
|
|
/* 02C82EAC */ cpu->r[31] = ~_t10;
|
|
/* 02C82EB0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[31]);
|
|
/* 02C82EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C82EB4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82EB4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C82EB4 */ if (_t12) goto L_02C82EB8; else goto L_02C82EBC;
|
|
L_02C82EB8: ; // 0x2c82eb8
|
|
/* 02C82EB8 */ cpu->r[12] = 0x00000001u;
|
|
L_02C82EBC: ; // 0x2c82ebc
|
|
/* 02C82EBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[12]);
|
|
/* 02C82EC0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82EC0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C82EC0 */ if (_t14) goto L_02C82EC8; else goto L_02C82EC4;
|
|
L_02C82EC4: ; // 0x2c82ec4
|
|
/* 02C82EC4 */ Gambit_fn_02C82C30(cpu);
|
|
L_02C82EC8: ; // 0x2c82ec8
|
|
/* 02C82EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C82ECC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82ECC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C82ECC */ if (_t16) goto L_02C82F04; else goto L_02C82ED0;
|
|
L_02C82ED0: ; // 0x2c82ed0
|
|
/* 02C82ED0 */ cpu->r[12] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C82ED4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[25]);
|
|
/* 02C82ED8 */ cpu->r[21] = 0x00000000u;
|
|
/* 02C82EDC */ cpu->r[22] = cpu->r[24] + cpu->r[12];
|
|
/* 02C82EE0 */ goto L_02C82EFC;
|
|
L_02C82EE4: ; // 0x2c82ee4
|
|
/* 02C82EE4 */ cpu->ctr = cpu->r[27];
|
|
/* 02C82EE8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C82EEC */ cpu->r[3] = cpu->r[22];
|
|
/* 02C82EF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C82EF4 */ cpu->r[22] = cpu->r[22] - cpu->r[25];
|
|
/* 02C82EF8 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
L_02C82EFC: ; // 0x2c82efc
|
|
/* 02C82EFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[31]);
|
|
/* 02C82F00 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82F00 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C82F00 */ if (_t18) goto L_02C82EE4; else goto L_02C82F04;
|
|
L_02C82F04: ; // 0x2c82f04
|
|
/* 02C82F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C82F08 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82F08 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C82F08 */ if (_t20) goto L_02C82F30; else goto L_02C82F0C;
|
|
L_02C82F0C: ; // 0x2c82f0c
|
|
/* 02C82F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C82F10 */ cpu->r[3] = cpu->r[24] - cpu->r[26];
|
|
/* 02C82F14 */ cpu->r[4] = cpu->r[23] + cpu->r[26];
|
|
/* 02C82F18 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82F18 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C82F18 */ if (_t22) goto L_02C82F1C; else goto L_02C82F24;
|
|
L_02C82F1C: ; // 0x2c82f1c
|
|
/* 02C82F1C */ Gambit_fn_02801BB4(cpu);
|
|
/* 02C82F20 */ goto L_02C82F30;
|
|
L_02C82F24: ; // 0x2c82f24
|
|
/* 02C82F24 */ cpu->ctr = cpu->r[29];
|
|
/* 02C82F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C82F2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C82F30: ; // 0x2c82f30
|
|
/* 02C82F30 */ cpu->r[11] = cpu->r[1] + 0x00000038u;
|
|
/* 02C82F34 */ goto L_02C8A56C;
|
|
L_02C8A56C: ; // 0x2c8a56c
|
|
/* 02C8A56C */ _t23 = cpu->r[11] + 0xFFFFFFD4u;
|
|
/* 02C8A56C */ cpu->r[21] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C8A570 */ _t24 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A570 */ cpu->r[22] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C8A574 */ _t25 = cpu->r[11] + 0xFFFFFFDCu;
|
|
/* 02C8A574 */ cpu->r[23] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A578 */ _t26 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A578 */ cpu->r[24] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A57C */ _t27 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A580 */ _t28 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A584 */ _t29 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C8A588 */ _t30 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C8A58C */ _t31 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C8A590 */ _t32 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C8A594 */ _t33 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C8A598 */ _t34 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82E58 @ 0x2c82e58
|
|
void Gambit_fn_02C82E58(CPUState* 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_02C82E58: ; // 0x2c82e58
|
|
/* 02C82E58 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C82E58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82E58 */ cpu->r[1] = _t0;
|
|
/* 02C82E5C */ Gambit_fn_02C8A514(cpu);
|
|
/* 02C82E60 */ cpu->r[24] = cpu->r[3];
|
|
/* 02C82E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C82E64 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C82E68 */ cpu->r[25] = cpu->r[5];
|
|
/* 02C82E6C */ cpu->r[26] = cpu->r[6];
|
|
/* 02C82E70 */ cpu->r[27] = cpu->r[7];
|
|
/* 02C82E74 */ cpu->r[28] = cpu->r[8];
|
|
/* 02C82E78 */ cpu->r[29] = cpu->r[9];
|
|
/* 02C82E7C */ cpu->r[30] = cpu->r[10];
|
|
/* 02C82E80 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C82E84 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82E84 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C82E84 */ if (_t2) goto L_02C82F30; else goto L_02C82E88;
|
|
L_02C82E88: ; // 0x2c82e88
|
|
/* 02C82E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFFu);
|
|
/* 02C82E8C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82E8C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C82E8C */ if (_t4) goto L_02C82E90; else goto L_02C82EC8;
|
|
L_02C82E90: ; // 0x2c82e90
|
|
/* 02C82E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C82E94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82E94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C82E94 */ if (_t6) goto L_02C82EC8; else goto L_02C82E98;
|
|
L_02C82E98: ; // 0x2c82e98
|
|
/* 02C82E98 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C82E9C */ _t7 = cpu->r[12] + 0xFFFFC3D4u;
|
|
/* 02C82E9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C82EA0 */ cpu->r[12] = cpu->r[24] - cpu->r[12];
|
|
/* 02C82EA4 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02C82EA4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C82EA8 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02C82EA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C82EAC */ _t10 = cpu->r[12] | cpu->r[12];
|
|
/* 02C82EAC */ cpu->r[31] = ~_t10;
|
|
/* 02C82EB0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[31]);
|
|
/* 02C82EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C82EB4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82EB4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C82EB4 */ if (_t12) goto L_02C82EB8; else goto L_02C82EBC;
|
|
L_02C82EB8: ; // 0x2c82eb8
|
|
/* 02C82EB8 */ cpu->r[12] = 0x00000001u;
|
|
L_02C82EBC: ; // 0x2c82ebc
|
|
/* 02C82EBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[12]);
|
|
/* 02C82EC0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82EC0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C82EC0 */ if (_t14) goto L_02C82EC8; else goto L_02C82EC4;
|
|
L_02C82EC4: ; // 0x2c82ec4
|
|
/* 02C82EC4 */ Gambit_fn_02C82C30(cpu);
|
|
L_02C82EC8: ; // 0x2c82ec8
|
|
/* 02C82EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C82ECC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82ECC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C82ECC */ if (_t16) goto L_02C82F04; else goto L_02C82ED0;
|
|
L_02C82ED0: ; // 0x2c82ed0
|
|
/* 02C82ED0 */ cpu->r[12] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C82ED4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[25]);
|
|
/* 02C82ED8 */ cpu->r[21] = 0x00000000u;
|
|
/* 02C82EDC */ cpu->r[22] = cpu->r[24] + cpu->r[12];
|
|
/* 02C82EE0 */ goto L_02C82EFC;
|
|
L_02C82EE4: ; // 0x2c82ee4
|
|
/* 02C82EE4 */ cpu->ctr = cpu->r[27];
|
|
/* 02C82EE8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C82EEC */ cpu->r[3] = cpu->r[22];
|
|
/* 02C82EF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C82EF4 */ cpu->r[22] = cpu->r[22] - cpu->r[25];
|
|
/* 02C82EF8 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
L_02C82EFC: ; // 0x2c82efc
|
|
/* 02C82EFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[31]);
|
|
/* 02C82F00 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C82F00 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C82F00 */ if (_t18) goto L_02C82EE4; else goto L_02C82F04;
|
|
L_02C82F04: ; // 0x2c82f04
|
|
/* 02C82F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C82F08 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82F08 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C82F08 */ if (_t20) goto L_02C82F30; else goto L_02C82F0C;
|
|
L_02C82F0C: ; // 0x2c82f0c
|
|
/* 02C82F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C82F10 */ cpu->r[3] = cpu->r[24] - cpu->r[26];
|
|
/* 02C82F14 */ cpu->r[4] = cpu->r[23] + cpu->r[26];
|
|
/* 02C82F18 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82F18 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C82F18 */ if (_t22) goto L_02C82F1C; else goto L_02C82F24;
|
|
L_02C82F1C: ; // 0x2c82f1c
|
|
/* 02C82F1C */ Gambit_fn_02801BB4(cpu);
|
|
/* 02C82F20 */ goto L_02C82F30;
|
|
L_02C82F24: ; // 0x2c82f24
|
|
/* 02C82F24 */ cpu->ctr = cpu->r[29];
|
|
/* 02C82F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C82F2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C82F30: ; // 0x2c82f30
|
|
/* 02C82F30 */ cpu->r[11] = cpu->r[1] + 0x00000038u;
|
|
/* 02C82F34 */ goto L_02C8A56C;
|
|
L_02C8A56C: ; // 0x2c8a56c
|
|
/* 02C8A56C */ _t23 = cpu->r[11] + 0xFFFFFFD4u;
|
|
/* 02C8A56C */ cpu->r[21] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C8A570 */ _t24 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A570 */ cpu->r[22] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C8A574 */ _t25 = cpu->r[11] + 0xFFFFFFDCu;
|
|
/* 02C8A574 */ cpu->r[23] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A578 */ _t26 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A578 */ cpu->r[24] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A57C */ _t27 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A580 */ _t28 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A584 */ _t29 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C8A588 */ _t30 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C8A58C */ _t31 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C8A590 */ _t32 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C8A594 */ _t33 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C8A598 */ _t34 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C82F38 @ 0x2c82f38
|
|
void Gambit_fn_02C82F38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
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_02C82F50 @ 0x2c82f50
|
|
void Gambit_fn_02C82F50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C82F50: ; // 0x2c82f50
|
|
/* 02C82F50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C82F50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82F50 */ cpu->r[1] = _t0;
|
|
/* 02C82F54 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82F54 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C82F54 */ if (_t2) goto L_02C82F58; else goto L_02C82F60;
|
|
L_02C82F58: ; // 0x2c82f58
|
|
/* 02C82F58 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82F5C */ _t3 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82F5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
L_02C82F60: ; // 0x2c82f60
|
|
/* 02C82F60 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C82F64 */ cpu->r[7] = cpu->r[12];
|
|
/* 02C82F68 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C82F6C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82F6C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02C82F70 */ Gambit_fn_02C82E50(cpu);
|
|
/* 02C82F74 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C82F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C82F78 */ cpu->lr = cpu->r[0];
|
|
/* 02C82F7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C82F80 */ return;
|
|
}
|
|
|
|
// fn_02C82F84 @ 0x2c82f84
|
|
void Gambit_fn_02C82F84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C82F84: ; // 0x2c82f84
|
|
/* 02C82F84 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82F88 */ cpu->r[9] = cpu->r[7];
|
|
/* 02C82F8C */ cpu->r[10] = cpu->r[8];
|
|
/* 02C82F90 */ cpu->r[12] = cpu->r[6];
|
|
/* 02C82F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 02C82F98 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C82F98 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C82F9C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C82FA0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C82FA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C82FA0 */ cpu->r[1] = _t1;
|
|
/* 02C82FA4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82FA4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82FA4 */ if (_t3) goto L_02C82FA8; else goto L_02C82FB0;
|
|
L_02C82FA8: ; // 0x2c82fa8
|
|
/* 02C82FA8 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82FAC */ _t4 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82FAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C82FB0: ; // 0x2c82fb0
|
|
/* 02C82FB0 */ cpu->r[7] = cpu->r[12];
|
|
/* 02C82FB4 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C82FB8 */ cpu->r[8] = 0x00000001u;
|
|
/* 02C82FBC */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82FBC */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02C82FC0 */ Gambit_fn_02C82E50(cpu);
|
|
/* 02C82FC4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C82FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C82FC8 */ cpu->lr = cpu->r[0];
|
|
/* 02C82FCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C82FD0 */ return;
|
|
}
|
|
|
|
// fn_02C82FA0 @ 0x2c82fa0
|
|
void Gambit_fn_02C82FA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C82FA0: ; // 0x2c82fa0
|
|
/* 02C82FA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C82FA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C82FA0 */ cpu->r[1] = _t0;
|
|
/* 02C82FA4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82FA4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C82FA4 */ if (_t2) goto L_02C82FA8; else goto L_02C82FB0;
|
|
L_02C82FA8: ; // 0x2c82fa8
|
|
/* 02C82FA8 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82FAC */ _t3 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82FAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
L_02C82FB0: ; // 0x2c82fb0
|
|
/* 02C82FB0 */ cpu->r[7] = cpu->r[12];
|
|
/* 02C82FB4 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C82FB8 */ cpu->r[8] = 0x00000001u;
|
|
/* 02C82FBC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82FBC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C82FC0 */ Gambit_fn_02C82E50(cpu);
|
|
/* 02C82FC4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C82FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C82FC8 */ cpu->lr = cpu->r[0];
|
|
/* 02C82FCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C82FD0 */ return;
|
|
}
|
|
|
|
// fn_02C82FD8 @ 0x2c82fd8
|
|
void Gambit_fn_02C82FD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C82FD8: ; // 0x2c82fd8
|
|
/* 02C82FD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82FDC */ Gambit_fn_02C8A14C(cpu);
|
|
/* 02C82FE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C82FE4 */ rbrew_dispatch(cpu, 0x02d0b798u);
|
|
/* 02C82FE8 */ cpu->r[12] = 0x02C80000u;
|
|
/* 02C82FEC */ cpu->r[11] = 0x02D10000u;
|
|
/* 02C82FF0 */ cpu->r[12] = cpu->r[12] + 0x00002FD4u;
|
|
/* 02C82FF4 */ _t0 = cpu->r[11] + 0xFFFFB930u;
|
|
/* 02C82FF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[12]);
|
|
/* 02C82FF8 */ cpu->r[11] = 0x00000000u;
|
|
L_02C82FFC: ; // 0x2c82ffc
|
|
/* 02C82FFC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Cu);
|
|
/* 02C83000 */ cpu->r[3] = cpu->r[12] + 0x10250000u;
|
|
/* 02C83004 */ cpu->r[3] = cpu->r[3] + 0xFFFFE55Cu;
|
|
/* 02C83008 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C83008 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C8300C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83010 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83010 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C83010 */ if (_t3) goto L_02C83014; else goto L_02C83028;
|
|
L_02C83014: ; // 0x2c83014
|
|
/* 02C83014 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02C83014 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C83018 */ Gambit_fn_02C83090(cpu);
|
|
/* 02C8301C */ rbrew_dispatch(cpu, 0x02d0b7a0u);
|
|
/* 02C83020 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C83024 */ goto L_02C8303C;
|
|
L_02C83028: ; // 0x2c83028
|
|
/* 02C83028 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C8302C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000024u);
|
|
/* 02C83030 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83030 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C83030 */ if (_t6) goto L_02C82FFC; else goto L_02C83034;
|
|
L_02C83034: ; // 0x2c83034
|
|
/* 02C83034 */ rbrew_dispatch(cpu, 0x02d0b7a0u);
|
|
/* 02C83038 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
L_02C8303C: ; // 0x2c8303c
|
|
/* 02C8303C */ goto L_02C8A160;
|
|
L_02C8A160: ; // 0x2c8a160
|
|
/* 02C8A160 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8A160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8A164 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A168 */ /* nop */
|
|
/* 02C8A16C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8A170 */ return;
|
|
}
|
|
|
|
// fn_02C83090 @ 0x2c83090
|
|
void Gambit_fn_02C83090(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C83090: ; // 0x2c83090
|
|
/* 02C83090 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C83090 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C83094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83098 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83098 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C83098 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02C83098 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C83098 */ goto L_02C8309C;
|
|
L_02C8309C: ; // 0x2c8309c
|
|
/* 02C8309C */ cpu->r[11] = 0x10250000u;
|
|
/* 02C830A0 */ _t4 = cpu->r[11] + 0xFFFFE70Cu;
|
|
/* 02C830A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C830A0 */ cpu->r[11] = _t4;
|
|
/* 02C830A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C830A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C830A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C830A8 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C830A8 */ goto L_02C830AC;
|
|
L_02C830AC: ; // 0x2c830ac
|
|
/* 02C830AC */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 02C830AC */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02C830B0 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02C830B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C830B4 */ return;
|
|
}
|
|
|
|
// fn_02C830B8 @ 0x2c830b8
|
|
void Gambit_fn_02C830B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C830B8: ; // 0x2c830b8
|
|
/* 02C830B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C830BC */ Gambit_fn_02C8A0FC(cpu);
|
|
/* 02C830C0 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C830C4 */ cpu->r[27] = cpu->r[6];
|
|
/* 02C830C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C830C8 */ cpu->r[30] = cpu->r[7];
|
|
/* 02C830CC */ cpu->r[26] = cpu->r[5];
|
|
/* 02C830D0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C830D0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C830D0 */ if (_t1) goto L_02C83104; else goto L_02C830D4;
|
|
L_02C830D4: ; // 0x2c830d4
|
|
/* 02C830D4 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C830D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C830DC */ goto L_02C830FC;
|
|
L_02C830E0: ; // 0x2c830e0
|
|
/* 02C830E0 */ cpu->ctr = cpu->r[27];
|
|
/* 02C830E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C830E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C830EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C830F0 */ cpu->r[30] = cpu->r[30] + cpu->r[26];
|
|
/* 02C830F4 */ cpu->r[31] = cpu->r[31] + cpu->r[26];
|
|
/* 02C830F8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
L_02C830FC: ; // 0x2c830fc
|
|
/* 02C830FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]);
|
|
/* 02C83100 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83100 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C83100 */ if (_t3) goto L_02C830E0; else goto L_02C83104;
|
|
L_02C83104: ; // 0x2c83104
|
|
/* 02C83104 */ goto L_02C8A110;
|
|
L_02C8A110: ; // 0x2c8a110
|
|
/* 02C8A110 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C8A110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C8A114 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A118 */ /* nop */
|
|
/* 02C8A11C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C8A120 */ return;
|
|
}
|
|
|
|
// fn_02C83108 @ 0x2c83108
|
|
void Gambit_fn_02C83108(CPUState* cpu) {
|
|
L_02C83108: ; // 0x2c83108
|
|
/* 02C83108 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C8310C */ goto L_02C83138;
|
|
L_02C83138: ; // 0x2c83138
|
|
/* 02C83138 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8313C */ Gambit_fn_02C8A14C(cpu);
|
|
/* 02C83140 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C83144 */ cpu->r[30] = 0x02D10000u;
|
|
/* 02C83148 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C8314C */ cpu->r[30] = cpu->r[30] + 0xFFFFB960u;
|
|
/* 02C83150 */ Gambit_fn_02C83110(cpu);
|
|
/* 02C83154 */ cpu->r[4] = cpu->r[30] + 0x00000020u;
|
|
/* 02C83158 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8315C */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C83160 */ cpu->r[4] = cpu->r[30] + 0x00000020u;
|
|
/* 02C83164 */ cpu->r[3] = cpu->r[3] + 0x0000460Eu;
|
|
/* 02C83168 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8316C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C83170 */ Gambit_fn_02C83110(cpu);
|
|
/* 02C83174 */ cpu->r[4] = cpu->r[30] + 0x00000020u;
|
|
/* 02C83178 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8317C */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C83180 */ cpu->r[4] = cpu->r[30] + 0x00000020u;
|
|
/* 02C83184 */ cpu->r[3] = cpu->r[3] + 0x0000460Cu;
|
|
/* 02C83188 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8318C */ Gambit_fn_02C8706C(cpu);
|
|
/* 02C83190 */ cpu->r[3] = 0x0000000Du;
|
|
/* 02C83194 */ goto L_02C83138;
|
|
}
|
|
|
|
// fn_02C83110 @ 0x2c83110
|
|
void Gambit_fn_02C83110(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C83110: ; // 0x2c83110
|
|
/* 02C83110 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C83114 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C83118 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 02C8311C */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8311C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C8311C */ if (_t1) { return; } // blr — standard function return
|
|
/* 02C8311C */ goto L_02C83120;
|
|
L_02C83120: ; // 0x2c83120
|
|
/* 02C83120 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Du);
|
|
/* 02C83124 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83124 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C83124 */ if (_t3) { return; } // blr — standard function return
|
|
/* 02C83124 */ goto L_02C83128;
|
|
L_02C83128: ; // 0x2c83128
|
|
/* 02C83128 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C8312C */ cpu->r[11] = cpu->r[12] + 0x101B0000u;
|
|
/* 02C83130 */ _t4 = cpu->r[11] + 0x000043E8u;
|
|
/* 02C83130 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C83134 */ return;
|
|
}
|
|
|
|
// fn_02C83190 @ 0x2c83190
|
|
void Gambit_fn_02C83190(CPUState* cpu) {
|
|
L_02C83138: ; // 0x2c83138
|
|
/* 02C83138 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8313C */ Gambit_fn_02C8A14C(cpu);
|
|
/* 02C83140 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C83144 */ cpu->r[30] = 0x02D10000u;
|
|
/* 02C83148 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C8314C */ cpu->r[30] = cpu->r[30] + 0xFFFFB960u;
|
|
/* 02C83150 */ Gambit_fn_02C83110(cpu);
|
|
/* 02C83154 */ cpu->r[4] = cpu->r[30] + 0x00000020u;
|
|
/* 02C83158 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8315C */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C83160 */ cpu->r[4] = cpu->r[30] + 0x00000020u;
|
|
/* 02C83164 */ cpu->r[3] = cpu->r[3] + 0x0000460Eu;
|
|
/* 02C83168 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8316C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C83170 */ Gambit_fn_02C83110(cpu);
|
|
/* 02C83174 */ cpu->r[4] = cpu->r[30] + 0x00000020u;
|
|
/* 02C83178 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8317C */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C83180 */ cpu->r[4] = cpu->r[30] + 0x00000020u;
|
|
/* 02C83184 */ cpu->r[3] = cpu->r[3] + 0x0000460Cu;
|
|
/* 02C83188 */ Gambit_fn_02C86828(cpu);
|
|
/* 02C8318C */ Gambit_fn_02C8706C(cpu);
|
|
L_02C83190: ; // 0x2c83190
|
|
/* 02C83190 */ cpu->r[3] = 0x0000000Du;
|
|
/* 02C83194 */ goto L_02C83138;
|
|
}
|
|
|
|
// fn_02C83198 @ 0x2c83198
|
|
void Gambit_fn_02C83198(CPUState* 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_02C83198: ; // 0x2c83198
|
|
/* 02C83198 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8319C */ Gambit_fn_02C8A14C(cpu);
|
|
/* 02C831A0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C831A4 */ cpu->r[10] = cpu->r[3];
|
|
/* 02C831A8 */ cpu->r[9] = cpu->r[31];
|
|
/* 02C831AC */ cpu->r[7] = cpu->r[31];
|
|
/* 02C831B0 */ goto L_02C831B8;
|
|
L_02C831B4: ; // 0x2c831b4
|
|
/* 02C831B4 */ cpu->r[3] = cpu->r[3] + 0x00000002u;
|
|
L_02C831B8: ; // 0x2c831b8
|
|
/* 02C831B8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C831B8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C831BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000020u);
|
|
/* 02C831C0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C831C0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C831C0 */ if (_t2) goto L_02C831B4; else goto L_02C831C4;
|
|
L_02C831C4: ; // 0x2c831c4
|
|
/* 02C831C4 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C831C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000006u);
|
|
/* 02C831CC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C831CC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C831CC */ if (_t4) goto L_02C831B4; else goto L_02C831D0;
|
|
L_02C831D0: ; // 0x2c831d0
|
|
/* 02C831D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000002Du);
|
|
/* 02C831D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C831D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C831D4 */ if (_t6) goto L_02C831D8; else goto L_02C831E0;
|
|
L_02C831D8: ; // 0x2c831d8
|
|
/* 02C831D8 */ cpu->r[9] = 0x00000001u;
|
|
/* 02C831DC */ goto L_02C831E8;
|
|
L_02C831E0: ; // 0x2c831e0
|
|
/* 02C831E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000002Bu);
|
|
/* 02C831E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C831E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C831E4 */ if (_t8) goto L_02C831E8; else goto L_02C831EC;
|
|
L_02C831E8: ; // 0x2c831e8
|
|
/* 02C831E8 */ cpu->r[3] = cpu->r[3] + 0x00000002u;
|
|
L_02C831EC: ; // 0x2c831ec
|
|
/* 02C831EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C831F0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C831F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C831F0 */ if (_t10) goto L_02C831F4; else goto L_02C83230;
|
|
L_02C831F4: ; // 0x2c831f4
|
|
/* 02C831F4 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02C831F4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C831F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C831FC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C831FC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C831FC */ if (_t13) goto L_02C83200; else goto L_02C83228;
|
|
L_02C83200: ; // 0x2c83200
|
|
/* 02C83200 */ _t14 = cpu->r[3] + 0x00000002u;
|
|
/* 02C83200 */ cpu->r[12] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C83204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000078u);
|
|
/* 02C83208 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83208 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C83208 */ if (_t16) goto L_02C83214; else goto L_02C8320C;
|
|
L_02C8320C: ; // 0x2c8320c
|
|
/* 02C8320C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000058u);
|
|
/* 02C83210 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83210 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C83210 */ if (_t18) goto L_02C83214; else goto L_02C83220;
|
|
L_02C83214: ; // 0x2c83214
|
|
/* 02C83214 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02C83218 */ cpu->r[5] = 0x00000010u;
|
|
/* 02C8321C */ goto L_02C83284;
|
|
L_02C83220: ; // 0x2c83220
|
|
/* 02C83220 */ cpu->r[5] = 0x00000008u;
|
|
/* 02C83224 */ goto L_02C83284;
|
|
L_02C83228: ; // 0x2c83228
|
|
/* 02C83228 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C8322C */ goto L_02C83284;
|
|
L_02C83230: ; // 0x2c83230
|
|
/* 02C83230 */ cpu->r[12] = cpu->r[5] + 0xFFFFFFFEu;
|
|
/* 02C83234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000023u);
|
|
/* 02C83238 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83238 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C83238 */ if (_t20) goto L_02C83258; else goto L_02C8323C;
|
|
L_02C8323C: ; // 0x2c8323c
|
|
/* 02C8323C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C83240 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83240 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C83240 */ if (_t22) goto L_02C83248; else goto L_02C83244;
|
|
L_02C83244: ; // 0x2c83244
|
|
/* 02C83244 */ _t23 = cpu->r[4] + 0x00000000u;
|
|
/* 02C83244 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
L_02C83248: ; // 0x2c83248
|
|
/* 02C83248 */ cpu->r[3] = 0x00000016u;
|
|
/* 02C8324C */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C83250 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C83254 */ goto L_02C8333C;
|
|
L_02C83258: ; // 0x2c83258
|
|
/* 02C83258 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02C83258 */ cpu->r[12] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02C8325C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C83260 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83260 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C83260 */ if (_t26) goto L_02C83264; else goto L_02C83284;
|
|
L_02C83264: ; // 0x2c83264
|
|
/* 02C83264 */ _t27 = cpu->r[3] + 0x00000002u;
|
|
/* 02C83264 */ cpu->r[12] = rbrew_read16(cpu->mem, _t27);
|
|
/* 02C83268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000078u);
|
|
/* 02C8326C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8326C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C8326C */ if (_t29) goto L_02C83278; else goto L_02C83270;
|
|
L_02C83270: ; // 0x2c83270
|
|
/* 02C83270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000058u);
|
|
/* 02C83274 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83274 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C83274 */ if (_t31) goto L_02C83278; else goto L_02C83284;
|
|
L_02C83278: ; // 0x2c83278
|
|
/* 02C83278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000010u);
|
|
/* 02C8327C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8327C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C8327C */ if (_t33) goto L_02C83280; else goto L_02C83284;
|
|
L_02C83280: ; // 0x2c83280
|
|
/* 02C83280 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
L_02C83284: ; // 0x2c83284
|
|
/* 02C83284 */ cpu->r[11] = cpu->r[3];
|
|
L_02C83288: ; // 0x2c83288
|
|
/* 02C83288 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 02C83288 */ cpu->r[8] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02C8328C */ cpu->r[12] = cpu->r[8] + 0xFFFFFFD0u;
|
|
/* 02C83290 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Au);
|
|
/* 02C83294 */ cpu->r[3] = cpu->r[3] + 0x00000002u;
|
|
/* 02C83298 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83298 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C83298 */ if (_t36) goto L_02C8329C; else goto L_02C832A4;
|
|
L_02C8329C: ; // 0x2c8329c
|
|
/* 02C8329C */ cpu->r[8] = cpu->r[12];
|
|
/* 02C832A0 */ goto L_02C832D0;
|
|
L_02C832A4: ; // 0x2c832a4
|
|
/* 02C832A4 */ cpu->r[12] = cpu->r[8] + 0xFFFFFF9Fu;
|
|
/* 02C832A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000001Au);
|
|
/* 02C832AC */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C832AC */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C832AC */ if (_t38) goto L_02C832B0; else goto L_02C832B8;
|
|
L_02C832B0: ; // 0x2c832b0
|
|
/* 02C832B0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFA9u;
|
|
/* 02C832B4 */ goto L_02C832D0;
|
|
L_02C832B8: ; // 0x2c832b8
|
|
/* 02C832B8 */ cpu->r[12] = cpu->r[8] + 0xFFFFFFBFu;
|
|
/* 02C832BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000001Au);
|
|
/* 02C832C0 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C832C0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C832C0 */ if (_t40) goto L_02C832C4; else goto L_02C832CC;
|
|
L_02C832C4: ; // 0x2c832c4
|
|
/* 02C832C4 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFC9u;
|
|
/* 02C832C8 */ goto L_02C832D0;
|
|
L_02C832CC: ; // 0x2c832cc
|
|
/* 02C832CC */ cpu->r[8] = 0x00000025u;
|
|
L_02C832D0: ; // 0x2c832d0
|
|
/* 02C832D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[5]);
|
|
/* 02C832D4 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C832D4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C832D4 */ if (_t42) goto L_02C832D8; else goto L_02C832F8;
|
|
L_02C832D8: ; // 0x2c832d8
|
|
/* 02C832D8 */ _t43 = cpu->r[8] | cpu->r[8];
|
|
/* 02C832D8 */ cpu->r[12] = ~_t43;
|
|
/* 02C832DC */ cpu->r[12] = cpu->r[12] / cpu->r[5];
|
|
/* 02C832E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02C832E4 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C832E4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C832E4 */ if (_t45) goto L_02C832E8; else goto L_02C832EC;
|
|
L_02C832E8: ; // 0x2c832e8
|
|
/* 02C832E8 */ cpu->r[7] = 0x00000001u;
|
|
L_02C832EC: ; // 0x2c832ec
|
|
/* 02C832EC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[31]);
|
|
/* 02C832F0 */ cpu->r[31] = cpu->r[12] + cpu->r[8];
|
|
/* 02C832F4 */ goto L_02C83288;
|
|
L_02C832F8: ; // 0x2c832f8
|
|
/* 02C832F8 */ cpu->r[12] = cpu->r[11] + 0x00000002u;
|
|
/* 02C832FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C83300 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83300 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C83300 */ if (_t47) goto L_02C83304; else goto L_02C83308;
|
|
L_02C83304: ; // 0x2c83304
|
|
/* 02C83304 */ cpu->r[3] = cpu->r[10] + 0x00000002u;
|
|
L_02C83308: ; // 0x2c83308
|
|
/* 02C83308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C8330C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8330C */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C8330C */ if (_t49) goto L_02C83318; else goto L_02C83310;
|
|
L_02C83310: ; // 0x2c83310
|
|
/* 02C83310 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFEu;
|
|
/* 02C83314 */ _t50 = cpu->r[4] + 0x00000000u;
|
|
/* 02C83314 */ rbrew_write32(cpu->mem, _t50, cpu->r[12]);
|
|
L_02C83318: ; // 0x2c83318
|
|
/* 02C83318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C8331C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8331C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C8331C */ if (_t52) goto L_02C83324; else goto L_02C83320;
|
|
L_02C83320: ; // 0x2c83320
|
|
/* 02C83320 */ cpu->r[31] = (uint32_t)(-(int32_t)cpu->r[31]);
|
|
L_02C83324: ; // 0x2c83324
|
|
/* 02C83324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C83328 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83328 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C83328 */ if (_t54) goto L_02C83338; else goto L_02C8332C;
|
|
L_02C8332C: ; // 0x2c8332c
|
|
/* 02C8332C */ cpu->r[3] = 0x00000022u;
|
|
/* 02C83330 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02C83334 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C83338: ; // 0x2c83338
|
|
/* 02C83338 */ cpu->r[3] = cpu->r[31];
|
|
L_02C8333C: ; // 0x2c8333c
|
|
/* 02C8333C */ goto L_02C8A160;
|
|
L_02C8A160: ; // 0x2c8a160
|
|
/* 02C8A160 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8A160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C8A164 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A168 */ /* nop */
|
|
/* 02C8A16C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8A170 */ return;
|
|
}
|
|
|
|
// fn_02C83340 @ 0x2c83340
|
|
void Gambit_fn_02C83340(CPUState* 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;
|
|
|
|
L_02C83340: ; // 0x2c83340
|
|
/* 02C83340 */ cpu->r[0] = cpu->lr;
|
|
/* 02C83344 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C83348 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C83348 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C83348 */ cpu->r[1] = _t0;
|
|
/* 02C8334C */ Gambit_fn_02C8A508(cpu);
|
|
/* 02C83350 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C83354 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C83354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C83358 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C8335C */ cpu->r[19] = cpu->r[24];
|
|
/* 02C83360 */ cpu->r[27] = cpu->r[24];
|
|
/* 02C83364 */ _t1 = cpu->r[26] + 0x00000016u;
|
|
/* 02C83364 */ cpu->r[29] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C83368 */ cpu->r[25] = cpu->r[19];
|
|
/* 02C8336C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8336C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C8336C */ if (_t3) goto L_02C83370; else goto L_02C8337C;
|
|
L_02C83370: ; // 0x2c83370
|
|
/* 02C83370 */ cpu->r[31] = 0x101B0000u;
|
|
/* 02C83374 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C83378 */ cpu->r[31] = cpu->r[31] + 0x00004612u;
|
|
L_02C8337C: ; // 0x2c8337c
|
|
/* 02C8337C */ _t4 = cpu->r[26] + 0x00000015u;
|
|
/* 02C8337C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C83380 */ _t5 = cpu->r[26] + 0x00000004u;
|
|
/* 02C83380 */ cpu->r[28] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C83384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83388 */ _t6 = cpu->r[26] + 0x00000000u;
|
|
/* 02C83388 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C8338C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8338C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C8338C */ if (_t8) goto L_02C8339C; else goto L_02C83390;
|
|
L_02C83390: ; // 0x2c83390
|
|
/* 02C83390 */ cpu->r[21] = 0x00000001u;
|
|
/* 02C83394 */ cpu->r[18] = cpu->r[31] + 0x00000001u;
|
|
/* 02C83398 */ goto L_02C834B4;
|
|
L_02C8339C: ; // 0x2c8339c
|
|
/* 02C8339C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C833A0 */ Gambit_fn_02C83E84(cpu);
|
|
/* 02C833A4 */ _t9 = cpu->r[26] + 0x00000014u;
|
|
/* 02C833A4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C833A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C833AC */ cpu->r[21] = cpu->r[3];
|
|
/* 02C833B0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C833B0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C833B0 */ if (_t11) goto L_02C8341C; else goto L_02C833B4;
|
|
L_02C833B4: ; // 0x2c833b4
|
|
/* 02C833B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C833B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C833B8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C833B8 */ if (_t13) goto L_02C833CC; else goto L_02C833BC;
|
|
L_02C833BC: ; // 0x2c833bc
|
|
/* 02C833BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C833C0 */ Gambit_fn_02C83C74(cpu);
|
|
/* 02C833C4 */ cpu->r[21] = cpu->r[3];
|
|
/* 02C833C8 */ goto L_02C83408;
|
|
L_02C833CC: ; // 0x2c833cc
|
|
/* 02C833CC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C833CC */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 02C833D0 */ cpu->r[23] = cpu->r[31];
|
|
/* 02C833D4 */ cpu->r[21] = 0x00000000u;
|
|
/* 02C833D8 */ goto L_02C833EC;
|
|
L_02C833DC: ; // 0x2c833dc
|
|
/* 02C833DC */ cpu->r[12] = cpu->r[3] + cpu->r[21];
|
|
/* 02C833E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[28]);
|
|
/* 02C833E4 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C833E4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C833E4 */ if (_t16) goto L_02C83408; else goto L_02C833E8;
|
|
L_02C833E8: ; // 0x2c833e8
|
|
/* 02C833E8 */ cpu->r[21] = cpu->r[12];
|
|
L_02C833EC: ; // 0x2c833ec
|
|
/* 02C833EC */ cpu->r[3] = cpu->r[23];
|
|
/* 02C833F0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C833F4 */ cpu->r[4] = 0x00000006u;
|
|
/* 02C833F8 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02C833FC */ Gambit_fn_02C83E70(cpu);
|
|
/* 02C83400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C83404 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83404 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C83404 */ if (_t18) goto L_02C83408; else goto L_02C833DC;
|
|
L_02C83408: ; // 0x2c83408
|
|
/* 02C83408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[21]);
|
|
/* 02C8340C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8340C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C8340C */ if (_t20) goto L_02C83410; else goto L_02C83414;
|
|
L_02C83410: ; // 0x2c83410
|
|
/* 02C83410 */ cpu->r[21] = cpu->r[28];
|
|
L_02C83414: ; // 0x2c83414
|
|
/* 02C83414 */ cpu->r[18] = cpu->r[31] + cpu->r[21];
|
|
/* 02C83418 */ goto L_02C834B4;
|
|
L_02C8341C: ; // 0x2c8341c
|
|
/* 02C8341C */ cpu->r[29] = cpu->r[12];
|
|
/* 02C83420 */ _t21 = cpu->r[26] + 0x00000013u;
|
|
/* 02C83420 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C83424 */ /* nop */
|
|
/* 02C83428 */ cpu->r[18] = cpu->r[31] + cpu->r[21];
|
|
/* 02C8342C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8342C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C8342C */ if (_t23) goto L_02C83450; else goto L_02C83430;
|
|
L_02C83430: ; // 0x2c83430
|
|
/* 02C83430 */ _t24 = cpu->r[26] + 0x0000001Du;
|
|
/* 02C83430 */ cpu->r[12] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C83434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Fu);
|
|
/* 02C83438 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83438 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C83438 */ if (_t26) goto L_02C8343C; else goto L_02C8344C;
|
|
L_02C8343C: ; // 0x2c8343c
|
|
/* 02C8343C */ cpu->r[12] = 0x00000030u;
|
|
/* 02C83440 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02C83444 */ _t27 = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C83444 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[12]);
|
|
/* 02C83444 */ cpu->r[31] = _t27;
|
|
/* 02C83448 */ goto L_02C83450;
|
|
L_02C8344C: ; // 0x2c8344c
|
|
/* 02C8344C */ cpu->r[25] = 0x00000002u;
|
|
L_02C83450: ; // 0x2c83450
|
|
/* 02C83450 */ _t28 = cpu->r[31] + 0x00000000u;
|
|
/* 02C83450 */ cpu->r[12] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02C83454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Du);
|
|
/* 02C83458 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83458 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C83458 */ if (_t30) goto L_02C8346C; else goto L_02C8345C;
|
|
L_02C8345C: ; // 0x2c8345c
|
|
/* 02C8345C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Bu);
|
|
/* 02C83460 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83460 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C83460 */ if (_t32) goto L_02C8346C; else goto L_02C83464;
|
|
L_02C83464: ; // 0x2c83464
|
|
/* 02C83464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u);
|
|
/* 02C83468 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83468 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C83468 */ if (_t34) goto L_02C8346C; else goto L_02C83474;
|
|
L_02C8346C: ; // 0x2c8346c
|
|
/* 02C8346C */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 02C83470 */ cpu->r[27] = 0x00000001u;
|
|
L_02C83474: ; // 0x2c83474
|
|
/* 02C83474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0xFFFF8300u);
|
|
/* 02C83478 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83478 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C83478 */ if (_t36) goto L_02C8347C; else goto L_02C83484;
|
|
L_02C8347C: ; // 0x2c8347c
|
|
/* 02C8347C */ cpu->r[28] = 0x00000001u;
|
|
/* 02C83480 */ goto L_02C8349C;
|
|
L_02C83484: ; // 0x2c83484
|
|
/* 02C83484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C83488 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83488 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C83488 */ if (_t38) goto L_02C8348C; else goto L_02C83498;
|
|
L_02C8348C: ; // 0x2c8348c
|
|
/* 02C8348C */ cpu->r[19] = (uint32_t)(-(int32_t)cpu->r[28]);
|
|
/* 02C83490 */ cpu->r[25] = cpu->r[19] + 0x00000002u;
|
|
/* 02C83494 */ goto L_02C8349C;
|
|
L_02C83498: ; // 0x2c83498
|
|
/* 02C83498 */ _t39 = cpu->r[26] + 0x00000010u;
|
|
/* 02C83498 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[24]);
|
|
L_02C8349C: ; // 0x2c8349c
|
|
/* 02C8349C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[28]);
|
|
/* 02C834A0 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C834A0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C834A0 */ if (_t41) goto L_02C834A4; else goto L_02C834AC;
|
|
L_02C834A4: ; // 0x2c834a4
|
|
/* 02C834A4 */ cpu->r[19] = cpu->r[28] - cpu->r[21];
|
|
/* 02C834A8 */ cpu->r[21] = cpu->r[28];
|
|
L_02C834AC: ; // 0x2c834ac
|
|
/* 02C834AC */ cpu->r[12] = cpu->r[25] + cpu->r[27];
|
|
/* 02C834B0 */ cpu->r[21] = cpu->r[21] + cpu->r[12];
|
|
L_02C834B4: ; // 0x2c834b4
|
|
/* 02C834B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[21]);
|
|
/* 02C834B8 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C834B8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C834B8 */ if (_t43) goto L_02C834BC; else goto L_02C834C0;
|
|
L_02C834BC: ; // 0x2c834bc
|
|
/* 02C834BC */ cpu->r[30] = cpu->r[21];
|
|
L_02C834C0: ; // 0x2c834c0
|
|
/* 02C834C0 */ _t44 = cpu->r[26] + 0x00000011u;
|
|
/* 02C834C0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02C834C4 */ cpu->r[5] = cpu->r[30] - cpu->r[21];
|
|
/* 02C834C8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C834CC */ _t45 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C834CC */ cpu->r[23] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C834D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C834D4 */ cpu->r[20] = cpu->r[28];
|
|
/* 02C834D8 */ _t46 = cpu->r[26] + 0x00000008u;
|
|
/* 02C834D8 */ cpu->r[22] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C834DC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C834DC */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C834DC */ if (_t48) goto L_02C834E8; else goto L_02C834E0;
|
|
L_02C834E0: ; // 0x2c834e0
|
|
/* 02C834E0 */ cpu->r[20] = cpu->r[5];
|
|
/* 02C834E4 */ goto L_02C83518;
|
|
L_02C834E8: ; // 0x2c834e8
|
|
/* 02C834E8 */ _t49 = cpu->r[26] + 0x00000010u;
|
|
/* 02C834E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02C834EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C834F0 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C834F0 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C834F0 */ if (_t51) goto L_02C8350C; else goto L_02C834F4;
|
|
L_02C834F4: ; // 0x2c834f4
|
|
/* 02C834F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000002u);
|
|
/* 02C834F8 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C834F8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C834F8 */ if (_t53) goto L_02C834FC; else goto L_02C83504;
|
|
L_02C834FC: ; // 0x2c834fc
|
|
/* 02C834FC */ cpu->r[28] = cpu->r[5];
|
|
/* 02C83500 */ goto L_02C83518;
|
|
L_02C83504: ; // 0x2c83504
|
|
/* 02C83504 */ cpu->r[19] = cpu->r[19] + cpu->r[5];
|
|
/* 02C83508 */ goto L_02C83518;
|
|
L_02C8350C: ; // 0x2c8350c
|
|
/* 02C8350C */ cpu->r[4] = cpu->r[22];
|
|
/* 02C83510 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C83514 */ Gambit_fn_02C84874(cpu);
|
|
L_02C83518: ; // 0x2c83518
|
|
/* 02C83518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C8351C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8351C */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C8351C */ if (_t55) goto L_02C83534; else goto L_02C83520;
|
|
L_02C83520: ; // 0x2c83520
|
|
/* 02C83520 */ cpu->ctr = cpu->r[23];
|
|
/* 02C83524 */ _t56 = cpu->r[31] + 0x00000000u;
|
|
/* 02C83524 */ cpu->r[3] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02C83528 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C8352C */ cpu->r[4] = cpu->r[22];
|
|
/* 02C83530 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C83534: ; // 0x2c83534
|
|
/* 02C83534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000002u);
|
|
/* 02C83538 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83538 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C83538 */ if (_t58) goto L_02C83574; else goto L_02C8353C;
|
|
L_02C8353C: ; // 0x2c8353c
|
|
/* 02C8353C */ goto L_02C83548;
|
|
L_02C83540: ; // 0x2c83540
|
|
/* 02C83540 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C83544 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C83548: ; // 0x2c83548
|
|
/* 02C83548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C8354C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C83550 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C83554 */ cpu->ctr = cpu->r[23];
|
|
/* 02C83558 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83558 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C83558 */ if (_t60) goto L_02C8355C; else goto L_02C83540;
|
|
L_02C8355C: ; // 0x2c8355c
|
|
/* 02C8355C */ _t61 = cpu->r[26] + 0x0000001Du;
|
|
/* 02C8355C */ cpu->r[3] = rbrew_read8(cpu->mem, _t61);
|
|
/* 02C83560 */ goto L_02C83570;
|
|
L_02C83564: ; // 0x2c83564
|
|
/* 02C83564 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C83568 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C8356C */ cpu->ctr = cpu->r[23];
|
|
L_02C83570: ; // 0x2c83570
|
|
/* 02C83570 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C83574: ; // 0x2c83574
|
|
/* 02C83574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 02C83578 */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu;
|
|
/* 02C8357C */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8357C */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C8357C */ if (_t63) goto L_02C83564; else goto L_02C83580;
|
|
L_02C83580: ; // 0x2c83580
|
|
/* 02C83580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C83584 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83584 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C83584 */ if (_t65) goto L_02C835B0; else goto L_02C83588;
|
|
L_02C83588: ; // 0x2c83588
|
|
/* 02C83588 */ cpu->r[12] = rbrew_rlwinm(cpu->r[21], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C8358C */ cpu->r[29] = cpu->r[31] + cpu->r[12];
|
|
L_02C83590: ; // 0x2c83590
|
|
/* 02C83590 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
|
|
/* 02C83594 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83594 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C83594 */ if (_t67) goto L_02C83598; else goto L_02C83620;
|
|
L_02C83598: ; // 0x2c83598
|
|
/* 02C83598 */ cpu->ctr = cpu->r[23];
|
|
/* 02C8359C */ _t68 = cpu->r[31] + 0x00000000u;
|
|
/* 02C8359C */ cpu->r[3] = rbrew_read16(cpu->mem, _t68);
|
|
/* 02C835A0 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C835A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C835A8 */ cpu->r[31] = cpu->r[31] + 0x00000002u;
|
|
/* 02C835AC */ goto L_02C83590;
|
|
L_02C835B0: ; // 0x2c835b0
|
|
/* 02C835B0 */ _t69 = cpu->r[26] + 0x00000014u;
|
|
/* 02C835B0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02C835B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C835B8 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C835B8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C835B8 */ if (_t71) goto L_02C83618; else goto L_02C835BC;
|
|
L_02C835BC: ; // 0x2c835bc
|
|
/* 02C835BC */ _t72 = cpu->r[1] + 0x00000010u;
|
|
/* 02C835BC */ rbrew_write32(cpu->mem, _t72, cpu->r[24]);
|
|
/* 02C835C0 */ goto L_02C835F4;
|
|
L_02C835C4: ; // 0x2c835c4
|
|
/* 02C835C4 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 02C835C8 */ cpu->r[5] = 0x00000006u;
|
|
/* 02C835CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C835D0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C835D4 */ Gambit_fn_02C83E28(cpu);
|
|
/* 02C835D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C835DC */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C835DC */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C835DC */ if (_t74) goto L_02C835E0; else goto L_02C83620;
|
|
L_02C835E0: ; // 0x2c835e0
|
|
/* 02C835E0 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
/* 02C835E4 */ cpu->ctr = cpu->r[23];
|
|
/* 02C835E8 */ _t75 = cpu->r[1] + 0x00000008u;
|
|
/* 02C835E8 */ cpu->r[3] = rbrew_read16(cpu->mem, _t75);
|
|
/* 02C835EC */ cpu->r[4] = cpu->r[22];
|
|
/* 02C835F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C835F4: ; // 0x2c835f4
|
|
/* 02C835F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], 0x00000000u);
|
|
/* 02C835F8 */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 02C835FC */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C835FC */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C835FC */ if (_t77) goto L_02C835C4; else goto L_02C83600;
|
|
L_02C83600: ; // 0x2c83600
|
|
/* 02C83600 */ goto L_02C83620;
|
|
L_02C83604: ; // 0x2c83604
|
|
/* 02C83604 */ cpu->ctr = cpu->r[23];
|
|
/* 02C83608 */ _t78 = cpu->r[31] + 0x00000000u;
|
|
/* 02C83608 */ cpu->r[3] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02C8360C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C83610 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C83614 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C83618: ; // 0x2c83618
|
|
/* 02C83618 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[18]);
|
|
/* 02C8361C */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8361C */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C8361C */ if (_t80) goto L_02C83604; else goto L_02C83620;
|
|
L_02C83620: ; // 0x2c83620
|
|
/* 02C83620 */ cpu->r[5] = cpu->r[20];
|
|
/* 02C83624 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C83628 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C8362C */ Gambit_fn_02C84874(cpu);
|
|
/* 02C83630 */ cpu->r[11] = cpu->r[1] + 0x00000050u;
|
|
/* 02C83634 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C83638 */ goto L_02C8A560;
|
|
L_02C8A560: ; // 0x2c8a560
|
|
/* 02C8A560 */ _t81 = cpu->r[11] + 0xFFFFFFC8u;
|
|
/* 02C8A560 */ cpu->r[18] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C8A564 */ _t82 = cpu->r[11] + 0xFFFFFFCCu;
|
|
/* 02C8A564 */ cpu->r[19] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C8A568 */ _t83 = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C8A568 */ cpu->r[20] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C8A56C */ _t84 = cpu->r[11] + 0xFFFFFFD4u;
|
|
/* 02C8A56C */ cpu->r[21] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C8A570 */ _t85 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A570 */ cpu->r[22] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C8A574 */ _t86 = cpu->r[11] + 0xFFFFFFDCu;
|
|
/* 02C8A574 */ cpu->r[23] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C8A578 */ _t87 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A578 */ cpu->r[24] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C8A57C */ _t88 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C8A580 */ _t89 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C8A584 */ _t90 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C8A588 */ _t91 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C8A58C */ _t92 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C8A590 */ _t93 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02C8A594 */ _t94 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C8A598 */ _t95 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C83348 @ 0x2c83348
|
|
void Gambit_fn_02C83348(CPUState* 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;
|
|
|
|
L_02C83348: ; // 0x2c83348
|
|
/* 02C83348 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C83348 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C83348 */ cpu->r[1] = _t0;
|
|
/* 02C8334C */ Gambit_fn_02C8A508(cpu);
|
|
/* 02C83350 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C83354 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C83354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C83358 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C8335C */ cpu->r[19] = cpu->r[24];
|
|
/* 02C83360 */ cpu->r[27] = cpu->r[24];
|
|
/* 02C83364 */ _t1 = cpu->r[26] + 0x00000016u;
|
|
/* 02C83364 */ cpu->r[29] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C83368 */ cpu->r[25] = cpu->r[19];
|
|
/* 02C8336C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8336C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C8336C */ if (_t3) goto L_02C83370; else goto L_02C8337C;
|
|
L_02C83370: ; // 0x2c83370
|
|
/* 02C83370 */ cpu->r[31] = 0x101B0000u;
|
|
/* 02C83374 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C83378 */ cpu->r[31] = cpu->r[31] + 0x00004612u;
|
|
L_02C8337C: ; // 0x2c8337c
|
|
/* 02C8337C */ _t4 = cpu->r[26] + 0x00000015u;
|
|
/* 02C8337C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C83380 */ _t5 = cpu->r[26] + 0x00000004u;
|
|
/* 02C83380 */ cpu->r[28] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C83384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83388 */ _t6 = cpu->r[26] + 0x00000000u;
|
|
/* 02C83388 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C8338C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8338C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C8338C */ if (_t8) goto L_02C8339C; else goto L_02C83390;
|
|
L_02C83390: ; // 0x2c83390
|
|
/* 02C83390 */ cpu->r[21] = 0x00000001u;
|
|
/* 02C83394 */ cpu->r[18] = cpu->r[31] + 0x00000001u;
|
|
/* 02C83398 */ goto L_02C834B4;
|
|
L_02C8339C: ; // 0x2c8339c
|
|
/* 02C8339C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C833A0 */ Gambit_fn_02C83E84(cpu);
|
|
/* 02C833A4 */ _t9 = cpu->r[26] + 0x00000014u;
|
|
/* 02C833A4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C833A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C833AC */ cpu->r[21] = cpu->r[3];
|
|
/* 02C833B0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C833B0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C833B0 */ if (_t11) goto L_02C8341C; else goto L_02C833B4;
|
|
L_02C833B4: ; // 0x2c833b4
|
|
/* 02C833B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C833B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C833B8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C833B8 */ if (_t13) goto L_02C833CC; else goto L_02C833BC;
|
|
L_02C833BC: ; // 0x2c833bc
|
|
/* 02C833BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C833C0 */ Gambit_fn_02C83C74(cpu);
|
|
/* 02C833C4 */ cpu->r[21] = cpu->r[3];
|
|
/* 02C833C8 */ goto L_02C83408;
|
|
L_02C833CC: ; // 0x2c833cc
|
|
/* 02C833CC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C833CC */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 02C833D0 */ cpu->r[23] = cpu->r[31];
|
|
/* 02C833D4 */ cpu->r[21] = 0x00000000u;
|
|
/* 02C833D8 */ goto L_02C833EC;
|
|
L_02C833DC: ; // 0x2c833dc
|
|
/* 02C833DC */ cpu->r[12] = cpu->r[3] + cpu->r[21];
|
|
/* 02C833E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[28]);
|
|
/* 02C833E4 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C833E4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C833E4 */ if (_t16) goto L_02C83408; else goto L_02C833E8;
|
|
L_02C833E8: ; // 0x2c833e8
|
|
/* 02C833E8 */ cpu->r[21] = cpu->r[12];
|
|
L_02C833EC: ; // 0x2c833ec
|
|
/* 02C833EC */ cpu->r[3] = cpu->r[23];
|
|
/* 02C833F0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C833F4 */ cpu->r[4] = 0x00000006u;
|
|
/* 02C833F8 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02C833FC */ Gambit_fn_02C83E70(cpu);
|
|
/* 02C83400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C83404 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83404 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C83404 */ if (_t18) goto L_02C83408; else goto L_02C833DC;
|
|
L_02C83408: ; // 0x2c83408
|
|
/* 02C83408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[21]);
|
|
/* 02C8340C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8340C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C8340C */ if (_t20) goto L_02C83410; else goto L_02C83414;
|
|
L_02C83410: ; // 0x2c83410
|
|
/* 02C83410 */ cpu->r[21] = cpu->r[28];
|
|
L_02C83414: ; // 0x2c83414
|
|
/* 02C83414 */ cpu->r[18] = cpu->r[31] + cpu->r[21];
|
|
/* 02C83418 */ goto L_02C834B4;
|
|
L_02C8341C: ; // 0x2c8341c
|
|
/* 02C8341C */ cpu->r[29] = cpu->r[12];
|
|
/* 02C83420 */ _t21 = cpu->r[26] + 0x00000013u;
|
|
/* 02C83420 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C83424 */ /* nop */
|
|
/* 02C83428 */ cpu->r[18] = cpu->r[31] + cpu->r[21];
|
|
/* 02C8342C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8342C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C8342C */ if (_t23) goto L_02C83450; else goto L_02C83430;
|
|
L_02C83430: ; // 0x2c83430
|
|
/* 02C83430 */ _t24 = cpu->r[26] + 0x0000001Du;
|
|
/* 02C83430 */ cpu->r[12] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C83434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Fu);
|
|
/* 02C83438 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83438 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C83438 */ if (_t26) goto L_02C8343C; else goto L_02C8344C;
|
|
L_02C8343C: ; // 0x2c8343c
|
|
/* 02C8343C */ cpu->r[12] = 0x00000030u;
|
|
/* 02C83440 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02C83444 */ _t27 = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C83444 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[12]);
|
|
/* 02C83444 */ cpu->r[31] = _t27;
|
|
/* 02C83448 */ goto L_02C83450;
|
|
L_02C8344C: ; // 0x2c8344c
|
|
/* 02C8344C */ cpu->r[25] = 0x00000002u;
|
|
L_02C83450: ; // 0x2c83450
|
|
/* 02C83450 */ _t28 = cpu->r[31] + 0x00000000u;
|
|
/* 02C83450 */ cpu->r[12] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02C83454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Du);
|
|
/* 02C83458 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83458 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C83458 */ if (_t30) goto L_02C8346C; else goto L_02C8345C;
|
|
L_02C8345C: ; // 0x2c8345c
|
|
/* 02C8345C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Bu);
|
|
/* 02C83460 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83460 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C83460 */ if (_t32) goto L_02C8346C; else goto L_02C83464;
|
|
L_02C83464: ; // 0x2c83464
|
|
/* 02C83464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u);
|
|
/* 02C83468 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83468 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C83468 */ if (_t34) goto L_02C8346C; else goto L_02C83474;
|
|
L_02C8346C: ; // 0x2c8346c
|
|
/* 02C8346C */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 02C83470 */ cpu->r[27] = 0x00000001u;
|
|
L_02C83474: ; // 0x2c83474
|
|
/* 02C83474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0xFFFF8300u);
|
|
/* 02C83478 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83478 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C83478 */ if (_t36) goto L_02C8347C; else goto L_02C83484;
|
|
L_02C8347C: ; // 0x2c8347c
|
|
/* 02C8347C */ cpu->r[28] = 0x00000001u;
|
|
/* 02C83480 */ goto L_02C8349C;
|
|
L_02C83484: ; // 0x2c83484
|
|
/* 02C83484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C83488 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83488 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C83488 */ if (_t38) goto L_02C8348C; else goto L_02C83498;
|
|
L_02C8348C: ; // 0x2c8348c
|
|
/* 02C8348C */ cpu->r[19] = (uint32_t)(-(int32_t)cpu->r[28]);
|
|
/* 02C83490 */ cpu->r[25] = cpu->r[19] + 0x00000002u;
|
|
/* 02C83494 */ goto L_02C8349C;
|
|
L_02C83498: ; // 0x2c83498
|
|
/* 02C83498 */ _t39 = cpu->r[26] + 0x00000010u;
|
|
/* 02C83498 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[24]);
|
|
L_02C8349C: ; // 0x2c8349c
|
|
/* 02C8349C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[28]);
|
|
/* 02C834A0 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C834A0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C834A0 */ if (_t41) goto L_02C834A4; else goto L_02C834AC;
|
|
L_02C834A4: ; // 0x2c834a4
|
|
/* 02C834A4 */ cpu->r[19] = cpu->r[28] - cpu->r[21];
|
|
/* 02C834A8 */ cpu->r[21] = cpu->r[28];
|
|
L_02C834AC: ; // 0x2c834ac
|
|
/* 02C834AC */ cpu->r[12] = cpu->r[25] + cpu->r[27];
|
|
/* 02C834B0 */ cpu->r[21] = cpu->r[21] + cpu->r[12];
|
|
L_02C834B4: ; // 0x2c834b4
|
|
/* 02C834B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[21]);
|
|
/* 02C834B8 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C834B8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C834B8 */ if (_t43) goto L_02C834BC; else goto L_02C834C0;
|
|
L_02C834BC: ; // 0x2c834bc
|
|
/* 02C834BC */ cpu->r[30] = cpu->r[21];
|
|
L_02C834C0: ; // 0x2c834c0
|
|
/* 02C834C0 */ _t44 = cpu->r[26] + 0x00000011u;
|
|
/* 02C834C0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02C834C4 */ cpu->r[5] = cpu->r[30] - cpu->r[21];
|
|
/* 02C834C8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C834CC */ _t45 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C834CC */ cpu->r[23] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C834D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C834D4 */ cpu->r[20] = cpu->r[28];
|
|
/* 02C834D8 */ _t46 = cpu->r[26] + 0x00000008u;
|
|
/* 02C834D8 */ cpu->r[22] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C834DC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C834DC */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C834DC */ if (_t48) goto L_02C834E8; else goto L_02C834E0;
|
|
L_02C834E0: ; // 0x2c834e0
|
|
/* 02C834E0 */ cpu->r[20] = cpu->r[5];
|
|
/* 02C834E4 */ goto L_02C83518;
|
|
L_02C834E8: ; // 0x2c834e8
|
|
/* 02C834E8 */ _t49 = cpu->r[26] + 0x00000010u;
|
|
/* 02C834E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02C834EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C834F0 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C834F0 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C834F0 */ if (_t51) goto L_02C8350C; else goto L_02C834F4;
|
|
L_02C834F4: ; // 0x2c834f4
|
|
/* 02C834F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000002u);
|
|
/* 02C834F8 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C834F8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C834F8 */ if (_t53) goto L_02C834FC; else goto L_02C83504;
|
|
L_02C834FC: ; // 0x2c834fc
|
|
/* 02C834FC */ cpu->r[28] = cpu->r[5];
|
|
/* 02C83500 */ goto L_02C83518;
|
|
L_02C83504: ; // 0x2c83504
|
|
/* 02C83504 */ cpu->r[19] = cpu->r[19] + cpu->r[5];
|
|
/* 02C83508 */ goto L_02C83518;
|
|
L_02C8350C: ; // 0x2c8350c
|
|
/* 02C8350C */ cpu->r[4] = cpu->r[22];
|
|
/* 02C83510 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C83514 */ Gambit_fn_02C84874(cpu);
|
|
L_02C83518: ; // 0x2c83518
|
|
/* 02C83518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C8351C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8351C */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C8351C */ if (_t55) goto L_02C83534; else goto L_02C83520;
|
|
L_02C83520: ; // 0x2c83520
|
|
/* 02C83520 */ cpu->ctr = cpu->r[23];
|
|
/* 02C83524 */ _t56 = cpu->r[31] + 0x00000000u;
|
|
/* 02C83524 */ cpu->r[3] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02C83528 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C8352C */ cpu->r[4] = cpu->r[22];
|
|
/* 02C83530 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C83534: ; // 0x2c83534
|
|
/* 02C83534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000002u);
|
|
/* 02C83538 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83538 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C83538 */ if (_t58) goto L_02C83574; else goto L_02C8353C;
|
|
L_02C8353C: ; // 0x2c8353c
|
|
/* 02C8353C */ goto L_02C83548;
|
|
L_02C83540: ; // 0x2c83540
|
|
/* 02C83540 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C83544 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C83548: ; // 0x2c83548
|
|
/* 02C83548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C8354C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C83550 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C83554 */ cpu->ctr = cpu->r[23];
|
|
/* 02C83558 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83558 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C83558 */ if (_t60) goto L_02C8355C; else goto L_02C83540;
|
|
L_02C8355C: ; // 0x2c8355c
|
|
/* 02C8355C */ _t61 = cpu->r[26] + 0x0000001Du;
|
|
/* 02C8355C */ cpu->r[3] = rbrew_read8(cpu->mem, _t61);
|
|
/* 02C83560 */ goto L_02C83570;
|
|
L_02C83564: ; // 0x2c83564
|
|
/* 02C83564 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C83568 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C8356C */ cpu->ctr = cpu->r[23];
|
|
L_02C83570: ; // 0x2c83570
|
|
/* 02C83570 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C83574: ; // 0x2c83574
|
|
/* 02C83574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 02C83578 */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu;
|
|
/* 02C8357C */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8357C */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C8357C */ if (_t63) goto L_02C83564; else goto L_02C83580;
|
|
L_02C83580: ; // 0x2c83580
|
|
/* 02C83580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C83584 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83584 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C83584 */ if (_t65) goto L_02C835B0; else goto L_02C83588;
|
|
L_02C83588: ; // 0x2c83588
|
|
/* 02C83588 */ cpu->r[12] = rbrew_rlwinm(cpu->r[21], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C8358C */ cpu->r[29] = cpu->r[31] + cpu->r[12];
|
|
L_02C83590: ; // 0x2c83590
|
|
/* 02C83590 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
|
|
/* 02C83594 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83594 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C83594 */ if (_t67) goto L_02C83598; else goto L_02C83620;
|
|
L_02C83598: ; // 0x2c83598
|
|
/* 02C83598 */ cpu->ctr = cpu->r[23];
|
|
/* 02C8359C */ _t68 = cpu->r[31] + 0x00000000u;
|
|
/* 02C8359C */ cpu->r[3] = rbrew_read16(cpu->mem, _t68);
|
|
/* 02C835A0 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C835A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C835A8 */ cpu->r[31] = cpu->r[31] + 0x00000002u;
|
|
/* 02C835AC */ goto L_02C83590;
|
|
L_02C835B0: ; // 0x2c835b0
|
|
/* 02C835B0 */ _t69 = cpu->r[26] + 0x00000014u;
|
|
/* 02C835B0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02C835B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C835B8 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C835B8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C835B8 */ if (_t71) goto L_02C83618; else goto L_02C835BC;
|
|
L_02C835BC: ; // 0x2c835bc
|
|
/* 02C835BC */ _t72 = cpu->r[1] + 0x00000010u;
|
|
/* 02C835BC */ rbrew_write32(cpu->mem, _t72, cpu->r[24]);
|
|
/* 02C835C0 */ goto L_02C835F4;
|
|
L_02C835C4: ; // 0x2c835c4
|
|
/* 02C835C4 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 02C835C8 */ cpu->r[5] = 0x00000006u;
|
|
/* 02C835CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C835D0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C835D4 */ Gambit_fn_02C83E28(cpu);
|
|
/* 02C835D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C835DC */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C835DC */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C835DC */ if (_t74) goto L_02C835E0; else goto L_02C83620;
|
|
L_02C835E0: ; // 0x2c835e0
|
|
/* 02C835E0 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
/* 02C835E4 */ cpu->ctr = cpu->r[23];
|
|
/* 02C835E8 */ _t75 = cpu->r[1] + 0x00000008u;
|
|
/* 02C835E8 */ cpu->r[3] = rbrew_read16(cpu->mem, _t75);
|
|
/* 02C835EC */ cpu->r[4] = cpu->r[22];
|
|
/* 02C835F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C835F4: ; // 0x2c835f4
|
|
/* 02C835F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], 0x00000000u);
|
|
/* 02C835F8 */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 02C835FC */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C835FC */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C835FC */ if (_t77) goto L_02C835C4; else goto L_02C83600;
|
|
L_02C83600: ; // 0x2c83600
|
|
/* 02C83600 */ goto L_02C83620;
|
|
L_02C83604: ; // 0x2c83604
|
|
/* 02C83604 */ cpu->ctr = cpu->r[23];
|
|
/* 02C83608 */ _t78 = cpu->r[31] + 0x00000000u;
|
|
/* 02C83608 */ cpu->r[3] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02C8360C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C83610 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C83614 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C83618: ; // 0x2c83618
|
|
/* 02C83618 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[18]);
|
|
/* 02C8361C */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8361C */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C8361C */ if (_t80) goto L_02C83604; else goto L_02C83620;
|
|
L_02C83620: ; // 0x2c83620
|
|
/* 02C83620 */ cpu->r[5] = cpu->r[20];
|
|
/* 02C83624 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C83628 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C8362C */ Gambit_fn_02C84874(cpu);
|
|
/* 02C83630 */ cpu->r[11] = cpu->r[1] + 0x00000050u;
|
|
/* 02C83634 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C83638 */ goto L_02C8A560;
|
|
L_02C8A560: ; // 0x2c8a560
|
|
/* 02C8A560 */ _t81 = cpu->r[11] + 0xFFFFFFC8u;
|
|
/* 02C8A560 */ cpu->r[18] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C8A564 */ _t82 = cpu->r[11] + 0xFFFFFFCCu;
|
|
/* 02C8A564 */ cpu->r[19] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C8A568 */ _t83 = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C8A568 */ cpu->r[20] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C8A56C */ _t84 = cpu->r[11] + 0xFFFFFFD4u;
|
|
/* 02C8A56C */ cpu->r[21] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C8A570 */ _t85 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A570 */ cpu->r[22] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C8A574 */ _t86 = cpu->r[11] + 0xFFFFFFDCu;
|
|
/* 02C8A574 */ cpu->r[23] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C8A578 */ _t87 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A578 */ cpu->r[24] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C8A57C */ _t88 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C8A580 */ _t89 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C8A584 */ _t90 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C8A588 */ _t91 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C8A58C */ _t92 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C8A590 */ _t93 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02C8A594 */ _t94 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C8A598 */ _t95 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C8363C @ 0x2c8363c
|
|
void Gambit_fn_02C8363C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C8363C: ; // 0x2c8363c
|
|
/* 02C8363C */ cpu->r[0] = cpu->lr;
|
|
/* 02C83640 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C83644 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C83644 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C83644 */ cpu->r[1] = _t0;
|
|
/* 02C83648 */ Gambit_fn_02C8A534(cpu);
|
|
/* 02C8364C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C83650 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C83654 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C83658 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C8365C */ cpu->r[4] = cpu->r[1] + 0x00000017u;
|
|
/* 02C83660 */ _t1 = cpu->r[1] + 0x00000017u;
|
|
/* 02C83660 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[30]);
|
|
/* 02C83664 */ Gambit_fn_02C84844(cpu);
|
|
/* 02C83668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C8366C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C83670 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83670 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C83670 */ if (_t3) goto L_02C83678; else goto L_02C83674;
|
|
L_02C83674: ; // 0x2c83674
|
|
/* 02C83674 */ _t4 = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C83674 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[29]);
|
|
/* 02C83674 */ cpu->r[4] = _t4;
|
|
L_02C83678: ; // 0x2c83678
|
|
/* 02C83678 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C8367C */ _t5 = cpu->r[31] + 0x00000013u;
|
|
/* 02C8367C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[30]);
|
|
/* 02C83680 */ Gambit_fn_02C83340(cpu);
|
|
/* 02C83684 */ cpu->r[11] = cpu->r[1] + 0x00000028u;
|
|
/* 02C83688 */ goto L_02C8A58C;
|
|
L_02C8A58C: ; // 0x2c8a58c
|
|
/* 02C8A58C */ _t6 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C8A590 */ _t7 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8A594 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C8A598 */ _t9 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C83644 @ 0x2c83644
|
|
void Gambit_fn_02C83644(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C83644: ; // 0x2c83644
|
|
/* 02C83644 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C83644 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C83644 */ cpu->r[1] = _t0;
|
|
/* 02C83648 */ Gambit_fn_02C8A534(cpu);
|
|
/* 02C8364C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C83650 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C83654 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C83658 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C8365C */ cpu->r[4] = cpu->r[1] + 0x00000017u;
|
|
/* 02C83660 */ _t1 = cpu->r[1] + 0x00000017u;
|
|
/* 02C83660 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[30]);
|
|
/* 02C83664 */ Gambit_fn_02C84844(cpu);
|
|
/* 02C83668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C8366C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C83670 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83670 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C83670 */ if (_t3) goto L_02C83678; else goto L_02C83674;
|
|
L_02C83674: ; // 0x2c83674
|
|
/* 02C83674 */ _t4 = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C83674 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[29]);
|
|
/* 02C83674 */ cpu->r[4] = _t4;
|
|
L_02C83678: ; // 0x2c83678
|
|
/* 02C83678 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C8367C */ _t5 = cpu->r[31] + 0x00000013u;
|
|
/* 02C8367C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[30]);
|
|
/* 02C83680 */ Gambit_fn_02C83340(cpu);
|
|
/* 02C83684 */ cpu->r[11] = cpu->r[1] + 0x00000028u;
|
|
/* 02C83688 */ goto L_02C8A58C;
|
|
L_02C8A58C: ; // 0x2c8a58c
|
|
/* 02C8A58C */ _t6 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C8A590 */ _t7 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8A594 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C8A598 */ _t9 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C8368C @ 0x2c8368c
|
|
void Gambit_fn_02C8368C(CPUState* 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;
|
|
|
|
L_02C8368C: ; // 0x2c8368c
|
|
/* 02C8368C */ cpu->r[0] = cpu->lr;
|
|
/* 02C83690 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C83694 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C83694 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C83694 */ cpu->r[1] = _t0;
|
|
/* 02C83698 */ Gambit_fn_02C8A528(cpu);
|
|
/* 02C8369C */ cpu->r[27] = cpu->r[3];
|
|
/* 02C836A0 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C836A4 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C836A8 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C836AC */ cpu->r[29] = cpu->r[5];
|
|
/* 02C836AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C836B0 */ cpu->r[31] = cpu->r[26];
|
|
/* 02C836B4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C836B4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C836B4 */ if (_t2) goto L_02C836B8; else goto L_02C836C0;
|
|
L_02C836B8: ; // 0x2c836b8
|
|
/* 02C836B8 */ cpu->r[29] = 0x101B0000u;
|
|
/* 02C836BC */ cpu->r[29] = cpu->r[29] + 0x0000461Au;
|
|
L_02C836C0: ; // 0x2c836c0
|
|
/* 02C836C0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C836C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[27]);
|
|
/* 02C836C4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C836C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 02C836C8 */ goto L_02C83BA8;
|
|
L_02C836CC: ; // 0x2c836cc
|
|
/* 02C836CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000025u);
|
|
/* 02C836D0 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C836D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C836D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C836D4 */ if (_t6) goto L_02C836EC; else goto L_02C836D8;
|
|
L_02C836D8: ; // 0x2c836d8
|
|
/* 02C836D8 */ cpu->ctr = cpu->r[28];
|
|
/* 02C836DC */ cpu->r[4] = cpu->r[27];
|
|
/* 02C836E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C836E4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C836E8 */ goto L_02C83BA8;
|
|
L_02C836EC: ; // 0x2c836ec
|
|
/* 02C836EC */ cpu->r[12] = 0xFFFF8300u;
|
|
/* 02C836F0 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C836F4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C836F4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C836F8 */ goto L_02C83704;
|
|
L_02C836FC: ; // 0x2c836fc
|
|
/* 02C836FC */ _t8 = cpu->r[11] + 0x00000000u;
|
|
/* 02C836FC */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[26]);
|
|
/* 02C83700 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
L_02C83704: ; // 0x2c83704
|
|
/* 02C83704 */ cpu->r[12] = cpu->r[1] + 0x00000025u;
|
|
/* 02C83708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C8370C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8370C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C8370C */ if (_t10) goto L_02C83710; else goto L_02C836FC;
|
|
L_02C83710: ; // 0x2c83710
|
|
/* 02C83710 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C83710 */ cpu->r[3] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C83714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000002Du);
|
|
/* 02C83718 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83718 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C83718 */ if (_t13) goto L_02C8371C; else goto L_02C83724;
|
|
L_02C8371C: ; // 0x2c8371c
|
|
/* 02C8371C */ _t14 = cpu->r[1] + 0x00000019u;
|
|
/* 02C8371C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[3]);
|
|
/* 02C83720 */ goto L_02C83768;
|
|
L_02C83724: ; // 0x2c83724
|
|
/* 02C83724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000002Bu);
|
|
/* 02C83728 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83728 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C83728 */ if (_t16) goto L_02C83754; else goto L_02C8372C;
|
|
L_02C8372C: ; // 0x2c8372c
|
|
/* 02C8372C */ cpu->r[12] = cpu->r[3];
|
|
/* 02C83730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C83734 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83734 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C83734 */ if (_t18) goto L_02C83738; else goto L_02C83740;
|
|
L_02C83738: ; // 0x2c83738
|
|
/* 02C83738 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02C83738 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[12]);
|
|
/* 02C8373C */ goto L_02C83768;
|
|
L_02C83740: ; // 0x2c83740
|
|
/* 02C83740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000020u);
|
|
/* 02C83744 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83744 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C83744 */ if (_t21) goto L_02C83748; else goto L_02C8375C;
|
|
L_02C83748: ; // 0x2c83748
|
|
/* 02C83748 */ _t22 = cpu->r[1] + 0x0000001Au;
|
|
/* 02C83748 */ cpu->r[12] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C8374C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83750 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83750 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C83750 */ if (_t24) goto L_02C83754; else goto L_02C83768;
|
|
L_02C83754: ; // 0x2c83754
|
|
/* 02C83754 */ _t25 = cpu->r[1] + 0x0000001Au;
|
|
/* 02C83754 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[3]);
|
|
/* 02C83758 */ goto L_02C83768;
|
|
L_02C8375C: ; // 0x2c8375c
|
|
/* 02C8375C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000023u);
|
|
/* 02C83760 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83760 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C83760 */ if (_t27) goto L_02C83764; else goto L_02C83770;
|
|
L_02C83764: ; // 0x2c83764
|
|
/* 02C83764 */ _t28 = cpu->r[1] + 0x0000001Bu;
|
|
/* 02C83764 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[3]);
|
|
L_02C83768: ; // 0x2c83768
|
|
/* 02C83768 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C8376C */ goto L_02C83710;
|
|
L_02C83770: ; // 0x2c83770
|
|
/* 02C83770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000002Au);
|
|
/* 02C83774 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83774 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C83774 */ if (_t30) goto L_02C83778; else goto L_02C837AC;
|
|
L_02C83778: ; // 0x2c83778
|
|
/* 02C83778 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C8377C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C83780 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C83784 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02C83784 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C83788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C8378C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8378C */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02C83790 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83790 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C83790 */ if (_t34) goto L_02C83794; else goto L_02C837A4;
|
|
L_02C83794: ; // 0x2c83794
|
|
/* 02C83794 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C83798 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02C83798 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02C8379C */ _t36 = cpu->r[29] + 0x00000000u;
|
|
/* 02C8379C */ cpu->r[12] = rbrew_read16(cpu->mem, _t36);
|
|
/* 02C837A0 */ _t37 = cpu->r[1] + 0x00000019u;
|
|
/* 02C837A0 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[12]);
|
|
L_02C837A4: ; // 0x2c837a4
|
|
/* 02C837A4 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C837A8 */ goto L_02C837DC;
|
|
L_02C837AC: ; // 0x2c837ac
|
|
/* 02C837AC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C837B0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFEu;
|
|
/* 02C837B4 */ goto L_02C837C8;
|
|
L_02C837B8: ; // 0x2c837b8
|
|
/* 02C837B8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Au);
|
|
/* 02C837BC */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02C837BC */ cpu->r[12] = rbrew_read16(cpu->mem, _t38);
|
|
/* 02C837C0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02C837C4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFD0u;
|
|
L_02C837C8: ; // 0x2c837c8
|
|
/* 02C837C8 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02C837C8 */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 02C837CC */ _t40 = cpu->r[29] + 0x00000002u;
|
|
/* 02C837CC */ cpu->r[11] = rbrew_read16(cpu->mem, _t40);
|
|
/* 02C837CC */ cpu->r[29] = _t40;
|
|
/* 02C837D0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C837D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Au);
|
|
/* 02C837D8 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C837D8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C837D8 */ if (_t42) goto L_02C837B8; else goto L_02C837DC;
|
|
L_02C837DC: ; // 0x2c837dc
|
|
/* 02C837DC */ _t43 = cpu->r[29] + 0x00000000u;
|
|
/* 02C837DC */ cpu->r[12] = rbrew_read16(cpu->mem, _t43);
|
|
/* 02C837E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Eu);
|
|
/* 02C837E4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C837E4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C837E4 */ if (_t45) goto L_02C837E8; else goto L_02C83850;
|
|
L_02C837E8: ; // 0x2c837e8
|
|
/* 02C837E8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C837EC */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C837EC */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 02C837F0 */ _t47 = cpu->r[29] + 0x00000002u;
|
|
/* 02C837F0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t47);
|
|
/* 02C837F0 */ cpu->r[29] = _t47;
|
|
/* 02C837F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000002Au);
|
|
/* 02C837F8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C837F8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C837F8 */ if (_t49) goto L_02C837FC; else goto L_02C83840;
|
|
L_02C837FC: ; // 0x2c837fc
|
|
/* 02C837FC */ cpu->r[4] = 0x00000001u;
|
|
/* 02C83800 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C83804 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C83808 */ _t50 = cpu->r[3] + 0x00000000u;
|
|
/* 02C83808 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C8380C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83810 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C83810 */ rbrew_write32(cpu->mem, _t51, cpu->r[12]);
|
|
/* 02C83814 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83814 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C83814 */ if (_t53) goto L_02C83818; else goto L_02C83820;
|
|
L_02C83818: ; // 0x2c83818
|
|
/* 02C83818 */ cpu->r[12] = 0xFFFF8300u;
|
|
/* 02C8381C */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8381C */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
L_02C83820: ; // 0x2c83820
|
|
/* 02C83820 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C83824 */ goto L_02C83850;
|
|
L_02C83828: ; // 0x2c83828
|
|
/* 02C83828 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Au);
|
|
/* 02C8382C */ _t55 = cpu->r[29] + 0x00000000u;
|
|
/* 02C8382C */ cpu->r[12] = rbrew_read16(cpu->mem, _t55);
|
|
/* 02C83830 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02C83834 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C83838 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 02C8383C */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8383C */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
|
|
L_02C83840: ; // 0x2c83840
|
|
/* 02C83840 */ _t57 = cpu->r[29] + 0x00000000u;
|
|
/* 02C83840 */ cpu->r[11] = rbrew_read16(cpu->mem, _t57);
|
|
/* 02C83844 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C83848 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Au);
|
|
/* 02C8384C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8384C */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C8384C */ if (_t59) goto L_02C83828; else goto L_02C83850;
|
|
L_02C83850: ; // 0x2c83850
|
|
/* 02C83850 */ _t60 = cpu->r[29] + 0x00000000u;
|
|
/* 02C83850 */ cpu->r[12] = rbrew_read16(cpu->mem, _t60);
|
|
/* 02C83854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u);
|
|
/* 02C83858 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83858 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C83858 */ if (_t62) goto L_02C83820; else goto L_02C8385C;
|
|
L_02C8385C: ; // 0x2c8385c
|
|
/* 02C8385C */ _t63 = cpu->r[29] + 0x00000000u;
|
|
/* 02C8385C */ cpu->r[12] = rbrew_read16(cpu->mem, _t63);
|
|
/* 02C83860 */ cpu->r[11] = cpu->r[12];
|
|
/* 02C83864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000004Cu);
|
|
/* 02C83868 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C8386C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8386C */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C8386C */ if (_t65) goto L_02C838B8; else goto L_02C83870;
|
|
L_02C83870: ; // 0x2c83870
|
|
/* 02C83870 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000068u);
|
|
/* 02C83874 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83874 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C83874 */ if (_t67) goto L_02C838C0; else goto L_02C83878;
|
|
L_02C83878: ; // 0x2c83878
|
|
/* 02C83878 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000006Au);
|
|
/* 02C8387C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8387C */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C8387C */ if (_t69) goto L_02C838B8; else goto L_02C83880;
|
|
L_02C83880: ; // 0x2c83880
|
|
/* 02C83880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000006Cu);
|
|
/* 02C83884 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83884 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C83884 */ if (_t71) goto L_02C838A0; else goto L_02C83888;
|
|
L_02C83888: ; // 0x2c83888
|
|
/* 02C83888 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000074u);
|
|
/* 02C8388C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8388C */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C8388C */ if (_t73) goto L_02C838E0; else goto L_02C83890;
|
|
L_02C83890: ; // 0x2c83890
|
|
/* 02C83890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000007Au);
|
|
/* 02C83894 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83894 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C83894 */ if (_t75) goto L_02C838E0; else goto L_02C83898;
|
|
L_02C83898: ; // 0x2c83898
|
|
/* 02C83898 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFEu;
|
|
/* 02C8389C */ goto L_02C838E0;
|
|
L_02C838A0: ; // 0x2c838a0
|
|
/* 02C838A0 */ _t76 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02C838A0 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[12]);
|
|
/* 02C838A4 */ _t77 = cpu->r[29] + 0x00000000u;
|
|
/* 02C838A4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t77);
|
|
/* 02C838A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Cu);
|
|
/* 02C838AC */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C838AC */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C838AC */ if (_t79) goto L_02C838B0; else goto L_02C838E0;
|
|
L_02C838B0: ; // 0x2c838b0
|
|
/* 02C838B0 */ cpu->r[12] = 0x0000006Cu;
|
|
/* 02C838B4 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
L_02C838B8: ; // 0x2c838b8
|
|
/* 02C838B8 */ _t80 = cpu->r[1] + 0x0000001Fu;
|
|
/* 02C838B8 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[12]);
|
|
/* 02C838BC */ goto L_02C838E0;
|
|
L_02C838C0: ; // 0x2c838c0
|
|
/* 02C838C0 */ _t81 = cpu->r[29] + 0x00000000u;
|
|
/* 02C838C0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t81);
|
|
/* 02C838C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000068u);
|
|
/* 02C838C8 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C838C8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C838C8 */ if (_t83) goto L_02C838CC; else goto L_02C838D8;
|
|
L_02C838CC: ; // 0x2c838cc
|
|
/* 02C838CC */ _t84 = cpu->r[1] + 0x00000023u;
|
|
/* 02C838CC */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[12]);
|
|
/* 02C838D0 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C838D4 */ goto L_02C838E0;
|
|
L_02C838D8: ; // 0x2c838d8
|
|
/* 02C838D8 */ cpu->r[12] = 0x00000068u;
|
|
/* 02C838DC */ _t85 = cpu->r[1] + 0x00000022u;
|
|
/* 02C838DC */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[12]);
|
|
L_02C838E0: ; // 0x2c838e0
|
|
/* 02C838E0 */ _t86 = cpu->r[29] + 0x00000000u;
|
|
/* 02C838E0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t86);
|
|
/* 02C838E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C838E8 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C838EC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C838EC */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C838EC */ if (_t88) goto L_02C83BB4; else goto L_02C838F0;
|
|
L_02C838F0: ; // 0x2c838f0
|
|
/* 02C838F0 */ cpu->r[10] = cpu->r[12] | 0x00000020u;
|
|
/* 02C838F4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFF9Fu;
|
|
/* 02C838F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000017u);
|
|
/* 02C838FC */ _t89 = cpu->r[1] + 0x00000025u;
|
|
/* 02C838FC */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[12]);
|
|
/* 02C83900 */ _t90 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83900 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02C83900 */ if (_t91) goto L_02C83B8C; else goto L_02C83904;
|
|
L_02C83904: ; // 0x2c83904
|
|
/* 02C83904 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C83908 */ cpu->r[11] = cpu->r[10] + 0x02C80000u;
|
|
/* 02C8390C */ cpu->r[11] = cpu->r[11] + 0x00003918u;
|
|
/* 02C83910 */ cpu->ctr = cpu->r[11];
|
|
/* 02C83914 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C83B8C: ; // 0x2c83b8c
|
|
/* 02C83B8C */ _t92 = cpu->r[1] + 0x00000028u;
|
|
/* 02C83B8C */ rbrew_write16(cpu->mem, _t92, (uint16_t)cpu->r[12]);
|
|
/* 02C83B90 */ cpu->r[12] = 0x00000101u;
|
|
/* 02C83B94 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02C83B98 */ _t93 = cpu->r[1] + 0x0000001Du;
|
|
/* 02C83B98 */ rbrew_write16(cpu->mem, _t93, (uint16_t)cpu->r[12]);
|
|
/* 02C83B9C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C83BA0 */ Gambit_fn_02C83340(cpu);
|
|
/* 02C83BA4 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
L_02C83BA8: ; // 0x2c83ba8
|
|
/* 02C83BA8 */ _t94 = cpu->r[29] + 0x00000000u;
|
|
/* 02C83BA8 */ cpu->r[3] = rbrew_read16(cpu->mem, _t94);
|
|
/* 02C83BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C83BB0 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83BB0 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02C83BB0 */ if (_t96) goto L_02C83BB4; else goto L_02C836CC;
|
|
L_02C83BB4: ; // 0x2c83bb4
|
|
/* 02C83BB4 */ cpu->r[11] = cpu->r[1] + 0x00000048u;
|
|
/* 02C83BB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C83BBC */ goto L_02C8A580;
|
|
L_02C8A580: ; // 0x2c8a580
|
|
/* 02C8A580 */ _t97 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02C8A584 */ _t98 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02C8A588 */ _t99 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C8A58C */ _t100 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C8A590 */ _t101 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02C8A594 */ _t102 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02C8A598 */ _t103 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C83694 @ 0x2c83694
|
|
void Gambit_fn_02C83694(CPUState* 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;
|
|
|
|
L_02C83694: ; // 0x2c83694
|
|
/* 02C83694 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C83694 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C83694 */ cpu->r[1] = _t0;
|
|
/* 02C83698 */ Gambit_fn_02C8A528(cpu);
|
|
/* 02C8369C */ cpu->r[27] = cpu->r[3];
|
|
/* 02C836A0 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C836A4 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C836A8 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C836AC */ cpu->r[29] = cpu->r[5];
|
|
/* 02C836AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C836B0 */ cpu->r[31] = cpu->r[26];
|
|
/* 02C836B4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C836B4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C836B4 */ if (_t2) goto L_02C836B8; else goto L_02C836C0;
|
|
L_02C836B8: ; // 0x2c836b8
|
|
/* 02C836B8 */ cpu->r[29] = 0x101B0000u;
|
|
/* 02C836BC */ cpu->r[29] = cpu->r[29] + 0x0000461Au;
|
|
L_02C836C0: ; // 0x2c836c0
|
|
/* 02C836C0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C836C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[27]);
|
|
/* 02C836C4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C836C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 02C836C8 */ goto L_02C83BA8;
|
|
L_02C836CC: ; // 0x2c836cc
|
|
/* 02C836CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000025u);
|
|
/* 02C836D0 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C836D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C836D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C836D4 */ if (_t6) goto L_02C836EC; else goto L_02C836D8;
|
|
L_02C836D8: ; // 0x2c836d8
|
|
/* 02C836D8 */ cpu->ctr = cpu->r[28];
|
|
/* 02C836DC */ cpu->r[4] = cpu->r[27];
|
|
/* 02C836E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C836E4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C836E8 */ goto L_02C83BA8;
|
|
L_02C836EC: ; // 0x2c836ec
|
|
/* 02C836EC */ cpu->r[12] = 0xFFFF8300u;
|
|
/* 02C836F0 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C836F4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C836F4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C836F8 */ goto L_02C83704;
|
|
L_02C836FC: ; // 0x2c836fc
|
|
/* 02C836FC */ _t8 = cpu->r[11] + 0x00000000u;
|
|
/* 02C836FC */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[26]);
|
|
/* 02C83700 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
L_02C83704: ; // 0x2c83704
|
|
/* 02C83704 */ cpu->r[12] = cpu->r[1] + 0x00000025u;
|
|
/* 02C83708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C8370C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8370C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C8370C */ if (_t10) goto L_02C83710; else goto L_02C836FC;
|
|
L_02C83710: ; // 0x2c83710
|
|
/* 02C83710 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C83710 */ cpu->r[3] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C83714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000002Du);
|
|
/* 02C83718 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83718 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C83718 */ if (_t13) goto L_02C8371C; else goto L_02C83724;
|
|
L_02C8371C: ; // 0x2c8371c
|
|
/* 02C8371C */ _t14 = cpu->r[1] + 0x00000019u;
|
|
/* 02C8371C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[3]);
|
|
/* 02C83720 */ goto L_02C83768;
|
|
L_02C83724: ; // 0x2c83724
|
|
/* 02C83724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000002Bu);
|
|
/* 02C83728 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83728 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C83728 */ if (_t16) goto L_02C83754; else goto L_02C8372C;
|
|
L_02C8372C: ; // 0x2c8372c
|
|
/* 02C8372C */ cpu->r[12] = cpu->r[3];
|
|
/* 02C83730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C83734 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83734 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C83734 */ if (_t18) goto L_02C83738; else goto L_02C83740;
|
|
L_02C83738: ; // 0x2c83738
|
|
/* 02C83738 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02C83738 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[12]);
|
|
/* 02C8373C */ goto L_02C83768;
|
|
L_02C83740: ; // 0x2c83740
|
|
/* 02C83740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000020u);
|
|
/* 02C83744 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83744 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C83744 */ if (_t21) goto L_02C83748; else goto L_02C8375C;
|
|
L_02C83748: ; // 0x2c83748
|
|
/* 02C83748 */ _t22 = cpu->r[1] + 0x0000001Au;
|
|
/* 02C83748 */ cpu->r[12] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C8374C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83750 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83750 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C83750 */ if (_t24) goto L_02C83754; else goto L_02C83768;
|
|
L_02C83754: ; // 0x2c83754
|
|
/* 02C83754 */ _t25 = cpu->r[1] + 0x0000001Au;
|
|
/* 02C83754 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[3]);
|
|
/* 02C83758 */ goto L_02C83768;
|
|
L_02C8375C: ; // 0x2c8375c
|
|
/* 02C8375C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000023u);
|
|
/* 02C83760 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83760 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C83760 */ if (_t27) goto L_02C83764; else goto L_02C83770;
|
|
L_02C83764: ; // 0x2c83764
|
|
/* 02C83764 */ _t28 = cpu->r[1] + 0x0000001Bu;
|
|
/* 02C83764 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[3]);
|
|
L_02C83768: ; // 0x2c83768
|
|
/* 02C83768 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C8376C */ goto L_02C83710;
|
|
L_02C83770: ; // 0x2c83770
|
|
/* 02C83770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000002Au);
|
|
/* 02C83774 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83774 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C83774 */ if (_t30) goto L_02C83778; else goto L_02C837AC;
|
|
L_02C83778: ; // 0x2c83778
|
|
/* 02C83778 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C8377C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C83780 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C83784 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02C83784 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C83788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C8378C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8378C */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02C83790 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83790 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C83790 */ if (_t34) goto L_02C83794; else goto L_02C837A4;
|
|
L_02C83794: ; // 0x2c83794
|
|
/* 02C83794 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C83798 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02C83798 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02C8379C */ _t36 = cpu->r[29] + 0x00000000u;
|
|
/* 02C8379C */ cpu->r[12] = rbrew_read16(cpu->mem, _t36);
|
|
/* 02C837A0 */ _t37 = cpu->r[1] + 0x00000019u;
|
|
/* 02C837A0 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[12]);
|
|
L_02C837A4: ; // 0x2c837a4
|
|
/* 02C837A4 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C837A8 */ goto L_02C837DC;
|
|
L_02C837AC: ; // 0x2c837ac
|
|
/* 02C837AC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C837B0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFEu;
|
|
/* 02C837B4 */ goto L_02C837C8;
|
|
L_02C837B8: ; // 0x2c837b8
|
|
/* 02C837B8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Au);
|
|
/* 02C837BC */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02C837BC */ cpu->r[12] = rbrew_read16(cpu->mem, _t38);
|
|
/* 02C837C0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02C837C4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFD0u;
|
|
L_02C837C8: ; // 0x2c837c8
|
|
/* 02C837C8 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02C837C8 */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 02C837CC */ _t40 = cpu->r[29] + 0x00000002u;
|
|
/* 02C837CC */ cpu->r[11] = rbrew_read16(cpu->mem, _t40);
|
|
/* 02C837CC */ cpu->r[29] = _t40;
|
|
/* 02C837D0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C837D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Au);
|
|
/* 02C837D8 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C837D8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C837D8 */ if (_t42) goto L_02C837B8; else goto L_02C837DC;
|
|
L_02C837DC: ; // 0x2c837dc
|
|
/* 02C837DC */ _t43 = cpu->r[29] + 0x00000000u;
|
|
/* 02C837DC */ cpu->r[12] = rbrew_read16(cpu->mem, _t43);
|
|
/* 02C837E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Eu);
|
|
/* 02C837E4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C837E4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C837E4 */ if (_t45) goto L_02C837E8; else goto L_02C83850;
|
|
L_02C837E8: ; // 0x2c837e8
|
|
/* 02C837E8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C837EC */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C837EC */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 02C837F0 */ _t47 = cpu->r[29] + 0x00000002u;
|
|
/* 02C837F0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t47);
|
|
/* 02C837F0 */ cpu->r[29] = _t47;
|
|
/* 02C837F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000002Au);
|
|
/* 02C837F8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C837F8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C837F8 */ if (_t49) goto L_02C837FC; else goto L_02C83840;
|
|
L_02C837FC: ; // 0x2c837fc
|
|
/* 02C837FC */ cpu->r[4] = 0x00000001u;
|
|
/* 02C83800 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C83804 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C83808 */ _t50 = cpu->r[3] + 0x00000000u;
|
|
/* 02C83808 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C8380C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83810 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C83810 */ rbrew_write32(cpu->mem, _t51, cpu->r[12]);
|
|
/* 02C83814 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83814 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C83814 */ if (_t53) goto L_02C83818; else goto L_02C83820;
|
|
L_02C83818: ; // 0x2c83818
|
|
/* 02C83818 */ cpu->r[12] = 0xFFFF8300u;
|
|
/* 02C8381C */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8381C */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
L_02C83820: ; // 0x2c83820
|
|
/* 02C83820 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C83824 */ goto L_02C83850;
|
|
L_02C83828: ; // 0x2c83828
|
|
/* 02C83828 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Au);
|
|
/* 02C8382C */ _t55 = cpu->r[29] + 0x00000000u;
|
|
/* 02C8382C */ cpu->r[12] = rbrew_read16(cpu->mem, _t55);
|
|
/* 02C83830 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02C83834 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C83838 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 02C8383C */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8383C */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
|
|
L_02C83840: ; // 0x2c83840
|
|
/* 02C83840 */ _t57 = cpu->r[29] + 0x00000000u;
|
|
/* 02C83840 */ cpu->r[11] = rbrew_read16(cpu->mem, _t57);
|
|
/* 02C83844 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C83848 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Au);
|
|
/* 02C8384C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8384C */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C8384C */ if (_t59) goto L_02C83828; else goto L_02C83850;
|
|
L_02C83850: ; // 0x2c83850
|
|
/* 02C83850 */ _t60 = cpu->r[29] + 0x00000000u;
|
|
/* 02C83850 */ cpu->r[12] = rbrew_read16(cpu->mem, _t60);
|
|
/* 02C83854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u);
|
|
/* 02C83858 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83858 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C83858 */ if (_t62) goto L_02C83820; else goto L_02C8385C;
|
|
L_02C8385C: ; // 0x2c8385c
|
|
/* 02C8385C */ _t63 = cpu->r[29] + 0x00000000u;
|
|
/* 02C8385C */ cpu->r[12] = rbrew_read16(cpu->mem, _t63);
|
|
/* 02C83860 */ cpu->r[11] = cpu->r[12];
|
|
/* 02C83864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000004Cu);
|
|
/* 02C83868 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C8386C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8386C */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C8386C */ if (_t65) goto L_02C838B8; else goto L_02C83870;
|
|
L_02C83870: ; // 0x2c83870
|
|
/* 02C83870 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000068u);
|
|
/* 02C83874 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83874 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C83874 */ if (_t67) goto L_02C838C0; else goto L_02C83878;
|
|
L_02C83878: ; // 0x2c83878
|
|
/* 02C83878 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000006Au);
|
|
/* 02C8387C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8387C */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C8387C */ if (_t69) goto L_02C838B8; else goto L_02C83880;
|
|
L_02C83880: ; // 0x2c83880
|
|
/* 02C83880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000006Cu);
|
|
/* 02C83884 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83884 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C83884 */ if (_t71) goto L_02C838A0; else goto L_02C83888;
|
|
L_02C83888: ; // 0x2c83888
|
|
/* 02C83888 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000074u);
|
|
/* 02C8388C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8388C */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C8388C */ if (_t73) goto L_02C838E0; else goto L_02C83890;
|
|
L_02C83890: ; // 0x2c83890
|
|
/* 02C83890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000007Au);
|
|
/* 02C83894 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83894 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C83894 */ if (_t75) goto L_02C838E0; else goto L_02C83898;
|
|
L_02C83898: ; // 0x2c83898
|
|
/* 02C83898 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFEu;
|
|
/* 02C8389C */ goto L_02C838E0;
|
|
L_02C838A0: ; // 0x2c838a0
|
|
/* 02C838A0 */ _t76 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02C838A0 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[12]);
|
|
/* 02C838A4 */ _t77 = cpu->r[29] + 0x00000000u;
|
|
/* 02C838A4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t77);
|
|
/* 02C838A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Cu);
|
|
/* 02C838AC */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C838AC */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C838AC */ if (_t79) goto L_02C838B0; else goto L_02C838E0;
|
|
L_02C838B0: ; // 0x2c838b0
|
|
/* 02C838B0 */ cpu->r[12] = 0x0000006Cu;
|
|
/* 02C838B4 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
L_02C838B8: ; // 0x2c838b8
|
|
/* 02C838B8 */ _t80 = cpu->r[1] + 0x0000001Fu;
|
|
/* 02C838B8 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[12]);
|
|
/* 02C838BC */ goto L_02C838E0;
|
|
L_02C838C0: ; // 0x2c838c0
|
|
/* 02C838C0 */ _t81 = cpu->r[29] + 0x00000000u;
|
|
/* 02C838C0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t81);
|
|
/* 02C838C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000068u);
|
|
/* 02C838C8 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C838C8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C838C8 */ if (_t83) goto L_02C838CC; else goto L_02C838D8;
|
|
L_02C838CC: ; // 0x2c838cc
|
|
/* 02C838CC */ _t84 = cpu->r[1] + 0x00000023u;
|
|
/* 02C838CC */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[12]);
|
|
/* 02C838D0 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C838D4 */ goto L_02C838E0;
|
|
L_02C838D8: ; // 0x2c838d8
|
|
/* 02C838D8 */ cpu->r[12] = 0x00000068u;
|
|
/* 02C838DC */ _t85 = cpu->r[1] + 0x00000022u;
|
|
/* 02C838DC */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[12]);
|
|
L_02C838E0: ; // 0x2c838e0
|
|
/* 02C838E0 */ _t86 = cpu->r[29] + 0x00000000u;
|
|
/* 02C838E0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t86);
|
|
/* 02C838E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C838E8 */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
/* 02C838EC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C838EC */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C838EC */ if (_t88) goto L_02C83BB4; else goto L_02C838F0;
|
|
L_02C838F0: ; // 0x2c838f0
|
|
/* 02C838F0 */ cpu->r[10] = cpu->r[12] | 0x00000020u;
|
|
/* 02C838F4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFF9Fu;
|
|
/* 02C838F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000017u);
|
|
/* 02C838FC */ _t89 = cpu->r[1] + 0x00000025u;
|
|
/* 02C838FC */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[12]);
|
|
/* 02C83900 */ _t90 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83900 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02C83900 */ if (_t91) goto L_02C83B8C; else goto L_02C83904;
|
|
L_02C83904: ; // 0x2c83904
|
|
/* 02C83904 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C83908 */ cpu->r[11] = cpu->r[10] + 0x02C80000u;
|
|
/* 02C8390C */ cpu->r[11] = cpu->r[11] + 0x00003918u;
|
|
/* 02C83910 */ cpu->ctr = cpu->r[11];
|
|
/* 02C83914 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C83B8C: ; // 0x2c83b8c
|
|
/* 02C83B8C */ _t92 = cpu->r[1] + 0x00000028u;
|
|
/* 02C83B8C */ rbrew_write16(cpu->mem, _t92, (uint16_t)cpu->r[12]);
|
|
/* 02C83B90 */ cpu->r[12] = 0x00000101u;
|
|
/* 02C83B94 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02C83B98 */ _t93 = cpu->r[1] + 0x0000001Du;
|
|
/* 02C83B98 */ rbrew_write16(cpu->mem, _t93, (uint16_t)cpu->r[12]);
|
|
/* 02C83B9C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C83BA0 */ Gambit_fn_02C83340(cpu);
|
|
/* 02C83BA4 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
L_02C83BA8: ; // 0x2c83ba8
|
|
/* 02C83BA8 */ _t94 = cpu->r[29] + 0x00000000u;
|
|
/* 02C83BA8 */ cpu->r[3] = rbrew_read16(cpu->mem, _t94);
|
|
/* 02C83BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C83BB0 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83BB0 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02C83BB0 */ if (_t96) goto L_02C83BB4; else goto L_02C836CC;
|
|
L_02C83BB4: ; // 0x2c83bb4
|
|
/* 02C83BB4 */ cpu->r[11] = cpu->r[1] + 0x00000048u;
|
|
/* 02C83BB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C83BBC */ goto L_02C8A580;
|
|
L_02C8A580: ; // 0x2c8a580
|
|
/* 02C8A580 */ _t97 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02C8A584 */ _t98 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02C8A588 */ _t99 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C8A58C */ _t100 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C8A590 */ _t101 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02C8A594 */ _t102 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02C8A598 */ _t103 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C83BC0 @ 0x2c83bc0
|
|
void Gambit_fn_02C83BC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C83BC0: ; // 0x2c83bc0
|
|
/* 02C83BC0 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C83BC4 */ goto L_02C83C08;
|
|
L_02C83BC8: ; // 0x2c83bc8
|
|
/* 02C83BC8 */ cpu->r[9] = cpu->r[4];
|
|
/* 02C83BCC */ cpu->r[8] = cpu->r[12];
|
|
L_02C83BD0: ; // 0x2c83bd0
|
|
/* 02C83BD0 */ _t0 = cpu->r[9] + 0x00000000u;
|
|
/* 02C83BD0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C83BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C83BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C83BD8 */ if (_t2) goto L_02C83BF4; else goto L_02C83BDC;
|
|
L_02C83BDC: ; // 0x2c83bdc
|
|
/* 02C83BDC */ _t3 = cpu->r[8] + 0x00000000u;
|
|
/* 02C83BDC */ cpu->r[11] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C83BE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 02C83BE4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83BE4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C83BE4 */ if (_t5) goto L_02C83BE8; else goto L_02C83BFC;
|
|
L_02C83BE8: ; // 0x2c83be8
|
|
/* 02C83BE8 */ cpu->r[8] = cpu->r[8] + 0x00000002u;
|
|
/* 02C83BEC */ cpu->r[9] = cpu->r[9] + 0x00000002u;
|
|
/* 02C83BF0 */ goto L_02C83BD0;
|
|
L_02C83BF4: ; // 0x2c83bf4
|
|
/* 02C83BF4 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C83BF8 */ return;
|
|
L_02C83BFC: ; // 0x2c83bfc
|
|
/* 02C83BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C83C00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83C00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C83C00 */ if (_t7) goto L_02C83C20; else goto L_02C83C04;
|
|
L_02C83C04: ; // 0x2c83c04
|
|
/* 02C83C04 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
L_02C83C08: ; // 0x2c83c08
|
|
/* 02C83C08 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02C83C08 */ cpu->r[11] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C83C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C83C10 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83C10 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C83C10 */ if (_t10) goto L_02C83C14; else goto L_02C83BC8;
|
|
L_02C83C14: ; // 0x2c83c14
|
|
/* 02C83C14 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 02C83C14 */ cpu->r[12] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C83C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83C1C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83C1C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C83C1C */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C83C1C */ goto L_02C83C20;
|
|
L_02C83C20: ; // 0x2c83c20
|
|
/* 02C83C20 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C83C24 */ return;
|
|
}
|
|
|
|
// fn_02C83C28 @ 0x2c83c28
|
|
void Gambit_fn_02C83C28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C83C28: ; // 0x2c83c28
|
|
/* 02C83C28 */ cpu->r[11] = cpu->r[3];
|
|
L_02C83C2C: ; // 0x2c83c2c
|
|
/* 02C83C2C */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C83C2C */ cpu->r[12] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C83C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83C34 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83C34 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C83C34 */ if (_t2) goto L_02C83C64; else goto L_02C83C38;
|
|
L_02C83C38: ; // 0x2c83c38
|
|
/* 02C83C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C83C3C */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83C3C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C83C3C */ if (_t4) goto L_02C83C40; else goto L_02C83C64;
|
|
L_02C83C40: ; // 0x2c83c40
|
|
/* 02C83C40 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02C83C40 */ cpu->r[12] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C83C44 */ cpu->r[4] = cpu->r[4] + 0x00000002u;
|
|
/* 02C83C48 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C83C4C */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02C83C4C */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[12]);
|
|
/* 02C83C50 */ cpu->r[11] = cpu->r[11] + 0x00000002u;
|
|
/* 02C83C54 */ goto L_02C83C2C;
|
|
L_02C83C58: ; // 0x2c83c58
|
|
/* 02C83C58 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C83C5C */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 02C83C5C */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[12]);
|
|
/* 02C83C60 */ cpu->r[11] = cpu->r[11] + 0x00000002u;
|
|
L_02C83C64: ; // 0x2c83c64
|
|
/* 02C83C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C83C68 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C83C6C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83C6C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C83C6C */ if (_t9) goto L_02C83C58; else goto L_02C83C70;
|
|
L_02C83C70: ; // 0x2c83c70
|
|
/* 02C83C70 */ return;
|
|
}
|
|
|
|
// fn_02C83C74 @ 0x2c83c74
|
|
void Gambit_fn_02C83C74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C83C74: ; // 0x2c83c74
|
|
/* 02C83C74 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFEu;
|
|
L_02C83C78: ; // 0x2c83c78
|
|
/* 02C83C78 */ _t0 = cpu->r[12] + 0x00000002u;
|
|
/* 02C83C78 */ cpu->r[11] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C83C78 */ cpu->r[12] = _t0;
|
|
/* 02C83C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C83C80 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83C80 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C83C80 */ if (_t2) goto L_02C83C84; else goto L_02C83C78;
|
|
L_02C83C84: ; // 0x2c83c84
|
|
/* 02C83C84 */ cpu->r[12] = cpu->r[12] - cpu->r[3];
|
|
/* 02C83C88 */ /* nop */
|
|
/* 02C83C8C */ return;
|
|
}
|
|
|
|
// fn_02C83C90 @ 0x2c83c90
|
|
void Gambit_fn_02C83C90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C83C90: ; // 0x2c83c90
|
|
/* 02C83C90 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFEu;
|
|
/* 02C83C94 */ cpu->r[11] = cpu->r[3] + 0xFFFFFFFEu;
|
|
/* 02C83C98 */ goto L_02C83CA4;
|
|
L_02C83C9C: ; // 0x2c83c9c
|
|
/* 02C83C9C */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C83C9C */ cpu->r[12] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C83CA0 */ _t1 = cpu->r[11] + 0x00000002u;
|
|
/* 02C83CA0 */ rbrew_write16(cpu->mem, _t1, (uint16_t)cpu->r[12]);
|
|
/* 02C83CA0 */ cpu->r[11] = _t1;
|
|
L_02C83CA4: ; // 0x2c83ca4
|
|
/* 02C83CA4 */ _t2 = cpu->r[4] + 0x00000002u;
|
|
/* 02C83CA4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C83CA4 */ cpu->r[4] = _t2;
|
|
/* 02C83CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83CAC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83CAC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C83CAC */ if (_t4) goto L_02C83CB0; else goto L_02C83C9C;
|
|
L_02C83CB0: ; // 0x2c83cb0
|
|
/* 02C83CB0 */ _t5 = cpu->r[11] + 0x00000002u;
|
|
/* 02C83CB0 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[12]);
|
|
/* 02C83CB4 */ return;
|
|
}
|
|
|
|
// fn_02C83CB8 @ 0x2c83cb8
|
|
void Gambit_fn_02C83CB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C83CB8: ; // 0x2c83cb8
|
|
/* 02C83CB8 */ goto L_02C83CC4;
|
|
L_02C83CBC: ; // 0x2c83cbc
|
|
/* 02C83CBC */ cpu->r[4] = cpu->r[4] + 0x00000002u;
|
|
/* 02C83CC0 */ cpu->r[3] = cpu->r[3] + 0x00000002u;
|
|
L_02C83CC4: ; // 0x2c83cc4
|
|
/* 02C83CC4 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C83CC4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C83CC8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C83CC8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C83CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02C83CD0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83CD0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C83CD0 */ if (_t3) goto L_02C83CD4; else goto L_02C83CDC;
|
|
L_02C83CD4: ; // 0x2c83cd4
|
|
/* 02C83CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83CD8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83CD8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C83CD8 */ if (_t5) goto L_02C83CDC; else goto L_02C83CBC;
|
|
L_02C83CDC: ; // 0x2c83cdc
|
|
/* 02C83CDC */ cpu->r[3] = cpu->r[12] - cpu->r[11];
|
|
/* 02C83CE0 */ return;
|
|
}
|
|
|
|
// fn_02C83CE4 @ 0x2c83ce4
|
|
void Gambit_fn_02C83CE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C83CE4: ; // 0x2c83ce4
|
|
/* 02C83CE4 */ cpu->r[11] = cpu->r[3] + 0xFFFFFFFEu;
|
|
L_02C83CE8: ; // 0x2c83ce8
|
|
/* 02C83CE8 */ _t0 = cpu->r[11] + 0x00000002u;
|
|
/* 02C83CE8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C83CE8 */ cpu->r[11] = _t0;
|
|
/* 02C83CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83CF0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83CF0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C83CF0 */ if (_t2) goto L_02C83CF4; else goto L_02C83CE8;
|
|
L_02C83CF4: ; // 0x2c83cf4
|
|
/* 02C83CF4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFEu;
|
|
/* 02C83CF8 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFEu;
|
|
L_02C83CFC: ; // 0x2c83cfc
|
|
/* 02C83CFC */ _t3 = cpu->r[4] + 0x00000002u;
|
|
/* 02C83CFC */ cpu->r[12] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C83CFC */ cpu->r[4] = _t3;
|
|
/* 02C83D00 */ _t4 = cpu->r[11] + 0x00000002u;
|
|
/* 02C83D00 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[12]);
|
|
/* 02C83D00 */ cpu->r[11] = _t4;
|
|
/* 02C83D04 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C83D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83D08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83D08 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C83D08 */ if (_t6) goto L_02C83D0C; else goto L_02C83CFC;
|
|
L_02C83D0C: ; // 0x2c83d0c
|
|
/* 02C83D0C */ return;
|
|
}
|
|
|
|
// fn_02C83D3C @ 0x2c83d3c
|
|
void Gambit_fn_02C83D3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C83D3C: ; // 0x2c83d3c
|
|
/* 02C83D3C */ cpu->r[0] = cpu->lr;
|
|
/* 02C83D40 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C83D44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C83D44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C83D44 */ cpu->r[1] = _t0;
|
|
/* 02C83D48 */ Gambit_fn_02C8A538(cpu);
|
|
/* 02C83D4C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C83D50 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C83D54 */ cpu->r[4] = 0x02C80000u;
|
|
/* 02C83D58 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C83D58 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C83D5C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C83D60 */ cpu->r[4] = cpu->r[4] + 0x00003D10u;
|
|
/* 02C83D64 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C83D64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C83D68 */ Gambit_fn_02C8368C(cpu);
|
|
/* 02C83D6C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C83D6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C83D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83D74 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C83D78 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83D78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C83D78 */ if (_t5) goto L_02C83D7C; else goto L_02C83D88;
|
|
L_02C83D7C: ; // 0x2c83d7c
|
|
/* 02C83D7C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C83D7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C83D80 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 02C83D80 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[11]);
|
|
/* 02C83D84 */ goto L_02C83DA0;
|
|
L_02C83D88: ; // 0x2c83d88
|
|
/* 02C83D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C83D8C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83D8C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C83D8C */ if (_t9) goto L_02C83DA0; else goto L_02C83D90;
|
|
L_02C83D90: ; // 0x2c83d90
|
|
/* 02C83D90 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C83D94 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C83D98 */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[3]);
|
|
/* 02C83D9C */ _t10 = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02C83D9C */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[11]);
|
|
L_02C83DA0: ; // 0x2c83da0
|
|
/* 02C83DA0 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C83DA4 */ goto L_02C8A590;
|
|
L_02C8A590: ; // 0x2c8a590
|
|
/* 02C8A590 */ _t11 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C8A594 */ _t12 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C8A598 */ _t13 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C83D44 @ 0x2c83d44
|
|
void Gambit_fn_02C83D44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C83D44: ; // 0x2c83d44
|
|
/* 02C83D44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C83D44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C83D44 */ cpu->r[1] = _t0;
|
|
/* 02C83D48 */ Gambit_fn_02C8A538(cpu);
|
|
/* 02C83D4C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C83D50 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C83D54 */ cpu->r[4] = 0x02C80000u;
|
|
/* 02C83D58 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C83D58 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C83D5C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C83D60 */ cpu->r[4] = cpu->r[4] + 0x00003D10u;
|
|
/* 02C83D64 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C83D64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C83D68 */ Gambit_fn_02C8368C(cpu);
|
|
/* 02C83D6C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C83D6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C83D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83D74 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C83D78 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83D78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C83D78 */ if (_t5) goto L_02C83D7C; else goto L_02C83D88;
|
|
L_02C83D7C: ; // 0x2c83d7c
|
|
/* 02C83D7C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C83D7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C83D80 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 02C83D80 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[11]);
|
|
/* 02C83D84 */ goto L_02C83DA0;
|
|
L_02C83D88: ; // 0x2c83d88
|
|
/* 02C83D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C83D8C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83D8C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C83D8C */ if (_t9) goto L_02C83DA0; else goto L_02C83D90;
|
|
L_02C83D90: ; // 0x2c83d90
|
|
/* 02C83D90 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C83D94 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C83D98 */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[3]);
|
|
/* 02C83D9C */ _t10 = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02C83D9C */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[11]);
|
|
L_02C83DA0: ; // 0x2c83da0
|
|
/* 02C83DA0 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C83DA4 */ goto L_02C8A590;
|
|
L_02C8A590: ; // 0x2c8a590
|
|
/* 02C8A590 */ _t11 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C8A594 */ _t12 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C8A598 */ _t13 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C83DA8 @ 0x2c83da8
|
|
void Gambit_fn_02C83DA8(CPUState* 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_02C83DA8: ; // 0x2c83da8
|
|
/* 02C83DA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C83DAC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C83DAC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C83DB0 */ _t1 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C83DB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C83DB0 */ cpu->r[1] = _t1;
|
|
/* 02C83DB4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C83DB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02C83DB8 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C83DB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02C83DBC */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02C83DBC */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02C83DC0 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C83DC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02C83DC4 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02C83DC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C83DC8 */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 02C83DC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 02C83DCC */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02C83DCC */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C83DD0 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02C83DD0 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 02C83DD4 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C83DD4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C83DD4 */ if (_t11) goto L_02C83DD8; else goto L_02C83DF8;
|
|
L_02C83DD8: ; // 0x2c83dd8
|
|
/* 02C83DD8 */ _t12 = cpu->r[1] + 0x00000048u;
|
|
/* 02C83DD8 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[3]);
|
|
/* 02C83DDC */ _t13 = cpu->r[1] + 0x00000068u;
|
|
/* 02C83DDC */ rbrew_write_f64(cpu->mem, _t13, cpu->f[7]);
|
|
/* 02C83DE0 */ _t14 = cpu->r[1] + 0x00000060u;
|
|
/* 02C83DE0 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[6]);
|
|
/* 02C83DE4 */ _t15 = cpu->r[1] + 0x00000040u;
|
|
/* 02C83DE4 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[2]);
|
|
/* 02C83DE8 */ _t16 = cpu->r[1] + 0x00000050u;
|
|
/* 02C83DE8 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[4]);
|
|
/* 02C83DEC */ _t17 = cpu->r[1] + 0x00000070u;
|
|
/* 02C83DEC */ rbrew_write_f64(cpu->mem, _t17, cpu->f[8]);
|
|
/* 02C83DF0 */ _t18 = cpu->r[1] + 0x00000058u;
|
|
/* 02C83DF0 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[5]);
|
|
/* 02C83DF4 */ _t19 = cpu->r[1] + 0x00000038u;
|
|
/* 02C83DF4 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[1]);
|
|
L_02C83DF8: ; // 0x2c83df8
|
|
/* 02C83DF8 */ cpu->r[12] = cpu->r[1] + 0x00000080u;
|
|
/* 02C83DFC */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C83DFC */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C83E00 */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02C83E04 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C83E04 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C83E08 */ cpu->r[12] = 0x00000300u;
|
|
/* 02C83E0C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02C83E10 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02C83E10 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[12]);
|
|
/* 02C83E14 */ Gambit_fn_02C83D3C(cpu);
|
|
/* 02C83E18 */ _t23 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C83E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C83E1C */ cpu->lr = cpu->r[0];
|
|
/* 02C83E20 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C83E24 */ return;
|
|
}
|
|
|
|
// fn_02C83DB0 @ 0x2c83db0
|
|
void Gambit_fn_02C83DB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02C83DB0: ; // 0x2c83db0
|
|
/* 02C83DB0 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C83DB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C83DB0 */ cpu->r[1] = _t0;
|
|
/* 02C83DB4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C83DB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02C83DB8 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C83DB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[8]);
|
|
/* 02C83DBC */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02C83DBC */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02C83DC0 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02C83DC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C83DC4 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02C83DC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C83DC8 */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 02C83DC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02C83DCC */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 02C83DCC */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C83DD0 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02C83DD0 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02C83DD4 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C83DD4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C83DD4 */ if (_t10) goto L_02C83DD8; else goto L_02C83DF8;
|
|
L_02C83DD8: ; // 0x2c83dd8
|
|
/* 02C83DD8 */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 02C83DD8 */ rbrew_write_f64(cpu->mem, _t11, cpu->f[3]);
|
|
/* 02C83DDC */ _t12 = cpu->r[1] + 0x00000068u;
|
|
/* 02C83DDC */ rbrew_write_f64(cpu->mem, _t12, cpu->f[7]);
|
|
/* 02C83DE0 */ _t13 = cpu->r[1] + 0x00000060u;
|
|
/* 02C83DE0 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[6]);
|
|
/* 02C83DE4 */ _t14 = cpu->r[1] + 0x00000040u;
|
|
/* 02C83DE4 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[2]);
|
|
/* 02C83DE8 */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 02C83DE8 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[4]);
|
|
/* 02C83DEC */ _t16 = cpu->r[1] + 0x00000070u;
|
|
/* 02C83DEC */ rbrew_write_f64(cpu->mem, _t16, cpu->f[8]);
|
|
/* 02C83DF0 */ _t17 = cpu->r[1] + 0x00000058u;
|
|
/* 02C83DF0 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[5]);
|
|
/* 02C83DF4 */ _t18 = cpu->r[1] + 0x00000038u;
|
|
/* 02C83DF4 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[1]);
|
|
L_02C83DF8: ; // 0x2c83df8
|
|
/* 02C83DF8 */ cpu->r[12] = cpu->r[1] + 0x00000080u;
|
|
/* 02C83DFC */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C83DFC */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C83E00 */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02C83E04 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C83E04 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C83E08 */ cpu->r[12] = 0x00000300u;
|
|
/* 02C83E0C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02C83E10 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C83E10 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[12]);
|
|
/* 02C83E14 */ Gambit_fn_02C83D3C(cpu);
|
|
/* 02C83E18 */ _t22 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C83E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C83E1C */ cpu->lr = cpu->r[0];
|
|
/* 02C83E20 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C83E24 */ return;
|
|
}
|
|
|
|
// fn_02C83E28 @ 0x2c83e28
|
|
void Gambit_fn_02C83E28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C83E28: ; // 0x2c83e28
|
|
/* 02C83E28 */ cpu->r[0] = cpu->lr;
|
|
/* 02C83E2C */ Gambit_fn_02C8A14C(cpu);
|
|
/* 02C83E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C83E34 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C83E38 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83E38 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C83E38 */ if (_t1) goto L_02C83E68; else goto L_02C83E3C;
|
|
L_02C83E3C: ; // 0x2c83e3c
|
|
/* 02C83E3C */ cpu->r[5] = cpu->r[31];
|
|
/* 02C83E40 */ Gambit_fn_02C895E8(cpu);
|
|
/* 02C83E44 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C83E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C83E48 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83E48 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C83E48 */ if (_t3) goto L_02C83E4C; else goto L_02C83E68;
|
|
L_02C83E4C: ; // 0x2c83e4c
|
|
/* 02C83E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000006u);
|
|
/* 02C83E50 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83E50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C83E50 */ if (_t5) goto L_02C83E54; else goto L_02C83E5C;
|
|
L_02C83E54: ; // 0x2c83e54
|
|
/* 02C83E54 */ cpu->r[4] = 0xFFFFFFFEu;
|
|
/* 02C83E58 */ goto L_02C83E68;
|
|
L_02C83E5C: ; // 0x2c83e5c
|
|
/* 02C83E5C */ cpu->r[3] = 0x00000058u;
|
|
/* 02C83E60 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C83E64 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
L_02C83E68: ; // 0x2c83e68
|
|
/* 02C83E68 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C83E6C */ goto L_02C8A160;
|
|
L_02C8A160: ; // 0x2c8a160
|
|
/* 02C8A160 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8A160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C8A164 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A168 */ /* nop */
|
|
/* 02C8A16C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8A170 */ return;
|
|
}
|
|
|
|
// fn_02C83E70 @ 0x2c83e70
|
|
void Gambit_fn_02C83E70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C83E28: ; // 0x2c83e28
|
|
/* 02C83E28 */ cpu->r[0] = cpu->lr;
|
|
/* 02C83E2C */ Gambit_fn_02C8A14C(cpu);
|
|
/* 02C83E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C83E34 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C83E38 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83E38 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C83E38 */ if (_t1) goto L_02C83E68; else goto L_02C83E3C;
|
|
L_02C83E3C: ; // 0x2c83e3c
|
|
/* 02C83E3C */ cpu->r[5] = cpu->r[31];
|
|
/* 02C83E40 */ Gambit_fn_02C895E8(cpu);
|
|
/* 02C83E44 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C83E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C83E48 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83E48 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C83E48 */ if (_t3) goto L_02C83E4C; else goto L_02C83E68;
|
|
L_02C83E4C: ; // 0x2c83e4c
|
|
/* 02C83E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000006u);
|
|
/* 02C83E50 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83E50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C83E50 */ if (_t5) goto L_02C83E54; else goto L_02C83E5C;
|
|
L_02C83E54: ; // 0x2c83e54
|
|
/* 02C83E54 */ cpu->r[4] = 0xFFFFFFFEu;
|
|
/* 02C83E58 */ goto L_02C83E68;
|
|
L_02C83E5C: ; // 0x2c83e5c
|
|
/* 02C83E5C */ cpu->r[3] = 0x00000058u;
|
|
/* 02C83E60 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C83E64 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
L_02C83E68: ; // 0x2c83e68
|
|
/* 02C83E68 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C83E6C */ goto L_02C8A160;
|
|
L_02C83E70: ; // 0x2c83e70
|
|
/* 02C83E70 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C83E74 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C83E78 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C83E7C */ cpu->r[6] = cpu->r[3];
|
|
/* 02C83E80 */ goto L_02C83E28;
|
|
L_02C8A160: ; // 0x2c8a160
|
|
/* 02C8A160 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8A160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C8A164 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A168 */ /* nop */
|
|
/* 02C8A16C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8A170 */ return;
|
|
}
|
|
|
|
// fn_02C83E84 @ 0x2c83e84
|
|
void Gambit_fn_02C83E84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C83E84: ; // 0x2c83e84
|
|
/* 02C83E84 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu;
|
|
L_02C83E88: ; // 0x2c83e88
|
|
/* 02C83E88 */ _t0 = cpu->r[12] + 0x00000001u;
|
|
/* 02C83E88 */ cpu->r[11] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C83E88 */ cpu->r[12] = _t0;
|
|
/* 02C83E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C83E90 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83E90 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C83E90 */ if (_t2) goto L_02C83E94; else goto L_02C83E88;
|
|
L_02C83E94: ; // 0x2c83e94
|
|
/* 02C83E94 */ cpu->r[3] = cpu->r[12] - cpu->r[3];
|
|
/* 02C83E98 */ return;
|
|
}
|
|
|
|
// fn_02C83E9C @ 0x2c83e9c
|
|
void Gambit_fn_02C83E9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C83E9C: ; // 0x2c83e9c
|
|
/* 02C83E9C */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C83EA0 */ cpu->r[11] = cpu->r[3] + 0xFFFFFFFFu;
|
|
L_02C83EA4: ; // 0x2c83ea4
|
|
/* 02C83EA4 */ _t0 = cpu->r[4] + 0x00000001u;
|
|
/* 02C83EA4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C83EA4 */ cpu->r[4] = _t0;
|
|
/* 02C83EA8 */ _t1 = cpu->r[11] + 0x00000001u;
|
|
/* 02C83EA8 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[12]);
|
|
/* 02C83EA8 */ cpu->r[11] = _t1;
|
|
/* 02C83EAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u);
|
|
/* 02C83EB0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83EB0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C83EB0 */ if (_t3) goto L_02C83EB4; else goto L_02C83EA4;
|
|
L_02C83EB4: ; // 0x2c83eb4
|
|
/* 02C83EB4 */ return;
|
|
}
|
|
|
|
// fn_02C83EB8 @ 0x2c83eb8
|
|
void Gambit_fn_02C83EB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C83EB8: ; // 0x2c83eb8
|
|
/* 02C83EB8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C83EBC */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02C83EC0: ; // 0x2c83ec0
|
|
/* 02C83EC0 */ _t0 = cpu->r[3] + 0x00000001u;
|
|
/* 02C83EC0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C83EC0 */ cpu->r[3] = _t0;
|
|
/* 02C83EC4 */ _t1 = cpu->r[4] + 0x00000001u;
|
|
/* 02C83EC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C83EC4 */ cpu->r[4] = _t1;
|
|
/* 02C83EC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C83ECC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83ECC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C83ECC */ if (_t3) goto L_02C83ED0; else goto L_02C83ED8;
|
|
L_02C83ED0: ; // 0x2c83ed0
|
|
/* 02C83ED0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000000u);
|
|
/* 02C83ED4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83ED4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C83ED4 */ if (_t5) goto L_02C83ED8; else goto L_02C83EC0;
|
|
L_02C83ED8: ; // 0x2c83ed8
|
|
/* 02C83ED8 */ cpu->r[3] = cpu->r[11] - cpu->r[12];
|
|
/* 02C83EDC */ return;
|
|
}
|
|
|
|
// fn_02C83EE0 @ 0x2c83ee0
|
|
void Gambit_fn_02C83EE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C83EE0: ; // 0x2c83ee0
|
|
/* 02C83EE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C83EE4 */ Gambit_fn_02C8A14C(cpu);
|
|
/* 02C83EE8 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C83EEC */ Gambit_fn_02C84844(cpu);
|
|
/* 02C83EF0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C83EF4 */ goto L_02C83F00;
|
|
L_02C83EF8: ; // 0x2c83ef8
|
|
/* 02C83EF8 */ cpu->r[12] = 0x00000030u;
|
|
/* 02C83EFC */ _t0 = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C83EFC */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[12]);
|
|
/* 02C83EFC */ cpu->r[4] = _t0;
|
|
L_02C83F00: ; // 0x2c83f00
|
|
/* 02C83F00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02C83F04 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83F04 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C83F04 */ if (_t2) goto L_02C83EF8; else goto L_02C83F08;
|
|
L_02C83F08: ; // 0x2c83f08
|
|
/* 02C83F08 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C83F0C */ goto L_02C8A160;
|
|
L_02C8A160: ; // 0x2c8a160
|
|
/* 02C8A160 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8A160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C8A164 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A168 */ /* nop */
|
|
/* 02C8A16C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8A170 */ return;
|
|
}
|
|
|
|
// fn_02C83F10 @ 0x2c83f10
|
|
void Gambit_fn_02C83F10(CPUState* 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_02C83F10: ; // 0x2c83f10
|
|
/* 02C83F10 */ cpu->r[0] = cpu->lr;
|
|
/* 02C83F14 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C83F18 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02C83F18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C83F18 */ cpu->r[1] = _t0;
|
|
/* 02C83F1C */ Gambit_fn_02C8A524(cpu);
|
|
/* 02C83F20 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C83F24 */ cpu->r[25] = cpu->r[6];
|
|
/* 02C83F28 */ cpu->r[31] = 0x3B9B0000u;
|
|
/* 02C83F2C */ _t1 = cpu->r[29] + 0x00000004u;
|
|
/* 02C83F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C83F30 */ cpu->r[31] = cpu->r[31] + 0xFFFFCA00u;
|
|
/* 02C83F34 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C83F38 */ cpu->r[4] = cpu->r[1] + 0x00000022u;
|
|
/* 02C83F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83F40 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C83F44 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83F44 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C83F44 */ if (_t3) goto L_02C83F48; else goto L_02C83F4C;
|
|
L_02C83F48: ; // 0x2c83f48
|
|
/* 02C83F48 */ cpu->r[12] = 0x00000001u;
|
|
L_02C83F4C: ; // 0x2c83f4c
|
|
/* 02C83F4C */ cpu->r[28] = 0x00000000u;
|
|
/* 02C83F50 */ cpu->r[27] = cpu->r[4] - cpu->r[12];
|
|
/* 02C83F54 */ cpu->r[12] = 0x00000022u;
|
|
/* 02C83F58 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02C83F58 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[28]);
|
|
/* 02C83F5C */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C83F60 */ goto L_02C83FF8;
|
|
L_02C83F64: ; // 0x2c83f64
|
|
/* 02C83F64 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C83F68 */ cpu->r[9] = cpu->r[11];
|
|
/* 02C83F6C */ cpu->r[26] = cpu->r[11];
|
|
L_02C83F70: ; // 0x2c83f70
|
|
/* 02C83F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000001Fu);
|
|
/* 02C83F74 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83F74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C83F74 */ if (_t6) goto L_02C83F78; else goto L_02C83F80;
|
|
L_02C83F78: ; // 0x2c83f78
|
|
/* 02C83F78 */ /* nop */
|
|
/* 02C83F7C */ goto L_02C83F84;
|
|
L_02C83F80: ; // 0x2c83f80
|
|
/* 02C83F80 */ cpu->r[9] = cpu->r[26];
|
|
L_02C83F84: ; // 0x2c83f84
|
|
/* 02C83F84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02C83F88 */ cpu->r[26] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C83F8C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83F8C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C83F8C */ if (_t8) goto L_02C83FC0; else goto L_02C83F90;
|
|
L_02C83F90: ; // 0x2c83f90
|
|
/* 02C83F90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[3]);
|
|
/* 02C83F94 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83F94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C83F94 */ if (_t10) goto L_02C83FA8; else goto L_02C83F98;
|
|
L_02C83F98: ; // 0x2c83f98
|
|
/* 02C83F98 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C83F9C */ cpu->r[30] = cpu->r[30] - cpu->r[10];
|
|
/* 02C83FA0 */ cpu->r[3] = cpu->r[3] - cpu->r[11];
|
|
/* 02C83FA4 */ goto L_02C83FC0;
|
|
L_02C83FA8: ; // 0x2c83fa8
|
|
/* 02C83FA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02C83FAC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83FAC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C83FAC */ if (_t12) goto L_02C83FB0; else goto L_02C83FC0;
|
|
L_02C83FB0: ; // 0x2c83fb0
|
|
/* 02C83FB0 */ cpu->r[30] = cpu->r[30] - cpu->r[10];
|
|
/* 02C83FB4 */ cpu->r[3] = cpu->r[3] - cpu->r[11];
|
|
/* 02C83FB8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C83FBC */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
L_02C83FC0: ; // 0x2c83fc0
|
|
/* 02C83FC0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C83FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83FC4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C83FC8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83FC8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C83FC8 */ if (_t14) goto L_02C83FCC; else goto L_02C83F70;
|
|
L_02C83FCC: ; // 0x2c83fcc
|
|
/* 02C83FCC */ cpu->r[12] = cpu->r[9] | cpu->r[26];
|
|
/* 02C83FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83FD0 */ cpu->r[30] = cpu->r[9];
|
|
/* 02C83FD4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83FD4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C83FD4 */ if (_t16) goto L_02C83FE0; else goto L_02C83FD8;
|
|
L_02C83FD8: ; // 0x2c83fd8
|
|
/* 02C83FD8 */ cpu->r[5] = cpu->r[4] + 0xFFFFFFF7u;
|
|
/* 02C83FDC */ goto L_02C83FE4;
|
|
L_02C83FE0: ; // 0x2c83fe0
|
|
/* 02C83FE0 */ cpu->r[5] = cpu->r[4];
|
|
L_02C83FE4: ; // 0x2c83fe4
|
|
/* 02C83FE4 */ Gambit_fn_02C83EE0(cpu);
|
|
/* 02C83FE8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C83FEC */ cpu->r[12] = 0x00000004u;
|
|
/* 02C83FF0 */ cpu->r[10] = 0x00000003u;
|
|
/* 02C83FF4 */ cpu->r[3] = cpu->r[26];
|
|
L_02C83FF8: ; // 0x2c83ff8
|
|
/* 02C83FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C83FFC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83FFC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C83FFC */ if (_t18) goto L_02C84000; else goto L_02C83F64;
|
|
L_02C84000: ; // 0x2c84000
|
|
/* 02C84000 */ cpu->r[5] = cpu->r[27];
|
|
/* 02C84004 */ Gambit_fn_02C83EE0(cpu);
|
|
/* 02C84008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C8400C */ cpu->r[27] = cpu->r[3];
|
|
/* 02C84010 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84010 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C84010 */ if (_t20) goto L_02C84018; else goto L_02C84014;
|
|
L_02C84014: ; // 0x2c84014
|
|
/* 02C84014 */ _t21 = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C84014 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[25]);
|
|
/* 02C84014 */ cpu->r[27] = _t21;
|
|
L_02C84018: ; // 0x2c84018
|
|
/* 02C84018 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C8401C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C84020 */ _t22 = cpu->r[29] + 0x00000013u;
|
|
/* 02C84020 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[28]);
|
|
/* 02C84024 */ Gambit_fn_02C848AC(cpu);
|
|
/* 02C84028 */ cpu->r[11] = cpu->r[1] + 0x00000040u;
|
|
/* 02C8402C */ goto L_02C8A57C;
|
|
L_02C8A57C: ; // 0x2c8a57c
|
|
/* 02C8A57C */ _t23 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C8A580 */ _t24 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C8A584 */ _t25 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A588 */ _t26 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A58C */ _t27 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A590 */ _t28 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A594 */ _t29 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C8A598 */ _t30 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C83F18 @ 0x2c83f18
|
|
void Gambit_fn_02C83F18(CPUState* 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_02C83F18: ; // 0x2c83f18
|
|
/* 02C83F18 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02C83F18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C83F18 */ cpu->r[1] = _t0;
|
|
/* 02C83F1C */ Gambit_fn_02C8A524(cpu);
|
|
/* 02C83F20 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C83F24 */ cpu->r[25] = cpu->r[6];
|
|
/* 02C83F28 */ cpu->r[31] = 0x3B9B0000u;
|
|
/* 02C83F2C */ _t1 = cpu->r[29] + 0x00000004u;
|
|
/* 02C83F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C83F30 */ cpu->r[31] = cpu->r[31] + 0xFFFFCA00u;
|
|
/* 02C83F34 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C83F38 */ cpu->r[4] = cpu->r[1] + 0x00000022u;
|
|
/* 02C83F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83F40 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C83F44 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83F44 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C83F44 */ if (_t3) goto L_02C83F48; else goto L_02C83F4C;
|
|
L_02C83F48: ; // 0x2c83f48
|
|
/* 02C83F48 */ cpu->r[12] = 0x00000001u;
|
|
L_02C83F4C: ; // 0x2c83f4c
|
|
/* 02C83F4C */ cpu->r[28] = 0x00000000u;
|
|
/* 02C83F50 */ cpu->r[27] = cpu->r[4] - cpu->r[12];
|
|
/* 02C83F54 */ cpu->r[12] = 0x00000022u;
|
|
/* 02C83F58 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02C83F58 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[28]);
|
|
/* 02C83F5C */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C83F60 */ goto L_02C83FF8;
|
|
L_02C83F64: ; // 0x2c83f64
|
|
/* 02C83F64 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C83F68 */ cpu->r[9] = cpu->r[11];
|
|
/* 02C83F6C */ cpu->r[26] = cpu->r[11];
|
|
L_02C83F70: ; // 0x2c83f70
|
|
/* 02C83F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000001Fu);
|
|
/* 02C83F74 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83F74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C83F74 */ if (_t6) goto L_02C83F78; else goto L_02C83F80;
|
|
L_02C83F78: ; // 0x2c83f78
|
|
/* 02C83F78 */ /* nop */
|
|
/* 02C83F7C */ goto L_02C83F84;
|
|
L_02C83F80: ; // 0x2c83f80
|
|
/* 02C83F80 */ cpu->r[9] = cpu->r[26];
|
|
L_02C83F84: ; // 0x2c83f84
|
|
/* 02C83F84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02C83F88 */ cpu->r[26] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C83F8C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83F8C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C83F8C */ if (_t8) goto L_02C83FC0; else goto L_02C83F90;
|
|
L_02C83F90: ; // 0x2c83f90
|
|
/* 02C83F90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[3]);
|
|
/* 02C83F94 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83F94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C83F94 */ if (_t10) goto L_02C83FA8; else goto L_02C83F98;
|
|
L_02C83F98: ; // 0x2c83f98
|
|
/* 02C83F98 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C83F9C */ cpu->r[30] = cpu->r[30] - cpu->r[10];
|
|
/* 02C83FA0 */ cpu->r[3] = cpu->r[3] - cpu->r[11];
|
|
/* 02C83FA4 */ goto L_02C83FC0;
|
|
L_02C83FA8: ; // 0x2c83fa8
|
|
/* 02C83FA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02C83FAC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83FAC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C83FAC */ if (_t12) goto L_02C83FB0; else goto L_02C83FC0;
|
|
L_02C83FB0: ; // 0x2c83fb0
|
|
/* 02C83FB0 */ cpu->r[30] = cpu->r[30] - cpu->r[10];
|
|
/* 02C83FB4 */ cpu->r[3] = cpu->r[3] - cpu->r[11];
|
|
/* 02C83FB8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C83FBC */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
L_02C83FC0: ; // 0x2c83fc0
|
|
/* 02C83FC0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C83FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83FC4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C83FC8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83FC8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C83FC8 */ if (_t14) goto L_02C83FCC; else goto L_02C83F70;
|
|
L_02C83FCC: ; // 0x2c83fcc
|
|
/* 02C83FCC */ cpu->r[12] = cpu->r[9] | cpu->r[26];
|
|
/* 02C83FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83FD0 */ cpu->r[30] = cpu->r[9];
|
|
/* 02C83FD4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83FD4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C83FD4 */ if (_t16) goto L_02C83FE0; else goto L_02C83FD8;
|
|
L_02C83FD8: ; // 0x2c83fd8
|
|
/* 02C83FD8 */ cpu->r[5] = cpu->r[4] + 0xFFFFFFF7u;
|
|
/* 02C83FDC */ goto L_02C83FE4;
|
|
L_02C83FE0: ; // 0x2c83fe0
|
|
/* 02C83FE0 */ cpu->r[5] = cpu->r[4];
|
|
L_02C83FE4: ; // 0x2c83fe4
|
|
/* 02C83FE4 */ Gambit_fn_02C83EE0(cpu);
|
|
/* 02C83FE8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C83FEC */ cpu->r[12] = 0x00000004u;
|
|
/* 02C83FF0 */ cpu->r[10] = 0x00000003u;
|
|
/* 02C83FF4 */ cpu->r[3] = cpu->r[26];
|
|
L_02C83FF8: ; // 0x2c83ff8
|
|
/* 02C83FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C83FFC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83FFC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C83FFC */ if (_t18) goto L_02C84000; else goto L_02C83F64;
|
|
L_02C84000: ; // 0x2c84000
|
|
/* 02C84000 */ cpu->r[5] = cpu->r[27];
|
|
/* 02C84004 */ Gambit_fn_02C83EE0(cpu);
|
|
/* 02C84008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C8400C */ cpu->r[27] = cpu->r[3];
|
|
/* 02C84010 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84010 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C84010 */ if (_t20) goto L_02C84018; else goto L_02C84014;
|
|
L_02C84014: ; // 0x2c84014
|
|
/* 02C84014 */ _t21 = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C84014 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[25]);
|
|
/* 02C84014 */ cpu->r[27] = _t21;
|
|
L_02C84018: ; // 0x2c84018
|
|
/* 02C84018 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C8401C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C84020 */ _t22 = cpu->r[29] + 0x00000013u;
|
|
/* 02C84020 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[28]);
|
|
/* 02C84024 */ Gambit_fn_02C848AC(cpu);
|
|
/* 02C84028 */ cpu->r[11] = cpu->r[1] + 0x00000040u;
|
|
/* 02C8402C */ goto L_02C8A57C;
|
|
L_02C8A57C: ; // 0x2c8a57c
|
|
/* 02C8A57C */ _t23 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C8A580 */ _t24 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C8A584 */ _t25 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A588 */ _t26 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A58C */ _t27 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A590 */ _t28 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A594 */ _t29 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C8A598 */ _t30 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C84030 @ 0x2c84030
|
|
void Gambit_fn_02C84030(CPUState* 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_02C83F10: ; // 0x2c83f10
|
|
/* 02C83F10 */ cpu->r[0] = cpu->lr;
|
|
/* 02C83F14 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C83F18 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02C83F18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C83F18 */ cpu->r[1] = _t0;
|
|
/* 02C83F1C */ Gambit_fn_02C8A524(cpu);
|
|
/* 02C83F20 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C83F24 */ cpu->r[25] = cpu->r[6];
|
|
/* 02C83F28 */ cpu->r[31] = 0x3B9B0000u;
|
|
/* 02C83F2C */ _t1 = cpu->r[29] + 0x00000004u;
|
|
/* 02C83F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C83F30 */ cpu->r[31] = cpu->r[31] + 0xFFFFCA00u;
|
|
/* 02C83F34 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C83F38 */ cpu->r[4] = cpu->r[1] + 0x00000022u;
|
|
/* 02C83F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83F40 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C83F44 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83F44 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C83F44 */ if (_t3) goto L_02C83F48; else goto L_02C83F4C;
|
|
L_02C83F48: ; // 0x2c83f48
|
|
/* 02C83F48 */ cpu->r[12] = 0x00000001u;
|
|
L_02C83F4C: ; // 0x2c83f4c
|
|
/* 02C83F4C */ cpu->r[28] = 0x00000000u;
|
|
/* 02C83F50 */ cpu->r[27] = cpu->r[4] - cpu->r[12];
|
|
/* 02C83F54 */ cpu->r[12] = 0x00000022u;
|
|
/* 02C83F58 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02C83F58 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[28]);
|
|
/* 02C83F5C */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C83F60 */ goto L_02C83FF8;
|
|
L_02C83F64: ; // 0x2c83f64
|
|
/* 02C83F64 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C83F68 */ cpu->r[9] = cpu->r[11];
|
|
/* 02C83F6C */ cpu->r[26] = cpu->r[11];
|
|
L_02C83F70: ; // 0x2c83f70
|
|
/* 02C83F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000001Fu);
|
|
/* 02C83F74 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83F74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C83F74 */ if (_t6) goto L_02C83F78; else goto L_02C83F80;
|
|
L_02C83F78: ; // 0x2c83f78
|
|
/* 02C83F78 */ /* nop */
|
|
/* 02C83F7C */ goto L_02C83F84;
|
|
L_02C83F80: ; // 0x2c83f80
|
|
/* 02C83F80 */ cpu->r[9] = cpu->r[26];
|
|
L_02C83F84: ; // 0x2c83f84
|
|
/* 02C83F84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02C83F88 */ cpu->r[26] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C83F8C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83F8C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C83F8C */ if (_t8) goto L_02C83FC0; else goto L_02C83F90;
|
|
L_02C83F90: ; // 0x2c83f90
|
|
/* 02C83F90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[3]);
|
|
/* 02C83F94 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C83F94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C83F94 */ if (_t10) goto L_02C83FA8; else goto L_02C83F98;
|
|
L_02C83F98: ; // 0x2c83f98
|
|
/* 02C83F98 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C83F9C */ cpu->r[30] = cpu->r[30] - cpu->r[10];
|
|
/* 02C83FA0 */ cpu->r[3] = cpu->r[3] - cpu->r[11];
|
|
/* 02C83FA4 */ goto L_02C83FC0;
|
|
L_02C83FA8: ; // 0x2c83fa8
|
|
/* 02C83FA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02C83FAC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83FAC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C83FAC */ if (_t12) goto L_02C83FB0; else goto L_02C83FC0;
|
|
L_02C83FB0: ; // 0x2c83fb0
|
|
/* 02C83FB0 */ cpu->r[30] = cpu->r[30] - cpu->r[10];
|
|
/* 02C83FB4 */ cpu->r[3] = cpu->r[3] - cpu->r[11];
|
|
/* 02C83FB8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C83FBC */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
L_02C83FC0: ; // 0x2c83fc0
|
|
/* 02C83FC0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C83FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83FC4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C83FC8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C83FC8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C83FC8 */ if (_t14) goto L_02C83FCC; else goto L_02C83F70;
|
|
L_02C83FCC: ; // 0x2c83fcc
|
|
/* 02C83FCC */ cpu->r[12] = cpu->r[9] | cpu->r[26];
|
|
/* 02C83FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83FD0 */ cpu->r[30] = cpu->r[9];
|
|
/* 02C83FD4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83FD4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C83FD4 */ if (_t16) goto L_02C83FE0; else goto L_02C83FD8;
|
|
L_02C83FD8: ; // 0x2c83fd8
|
|
/* 02C83FD8 */ cpu->r[5] = cpu->r[4] + 0xFFFFFFF7u;
|
|
/* 02C83FDC */ goto L_02C83FE4;
|
|
L_02C83FE0: ; // 0x2c83fe0
|
|
/* 02C83FE0 */ cpu->r[5] = cpu->r[4];
|
|
L_02C83FE4: ; // 0x2c83fe4
|
|
/* 02C83FE4 */ Gambit_fn_02C83EE0(cpu);
|
|
/* 02C83FE8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C83FEC */ cpu->r[12] = 0x00000004u;
|
|
/* 02C83FF0 */ cpu->r[10] = 0x00000003u;
|
|
/* 02C83FF4 */ cpu->r[3] = cpu->r[26];
|
|
L_02C83FF8: ; // 0x2c83ff8
|
|
/* 02C83FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C83FFC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83FFC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C83FFC */ if (_t18) goto L_02C84000; else goto L_02C83F64;
|
|
L_02C84000: ; // 0x2c84000
|
|
/* 02C84000 */ cpu->r[5] = cpu->r[27];
|
|
/* 02C84004 */ Gambit_fn_02C83EE0(cpu);
|
|
/* 02C84008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C8400C */ cpu->r[27] = cpu->r[3];
|
|
/* 02C84010 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84010 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C84010 */ if (_t20) goto L_02C84018; else goto L_02C84014;
|
|
L_02C84014: ; // 0x2c84014
|
|
/* 02C84014 */ _t21 = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C84014 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[25]);
|
|
/* 02C84014 */ cpu->r[27] = _t21;
|
|
L_02C84018: ; // 0x2c84018
|
|
/* 02C84018 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C8401C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C84020 */ _t22 = cpu->r[29] + 0x00000013u;
|
|
/* 02C84020 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[28]);
|
|
/* 02C84024 */ Gambit_fn_02C848AC(cpu);
|
|
/* 02C84028 */ cpu->r[11] = cpu->r[1] + 0x00000040u;
|
|
/* 02C8402C */ goto L_02C8A57C;
|
|
L_02C84030: ; // 0x2c84030
|
|
/* 02C84030 */ cpu->r[12] = cpu->r[6];
|
|
/* 02C84034 */ cpu->r[11] = cpu->r[5];
|
|
/* 02C84034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C84038 */ _t23 = cpu->r[3] + 0x00000012u;
|
|
/* 02C84038 */ cpu->r[6] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C8403C */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8403C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C8403C */ if (_t25) goto L_02C84040; else goto L_02C8404C;
|
|
L_02C84040: ; // 0x2c84040
|
|
/* 02C84040 */ cpu->r[12] = 0x00000000u - cpu->r[12];
|
|
/* 02C84044 */ cpu->r[11] = ~cpu->r[11];
|
|
/* 02C84048 */ cpu->r[6] = 0x0000002Du;
|
|
L_02C8404C: ; // 0x2c8404c
|
|
/* 02C8404C */ cpu->r[5] = cpu->r[12];
|
|
/* 02C84050 */ cpu->r[4] = cpu->r[11];
|
|
/* 02C84054 */ goto L_02C83F10;
|
|
L_02C8A57C: ; // 0x2c8a57c
|
|
/* 02C8A57C */ _t26 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A580 */ _t27 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A584 */ _t28 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A588 */ _t29 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C8A58C */ _t30 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C8A590 */ _t31 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C8A594 */ _t32 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C8A598 */ _t33 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C84058 @ 0x2c84058
|
|
void Gambit_fn_02C84058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02C84058: ; // 0x2c84058
|
|
/* 02C84058 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8405C */ cpu->r[11] = cpu->r[1];
|
|
/* 02C84060 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C84060 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C84060 */ cpu->r[1] = _t0;
|
|
/* 02C84064 */ Gambit_fn_02C8A538(cpu);
|
|
/* 02C84068 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8406C */ cpu->r[9] = cpu->r[5];
|
|
/* 02C84070 */ cpu->r[10] = cpu->r[6];
|
|
/* 02C84074 */ _t1 = cpu->r[1] + 0x00000022u;
|
|
/* 02C84074 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[12]);
|
|
/* 02C84078 */ cpu->r[12] = cpu->r[9] | cpu->r[10];
|
|
/* 02C84078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C8407C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C84080 */ cpu->r[5] = cpu->r[1] + 0x00000022u;
|
|
/* 02C84084 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84084 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C84084 */ if (_t3) goto L_02C84088; else goto L_02C8408C;
|
|
L_02C84088: ; // 0x2c84088
|
|
/* 02C84088 */ _t4 = cpu->r[30] + 0x00000013u;
|
|
/* 02C84088 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[10]);
|
|
L_02C8408C: ; // 0x2c8408c
|
|
/* 02C8408C */ _t5 = cpu->r[30] + 0x0000001Du;
|
|
/* 02C8408C */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C84090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Fu);
|
|
/* 02C84094 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84094 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C84094 */ if (_t7) goto L_02C84098; else goto L_02C840BC;
|
|
L_02C84098: ; // 0x2c84098
|
|
/* 02C84098 */ cpu->r[12] = cpu->r[9] | cpu->r[10];
|
|
/* 02C84098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C8409C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8409C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C8409C */ if (_t9) goto L_02C84120; else goto L_02C840A0;
|
|
L_02C840A0: ; // 0x2c840a0
|
|
/* 02C840A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C840A4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02C840A8 */ cpu->r[12] = cpu->r[12] + 0x00000030u;
|
|
/* 02C840AC */ _t10 = rbrew_rlwinm(cpu->r[9], 0x0000001Du, 0x00000000u, 0x00000002u);
|
|
/* 02C840AC */ _t11 = cpu->r[10] & 0x1FFFFFFFu;
|
|
/* 02C840AC */ cpu->r[10] = _t11 | _t10;
|
|
/* 02C840B0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02C840B4 */ _t12 = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C840B4 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 02C840B4 */ cpu->r[5] = _t12;
|
|
/* 02C840B8 */ goto L_02C84098;
|
|
L_02C840BC: ; // 0x2c840bc
|
|
/* 02C840BC */ cpu->r[5] = cpu->r[10];
|
|
/* 02C840C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000075u);
|
|
/* 02C840C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C840C8 */ cpu->r[31] = cpu->r[9];
|
|
/* 02C840CC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C840CC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C840CC */ if (_t14) goto L_02C840D0; else goto L_02C840E0;
|
|
L_02C840D0: ; // 0x2c840d0
|
|
/* 02C840D0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C840D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C840D8 */ Gambit_fn_02C83F10(cpu);
|
|
/* 02C840DC */ goto L_02C8412C;
|
|
L_02C840E0: ; // 0x2c840e0
|
|
/* 02C840E0 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C840E4 */ cpu->r[5] = cpu->r[1] + 0x00000022u;
|
|
/* 02C840E8 */ Gambit_fn_02C84BC0(cpu);
|
|
/* 02C840EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C840F0 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C840F4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C840F4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C840F4 */ if (_t16) goto L_02C84110; else goto L_02C840F8;
|
|
L_02C840F8: ; // 0x2c840f8
|
|
/* 02C840F8 */ goto L_02C84104;
|
|
L_02C840FC: ; // 0x2c840fc
|
|
/* 02C840FC */ cpu->r[12] = 0x00000030u;
|
|
/* 02C84100 */ _t17 = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C84100 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[12]);
|
|
/* 02C84100 */ cpu->r[5] = _t17;
|
|
L_02C84104: ; // 0x2c84104
|
|
/* 02C84104 */ cpu->r[12] = cpu->r[1] + 0x0000001Au;
|
|
/* 02C84108 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[5]);
|
|
/* 02C8410C */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8410C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C8410C */ if (_t19) goto L_02C840FC; else goto L_02C84110;
|
|
L_02C84110: ; // 0x2c84110
|
|
/* 02C84110 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C84114 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C84118 */ Gambit_fn_02C84BC0(cpu);
|
|
/* 02C8411C */ cpu->r[5] = cpu->r[3];
|
|
L_02C84120: ; // 0x2c84120
|
|
/* 02C84120 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C84124 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C84128 */ Gambit_fn_02C848AC(cpu);
|
|
L_02C8412C: ; // 0x2c8412c
|
|
/* 02C8412C */ cpu->r[11] = cpu->r[1] + 0x00000030u;
|
|
/* 02C84130 */ goto L_02C8A590;
|
|
L_02C8A590: ; // 0x2c8a590
|
|
/* 02C8A590 */ _t20 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C8A594 */ _t21 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C8A598 */ _t22 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C84060 @ 0x2c84060
|
|
void Gambit_fn_02C84060(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02C84060: ; // 0x2c84060
|
|
/* 02C84060 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C84060 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C84060 */ cpu->r[1] = _t0;
|
|
/* 02C84064 */ Gambit_fn_02C8A538(cpu);
|
|
/* 02C84068 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8406C */ cpu->r[9] = cpu->r[5];
|
|
/* 02C84070 */ cpu->r[10] = cpu->r[6];
|
|
/* 02C84074 */ _t1 = cpu->r[1] + 0x00000022u;
|
|
/* 02C84074 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[12]);
|
|
/* 02C84078 */ cpu->r[12] = cpu->r[9] | cpu->r[10];
|
|
/* 02C84078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C8407C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C84080 */ cpu->r[5] = cpu->r[1] + 0x00000022u;
|
|
/* 02C84084 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84084 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C84084 */ if (_t3) goto L_02C84088; else goto L_02C8408C;
|
|
L_02C84088: ; // 0x2c84088
|
|
/* 02C84088 */ _t4 = cpu->r[30] + 0x00000013u;
|
|
/* 02C84088 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[10]);
|
|
L_02C8408C: ; // 0x2c8408c
|
|
/* 02C8408C */ _t5 = cpu->r[30] + 0x0000001Du;
|
|
/* 02C8408C */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C84090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Fu);
|
|
/* 02C84094 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84094 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C84094 */ if (_t7) goto L_02C84098; else goto L_02C840BC;
|
|
L_02C84098: ; // 0x2c84098
|
|
/* 02C84098 */ cpu->r[12] = cpu->r[9] | cpu->r[10];
|
|
/* 02C84098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C8409C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8409C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C8409C */ if (_t9) goto L_02C84120; else goto L_02C840A0;
|
|
L_02C840A0: ; // 0x2c840a0
|
|
/* 02C840A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C840A4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02C840A8 */ cpu->r[12] = cpu->r[12] + 0x00000030u;
|
|
/* 02C840AC */ _t10 = rbrew_rlwinm(cpu->r[9], 0x0000001Du, 0x00000000u, 0x00000002u);
|
|
/* 02C840AC */ _t11 = cpu->r[10] & 0x1FFFFFFFu;
|
|
/* 02C840AC */ cpu->r[10] = _t11 | _t10;
|
|
/* 02C840B0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02C840B4 */ _t12 = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C840B4 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 02C840B4 */ cpu->r[5] = _t12;
|
|
/* 02C840B8 */ goto L_02C84098;
|
|
L_02C840BC: ; // 0x2c840bc
|
|
/* 02C840BC */ cpu->r[5] = cpu->r[10];
|
|
/* 02C840C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000075u);
|
|
/* 02C840C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C840C8 */ cpu->r[31] = cpu->r[9];
|
|
/* 02C840CC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C840CC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C840CC */ if (_t14) goto L_02C840D0; else goto L_02C840E0;
|
|
L_02C840D0: ; // 0x2c840d0
|
|
/* 02C840D0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C840D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C840D8 */ Gambit_fn_02C83F10(cpu);
|
|
/* 02C840DC */ goto L_02C8412C;
|
|
L_02C840E0: ; // 0x2c840e0
|
|
/* 02C840E0 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C840E4 */ cpu->r[5] = cpu->r[1] + 0x00000022u;
|
|
/* 02C840E8 */ Gambit_fn_02C84BC0(cpu);
|
|
/* 02C840EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C840F0 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C840F4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C840F4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C840F4 */ if (_t16) goto L_02C84110; else goto L_02C840F8;
|
|
L_02C840F8: ; // 0x2c840f8
|
|
/* 02C840F8 */ goto L_02C84104;
|
|
L_02C840FC: ; // 0x2c840fc
|
|
/* 02C840FC */ cpu->r[12] = 0x00000030u;
|
|
/* 02C84100 */ _t17 = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C84100 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[12]);
|
|
/* 02C84100 */ cpu->r[5] = _t17;
|
|
L_02C84104: ; // 0x2c84104
|
|
/* 02C84104 */ cpu->r[12] = cpu->r[1] + 0x0000001Au;
|
|
/* 02C84108 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[5]);
|
|
/* 02C8410C */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8410C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C8410C */ if (_t19) goto L_02C840FC; else goto L_02C84110;
|
|
L_02C84110: ; // 0x2c84110
|
|
/* 02C84110 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C84114 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C84118 */ Gambit_fn_02C84BC0(cpu);
|
|
/* 02C8411C */ cpu->r[5] = cpu->r[3];
|
|
L_02C84120: ; // 0x2c84120
|
|
/* 02C84120 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C84124 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C84128 */ Gambit_fn_02C848AC(cpu);
|
|
L_02C8412C: ; // 0x2c8412c
|
|
/* 02C8412C */ cpu->r[11] = cpu->r[1] + 0x00000030u;
|
|
/* 02C84130 */ goto L_02C8A590;
|
|
L_02C8A590: ; // 0x2c8a590
|
|
/* 02C8A590 */ _t20 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C8A594 */ _t21 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C8A598 */ _t22 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C84134 @ 0x2c84134
|
|
void Gambit_fn_02C84134(CPUState* 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;
|
|
|
|
L_02C84134: ; // 0x2c84134
|
|
/* 02C84134 */ cpu->r[0] = cpu->lr;
|
|
/* 02C84138 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C8413C */ _t0 = cpu->r[1] + 0xFFFFFE88u;
|
|
/* 02C8413C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8413C */ cpu->r[1] = _t0;
|
|
/* 02C84140 */ Gambit_fn_02C8A398(cpu);
|
|
/* 02C84144 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C84148 */ Gambit_fn_02C8A478(cpu);
|
|
/* 02C8414C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C84150 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C84154 */ _t1 = cpu->r[28] + 0x0000001Du;
|
|
/* 02C84154 */ cpu->r[31] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C84158 */ _t2 = cpu->r[28] + 0x00000013u;
|
|
/* 02C84158 */ cpu->r[26] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C8415C */ cpu->r[23] = cpu->r[3];
|
|
/* 02C84160 */ _t3 = cpu->r[28] + 0x00000013u;
|
|
/* 02C84160 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[27]);
|
|
/* 02C84164 */ cpu->r[29] = cpu->r[1] + 0x00000008u;
|
|
/* 02C84168 */ _t4 = cpu->r[23] + 0x00000000u;
|
|
/* 02C84168 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C8416C */ /* nop */
|
|
/* 02C84170 */ cpu->r[30] = cpu->r[27];
|
|
/* 02C84174 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C84178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C8417C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8417C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[12]);
|
|
/* 02C84180 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84180 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C84180 */ if (_t7) goto L_02C84188; else goto L_02C84184;
|
|
L_02C84184: ; // 0x2c84184
|
|
/* 02C84184 */ cpu->r[29] = cpu->r[1] + 0x00000009u;
|
|
L_02C84188: ; // 0x2c84188
|
|
/* 02C84188 */ _t8 = cpu->r[28] + 0x00000004u;
|
|
/* 02C84188 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C8418C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFF8300u);
|
|
/* 02C84190 */ cpu->r[25] = 0x00000006u;
|
|
/* 02C84194 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84194 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C84194 */ if (_t10) goto L_02C8419C; else goto L_02C84198;
|
|
L_02C84198: ; // 0x2c84198
|
|
/* 02C84198 */ cpu->r[25] = cpu->r[12];
|
|
L_02C8419C: ; // 0x2c8419c
|
|
/* 02C8419C */ cpu->r[12] = 0xFFFF8300u;
|
|
/* 02C841A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000066u);
|
|
/* 02C841A4 */ _t11 = cpu->r[28] + 0x00000004u;
|
|
/* 02C841A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02C841A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C841A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C841A8 */ if (_t13) goto L_02C841BC; else goto L_02C841AC;
|
|
L_02C841AC: ; // 0x2c841ac
|
|
/* 02C841AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000046u);
|
|
/* 02C841B0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C841B0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C841B0 */ if (_t15) goto L_02C841BC; else goto L_02C841B4;
|
|
L_02C841B4: ; // 0x2c841b4
|
|
/* 02C841B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000005Fu);
|
|
/* 02C841B8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C841B8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C841B8 */ if (_t17) goto L_02C841BC; else goto L_02C841C4;
|
|
L_02C841BC: ; // 0x2c841bc
|
|
/* 02C841BC */ cpu->r[24] = 0x00000000u;
|
|
/* 02C841C0 */ goto L_02C841CC;
|
|
L_02C841C4: ; // 0x2c841c4
|
|
/* 02C841C4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C841C8 */ cpu->r[24] = 0x00000001u;
|
|
L_02C841CC: ; // 0x2c841cc
|
|
/* 02C841CC */ cpu->f[1] = cpu->f[31];
|
|
/* 02C841D0 */ cpu->r[12] = rbrew_clz32(cpu->r[24]);
|
|
/* 02C841D4 */ _t18 = cpu->r[28] + 0x00000018u;
|
|
/* 02C841D4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C841D8 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C841DC */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C841E0 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C841E4 */ Gambit_fn_02C853BC(cpu);
|
|
/* 02C841E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C841EC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C841EC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C841EC */ if (_t20) goto L_02C84214; else goto L_02C841F0;
|
|
L_02C841F0: ; // 0x2c841f0
|
|
/* 02C841F0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C841F4 */ _t21 = cpu->r[12] + 0x00004630u;
|
|
/* 02C841F4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 02C841F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 02C841FC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C841FC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C841FC */ if (_t23) goto L_02C84204; else goto L_02C84200;
|
|
L_02C84200: ; // 0x2c84200
|
|
/* 02C84200 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
L_02C84204: ; // 0x2c84204
|
|
/* 02C84204 */ _t24 = cpu->r[23] + 0x00000000u;
|
|
/* 02C84204 */ cpu->r[12] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C84208 */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84208 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[12]);
|
|
/* 02C8420C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84210 */ goto L_02C8426C;
|
|
L_02C84214: ; // 0x2c84214
|
|
/* 02C84214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C84218 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84218 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C84218 */ if (_t27) goto L_02C8423C; else goto L_02C8421C;
|
|
L_02C8421C: ; // 0x2c8421c
|
|
/* 02C8421C */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8421C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C8421C */ if (_t29) goto L_02C84220; else goto L_02C84230;
|
|
L_02C84220: ; // 0x2c84220
|
|
/* 02C84220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C84224 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84224 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C84224 */ if (_t31) goto L_02C84228; else goto L_02C8423C;
|
|
L_02C84228: ; // 0x2c84228
|
|
/* 02C84228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C8422C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8422C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C8422C */ if (_t33) goto L_02C8423C; else goto L_02C84230;
|
|
L_02C84230: ; // 0x2c84230
|
|
/* 02C84230 */ cpu->r[12] = 0x00000030u;
|
|
/* 02C84234 */ _t34 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84234 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[12]);
|
|
/* 02C84238 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C8423C: ; // 0x2c8423c
|
|
/* 02C8423C */ cpu->r[10] = 0x00000000u;
|
|
/* 02C84240 */ goto L_02C84264;
|
|
L_02C84244: ; // 0x2c84244
|
|
/* 02C84244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000038u);
|
|
/* 02C84248 */ cpu->r[12] = 0x00000030u;
|
|
/* 02C8424C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8424C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C8424C */ if (_t36) goto L_02C84250; else goto L_02C84254;
|
|
L_02C84250: ; // 0x2c84250
|
|
/* 02C84250 */ _t37 = cpu->r[23] + cpu->r[10];
|
|
/* 02C84250 */ cpu->r[12] = rbrew_read8(cpu->mem, _t37);
|
|
L_02C84254: ; // 0x2c84254
|
|
/* 02C84254 */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84254 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[12]);
|
|
/* 02C84258 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C8425C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C84260 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C84264: ; // 0x2c84264
|
|
/* 02C84264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C84268 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84268 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C84268 */ if (_t40) goto L_02C84244; else goto L_02C8426C;
|
|
L_02C8426C: ; // 0x2c8426c
|
|
/* 02C8426C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[24]);
|
|
/* 02C84270 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84270 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C84270 */ if (_t42) goto L_02C8427C; else goto L_02C84274;
|
|
L_02C84274: ; // 0x2c84274
|
|
/* 02C84274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C84278 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84278 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C84278 */ if (_t44) goto L_02C84288; else goto L_02C8427C;
|
|
L_02C8427C: ; // 0x2c8427c
|
|
/* 02C8427C */ cpu->r[12] = 0x0000002Eu;
|
|
/* 02C84280 */ _t45 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84280 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[12]);
|
|
/* 02C84284 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C84288: ; // 0x2c84288
|
|
/* 02C84288 */ cpu->r[11] = cpu->r[24];
|
|
/* 02C84288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C8428C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8428C */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C8428C */ if (_t47) goto L_02C84298; else goto L_02C84290;
|
|
L_02C84290: ; // 0x2c84290
|
|
/* 02C84290 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C84294 */ goto L_02C842E4;
|
|
L_02C84298: ; // 0x2c84298
|
|
/* 02C84298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C8429C */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8429C */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C8429C */ if (_t49) goto L_02C842A0; else goto L_02C842E4;
|
|
L_02C842A0: ; // 0x2c842a0
|
|
/* 02C842A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C842A4 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C842A4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C842A4 */ if (_t51) goto L_02C842A8; else goto L_02C842E4;
|
|
L_02C842A8: ; // 0x2c842a8
|
|
/* 02C842A8 */ _t52 = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C842A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02C842A8 */ cpu->r[29] = _t52;
|
|
/* 02C842AC */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[3]);
|
|
/* 02C842B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[11]);
|
|
/* 02C842B4 */ _t53 = cpu->r[28] + 0x0000001Du;
|
|
/* 02C842B4 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[12]);
|
|
/* 02C842B8 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C842B8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C842B8 */ if (_t55) goto L_02C842BC; else goto L_02C842C0;
|
|
L_02C842BC: ; // 0x2c842bc
|
|
/* 02C842BC */ cpu->r[11] = cpu->r[25];
|
|
L_02C842C0: ; // 0x2c842c0
|
|
/* 02C842C0 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[11]);
|
|
/* 02C842C4 */ cpu->r[3] = cpu->r[3] - cpu->r[11];
|
|
/* 02C842C8 */ _t56 = cpu->r[28] + 0x00000004u;
|
|
/* 02C842C8 */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
|
|
/* 02C842CC */ goto L_02C842E4;
|
|
L_02C842D0: ; // 0x2c842d0
|
|
/* 02C842D0 */ _t57 = cpu->r[23] + cpu->r[10];
|
|
/* 02C842D0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02C842D4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C842D8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C842DC */ _t58 = cpu->r[29] + 0x00000000u;
|
|
/* 02C842DC */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[12]);
|
|
/* 02C842E0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C842E4: ; // 0x2c842e4
|
|
/* 02C842E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[25]);
|
|
/* 02C842E8 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C842E8 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C842E8 */ if (_t60) goto L_02C842EC; else goto L_02C842F4;
|
|
L_02C842EC: ; // 0x2c842ec
|
|
/* 02C842EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000038u);
|
|
/* 02C842F0 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C842F0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C842F0 */ if (_t62) goto L_02C842D0; else goto L_02C842F4;
|
|
L_02C842F4: ; // 0x2c842f4
|
|
/* 02C842F4 */ cpu->r[23] = cpu->r[25] - cpu->r[11];
|
|
/* 02C842F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C842F8 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C842F8 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C842F8 */ if (_t64) goto L_02C842FC; else goto L_02C84300;
|
|
L_02C842FC: ; // 0x2c842fc
|
|
/* 02C842FC */ cpu->r[23] = 0x00000000u;
|
|
L_02C84300: ; // 0x2c84300
|
|
/* 02C84300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C84304 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84304 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C84304 */ if (_t66) goto L_02C84308; else goto L_02C84350;
|
|
L_02C84308: ; // 0x2c84308
|
|
/* 02C84308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000067u);
|
|
/* 02C8430C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8430C */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C8430C */ if (_t68) goto L_02C84320; else goto L_02C84310;
|
|
L_02C84310: ; // 0x2c84310
|
|
/* 02C84310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000047u);
|
|
/* 02C84314 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84314 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C84314 */ if (_t70) goto L_02C84320; else goto L_02C84318;
|
|
L_02C84318: ; // 0x2c84318
|
|
/* 02C84318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000005Fu);
|
|
/* 02C8431C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8431C */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C8431C */ if (_t72) goto L_02C84320; else goto L_02C84350;
|
|
L_02C84320: ; // 0x2c84320
|
|
/* 02C84320 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C84324 */ goto L_02C8432C;
|
|
L_02C84328: ; // 0x2c84328
|
|
/* 02C84328 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
L_02C8432C: ; // 0x2c8432c
|
|
/* 02C8432C */ _t73 = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C8432C */ cpu->r[12] = rbrew_read8(cpu->mem, _t73);
|
|
/* 02C84330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C84334 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84334 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C84334 */ if (_t75) goto L_02C84338; else goto L_02C84344;
|
|
L_02C84338: ; // 0x2c84338
|
|
/* 02C84338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C8433C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C84340 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84340 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C84340 */ if (_t77) goto L_02C84328; else goto L_02C84344;
|
|
L_02C84344: ; // 0x2c84344
|
|
/* 02C84344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Eu);
|
|
/* 02C84348 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84348 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C84348 */ if (_t79) goto L_02C8434C; else goto L_02C84350;
|
|
L_02C8434C: ; // 0x2c8434c
|
|
/* 02C8434C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
L_02C84350: ; // 0x2c84350
|
|
/* 02C84350 */ _t80 = cpu->r[28] + 0x00000000u;
|
|
/* 02C84350 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C84354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84358 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84358 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C84358 */ if (_t82) goto L_02C8435C; else goto L_02C8437C;
|
|
L_02C8435C: ; // 0x2c8435c
|
|
/* 02C8435C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C84360 */ _t83 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84360 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C84360 */ if (_t84) goto L_02C84364; else goto L_02C8437C;
|
|
L_02C84364: ; // 0x2c84364
|
|
/* 02C84364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[23]);
|
|
/* 02C84368 */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84368 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C84368 */ if (_t86) goto L_02C8436C; else goto L_02C84378;
|
|
L_02C8436C: ; // 0x2c8436c
|
|
/* 02C8436C */ cpu->r[12] = cpu->r[12] - cpu->r[23];
|
|
/* 02C84370 */ _t87 = cpu->r[28] + 0x00000000u;
|
|
/* 02C84370 */ rbrew_write32(cpu->mem, _t87, cpu->r[12]);
|
|
/* 02C84374 */ goto L_02C8437C;
|
|
L_02C84378: ; // 0x2c84378
|
|
/* 02C84378 */ _t88 = cpu->r[28] + 0x00000000u;
|
|
/* 02C84378 */ rbrew_write32(cpu->mem, _t88, cpu->r[27]);
|
|
L_02C8437C: ; // 0x2c8437c
|
|
/* 02C8437C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C84380 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84380 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C84380 */ if (_t90) goto L_02C84404; else goto L_02C84384;
|
|
L_02C84384: ; // 0x2c84384
|
|
/* 02C84384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000005Au);
|
|
/* 02C84388 */ cpu->r[12] = 0x00000065u;
|
|
/* 02C8438C */ _t91 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8438C */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C8438C */ if (_t92) goto L_02C84394; else goto L_02C84390;
|
|
L_02C84390: ; // 0x2c84390
|
|
/* 02C84390 */ cpu->r[12] = 0x00000045u;
|
|
L_02C84394: ; // 0x2c84394
|
|
/* 02C84394 */ _t93 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84394 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[12]);
|
|
/* 02C84398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C8439C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C843A0 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C843A0 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C843A0 */ if (_t95) goto L_02C843A4; else goto L_02C843B4;
|
|
L_02C843A4: ; // 0x2c843a4
|
|
/* 02C843A4 */ cpu->r[12] = 0x0000002Du;
|
|
/* 02C843A8 */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[3]);
|
|
/* 02C843AC */ _t96 = cpu->r[29] + 0x00000000u;
|
|
/* 02C843AC */ rbrew_write8(cpu->mem, _t96, (uint8_t)cpu->r[12]);
|
|
/* 02C843B0 */ goto L_02C843BC;
|
|
L_02C843B4: ; // 0x2c843b4
|
|
/* 02C843B4 */ cpu->r[12] = 0x0000002Bu;
|
|
/* 02C843B8 */ _t97 = cpu->r[29] + 0x00000000u;
|
|
/* 02C843B8 */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[12]);
|
|
L_02C843BC: ; // 0x2c843bc
|
|
/* 02C843BC */ cpu->r[12] = 0x00002710u;
|
|
/* 02C843C0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C843C4: ; // 0x2c843c4
|
|
/* 02C843C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C843C8 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C843C8 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02C843C8 */ if (_t99) goto L_02C843CC; else goto L_02C843DC;
|
|
L_02C843CC: ; // 0x2c843cc
|
|
/* 02C843CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000000Au);
|
|
/* 02C843D0 */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C843D0 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C843D0 */ if (_t101) goto L_02C843D4; else goto L_02C843DC;
|
|
L_02C843D4: ; // 0x2c843d4
|
|
/* 02C843D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[12]);
|
|
/* 02C843D8 */ _t102 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C843D8 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02C843D8 */ if (_t103) goto L_02C843F8; else goto L_02C843DC;
|
|
L_02C843DC: ; // 0x2c843dc
|
|
/* 02C843DC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[3] / (int32_t)cpu->r[12]);
|
|
/* 02C843E0 */ cpu->r[11] = cpu->r[10] + 0x00000030u;
|
|
/* 02C843E4 */ _t104 = cpu->r[29] + 0x00000000u;
|
|
/* 02C843E4 */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[11]);
|
|
/* 02C843E8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[12]);
|
|
/* 02C843EC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C843F0 */ cpu->r[30] = 0x00000001u;
|
|
/* 02C843F4 */ cpu->r[3] = cpu->r[3] - cpu->r[11];
|
|
L_02C843F8: ; // 0x2c843f8
|
|
/* 02C843F8 */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C843FC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] / (int32_t)cpu->r[11]);
|
|
/* 02C843FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84400 */ _t105 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84400 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C84400 */ if (_t106) goto L_02C843C4; else goto L_02C84404;
|
|
L_02C84404: ; // 0x2c84404
|
|
/* 02C84404 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C84408 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C8440C */ _t107 = cpu->r[29] + 0x00000000u;
|
|
/* 02C8440C */ rbrew_write8(cpu->mem, _t107, (uint8_t)cpu->r[27]);
|
|
/* 02C84410 */ Gambit_fn_02C848AC(cpu);
|
|
/* 02C84414 */ _t108 = cpu->r[28] + 0x00000008u;
|
|
/* 02C84414 */ cpu->r[29] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C84418 */ cpu->r[31] = cpu->r[3] + cpu->r[23];
|
|
/* 02C8441C */ _t109 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C8441C */ cpu->r[30] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C84420 */ goto L_02C84434;
|
|
L_02C84424: ; // 0x2c84424
|
|
/* 02C84424 */ cpu->ctr = cpu->r[30];
|
|
/* 02C84428 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C8442C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C84430 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C84434: ; // 0x2c84434
|
|
/* 02C84434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C84438 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 02C8443C */ _t110 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8443C */ _t111 = _t110 & 0x00000001u;
|
|
/* 02C8443C */ if (_t111) goto L_02C84424; else goto L_02C84440;
|
|
L_02C84440: ; // 0x2c84440
|
|
/* 02C84440 */ cpu->r[11] = cpu->r[1] + 0x00000168u;
|
|
/* 02C84444 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C84448 */ Gambit_fn_02C8A4CC(cpu);
|
|
/* 02C8444C */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 02C84450 */ goto L_02C8A434;
|
|
L_02C8A434: ; // 0x2c8a434
|
|
/* 02C8A434 */ _t112 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02C8A438 */ _t113 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 02C8A43C */ _t114 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t114);
|
|
/* 02C8A440 */ _t115 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t116) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C8413C @ 0x2c8413c
|
|
void Gambit_fn_02C8413C(CPUState* 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;
|
|
|
|
L_02C8413C: ; // 0x2c8413c
|
|
/* 02C8413C */ _t0 = cpu->r[1] + 0xFFFFFE88u;
|
|
/* 02C8413C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8413C */ cpu->r[1] = _t0;
|
|
/* 02C84140 */ Gambit_fn_02C8A398(cpu);
|
|
/* 02C84144 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C84148 */ Gambit_fn_02C8A478(cpu);
|
|
/* 02C8414C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C84150 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C84154 */ _t1 = cpu->r[28] + 0x0000001Du;
|
|
/* 02C84154 */ cpu->r[31] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C84158 */ _t2 = cpu->r[28] + 0x00000013u;
|
|
/* 02C84158 */ cpu->r[26] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C8415C */ cpu->r[23] = cpu->r[3];
|
|
/* 02C84160 */ _t3 = cpu->r[28] + 0x00000013u;
|
|
/* 02C84160 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[27]);
|
|
/* 02C84164 */ cpu->r[29] = cpu->r[1] + 0x00000008u;
|
|
/* 02C84168 */ _t4 = cpu->r[23] + 0x00000000u;
|
|
/* 02C84168 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C8416C */ /* nop */
|
|
/* 02C84170 */ cpu->r[30] = cpu->r[27];
|
|
/* 02C84174 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C84178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C8417C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8417C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[12]);
|
|
/* 02C84180 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84180 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C84180 */ if (_t7) goto L_02C84188; else goto L_02C84184;
|
|
L_02C84184: ; // 0x2c84184
|
|
/* 02C84184 */ cpu->r[29] = cpu->r[1] + 0x00000009u;
|
|
L_02C84188: ; // 0x2c84188
|
|
/* 02C84188 */ _t8 = cpu->r[28] + 0x00000004u;
|
|
/* 02C84188 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C8418C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFF8300u);
|
|
/* 02C84190 */ cpu->r[25] = 0x00000006u;
|
|
/* 02C84194 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84194 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C84194 */ if (_t10) goto L_02C8419C; else goto L_02C84198;
|
|
L_02C84198: ; // 0x2c84198
|
|
/* 02C84198 */ cpu->r[25] = cpu->r[12];
|
|
L_02C8419C: ; // 0x2c8419c
|
|
/* 02C8419C */ cpu->r[12] = 0xFFFF8300u;
|
|
/* 02C841A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000066u);
|
|
/* 02C841A4 */ _t11 = cpu->r[28] + 0x00000004u;
|
|
/* 02C841A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02C841A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C841A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C841A8 */ if (_t13) goto L_02C841BC; else goto L_02C841AC;
|
|
L_02C841AC: ; // 0x2c841ac
|
|
/* 02C841AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000046u);
|
|
/* 02C841B0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C841B0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C841B0 */ if (_t15) goto L_02C841BC; else goto L_02C841B4;
|
|
L_02C841B4: ; // 0x2c841b4
|
|
/* 02C841B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000005Fu);
|
|
/* 02C841B8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C841B8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C841B8 */ if (_t17) goto L_02C841BC; else goto L_02C841C4;
|
|
L_02C841BC: ; // 0x2c841bc
|
|
/* 02C841BC */ cpu->r[24] = 0x00000000u;
|
|
/* 02C841C0 */ goto L_02C841CC;
|
|
L_02C841C4: ; // 0x2c841c4
|
|
/* 02C841C4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C841C8 */ cpu->r[24] = 0x00000001u;
|
|
L_02C841CC: ; // 0x2c841cc
|
|
/* 02C841CC */ cpu->f[1] = cpu->f[31];
|
|
/* 02C841D0 */ cpu->r[12] = rbrew_clz32(cpu->r[24]);
|
|
/* 02C841D4 */ _t18 = cpu->r[28] + 0x00000018u;
|
|
/* 02C841D4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C841D8 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C841DC */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C841E0 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C841E4 */ Gambit_fn_02C853BC(cpu);
|
|
/* 02C841E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C841EC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C841EC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C841EC */ if (_t20) goto L_02C84214; else goto L_02C841F0;
|
|
L_02C841F0: ; // 0x2c841f0
|
|
/* 02C841F0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C841F4 */ _t21 = cpu->r[12] + 0x00004630u;
|
|
/* 02C841F4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 02C841F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 02C841FC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C841FC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C841FC */ if (_t23) goto L_02C84204; else goto L_02C84200;
|
|
L_02C84200: ; // 0x2c84200
|
|
/* 02C84200 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
L_02C84204: ; // 0x2c84204
|
|
/* 02C84204 */ _t24 = cpu->r[23] + 0x00000000u;
|
|
/* 02C84204 */ cpu->r[12] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C84208 */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84208 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[12]);
|
|
/* 02C8420C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84210 */ goto L_02C8426C;
|
|
L_02C84214: ; // 0x2c84214
|
|
/* 02C84214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C84218 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84218 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C84218 */ if (_t27) goto L_02C8423C; else goto L_02C8421C;
|
|
L_02C8421C: ; // 0x2c8421c
|
|
/* 02C8421C */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8421C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C8421C */ if (_t29) goto L_02C84220; else goto L_02C84230;
|
|
L_02C84220: ; // 0x2c84220
|
|
/* 02C84220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C84224 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84224 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C84224 */ if (_t31) goto L_02C84228; else goto L_02C8423C;
|
|
L_02C84228: ; // 0x2c84228
|
|
/* 02C84228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C8422C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8422C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C8422C */ if (_t33) goto L_02C8423C; else goto L_02C84230;
|
|
L_02C84230: ; // 0x2c84230
|
|
/* 02C84230 */ cpu->r[12] = 0x00000030u;
|
|
/* 02C84234 */ _t34 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84234 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[12]);
|
|
/* 02C84238 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C8423C: ; // 0x2c8423c
|
|
/* 02C8423C */ cpu->r[10] = 0x00000000u;
|
|
/* 02C84240 */ goto L_02C84264;
|
|
L_02C84244: ; // 0x2c84244
|
|
/* 02C84244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000038u);
|
|
/* 02C84248 */ cpu->r[12] = 0x00000030u;
|
|
/* 02C8424C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8424C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C8424C */ if (_t36) goto L_02C84250; else goto L_02C84254;
|
|
L_02C84250: ; // 0x2c84250
|
|
/* 02C84250 */ _t37 = cpu->r[23] + cpu->r[10];
|
|
/* 02C84250 */ cpu->r[12] = rbrew_read8(cpu->mem, _t37);
|
|
L_02C84254: ; // 0x2c84254
|
|
/* 02C84254 */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84254 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[12]);
|
|
/* 02C84258 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C8425C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C84260 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C84264: ; // 0x2c84264
|
|
/* 02C84264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C84268 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84268 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C84268 */ if (_t40) goto L_02C84244; else goto L_02C8426C;
|
|
L_02C8426C: ; // 0x2c8426c
|
|
/* 02C8426C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[24]);
|
|
/* 02C84270 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84270 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C84270 */ if (_t42) goto L_02C8427C; else goto L_02C84274;
|
|
L_02C84274: ; // 0x2c84274
|
|
/* 02C84274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C84278 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84278 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C84278 */ if (_t44) goto L_02C84288; else goto L_02C8427C;
|
|
L_02C8427C: ; // 0x2c8427c
|
|
/* 02C8427C */ cpu->r[12] = 0x0000002Eu;
|
|
/* 02C84280 */ _t45 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84280 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[12]);
|
|
/* 02C84284 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C84288: ; // 0x2c84288
|
|
/* 02C84288 */ cpu->r[11] = cpu->r[24];
|
|
/* 02C84288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C8428C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8428C */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C8428C */ if (_t47) goto L_02C84298; else goto L_02C84290;
|
|
L_02C84290: ; // 0x2c84290
|
|
/* 02C84290 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C84294 */ goto L_02C842E4;
|
|
L_02C84298: ; // 0x2c84298
|
|
/* 02C84298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C8429C */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8429C */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C8429C */ if (_t49) goto L_02C842A0; else goto L_02C842E4;
|
|
L_02C842A0: ; // 0x2c842a0
|
|
/* 02C842A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C842A4 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C842A4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C842A4 */ if (_t51) goto L_02C842A8; else goto L_02C842E4;
|
|
L_02C842A8: ; // 0x2c842a8
|
|
/* 02C842A8 */ _t52 = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C842A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02C842A8 */ cpu->r[29] = _t52;
|
|
/* 02C842AC */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[3]);
|
|
/* 02C842B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[11]);
|
|
/* 02C842B4 */ _t53 = cpu->r[28] + 0x0000001Du;
|
|
/* 02C842B4 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[12]);
|
|
/* 02C842B8 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C842B8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C842B8 */ if (_t55) goto L_02C842BC; else goto L_02C842C0;
|
|
L_02C842BC: ; // 0x2c842bc
|
|
/* 02C842BC */ cpu->r[11] = cpu->r[25];
|
|
L_02C842C0: ; // 0x2c842c0
|
|
/* 02C842C0 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[11]);
|
|
/* 02C842C4 */ cpu->r[3] = cpu->r[3] - cpu->r[11];
|
|
/* 02C842C8 */ _t56 = cpu->r[28] + 0x00000004u;
|
|
/* 02C842C8 */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
|
|
/* 02C842CC */ goto L_02C842E4;
|
|
L_02C842D0: ; // 0x2c842d0
|
|
/* 02C842D0 */ _t57 = cpu->r[23] + cpu->r[10];
|
|
/* 02C842D0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02C842D4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C842D8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C842DC */ _t58 = cpu->r[29] + 0x00000000u;
|
|
/* 02C842DC */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[12]);
|
|
/* 02C842E0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C842E4: ; // 0x2c842e4
|
|
/* 02C842E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[25]);
|
|
/* 02C842E8 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C842E8 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C842E8 */ if (_t60) goto L_02C842EC; else goto L_02C842F4;
|
|
L_02C842EC: ; // 0x2c842ec
|
|
/* 02C842EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000038u);
|
|
/* 02C842F0 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C842F0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C842F0 */ if (_t62) goto L_02C842D0; else goto L_02C842F4;
|
|
L_02C842F4: ; // 0x2c842f4
|
|
/* 02C842F4 */ cpu->r[23] = cpu->r[25] - cpu->r[11];
|
|
/* 02C842F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C842F8 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C842F8 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C842F8 */ if (_t64) goto L_02C842FC; else goto L_02C84300;
|
|
L_02C842FC: ; // 0x2c842fc
|
|
/* 02C842FC */ cpu->r[23] = 0x00000000u;
|
|
L_02C84300: ; // 0x2c84300
|
|
/* 02C84300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C84304 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84304 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C84304 */ if (_t66) goto L_02C84308; else goto L_02C84350;
|
|
L_02C84308: ; // 0x2c84308
|
|
/* 02C84308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000067u);
|
|
/* 02C8430C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8430C */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C8430C */ if (_t68) goto L_02C84320; else goto L_02C84310;
|
|
L_02C84310: ; // 0x2c84310
|
|
/* 02C84310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000047u);
|
|
/* 02C84314 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84314 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C84314 */ if (_t70) goto L_02C84320; else goto L_02C84318;
|
|
L_02C84318: ; // 0x2c84318
|
|
/* 02C84318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000005Fu);
|
|
/* 02C8431C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8431C */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C8431C */ if (_t72) goto L_02C84320; else goto L_02C84350;
|
|
L_02C84320: ; // 0x2c84320
|
|
/* 02C84320 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C84324 */ goto L_02C8432C;
|
|
L_02C84328: ; // 0x2c84328
|
|
/* 02C84328 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
L_02C8432C: ; // 0x2c8432c
|
|
/* 02C8432C */ _t73 = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C8432C */ cpu->r[12] = rbrew_read8(cpu->mem, _t73);
|
|
/* 02C84330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C84334 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84334 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C84334 */ if (_t75) goto L_02C84338; else goto L_02C84344;
|
|
L_02C84338: ; // 0x2c84338
|
|
/* 02C84338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C8433C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C84340 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84340 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C84340 */ if (_t77) goto L_02C84328; else goto L_02C84344;
|
|
L_02C84344: ; // 0x2c84344
|
|
/* 02C84344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Eu);
|
|
/* 02C84348 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84348 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C84348 */ if (_t79) goto L_02C8434C; else goto L_02C84350;
|
|
L_02C8434C: ; // 0x2c8434c
|
|
/* 02C8434C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
L_02C84350: ; // 0x2c84350
|
|
/* 02C84350 */ _t80 = cpu->r[28] + 0x00000000u;
|
|
/* 02C84350 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C84354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84358 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84358 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C84358 */ if (_t82) goto L_02C8435C; else goto L_02C8437C;
|
|
L_02C8435C: ; // 0x2c8435c
|
|
/* 02C8435C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C84360 */ _t83 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84360 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C84360 */ if (_t84) goto L_02C84364; else goto L_02C8437C;
|
|
L_02C84364: ; // 0x2c84364
|
|
/* 02C84364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[23]);
|
|
/* 02C84368 */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84368 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C84368 */ if (_t86) goto L_02C8436C; else goto L_02C84378;
|
|
L_02C8436C: ; // 0x2c8436c
|
|
/* 02C8436C */ cpu->r[12] = cpu->r[12] - cpu->r[23];
|
|
/* 02C84370 */ _t87 = cpu->r[28] + 0x00000000u;
|
|
/* 02C84370 */ rbrew_write32(cpu->mem, _t87, cpu->r[12]);
|
|
/* 02C84374 */ goto L_02C8437C;
|
|
L_02C84378: ; // 0x2c84378
|
|
/* 02C84378 */ _t88 = cpu->r[28] + 0x00000000u;
|
|
/* 02C84378 */ rbrew_write32(cpu->mem, _t88, cpu->r[27]);
|
|
L_02C8437C: ; // 0x2c8437c
|
|
/* 02C8437C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C84380 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84380 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C84380 */ if (_t90) goto L_02C84404; else goto L_02C84384;
|
|
L_02C84384: ; // 0x2c84384
|
|
/* 02C84384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000005Au);
|
|
/* 02C84388 */ cpu->r[12] = 0x00000065u;
|
|
/* 02C8438C */ _t91 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8438C */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C8438C */ if (_t92) goto L_02C84394; else goto L_02C84390;
|
|
L_02C84390: ; // 0x2c84390
|
|
/* 02C84390 */ cpu->r[12] = 0x00000045u;
|
|
L_02C84394: ; // 0x2c84394
|
|
/* 02C84394 */ _t93 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84394 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[12]);
|
|
/* 02C84398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C8439C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C843A0 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C843A0 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C843A0 */ if (_t95) goto L_02C843A4; else goto L_02C843B4;
|
|
L_02C843A4: ; // 0x2c843a4
|
|
/* 02C843A4 */ cpu->r[12] = 0x0000002Du;
|
|
/* 02C843A8 */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[3]);
|
|
/* 02C843AC */ _t96 = cpu->r[29] + 0x00000000u;
|
|
/* 02C843AC */ rbrew_write8(cpu->mem, _t96, (uint8_t)cpu->r[12]);
|
|
/* 02C843B0 */ goto L_02C843BC;
|
|
L_02C843B4: ; // 0x2c843b4
|
|
/* 02C843B4 */ cpu->r[12] = 0x0000002Bu;
|
|
/* 02C843B8 */ _t97 = cpu->r[29] + 0x00000000u;
|
|
/* 02C843B8 */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[12]);
|
|
L_02C843BC: ; // 0x2c843bc
|
|
/* 02C843BC */ cpu->r[12] = 0x00002710u;
|
|
/* 02C843C0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C843C4: ; // 0x2c843c4
|
|
/* 02C843C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C843C8 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C843C8 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02C843C8 */ if (_t99) goto L_02C843CC; else goto L_02C843DC;
|
|
L_02C843CC: ; // 0x2c843cc
|
|
/* 02C843CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000000Au);
|
|
/* 02C843D0 */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C843D0 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C843D0 */ if (_t101) goto L_02C843D4; else goto L_02C843DC;
|
|
L_02C843D4: ; // 0x2c843d4
|
|
/* 02C843D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[12]);
|
|
/* 02C843D8 */ _t102 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C843D8 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02C843D8 */ if (_t103) goto L_02C843F8; else goto L_02C843DC;
|
|
L_02C843DC: ; // 0x2c843dc
|
|
/* 02C843DC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[3] / (int32_t)cpu->r[12]);
|
|
/* 02C843E0 */ cpu->r[11] = cpu->r[10] + 0x00000030u;
|
|
/* 02C843E4 */ _t104 = cpu->r[29] + 0x00000000u;
|
|
/* 02C843E4 */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[11]);
|
|
/* 02C843E8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[12]);
|
|
/* 02C843EC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C843F0 */ cpu->r[30] = 0x00000001u;
|
|
/* 02C843F4 */ cpu->r[3] = cpu->r[3] - cpu->r[11];
|
|
L_02C843F8: ; // 0x2c843f8
|
|
/* 02C843F8 */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C843FC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] / (int32_t)cpu->r[11]);
|
|
/* 02C843FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84400 */ _t105 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84400 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C84400 */ if (_t106) goto L_02C843C4; else goto L_02C84404;
|
|
L_02C84404: ; // 0x2c84404
|
|
/* 02C84404 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C84408 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C8440C */ _t107 = cpu->r[29] + 0x00000000u;
|
|
/* 02C8440C */ rbrew_write8(cpu->mem, _t107, (uint8_t)cpu->r[27]);
|
|
/* 02C84410 */ Gambit_fn_02C848AC(cpu);
|
|
/* 02C84414 */ _t108 = cpu->r[28] + 0x00000008u;
|
|
/* 02C84414 */ cpu->r[29] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C84418 */ cpu->r[31] = cpu->r[3] + cpu->r[23];
|
|
/* 02C8441C */ _t109 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C8441C */ cpu->r[30] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C84420 */ goto L_02C84434;
|
|
L_02C84424: ; // 0x2c84424
|
|
/* 02C84424 */ cpu->ctr = cpu->r[30];
|
|
/* 02C84428 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C8442C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C84430 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C84434: ; // 0x2c84434
|
|
/* 02C84434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C84438 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 02C8443C */ _t110 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8443C */ _t111 = _t110 & 0x00000001u;
|
|
/* 02C8443C */ if (_t111) goto L_02C84424; else goto L_02C84440;
|
|
L_02C84440: ; // 0x2c84440
|
|
/* 02C84440 */ cpu->r[11] = cpu->r[1] + 0x00000168u;
|
|
/* 02C84444 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C84448 */ Gambit_fn_02C8A4CC(cpu);
|
|
/* 02C8444C */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 02C84450 */ goto L_02C8A434;
|
|
L_02C8A434: ; // 0x2c8a434
|
|
/* 02C8A434 */ _t112 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02C8A438 */ _t113 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 02C8A43C */ _t114 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t114);
|
|
/* 02C8A440 */ _t115 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t116) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C84454 @ 0x2c84454
|
|
void Gambit_fn_02C84454(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132;
|
|
|
|
L_02C84454: ; // 0x2c84454
|
|
/* 02C84454 */ cpu->r[0] = cpu->lr;
|
|
/* 02C84458 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C8445C */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02C8445C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8445C */ cpu->r[1] = _t0;
|
|
/* 02C84460 */ Gambit_fn_02C8A398(cpu);
|
|
/* 02C84464 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C84468 */ Gambit_fn_02C8A490(cpu);
|
|
/* 02C8446C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C84470 */ _t1 = cpu->r[31] + 0x0000001Du;
|
|
/* 02C84470 */ cpu->r[7] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C84474 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C84478 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C8447C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000061u);
|
|
/* 02C84480 */ cpu->r[12] = cpu->r[9];
|
|
/* 02C84484 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84484 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C84484 */ if (_t3) goto L_02C84488; else goto L_02C8448C;
|
|
L_02C84488: ; // 0x2c84488
|
|
/* 02C84488 */ cpu->r[12] = 0x00000020u;
|
|
L_02C8448C: ; // 0x2c8448c
|
|
/* 02C8448C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8448C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C84490 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C84490 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C84494 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C84498 */ cpu->r[11] = 0xFFE00000u;
|
|
/* 02C8449C */ _t6 = cpu->r[31] + 0x00000012u;
|
|
/* 02C8449C */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C844A0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C844A4 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C844A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02C844AC */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 02C844AC */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[10]);
|
|
/* 02C844B0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02C844B4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C844B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C844B4 */ if (_t9) goto L_02C844D8; else goto L_02C844B8;
|
|
L_02C844B8: ; // 0x2c844b8
|
|
/* 02C844B8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C844B8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C844B8 */ if (_t11) goto L_02C844D0; else goto L_02C844BC;
|
|
L_02C844BC: ; // 0x2c844bc
|
|
/* 02C844BC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C844BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C844C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C844C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C844C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C844C4 */ if (_t14) goto L_02C844C8; else goto L_02C844D0;
|
|
L_02C844C8: ; // 0x2c844c8
|
|
/* 02C844C8 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C844CC */ goto L_02C844D8;
|
|
L_02C844D0: ; // 0x2c844d0
|
|
/* 02C844D0 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C844D4 */ goto L_02C844E8;
|
|
L_02C844D8: ; // 0x2c844d8
|
|
/* 02C844D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C844DC */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C844DC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C844DC */ if (_t16) goto L_02C844E0; else goto L_02C844E8;
|
|
L_02C844E0: ; // 0x2c844e0
|
|
/* 02C844E0 */ cpu->r[10] = 0x0000002Du;
|
|
/* 02C844E4 */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 02C844E4 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[10]);
|
|
L_02C844E8: ; // 0x2c844e8
|
|
/* 02C844E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C844EC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C844EC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C844EC */ if (_t19) goto L_02C844F4; else goto L_02C844F0;
|
|
L_02C844F0: ; // 0x2c844f0
|
|
/* 02C844F0 */ cpu->r[3] = cpu->r[1] + 0x00000021u;
|
|
L_02C844F4: ; // 0x2c844f4
|
|
/* 02C844F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C844F8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C844F8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C844F8 */ if (_t21) goto L_02C8450C; else goto L_02C844FC;
|
|
L_02C844FC: ; // 0x2c844fc
|
|
/* 02C844FC */ cpu->r[10] = 0x0000006Eu - cpu->r[12];
|
|
/* 02C84500 */ cpu->r[11] = 0x00000061u - cpu->r[12];
|
|
/* 02C84504 */ cpu->r[8] = 0x0000006Eu;
|
|
/* 02C84508 */ goto L_02C84520;
|
|
L_02C8450C: ; // 0x2c8450c
|
|
/* 02C8450C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C84510 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84510 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C84510 */ if (_t23) goto L_02C84540; else goto L_02C84514;
|
|
L_02C84514: ; // 0x2c84514
|
|
/* 02C84514 */ cpu->r[10] = 0x00000069u - cpu->r[12];
|
|
/* 02C84518 */ cpu->r[8] = 0x00000066u;
|
|
/* 02C8451C */ cpu->r[11] = 0x0000006Eu - cpu->r[12];
|
|
L_02C84520: ; // 0x2c84520
|
|
/* 02C84520 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84520 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[10]);
|
|
/* 02C84524 */ cpu->r[12] = cpu->r[8] - cpu->r[12];
|
|
/* 02C84528 */ _t25 = cpu->r[3] + 0x00000001u;
|
|
/* 02C84528 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[11]);
|
|
/* 02C8452C */ _t26 = cpu->r[3] + 0x00000002u;
|
|
/* 02C8452C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[12]);
|
|
/* 02C84530 */ _t27 = cpu->r[3] + 0x00000003u;
|
|
/* 02C84530 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[9]);
|
|
/* 02C84534 */ _t28 = cpu->r[31] + 0x00000013u;
|
|
/* 02C84534 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[9]);
|
|
/* 02C84538 */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 02C84538 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02C8453C */ goto L_02C84780;
|
|
L_02C84540: ; // 0x2c84540
|
|
/* 02C84540 */ cpu->r[12] = cpu->r[7] | 0x00000020u;
|
|
/* 02C84544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000061u);
|
|
/* 02C84548 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84548 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C84548 */ if (_t31) goto L_02C8454C; else goto L_02C84790;
|
|
L_02C8454C: ; // 0x2c8454c
|
|
/* 02C8454C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02C84550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000061u);
|
|
/* 02C84554 */ cpu->r[11] = cpu->r[11] + 0xFFFFC3D8u;
|
|
/* 02C84558 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84558 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C84558 */ if (_t33) goto L_02C84560; else goto L_02C8455C;
|
|
L_02C8455C: ; // 0x2c8455c
|
|
/* 02C8455C */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
L_02C84560: ; // 0x2c84560
|
|
/* 02C84560 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02C84560 */ rbrew_write_f64(cpu->mem, _t34, cpu->f[31]);
|
|
/* 02C84564 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02C84564 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C84568 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02C84568 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C8456C */ cpu->r[29] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000000Cu, 0x0000001Fu);
|
|
/* 02C84570 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x0000000Cu, 0x00000015u, 0x0000001Fu);
|
|
/* 02C84570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C84574 */ cpu->r[12] = cpu->r[29] | cpu->r[30];
|
|
/* 02C84578 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84578 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C84578 */ if (_t38) goto L_02C84588; else goto L_02C8457C;
|
|
L_02C8457C: ; // 0x2c8457c
|
|
/* 02C8457C */ cpu->r[5] = cpu->r[5] + 0xFFFFFC01u;
|
|
/* 02C84580 */ cpu->r[29] = cpu->r[29] + 0x00100000u;
|
|
/* 02C84584 */ goto L_02C84594;
|
|
L_02C84588: ; // 0x2c84588
|
|
/* 02C84588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C8458C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8458C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C8458C */ if (_t40) goto L_02C84594; else goto L_02C84590;
|
|
L_02C84590: ; // 0x2c84590
|
|
/* 02C84590 */ cpu->r[5] = 0xFFFFFC02u;
|
|
L_02C84594: ; // 0x2c84594
|
|
/* 02C84594 */ _t41 = cpu->r[31] + 0x00000004u;
|
|
/* 02C84594 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C84598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFF8300u);
|
|
/* 02C8459C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8459C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C8459C */ if (_t43) goto L_02C845A0; else goto L_02C845A4;
|
|
L_02C845A0: ; // 0x2c845a0
|
|
/* 02C845A0 */ cpu->r[4] = 0x0000000Du;
|
|
L_02C845A4: ; // 0x2c845a4
|
|
/* 02C845A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C845A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000014u);
|
|
/* 02C845AC */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C845AC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C845AC */ if (_t45) goto L_02C845B0; else goto L_02C845C4;
|
|
L_02C845B0: ; // 0x2c845b0
|
|
/* 02C845B0 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C845B4 */ cpu->r[12] = 0x00000013u - cpu->r[12];
|
|
/* 02C845B8 */ /* nop */
|
|
/* 02C845BC */ cpu->r[29] = cpu->r[29] + cpu->r[12];
|
|
/* 02C845C0 */ goto L_02C845F0;
|
|
L_02C845C4: ; // 0x2c845c4
|
|
/* 02C845C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000034u);
|
|
/* 02C845C8 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C845C8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C845C8 */ if (_t47) goto L_02C845CC; else goto L_02C845F0;
|
|
L_02C845CC: ; // 0x2c845cc
|
|
/* 02C845CC */ cpu->r[10] = 0x00000030u - cpu->r[12];
|
|
/* 02C845D0 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C845D4 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02C845D8 */ /* nop */
|
|
/* 02C845DC */ cpu->r[30] = cpu->r[30] + cpu->r[12];
|
|
/* 02C845E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000002u, 0x00000002u);
|
|
/* 02C845E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C845E4 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C845E4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C845E4 */ if (_t49) goto L_02C845EC; else goto L_02C845E8;
|
|
L_02C845E8: ; // 0x2c845e8
|
|
/* 02C845E8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C845EC: ; // 0x2c845ec
|
|
/* 02C845EC */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C845F0: ; // 0x2c845f0
|
|
/* 02C845F0 */ cpu->r[6] = 0x00000030u;
|
|
/* 02C845F4 */ cpu->r[12] = cpu->r[7] + 0x0000000Fu;
|
|
/* 02C845F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C845FC */ cpu->r[3] = cpu->r[1] + 0x00000019u;
|
|
/* 02C84600 */ _t50 = cpu->r[1] + 0x00000018u;
|
|
/* 02C84600 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[12]);
|
|
/* 02C84604 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84604 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C84604 */ if (_t52) goto L_02C84608; else goto L_02C84618;
|
|
L_02C84608: ; // 0x2c84608
|
|
/* 02C84608 */ cpu->r[12] = 0x0000002Du;
|
|
/* 02C8460C */ cpu->r[5] = (uint32_t)(-(int32_t)cpu->r[5]);
|
|
/* 02C84610 */ _t53 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84610 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[12]);
|
|
/* 02C84614 */ goto L_02C84620;
|
|
L_02C84618: ; // 0x2c84618
|
|
/* 02C84618 */ cpu->r[12] = 0x0000002Bu;
|
|
/* 02C8461C */ _t54 = cpu->r[3] + 0x00000000u;
|
|
/* 02C8461C */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[12]);
|
|
L_02C84620: ; // 0x2c84620
|
|
/* 02C84620 */ cpu->r[8] = 0x00002710u;
|
|
/* 02C84624 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C84628 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_02C8462C: ; // 0x2c8462c
|
|
/* 02C8462C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[5] / (int32_t)cpu->r[8]);
|
|
/* 02C84630 */ cpu->r[7] = cpu->r[12] | cpu->r[10];
|
|
/* 02C84630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C84634 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84634 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C84634 */ if (_t56) goto L_02C84648; else goto L_02C84638;
|
|
L_02C84638: ; // 0x2c84638
|
|
/* 02C84638 */ _t57 = cpu->r[11] + cpu->r[12];
|
|
/* 02C84638 */ cpu->r[12] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02C8463C */ cpu->r[10] = 0x00000001u;
|
|
/* 02C84640 */ _t58 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84640 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[12]);
|
|
/* 02C84644 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_02C84648: ; // 0x2c84648
|
|
/* 02C84648 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[5] / (int32_t)cpu->r[8]);
|
|
/* 02C8464C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[8]);
|
|
/* 02C84650 */ cpu->r[5] = cpu->r[5] - cpu->r[12];
|
|
/* 02C84654 */ cpu->r[12] = 0x0000000Au;
|
|
/* 02C84658 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] / (int32_t)cpu->r[12]);
|
|
/* 02C84658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C8465C */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8465C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C8465C */ if (_t60) goto L_02C8462C; else goto L_02C84660;
|
|
L_02C84660: ; // 0x2c84660
|
|
/* 02C84660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C84664 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84664 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C84664 */ if (_t62) goto L_02C84668; else goto L_02C84674;
|
|
L_02C84668: ; // 0x2c84668
|
|
/* 02C84668 */ cpu->r[12] = 0x00000030u;
|
|
/* 02C8466C */ _t63 = cpu->r[3] + 0x00000000u;
|
|
/* 02C8466C */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[12]);
|
|
/* 02C84670 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_02C84674: ; // 0x2c84674
|
|
/* 02C84674 */ _t64 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84674 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[9]);
|
|
/* 02C84678 */ _t65 = cpu->r[1] + 0x00000020u;
|
|
/* 02C84678 */ cpu->r[12] = rbrew_read8(cpu->mem, _t65);
|
|
/* 02C8467C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84680 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02C84684 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84684 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C84684 */ if (_t67) goto L_02C8468C; else goto L_02C84688;
|
|
L_02C84688: ; // 0x2c84688
|
|
/* 02C84688 */ cpu->r[3] = cpu->r[1] + 0x00000021u;
|
|
L_02C8468C: ; // 0x2c8468c
|
|
/* 02C8468C */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x0000000Cu, 0x00000014u, 0x0000001Fu);
|
|
/* 02C84690 */ _t68 = cpu->r[11] + cpu->r[12];
|
|
/* 02C84690 */ cpu->r[12] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02C84694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C84698 */ _t69 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84698 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[12]);
|
|
/* 02C8469C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C846A0 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C846A0 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C846A0 */ if (_t71) goto L_02C846A4; else goto L_02C846B0;
|
|
L_02C846A4: ; // 0x2c846a4
|
|
/* 02C846A4 */ _t72 = cpu->r[31] + 0x00000013u;
|
|
/* 02C846A4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t72);
|
|
/* 02C846A8 */ /* nop */
|
|
/* 02C846AC */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C846AC */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C846AC */ if (_t74) goto L_02C84708; else goto L_02C846B0;
|
|
L_02C846B0: ; // 0x2c846b0
|
|
/* 02C846B0 */ cpu->r[12] = 0x0000002Eu;
|
|
/* 02C846B4 */ _t75 = cpu->r[3] + 0x00000000u;
|
|
/* 02C846B4 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[12]);
|
|
/* 02C846B8 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C846BC */ goto L_02C846F8;
|
|
L_02C846C0: ; // 0x2c846c0
|
|
/* 02C846C0 */ /* nop */
|
|
/* 02C846C4 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C846C8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C846CC */ cpu->r[12] = cpu->r[6] - cpu->r[12];
|
|
/* 02C846D0 */ /* nop */
|
|
/* 02C846D4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02C846D8 */ _t76 = cpu->r[11] + cpu->r[12];
|
|
/* 02C846D8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02C846DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000020u);
|
|
/* 02C846E0 */ _t77 = cpu->r[3] + 0x00000000u;
|
|
/* 02C846E0 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[12]);
|
|
/* 02C846E4 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C846E8 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C846E8 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C846E8 */ if (_t79) goto L_02C846EC; else goto L_02C846F0;
|
|
L_02C846EC: ; // 0x2c846ec
|
|
/* 02C846EC */ cpu->r[29] = cpu->r[30];
|
|
L_02C846F0: ; // 0x2c846f0
|
|
/* 02C846F0 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFCu;
|
|
/* 02C846F4 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02C846F8: ; // 0x2c846f8
|
|
/* 02C846F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C846FC */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C846FC */ _t81 = _t80 & 0x00000001u;
|
|
/* 02C846FC */ if (_t81) goto L_02C84708; else goto L_02C84700;
|
|
L_02C84700: ; // 0x2c84700
|
|
/* 02C84700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C84704 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84704 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C84704 */ if (_t83) goto L_02C84708; else goto L_02C846C0;
|
|
L_02C84708: ; // 0x2c84708
|
|
/* 02C84708 */ _t84 = cpu->r[31] + 0x00000004u;
|
|
/* 02C84708 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C8470C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFF8300u);
|
|
/* 02C84710 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84710 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C84710 */ if (_t86) goto L_02C84718; else goto L_02C84714;
|
|
L_02C84714: ; // 0x2c84714
|
|
/* 02C84714 */ goto L_02C84750;
|
|
L_02C84718: ; // 0x2c84718
|
|
/* 02C84718 */ _t87 = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C84718 */ cpu->r[12] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02C84718 */ cpu->r[3] = _t87;
|
|
/* 02C8471C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C84720 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84720 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02C84720 */ if (_t89) goto L_02C84718; else goto L_02C84724;
|
|
L_02C84724: ; // 0x2c84724
|
|
/* 02C84724 */ _t90 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84724 */ cpu->r[12] = rbrew_read8(cpu->mem, _t90);
|
|
/* 02C84728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Eu);
|
|
/* 02C8472C */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8472C */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C8472C */ if (_t92) goto L_02C84730; else goto L_02C8473C;
|
|
L_02C84730: ; // 0x2c84730
|
|
/* 02C84730 */ _t93 = cpu->r[31] + 0x00000013u;
|
|
/* 02C84730 */ cpu->r[12] = rbrew_read8(cpu->mem, _t93);
|
|
/* 02C84734 */ /* nop */
|
|
/* 02C84738 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84738 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C84738 */ if (_t95) goto L_02C8475C; else goto L_02C8473C;
|
|
L_02C8473C: ; // 0x2c8473c
|
|
/* 02C8473C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C84740 */ goto L_02C8475C;
|
|
L_02C84744: ; // 0x2c84744
|
|
/* 02C84744 */ cpu->r[12] = 0x00000030u;
|
|
/* 02C84748 */ _t96 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84748 */ rbrew_write8(cpu->mem, _t96, (uint8_t)cpu->r[12]);
|
|
/* 02C8474C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_02C84750: ; // 0x2c84750
|
|
/* 02C84750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C84754 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C84758 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84758 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02C84758 */ if (_t98) goto L_02C8475C; else goto L_02C84744;
|
|
L_02C8475C: ; // 0x2c8475c
|
|
/* 02C8475C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C84760 */ Gambit_fn_02C83E9C(cpu);
|
|
/* 02C84764 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C84768 */ _t99 = cpu->r[31] + 0x00000013u;
|
|
/* 02C84768 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[12]);
|
|
/* 02C8476C */ cpu->r[12] = 0xFFFF8300u;
|
|
/* 02C84770 */ _t100 = cpu->r[31] + 0x00000004u;
|
|
/* 02C84770 */ rbrew_write32(cpu->mem, _t100, cpu->r[12]);
|
|
/* 02C84774 */ _t101 = cpu->r[31] + 0x0000001Du;
|
|
/* 02C84774 */ cpu->r[12] = rbrew_read8(cpu->mem, _t101);
|
|
/* 02C84778 */ cpu->r[12] = cpu->r[12] + 0x00000017u;
|
|
/* 02C8477C */ _t102 = cpu->r[31] + 0x0000001Du;
|
|
/* 02C8477C */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[12]);
|
|
L_02C84780: ; // 0x2c84780
|
|
/* 02C84780 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02C84784 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C84788 */ Gambit_fn_02C848AC(cpu);
|
|
/* 02C8478C */ goto L_02C84834;
|
|
L_02C84790: ; // 0x2c84790
|
|
/* 02C84790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000067u);
|
|
/* 02C84794 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84794 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02C84794 */ if (_t104) goto L_02C84798; else goto L_02C84824;
|
|
L_02C84798: ; // 0x2c84798
|
|
/* 02C84798 */ _t105 = cpu->r[31] + 0x00000004u;
|
|
/* 02C84798 */ cpu->r[4] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02C8479C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFF8300u);
|
|
/* 02C847A0 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C847A0 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02C847A0 */ if (_t107) goto L_02C847A4; else goto L_02C847AC;
|
|
L_02C847A4: ; // 0x2c847a4
|
|
/* 02C847A4 */ cpu->r[4] = 0x00000006u;
|
|
/* 02C847A8 */ _t108 = cpu->r[31] + 0x00000004u;
|
|
/* 02C847A8 */ rbrew_write32(cpu->mem, _t108, cpu->r[4]);
|
|
L_02C847AC: ; // 0x2c847ac
|
|
/* 02C847AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C847B0 */ _t109 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C847B0 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02C847B0 */ if (_t110) goto L_02C847BC; else goto L_02C847B4;
|
|
L_02C847B4: ; // 0x2c847b4
|
|
/* 02C847B4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C847B8 */ _t111 = cpu->r[31] + 0x00000004u;
|
|
/* 02C847B8 */ rbrew_write32(cpu->mem, _t111, cpu->r[4]);
|
|
L_02C847BC: ; // 0x2c847bc
|
|
/* 02C847BC */ _t112 = cpu->r[31] + 0x00000018u;
|
|
/* 02C847BC */ cpu->r[6] = rbrew_read8(cpu->mem, _t112);
|
|
/* 02C847C0 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C847C4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C847C8 */ cpu->r[3] = cpu->r[1] + 0x00000021u;
|
|
/* 02C847CC */ Gambit_fn_02C853BC(cpu);
|
|
/* 02C847D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFCu);
|
|
/* 02C847D4 */ _t113 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C847D4 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02C847D4 */ if (_t114) goto L_02C847D8; else goto L_02C847E4;
|
|
L_02C847D8: ; // 0x2c847d8
|
|
/* 02C847D8 */ _t115 = cpu->r[31] + 0x00000004u;
|
|
/* 02C847D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02C847DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[4]);
|
|
/* 02C847E0 */ _t116 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C847E0 */ _t117 = _t116 & 0x00000001u;
|
|
/* 02C847E0 */ if (_t117) goto L_02C847E4; else goto L_02C847F4;
|
|
L_02C847E4: ; // 0x2c847e4
|
|
/* 02C847E4 */ _t118 = cpu->r[31] + 0x00000004u;
|
|
/* 02C847E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02C847E8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C847EC */ _t119 = cpu->r[31] + 0x00000004u;
|
|
/* 02C847EC */ rbrew_write32(cpu->mem, _t119, cpu->r[12]);
|
|
/* 02C847F0 */ goto L_02C84824;
|
|
L_02C847F4: ; // 0x2c847f4
|
|
/* 02C847F4 */ _t120 = cpu->r[31] + 0x00000013u;
|
|
/* 02C847F4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t120);
|
|
/* 02C847F8 */ /* nop */
|
|
/* 02C847FC */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C847FC */ _t122 = _t121 & 0x00000001u;
|
|
/* 02C847FC */ if (_t122) goto L_02C84814; else goto L_02C84800;
|
|
L_02C84800: ; // 0x2c84800
|
|
/* 02C84800 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C84804 */ _t123 = cpu->r[12] + 0x00004630u;
|
|
/* 02C84804 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t123);
|
|
/* 02C84808 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 02C8480C */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8480C */ _t125 = _t124 & 0x00000001u;
|
|
/* 02C8480C */ if (_t125) goto L_02C84810; else goto L_02C84814;
|
|
L_02C84810: ; // 0x2c84810
|
|
/* 02C84810 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_02C84814: ; // 0x2c84814
|
|
/* 02C84814 */ cpu->r[12] = cpu->r[4] - cpu->r[3];
|
|
/* 02C84818 */ _t126 = cpu->r[31] + 0x00000004u;
|
|
/* 02C84818 */ rbrew_write32(cpu->mem, _t126, cpu->r[12]);
|
|
/* 02C8481C */ cpu->r[12] = 0x0000005Fu;
|
|
/* 02C84820 */ _t127 = cpu->r[31] + 0x0000001Du;
|
|
/* 02C84820 */ rbrew_write8(cpu->mem, _t127, (uint8_t)cpu->r[12]);
|
|
L_02C84824: ; // 0x2c84824
|
|
/* 02C84824 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C84828 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02C8482C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C84830 */ Gambit_fn_02C84134(cpu);
|
|
L_02C84834: ; // 0x2c84834
|
|
/* 02C84834 */ cpu->r[11] = cpu->r[1] + 0x00000070u;
|
|
/* 02C84838 */ Gambit_fn_02C8A4E4(cpu);
|
|
/* 02C8483C */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 02C84840 */ goto L_02C8A434;
|
|
L_02C8A434: ; // 0x2c8a434
|
|
/* 02C8A434 */ _t128 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02C8A438 */ _t129 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 02C8A43C */ _t130 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 02C8A440 */ _t131 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t132) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C8445C @ 0x2c8445c
|
|
void Gambit_fn_02C8445C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132;
|
|
|
|
L_02C8445C: ; // 0x2c8445c
|
|
/* 02C8445C */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02C8445C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8445C */ cpu->r[1] = _t0;
|
|
/* 02C84460 */ Gambit_fn_02C8A398(cpu);
|
|
/* 02C84464 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C84468 */ Gambit_fn_02C8A490(cpu);
|
|
/* 02C8446C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C84470 */ _t1 = cpu->r[31] + 0x0000001Du;
|
|
/* 02C84470 */ cpu->r[7] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C84474 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C84478 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C8447C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000061u);
|
|
/* 02C84480 */ cpu->r[12] = cpu->r[9];
|
|
/* 02C84484 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84484 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C84484 */ if (_t3) goto L_02C84488; else goto L_02C8448C;
|
|
L_02C84488: ; // 0x2c84488
|
|
/* 02C84488 */ cpu->r[12] = 0x00000020u;
|
|
L_02C8448C: ; // 0x2c8448c
|
|
/* 02C8448C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8448C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C84490 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C84490 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C84494 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C84498 */ cpu->r[11] = 0xFFE00000u;
|
|
/* 02C8449C */ _t6 = cpu->r[31] + 0x00000012u;
|
|
/* 02C8449C */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C844A0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C844A4 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C844A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02C844AC */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 02C844AC */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[10]);
|
|
/* 02C844B0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02C844B4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C844B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C844B4 */ if (_t9) goto L_02C844D8; else goto L_02C844B8;
|
|
L_02C844B8: ; // 0x2c844b8
|
|
/* 02C844B8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C844B8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C844B8 */ if (_t11) goto L_02C844D0; else goto L_02C844BC;
|
|
L_02C844BC: ; // 0x2c844bc
|
|
/* 02C844BC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C844BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C844C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C844C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C844C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C844C4 */ if (_t14) goto L_02C844C8; else goto L_02C844D0;
|
|
L_02C844C8: ; // 0x2c844c8
|
|
/* 02C844C8 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C844CC */ goto L_02C844D8;
|
|
L_02C844D0: ; // 0x2c844d0
|
|
/* 02C844D0 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C844D4 */ goto L_02C844E8;
|
|
L_02C844D8: ; // 0x2c844d8
|
|
/* 02C844D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C844DC */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C844DC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C844DC */ if (_t16) goto L_02C844E0; else goto L_02C844E8;
|
|
L_02C844E0: ; // 0x2c844e0
|
|
/* 02C844E0 */ cpu->r[10] = 0x0000002Du;
|
|
/* 02C844E4 */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 02C844E4 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[10]);
|
|
L_02C844E8: ; // 0x2c844e8
|
|
/* 02C844E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C844EC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C844EC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C844EC */ if (_t19) goto L_02C844F4; else goto L_02C844F0;
|
|
L_02C844F0: ; // 0x2c844f0
|
|
/* 02C844F0 */ cpu->r[3] = cpu->r[1] + 0x00000021u;
|
|
L_02C844F4: ; // 0x2c844f4
|
|
/* 02C844F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C844F8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C844F8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C844F8 */ if (_t21) goto L_02C8450C; else goto L_02C844FC;
|
|
L_02C844FC: ; // 0x2c844fc
|
|
/* 02C844FC */ cpu->r[10] = 0x0000006Eu - cpu->r[12];
|
|
/* 02C84500 */ cpu->r[11] = 0x00000061u - cpu->r[12];
|
|
/* 02C84504 */ cpu->r[8] = 0x0000006Eu;
|
|
/* 02C84508 */ goto L_02C84520;
|
|
L_02C8450C: ; // 0x2c8450c
|
|
/* 02C8450C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C84510 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84510 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C84510 */ if (_t23) goto L_02C84540; else goto L_02C84514;
|
|
L_02C84514: ; // 0x2c84514
|
|
/* 02C84514 */ cpu->r[10] = 0x00000069u - cpu->r[12];
|
|
/* 02C84518 */ cpu->r[8] = 0x00000066u;
|
|
/* 02C8451C */ cpu->r[11] = 0x0000006Eu - cpu->r[12];
|
|
L_02C84520: ; // 0x2c84520
|
|
/* 02C84520 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84520 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[10]);
|
|
/* 02C84524 */ cpu->r[12] = cpu->r[8] - cpu->r[12];
|
|
/* 02C84528 */ _t25 = cpu->r[3] + 0x00000001u;
|
|
/* 02C84528 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[11]);
|
|
/* 02C8452C */ _t26 = cpu->r[3] + 0x00000002u;
|
|
/* 02C8452C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[12]);
|
|
/* 02C84530 */ _t27 = cpu->r[3] + 0x00000003u;
|
|
/* 02C84530 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[9]);
|
|
/* 02C84534 */ _t28 = cpu->r[31] + 0x00000013u;
|
|
/* 02C84534 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[9]);
|
|
/* 02C84538 */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 02C84538 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02C8453C */ goto L_02C84780;
|
|
L_02C84540: ; // 0x2c84540
|
|
/* 02C84540 */ cpu->r[12] = cpu->r[7] | 0x00000020u;
|
|
/* 02C84544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000061u);
|
|
/* 02C84548 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84548 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C84548 */ if (_t31) goto L_02C8454C; else goto L_02C84790;
|
|
L_02C8454C: ; // 0x2c8454c
|
|
/* 02C8454C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02C84550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000061u);
|
|
/* 02C84554 */ cpu->r[11] = cpu->r[11] + 0xFFFFC3D8u;
|
|
/* 02C84558 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84558 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C84558 */ if (_t33) goto L_02C84560; else goto L_02C8455C;
|
|
L_02C8455C: ; // 0x2c8455c
|
|
/* 02C8455C */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
L_02C84560: ; // 0x2c84560
|
|
/* 02C84560 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02C84560 */ rbrew_write_f64(cpu->mem, _t34, cpu->f[31]);
|
|
/* 02C84564 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02C84564 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C84568 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02C84568 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C8456C */ cpu->r[29] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000000Cu, 0x0000001Fu);
|
|
/* 02C84570 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x0000000Cu, 0x00000015u, 0x0000001Fu);
|
|
/* 02C84570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C84574 */ cpu->r[12] = cpu->r[29] | cpu->r[30];
|
|
/* 02C84578 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84578 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C84578 */ if (_t38) goto L_02C84588; else goto L_02C8457C;
|
|
L_02C8457C: ; // 0x2c8457c
|
|
/* 02C8457C */ cpu->r[5] = cpu->r[5] + 0xFFFFFC01u;
|
|
/* 02C84580 */ cpu->r[29] = cpu->r[29] + 0x00100000u;
|
|
/* 02C84584 */ goto L_02C84594;
|
|
L_02C84588: ; // 0x2c84588
|
|
/* 02C84588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C8458C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8458C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C8458C */ if (_t40) goto L_02C84594; else goto L_02C84590;
|
|
L_02C84590: ; // 0x2c84590
|
|
/* 02C84590 */ cpu->r[5] = 0xFFFFFC02u;
|
|
L_02C84594: ; // 0x2c84594
|
|
/* 02C84594 */ _t41 = cpu->r[31] + 0x00000004u;
|
|
/* 02C84594 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C84598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFF8300u);
|
|
/* 02C8459C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8459C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C8459C */ if (_t43) goto L_02C845A0; else goto L_02C845A4;
|
|
L_02C845A0: ; // 0x2c845a0
|
|
/* 02C845A0 */ cpu->r[4] = 0x0000000Du;
|
|
L_02C845A4: ; // 0x2c845a4
|
|
/* 02C845A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C845A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000014u);
|
|
/* 02C845AC */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C845AC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C845AC */ if (_t45) goto L_02C845B0; else goto L_02C845C4;
|
|
L_02C845B0: ; // 0x2c845b0
|
|
/* 02C845B0 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C845B4 */ cpu->r[12] = 0x00000013u - cpu->r[12];
|
|
/* 02C845B8 */ /* nop */
|
|
/* 02C845BC */ cpu->r[29] = cpu->r[29] + cpu->r[12];
|
|
/* 02C845C0 */ goto L_02C845F0;
|
|
L_02C845C4: ; // 0x2c845c4
|
|
/* 02C845C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000034u);
|
|
/* 02C845C8 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C845C8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C845C8 */ if (_t47) goto L_02C845CC; else goto L_02C845F0;
|
|
L_02C845CC: ; // 0x2c845cc
|
|
/* 02C845CC */ cpu->r[10] = 0x00000030u - cpu->r[12];
|
|
/* 02C845D0 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C845D4 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02C845D8 */ /* nop */
|
|
/* 02C845DC */ cpu->r[30] = cpu->r[30] + cpu->r[12];
|
|
/* 02C845E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000002u, 0x00000002u);
|
|
/* 02C845E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C845E4 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C845E4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C845E4 */ if (_t49) goto L_02C845EC; else goto L_02C845E8;
|
|
L_02C845E8: ; // 0x2c845e8
|
|
/* 02C845E8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C845EC: ; // 0x2c845ec
|
|
/* 02C845EC */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C845F0: ; // 0x2c845f0
|
|
/* 02C845F0 */ cpu->r[6] = 0x00000030u;
|
|
/* 02C845F4 */ cpu->r[12] = cpu->r[7] + 0x0000000Fu;
|
|
/* 02C845F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C845FC */ cpu->r[3] = cpu->r[1] + 0x00000019u;
|
|
/* 02C84600 */ _t50 = cpu->r[1] + 0x00000018u;
|
|
/* 02C84600 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[12]);
|
|
/* 02C84604 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84604 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C84604 */ if (_t52) goto L_02C84608; else goto L_02C84618;
|
|
L_02C84608: ; // 0x2c84608
|
|
/* 02C84608 */ cpu->r[12] = 0x0000002Du;
|
|
/* 02C8460C */ cpu->r[5] = (uint32_t)(-(int32_t)cpu->r[5]);
|
|
/* 02C84610 */ _t53 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84610 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[12]);
|
|
/* 02C84614 */ goto L_02C84620;
|
|
L_02C84618: ; // 0x2c84618
|
|
/* 02C84618 */ cpu->r[12] = 0x0000002Bu;
|
|
/* 02C8461C */ _t54 = cpu->r[3] + 0x00000000u;
|
|
/* 02C8461C */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[12]);
|
|
L_02C84620: ; // 0x2c84620
|
|
/* 02C84620 */ cpu->r[8] = 0x00002710u;
|
|
/* 02C84624 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C84628 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_02C8462C: ; // 0x2c8462c
|
|
/* 02C8462C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[5] / (int32_t)cpu->r[8]);
|
|
/* 02C84630 */ cpu->r[7] = cpu->r[12] | cpu->r[10];
|
|
/* 02C84630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C84634 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84634 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C84634 */ if (_t56) goto L_02C84648; else goto L_02C84638;
|
|
L_02C84638: ; // 0x2c84638
|
|
/* 02C84638 */ _t57 = cpu->r[11] + cpu->r[12];
|
|
/* 02C84638 */ cpu->r[12] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02C8463C */ cpu->r[10] = 0x00000001u;
|
|
/* 02C84640 */ _t58 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84640 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[12]);
|
|
/* 02C84644 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_02C84648: ; // 0x2c84648
|
|
/* 02C84648 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[5] / (int32_t)cpu->r[8]);
|
|
/* 02C8464C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[8]);
|
|
/* 02C84650 */ cpu->r[5] = cpu->r[5] - cpu->r[12];
|
|
/* 02C84654 */ cpu->r[12] = 0x0000000Au;
|
|
/* 02C84658 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] / (int32_t)cpu->r[12]);
|
|
/* 02C84658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C8465C */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8465C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C8465C */ if (_t60) goto L_02C8462C; else goto L_02C84660;
|
|
L_02C84660: ; // 0x2c84660
|
|
/* 02C84660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C84664 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84664 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C84664 */ if (_t62) goto L_02C84668; else goto L_02C84674;
|
|
L_02C84668: ; // 0x2c84668
|
|
/* 02C84668 */ cpu->r[12] = 0x00000030u;
|
|
/* 02C8466C */ _t63 = cpu->r[3] + 0x00000000u;
|
|
/* 02C8466C */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[12]);
|
|
/* 02C84670 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_02C84674: ; // 0x2c84674
|
|
/* 02C84674 */ _t64 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84674 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[9]);
|
|
/* 02C84678 */ _t65 = cpu->r[1] + 0x00000020u;
|
|
/* 02C84678 */ cpu->r[12] = rbrew_read8(cpu->mem, _t65);
|
|
/* 02C8467C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84680 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02C84684 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84684 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C84684 */ if (_t67) goto L_02C8468C; else goto L_02C84688;
|
|
L_02C84688: ; // 0x2c84688
|
|
/* 02C84688 */ cpu->r[3] = cpu->r[1] + 0x00000021u;
|
|
L_02C8468C: ; // 0x2c8468c
|
|
/* 02C8468C */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x0000000Cu, 0x00000014u, 0x0000001Fu);
|
|
/* 02C84690 */ _t68 = cpu->r[11] + cpu->r[12];
|
|
/* 02C84690 */ cpu->r[12] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02C84694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C84698 */ _t69 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84698 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[12]);
|
|
/* 02C8469C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C846A0 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C846A0 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C846A0 */ if (_t71) goto L_02C846A4; else goto L_02C846B0;
|
|
L_02C846A4: ; // 0x2c846a4
|
|
/* 02C846A4 */ _t72 = cpu->r[31] + 0x00000013u;
|
|
/* 02C846A4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t72);
|
|
/* 02C846A8 */ /* nop */
|
|
/* 02C846AC */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C846AC */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C846AC */ if (_t74) goto L_02C84708; else goto L_02C846B0;
|
|
L_02C846B0: ; // 0x2c846b0
|
|
/* 02C846B0 */ cpu->r[12] = 0x0000002Eu;
|
|
/* 02C846B4 */ _t75 = cpu->r[3] + 0x00000000u;
|
|
/* 02C846B4 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[12]);
|
|
/* 02C846B8 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C846BC */ goto L_02C846F8;
|
|
L_02C846C0: ; // 0x2c846c0
|
|
/* 02C846C0 */ /* nop */
|
|
/* 02C846C4 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C846C8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C846CC */ cpu->r[12] = cpu->r[6] - cpu->r[12];
|
|
/* 02C846D0 */ /* nop */
|
|
/* 02C846D4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02C846D8 */ _t76 = cpu->r[11] + cpu->r[12];
|
|
/* 02C846D8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02C846DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000020u);
|
|
/* 02C846E0 */ _t77 = cpu->r[3] + 0x00000000u;
|
|
/* 02C846E0 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[12]);
|
|
/* 02C846E4 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C846E8 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C846E8 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C846E8 */ if (_t79) goto L_02C846EC; else goto L_02C846F0;
|
|
L_02C846EC: ; // 0x2c846ec
|
|
/* 02C846EC */ cpu->r[29] = cpu->r[30];
|
|
L_02C846F0: ; // 0x2c846f0
|
|
/* 02C846F0 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFCu;
|
|
/* 02C846F4 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02C846F8: ; // 0x2c846f8
|
|
/* 02C846F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C846FC */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C846FC */ _t81 = _t80 & 0x00000001u;
|
|
/* 02C846FC */ if (_t81) goto L_02C84708; else goto L_02C84700;
|
|
L_02C84700: ; // 0x2c84700
|
|
/* 02C84700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C84704 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84704 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C84704 */ if (_t83) goto L_02C84708; else goto L_02C846C0;
|
|
L_02C84708: ; // 0x2c84708
|
|
/* 02C84708 */ _t84 = cpu->r[31] + 0x00000004u;
|
|
/* 02C84708 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C8470C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFF8300u);
|
|
/* 02C84710 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84710 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C84710 */ if (_t86) goto L_02C84718; else goto L_02C84714;
|
|
L_02C84714: ; // 0x2c84714
|
|
/* 02C84714 */ goto L_02C84750;
|
|
L_02C84718: ; // 0x2c84718
|
|
/* 02C84718 */ _t87 = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C84718 */ cpu->r[12] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02C84718 */ cpu->r[3] = _t87;
|
|
/* 02C8471C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C84720 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84720 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02C84720 */ if (_t89) goto L_02C84718; else goto L_02C84724;
|
|
L_02C84724: ; // 0x2c84724
|
|
/* 02C84724 */ _t90 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84724 */ cpu->r[12] = rbrew_read8(cpu->mem, _t90);
|
|
/* 02C84728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Eu);
|
|
/* 02C8472C */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8472C */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C8472C */ if (_t92) goto L_02C84730; else goto L_02C8473C;
|
|
L_02C84730: ; // 0x2c84730
|
|
/* 02C84730 */ _t93 = cpu->r[31] + 0x00000013u;
|
|
/* 02C84730 */ cpu->r[12] = rbrew_read8(cpu->mem, _t93);
|
|
/* 02C84734 */ /* nop */
|
|
/* 02C84738 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84738 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C84738 */ if (_t95) goto L_02C8475C; else goto L_02C8473C;
|
|
L_02C8473C: ; // 0x2c8473c
|
|
/* 02C8473C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C84740 */ goto L_02C8475C;
|
|
L_02C84744: ; // 0x2c84744
|
|
/* 02C84744 */ cpu->r[12] = 0x00000030u;
|
|
/* 02C84748 */ _t96 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84748 */ rbrew_write8(cpu->mem, _t96, (uint8_t)cpu->r[12]);
|
|
/* 02C8474C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_02C84750: ; // 0x2c84750
|
|
/* 02C84750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C84754 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C84758 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84758 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02C84758 */ if (_t98) goto L_02C8475C; else goto L_02C84744;
|
|
L_02C8475C: ; // 0x2c8475c
|
|
/* 02C8475C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C84760 */ Gambit_fn_02C83E9C(cpu);
|
|
/* 02C84764 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C84768 */ _t99 = cpu->r[31] + 0x00000013u;
|
|
/* 02C84768 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[12]);
|
|
/* 02C8476C */ cpu->r[12] = 0xFFFF8300u;
|
|
/* 02C84770 */ _t100 = cpu->r[31] + 0x00000004u;
|
|
/* 02C84770 */ rbrew_write32(cpu->mem, _t100, cpu->r[12]);
|
|
/* 02C84774 */ _t101 = cpu->r[31] + 0x0000001Du;
|
|
/* 02C84774 */ cpu->r[12] = rbrew_read8(cpu->mem, _t101);
|
|
/* 02C84778 */ cpu->r[12] = cpu->r[12] + 0x00000017u;
|
|
/* 02C8477C */ _t102 = cpu->r[31] + 0x0000001Du;
|
|
/* 02C8477C */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[12]);
|
|
L_02C84780: ; // 0x2c84780
|
|
/* 02C84780 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02C84784 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C84788 */ Gambit_fn_02C848AC(cpu);
|
|
/* 02C8478C */ goto L_02C84834;
|
|
L_02C84790: ; // 0x2c84790
|
|
/* 02C84790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000067u);
|
|
/* 02C84794 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84794 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02C84794 */ if (_t104) goto L_02C84798; else goto L_02C84824;
|
|
L_02C84798: ; // 0x2c84798
|
|
/* 02C84798 */ _t105 = cpu->r[31] + 0x00000004u;
|
|
/* 02C84798 */ cpu->r[4] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02C8479C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFF8300u);
|
|
/* 02C847A0 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C847A0 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02C847A0 */ if (_t107) goto L_02C847A4; else goto L_02C847AC;
|
|
L_02C847A4: ; // 0x2c847a4
|
|
/* 02C847A4 */ cpu->r[4] = 0x00000006u;
|
|
/* 02C847A8 */ _t108 = cpu->r[31] + 0x00000004u;
|
|
/* 02C847A8 */ rbrew_write32(cpu->mem, _t108, cpu->r[4]);
|
|
L_02C847AC: ; // 0x2c847ac
|
|
/* 02C847AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C847B0 */ _t109 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C847B0 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02C847B0 */ if (_t110) goto L_02C847BC; else goto L_02C847B4;
|
|
L_02C847B4: ; // 0x2c847b4
|
|
/* 02C847B4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C847B8 */ _t111 = cpu->r[31] + 0x00000004u;
|
|
/* 02C847B8 */ rbrew_write32(cpu->mem, _t111, cpu->r[4]);
|
|
L_02C847BC: ; // 0x2c847bc
|
|
/* 02C847BC */ _t112 = cpu->r[31] + 0x00000018u;
|
|
/* 02C847BC */ cpu->r[6] = rbrew_read8(cpu->mem, _t112);
|
|
/* 02C847C0 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C847C4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C847C8 */ cpu->r[3] = cpu->r[1] + 0x00000021u;
|
|
/* 02C847CC */ Gambit_fn_02C853BC(cpu);
|
|
/* 02C847D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFCu);
|
|
/* 02C847D4 */ _t113 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C847D4 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02C847D4 */ if (_t114) goto L_02C847D8; else goto L_02C847E4;
|
|
L_02C847D8: ; // 0x2c847d8
|
|
/* 02C847D8 */ _t115 = cpu->r[31] + 0x00000004u;
|
|
/* 02C847D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02C847DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[4]);
|
|
/* 02C847E0 */ _t116 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C847E0 */ _t117 = _t116 & 0x00000001u;
|
|
/* 02C847E0 */ if (_t117) goto L_02C847E4; else goto L_02C847F4;
|
|
L_02C847E4: ; // 0x2c847e4
|
|
/* 02C847E4 */ _t118 = cpu->r[31] + 0x00000004u;
|
|
/* 02C847E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02C847E8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C847EC */ _t119 = cpu->r[31] + 0x00000004u;
|
|
/* 02C847EC */ rbrew_write32(cpu->mem, _t119, cpu->r[12]);
|
|
/* 02C847F0 */ goto L_02C84824;
|
|
L_02C847F4: ; // 0x2c847f4
|
|
/* 02C847F4 */ _t120 = cpu->r[31] + 0x00000013u;
|
|
/* 02C847F4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t120);
|
|
/* 02C847F8 */ /* nop */
|
|
/* 02C847FC */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C847FC */ _t122 = _t121 & 0x00000001u;
|
|
/* 02C847FC */ if (_t122) goto L_02C84814; else goto L_02C84800;
|
|
L_02C84800: ; // 0x2c84800
|
|
/* 02C84800 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C84804 */ _t123 = cpu->r[12] + 0x00004630u;
|
|
/* 02C84804 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t123);
|
|
/* 02C84808 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 02C8480C */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8480C */ _t125 = _t124 & 0x00000001u;
|
|
/* 02C8480C */ if (_t125) goto L_02C84810; else goto L_02C84814;
|
|
L_02C84810: ; // 0x2c84810
|
|
/* 02C84810 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_02C84814: ; // 0x2c84814
|
|
/* 02C84814 */ cpu->r[12] = cpu->r[4] - cpu->r[3];
|
|
/* 02C84818 */ _t126 = cpu->r[31] + 0x00000004u;
|
|
/* 02C84818 */ rbrew_write32(cpu->mem, _t126, cpu->r[12]);
|
|
/* 02C8481C */ cpu->r[12] = 0x0000005Fu;
|
|
/* 02C84820 */ _t127 = cpu->r[31] + 0x0000001Du;
|
|
/* 02C84820 */ rbrew_write8(cpu->mem, _t127, (uint8_t)cpu->r[12]);
|
|
L_02C84824: ; // 0x2c84824
|
|
/* 02C84824 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C84828 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02C8482C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C84830 */ Gambit_fn_02C84134(cpu);
|
|
L_02C84834: ; // 0x2c84834
|
|
/* 02C84834 */ cpu->r[11] = cpu->r[1] + 0x00000070u;
|
|
/* 02C84838 */ Gambit_fn_02C8A4E4(cpu);
|
|
/* 02C8483C */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 02C84840 */ goto L_02C8A434;
|
|
L_02C8A434: ; // 0x2c8a434
|
|
/* 02C8A434 */ _t128 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02C8A438 */ _t129 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 02C8A43C */ _t130 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 02C8A440 */ _t131 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t132) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C84844 @ 0x2c84844
|
|
void Gambit_fn_02C84844(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C84844: ; // 0x2c84844
|
|
/* 02C84844 */ goto L_02C84864;
|
|
L_02C84848: ; // 0x2c84848
|
|
/* 02C84848 */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C8484C */ cpu->r[12] = cpu->r[3] / cpu->r[11];
|
|
/* 02C84850 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Au);
|
|
/* 02C84854 */ cpu->r[12] = cpu->r[3] - cpu->r[12];
|
|
/* 02C84858 */ cpu->r[12] = cpu->r[12] + 0x00000030u;
|
|
/* 02C8485C */ cpu->r[3] = cpu->r[3] / cpu->r[11];
|
|
/* 02C84860 */ _t0 = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C84860 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[12]);
|
|
/* 02C84860 */ cpu->r[4] = _t0;
|
|
L_02C84864: ; // 0x2c84864
|
|
/* 02C84864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C84868 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84868 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C84868 */ if (_t2) goto L_02C8486C; else goto L_02C84848;
|
|
L_02C8486C: ; // 0x2c8486c
|
|
/* 02C8486C */ cpu->r[3] = cpu->r[4];
|
|
/* 02C84870 */ return;
|
|
}
|
|
|
|
// fn_02C84874 @ 0x2c84874
|
|
void Gambit_fn_02C84874(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C84874: ; // 0x2c84874
|
|
/* 02C84874 */ cpu->r[0] = cpu->lr;
|
|
/* 02C84878 */ Gambit_fn_02C8A124(cpu);
|
|
/* 02C8487C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C84880 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C84884 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C84888 */ goto L_02C8489C;
|
|
L_02C8488C: ; // 0x2c8488c
|
|
/* 02C8488C */ cpu->ctr = cpu->r[31];
|
|
/* 02C84890 */ cpu->r[3] = 0x00000020u;
|
|
/* 02C84894 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C84898 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C8489C: ; // 0x2c8489c
|
|
/* 02C8489C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C848A0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C848A4 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C848A4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C848A4 */ if (_t1) goto L_02C8488C; else goto L_02C848A8;
|
|
L_02C848A8: ; // 0x2c848a8
|
|
/* 02C848A8 */ goto L_02C8A138;
|
|
L_02C8A138: ; // 0x2c8a138
|
|
/* 02C8A138 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8A138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C8A13C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A140 */ /* nop */
|
|
/* 02C8A144 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C8A148 */ return;
|
|
}
|
|
|
|
// fn_02C848AC @ 0x2c848ac
|
|
void Gambit_fn_02C848AC(CPUState* 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;
|
|
|
|
L_02C848AC: ; // 0x2c848ac
|
|
/* 02C848AC */ cpu->r[0] = cpu->lr;
|
|
/* 02C848B0 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C848B4 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C848B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C848B4 */ cpu->r[1] = _t0;
|
|
/* 02C848B8 */ Gambit_fn_02C8A50C(cpu);
|
|
/* 02C848BC */ cpu->r[21] = 0x00000000u;
|
|
/* 02C848C0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C848C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C848C4 */ cpu->r[20] = cpu->r[3];
|
|
/* 02C848C8 */ cpu->r[26] = cpu->r[21];
|
|
/* 02C848CC */ cpu->r[27] = cpu->r[21];
|
|
/* 02C848D0 */ _t1 = cpu->r[20] + 0x00000016u;
|
|
/* 02C848D0 */ cpu->r[28] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C848D4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C848D4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C848D4 */ if (_t3) goto L_02C848D8; else goto L_02C848E0;
|
|
L_02C848D8: ; // 0x2c848d8
|
|
/* 02C848D8 */ cpu->r[31] = 0x101B0000u;
|
|
/* 02C848DC */ cpu->r[31] = cpu->r[31] + 0x00004638u;
|
|
L_02C848E0: ; // 0x2c848e0
|
|
/* 02C848E0 */ _t4 = cpu->r[20] + 0x00000004u;
|
|
/* 02C848E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C848E4 */ _t5 = cpu->r[20] + 0x00000000u;
|
|
/* 02C848E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C848E8 */ _t6 = cpu->r[20] + 0x00000015u;
|
|
/* 02C848E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C848EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C848F0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C848F0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C848F0 */ if (_t8) goto L_02C84900; else goto L_02C848F4;
|
|
L_02C848F4: ; // 0x2c848f4
|
|
/* 02C848F4 */ cpu->r[25] = 0x00000001u;
|
|
/* 02C848F8 */ cpu->r[19] = cpu->r[31] + 0x00000001u;
|
|
/* 02C848FC */ goto L_02C84A08;
|
|
L_02C84900: ; // 0x2c84900
|
|
/* 02C84900 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C84904 */ Gambit_fn_02C83E84(cpu);
|
|
/* 02C84908 */ _t9 = cpu->r[20] + 0x00000014u;
|
|
/* 02C84908 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C8490C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84910 */ cpu->r[25] = cpu->r[3];
|
|
/* 02C84914 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84914 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C84914 */ if (_t11) goto L_02C8496C; else goto L_02C84918;
|
|
L_02C84918: ; // 0x2c84918
|
|
/* 02C84918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C8491C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8491C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C8491C */ if (_t13) goto L_02C84958; else goto L_02C84920;
|
|
L_02C84920: ; // 0x2c84920
|
|
/* 02C84920 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C84924 */ cpu->r[24] = cpu->r[31];
|
|
L_02C84928: ; // 0x2c84928
|
|
/* 02C84928 */ _t14 = cpu->r[24] + 0x00000000u;
|
|
/* 02C84928 */ cpu->r[12] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C8492C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84930 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84930 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C84930 */ if (_t16) goto L_02C84964; else goto L_02C84934;
|
|
L_02C84934: ; // 0x2c84934
|
|
/* 02C84934 */ _t17 = cpu->r[24] + 0x00000000u;
|
|
/* 02C84934 */ cpu->r[4] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C84938 */ cpu->r[3] = cpu->r[1] + 0x0000000Eu;
|
|
/* 02C8493C */ cpu->r[24] = cpu->r[24] + 0x00000002u;
|
|
/* 02C84940 */ Gambit_fn_02C89588(cpu);
|
|
/* 02C84944 */ cpu->r[12] = cpu->r[25] + cpu->r[3];
|
|
/* 02C84948 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02C8494C */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8494C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C8494C */ if (_t19) goto L_02C84964; else goto L_02C84950;
|
|
L_02C84950: ; // 0x2c84950
|
|
/* 02C84950 */ cpu->r[25] = cpu->r[12];
|
|
/* 02C84954 */ goto L_02C84928;
|
|
L_02C84958: ; // 0x2c84958
|
|
/* 02C84958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[25]);
|
|
/* 02C8495C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8495C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C8495C */ if (_t21) goto L_02C84960; else goto L_02C84964;
|
|
L_02C84960: ; // 0x2c84960
|
|
/* 02C84960 */ cpu->r[25] = cpu->r[30];
|
|
L_02C84964: ; // 0x2c84964
|
|
/* 02C84964 */ cpu->r[19] = cpu->r[31] + cpu->r[25];
|
|
/* 02C84968 */ goto L_02C84A08;
|
|
L_02C8496C: ; // 0x2c8496c
|
|
/* 02C8496C */ cpu->r[28] = cpu->r[12];
|
|
/* 02C84970 */ _t22 = cpu->r[20] + 0x00000013u;
|
|
/* 02C84970 */ cpu->r[12] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C84974 */ /* nop */
|
|
/* 02C84978 */ cpu->r[19] = cpu->r[31] + cpu->r[25];
|
|
/* 02C8497C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8497C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C8497C */ if (_t24) goto L_02C849A0; else goto L_02C84980;
|
|
L_02C84980: ; // 0x2c84980
|
|
/* 02C84980 */ _t25 = cpu->r[20] + 0x0000001Du;
|
|
/* 02C84980 */ cpu->r[12] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02C84984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Fu);
|
|
/* 02C84988 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84988 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C84988 */ if (_t27) goto L_02C8498C; else goto L_02C8499C;
|
|
L_02C8498C: ; // 0x2c8498c
|
|
/* 02C8498C */ cpu->r[12] = 0x00000030u;
|
|
/* 02C84990 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C84994 */ _t28 = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C84994 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[12]);
|
|
/* 02C84994 */ cpu->r[31] = _t28;
|
|
/* 02C84998 */ goto L_02C849A0;
|
|
L_02C8499C: ; // 0x2c8499c
|
|
/* 02C8499C */ cpu->r[26] = 0x00000002u;
|
|
L_02C849A0: ; // 0x2c849a0
|
|
/* 02C849A0 */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 02C849A0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02C849A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Du);
|
|
/* 02C849A8 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C849A8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C849A8 */ if (_t31) goto L_02C849BC; else goto L_02C849AC;
|
|
L_02C849AC: ; // 0x2c849ac
|
|
/* 02C849AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Bu);
|
|
/* 02C849B0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C849B0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C849B0 */ if (_t33) goto L_02C849BC; else goto L_02C849B4;
|
|
L_02C849B4: ; // 0x2c849b4
|
|
/* 02C849B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u);
|
|
/* 02C849B8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C849B8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C849B8 */ if (_t35) goto L_02C849BC; else goto L_02C849C4;
|
|
L_02C849BC: ; // 0x2c849bc
|
|
/* 02C849BC */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C849C0 */ cpu->r[27] = 0x00000001u;
|
|
L_02C849C4: ; // 0x2c849c4
|
|
/* 02C849C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0xFFFF8300u);
|
|
/* 02C849C8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C849C8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C849C8 */ if (_t37) goto L_02C849CC; else goto L_02C849D4;
|
|
L_02C849CC: ; // 0x2c849cc
|
|
/* 02C849CC */ cpu->r[30] = 0x00000001u;
|
|
/* 02C849D0 */ goto L_02C849F0;
|
|
L_02C849D4: ; // 0x2c849d4
|
|
/* 02C849D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C849D8 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C849D8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C849D8 */ if (_t39) goto L_02C849DC; else goto L_02C849E8;
|
|
L_02C849DC: ; // 0x2c849dc
|
|
/* 02C849DC */ cpu->r[21] = (uint32_t)(-(int32_t)cpu->r[30]);
|
|
/* 02C849E0 */ cpu->r[26] = cpu->r[21] + 0x00000002u;
|
|
/* 02C849E4 */ goto L_02C849F0;
|
|
L_02C849E8: ; // 0x2c849e8
|
|
/* 02C849E8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C849EC */ _t40 = cpu->r[20] + 0x00000010u;
|
|
/* 02C849EC */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[12]);
|
|
L_02C849F0: ; // 0x2c849f0
|
|
/* 02C849F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[30]);
|
|
/* 02C849F4 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C849F4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C849F4 */ if (_t42) goto L_02C849F8; else goto L_02C84A00;
|
|
L_02C849F8: ; // 0x2c849f8
|
|
/* 02C849F8 */ cpu->r[21] = cpu->r[30] - cpu->r[25];
|
|
/* 02C849FC */ cpu->r[25] = cpu->r[30];
|
|
L_02C84A00: ; // 0x2c84a00
|
|
/* 02C84A00 */ cpu->r[12] = cpu->r[26] + cpu->r[27];
|
|
/* 02C84A04 */ cpu->r[25] = cpu->r[25] + cpu->r[12];
|
|
L_02C84A08: ; // 0x2c84a08
|
|
/* 02C84A08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[25]);
|
|
/* 02C84A0C */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84A0C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C84A0C */ if (_t44) goto L_02C84A10; else goto L_02C84A14;
|
|
L_02C84A10: ; // 0x2c84a10
|
|
/* 02C84A10 */ cpu->r[29] = cpu->r[25];
|
|
L_02C84A14: ; // 0x2c84a14
|
|
/* 02C84A14 */ _t45 = cpu->r[20] + 0x00000011u;
|
|
/* 02C84A14 */ cpu->r[12] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02C84A18 */ cpu->r[5] = cpu->r[29] - cpu->r[25];
|
|
/* 02C84A1C */ cpu->r[30] = 0x00000000u;
|
|
/* 02C84A20 */ _t46 = cpu->r[20] + 0x0000000Cu;
|
|
/* 02C84A20 */ cpu->r[24] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C84A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84A28 */ cpu->r[22] = cpu->r[30];
|
|
/* 02C84A2C */ _t47 = cpu->r[20] + 0x00000008u;
|
|
/* 02C84A2C */ cpu->r[23] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C84A30 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84A30 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C84A30 */ if (_t49) goto L_02C84A3C; else goto L_02C84A34;
|
|
L_02C84A34: ; // 0x2c84a34
|
|
/* 02C84A34 */ cpu->r[22] = cpu->r[5];
|
|
/* 02C84A38 */ goto L_02C84A6C;
|
|
L_02C84A3C: ; // 0x2c84a3c
|
|
/* 02C84A3C */ _t50 = cpu->r[20] + 0x00000010u;
|
|
/* 02C84A3C */ cpu->r[12] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02C84A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84A44 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84A44 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C84A44 */ if (_t52) goto L_02C84A60; else goto L_02C84A48;
|
|
L_02C84A48: ; // 0x2c84a48
|
|
/* 02C84A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000002u);
|
|
/* 02C84A4C */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84A4C */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C84A4C */ if (_t54) goto L_02C84A50; else goto L_02C84A58;
|
|
L_02C84A50: ; // 0x2c84a50
|
|
/* 02C84A50 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C84A54 */ goto L_02C84A6C;
|
|
L_02C84A58: ; // 0x2c84a58
|
|
/* 02C84A58 */ cpu->r[21] = cpu->r[21] + cpu->r[5];
|
|
/* 02C84A5C */ goto L_02C84A6C;
|
|
L_02C84A60: ; // 0x2c84a60
|
|
/* 02C84A60 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84A64 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C84A68 */ Gambit_fn_02C84874(cpu);
|
|
L_02C84A6C: ; // 0x2c84a6c
|
|
/* 02C84A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C84A70 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84A70 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C84A70 */ if (_t56) goto L_02C84A88; else goto L_02C84A74;
|
|
L_02C84A74: ; // 0x2c84a74
|
|
/* 02C84A74 */ cpu->ctr = cpu->r[24];
|
|
/* 02C84A78 */ _t57 = cpu->r[31] + 0x00000000u;
|
|
/* 02C84A78 */ cpu->r[3] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02C84A7C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C84A80 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84A84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C84A88: ; // 0x2c84a88
|
|
/* 02C84A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000002u);
|
|
/* 02C84A8C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84A8C */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C84A8C */ if (_t59) goto L_02C84AC8; else goto L_02C84A90;
|
|
L_02C84A90: ; // 0x2c84a90
|
|
/* 02C84A90 */ goto L_02C84A9C;
|
|
L_02C84A94: ; // 0x2c84a94
|
|
/* 02C84A94 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C84A98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C84A9C: ; // 0x2c84a9c
|
|
/* 02C84A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C84AA0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C84AA4 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84AA8 */ cpu->ctr = cpu->r[24];
|
|
/* 02C84AAC */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84AAC */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C84AAC */ if (_t61) goto L_02C84AB0; else goto L_02C84A94;
|
|
L_02C84AB0: ; // 0x2c84ab0
|
|
/* 02C84AB0 */ _t62 = cpu->r[20] + 0x0000001Du;
|
|
/* 02C84AB0 */ cpu->r[3] = rbrew_read8(cpu->mem, _t62);
|
|
/* 02C84AB4 */ goto L_02C84AC4;
|
|
L_02C84AB8: ; // 0x2c84ab8
|
|
/* 02C84AB8 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84ABC */ cpu->r[3] = 0x00000030u;
|
|
/* 02C84AC0 */ cpu->ctr = cpu->r[24];
|
|
L_02C84AC4: ; // 0x2c84ac4
|
|
/* 02C84AC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C84AC8: ; // 0x2c84ac8
|
|
/* 02C84AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C84ACC */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 02C84AD0 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84AD0 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C84AD0 */ if (_t64) goto L_02C84AB8; else goto L_02C84AD4;
|
|
L_02C84AD4: ; // 0x2c84ad4
|
|
/* 02C84AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C84AD8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84AD8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C84AD8 */ if (_t66) goto L_02C84B4C; else goto L_02C84ADC;
|
|
L_02C84ADC: ; // 0x2c84adc
|
|
/* 02C84ADC */ goto L_02C84B28;
|
|
L_02C84AE0: ; // 0x2c84ae0
|
|
/* 02C84AE0 */ _t67 = cpu->r[31] + 0x00000000u;
|
|
/* 02C84AE0 */ cpu->r[4] = rbrew_read16(cpu->mem, _t67);
|
|
/* 02C84AE4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C84AE8 */ cpu->r[31] = cpu->r[31] + 0x00000002u;
|
|
/* 02C84AEC */ Gambit_fn_02C89588(cpu);
|
|
/* 02C84AF0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C84AF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[25]);
|
|
/* 02C84AF8 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84AF8 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C84AF8 */ if (_t69) goto L_02C84B54; else goto L_02C84AFC;
|
|
L_02C84AFC: ; // 0x2c84afc
|
|
/* 02C84AFC */ cpu->r[25] = cpu->r[25] - cpu->r[30];
|
|
/* 02C84B00 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C84B04 */ goto L_02C84B20;
|
|
L_02C84B08: ; // 0x2c84b08
|
|
/* 02C84B08 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C84B0C */ cpu->ctr = cpu->r[24];
|
|
/* 02C84B10 */ _t70 = cpu->r[12] + cpu->r[28];
|
|
/* 02C84B10 */ cpu->r[3] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02C84B14 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84B18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C84B1C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
L_02C84B20: ; // 0x2c84b20
|
|
/* 02C84B20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02C84B24 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84B24 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C84B24 */ if (_t72) goto L_02C84B08; else goto L_02C84B28;
|
|
L_02C84B28: ; // 0x2c84b28
|
|
/* 02C84B28 */ _t73 = cpu->r[31] + 0x00000000u;
|
|
/* 02C84B28 */ cpu->r[12] = rbrew_read16(cpu->mem, _t73);
|
|
/* 02C84B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84B30 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84B30 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C84B30 */ if (_t75) goto L_02C84B34; else goto L_02C84AE0;
|
|
L_02C84B34: ; // 0x2c84b34
|
|
/* 02C84B34 */ goto L_02C84B54;
|
|
L_02C84B38: ; // 0x2c84b38
|
|
/* 02C84B38 */ cpu->ctr = cpu->r[24];
|
|
/* 02C84B3C */ _t76 = cpu->r[31] + 0x00000000u;
|
|
/* 02C84B3C */ cpu->r[3] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02C84B40 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C84B44 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84B48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C84B4C: ; // 0x2c84b4c
|
|
/* 02C84B4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[19]);
|
|
/* 02C84B50 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84B50 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02C84B50 */ if (_t78) goto L_02C84B38; else goto L_02C84B54;
|
|
L_02C84B54: ; // 0x2c84b54
|
|
/* 02C84B54 */ cpu->r[5] = cpu->r[22];
|
|
/* 02C84B58 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84B5C */ cpu->r[3] = cpu->r[24];
|
|
/* 02C84B60 */ Gambit_fn_02C84874(cpu);
|
|
/* 02C84B64 */ cpu->r[11] = cpu->r[1] + 0x00000048u;
|
|
/* 02C84B68 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C84B6C */ goto L_02C8A564;
|
|
L_02C8A564: ; // 0x2c8a564
|
|
/* 02C8A564 */ _t79 = cpu->r[11] + 0xFFFFFFCCu;
|
|
/* 02C8A564 */ cpu->r[19] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C8A568 */ _t80 = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C8A568 */ cpu->r[20] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C8A56C */ _t81 = cpu->r[11] + 0xFFFFFFD4u;
|
|
/* 02C8A56C */ cpu->r[21] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C8A570 */ _t82 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A570 */ cpu->r[22] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C8A574 */ _t83 = cpu->r[11] + 0xFFFFFFDCu;
|
|
/* 02C8A574 */ cpu->r[23] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C8A578 */ _t84 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A578 */ cpu->r[24] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C8A57C */ _t85 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C8A580 */ _t86 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C8A584 */ _t87 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C8A588 */ _t88 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C8A58C */ _t89 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C8A590 */ _t90 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C8A594 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C8A598 */ _t92 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C848B4 @ 0x2c848b4
|
|
void Gambit_fn_02C848B4(CPUState* 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;
|
|
|
|
L_02C848B4: ; // 0x2c848b4
|
|
/* 02C848B4 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C848B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C848B4 */ cpu->r[1] = _t0;
|
|
/* 02C848B8 */ Gambit_fn_02C8A50C(cpu);
|
|
/* 02C848BC */ cpu->r[21] = 0x00000000u;
|
|
/* 02C848C0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C848C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C848C4 */ cpu->r[20] = cpu->r[3];
|
|
/* 02C848C8 */ cpu->r[26] = cpu->r[21];
|
|
/* 02C848CC */ cpu->r[27] = cpu->r[21];
|
|
/* 02C848D0 */ _t1 = cpu->r[20] + 0x00000016u;
|
|
/* 02C848D0 */ cpu->r[28] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C848D4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C848D4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C848D4 */ if (_t3) goto L_02C848D8; else goto L_02C848E0;
|
|
L_02C848D8: ; // 0x2c848d8
|
|
/* 02C848D8 */ cpu->r[31] = 0x101B0000u;
|
|
/* 02C848DC */ cpu->r[31] = cpu->r[31] + 0x00004638u;
|
|
L_02C848E0: ; // 0x2c848e0
|
|
/* 02C848E0 */ _t4 = cpu->r[20] + 0x00000004u;
|
|
/* 02C848E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C848E4 */ _t5 = cpu->r[20] + 0x00000000u;
|
|
/* 02C848E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C848E8 */ _t6 = cpu->r[20] + 0x00000015u;
|
|
/* 02C848E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C848EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C848F0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C848F0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C848F0 */ if (_t8) goto L_02C84900; else goto L_02C848F4;
|
|
L_02C848F4: ; // 0x2c848f4
|
|
/* 02C848F4 */ cpu->r[25] = 0x00000001u;
|
|
/* 02C848F8 */ cpu->r[19] = cpu->r[31] + 0x00000001u;
|
|
/* 02C848FC */ goto L_02C84A08;
|
|
L_02C84900: ; // 0x2c84900
|
|
/* 02C84900 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C84904 */ Gambit_fn_02C83E84(cpu);
|
|
/* 02C84908 */ _t9 = cpu->r[20] + 0x00000014u;
|
|
/* 02C84908 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C8490C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84910 */ cpu->r[25] = cpu->r[3];
|
|
/* 02C84914 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84914 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C84914 */ if (_t11) goto L_02C8496C; else goto L_02C84918;
|
|
L_02C84918: ; // 0x2c84918
|
|
/* 02C84918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C8491C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8491C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C8491C */ if (_t13) goto L_02C84958; else goto L_02C84920;
|
|
L_02C84920: ; // 0x2c84920
|
|
/* 02C84920 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C84924 */ cpu->r[24] = cpu->r[31];
|
|
L_02C84928: ; // 0x2c84928
|
|
/* 02C84928 */ _t14 = cpu->r[24] + 0x00000000u;
|
|
/* 02C84928 */ cpu->r[12] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C8492C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84930 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84930 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C84930 */ if (_t16) goto L_02C84964; else goto L_02C84934;
|
|
L_02C84934: ; // 0x2c84934
|
|
/* 02C84934 */ _t17 = cpu->r[24] + 0x00000000u;
|
|
/* 02C84934 */ cpu->r[4] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C84938 */ cpu->r[3] = cpu->r[1] + 0x0000000Eu;
|
|
/* 02C8493C */ cpu->r[24] = cpu->r[24] + 0x00000002u;
|
|
/* 02C84940 */ Gambit_fn_02C89588(cpu);
|
|
/* 02C84944 */ cpu->r[12] = cpu->r[25] + cpu->r[3];
|
|
/* 02C84948 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02C8494C */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8494C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C8494C */ if (_t19) goto L_02C84964; else goto L_02C84950;
|
|
L_02C84950: ; // 0x2c84950
|
|
/* 02C84950 */ cpu->r[25] = cpu->r[12];
|
|
/* 02C84954 */ goto L_02C84928;
|
|
L_02C84958: ; // 0x2c84958
|
|
/* 02C84958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[25]);
|
|
/* 02C8495C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8495C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C8495C */ if (_t21) goto L_02C84960; else goto L_02C84964;
|
|
L_02C84960: ; // 0x2c84960
|
|
/* 02C84960 */ cpu->r[25] = cpu->r[30];
|
|
L_02C84964: ; // 0x2c84964
|
|
/* 02C84964 */ cpu->r[19] = cpu->r[31] + cpu->r[25];
|
|
/* 02C84968 */ goto L_02C84A08;
|
|
L_02C8496C: ; // 0x2c8496c
|
|
/* 02C8496C */ cpu->r[28] = cpu->r[12];
|
|
/* 02C84970 */ _t22 = cpu->r[20] + 0x00000013u;
|
|
/* 02C84970 */ cpu->r[12] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C84974 */ /* nop */
|
|
/* 02C84978 */ cpu->r[19] = cpu->r[31] + cpu->r[25];
|
|
/* 02C8497C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8497C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C8497C */ if (_t24) goto L_02C849A0; else goto L_02C84980;
|
|
L_02C84980: ; // 0x2c84980
|
|
/* 02C84980 */ _t25 = cpu->r[20] + 0x0000001Du;
|
|
/* 02C84980 */ cpu->r[12] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02C84984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Fu);
|
|
/* 02C84988 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84988 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C84988 */ if (_t27) goto L_02C8498C; else goto L_02C8499C;
|
|
L_02C8498C: ; // 0x2c8498c
|
|
/* 02C8498C */ cpu->r[12] = 0x00000030u;
|
|
/* 02C84990 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C84994 */ _t28 = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C84994 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[12]);
|
|
/* 02C84994 */ cpu->r[31] = _t28;
|
|
/* 02C84998 */ goto L_02C849A0;
|
|
L_02C8499C: ; // 0x2c8499c
|
|
/* 02C8499C */ cpu->r[26] = 0x00000002u;
|
|
L_02C849A0: ; // 0x2c849a0
|
|
/* 02C849A0 */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 02C849A0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02C849A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Du);
|
|
/* 02C849A8 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C849A8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C849A8 */ if (_t31) goto L_02C849BC; else goto L_02C849AC;
|
|
L_02C849AC: ; // 0x2c849ac
|
|
/* 02C849AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Bu);
|
|
/* 02C849B0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C849B0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C849B0 */ if (_t33) goto L_02C849BC; else goto L_02C849B4;
|
|
L_02C849B4: ; // 0x2c849b4
|
|
/* 02C849B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u);
|
|
/* 02C849B8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C849B8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C849B8 */ if (_t35) goto L_02C849BC; else goto L_02C849C4;
|
|
L_02C849BC: ; // 0x2c849bc
|
|
/* 02C849BC */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C849C0 */ cpu->r[27] = 0x00000001u;
|
|
L_02C849C4: ; // 0x2c849c4
|
|
/* 02C849C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0xFFFF8300u);
|
|
/* 02C849C8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C849C8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C849C8 */ if (_t37) goto L_02C849CC; else goto L_02C849D4;
|
|
L_02C849CC: ; // 0x2c849cc
|
|
/* 02C849CC */ cpu->r[30] = 0x00000001u;
|
|
/* 02C849D0 */ goto L_02C849F0;
|
|
L_02C849D4: ; // 0x2c849d4
|
|
/* 02C849D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C849D8 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C849D8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C849D8 */ if (_t39) goto L_02C849DC; else goto L_02C849E8;
|
|
L_02C849DC: ; // 0x2c849dc
|
|
/* 02C849DC */ cpu->r[21] = (uint32_t)(-(int32_t)cpu->r[30]);
|
|
/* 02C849E0 */ cpu->r[26] = cpu->r[21] + 0x00000002u;
|
|
/* 02C849E4 */ goto L_02C849F0;
|
|
L_02C849E8: ; // 0x2c849e8
|
|
/* 02C849E8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C849EC */ _t40 = cpu->r[20] + 0x00000010u;
|
|
/* 02C849EC */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[12]);
|
|
L_02C849F0: ; // 0x2c849f0
|
|
/* 02C849F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[30]);
|
|
/* 02C849F4 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C849F4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C849F4 */ if (_t42) goto L_02C849F8; else goto L_02C84A00;
|
|
L_02C849F8: ; // 0x2c849f8
|
|
/* 02C849F8 */ cpu->r[21] = cpu->r[30] - cpu->r[25];
|
|
/* 02C849FC */ cpu->r[25] = cpu->r[30];
|
|
L_02C84A00: ; // 0x2c84a00
|
|
/* 02C84A00 */ cpu->r[12] = cpu->r[26] + cpu->r[27];
|
|
/* 02C84A04 */ cpu->r[25] = cpu->r[25] + cpu->r[12];
|
|
L_02C84A08: ; // 0x2c84a08
|
|
/* 02C84A08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[25]);
|
|
/* 02C84A0C */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84A0C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C84A0C */ if (_t44) goto L_02C84A10; else goto L_02C84A14;
|
|
L_02C84A10: ; // 0x2c84a10
|
|
/* 02C84A10 */ cpu->r[29] = cpu->r[25];
|
|
L_02C84A14: ; // 0x2c84a14
|
|
/* 02C84A14 */ _t45 = cpu->r[20] + 0x00000011u;
|
|
/* 02C84A14 */ cpu->r[12] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02C84A18 */ cpu->r[5] = cpu->r[29] - cpu->r[25];
|
|
/* 02C84A1C */ cpu->r[30] = 0x00000000u;
|
|
/* 02C84A20 */ _t46 = cpu->r[20] + 0x0000000Cu;
|
|
/* 02C84A20 */ cpu->r[24] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C84A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84A28 */ cpu->r[22] = cpu->r[30];
|
|
/* 02C84A2C */ _t47 = cpu->r[20] + 0x00000008u;
|
|
/* 02C84A2C */ cpu->r[23] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C84A30 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84A30 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C84A30 */ if (_t49) goto L_02C84A3C; else goto L_02C84A34;
|
|
L_02C84A34: ; // 0x2c84a34
|
|
/* 02C84A34 */ cpu->r[22] = cpu->r[5];
|
|
/* 02C84A38 */ goto L_02C84A6C;
|
|
L_02C84A3C: ; // 0x2c84a3c
|
|
/* 02C84A3C */ _t50 = cpu->r[20] + 0x00000010u;
|
|
/* 02C84A3C */ cpu->r[12] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02C84A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84A44 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84A44 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C84A44 */ if (_t52) goto L_02C84A60; else goto L_02C84A48;
|
|
L_02C84A48: ; // 0x2c84a48
|
|
/* 02C84A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000002u);
|
|
/* 02C84A4C */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84A4C */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C84A4C */ if (_t54) goto L_02C84A50; else goto L_02C84A58;
|
|
L_02C84A50: ; // 0x2c84a50
|
|
/* 02C84A50 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C84A54 */ goto L_02C84A6C;
|
|
L_02C84A58: ; // 0x2c84a58
|
|
/* 02C84A58 */ cpu->r[21] = cpu->r[21] + cpu->r[5];
|
|
/* 02C84A5C */ goto L_02C84A6C;
|
|
L_02C84A60: ; // 0x2c84a60
|
|
/* 02C84A60 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84A64 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C84A68 */ Gambit_fn_02C84874(cpu);
|
|
L_02C84A6C: ; // 0x2c84a6c
|
|
/* 02C84A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C84A70 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84A70 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C84A70 */ if (_t56) goto L_02C84A88; else goto L_02C84A74;
|
|
L_02C84A74: ; // 0x2c84a74
|
|
/* 02C84A74 */ cpu->ctr = cpu->r[24];
|
|
/* 02C84A78 */ _t57 = cpu->r[31] + 0x00000000u;
|
|
/* 02C84A78 */ cpu->r[3] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02C84A7C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C84A80 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84A84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C84A88: ; // 0x2c84a88
|
|
/* 02C84A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000002u);
|
|
/* 02C84A8C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84A8C */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C84A8C */ if (_t59) goto L_02C84AC8; else goto L_02C84A90;
|
|
L_02C84A90: ; // 0x2c84a90
|
|
/* 02C84A90 */ goto L_02C84A9C;
|
|
L_02C84A94: ; // 0x2c84a94
|
|
/* 02C84A94 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C84A98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C84A9C: ; // 0x2c84a9c
|
|
/* 02C84A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C84AA0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C84AA4 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84AA8 */ cpu->ctr = cpu->r[24];
|
|
/* 02C84AAC */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84AAC */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C84AAC */ if (_t61) goto L_02C84AB0; else goto L_02C84A94;
|
|
L_02C84AB0: ; // 0x2c84ab0
|
|
/* 02C84AB0 */ _t62 = cpu->r[20] + 0x0000001Du;
|
|
/* 02C84AB0 */ cpu->r[3] = rbrew_read8(cpu->mem, _t62);
|
|
/* 02C84AB4 */ goto L_02C84AC4;
|
|
L_02C84AB8: ; // 0x2c84ab8
|
|
/* 02C84AB8 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84ABC */ cpu->r[3] = 0x00000030u;
|
|
/* 02C84AC0 */ cpu->ctr = cpu->r[24];
|
|
L_02C84AC4: ; // 0x2c84ac4
|
|
/* 02C84AC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C84AC8: ; // 0x2c84ac8
|
|
/* 02C84AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C84ACC */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 02C84AD0 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84AD0 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C84AD0 */ if (_t64) goto L_02C84AB8; else goto L_02C84AD4;
|
|
L_02C84AD4: ; // 0x2c84ad4
|
|
/* 02C84AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C84AD8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84AD8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C84AD8 */ if (_t66) goto L_02C84B4C; else goto L_02C84ADC;
|
|
L_02C84ADC: ; // 0x2c84adc
|
|
/* 02C84ADC */ goto L_02C84B28;
|
|
L_02C84AE0: ; // 0x2c84ae0
|
|
/* 02C84AE0 */ _t67 = cpu->r[31] + 0x00000000u;
|
|
/* 02C84AE0 */ cpu->r[4] = rbrew_read16(cpu->mem, _t67);
|
|
/* 02C84AE4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C84AE8 */ cpu->r[31] = cpu->r[31] + 0x00000002u;
|
|
/* 02C84AEC */ Gambit_fn_02C89588(cpu);
|
|
/* 02C84AF0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C84AF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[25]);
|
|
/* 02C84AF8 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84AF8 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C84AF8 */ if (_t69) goto L_02C84B54; else goto L_02C84AFC;
|
|
L_02C84AFC: ; // 0x2c84afc
|
|
/* 02C84AFC */ cpu->r[25] = cpu->r[25] - cpu->r[30];
|
|
/* 02C84B00 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C84B04 */ goto L_02C84B20;
|
|
L_02C84B08: ; // 0x2c84b08
|
|
/* 02C84B08 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C84B0C */ cpu->ctr = cpu->r[24];
|
|
/* 02C84B10 */ _t70 = cpu->r[12] + cpu->r[28];
|
|
/* 02C84B10 */ cpu->r[3] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02C84B14 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84B18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C84B1C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
L_02C84B20: ; // 0x2c84b20
|
|
/* 02C84B20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02C84B24 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84B24 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C84B24 */ if (_t72) goto L_02C84B08; else goto L_02C84B28;
|
|
L_02C84B28: ; // 0x2c84b28
|
|
/* 02C84B28 */ _t73 = cpu->r[31] + 0x00000000u;
|
|
/* 02C84B28 */ cpu->r[12] = rbrew_read16(cpu->mem, _t73);
|
|
/* 02C84B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84B30 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84B30 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C84B30 */ if (_t75) goto L_02C84B34; else goto L_02C84AE0;
|
|
L_02C84B34: ; // 0x2c84b34
|
|
/* 02C84B34 */ goto L_02C84B54;
|
|
L_02C84B38: ; // 0x2c84b38
|
|
/* 02C84B38 */ cpu->ctr = cpu->r[24];
|
|
/* 02C84B3C */ _t76 = cpu->r[31] + 0x00000000u;
|
|
/* 02C84B3C */ cpu->r[3] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02C84B40 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C84B44 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84B48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C84B4C: ; // 0x2c84b4c
|
|
/* 02C84B4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[19]);
|
|
/* 02C84B50 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84B50 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02C84B50 */ if (_t78) goto L_02C84B38; else goto L_02C84B54;
|
|
L_02C84B54: ; // 0x2c84b54
|
|
/* 02C84B54 */ cpu->r[5] = cpu->r[22];
|
|
/* 02C84B58 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C84B5C */ cpu->r[3] = cpu->r[24];
|
|
/* 02C84B60 */ Gambit_fn_02C84874(cpu);
|
|
/* 02C84B64 */ cpu->r[11] = cpu->r[1] + 0x00000048u;
|
|
/* 02C84B68 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C84B6C */ goto L_02C8A564;
|
|
L_02C8A564: ; // 0x2c8a564
|
|
/* 02C8A564 */ _t79 = cpu->r[11] + 0xFFFFFFCCu;
|
|
/* 02C8A564 */ cpu->r[19] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C8A568 */ _t80 = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C8A568 */ cpu->r[20] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C8A56C */ _t81 = cpu->r[11] + 0xFFFFFFD4u;
|
|
/* 02C8A56C */ cpu->r[21] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C8A570 */ _t82 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A570 */ cpu->r[22] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C8A574 */ _t83 = cpu->r[11] + 0xFFFFFFDCu;
|
|
/* 02C8A574 */ cpu->r[23] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C8A578 */ _t84 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A578 */ cpu->r[24] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C8A57C */ _t85 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C8A580 */ _t86 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C8A584 */ _t87 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C8A588 */ _t88 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C8A58C */ _t89 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C8A590 */ _t90 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C8A594 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C8A598 */ _t92 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C84B70 @ 0x2c84b70
|
|
void Gambit_fn_02C84B70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C84B70: ; // 0x2c84b70
|
|
/* 02C84B70 */ cpu->r[0] = cpu->lr;
|
|
/* 02C84B74 */ cpu->r[10] = cpu->r[3];
|
|
/* 02C84B78 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C84B7C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C84B7C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C84B80 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C84B84 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C84B84 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C84B84 */ cpu->r[1] = _t1;
|
|
/* 02C84B88 */ cpu->r[4] = cpu->r[1] + 0x00000017u;
|
|
/* 02C84B8C */ _t2 = cpu->r[1] + 0x00000017u;
|
|
/* 02C84B8C */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[9]);
|
|
/* 02C84B90 */ Gambit_fn_02C84844(cpu);
|
|
/* 02C84B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C84B98 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C84B9C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84B9C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C84B9C */ if (_t4) goto L_02C84BA4; else goto L_02C84BA0;
|
|
L_02C84BA0: ; // 0x2c84ba0
|
|
/* 02C84BA0 */ _t5 = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C84BA0 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[5]);
|
|
/* 02C84BA0 */ cpu->r[4] = _t5;
|
|
L_02C84BA4: ; // 0x2c84ba4
|
|
/* 02C84BA4 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C84BA8 */ _t6 = cpu->r[10] + 0x00000013u;
|
|
/* 02C84BA8 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[9]);
|
|
/* 02C84BAC */ Gambit_fn_02C848AC(cpu);
|
|
/* 02C84BB0 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C84BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C84BB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C84BB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C84BBC */ return;
|
|
}
|
|
|
|
// fn_02C84B84 @ 0x2c84b84
|
|
void Gambit_fn_02C84B84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C84B84: ; // 0x2c84b84
|
|
/* 02C84B84 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C84B84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C84B84 */ cpu->r[1] = _t0;
|
|
/* 02C84B88 */ cpu->r[4] = cpu->r[1] + 0x00000017u;
|
|
/* 02C84B8C */ _t1 = cpu->r[1] + 0x00000017u;
|
|
/* 02C84B8C */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[9]);
|
|
/* 02C84B90 */ Gambit_fn_02C84844(cpu);
|
|
/* 02C84B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C84B98 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C84B9C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84B9C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C84B9C */ if (_t3) goto L_02C84BA4; else goto L_02C84BA0;
|
|
L_02C84BA0: ; // 0x2c84ba0
|
|
/* 02C84BA0 */ _t4 = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C84BA0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[5]);
|
|
/* 02C84BA0 */ cpu->r[4] = _t4;
|
|
L_02C84BA4: ; // 0x2c84ba4
|
|
/* 02C84BA4 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C84BA8 */ _t5 = cpu->r[10] + 0x00000013u;
|
|
/* 02C84BA8 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[9]);
|
|
/* 02C84BAC */ Gambit_fn_02C848AC(cpu);
|
|
/* 02C84BB0 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C84BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C84BB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C84BB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C84BBC */ return;
|
|
}
|
|
|
|
// fn_02C84BC0 @ 0x2c84bc0
|
|
void Gambit_fn_02C84BC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C84BC0: ; // 0x2c84bc0
|
|
/* 02C84BC0 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C84BC4 */ _t0 = cpu->r[12] + 0x0000001Du;
|
|
/* 02C84BC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C84BC8 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C84BCC */ cpu->r[10] = 0x0000000Fu;
|
|
/* 02C84BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Fu);
|
|
/* 02C84BD4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 02C84BD8 */ cpu->r[9] = 0x00000004u;
|
|
/* 02C84BDC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84BDC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C84BDC */ if (_t2) goto L_02C84BE0; else goto L_02C84C04;
|
|
L_02C84BE0: ; // 0x2c84be0
|
|
/* 02C84BE0 */ cpu->r[9] = 0x00000003u;
|
|
/* 02C84BE4 */ cpu->r[10] = 0x00000007u;
|
|
/* 02C84BE8 */ goto L_02C84C04;
|
|
L_02C84BEC: ; // 0x2c84bec
|
|
/* 02C84BEC */ cpu->r[11] = cpu->r[4] & cpu->r[10];
|
|
/* 02C84BF0 */ cpu->r[12] = cpu->r[11] + 0x101B0000u;
|
|
/* 02C84BF4 */ _t3 = cpu->r[12] + 0x0000463Fu;
|
|
/* 02C84BF4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C84BF8 */ cpu->r[12] = cpu->r[8] | cpu->r[12];
|
|
/* 02C84BFC */ /* nop */
|
|
/* 02C84C00 */ _t4 = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C84C00 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02C84C00 */ cpu->r[3] = _t4;
|
|
L_02C84C04: ; // 0x2c84c04
|
|
/* 02C84C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C84C08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84C08 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C84C08 */ if (_t6) goto L_02C84C0C; else goto L_02C84BEC;
|
|
L_02C84C0C: ; // 0x2c84c0c
|
|
/* 02C84C0C */ return;
|
|
}
|
|
|
|
// fn_02C84C10 @ 0x2c84c10
|
|
void Gambit_fn_02C84C10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C84C10: ; // 0x2c84c10
|
|
/* 02C84C10 */ cpu->r[0] = cpu->lr;
|
|
/* 02C84C14 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C84C18 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C84C1C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C84C1C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C84C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C84C24 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C84C24 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C84C24 */ cpu->r[1] = _t1;
|
|
/* 02C84C28 */ _t2 = cpu->r[1] + 0x00000017u;
|
|
/* 02C84C28 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[12]);
|
|
/* 02C84C2C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84C2C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C84C2C */ if (_t4) goto L_02C84C30; else goto L_02C84C4C;
|
|
L_02C84C30: ; // 0x2c84c30
|
|
/* 02C84C30 */ _t5 = cpu->r[7] + 0x00000004u;
|
|
/* 02C84C30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C84C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C84C38 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84C38 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C84C38 */ if (_t7) goto L_02C84C3C; else goto L_02C84C48;
|
|
L_02C84C3C: ; // 0x2c84c3c
|
|
/* 02C84C3C */ _t8 = cpu->r[7] + 0x0000001Du;
|
|
/* 02C84C3C */ cpu->r[11] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C84C40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000006Fu);
|
|
/* 02C84C44 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84C44 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C84C44 */ if (_t10) goto L_02C84C4C; else goto L_02C84C48;
|
|
L_02C84C48: ; // 0x2c84c48
|
|
/* 02C84C48 */ _t11 = cpu->r[7] + 0x00000013u;
|
|
/* 02C84C48 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
L_02C84C4C: ; // 0x2c84c4c
|
|
/* 02C84C4C */ cpu->r[5] = cpu->r[1] + 0x00000017u;
|
|
/* 02C84C50 */ cpu->r[3] = cpu->r[7];
|
|
/* 02C84C54 */ Gambit_fn_02C84BC0(cpu);
|
|
/* 02C84C58 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C84C5C */ cpu->r[3] = cpu->r[7];
|
|
/* 02C84C60 */ Gambit_fn_02C848AC(cpu);
|
|
/* 02C84C64 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C84C64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C84C68 */ cpu->lr = cpu->r[0];
|
|
/* 02C84C6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C84C70 */ return;
|
|
}
|
|
|
|
// fn_02C84C24 @ 0x2c84c24
|
|
void Gambit_fn_02C84C24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C84C24: ; // 0x2c84c24
|
|
/* 02C84C24 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C84C24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C84C24 */ cpu->r[1] = _t0;
|
|
/* 02C84C28 */ _t1 = cpu->r[1] + 0x00000017u;
|
|
/* 02C84C28 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[12]);
|
|
/* 02C84C2C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84C2C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C84C2C */ if (_t3) goto L_02C84C30; else goto L_02C84C4C;
|
|
L_02C84C30: ; // 0x2c84c30
|
|
/* 02C84C30 */ _t4 = cpu->r[7] + 0x00000004u;
|
|
/* 02C84C30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C84C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C84C38 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84C38 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C84C38 */ if (_t6) goto L_02C84C3C; else goto L_02C84C48;
|
|
L_02C84C3C: ; // 0x2c84c3c
|
|
/* 02C84C3C */ _t7 = cpu->r[7] + 0x0000001Du;
|
|
/* 02C84C3C */ cpu->r[11] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C84C40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000006Fu);
|
|
/* 02C84C44 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84C44 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C84C44 */ if (_t9) goto L_02C84C4C; else goto L_02C84C48;
|
|
L_02C84C48: ; // 0x2c84c48
|
|
/* 02C84C48 */ _t10 = cpu->r[7] + 0x00000013u;
|
|
/* 02C84C48 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
L_02C84C4C: ; // 0x2c84c4c
|
|
/* 02C84C4C */ cpu->r[5] = cpu->r[1] + 0x00000017u;
|
|
/* 02C84C50 */ cpu->r[3] = cpu->r[7];
|
|
/* 02C84C54 */ Gambit_fn_02C84BC0(cpu);
|
|
/* 02C84C58 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C84C5C */ cpu->r[3] = cpu->r[7];
|
|
/* 02C84C60 */ Gambit_fn_02C848AC(cpu);
|
|
/* 02C84C64 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C84C64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C84C68 */ cpu->lr = cpu->r[0];
|
|
/* 02C84C6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C84C70 */ return;
|
|
}
|
|
|
|
// fn_02C84C74 @ 0x2c84c74
|
|
void Gambit_fn_02C84C74(CPUState* 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;
|
|
|
|
L_02C84C74: ; // 0x2c84c74
|
|
/* 02C84C74 */ cpu->r[0] = cpu->lr;
|
|
/* 02C84C78 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C84C7C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C84C7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C84C7C */ cpu->r[1] = _t0;
|
|
/* 02C84C80 */ Gambit_fn_02C8A524(cpu);
|
|
/* 02C84C84 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C84C88 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C84C8C */ cpu->r[26] = 0x00000000u;
|
|
/* 02C84C90 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C84C94 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C84C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C84C98 */ cpu->r[31] = cpu->r[26];
|
|
/* 02C84C9C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84C9C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C84C9C */ if (_t2) goto L_02C84CA0; else goto L_02C84CA8;
|
|
L_02C84CA0: ; // 0x2c84ca0
|
|
/* 02C84CA0 */ cpu->r[29] = 0x101B0000u;
|
|
/* 02C84CA4 */ cpu->r[29] = cpu->r[29] + 0x00004638u;
|
|
L_02C84CA8: ; // 0x2c84ca8
|
|
/* 02C84CA8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C84CA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[27]);
|
|
/* 02C84CAC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C84CAC */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 02C84CB0 */ goto L_02C851BC;
|
|
L_02C84CB4: ; // 0x2c84cb4
|
|
/* 02C84CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000025u);
|
|
/* 02C84CB8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84CBC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84CBC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C84CBC */ if (_t6) goto L_02C84CD4; else goto L_02C84CC0;
|
|
L_02C84CC0: ; // 0x2c84cc0
|
|
/* 02C84CC0 */ cpu->ctr = cpu->r[28];
|
|
/* 02C84CC4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C84CC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C84CCC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C84CD0 */ goto L_02C851BC;
|
|
L_02C84CD4: ; // 0x2c84cd4
|
|
/* 02C84CD4 */ cpu->r[12] = 0xFFFF8300u;
|
|
/* 02C84CD8 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C84CDC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C84CDC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C84CE0 */ goto L_02C84CEC;
|
|
L_02C84CE4: ; // 0x2c84ce4
|
|
/* 02C84CE4 */ _t8 = cpu->r[11] + 0x00000000u;
|
|
/* 02C84CE4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[26]);
|
|
/* 02C84CE8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
L_02C84CEC: ; // 0x2c84cec
|
|
/* 02C84CEC */ cpu->r[12] = cpu->r[1] + 0x00000025u;
|
|
/* 02C84CF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C84CF4 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84CF4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C84CF4 */ if (_t10) goto L_02C84CF8; else goto L_02C84CE4;
|
|
L_02C84CF8: ; // 0x2c84cf8
|
|
/* 02C84CF8 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84CF8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C84CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000002Du);
|
|
/* 02C84D00 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C84D00 */ if (_t13) goto L_02C84D04; else goto L_02C84D0C;
|
|
L_02C84D04: ; // 0x2c84d04
|
|
/* 02C84D04 */ _t14 = cpu->r[1] + 0x00000019u;
|
|
/* 02C84D04 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[3]);
|
|
/* 02C84D08 */ goto L_02C84D50;
|
|
L_02C84D0C: ; // 0x2c84d0c
|
|
/* 02C84D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000002Bu);
|
|
/* 02C84D10 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D10 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C84D10 */ if (_t16) goto L_02C84D38; else goto L_02C84D14;
|
|
L_02C84D14: ; // 0x2c84d14
|
|
/* 02C84D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000030u);
|
|
/* 02C84D18 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D18 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C84D18 */ if (_t18) goto L_02C84D1C; else goto L_02C84D24;
|
|
L_02C84D1C: ; // 0x2c84d1c
|
|
/* 02C84D1C */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02C84D1C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[3]);
|
|
/* 02C84D20 */ goto L_02C84D50;
|
|
L_02C84D24: ; // 0x2c84d24
|
|
/* 02C84D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000020u);
|
|
/* 02C84D28 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D28 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C84D28 */ if (_t21) goto L_02C84D2C; else goto L_02C84D40;
|
|
L_02C84D2C: ; // 0x2c84d2c
|
|
/* 02C84D2C */ _t22 = cpu->r[1] + 0x0000001Au;
|
|
/* 02C84D2C */ cpu->r[12] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C84D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84D34 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D34 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C84D34 */ if (_t24) goto L_02C84D38; else goto L_02C84D50;
|
|
L_02C84D38: ; // 0x2c84d38
|
|
/* 02C84D38 */ _t25 = cpu->r[1] + 0x0000001Au;
|
|
/* 02C84D38 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[3]);
|
|
/* 02C84D3C */ goto L_02C84D50;
|
|
L_02C84D40: ; // 0x2c84d40
|
|
/* 02C84D40 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C84D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000023u);
|
|
/* 02C84D48 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D48 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C84D48 */ if (_t27) goto L_02C84D4C; else goto L_02C84D58;
|
|
L_02C84D4C: ; // 0x2c84d4c
|
|
/* 02C84D4C */ _t28 = cpu->r[1] + 0x0000001Bu;
|
|
/* 02C84D4C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[12]);
|
|
L_02C84D50: ; // 0x2c84d50
|
|
/* 02C84D50 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84D54 */ goto L_02C84CF8;
|
|
L_02C84D58: ; // 0x2c84d58
|
|
/* 02C84D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000002Au);
|
|
/* 02C84D5C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D5C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C84D5C */ if (_t30) goto L_02C84D60; else goto L_02C84D94;
|
|
L_02C84D60: ; // 0x2c84d60
|
|
/* 02C84D60 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C84D64 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C84D68 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C84D6C */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84D6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C84D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84D74 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C84D74 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02C84D78 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84D78 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C84D78 */ if (_t34) goto L_02C84D7C; else goto L_02C84D8C;
|
|
L_02C84D7C: ; // 0x2c84d7c
|
|
/* 02C84D7C */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C84D80 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02C84D80 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02C84D84 */ _t36 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84D84 */ cpu->r[12] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02C84D88 */ _t37 = cpu->r[1] + 0x00000019u;
|
|
/* 02C84D88 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[12]);
|
|
L_02C84D8C: ; // 0x2c84d8c
|
|
/* 02C84D8C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84D90 */ goto L_02C84DC4;
|
|
L_02C84D94: ; // 0x2c84d94
|
|
/* 02C84D94 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C84D98 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C84D9C */ goto L_02C84DB0;
|
|
L_02C84DA0: ; // 0x2c84da0
|
|
/* 02C84DA0 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Au);
|
|
/* 02C84DA4 */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84DA4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02C84DA8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02C84DAC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFD0u;
|
|
L_02C84DB0: ; // 0x2c84db0
|
|
/* 02C84DB0 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02C84DB0 */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 02C84DB4 */ _t40 = cpu->r[29] + 0x00000001u;
|
|
/* 02C84DB4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C84DB4 */ cpu->r[29] = _t40;
|
|
/* 02C84DB8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C84DBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Au);
|
|
/* 02C84DC0 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84DC0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C84DC0 */ if (_t42) goto L_02C84DA0; else goto L_02C84DC4;
|
|
L_02C84DC4: ; // 0x2c84dc4
|
|
/* 02C84DC4 */ _t43 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84DC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02C84DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Eu);
|
|
/* 02C84DCC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84DCC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C84DCC */ if (_t45) goto L_02C84DD0; else goto L_02C84E38;
|
|
L_02C84DD0: ; // 0x2c84dd0
|
|
/* 02C84DD0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C84DD4 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C84DD4 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 02C84DD8 */ _t47 = cpu->r[29] + 0x00000001u;
|
|
/* 02C84DD8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t47);
|
|
/* 02C84DD8 */ cpu->r[29] = _t47;
|
|
/* 02C84DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000002Au);
|
|
/* 02C84DE0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84DE0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C84DE0 */ if (_t49) goto L_02C84DE4; else goto L_02C84E28;
|
|
L_02C84DE4: ; // 0x2c84de4
|
|
/* 02C84DE4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C84DE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C84DEC */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C84DF0 */ _t50 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84DF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C84DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84DF8 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C84DF8 */ rbrew_write32(cpu->mem, _t51, cpu->r[12]);
|
|
/* 02C84DFC */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84DFC */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C84DFC */ if (_t53) goto L_02C84E00; else goto L_02C84E08;
|
|
L_02C84E00: ; // 0x2c84e00
|
|
/* 02C84E00 */ cpu->r[12] = 0xFFFF8300u;
|
|
/* 02C84E04 */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C84E04 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
L_02C84E08: ; // 0x2c84e08
|
|
/* 02C84E08 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84E0C */ goto L_02C84E38;
|
|
L_02C84E10: ; // 0x2c84e10
|
|
/* 02C84E10 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Au);
|
|
/* 02C84E14 */ _t55 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84E14 */ cpu->r[12] = rbrew_read8(cpu->mem, _t55);
|
|
/* 02C84E18 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02C84E1C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84E20 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 02C84E24 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C84E24 */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
|
|
L_02C84E28: ; // 0x2c84e28
|
|
/* 02C84E28 */ _t57 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84E28 */ cpu->r[11] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02C84E2C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C84E30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Au);
|
|
/* 02C84E34 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84E34 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C84E34 */ if (_t59) goto L_02C84E10; else goto L_02C84E38;
|
|
L_02C84E38: ; // 0x2c84e38
|
|
/* 02C84E38 */ _t60 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84E38 */ cpu->r[12] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02C84E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u);
|
|
/* 02C84E40 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E40 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C84E40 */ if (_t62) goto L_02C84E08; else goto L_02C84E44;
|
|
L_02C84E44: ; // 0x2c84e44
|
|
/* 02C84E44 */ _t63 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84E44 */ cpu->r[12] = rbrew_read8(cpu->mem, _t63);
|
|
/* 02C84E48 */ cpu->r[11] = cpu->r[12];
|
|
/* 02C84E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000004Cu);
|
|
/* 02C84E50 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84E54 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E54 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C84E54 */ if (_t65) goto L_02C84EA0; else goto L_02C84E58;
|
|
L_02C84E58: ; // 0x2c84e58
|
|
/* 02C84E58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000068u);
|
|
/* 02C84E5C */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E5C */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C84E5C */ if (_t67) goto L_02C84EA8; else goto L_02C84E60;
|
|
L_02C84E60: ; // 0x2c84e60
|
|
/* 02C84E60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000006Au);
|
|
/* 02C84E64 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E64 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C84E64 */ if (_t69) goto L_02C84EA0; else goto L_02C84E68;
|
|
L_02C84E68: ; // 0x2c84e68
|
|
/* 02C84E68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000006Cu);
|
|
/* 02C84E6C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E6C */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C84E6C */ if (_t71) goto L_02C84E88; else goto L_02C84E70;
|
|
L_02C84E70: ; // 0x2c84e70
|
|
/* 02C84E70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000074u);
|
|
/* 02C84E74 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E74 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C84E74 */ if (_t73) goto L_02C84EC8; else goto L_02C84E78;
|
|
L_02C84E78: ; // 0x2c84e78
|
|
/* 02C84E78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000007Au);
|
|
/* 02C84E7C */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E7C */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C84E7C */ if (_t75) goto L_02C84EC8; else goto L_02C84E80;
|
|
L_02C84E80: ; // 0x2c84e80
|
|
/* 02C84E80 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C84E84 */ goto L_02C84EC8;
|
|
L_02C84E88: ; // 0x2c84e88
|
|
/* 02C84E88 */ _t76 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02C84E88 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[12]);
|
|
/* 02C84E8C */ _t77 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84E8C */ cpu->r[12] = rbrew_read8(cpu->mem, _t77);
|
|
/* 02C84E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Cu);
|
|
/* 02C84E94 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E94 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C84E94 */ if (_t79) goto L_02C84E98; else goto L_02C84EC8;
|
|
L_02C84E98: ; // 0x2c84e98
|
|
/* 02C84E98 */ cpu->r[12] = 0x0000006Cu;
|
|
/* 02C84E9C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C84EA0: ; // 0x2c84ea0
|
|
/* 02C84EA0 */ _t80 = cpu->r[1] + 0x0000001Fu;
|
|
/* 02C84EA0 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[12]);
|
|
/* 02C84EA4 */ goto L_02C84EC8;
|
|
L_02C84EA8: ; // 0x2c84ea8
|
|
/* 02C84EA8 */ _t81 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84EA8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t81);
|
|
/* 02C84EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000068u);
|
|
/* 02C84EB0 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84EB0 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C84EB0 */ if (_t83) goto L_02C84EB4; else goto L_02C84EC0;
|
|
L_02C84EB4: ; // 0x2c84eb4
|
|
/* 02C84EB4 */ _t84 = cpu->r[1] + 0x00000023u;
|
|
/* 02C84EB4 */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[12]);
|
|
/* 02C84EB8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84EBC */ goto L_02C84EC8;
|
|
L_02C84EC0: ; // 0x2c84ec0
|
|
/* 02C84EC0 */ cpu->r[12] = 0x00000068u;
|
|
/* 02C84EC4 */ _t85 = cpu->r[1] + 0x00000022u;
|
|
/* 02C84EC4 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[12]);
|
|
L_02C84EC8: ; // 0x2c84ec8
|
|
/* 02C84EC8 */ _t86 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84EC8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t86);
|
|
/* 02C84ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84ED0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84ED4 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84ED4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C84ED4 */ if (_t88) goto L_02C851C8; else goto L_02C84ED8;
|
|
L_02C84ED8: ; // 0x2c84ed8
|
|
/* 02C84ED8 */ cpu->r[10] = cpu->r[12] | 0x00000020u;
|
|
/* 02C84EDC */ cpu->r[10] = cpu->r[10] + 0xFFFFFF9Fu;
|
|
/* 02C84EE0 */ _t89 = cpu->r[1] + 0x00000025u;
|
|
/* 02C84EE0 */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[12]);
|
|
/* 02C84EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000017u);
|
|
/* 02C84EE8 */ cpu->r[25] = cpu->r[1] + 0x00000028u;
|
|
/* 02C84EEC */ _t90 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84EEC */ _t91 = _t90 & 0x00000001u;
|
|
/* 02C84EEC */ if (_t91) goto L_02C85168; else goto L_02C84EF0;
|
|
L_02C84EF0: ; // 0x2c84ef0
|
|
/* 02C84EF0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C84EF4 */ cpu->r[11] = cpu->r[10] + 0x02C80000u;
|
|
/* 02C84EF8 */ cpu->r[11] = cpu->r[11] + 0x00004F04u;
|
|
/* 02C84EFC */ cpu->ctr = cpu->r[11];
|
|
/* 02C84F00 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C85168: ; // 0x2c85168
|
|
/* 02C85168 */ _t92 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02C85168 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[26]);
|
|
/* 02C8516C */ goto L_02C851A0;
|
|
L_02C851A0: ; // 0x2c851a0
|
|
/* 02C851A0 */ _t93 = cpu->r[1] + 0x00000028u;
|
|
/* 02C851A0 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[12]);
|
|
/* 02C851A4 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C851A8 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C851AC */ _t94 = cpu->r[1] + 0x0000001Du;
|
|
/* 02C851AC */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[12]);
|
|
/* 02C851B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C851B4 */ Gambit_fn_02C848AC(cpu);
|
|
/* 02C851B8 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
L_02C851BC: ; // 0x2c851bc
|
|
/* 02C851BC */ _t95 = cpu->r[29] + 0x00000000u;
|
|
/* 02C851BC */ cpu->r[3] = rbrew_read8(cpu->mem, _t95);
|
|
/* 02C851C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C851C4 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C851C4 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C851C4 */ if (_t97) goto L_02C851C8; else goto L_02C84CB4;
|
|
L_02C851C8: ; // 0x2c851c8
|
|
/* 02C851C8 */ cpu->r[11] = cpu->r[1] + 0x00000048u;
|
|
/* 02C851CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C851D0 */ goto L_02C8A57C;
|
|
L_02C8A57C: ; // 0x2c8a57c
|
|
/* 02C8A57C */ _t98 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02C8A580 */ _t99 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C8A584 */ _t100 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C8A588 */ _t101 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02C8A58C */ _t102 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02C8A590 */ _t103 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02C8A594 */ _t104 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02C8A598 */ _t105 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C84C7C @ 0x2c84c7c
|
|
void Gambit_fn_02C84C7C(CPUState* 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;
|
|
|
|
L_02C84C7C: ; // 0x2c84c7c
|
|
/* 02C84C7C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C84C7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C84C7C */ cpu->r[1] = _t0;
|
|
/* 02C84C80 */ Gambit_fn_02C8A524(cpu);
|
|
/* 02C84C84 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C84C88 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C84C8C */ cpu->r[26] = 0x00000000u;
|
|
/* 02C84C90 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C84C94 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C84C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C84C98 */ cpu->r[31] = cpu->r[26];
|
|
/* 02C84C9C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84C9C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C84C9C */ if (_t2) goto L_02C84CA0; else goto L_02C84CA8;
|
|
L_02C84CA0: ; // 0x2c84ca0
|
|
/* 02C84CA0 */ cpu->r[29] = 0x101B0000u;
|
|
/* 02C84CA4 */ cpu->r[29] = cpu->r[29] + 0x00004638u;
|
|
L_02C84CA8: ; // 0x2c84ca8
|
|
/* 02C84CA8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C84CA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[27]);
|
|
/* 02C84CAC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C84CAC */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 02C84CB0 */ goto L_02C851BC;
|
|
L_02C84CB4: ; // 0x2c84cb4
|
|
/* 02C84CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000025u);
|
|
/* 02C84CB8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84CBC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84CBC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C84CBC */ if (_t6) goto L_02C84CD4; else goto L_02C84CC0;
|
|
L_02C84CC0: ; // 0x2c84cc0
|
|
/* 02C84CC0 */ cpu->ctr = cpu->r[28];
|
|
/* 02C84CC4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C84CC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C84CCC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C84CD0 */ goto L_02C851BC;
|
|
L_02C84CD4: ; // 0x2c84cd4
|
|
/* 02C84CD4 */ cpu->r[12] = 0xFFFF8300u;
|
|
/* 02C84CD8 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C84CDC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C84CDC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C84CE0 */ goto L_02C84CEC;
|
|
L_02C84CE4: ; // 0x2c84ce4
|
|
/* 02C84CE4 */ _t8 = cpu->r[11] + 0x00000000u;
|
|
/* 02C84CE4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[26]);
|
|
/* 02C84CE8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
L_02C84CEC: ; // 0x2c84cec
|
|
/* 02C84CEC */ cpu->r[12] = cpu->r[1] + 0x00000025u;
|
|
/* 02C84CF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C84CF4 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84CF4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C84CF4 */ if (_t10) goto L_02C84CF8; else goto L_02C84CE4;
|
|
L_02C84CF8: ; // 0x2c84cf8
|
|
/* 02C84CF8 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84CF8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C84CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000002Du);
|
|
/* 02C84D00 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C84D00 */ if (_t13) goto L_02C84D04; else goto L_02C84D0C;
|
|
L_02C84D04: ; // 0x2c84d04
|
|
/* 02C84D04 */ _t14 = cpu->r[1] + 0x00000019u;
|
|
/* 02C84D04 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[3]);
|
|
/* 02C84D08 */ goto L_02C84D50;
|
|
L_02C84D0C: ; // 0x2c84d0c
|
|
/* 02C84D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000002Bu);
|
|
/* 02C84D10 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D10 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C84D10 */ if (_t16) goto L_02C84D38; else goto L_02C84D14;
|
|
L_02C84D14: ; // 0x2c84d14
|
|
/* 02C84D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000030u);
|
|
/* 02C84D18 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D18 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C84D18 */ if (_t18) goto L_02C84D1C; else goto L_02C84D24;
|
|
L_02C84D1C: ; // 0x2c84d1c
|
|
/* 02C84D1C */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02C84D1C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[3]);
|
|
/* 02C84D20 */ goto L_02C84D50;
|
|
L_02C84D24: ; // 0x2c84d24
|
|
/* 02C84D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000020u);
|
|
/* 02C84D28 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D28 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C84D28 */ if (_t21) goto L_02C84D2C; else goto L_02C84D40;
|
|
L_02C84D2C: ; // 0x2c84d2c
|
|
/* 02C84D2C */ _t22 = cpu->r[1] + 0x0000001Au;
|
|
/* 02C84D2C */ cpu->r[12] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C84D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84D34 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D34 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C84D34 */ if (_t24) goto L_02C84D38; else goto L_02C84D50;
|
|
L_02C84D38: ; // 0x2c84d38
|
|
/* 02C84D38 */ _t25 = cpu->r[1] + 0x0000001Au;
|
|
/* 02C84D38 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[3]);
|
|
/* 02C84D3C */ goto L_02C84D50;
|
|
L_02C84D40: ; // 0x2c84d40
|
|
/* 02C84D40 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C84D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000023u);
|
|
/* 02C84D48 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D48 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C84D48 */ if (_t27) goto L_02C84D4C; else goto L_02C84D58;
|
|
L_02C84D4C: ; // 0x2c84d4c
|
|
/* 02C84D4C */ _t28 = cpu->r[1] + 0x0000001Bu;
|
|
/* 02C84D4C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[12]);
|
|
L_02C84D50: ; // 0x2c84d50
|
|
/* 02C84D50 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84D54 */ goto L_02C84CF8;
|
|
L_02C84D58: ; // 0x2c84d58
|
|
/* 02C84D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000002Au);
|
|
/* 02C84D5C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84D5C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C84D5C */ if (_t30) goto L_02C84D60; else goto L_02C84D94;
|
|
L_02C84D60: ; // 0x2c84d60
|
|
/* 02C84D60 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C84D64 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C84D68 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C84D6C */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84D6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C84D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84D74 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C84D74 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02C84D78 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84D78 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C84D78 */ if (_t34) goto L_02C84D7C; else goto L_02C84D8C;
|
|
L_02C84D7C: ; // 0x2c84d7c
|
|
/* 02C84D7C */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C84D80 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02C84D80 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02C84D84 */ _t36 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84D84 */ cpu->r[12] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02C84D88 */ _t37 = cpu->r[1] + 0x00000019u;
|
|
/* 02C84D88 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[12]);
|
|
L_02C84D8C: ; // 0x2c84d8c
|
|
/* 02C84D8C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84D90 */ goto L_02C84DC4;
|
|
L_02C84D94: ; // 0x2c84d94
|
|
/* 02C84D94 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C84D98 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C84D9C */ goto L_02C84DB0;
|
|
L_02C84DA0: ; // 0x2c84da0
|
|
/* 02C84DA0 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Au);
|
|
/* 02C84DA4 */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84DA4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02C84DA8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02C84DAC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFD0u;
|
|
L_02C84DB0: ; // 0x2c84db0
|
|
/* 02C84DB0 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02C84DB0 */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 02C84DB4 */ _t40 = cpu->r[29] + 0x00000001u;
|
|
/* 02C84DB4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C84DB4 */ cpu->r[29] = _t40;
|
|
/* 02C84DB8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C84DBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Au);
|
|
/* 02C84DC0 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84DC0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C84DC0 */ if (_t42) goto L_02C84DA0; else goto L_02C84DC4;
|
|
L_02C84DC4: ; // 0x2c84dc4
|
|
/* 02C84DC4 */ _t43 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84DC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02C84DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Eu);
|
|
/* 02C84DCC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84DCC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C84DCC */ if (_t45) goto L_02C84DD0; else goto L_02C84E38;
|
|
L_02C84DD0: ; // 0x2c84dd0
|
|
/* 02C84DD0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C84DD4 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C84DD4 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 02C84DD8 */ _t47 = cpu->r[29] + 0x00000001u;
|
|
/* 02C84DD8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t47);
|
|
/* 02C84DD8 */ cpu->r[29] = _t47;
|
|
/* 02C84DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000002Au);
|
|
/* 02C84DE0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84DE0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C84DE0 */ if (_t49) goto L_02C84DE4; else goto L_02C84E28;
|
|
L_02C84DE4: ; // 0x2c84de4
|
|
/* 02C84DE4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C84DE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C84DEC */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C84DF0 */ _t50 = cpu->r[3] + 0x00000000u;
|
|
/* 02C84DF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C84DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84DF8 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C84DF8 */ rbrew_write32(cpu->mem, _t51, cpu->r[12]);
|
|
/* 02C84DFC */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84DFC */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C84DFC */ if (_t53) goto L_02C84E00; else goto L_02C84E08;
|
|
L_02C84E00: ; // 0x2c84e00
|
|
/* 02C84E00 */ cpu->r[12] = 0xFFFF8300u;
|
|
/* 02C84E04 */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C84E04 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
L_02C84E08: ; // 0x2c84e08
|
|
/* 02C84E08 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84E0C */ goto L_02C84E38;
|
|
L_02C84E10: ; // 0x2c84e10
|
|
/* 02C84E10 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Au);
|
|
/* 02C84E14 */ _t55 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84E14 */ cpu->r[12] = rbrew_read8(cpu->mem, _t55);
|
|
/* 02C84E18 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02C84E1C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84E20 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 02C84E24 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C84E24 */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
|
|
L_02C84E28: ; // 0x2c84e28
|
|
/* 02C84E28 */ _t57 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84E28 */ cpu->r[11] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02C84E2C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C84E30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Au);
|
|
/* 02C84E34 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C84E34 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C84E34 */ if (_t59) goto L_02C84E10; else goto L_02C84E38;
|
|
L_02C84E38: ; // 0x2c84e38
|
|
/* 02C84E38 */ _t60 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84E38 */ cpu->r[12] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02C84E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u);
|
|
/* 02C84E40 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E40 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C84E40 */ if (_t62) goto L_02C84E08; else goto L_02C84E44;
|
|
L_02C84E44: ; // 0x2c84e44
|
|
/* 02C84E44 */ _t63 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84E44 */ cpu->r[12] = rbrew_read8(cpu->mem, _t63);
|
|
/* 02C84E48 */ cpu->r[11] = cpu->r[12];
|
|
/* 02C84E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000004Cu);
|
|
/* 02C84E50 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84E54 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E54 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C84E54 */ if (_t65) goto L_02C84EA0; else goto L_02C84E58;
|
|
L_02C84E58: ; // 0x2c84e58
|
|
/* 02C84E58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000068u);
|
|
/* 02C84E5C */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E5C */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C84E5C */ if (_t67) goto L_02C84EA8; else goto L_02C84E60;
|
|
L_02C84E60: ; // 0x2c84e60
|
|
/* 02C84E60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000006Au);
|
|
/* 02C84E64 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E64 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C84E64 */ if (_t69) goto L_02C84EA0; else goto L_02C84E68;
|
|
L_02C84E68: ; // 0x2c84e68
|
|
/* 02C84E68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000006Cu);
|
|
/* 02C84E6C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E6C */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C84E6C */ if (_t71) goto L_02C84E88; else goto L_02C84E70;
|
|
L_02C84E70: ; // 0x2c84e70
|
|
/* 02C84E70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000074u);
|
|
/* 02C84E74 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E74 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C84E74 */ if (_t73) goto L_02C84EC8; else goto L_02C84E78;
|
|
L_02C84E78: ; // 0x2c84e78
|
|
/* 02C84E78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000007Au);
|
|
/* 02C84E7C */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E7C */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C84E7C */ if (_t75) goto L_02C84EC8; else goto L_02C84E80;
|
|
L_02C84E80: ; // 0x2c84e80
|
|
/* 02C84E80 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C84E84 */ goto L_02C84EC8;
|
|
L_02C84E88: ; // 0x2c84e88
|
|
/* 02C84E88 */ _t76 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02C84E88 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[12]);
|
|
/* 02C84E8C */ _t77 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84E8C */ cpu->r[12] = rbrew_read8(cpu->mem, _t77);
|
|
/* 02C84E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Cu);
|
|
/* 02C84E94 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84E94 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C84E94 */ if (_t79) goto L_02C84E98; else goto L_02C84EC8;
|
|
L_02C84E98: ; // 0x2c84e98
|
|
/* 02C84E98 */ cpu->r[12] = 0x0000006Cu;
|
|
/* 02C84E9C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02C84EA0: ; // 0x2c84ea0
|
|
/* 02C84EA0 */ _t80 = cpu->r[1] + 0x0000001Fu;
|
|
/* 02C84EA0 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[12]);
|
|
/* 02C84EA4 */ goto L_02C84EC8;
|
|
L_02C84EA8: ; // 0x2c84ea8
|
|
/* 02C84EA8 */ _t81 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84EA8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t81);
|
|
/* 02C84EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000068u);
|
|
/* 02C84EB0 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84EB0 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C84EB0 */ if (_t83) goto L_02C84EB4; else goto L_02C84EC0;
|
|
L_02C84EB4: ; // 0x2c84eb4
|
|
/* 02C84EB4 */ _t84 = cpu->r[1] + 0x00000023u;
|
|
/* 02C84EB4 */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[12]);
|
|
/* 02C84EB8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84EBC */ goto L_02C84EC8;
|
|
L_02C84EC0: ; // 0x2c84ec0
|
|
/* 02C84EC0 */ cpu->r[12] = 0x00000068u;
|
|
/* 02C84EC4 */ _t85 = cpu->r[1] + 0x00000022u;
|
|
/* 02C84EC4 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[12]);
|
|
L_02C84EC8: ; // 0x2c84ec8
|
|
/* 02C84EC8 */ _t86 = cpu->r[29] + 0x00000000u;
|
|
/* 02C84EC8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t86);
|
|
/* 02C84ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C84ED0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C84ED4 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C84ED4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C84ED4 */ if (_t88) goto L_02C851C8; else goto L_02C84ED8;
|
|
L_02C84ED8: ; // 0x2c84ed8
|
|
/* 02C84ED8 */ cpu->r[10] = cpu->r[12] | 0x00000020u;
|
|
/* 02C84EDC */ cpu->r[10] = cpu->r[10] + 0xFFFFFF9Fu;
|
|
/* 02C84EE0 */ _t89 = cpu->r[1] + 0x00000025u;
|
|
/* 02C84EE0 */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[12]);
|
|
/* 02C84EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000017u);
|
|
/* 02C84EE8 */ cpu->r[25] = cpu->r[1] + 0x00000028u;
|
|
/* 02C84EEC */ _t90 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C84EEC */ _t91 = _t90 & 0x00000001u;
|
|
/* 02C84EEC */ if (_t91) goto L_02C85168; else goto L_02C84EF0;
|
|
L_02C84EF0: ; // 0x2c84ef0
|
|
/* 02C84EF0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C84EF4 */ cpu->r[11] = cpu->r[10] + 0x02C80000u;
|
|
/* 02C84EF8 */ cpu->r[11] = cpu->r[11] + 0x00004F04u;
|
|
/* 02C84EFC */ cpu->ctr = cpu->r[11];
|
|
/* 02C84F00 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C85168: ; // 0x2c85168
|
|
/* 02C85168 */ _t92 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02C85168 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[26]);
|
|
/* 02C8516C */ goto L_02C851A0;
|
|
L_02C851A0: ; // 0x2c851a0
|
|
/* 02C851A0 */ _t93 = cpu->r[1] + 0x00000028u;
|
|
/* 02C851A0 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[12]);
|
|
/* 02C851A4 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C851A8 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C851AC */ _t94 = cpu->r[1] + 0x0000001Du;
|
|
/* 02C851AC */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[12]);
|
|
/* 02C851B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C851B4 */ Gambit_fn_02C848AC(cpu);
|
|
/* 02C851B8 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
L_02C851BC: ; // 0x2c851bc
|
|
/* 02C851BC */ _t95 = cpu->r[29] + 0x00000000u;
|
|
/* 02C851BC */ cpu->r[3] = rbrew_read8(cpu->mem, _t95);
|
|
/* 02C851C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C851C4 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C851C4 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C851C4 */ if (_t97) goto L_02C851C8; else goto L_02C84CB4;
|
|
L_02C851C8: ; // 0x2c851c8
|
|
/* 02C851C8 */ cpu->r[11] = cpu->r[1] + 0x00000048u;
|
|
/* 02C851CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C851D0 */ goto L_02C8A57C;
|
|
L_02C8A57C: ; // 0x2c8a57c
|
|
/* 02C8A57C */ _t98 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02C8A580 */ _t99 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C8A584 */ _t100 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C8A588 */ _t101 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02C8A58C */ _t102 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02C8A590 */ _t103 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02C8A594 */ _t104 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02C8A598 */ _t105 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C851D4 @ 0x2c851d4
|
|
void Gambit_fn_02C851D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C851D4: ; // 0x2c851d4
|
|
/* 02C851D4 */ _t0 = cpu->r[4] + 0x00000004u;
|
|
/* 02C851D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C851D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C851DC */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C851DC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C851DC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02C851DC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C851DC */ goto L_02C851E0;
|
|
L_02C851E0: ; // 0x2c851e0
|
|
/* 02C851E0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C851E4 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C851E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C851E8 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02C851E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C851EC */ cpu->r[11] = cpu->r[12] + 0x00000001u;
|
|
/* 02C851F0 */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 02C851F0 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C851F4 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 02C851F4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[3]);
|
|
/* 02C851F8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C851FC */ return;
|
|
}
|
|
|
|
// fn_02C85200 @ 0x2c85200
|
|
void Gambit_fn_02C85200(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C85200: ; // 0x2c85200
|
|
/* 02C85200 */ cpu->r[0] = cpu->lr;
|
|
/* 02C85204 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C85208 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C85208 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C85208 */ cpu->r[1] = _t0;
|
|
/* 02C8520C */ Gambit_fn_02C8A538(cpu);
|
|
/* 02C85210 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C85214 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C85218 */ cpu->r[4] = 0x02C80000u;
|
|
/* 02C8521C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8521C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C85220 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C85224 */ cpu->r[4] = cpu->r[4] + 0x000051D4u;
|
|
/* 02C85228 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C85228 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C8522C */ Gambit_fn_02C84C74(cpu);
|
|
/* 02C85230 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C85230 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C85234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C85238 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85238 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C8523C */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8523C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C8523C */ if (_t6) goto L_02C85250; else goto L_02C85240;
|
|
L_02C85240: ; // 0x2c85240
|
|
/* 02C85240 */ cpu->r[12] = cpu->r[31] + cpu->r[30];
|
|
/* 02C85244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C85248 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C8524C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8524C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C8524C */ if (_t8) goto L_02C85258; else goto L_02C85250;
|
|
L_02C85250: ; // 0x2c85250
|
|
/* 02C85250 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85254 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 02C85254 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
L_02C85258: ; // 0x2c85258
|
|
/* 02C85258 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C8525C */ goto L_02C8A590;
|
|
L_02C8A590: ; // 0x2c8a590
|
|
/* 02C8A590 */ _t10 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C8A594 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C8A598 */ _t12 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C85208 @ 0x2c85208
|
|
void Gambit_fn_02C85208(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C85208: ; // 0x2c85208
|
|
/* 02C85208 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C85208 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C85208 */ cpu->r[1] = _t0;
|
|
/* 02C8520C */ Gambit_fn_02C8A538(cpu);
|
|
/* 02C85210 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C85214 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C85218 */ cpu->r[4] = 0x02C80000u;
|
|
/* 02C8521C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8521C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C85220 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C85224 */ cpu->r[4] = cpu->r[4] + 0x000051D4u;
|
|
/* 02C85228 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C85228 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C8522C */ Gambit_fn_02C84C74(cpu);
|
|
/* 02C85230 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C85230 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C85234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C85238 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85238 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C8523C */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8523C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C8523C */ if (_t6) goto L_02C85250; else goto L_02C85240;
|
|
L_02C85240: ; // 0x2c85240
|
|
/* 02C85240 */ cpu->r[12] = cpu->r[31] + cpu->r[30];
|
|
/* 02C85244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C85248 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C8524C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8524C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C8524C */ if (_t8) goto L_02C85258; else goto L_02C85250;
|
|
L_02C85250: ; // 0x2c85250
|
|
/* 02C85250 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85254 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 02C85254 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
L_02C85258: ; // 0x2c85258
|
|
/* 02C85258 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C8525C */ goto L_02C8A590;
|
|
L_02C8A590: ; // 0x2c8a590
|
|
/* 02C8A590 */ _t10 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C8A594 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C8A598 */ _t12 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C85260 @ 0x2c85260
|
|
void Gambit_fn_02C85260(CPUState* 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_02C85260: ; // 0x2c85260
|
|
/* 02C85260 */ cpu->r[0] = cpu->lr;
|
|
/* 02C85264 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C85264 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C85268 */ _t1 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C85268 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C85268 */ cpu->r[1] = _t1;
|
|
/* 02C8526C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8526C */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02C85270 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C85270 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02C85274 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02C85274 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02C85278 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C85278 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02C8527C */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02C8527C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C85280 */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 02C85280 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 02C85284 */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02C85284 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C85288 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02C85288 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 02C8528C */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C8528C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C8528C */ if (_t11) goto L_02C85290; else goto L_02C852B0;
|
|
L_02C85290: ; // 0x2c85290
|
|
/* 02C85290 */ _t12 = cpu->r[1] + 0x00000048u;
|
|
/* 02C85290 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[3]);
|
|
/* 02C85294 */ _t13 = cpu->r[1] + 0x00000068u;
|
|
/* 02C85294 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[7]);
|
|
/* 02C85298 */ _t14 = cpu->r[1] + 0x00000060u;
|
|
/* 02C85298 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[6]);
|
|
/* 02C8529C */ _t15 = cpu->r[1] + 0x00000040u;
|
|
/* 02C8529C */ rbrew_write_f64(cpu->mem, _t15, cpu->f[2]);
|
|
/* 02C852A0 */ _t16 = cpu->r[1] + 0x00000050u;
|
|
/* 02C852A0 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[4]);
|
|
/* 02C852A4 */ _t17 = cpu->r[1] + 0x00000070u;
|
|
/* 02C852A4 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[8]);
|
|
/* 02C852A8 */ _t18 = cpu->r[1] + 0x00000058u;
|
|
/* 02C852A8 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[5]);
|
|
/* 02C852AC */ _t19 = cpu->r[1] + 0x00000038u;
|
|
/* 02C852AC */ rbrew_write_f64(cpu->mem, _t19, cpu->f[1]);
|
|
L_02C852B0: ; // 0x2c852b0
|
|
/* 02C852B0 */ cpu->r[12] = cpu->r[1] + 0x00000080u;
|
|
/* 02C852B4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C852B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C852B8 */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02C852BC */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C852BC */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C852C0 */ cpu->r[12] = 0x00000300u;
|
|
/* 02C852C4 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02C852C8 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02C852C8 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[12]);
|
|
/* 02C852CC */ Gambit_fn_02C85200(cpu);
|
|
/* 02C852D0 */ _t23 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C852D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C852D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C852D8 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C852DC */ return;
|
|
}
|
|
|
|
// fn_02C85268 @ 0x2c85268
|
|
void Gambit_fn_02C85268(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02C85268: ; // 0x2c85268
|
|
/* 02C85268 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C85268 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C85268 */ cpu->r[1] = _t0;
|
|
/* 02C8526C */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8526C */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02C85270 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C85270 */ rbrew_write32(cpu->mem, _t2, cpu->r[8]);
|
|
/* 02C85274 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02C85274 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02C85278 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02C85278 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C8527C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02C8527C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C85280 */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 02C85280 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02C85284 */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 02C85284 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C85288 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02C85288 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02C8528C */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C8528C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C8528C */ if (_t10) goto L_02C85290; else goto L_02C852B0;
|
|
L_02C85290: ; // 0x2c85290
|
|
/* 02C85290 */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 02C85290 */ rbrew_write_f64(cpu->mem, _t11, cpu->f[3]);
|
|
/* 02C85294 */ _t12 = cpu->r[1] + 0x00000068u;
|
|
/* 02C85294 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[7]);
|
|
/* 02C85298 */ _t13 = cpu->r[1] + 0x00000060u;
|
|
/* 02C85298 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[6]);
|
|
/* 02C8529C */ _t14 = cpu->r[1] + 0x00000040u;
|
|
/* 02C8529C */ rbrew_write_f64(cpu->mem, _t14, cpu->f[2]);
|
|
/* 02C852A0 */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 02C852A0 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[4]);
|
|
/* 02C852A4 */ _t16 = cpu->r[1] + 0x00000070u;
|
|
/* 02C852A4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[8]);
|
|
/* 02C852A8 */ _t17 = cpu->r[1] + 0x00000058u;
|
|
/* 02C852A8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[5]);
|
|
/* 02C852AC */ _t18 = cpu->r[1] + 0x00000038u;
|
|
/* 02C852AC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[1]);
|
|
L_02C852B0: ; // 0x2c852b0
|
|
/* 02C852B0 */ cpu->r[12] = cpu->r[1] + 0x00000080u;
|
|
/* 02C852B4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C852B4 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C852B8 */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02C852BC */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C852BC */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C852C0 */ cpu->r[12] = 0x00000300u;
|
|
/* 02C852C4 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02C852C8 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C852C8 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[12]);
|
|
/* 02C852CC */ Gambit_fn_02C85200(cpu);
|
|
/* 02C852D0 */ _t22 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C852D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C852D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C852D8 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C852DC */ return;
|
|
}
|
|
|
|
// fn_02C852E0 @ 0x2c852e0
|
|
void Gambit_fn_02C852E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C852E0: ; // 0x2c852e0
|
|
/* 02C852E0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C852E4 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C852E8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C852EC */ cpu->r[4] = 0x02C80000u;
|
|
/* 02C852F0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C852F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C852F4 */ cpu->r[4] = cpu->r[4] + 0x000053A4u;
|
|
/* 02C852F8 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C852F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C852F8 */ cpu->r[1] = _t1;
|
|
/* 02C852FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C852FC */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 02C85300 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C85304 */ Gambit_fn_02C84C74(cpu);
|
|
/* 02C85308 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85308 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C8530C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85310 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02C85310 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02C85314 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C85314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C85318 */ cpu->lr = cpu->r[0];
|
|
/* 02C8531C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C85320 */ return;
|
|
}
|
|
|
|
// fn_02C852F8 @ 0x2c852f8
|
|
void Gambit_fn_02C852F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C852F8: ; // 0x2c852f8
|
|
/* 02C852F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C852F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C852F8 */ cpu->r[1] = _t0;
|
|
/* 02C852FC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C852FC */ rbrew_write32(cpu->mem, _t1, cpu->r[3]);
|
|
/* 02C85300 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C85304 */ Gambit_fn_02C84C74(cpu);
|
|
/* 02C85308 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85308 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C8530C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85310 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 02C85310 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[12]);
|
|
/* 02C85314 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C85314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C85318 */ cpu->lr = cpu->r[0];
|
|
/* 02C8531C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C85320 */ return;
|
|
}
|
|
|
|
// fn_02C85324 @ 0x2c85324
|
|
void Gambit_fn_02C85324(CPUState* 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_02C85324: ; // 0x2c85324
|
|
/* 02C85324 */ cpu->r[0] = cpu->lr;
|
|
/* 02C85328 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C85328 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C8532C */ _t1 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C8532C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C8532C */ cpu->r[1] = _t1;
|
|
/* 02C85330 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C85330 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02C85334 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C85334 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02C85338 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02C85338 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02C8533C */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C8533C */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02C85340 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02C85340 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C85344 */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 02C85344 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 02C85348 */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02C85348 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C8534C */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02C8534C */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 02C85350 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C85350 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C85350 */ if (_t11) goto L_02C85354; else goto L_02C85374;
|
|
L_02C85354: ; // 0x2c85354
|
|
/* 02C85354 */ _t12 = cpu->r[1] + 0x00000048u;
|
|
/* 02C85354 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[3]);
|
|
/* 02C85358 */ _t13 = cpu->r[1] + 0x00000068u;
|
|
/* 02C85358 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[7]);
|
|
/* 02C8535C */ _t14 = cpu->r[1] + 0x00000060u;
|
|
/* 02C8535C */ rbrew_write_f64(cpu->mem, _t14, cpu->f[6]);
|
|
/* 02C85360 */ _t15 = cpu->r[1] + 0x00000040u;
|
|
/* 02C85360 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[2]);
|
|
/* 02C85364 */ _t16 = cpu->r[1] + 0x00000050u;
|
|
/* 02C85364 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[4]);
|
|
/* 02C85368 */ _t17 = cpu->r[1] + 0x00000070u;
|
|
/* 02C85368 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[8]);
|
|
/* 02C8536C */ _t18 = cpu->r[1] + 0x00000058u;
|
|
/* 02C8536C */ rbrew_write_f64(cpu->mem, _t18, cpu->f[5]);
|
|
/* 02C85370 */ _t19 = cpu->r[1] + 0x00000038u;
|
|
/* 02C85370 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[1]);
|
|
L_02C85374: ; // 0x2c85374
|
|
/* 02C85374 */ cpu->r[12] = cpu->r[1] + 0x00000080u;
|
|
/* 02C85378 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C85378 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C8537C */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02C85380 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C85380 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C85384 */ cpu->r[12] = 0x00000200u;
|
|
/* 02C85388 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C8538C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8538C */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[12]);
|
|
/* 02C85390 */ Gambit_fn_02C852E0(cpu);
|
|
/* 02C85394 */ _t23 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C85394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C85398 */ cpu->lr = cpu->r[0];
|
|
/* 02C8539C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C853A0 */ return;
|
|
}
|
|
|
|
// fn_02C8532C @ 0x2c8532c
|
|
void Gambit_fn_02C8532C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02C8532C: ; // 0x2c8532c
|
|
/* 02C8532C */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C8532C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8532C */ cpu->r[1] = _t0;
|
|
/* 02C85330 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C85330 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02C85334 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C85334 */ rbrew_write32(cpu->mem, _t2, cpu->r[8]);
|
|
/* 02C85338 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02C85338 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02C8533C */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02C8533C */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C85340 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02C85340 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C85344 */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 02C85344 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02C85348 */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 02C85348 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C8534C */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02C8534C */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02C85350 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C85350 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C85350 */ if (_t10) goto L_02C85354; else goto L_02C85374;
|
|
L_02C85354: ; // 0x2c85354
|
|
/* 02C85354 */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 02C85354 */ rbrew_write_f64(cpu->mem, _t11, cpu->f[3]);
|
|
/* 02C85358 */ _t12 = cpu->r[1] + 0x00000068u;
|
|
/* 02C85358 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[7]);
|
|
/* 02C8535C */ _t13 = cpu->r[1] + 0x00000060u;
|
|
/* 02C8535C */ rbrew_write_f64(cpu->mem, _t13, cpu->f[6]);
|
|
/* 02C85360 */ _t14 = cpu->r[1] + 0x00000040u;
|
|
/* 02C85360 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[2]);
|
|
/* 02C85364 */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 02C85364 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[4]);
|
|
/* 02C85368 */ _t16 = cpu->r[1] + 0x00000070u;
|
|
/* 02C85368 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[8]);
|
|
/* 02C8536C */ _t17 = cpu->r[1] + 0x00000058u;
|
|
/* 02C8536C */ rbrew_write_f64(cpu->mem, _t17, cpu->f[5]);
|
|
/* 02C85370 */ _t18 = cpu->r[1] + 0x00000038u;
|
|
/* 02C85370 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[1]);
|
|
L_02C85374: ; // 0x2c85374
|
|
/* 02C85374 */ cpu->r[12] = cpu->r[1] + 0x00000080u;
|
|
/* 02C85378 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C85378 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C8537C */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02C85380 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C85380 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C85384 */ cpu->r[12] = 0x00000200u;
|
|
/* 02C85388 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C8538C */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8538C */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[12]);
|
|
/* 02C85390 */ Gambit_fn_02C852E0(cpu);
|
|
/* 02C85394 */ _t22 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C85394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C85398 */ cpu->lr = cpu->r[0];
|
|
/* 02C8539C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C853A0 */ return;
|
|
}
|
|
|
|
// fn_02C853BC @ 0x2c853bc
|
|
void Gambit_fn_02C853BC(CPUState* 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_02C853BC: ; // 0x2c853bc
|
|
/* 02C853BC */ cpu->r[0] = cpu->lr;
|
|
/* 02C853C0 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C853C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C853C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C853C4 */ cpu->r[1] = _t0;
|
|
/* 02C853C8 */ Gambit_fn_02C8A538(cpu);
|
|
/* 02C853CC */ cpu->r[9] = cpu->r[4];
|
|
/* 02C853CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C853D0 */ cpu->f[11] = cpu->f[1];
|
|
/* 02C853D4 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C853D8 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C853D8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C853D8 */ if (_t2) goto L_02C853E4; else goto L_02C853DC;
|
|
L_02C853DC: ; // 0x2c853dc
|
|
/* 02C853DC */ cpu->r[12] = rbrew_clz32(cpu->r[5]);
|
|
/* 02C853E0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
L_02C853E4: ; // 0x2c853e4
|
|
/* 02C853E4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C853E8 */ _t3 = cpu->r[12] + 0x00004658u;
|
|
/* 02C853E8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C853EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 02C853F0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C853F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C853F0 */ if (_t5) goto L_02C853F4; else goto L_02C853F8;
|
|
L_02C853F4: ; // 0x2c853f4
|
|
/* 02C853F4 */ cpu->f[11] = -cpu->f[11];
|
|
L_02C853F8: ; // 0x2c853f8
|
|
/* 02C853F8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C853FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 02C85400 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C85404 */ _t6 = cpu->r[12] + 0x00004660u;
|
|
/* 02C85404 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 02C85408 */ cpu->r[12] = cpu->r[7];
|
|
/* 02C8540C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8540C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C8540C */ if (_t8) goto L_02C854C4; else goto L_02C85410;
|
|
L_02C85410: ; // 0x2c85410
|
|
/* 02C85410 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02C85414 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C85418 */ cpu->r[10] = cpu->r[10] + 0x000046D0u;
|
|
/* 02C8541C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8541C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C8541C */ if (_t10) goto L_02C8546C; else goto L_02C85420;
|
|
L_02C85420: ; // 0x2c85420
|
|
/* 02C85420 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C85424 */ goto L_02C85458;
|
|
L_02C85428: ; // 0x2c85428
|
|
/* 02C85428 */ cpu->r[11] = cpu->r[6] + 0x101B0000u;
|
|
/* 02C8542C */ cpu->r[12] = cpu->r[12] + cpu->r[4];
|
|
/* 02C85430 */ _t11 = cpu->r[11] + 0x000046A0u;
|
|
/* 02C85430 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 02C85434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00004E20u);
|
|
/* 02C85438 */ cpu->f[11] = cpu->f[11] * cpu->f[0];
|
|
/* 02C8543C */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8543C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C8543C */ if (_t13) goto L_02C854C4; else goto L_02C85440;
|
|
L_02C85440: ; // 0x2c85440
|
|
/* 02C85440 */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C85444 */ cpu->r[11] = cpu->r[6] + 0x101B0000u;
|
|
/* 02C85448 */ _t14 = cpu->r[11] + 0x00004688u;
|
|
/* 02C85448 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02C8544C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 02C85450 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85450 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C85450 */ if (_t16) goto L_02C85454; else goto L_02C85428;
|
|
L_02C85454: ; // 0x2c85454
|
|
/* 02C85454 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C85458: ; // 0x2c85458
|
|
/* 02C85458 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C8545C */ _t17 = cpu->r[11] + cpu->r[10];
|
|
/* 02C8545C */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C85460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C85464 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85464 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C85464 */ if (_t19) goto L_02C854C4; else goto L_02C85468;
|
|
L_02C85468: ; // 0x2c85468
|
|
/* 02C85468 */ goto L_02C85440;
|
|
L_02C8546C: ; // 0x2c8546c
|
|
/* 02C8546C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C85470 */ _t20 = cpu->r[11] + 0x00004668u;
|
|
/* 02C85470 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02C85474 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 02C85478 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85478 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C85478 */ if (_t22) goto L_02C8547C; else goto L_02C854C4;
|
|
L_02C8547C: ; // 0x2c8547c
|
|
/* 02C8547C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C85480 */ goto L_02C854B4;
|
|
L_02C85484: ; // 0x2c85484
|
|
/* 02C85484 */ cpu->r[11] = cpu->r[6] + 0x101B0000u;
|
|
/* 02C85488 */ _t23 = cpu->r[11] + 0x00004670u;
|
|
/* 02C85488 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 02C8548C */ cpu->f[11] = cpu->f[11] * cpu->f[12];
|
|
/* 02C85490 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 02C85494 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85494 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C85494 */ if (_t25) goto L_02C854B0; else goto L_02C85498;
|
|
L_02C85498: ; // 0x2c85498
|
|
/* 02C85498 */ cpu->r[12] = cpu->r[12] - cpu->r[4];
|
|
L_02C8549C: ; // 0x2c8549c
|
|
/* 02C8549C */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C854A0 */ cpu->r[11] = cpu->r[6] + 0x101B0000u;
|
|
/* 02C854A4 */ _t26 = cpu->r[11] + 0x000046B8u;
|
|
/* 02C854A4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 02C854A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 02C854AC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C854AC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C854AC */ if (_t28) goto L_02C85484; else goto L_02C854B0;
|
|
L_02C854B0: ; // 0x2c854b0
|
|
/* 02C854B0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C854B4: ; // 0x2c854b4
|
|
/* 02C854B4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C854B8 */ _t29 = cpu->r[11] + cpu->r[10];
|
|
/* 02C854B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C854BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C854C0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C854C0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C854C0 */ if (_t31) goto L_02C854C4; else goto L_02C8549C;
|
|
L_02C854C4: ; // 0x2c854c4
|
|
/* 02C854C4 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02C854C8 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C854C8 */ rbrew_write_f64(cpu->mem, _t32, cpu->f[0]);
|
|
/* 02C854CC */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C854CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C854D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C854D4 */ Gambit_fn_02C8A190(cpu);
|
|
/* 02C854D8 */ cpu->f[0] = cpu->f[11] - cpu->f[1];
|
|
/* 02C854DC */ cpu->r[4] = 0x00990000u;
|
|
/* 02C854E0 */ cpu->f[11] = cpu->f[13] * cpu->f[0];
|
|
/* 02C854E4 */ cpu->r[4] = cpu->r[4] + 0xFFFF9680u;
|
|
L_02C854E8: ; // 0x2c854e8
|
|
/* 02C854E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 02C854EC */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C854EC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C854EC */ if (_t35) goto L_02C854F0; else goto L_02C854FC;
|
|
L_02C854F0: ; // 0x2c854f0
|
|
/* 02C854F0 */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C854F4 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[4] / (int32_t)cpu->r[11]);
|
|
/* 02C854F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C854F8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C854F8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C854F8 */ if (_t37) goto L_02C854FC; else goto L_02C854E8;
|
|
L_02C854FC: ; // 0x2c854fc
|
|
/* 02C854FC */ cpu->r[6] = cpu->r[9];
|
|
/* 02C85500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000038u);
|
|
/* 02C85504 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C85508 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85508 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C85508 */ if (_t39) goto L_02C85514; else goto L_02C8550C;
|
|
L_02C8550C: ; // 0x2c8550c
|
|
/* 02C8550C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C85510 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85510 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C85510 */ if (_t41) goto L_02C85550; else goto L_02C85514;
|
|
L_02C85514: ; // 0x2c85514
|
|
/* 02C85514 */ cpu->r[6] = 0x00000038u;
|
|
/* 02C85518 */ goto L_02C85550;
|
|
L_02C8551C: ; // 0x2c8551c
|
|
/* 02C8551C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02C85520 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85520 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C85520 */ if (_t43) goto L_02C85544; else goto L_02C85524;
|
|
L_02C85524: ; // 0x2c85524
|
|
/* 02C85524 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[30] / (int32_t)cpu->r[4]);
|
|
/* 02C85528 */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C8552C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[10] / (int32_t)cpu->r[11]);
|
|
/* 02C85530 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Au);
|
|
/* 02C85534 */ cpu->r[11] = cpu->r[10] - cpu->r[11];
|
|
/* 02C85538 */ cpu->r[11] = cpu->r[11] + 0x00000030u;
|
|
/* 02C8553C */ _t44 = cpu->r[8] + cpu->r[31];
|
|
/* 02C8553C */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[11]);
|
|
/* 02C85540 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C85544: ; // 0x2c85544
|
|
/* 02C85544 */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C85548 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[4] / (int32_t)cpu->r[11]);
|
|
/* 02C8554C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
L_02C85550: ; // 0x2c85550
|
|
/* 02C85550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C85554 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85554 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C85554 */ if (_t46) goto L_02C85558; else goto L_02C8551C;
|
|
L_02C85558: ; // 0x2c85558
|
|
/* 02C85558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C8555C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8555C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C8555C */ if (_t48) goto L_02C855D4; else goto L_02C85560;
|
|
L_02C85560: ; // 0x2c85560
|
|
/* 02C85560 */ cpu->r[9] = cpu->r[9] + cpu->r[12];
|
|
/* 02C85564 */ cpu->r[6] = cpu->r[9];
|
|
/* 02C85568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000038u);
|
|
/* 02C8556C */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8556C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C8556C */ if (_t50) goto L_02C85570; else goto L_02C855D4;
|
|
L_02C85570: ; // 0x2c85570
|
|
/* 02C85570 */ cpu->r[6] = 0x00000038u;
|
|
/* 02C85574 */ goto L_02C855D4;
|
|
L_02C85578: ; // 0x2c85578
|
|
/* 02C85578 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02C8557C */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8557C */ rbrew_write_f64(cpu->mem, _t51, cpu->f[0]);
|
|
/* 02C85580 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C85580 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C85584 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C85588 */ Gambit_fn_02C8A190(cpu);
|
|
/* 02C8558C */ cpu->f[11] = cpu->f[11] - cpu->f[1];
|
|
/* 02C85590 */ cpu->r[4] = 0x00990000u;
|
|
/* 02C85594 */ cpu->r[4] = cpu->r[4] + 0xFFFF9680u;
|
|
/* 02C85598 */ cpu->f[11] = cpu->f[11] * cpu->f[13];
|
|
/* 02C8559C */ goto L_02C855A8;
|
|
L_02C855A0: ; // 0x2c855a0
|
|
/* 02C855A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02C855A4 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C855A4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C855A4 */ if (_t54) goto L_02C855C8; else goto L_02C855A8;
|
|
L_02C855A8: ; // 0x2c855a8
|
|
/* 02C855A8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[30] / (int32_t)cpu->r[4]);
|
|
/* 02C855AC */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C855B0 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[10] / (int32_t)cpu->r[11]);
|
|
/* 02C855B4 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Au);
|
|
/* 02C855B8 */ cpu->r[11] = cpu->r[10] - cpu->r[11];
|
|
/* 02C855BC */ cpu->r[11] = cpu->r[11] + 0x00000030u;
|
|
/* 02C855C0 */ _t55 = cpu->r[8] + cpu->r[31];
|
|
/* 02C855C0 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[11]);
|
|
/* 02C855C4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C855C8: ; // 0x2c855c8
|
|
/* 02C855C8 */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C855CC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[4] / (int32_t)cpu->r[11]);
|
|
/* 02C855CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C855D0 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C855D0 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C855D0 */ if (_t57) goto L_02C855A0; else goto L_02C855D4;
|
|
L_02C855D4: ; // 0x2c855d4
|
|
/* 02C855D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02C855D8 */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C855D8 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C855D8 */ if (_t59) goto L_02C855DC; else goto L_02C85578;
|
|
L_02C855DC: ; // 0x2c855dc
|
|
/* 02C855DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C855E0 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C855E0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C855E0 */ if (_t61) goto L_02C85604; else goto L_02C855E4;
|
|
L_02C855E4: ; // 0x2c855e4
|
|
/* 02C855E4 */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C855E4 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C855E4 */ if (_t63) goto L_02C8560C; else goto L_02C855E8;
|
|
L_02C855E8: ; // 0x2c855e8
|
|
/* 02C855E8 */ _t64 = cpu->r[8] + 0x00000000u;
|
|
/* 02C855E8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02C855EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000035u);
|
|
/* 02C855F0 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C855F0 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C855F0 */ if (_t66) goto L_02C85604; else goto L_02C855F4;
|
|
L_02C855F4: ; // 0x2c855f4
|
|
/* 02C855F4 */ cpu->r[11] = 0x00003100u;
|
|
/* 02C855F8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C855FC */ _t67 = cpu->r[8] + 0x00000000u;
|
|
/* 02C855FC */ rbrew_write16(cpu->mem, _t67, (uint16_t)cpu->r[11]);
|
|
/* 02C85600 */ goto L_02C8569C;
|
|
L_02C85604: ; // 0x2c85604
|
|
/* 02C85604 */ _t68 = cpu->r[8] + 0x00000000u;
|
|
/* 02C85604 */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[7]);
|
|
/* 02C85608 */ goto L_02C8569C;
|
|
L_02C8560C: ; // 0x2c8560c
|
|
/* 02C8560C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[6]);
|
|
/* 02C85610 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85610 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C85610 */ if (_t70) goto L_02C85698; else goto L_02C85614;
|
|
L_02C85614: ; // 0x2c85614
|
|
/* 02C85614 */ _t71 = cpu->r[8] + cpu->r[9];
|
|
/* 02C85614 */ cpu->r[10] = rbrew_read8(cpu->mem, _t71);
|
|
/* 02C85618 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000035u);
|
|
/* 02C8561C */ cpu->r[11] = cpu->r[8] + cpu->r[9];
|
|
/* 02C85620 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85620 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C85620 */ if (_t73) goto L_02C85690; else goto L_02C85624;
|
|
L_02C85624: ; // 0x2c85624
|
|
/* 02C85624 */ _t74 = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C85624 */ cpu->r[10] = rbrew_read8(cpu->mem, _t74);
|
|
/* 02C85628 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C8562C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C85630 */ goto L_02C85648;
|
|
L_02C85634: ; // 0x2c85634
|
|
/* 02C85634 */ cpu->r[10] = 0x00000030u;
|
|
/* 02C85638 */ _t75 = cpu->r[11] + 0x00000000u;
|
|
/* 02C85638 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[10]);
|
|
/* 02C8563C */ _t76 = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C8563C */ cpu->r[10] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02C85640 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C85644 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
L_02C85648: ; // 0x2c85648
|
|
/* 02C85648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C8564C */ _t77 = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C8564C */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[10]);
|
|
/* 02C85650 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85650 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C85650 */ if (_t79) goto L_02C85654; else goto L_02C85664;
|
|
L_02C85654: ; // 0x2c85654
|
|
/* 02C85654 */ _t80 = cpu->r[8] + cpu->r[31];
|
|
/* 02C85654 */ cpu->r[10] = rbrew_read8(cpu->mem, _t80);
|
|
/* 02C85658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000003Au);
|
|
/* 02C8565C */ cpu->r[11] = cpu->r[8] + cpu->r[31];
|
|
/* 02C85660 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85660 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C85660 */ if (_t82) goto L_02C85634; else goto L_02C85664;
|
|
L_02C85664: ; // 0x2c85664
|
|
/* 02C85664 */ _t83 = cpu->r[8] + 0x00000000u;
|
|
/* 02C85664 */ cpu->r[11] = rbrew_read8(cpu->mem, _t83);
|
|
/* 02C85668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000003Au);
|
|
/* 02C8566C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8566C */ _t85 = _t84 & 0x00000001u;
|
|
/* 02C8566C */ if (_t85) goto L_02C85670; else goto L_02C85690;
|
|
L_02C85670: ; // 0x2c85670
|
|
/* 02C85670 */ cpu->r[11] = 0x00000031u;
|
|
/* 02C85674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C85678 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C8567C */ _t86 = cpu->r[8] + 0x00000000u;
|
|
/* 02C8567C */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[11]);
|
|
/* 02C85680 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85680 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C85680 */ if (_t88) goto L_02C85690; else goto L_02C85684;
|
|
L_02C85684: ; // 0x2c85684
|
|
/* 02C85684 */ cpu->r[11] = 0x00000030u;
|
|
/* 02C85688 */ _t89 = cpu->r[8] + cpu->r[9];
|
|
/* 02C85688 */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[11]);
|
|
/* 02C8568C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
L_02C85690: ; // 0x2c85690
|
|
/* 02C85690 */ _t90 = cpu->r[8] + cpu->r[9];
|
|
/* 02C85690 */ rbrew_write8(cpu->mem, _t90, (uint8_t)cpu->r[7]);
|
|
/* 02C85694 */ goto L_02C8569C;
|
|
L_02C85698: ; // 0x2c85698
|
|
/* 02C85698 */ _t91 = cpu->r[8] + cpu->r[6];
|
|
/* 02C85698 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[7]);
|
|
L_02C8569C: ; // 0x2c8569c
|
|
/* 02C8569C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C856A0 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C856A4 */ goto L_02C8A590;
|
|
L_02C8A590: ; // 0x2c8a590
|
|
/* 02C8A590 */ _t92 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C8A594 */ _t93 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02C8A598 */ _t94 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C853C4 @ 0x2c853c4
|
|
void Gambit_fn_02C853C4(CPUState* 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_02C853C4: ; // 0x2c853c4
|
|
/* 02C853C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C853C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C853C4 */ cpu->r[1] = _t0;
|
|
/* 02C853C8 */ Gambit_fn_02C8A538(cpu);
|
|
/* 02C853CC */ cpu->r[9] = cpu->r[4];
|
|
/* 02C853CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C853D0 */ cpu->f[11] = cpu->f[1];
|
|
/* 02C853D4 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C853D8 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C853D8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C853D8 */ if (_t2) goto L_02C853E4; else goto L_02C853DC;
|
|
L_02C853DC: ; // 0x2c853dc
|
|
/* 02C853DC */ cpu->r[12] = rbrew_clz32(cpu->r[5]);
|
|
/* 02C853E0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
L_02C853E4: ; // 0x2c853e4
|
|
/* 02C853E4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C853E8 */ _t3 = cpu->r[12] + 0x00004658u;
|
|
/* 02C853E8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C853EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 02C853F0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C853F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C853F0 */ if (_t5) goto L_02C853F4; else goto L_02C853F8;
|
|
L_02C853F4: ; // 0x2c853f4
|
|
/* 02C853F4 */ cpu->f[11] = -cpu->f[11];
|
|
L_02C853F8: ; // 0x2c853f8
|
|
/* 02C853F8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C853FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 02C85400 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C85404 */ _t6 = cpu->r[12] + 0x00004660u;
|
|
/* 02C85404 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 02C85408 */ cpu->r[12] = cpu->r[7];
|
|
/* 02C8540C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8540C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C8540C */ if (_t8) goto L_02C854C4; else goto L_02C85410;
|
|
L_02C85410: ; // 0x2c85410
|
|
/* 02C85410 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02C85414 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C85418 */ cpu->r[10] = cpu->r[10] + 0x000046D0u;
|
|
/* 02C8541C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8541C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C8541C */ if (_t10) goto L_02C8546C; else goto L_02C85420;
|
|
L_02C85420: ; // 0x2c85420
|
|
/* 02C85420 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C85424 */ goto L_02C85458;
|
|
L_02C85428: ; // 0x2c85428
|
|
/* 02C85428 */ cpu->r[11] = cpu->r[6] + 0x101B0000u;
|
|
/* 02C8542C */ cpu->r[12] = cpu->r[12] + cpu->r[4];
|
|
/* 02C85430 */ _t11 = cpu->r[11] + 0x000046A0u;
|
|
/* 02C85430 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 02C85434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00004E20u);
|
|
/* 02C85438 */ cpu->f[11] = cpu->f[11] * cpu->f[0];
|
|
/* 02C8543C */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8543C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C8543C */ if (_t13) goto L_02C854C4; else goto L_02C85440;
|
|
L_02C85440: ; // 0x2c85440
|
|
/* 02C85440 */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C85444 */ cpu->r[11] = cpu->r[6] + 0x101B0000u;
|
|
/* 02C85448 */ _t14 = cpu->r[11] + 0x00004688u;
|
|
/* 02C85448 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02C8544C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 02C85450 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85450 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C85450 */ if (_t16) goto L_02C85454; else goto L_02C85428;
|
|
L_02C85454: ; // 0x2c85454
|
|
/* 02C85454 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C85458: ; // 0x2c85458
|
|
/* 02C85458 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C8545C */ _t17 = cpu->r[11] + cpu->r[10];
|
|
/* 02C8545C */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C85460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C85464 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85464 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C85464 */ if (_t19) goto L_02C854C4; else goto L_02C85468;
|
|
L_02C85468: ; // 0x2c85468
|
|
/* 02C85468 */ goto L_02C85440;
|
|
L_02C8546C: ; // 0x2c8546c
|
|
/* 02C8546C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C85470 */ _t20 = cpu->r[11] + 0x00004668u;
|
|
/* 02C85470 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02C85474 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 02C85478 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85478 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C85478 */ if (_t22) goto L_02C8547C; else goto L_02C854C4;
|
|
L_02C8547C: ; // 0x2c8547c
|
|
/* 02C8547C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C85480 */ goto L_02C854B4;
|
|
L_02C85484: ; // 0x2c85484
|
|
/* 02C85484 */ cpu->r[11] = cpu->r[6] + 0x101B0000u;
|
|
/* 02C85488 */ _t23 = cpu->r[11] + 0x00004670u;
|
|
/* 02C85488 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 02C8548C */ cpu->f[11] = cpu->f[11] * cpu->f[12];
|
|
/* 02C85490 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 02C85494 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85494 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C85494 */ if (_t25) goto L_02C854B0; else goto L_02C85498;
|
|
L_02C85498: ; // 0x2c85498
|
|
/* 02C85498 */ cpu->r[12] = cpu->r[12] - cpu->r[4];
|
|
L_02C8549C: ; // 0x2c8549c
|
|
/* 02C8549C */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C854A0 */ cpu->r[11] = cpu->r[6] + 0x101B0000u;
|
|
/* 02C854A4 */ _t26 = cpu->r[11] + 0x000046B8u;
|
|
/* 02C854A4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 02C854A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 02C854AC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C854AC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C854AC */ if (_t28) goto L_02C85484; else goto L_02C854B0;
|
|
L_02C854B0: ; // 0x2c854b0
|
|
/* 02C854B0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C854B4: ; // 0x2c854b4
|
|
/* 02C854B4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C854B8 */ _t29 = cpu->r[11] + cpu->r[10];
|
|
/* 02C854B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C854BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C854C0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C854C0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C854C0 */ if (_t31) goto L_02C854C4; else goto L_02C8549C;
|
|
L_02C854C4: ; // 0x2c854c4
|
|
/* 02C854C4 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02C854C8 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C854C8 */ rbrew_write_f64(cpu->mem, _t32, cpu->f[0]);
|
|
/* 02C854CC */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C854CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C854D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C854D4 */ Gambit_fn_02C8A190(cpu);
|
|
/* 02C854D8 */ cpu->f[0] = cpu->f[11] - cpu->f[1];
|
|
/* 02C854DC */ cpu->r[4] = 0x00990000u;
|
|
/* 02C854E0 */ cpu->f[11] = cpu->f[13] * cpu->f[0];
|
|
/* 02C854E4 */ cpu->r[4] = cpu->r[4] + 0xFFFF9680u;
|
|
L_02C854E8: ; // 0x2c854e8
|
|
/* 02C854E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 02C854EC */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C854EC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C854EC */ if (_t35) goto L_02C854F0; else goto L_02C854FC;
|
|
L_02C854F0: ; // 0x2c854f0
|
|
/* 02C854F0 */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C854F4 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[4] / (int32_t)cpu->r[11]);
|
|
/* 02C854F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C854F8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C854F8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C854F8 */ if (_t37) goto L_02C854FC; else goto L_02C854E8;
|
|
L_02C854FC: ; // 0x2c854fc
|
|
/* 02C854FC */ cpu->r[6] = cpu->r[9];
|
|
/* 02C85500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000038u);
|
|
/* 02C85504 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C85508 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85508 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C85508 */ if (_t39) goto L_02C85514; else goto L_02C8550C;
|
|
L_02C8550C: ; // 0x2c8550c
|
|
/* 02C8550C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C85510 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85510 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C85510 */ if (_t41) goto L_02C85550; else goto L_02C85514;
|
|
L_02C85514: ; // 0x2c85514
|
|
/* 02C85514 */ cpu->r[6] = 0x00000038u;
|
|
/* 02C85518 */ goto L_02C85550;
|
|
L_02C8551C: ; // 0x2c8551c
|
|
/* 02C8551C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02C85520 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85520 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C85520 */ if (_t43) goto L_02C85544; else goto L_02C85524;
|
|
L_02C85524: ; // 0x2c85524
|
|
/* 02C85524 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[30] / (int32_t)cpu->r[4]);
|
|
/* 02C85528 */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C8552C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[10] / (int32_t)cpu->r[11]);
|
|
/* 02C85530 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Au);
|
|
/* 02C85534 */ cpu->r[11] = cpu->r[10] - cpu->r[11];
|
|
/* 02C85538 */ cpu->r[11] = cpu->r[11] + 0x00000030u;
|
|
/* 02C8553C */ _t44 = cpu->r[8] + cpu->r[31];
|
|
/* 02C8553C */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[11]);
|
|
/* 02C85540 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C85544: ; // 0x2c85544
|
|
/* 02C85544 */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C85548 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[4] / (int32_t)cpu->r[11]);
|
|
/* 02C8554C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
L_02C85550: ; // 0x2c85550
|
|
/* 02C85550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C85554 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85554 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C85554 */ if (_t46) goto L_02C85558; else goto L_02C8551C;
|
|
L_02C85558: ; // 0x2c85558
|
|
/* 02C85558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C8555C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8555C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C8555C */ if (_t48) goto L_02C855D4; else goto L_02C85560;
|
|
L_02C85560: ; // 0x2c85560
|
|
/* 02C85560 */ cpu->r[9] = cpu->r[9] + cpu->r[12];
|
|
/* 02C85564 */ cpu->r[6] = cpu->r[9];
|
|
/* 02C85568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000038u);
|
|
/* 02C8556C */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8556C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C8556C */ if (_t50) goto L_02C85570; else goto L_02C855D4;
|
|
L_02C85570: ; // 0x2c85570
|
|
/* 02C85570 */ cpu->r[6] = 0x00000038u;
|
|
/* 02C85574 */ goto L_02C855D4;
|
|
L_02C85578: ; // 0x2c85578
|
|
/* 02C85578 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02C8557C */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8557C */ rbrew_write_f64(cpu->mem, _t51, cpu->f[0]);
|
|
/* 02C85580 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C85580 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C85584 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C85588 */ Gambit_fn_02C8A190(cpu);
|
|
/* 02C8558C */ cpu->f[11] = cpu->f[11] - cpu->f[1];
|
|
/* 02C85590 */ cpu->r[4] = 0x00990000u;
|
|
/* 02C85594 */ cpu->r[4] = cpu->r[4] + 0xFFFF9680u;
|
|
/* 02C85598 */ cpu->f[11] = cpu->f[11] * cpu->f[13];
|
|
/* 02C8559C */ goto L_02C855A8;
|
|
L_02C855A0: ; // 0x2c855a0
|
|
/* 02C855A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02C855A4 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C855A4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C855A4 */ if (_t54) goto L_02C855C8; else goto L_02C855A8;
|
|
L_02C855A8: ; // 0x2c855a8
|
|
/* 02C855A8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[30] / (int32_t)cpu->r[4]);
|
|
/* 02C855AC */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C855B0 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[10] / (int32_t)cpu->r[11]);
|
|
/* 02C855B4 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Au);
|
|
/* 02C855B8 */ cpu->r[11] = cpu->r[10] - cpu->r[11];
|
|
/* 02C855BC */ cpu->r[11] = cpu->r[11] + 0x00000030u;
|
|
/* 02C855C0 */ _t55 = cpu->r[8] + cpu->r[31];
|
|
/* 02C855C0 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[11]);
|
|
/* 02C855C4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C855C8: ; // 0x2c855c8
|
|
/* 02C855C8 */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C855CC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[4] / (int32_t)cpu->r[11]);
|
|
/* 02C855CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C855D0 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C855D0 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C855D0 */ if (_t57) goto L_02C855A0; else goto L_02C855D4;
|
|
L_02C855D4: ; // 0x2c855d4
|
|
/* 02C855D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02C855D8 */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C855D8 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C855D8 */ if (_t59) goto L_02C855DC; else goto L_02C85578;
|
|
L_02C855DC: ; // 0x2c855dc
|
|
/* 02C855DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C855E0 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C855E0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C855E0 */ if (_t61) goto L_02C85604; else goto L_02C855E4;
|
|
L_02C855E4: ; // 0x2c855e4
|
|
/* 02C855E4 */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C855E4 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C855E4 */ if (_t63) goto L_02C8560C; else goto L_02C855E8;
|
|
L_02C855E8: ; // 0x2c855e8
|
|
/* 02C855E8 */ _t64 = cpu->r[8] + 0x00000000u;
|
|
/* 02C855E8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02C855EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000035u);
|
|
/* 02C855F0 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C855F0 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C855F0 */ if (_t66) goto L_02C85604; else goto L_02C855F4;
|
|
L_02C855F4: ; // 0x2c855f4
|
|
/* 02C855F4 */ cpu->r[11] = 0x00003100u;
|
|
/* 02C855F8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C855FC */ _t67 = cpu->r[8] + 0x00000000u;
|
|
/* 02C855FC */ rbrew_write16(cpu->mem, _t67, (uint16_t)cpu->r[11]);
|
|
/* 02C85600 */ goto L_02C8569C;
|
|
L_02C85604: ; // 0x2c85604
|
|
/* 02C85604 */ _t68 = cpu->r[8] + 0x00000000u;
|
|
/* 02C85604 */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[7]);
|
|
/* 02C85608 */ goto L_02C8569C;
|
|
L_02C8560C: ; // 0x2c8560c
|
|
/* 02C8560C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[6]);
|
|
/* 02C85610 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85610 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C85610 */ if (_t70) goto L_02C85698; else goto L_02C85614;
|
|
L_02C85614: ; // 0x2c85614
|
|
/* 02C85614 */ _t71 = cpu->r[8] + cpu->r[9];
|
|
/* 02C85614 */ cpu->r[10] = rbrew_read8(cpu->mem, _t71);
|
|
/* 02C85618 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000035u);
|
|
/* 02C8561C */ cpu->r[11] = cpu->r[8] + cpu->r[9];
|
|
/* 02C85620 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85620 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C85620 */ if (_t73) goto L_02C85690; else goto L_02C85624;
|
|
L_02C85624: ; // 0x2c85624
|
|
/* 02C85624 */ _t74 = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C85624 */ cpu->r[10] = rbrew_read8(cpu->mem, _t74);
|
|
/* 02C85628 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C8562C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C85630 */ goto L_02C85648;
|
|
L_02C85634: ; // 0x2c85634
|
|
/* 02C85634 */ cpu->r[10] = 0x00000030u;
|
|
/* 02C85638 */ _t75 = cpu->r[11] + 0x00000000u;
|
|
/* 02C85638 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[10]);
|
|
/* 02C8563C */ _t76 = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C8563C */ cpu->r[10] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02C85640 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C85644 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
L_02C85648: ; // 0x2c85648
|
|
/* 02C85648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C8564C */ _t77 = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C8564C */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[10]);
|
|
/* 02C85650 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85650 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C85650 */ if (_t79) goto L_02C85654; else goto L_02C85664;
|
|
L_02C85654: ; // 0x2c85654
|
|
/* 02C85654 */ _t80 = cpu->r[8] + cpu->r[31];
|
|
/* 02C85654 */ cpu->r[10] = rbrew_read8(cpu->mem, _t80);
|
|
/* 02C85658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000003Au);
|
|
/* 02C8565C */ cpu->r[11] = cpu->r[8] + cpu->r[31];
|
|
/* 02C85660 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85660 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C85660 */ if (_t82) goto L_02C85634; else goto L_02C85664;
|
|
L_02C85664: ; // 0x2c85664
|
|
/* 02C85664 */ _t83 = cpu->r[8] + 0x00000000u;
|
|
/* 02C85664 */ cpu->r[11] = rbrew_read8(cpu->mem, _t83);
|
|
/* 02C85668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000003Au);
|
|
/* 02C8566C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8566C */ _t85 = _t84 & 0x00000001u;
|
|
/* 02C8566C */ if (_t85) goto L_02C85670; else goto L_02C85690;
|
|
L_02C85670: ; // 0x2c85670
|
|
/* 02C85670 */ cpu->r[11] = 0x00000031u;
|
|
/* 02C85674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C85678 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C8567C */ _t86 = cpu->r[8] + 0x00000000u;
|
|
/* 02C8567C */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[11]);
|
|
/* 02C85680 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85680 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C85680 */ if (_t88) goto L_02C85690; else goto L_02C85684;
|
|
L_02C85684: ; // 0x2c85684
|
|
/* 02C85684 */ cpu->r[11] = 0x00000030u;
|
|
/* 02C85688 */ _t89 = cpu->r[8] + cpu->r[9];
|
|
/* 02C85688 */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[11]);
|
|
/* 02C8568C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
L_02C85690: ; // 0x2c85690
|
|
/* 02C85690 */ _t90 = cpu->r[8] + cpu->r[9];
|
|
/* 02C85690 */ rbrew_write8(cpu->mem, _t90, (uint8_t)cpu->r[7]);
|
|
/* 02C85694 */ goto L_02C8569C;
|
|
L_02C85698: ; // 0x2c85698
|
|
/* 02C85698 */ _t91 = cpu->r[8] + cpu->r[6];
|
|
/* 02C85698 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[7]);
|
|
L_02C8569C: ; // 0x2c8569c
|
|
/* 02C8569C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C856A0 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C856A4 */ goto L_02C8A590;
|
|
L_02C8A590: ; // 0x2c8a590
|
|
/* 02C8A590 */ _t92 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C8A594 */ _t93 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02C8A598 */ _t94 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C856A8 @ 0x2c856a8
|
|
void Gambit_fn_02C856A8(CPUState* 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;
|
|
|
|
L_02C856A8: ; // 0x2c856a8
|
|
/* 02C856A8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C856AC */ cpu->r[11] = cpu->r[1];
|
|
/* 02C856B0 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C856B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C856B0 */ cpu->r[1] = _t0;
|
|
/* 02C856B4 */ Gambit_fn_02C8A398(cpu);
|
|
/* 02C856B8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C856BC */ Gambit_fn_02C8A46C(cpu);
|
|
/* 02C856C0 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C856C4 */ cpu->r[29] = cpu->r[7];
|
|
/* 02C856C8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C856CC */ cpu->r[30] = cpu->r[5];
|
|
/* 02C856D0 */ cpu->r[26] = cpu->r[4];
|
|
/* 02C856D4 */ _t1 = cpu->r[12] + 0x000046E0u;
|
|
/* 02C856D4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C856D8 */ cpu->r[28] = cpu->r[6];
|
|
/* 02C856DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000002Bu);
|
|
/* 02C856E0 */ cpu->r[25] = 0x0000000Au;
|
|
/* 02C856E4 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C856E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C856E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C856E8 */ if (_t3) goto L_02C856F4; else goto L_02C856EC;
|
|
L_02C856EC: ; // 0x2c856ec
|
|
/* 02C856EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000002Du);
|
|
/* 02C856F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C856F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C856F0 */ if (_t5) goto L_02C856F4; else goto L_02C85710;
|
|
L_02C856F4: ; // 0x2c856f4
|
|
/* 02C856F4 */ cpu->r[12] = cpu->r[30] ^ 0x0000002Du;
|
|
/* 02C856F8 */ cpu->r[12] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C856FC */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85700 */ cpu->r[23] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C85704 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85708 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C8570C */ cpu->r[30] = cpu->r[3];
|
|
L_02C85710: ; // 0x2c85710
|
|
/* 02C85710 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85714 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85718 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8571C */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85720 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85724 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C8572C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8572C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C8572C */ if (_t7) goto L_02C85730; else goto L_02C8581C;
|
|
L_02C85730: ; // 0x2c85730
|
|
/* 02C85730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000003u);
|
|
/* 02C85734 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85734 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C85734 */ if (_t9) goto L_02C8581C; else goto L_02C85738;
|
|
L_02C85738: ; // 0x2c85738
|
|
/* 02C85738 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C8573C */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85740 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C85744 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85744 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C85744 */ if (_t11) goto L_02C859B8; else goto L_02C85748;
|
|
L_02C85748: ; // 0x2c85748
|
|
/* 02C85748 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C8574C */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85750 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85754 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85758 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C8575C */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000061u);
|
|
/* 02C85764 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85764 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C85764 */ if (_t13) goto L_02C85768; else goto L_02C859B8;
|
|
L_02C85768: ; // 0x2c85768
|
|
/* 02C85768 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C8576C */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85770 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C85774 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85774 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C85774 */ if (_t15) goto L_02C859B8; else goto L_02C85778;
|
|
L_02C85778: ; // 0x2c85778
|
|
/* 02C85778 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C8577C */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85780 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85784 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85788 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C8578C */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C85794 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85794 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C85794 */ if (_t17) goto L_02C85798; else goto L_02C859B8;
|
|
L_02C85798: ; // 0x2c85798
|
|
/* 02C85798 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C8579C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFDu;
|
|
/* 02C857A0 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C857A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C857A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000028u);
|
|
/* 02C857AC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C857AC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C857AC */ if (_t19) goto L_02C857B0; else goto L_02C857F0;
|
|
L_02C857B0: ; // 0x2c857b0
|
|
/* 02C857B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C857B4 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C857B8 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C857B8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C857B8 */ if (_t21) goto L_02C857BC; else goto L_02C857F0;
|
|
L_02C857BC: ; // 0x2c857bc
|
|
/* 02C857BC */ cpu->r[3] = cpu->r[26];
|
|
/* 02C857C0 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C857C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C857C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0xFFFFFFFFu);
|
|
/* 02C857CC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C857CC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C857CC */ if (_t23) goto L_02C857E4; else goto L_02C857D0;
|
|
L_02C857D0: ; // 0x2c857d0
|
|
/* 02C857D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000029u);
|
|
/* 02C857D4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C857D4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C857D4 */ if (_t25) goto L_02C857E4; else goto L_02C857D8;
|
|
L_02C857D8: ; // 0x2c857d8
|
|
/* 02C857D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C857DC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C857E0 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C857E0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C857E0 */ if (_t27) goto L_02C857BC; else goto L_02C857E4;
|
|
L_02C857E4: ; // 0x2c857e4
|
|
/* 02C857E4 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C857E8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C857EC */ cpu->r[30] = cpu->r[3];
|
|
L_02C857F0: ; // 0x2c857f0
|
|
/* 02C857F0 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C857F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C857F8 */ cpu->r[3] = cpu->r[3] + 0x00004700u;
|
|
/* 02C857FC */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C857FC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C857FC */ if (_t29) goto L_02C85814; else goto L_02C85800;
|
|
L_02C85800: ; // 0x2c85800
|
|
/* 02C85800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C85804 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85804 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C85804 */ if (_t31) goto L_02C85814; else goto L_02C85808;
|
|
L_02C85808: ; // 0x2c85808
|
|
/* 02C85808 */ Gambit_fn_02C88310(cpu);
|
|
/* 02C8580C */ _t32 = cpu->r[27] + 0x00000000u;
|
|
/* 02C8580C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[1]);
|
|
/* 02C85810 */ goto L_02C85CB4;
|
|
L_02C85814: ; // 0x2c85814
|
|
/* 02C85814 */ Gambit_fn_02C87B80(cpu);
|
|
/* 02C85818 */ goto L_02C85C50;
|
|
L_02C8581C: ; // 0x2c8581c
|
|
/* 02C8581C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000069u);
|
|
/* 02C85820 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85820 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C85820 */ if (_t34) goto L_02C85824; else goto L_02C859C4;
|
|
L_02C85824: ; // 0x2c85824
|
|
/* 02C85824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000003u);
|
|
/* 02C85828 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85828 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C85828 */ if (_t36) goto L_02C859C4; else goto L_02C8582C;
|
|
L_02C8582C: ; // 0x2c8582c
|
|
/* 02C8582C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85830 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85834 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C85838 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85838 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C85838 */ if (_t38) goto L_02C859B8; else goto L_02C8583C;
|
|
L_02C8583C: ; // 0x2c8583c
|
|
/* 02C8583C */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85840 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85844 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85848 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C8584C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85850 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C85858 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85858 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C85858 */ if (_t40) goto L_02C8585C; else goto L_02C859B8;
|
|
L_02C8585C: ; // 0x2c8585c
|
|
/* 02C8585C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85860 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85864 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C85868 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85868 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C85868 */ if (_t42) goto L_02C859B8; else goto L_02C8586C;
|
|
L_02C8586C: ; // 0x2c8586c
|
|
/* 02C8586C */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85870 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85874 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85878 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C8587C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85880 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000066u);
|
|
/* 02C85888 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85888 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C85888 */ if (_t44) goto L_02C8588C; else goto L_02C859B8;
|
|
L_02C8588C: ; // 0x2c8588c
|
|
/* 02C8588C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85890 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85894 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85898 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C8589C */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C858A0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C858A4 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C858A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C858AC */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C858B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000069u);
|
|
/* 02C858B4 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C858B4 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C858B4 */ if (_t46) goto L_02C858B8; else goto L_02C8599C;
|
|
L_02C858B8: ; // 0x2c858b8
|
|
/* 02C858B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000008u);
|
|
/* 02C858BC */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C858BC */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C858BC */ if (_t48) goto L_02C8599C; else goto L_02C858C0;
|
|
L_02C858C0: ; // 0x2c858c0
|
|
/* 02C858C0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C858C4 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C858C8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C858C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C858CC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C858CC */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C858CC */ if (_t50) goto L_02C85990; else goto L_02C858D0;
|
|
L_02C858D0: ; // 0x2c858d0
|
|
/* 02C858D0 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C858D4 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C858D8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C858DC */ cpu->r[12] = cpu->r[12];
|
|
/* 02C858E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C858E4 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C858E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C858EC */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C858EC */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C858EC */ if (_t52) goto L_02C858F0; else goto L_02C85990;
|
|
L_02C858F0: ; // 0x2c858f0
|
|
/* 02C858F0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C858F4 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C858F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C858F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C858FC */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C858FC */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C858FC */ if (_t54) goto L_02C85990; else goto L_02C85900;
|
|
L_02C85900: ; // 0x2c85900
|
|
/* 02C85900 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85904 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85908 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8590C */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85910 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85914 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000069u);
|
|
/* 02C8591C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8591C */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C8591C */ if (_t56) goto L_02C85920; else goto L_02C85990;
|
|
L_02C85920: ; // 0x2c85920
|
|
/* 02C85920 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85924 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85928 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C8592C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8592C */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C8592C */ if (_t58) goto L_02C85990; else goto L_02C85930;
|
|
L_02C85930: ; // 0x2c85930
|
|
/* 02C85930 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85934 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85938 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8593C */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85940 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85944 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000074u);
|
|
/* 02C8594C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8594C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C8594C */ if (_t60) goto L_02C85950; else goto L_02C85990;
|
|
L_02C85950: ; // 0x2c85950
|
|
/* 02C85950 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85954 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85958 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C8595C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8595C */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C8595C */ if (_t62) goto L_02C85990; else goto L_02C85960;
|
|
L_02C85960: ; // 0x2c85960
|
|
/* 02C85960 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85964 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85968 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8596C */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85970 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85974 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000079u);
|
|
/* 02C8597C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8597C */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C8597C */ if (_t64) goto L_02C85980; else goto L_02C85990;
|
|
L_02C85980: ; // 0x2c85980
|
|
/* 02C85980 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85984 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85988 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C8598C */ goto L_02C8599C;
|
|
L_02C85990: ; // 0x2c85990
|
|
/* 02C85990 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C85994 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C85998 */ Gambit_fn_02C85CE4(cpu);
|
|
L_02C8599C: ; // 0x2c8599c
|
|
/* 02C8599C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C859A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C859A4 */ _t65 = cpu->r[12] + 0x000046E8u;
|
|
/* 02C859A4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 02C859A8 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C859A8 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C859A8 */ if (_t67) goto L_02C85C8C; else goto L_02C859AC;
|
|
L_02C859AC: ; // 0x2c859ac
|
|
/* 02C859AC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C859B0 */ _t68 = cpu->r[12] + 0x000046F0u;
|
|
/* 02C859B0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 02C859B4 */ goto L_02C85C8C;
|
|
L_02C859B8: ; // 0x2c859b8
|
|
/* 02C859B8 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C859BC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C859C0 */ Gambit_fn_02C85CE4(cpu);
|
|
L_02C859C4: ; // 0x2c859c4
|
|
/* 02C859C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000030u);
|
|
/* 02C859C8 */ cpu->r[22] = 0x00000000u;
|
|
/* 02C859CC */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C859CC */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C859CC */ if (_t70) goto L_02C859D0; else goto L_02C85A7C;
|
|
L_02C859D0: ; // 0x2c859d0
|
|
/* 02C859D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C859D4 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C859D8 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C859D8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C859D8 */ if (_t72) goto L_02C859DC; else goto L_02C85A7C;
|
|
L_02C859DC: ; // 0x2c859dc
|
|
/* 02C859DC */ cpu->r[3] = cpu->r[26];
|
|
/* 02C859E0 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C859E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C859E8 */ cpu->r[12] = cpu->r[31] + 0xFFFFFFBFu;
|
|
/* 02C859EC */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C859F0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C859F4 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C859F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C859FC */ cpu->r[12] = cpu->r[31] + cpu->r[12];
|
|
/* 02C85A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000078u);
|
|
/* 02C85A04 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85A04 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C85A04 */ if (_t74) goto L_02C85A08; else goto L_02C85A74;
|
|
L_02C85A08: ; // 0x2c85a08
|
|
/* 02C85A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C85A0C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C85A10 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85A10 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02C85A10 */ if (_t76) goto L_02C85A14; else goto L_02C85A74;
|
|
L_02C85A14: ; // 0x2c85a14
|
|
/* 02C85A14 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85A18 */ cpu->r[25] = 0x00000010u;
|
|
/* 02C85A1C */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85A20 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85A24 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFD0u;
|
|
/* 02C85A28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000009u);
|
|
/* 02C85A2C */ _t77 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85A2C */ _t78 = _t77 & 0x00000001u;
|
|
/* 02C85A2C */ if (_t78) goto L_02C85A30; else goto L_02C85A7C;
|
|
L_02C85A30: ; // 0x2c85a30
|
|
/* 02C85A30 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85A34 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85A38 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85A3C */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85A40 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85A44 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000061u);
|
|
/* 02C85A4C */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85A4C */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C85A4C */ if (_t80) goto L_02C85A58; else goto L_02C85A50;
|
|
L_02C85A50: ; // 0x2c85a50
|
|
/* 02C85A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000066u);
|
|
/* 02C85A54 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85A54 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C85A54 */ if (_t82) goto L_02C85A58; else goto L_02C85A7C;
|
|
L_02C85A58: ; // 0x2c85a58
|
|
/* 02C85A58 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C85A5C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C85A60 */ Gambit_fn_02C85CE4(cpu);
|
|
/* 02C85A64 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C85A68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C85A6C */ Gambit_fn_02C85CE4(cpu);
|
|
/* 02C85A70 */ goto L_02C85A78;
|
|
L_02C85A74: ; // 0x2c85a74
|
|
/* 02C85A74 */ cpu->r[30] = cpu->r[31];
|
|
L_02C85A78: ; // 0x2c85a78
|
|
/* 02C85A78 */ cpu->r[22] = 0x00000001u;
|
|
L_02C85A7C: ; // 0x2c85a7c
|
|
/* 02C85A7C */ cpu->r[24] = 0x80000000u;
|
|
/* 02C85A80 */ goto L_02C85AD0;
|
|
L_02C85A84: ; // 0x2c85a84
|
|
/* 02C85A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000002Eu);
|
|
/* 02C85A88 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85A88 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C85A88 */ if (_t84) goto L_02C85A8C; else goto L_02C85AA4;
|
|
L_02C85A8C: ; // 0x2c85a8c
|
|
/* 02C85A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C85A90 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85A90 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C85A90 */ if (_t86) goto L_02C85A9C; else goto L_02C85A94;
|
|
L_02C85A94: ; // 0x2c85a94
|
|
/* 02C85A94 */ cpu->r[22] = 0x00000000u;
|
|
/* 02C85A98 */ goto L_02C85B20;
|
|
L_02C85A9C: ; // 0x2c85a9c
|
|
/* 02C85A9C */ cpu->r[24] = 0x00000000u;
|
|
/* 02C85AA0 */ goto L_02C85AC4;
|
|
L_02C85AA4: ; // 0x2c85aa4
|
|
/* 02C85AA4 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C85AA8 */ cpu->r[22] = 0x00000001u;
|
|
/* 02C85AAC */ Gambit_fn_02C8A190(cpu);
|
|
/* 02C85AB0 */ cpu->f[0] = cpu->f[31] * cpu->f[1];
|
|
/* 02C85AB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C85AB8 */ Gambit_fn_02C8A190(cpu);
|
|
/* 02C85ABC */ cpu->f[31] = cpu->f[0] + cpu->f[1];
|
|
/* 02C85AC0 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
L_02C85AC4: ; // 0x2c85ac4
|
|
/* 02C85AC4 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85AC8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85ACC */ cpu->r[30] = cpu->r[3];
|
|
L_02C85AD0: ; // 0x2c85ad0
|
|
/* 02C85AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000002Eu);
|
|
/* 02C85AD4 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85AD4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C85AD4 */ if (_t88) goto L_02C85B08; else goto L_02C85AD8;
|
|
L_02C85AD8: ; // 0x2c85ad8
|
|
/* 02C85AD8 */ cpu->r[31] = cpu->r[30] + 0xFFFFFFD0u;
|
|
/* 02C85ADC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000009u);
|
|
/* 02C85AE0 */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85AE0 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C85AE0 */ if (_t90) goto L_02C85AE4; else goto L_02C85B00;
|
|
L_02C85AE4: ; // 0x2c85ae4
|
|
/* 02C85AE4 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85AE8 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85AEC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85AF0 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85AF4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85AF8 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85AFC */ cpu->r[31] = cpu->r[12] + 0xFFFFFFA9u;
|
|
L_02C85B00: ; // 0x2c85b00
|
|
/* 02C85B00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[25]);
|
|
/* 02C85B04 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85B04 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C85B04 */ if (_t92) goto L_02C85B08; else goto L_02C85B14;
|
|
L_02C85B08: ; // 0x2c85b08
|
|
/* 02C85B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C85B0C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C85B10 */ _t93 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85B10 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02C85B10 */ if (_t94) goto L_02C85A84; else goto L_02C85B14;
|
|
L_02C85B14: ; // 0x2c85b14
|
|
/* 02C85B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C85B18 */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85B18 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02C85B18 */ if (_t96) goto L_02C85B1C; else goto L_02C85B20;
|
|
L_02C85B1C: ; // 0x2c85b1c
|
|
/* 02C85B1C */ cpu->r[24] = 0x00000000u;
|
|
L_02C85B20: ; // 0x2c85b20
|
|
/* 02C85B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C85B24 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85B24 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02C85B24 */ if (_t98) goto L_02C85B2C; else goto L_02C85B28;
|
|
L_02C85B28: ; // 0x2c85b28
|
|
/* 02C85B28 */ cpu->f[31] = -cpu->f[31];
|
|
L_02C85B2C: ; // 0x2c85b2c
|
|
/* 02C85B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C85B30 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85B30 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02C85B30 */ if (_t100) goto L_02C85B34; else goto L_02C85B3C;
|
|
L_02C85B34: ; // 0x2c85b34
|
|
/* 02C85B34 */ cpu->r[30] = 0xFFFFFFFDu - cpu->r[30];
|
|
/* 02C85B38 */ goto L_02C85CB4;
|
|
L_02C85B3C: ; // 0x2c85b3c
|
|
/* 02C85B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C85B40 */ cpu->r[11] = 0x00000065u;
|
|
/* 02C85B44 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85B44 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02C85B44 */ if (_t102) goto L_02C85B48; else goto L_02C85B4C;
|
|
L_02C85B48: ; // 0x2c85b48
|
|
/* 02C85B48 */ cpu->r[11] = 0x00000070u;
|
|
L_02C85B4C: ; // 0x2c85b4c
|
|
/* 02C85B4C */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85B50 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85B54 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85B58 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85B5C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85B60 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85B64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02C85B68 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85B68 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02C85B68 */ if (_t104) goto L_02C85B6C; else goto L_02C85C34;
|
|
L_02C85B6C: ; // 0x2c85b6c
|
|
/* 02C85B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C85B70 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C85B74 */ _t105 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85B74 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C85B74 */ if (_t106) goto L_02C85B78; else goto L_02C85C34;
|
|
L_02C85B78: ; // 0x2c85b78
|
|
/* 02C85B78 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85B7C */ cpu->r[21] = 0x00000000u;
|
|
/* 02C85B80 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85B84 */ cpu->r[23] = cpu->r[3];
|
|
/* 02C85B88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x0000002Du);
|
|
/* 02C85B8C */ cpu->r[20] = cpu->r[21];
|
|
/* 02C85B90 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85B90 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02C85B90 */ if (_t108) goto L_02C85B9C; else goto L_02C85B94;
|
|
L_02C85B94: ; // 0x2c85b94
|
|
/* 02C85B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x0000002Bu);
|
|
/* 02C85B98 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85B98 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02C85B98 */ if (_t110) goto L_02C85B9C; else goto L_02C85BB8;
|
|
L_02C85B9C: ; // 0x2c85b9c
|
|
/* 02C85B9C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85BA0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C85BA4 */ cpu->r[21] = cpu->r[23];
|
|
/* 02C85BA8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85BAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C85BB0 */ cpu->r[22] = 0xFFFFFFFFu;
|
|
/* 02C85BB4 */ goto L_02C85BE0;
|
|
L_02C85BB8: ; // 0x2c85bb8
|
|
/* 02C85BB8 */ cpu->r[31] = cpu->r[23];
|
|
/* 02C85BBC */ cpu->r[22] = 0x00000000u;
|
|
/* 02C85BC0 */ goto L_02C85BE0;
|
|
L_02C85BC4: ; // 0x2c85bc4
|
|
/* 02C85BC4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[20] * (int32_t)0x0000000Au);
|
|
/* 02C85BC8 */ cpu->r[22] = 0x00000001u;
|
|
/* 02C85BCC */ cpu->r[12] = cpu->r[12] + cpu->r[31];
|
|
/* 02C85BD0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85BD4 */ cpu->r[20] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 02C85BD8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85BDC */ cpu->r[31] = cpu->r[3];
|
|
L_02C85BE0: ; // 0x2c85be0
|
|
/* 02C85BE0 */ cpu->r[12] = cpu->r[31] + 0xFFFFFFD0u;
|
|
/* 02C85BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000009u);
|
|
/* 02C85BE8 */ _t111 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85BE8 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02C85BE8 */ if (_t112) goto L_02C85BF8; else goto L_02C85BEC;
|
|
L_02C85BEC: ; // 0x2c85bec
|
|
/* 02C85BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C85BF0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C85BF4 */ _t113 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85BF4 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02C85BF4 */ if (_t114) goto L_02C85BC4; else goto L_02C85BF8;
|
|
L_02C85BF8: ; // 0x2c85bf8
|
|
/* 02C85BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C85BFC */ _t115 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85BFC */ _t116 = _t115 & 0x00000001u;
|
|
/* 02C85BFC */ if (_t116) goto L_02C85C00; else goto L_02C85C0C;
|
|
L_02C85C00: ; // 0x2c85c00
|
|
/* 02C85C00 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C85C04 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C85C08 */ Gambit_fn_02C85CE4(cpu);
|
|
L_02C85C0C: ; // 0x2c85c0c
|
|
/* 02C85C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C85C10 */ _t117 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85C10 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02C85C10 */ if (_t118) goto L_02C85C20; else goto L_02C85C14;
|
|
L_02C85C14: ; // 0x2c85c14
|
|
/* 02C85C14 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C85C18 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C85C1C */ Gambit_fn_02C85CE4(cpu);
|
|
L_02C85C20: ; // 0x2c85c20
|
|
/* 02C85C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x0000002Du);
|
|
/* 02C85C24 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85C24 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02C85C24 */ if (_t120) goto L_02C85C28; else goto L_02C85C2C;
|
|
L_02C85C28: ; // 0x2c85c28
|
|
/* 02C85C28 */ cpu->r[20] = (uint32_t)(-(int32_t)cpu->r[20]);
|
|
L_02C85C2C: ; // 0x2c85c2c
|
|
/* 02C85C2C */ cpu->r[30] = cpu->r[31];
|
|
/* 02C85C30 */ goto L_02C85C38;
|
|
L_02C85C34: ; // 0x2c85c34
|
|
/* 02C85C34 */ cpu->r[20] = 0x00000000u;
|
|
L_02C85C38: ; // 0x2c85c38
|
|
/* 02C85C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C85C3C */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85C3C */ _t122 = _t121 & 0x00000001u;
|
|
/* 02C85C3C */ if (_t122) goto L_02C85C40; else goto L_02C85C58;
|
|
L_02C85C40: ; // 0x2c85c40
|
|
/* 02C85C40 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C85C44 */ cpu->r[12] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C85C48 */ cpu->r[3] = cpu->r[20] - cpu->r[12];
|
|
/* 02C85C4C */ Gambit_fn_02C87B7C(cpu);
|
|
L_02C85C50: ; // 0x2c85c50
|
|
/* 02C85C50 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C85C54 */ goto L_02C85C8C;
|
|
L_02C85C58: ; // 0x2c85c58
|
|
/* 02C85C58 */ cpu->r[20] = cpu->r[20] - cpu->r[24];
|
|
/* 02C85C5C */ goto L_02C85C68;
|
|
L_02C85C60: ; // 0x2c85c60
|
|
/* 02C85C60 */ cpu->f[31] = cpu->f[31] * cpu->f[0];
|
|
/* 02C85C64 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu;
|
|
L_02C85C68: ; // 0x2c85c68
|
|
/* 02C85C68 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C85C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02C85C70 */ _t123 = cpu->r[12] + 0x000046F8u;
|
|
/* 02C85C70 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t123);
|
|
/* 02C85C74 */ _t124 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85C74 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02C85C74 */ if (_t125) goto L_02C85C60; else goto L_02C85C78;
|
|
L_02C85C78: ; // 0x2c85c78
|
|
/* 02C85C78 */ goto L_02C85C80;
|
|
L_02C85C7C: ; // 0x2c85c7c
|
|
/* 02C85C7C */ cpu->f[31] = cpu->f[31] / cpu->f[0];
|
|
L_02C85C80: ; // 0x2c85c80
|
|
/* 02C85C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02C85C84 */ cpu->r[20] = cpu->r[20] + 0x00000001u;
|
|
/* 02C85C88 */ _t126 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85C88 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02C85C88 */ if (_t127) goto L_02C85C7C; else goto L_02C85C8C;
|
|
L_02C85C8C: ; // 0x2c85c8c
|
|
/* 02C85C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C85C90 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85C90 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02C85C90 */ if (_t129) goto L_02C85CB4; else goto L_02C85C94;
|
|
L_02C85C94: ; // 0x2c85c94
|
|
/* 02C85C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 02C85C98 */ _t130 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85C98 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02C85C98 */ if (_t131) goto L_02C85CA4; else goto L_02C85C9C;
|
|
L_02C85C9C: ; // 0x2c85c9c
|
|
/* 02C85C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C85CA0 */ _t132 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85CA0 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02C85CA0 */ if (_t133) goto L_02C85CA4; else goto L_02C85CAC;
|
|
L_02C85CA4: ; // 0x2c85ca4
|
|
/* 02C85CA4 */ _t134 = cpu->r[27] + 0x00000000u;
|
|
/* 02C85CA4 */ rbrew_write_f64(cpu->mem, _t134, cpu->f[31]);
|
|
/* 02C85CA8 */ goto L_02C85CB4;
|
|
L_02C85CAC: ; // 0x2c85cac
|
|
/* 02C85CAC */ cpu->f[0] = (double)(float)cpu->f[31];
|
|
/* 02C85CB0 */ _t135 = cpu->r[27] + 0x00000000u;
|
|
/* 02C85CB0 */ rbrew_write_f32(cpu->mem, _t135, cpu->f[0]);
|
|
L_02C85CB4: ; // 0x2c85cb4
|
|
/* 02C85CB4 */ cpu->r[11] = cpu->r[1] + 0x00000038u;
|
|
/* 02C85CB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C85CBC */ Gambit_fn_02C8A4C0(cpu);
|
|
/* 02C85CC0 */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 02C85CC4 */ goto L_02C8A434;
|
|
L_02C8A434: ; // 0x2c8a434
|
|
/* 02C8A434 */ _t136 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02C8A438 */ _t137 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 02C8A43C */ _t138 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t138);
|
|
/* 02C8A440 */ _t139 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t140 = _t139 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t140) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C856B0 @ 0x2c856b0
|
|
void Gambit_fn_02C856B0(CPUState* 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;
|
|
|
|
L_02C856B0: ; // 0x2c856b0
|
|
/* 02C856B0 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C856B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C856B0 */ cpu->r[1] = _t0;
|
|
/* 02C856B4 */ Gambit_fn_02C8A398(cpu);
|
|
/* 02C856B8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C856BC */ Gambit_fn_02C8A46C(cpu);
|
|
/* 02C856C0 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C856C4 */ cpu->r[29] = cpu->r[7];
|
|
/* 02C856C8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C856CC */ cpu->r[30] = cpu->r[5];
|
|
/* 02C856D0 */ cpu->r[26] = cpu->r[4];
|
|
/* 02C856D4 */ _t1 = cpu->r[12] + 0x000046E0u;
|
|
/* 02C856D4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C856D8 */ cpu->r[28] = cpu->r[6];
|
|
/* 02C856DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000002Bu);
|
|
/* 02C856E0 */ cpu->r[25] = 0x0000000Au;
|
|
/* 02C856E4 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C856E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C856E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C856E8 */ if (_t3) goto L_02C856F4; else goto L_02C856EC;
|
|
L_02C856EC: ; // 0x2c856ec
|
|
/* 02C856EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000002Du);
|
|
/* 02C856F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C856F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C856F0 */ if (_t5) goto L_02C856F4; else goto L_02C85710;
|
|
L_02C856F4: ; // 0x2c856f4
|
|
/* 02C856F4 */ cpu->r[12] = cpu->r[30] ^ 0x0000002Du;
|
|
/* 02C856F8 */ cpu->r[12] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C856FC */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85700 */ cpu->r[23] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C85704 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85708 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C8570C */ cpu->r[30] = cpu->r[3];
|
|
L_02C85710: ; // 0x2c85710
|
|
/* 02C85710 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85714 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85718 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8571C */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85720 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85724 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C8572C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8572C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C8572C */ if (_t7) goto L_02C85730; else goto L_02C8581C;
|
|
L_02C85730: ; // 0x2c85730
|
|
/* 02C85730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000003u);
|
|
/* 02C85734 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85734 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C85734 */ if (_t9) goto L_02C8581C; else goto L_02C85738;
|
|
L_02C85738: ; // 0x2c85738
|
|
/* 02C85738 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C8573C */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85740 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C85744 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85744 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C85744 */ if (_t11) goto L_02C859B8; else goto L_02C85748;
|
|
L_02C85748: ; // 0x2c85748
|
|
/* 02C85748 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C8574C */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85750 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85754 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85758 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C8575C */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000061u);
|
|
/* 02C85764 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85764 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C85764 */ if (_t13) goto L_02C85768; else goto L_02C859B8;
|
|
L_02C85768: ; // 0x2c85768
|
|
/* 02C85768 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C8576C */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85770 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C85774 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85774 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C85774 */ if (_t15) goto L_02C859B8; else goto L_02C85778;
|
|
L_02C85778: ; // 0x2c85778
|
|
/* 02C85778 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C8577C */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85780 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85784 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85788 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C8578C */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C85794 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85794 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C85794 */ if (_t17) goto L_02C85798; else goto L_02C859B8;
|
|
L_02C85798: ; // 0x2c85798
|
|
/* 02C85798 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C8579C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFDu;
|
|
/* 02C857A0 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C857A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C857A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000028u);
|
|
/* 02C857AC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C857AC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C857AC */ if (_t19) goto L_02C857B0; else goto L_02C857F0;
|
|
L_02C857B0: ; // 0x2c857b0
|
|
/* 02C857B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C857B4 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C857B8 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C857B8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C857B8 */ if (_t21) goto L_02C857BC; else goto L_02C857F0;
|
|
L_02C857BC: ; // 0x2c857bc
|
|
/* 02C857BC */ cpu->r[3] = cpu->r[26];
|
|
/* 02C857C0 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C857C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C857C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0xFFFFFFFFu);
|
|
/* 02C857CC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C857CC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C857CC */ if (_t23) goto L_02C857E4; else goto L_02C857D0;
|
|
L_02C857D0: ; // 0x2c857d0
|
|
/* 02C857D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000029u);
|
|
/* 02C857D4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C857D4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C857D4 */ if (_t25) goto L_02C857E4; else goto L_02C857D8;
|
|
L_02C857D8: ; // 0x2c857d8
|
|
/* 02C857D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C857DC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C857E0 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C857E0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C857E0 */ if (_t27) goto L_02C857BC; else goto L_02C857E4;
|
|
L_02C857E4: ; // 0x2c857e4
|
|
/* 02C857E4 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C857E8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C857EC */ cpu->r[30] = cpu->r[3];
|
|
L_02C857F0: ; // 0x2c857f0
|
|
/* 02C857F0 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C857F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C857F8 */ cpu->r[3] = cpu->r[3] + 0x00004700u;
|
|
/* 02C857FC */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C857FC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C857FC */ if (_t29) goto L_02C85814; else goto L_02C85800;
|
|
L_02C85800: ; // 0x2c85800
|
|
/* 02C85800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C85804 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85804 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C85804 */ if (_t31) goto L_02C85814; else goto L_02C85808;
|
|
L_02C85808: ; // 0x2c85808
|
|
/* 02C85808 */ Gambit_fn_02C88310(cpu);
|
|
/* 02C8580C */ _t32 = cpu->r[27] + 0x00000000u;
|
|
/* 02C8580C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[1]);
|
|
/* 02C85810 */ goto L_02C85CB4;
|
|
L_02C85814: ; // 0x2c85814
|
|
/* 02C85814 */ Gambit_fn_02C87B80(cpu);
|
|
/* 02C85818 */ goto L_02C85C50;
|
|
L_02C8581C: ; // 0x2c8581c
|
|
/* 02C8581C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000069u);
|
|
/* 02C85820 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85820 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C85820 */ if (_t34) goto L_02C85824; else goto L_02C859C4;
|
|
L_02C85824: ; // 0x2c85824
|
|
/* 02C85824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000003u);
|
|
/* 02C85828 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85828 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C85828 */ if (_t36) goto L_02C859C4; else goto L_02C8582C;
|
|
L_02C8582C: ; // 0x2c8582c
|
|
/* 02C8582C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85830 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85834 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C85838 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85838 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C85838 */ if (_t38) goto L_02C859B8; else goto L_02C8583C;
|
|
L_02C8583C: ; // 0x2c8583c
|
|
/* 02C8583C */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85840 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85844 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85848 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C8584C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85850 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C85858 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85858 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C85858 */ if (_t40) goto L_02C8585C; else goto L_02C859B8;
|
|
L_02C8585C: ; // 0x2c8585c
|
|
/* 02C8585C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85860 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85864 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C85868 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85868 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C85868 */ if (_t42) goto L_02C859B8; else goto L_02C8586C;
|
|
L_02C8586C: ; // 0x2c8586c
|
|
/* 02C8586C */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85870 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85874 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85878 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C8587C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85880 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000066u);
|
|
/* 02C85888 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85888 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C85888 */ if (_t44) goto L_02C8588C; else goto L_02C859B8;
|
|
L_02C8588C: ; // 0x2c8588c
|
|
/* 02C8588C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85890 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85894 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85898 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C8589C */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C858A0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C858A4 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C858A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C858AC */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C858B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000069u);
|
|
/* 02C858B4 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C858B4 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C858B4 */ if (_t46) goto L_02C858B8; else goto L_02C8599C;
|
|
L_02C858B8: ; // 0x2c858b8
|
|
/* 02C858B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000008u);
|
|
/* 02C858BC */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C858BC */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C858BC */ if (_t48) goto L_02C8599C; else goto L_02C858C0;
|
|
L_02C858C0: ; // 0x2c858c0
|
|
/* 02C858C0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C858C4 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C858C8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C858C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C858CC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C858CC */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C858CC */ if (_t50) goto L_02C85990; else goto L_02C858D0;
|
|
L_02C858D0: ; // 0x2c858d0
|
|
/* 02C858D0 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C858D4 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C858D8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C858DC */ cpu->r[12] = cpu->r[12];
|
|
/* 02C858E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C858E4 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C858E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C858EC */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C858EC */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C858EC */ if (_t52) goto L_02C858F0; else goto L_02C85990;
|
|
L_02C858F0: ; // 0x2c858f0
|
|
/* 02C858F0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C858F4 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C858F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C858F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C858FC */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C858FC */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C858FC */ if (_t54) goto L_02C85990; else goto L_02C85900;
|
|
L_02C85900: ; // 0x2c85900
|
|
/* 02C85900 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85904 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85908 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8590C */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85910 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85914 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000069u);
|
|
/* 02C8591C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8591C */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C8591C */ if (_t56) goto L_02C85920; else goto L_02C85990;
|
|
L_02C85920: ; // 0x2c85920
|
|
/* 02C85920 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85924 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85928 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C8592C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8592C */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C8592C */ if (_t58) goto L_02C85990; else goto L_02C85930;
|
|
L_02C85930: ; // 0x2c85930
|
|
/* 02C85930 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85934 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85938 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8593C */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85940 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85944 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000074u);
|
|
/* 02C8594C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8594C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C8594C */ if (_t60) goto L_02C85950; else goto L_02C85990;
|
|
L_02C85950: ; // 0x2c85950
|
|
/* 02C85950 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85954 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85958 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C8595C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8595C */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C8595C */ if (_t62) goto L_02C85990; else goto L_02C85960;
|
|
L_02C85960: ; // 0x2c85960
|
|
/* 02C85960 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85964 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85968 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8596C */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85970 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85974 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000079u);
|
|
/* 02C8597C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8597C */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C8597C */ if (_t64) goto L_02C85980; else goto L_02C85990;
|
|
L_02C85980: ; // 0x2c85980
|
|
/* 02C85980 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85984 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85988 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C8598C */ goto L_02C8599C;
|
|
L_02C85990: ; // 0x2c85990
|
|
/* 02C85990 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C85994 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C85998 */ Gambit_fn_02C85CE4(cpu);
|
|
L_02C8599C: ; // 0x2c8599c
|
|
/* 02C8599C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C859A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C859A4 */ _t65 = cpu->r[12] + 0x000046E8u;
|
|
/* 02C859A4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 02C859A8 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C859A8 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C859A8 */ if (_t67) goto L_02C85C8C; else goto L_02C859AC;
|
|
L_02C859AC: ; // 0x2c859ac
|
|
/* 02C859AC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C859B0 */ _t68 = cpu->r[12] + 0x000046F0u;
|
|
/* 02C859B0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 02C859B4 */ goto L_02C85C8C;
|
|
L_02C859B8: ; // 0x2c859b8
|
|
/* 02C859B8 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C859BC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C859C0 */ Gambit_fn_02C85CE4(cpu);
|
|
L_02C859C4: ; // 0x2c859c4
|
|
/* 02C859C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000030u);
|
|
/* 02C859C8 */ cpu->r[22] = 0x00000000u;
|
|
/* 02C859CC */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C859CC */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C859CC */ if (_t70) goto L_02C859D0; else goto L_02C85A7C;
|
|
L_02C859D0: ; // 0x2c859d0
|
|
/* 02C859D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C859D4 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C859D8 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C859D8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C859D8 */ if (_t72) goto L_02C859DC; else goto L_02C85A7C;
|
|
L_02C859DC: ; // 0x2c859dc
|
|
/* 02C859DC */ cpu->r[3] = cpu->r[26];
|
|
/* 02C859E0 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C859E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C859E8 */ cpu->r[12] = cpu->r[31] + 0xFFFFFFBFu;
|
|
/* 02C859EC */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C859F0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C859F4 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C859F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C859FC */ cpu->r[12] = cpu->r[31] + cpu->r[12];
|
|
/* 02C85A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000078u);
|
|
/* 02C85A04 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85A04 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C85A04 */ if (_t74) goto L_02C85A08; else goto L_02C85A74;
|
|
L_02C85A08: ; // 0x2c85a08
|
|
/* 02C85A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C85A0C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C85A10 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85A10 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02C85A10 */ if (_t76) goto L_02C85A14; else goto L_02C85A74;
|
|
L_02C85A14: ; // 0x2c85a14
|
|
/* 02C85A14 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85A18 */ cpu->r[25] = 0x00000010u;
|
|
/* 02C85A1C */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85A20 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C85A24 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFD0u;
|
|
/* 02C85A28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000009u);
|
|
/* 02C85A2C */ _t77 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85A2C */ _t78 = _t77 & 0x00000001u;
|
|
/* 02C85A2C */ if (_t78) goto L_02C85A30; else goto L_02C85A7C;
|
|
L_02C85A30: ; // 0x2c85a30
|
|
/* 02C85A30 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85A34 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85A38 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85A3C */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85A40 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85A44 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000061u);
|
|
/* 02C85A4C */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85A4C */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C85A4C */ if (_t80) goto L_02C85A58; else goto L_02C85A50;
|
|
L_02C85A50: ; // 0x2c85a50
|
|
/* 02C85A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000066u);
|
|
/* 02C85A54 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85A54 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C85A54 */ if (_t82) goto L_02C85A58; else goto L_02C85A7C;
|
|
L_02C85A58: ; // 0x2c85a58
|
|
/* 02C85A58 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C85A5C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C85A60 */ Gambit_fn_02C85CE4(cpu);
|
|
/* 02C85A64 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C85A68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C85A6C */ Gambit_fn_02C85CE4(cpu);
|
|
/* 02C85A70 */ goto L_02C85A78;
|
|
L_02C85A74: ; // 0x2c85a74
|
|
/* 02C85A74 */ cpu->r[30] = cpu->r[31];
|
|
L_02C85A78: ; // 0x2c85a78
|
|
/* 02C85A78 */ cpu->r[22] = 0x00000001u;
|
|
L_02C85A7C: ; // 0x2c85a7c
|
|
/* 02C85A7C */ cpu->r[24] = 0x80000000u;
|
|
/* 02C85A80 */ goto L_02C85AD0;
|
|
L_02C85A84: ; // 0x2c85a84
|
|
/* 02C85A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000002Eu);
|
|
/* 02C85A88 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85A88 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C85A88 */ if (_t84) goto L_02C85A8C; else goto L_02C85AA4;
|
|
L_02C85A8C: ; // 0x2c85a8c
|
|
/* 02C85A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C85A90 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85A90 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C85A90 */ if (_t86) goto L_02C85A9C; else goto L_02C85A94;
|
|
L_02C85A94: ; // 0x2c85a94
|
|
/* 02C85A94 */ cpu->r[22] = 0x00000000u;
|
|
/* 02C85A98 */ goto L_02C85B20;
|
|
L_02C85A9C: ; // 0x2c85a9c
|
|
/* 02C85A9C */ cpu->r[24] = 0x00000000u;
|
|
/* 02C85AA0 */ goto L_02C85AC4;
|
|
L_02C85AA4: ; // 0x2c85aa4
|
|
/* 02C85AA4 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C85AA8 */ cpu->r[22] = 0x00000001u;
|
|
/* 02C85AAC */ Gambit_fn_02C8A190(cpu);
|
|
/* 02C85AB0 */ cpu->f[0] = cpu->f[31] * cpu->f[1];
|
|
/* 02C85AB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C85AB8 */ Gambit_fn_02C8A190(cpu);
|
|
/* 02C85ABC */ cpu->f[31] = cpu->f[0] + cpu->f[1];
|
|
/* 02C85AC0 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
L_02C85AC4: ; // 0x2c85ac4
|
|
/* 02C85AC4 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85AC8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85ACC */ cpu->r[30] = cpu->r[3];
|
|
L_02C85AD0: ; // 0x2c85ad0
|
|
/* 02C85AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000002Eu);
|
|
/* 02C85AD4 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85AD4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C85AD4 */ if (_t88) goto L_02C85B08; else goto L_02C85AD8;
|
|
L_02C85AD8: ; // 0x2c85ad8
|
|
/* 02C85AD8 */ cpu->r[31] = cpu->r[30] + 0xFFFFFFD0u;
|
|
/* 02C85ADC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000009u);
|
|
/* 02C85AE0 */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85AE0 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C85AE0 */ if (_t90) goto L_02C85AE4; else goto L_02C85B00;
|
|
L_02C85AE4: ; // 0x2c85ae4
|
|
/* 02C85AE4 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85AE8 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85AEC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85AF0 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85AF4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85AF8 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85AFC */ cpu->r[31] = cpu->r[12] + 0xFFFFFFA9u;
|
|
L_02C85B00: ; // 0x2c85b00
|
|
/* 02C85B00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[25]);
|
|
/* 02C85B04 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85B04 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C85B04 */ if (_t92) goto L_02C85B08; else goto L_02C85B14;
|
|
L_02C85B08: ; // 0x2c85b08
|
|
/* 02C85B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C85B0C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C85B10 */ _t93 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85B10 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02C85B10 */ if (_t94) goto L_02C85A84; else goto L_02C85B14;
|
|
L_02C85B14: ; // 0x2c85b14
|
|
/* 02C85B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C85B18 */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85B18 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02C85B18 */ if (_t96) goto L_02C85B1C; else goto L_02C85B20;
|
|
L_02C85B1C: ; // 0x2c85b1c
|
|
/* 02C85B1C */ cpu->r[24] = 0x00000000u;
|
|
L_02C85B20: ; // 0x2c85b20
|
|
/* 02C85B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C85B24 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85B24 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02C85B24 */ if (_t98) goto L_02C85B2C; else goto L_02C85B28;
|
|
L_02C85B28: ; // 0x2c85b28
|
|
/* 02C85B28 */ cpu->f[31] = -cpu->f[31];
|
|
L_02C85B2C: ; // 0x2c85b2c
|
|
/* 02C85B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C85B30 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85B30 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02C85B30 */ if (_t100) goto L_02C85B34; else goto L_02C85B3C;
|
|
L_02C85B34: ; // 0x2c85b34
|
|
/* 02C85B34 */ cpu->r[30] = 0xFFFFFFFDu - cpu->r[30];
|
|
/* 02C85B38 */ goto L_02C85CB4;
|
|
L_02C85B3C: ; // 0x2c85b3c
|
|
/* 02C85B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C85B40 */ cpu->r[11] = 0x00000065u;
|
|
/* 02C85B44 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85B44 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02C85B44 */ if (_t102) goto L_02C85B48; else goto L_02C85B4C;
|
|
L_02C85B48: ; // 0x2c85b48
|
|
/* 02C85B48 */ cpu->r[11] = 0x00000070u;
|
|
L_02C85B4C: ; // 0x2c85b4c
|
|
/* 02C85B4C */ cpu->r[12] = cpu->r[30] + 0xFFFFFFBFu;
|
|
/* 02C85B50 */ cpu->r[12] = 0x00000019u - cpu->r[12];
|
|
/* 02C85B54 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C85B58 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C85B5C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C85B60 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02C85B64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02C85B68 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85B68 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02C85B68 */ if (_t104) goto L_02C85B6C; else goto L_02C85C34;
|
|
L_02C85B6C: ; // 0x2c85b6c
|
|
/* 02C85B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C85B70 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C85B74 */ _t105 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85B74 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C85B74 */ if (_t106) goto L_02C85B78; else goto L_02C85C34;
|
|
L_02C85B78: ; // 0x2c85b78
|
|
/* 02C85B78 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85B7C */ cpu->r[21] = 0x00000000u;
|
|
/* 02C85B80 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85B84 */ cpu->r[23] = cpu->r[3];
|
|
/* 02C85B88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x0000002Du);
|
|
/* 02C85B8C */ cpu->r[20] = cpu->r[21];
|
|
/* 02C85B90 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85B90 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02C85B90 */ if (_t108) goto L_02C85B9C; else goto L_02C85B94;
|
|
L_02C85B94: ; // 0x2c85b94
|
|
/* 02C85B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x0000002Bu);
|
|
/* 02C85B98 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85B98 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02C85B98 */ if (_t110) goto L_02C85B9C; else goto L_02C85BB8;
|
|
L_02C85B9C: ; // 0x2c85b9c
|
|
/* 02C85B9C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85BA0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C85BA4 */ cpu->r[21] = cpu->r[23];
|
|
/* 02C85BA8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85BAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C85BB0 */ cpu->r[22] = 0xFFFFFFFFu;
|
|
/* 02C85BB4 */ goto L_02C85BE0;
|
|
L_02C85BB8: ; // 0x2c85bb8
|
|
/* 02C85BB8 */ cpu->r[31] = cpu->r[23];
|
|
/* 02C85BBC */ cpu->r[22] = 0x00000000u;
|
|
/* 02C85BC0 */ goto L_02C85BE0;
|
|
L_02C85BC4: ; // 0x2c85bc4
|
|
/* 02C85BC4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[20] * (int32_t)0x0000000Au);
|
|
/* 02C85BC8 */ cpu->r[22] = 0x00000001u;
|
|
/* 02C85BCC */ cpu->r[12] = cpu->r[12] + cpu->r[31];
|
|
/* 02C85BD0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C85BD4 */ cpu->r[20] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 02C85BD8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85BDC */ cpu->r[31] = cpu->r[3];
|
|
L_02C85BE0: ; // 0x2c85be0
|
|
/* 02C85BE0 */ cpu->r[12] = cpu->r[31] + 0xFFFFFFD0u;
|
|
/* 02C85BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000009u);
|
|
/* 02C85BE8 */ _t111 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85BE8 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02C85BE8 */ if (_t112) goto L_02C85BF8; else goto L_02C85BEC;
|
|
L_02C85BEC: ; // 0x2c85bec
|
|
/* 02C85BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C85BF0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C85BF4 */ _t113 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85BF4 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02C85BF4 */ if (_t114) goto L_02C85BC4; else goto L_02C85BF8;
|
|
L_02C85BF8: ; // 0x2c85bf8
|
|
/* 02C85BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C85BFC */ _t115 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85BFC */ _t116 = _t115 & 0x00000001u;
|
|
/* 02C85BFC */ if (_t116) goto L_02C85C00; else goto L_02C85C0C;
|
|
L_02C85C00: ; // 0x2c85c00
|
|
/* 02C85C00 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C85C04 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C85C08 */ Gambit_fn_02C85CE4(cpu);
|
|
L_02C85C0C: ; // 0x2c85c0c
|
|
/* 02C85C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C85C10 */ _t117 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85C10 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02C85C10 */ if (_t118) goto L_02C85C20; else goto L_02C85C14;
|
|
L_02C85C14: ; // 0x2c85c14
|
|
/* 02C85C14 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C85C18 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C85C1C */ Gambit_fn_02C85CE4(cpu);
|
|
L_02C85C20: ; // 0x2c85c20
|
|
/* 02C85C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x0000002Du);
|
|
/* 02C85C24 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85C24 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02C85C24 */ if (_t120) goto L_02C85C28; else goto L_02C85C2C;
|
|
L_02C85C28: ; // 0x2c85c28
|
|
/* 02C85C28 */ cpu->r[20] = (uint32_t)(-(int32_t)cpu->r[20]);
|
|
L_02C85C2C: ; // 0x2c85c2c
|
|
/* 02C85C2C */ cpu->r[30] = cpu->r[31];
|
|
/* 02C85C30 */ goto L_02C85C38;
|
|
L_02C85C34: ; // 0x2c85c34
|
|
/* 02C85C34 */ cpu->r[20] = 0x00000000u;
|
|
L_02C85C38: ; // 0x2c85c38
|
|
/* 02C85C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C85C3C */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85C3C */ _t122 = _t121 & 0x00000001u;
|
|
/* 02C85C3C */ if (_t122) goto L_02C85C40; else goto L_02C85C58;
|
|
L_02C85C40: ; // 0x2c85c40
|
|
/* 02C85C40 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C85C44 */ cpu->r[12] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C85C48 */ cpu->r[3] = cpu->r[20] - cpu->r[12];
|
|
/* 02C85C4C */ Gambit_fn_02C87B7C(cpu);
|
|
L_02C85C50: ; // 0x2c85c50
|
|
/* 02C85C50 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C85C54 */ goto L_02C85C8C;
|
|
L_02C85C58: ; // 0x2c85c58
|
|
/* 02C85C58 */ cpu->r[20] = cpu->r[20] - cpu->r[24];
|
|
/* 02C85C5C */ goto L_02C85C68;
|
|
L_02C85C60: ; // 0x2c85c60
|
|
/* 02C85C60 */ cpu->f[31] = cpu->f[31] * cpu->f[0];
|
|
/* 02C85C64 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu;
|
|
L_02C85C68: ; // 0x2c85c68
|
|
/* 02C85C68 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C85C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02C85C70 */ _t123 = cpu->r[12] + 0x000046F8u;
|
|
/* 02C85C70 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t123);
|
|
/* 02C85C74 */ _t124 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85C74 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02C85C74 */ if (_t125) goto L_02C85C60; else goto L_02C85C78;
|
|
L_02C85C78: ; // 0x2c85c78
|
|
/* 02C85C78 */ goto L_02C85C80;
|
|
L_02C85C7C: ; // 0x2c85c7c
|
|
/* 02C85C7C */ cpu->f[31] = cpu->f[31] / cpu->f[0];
|
|
L_02C85C80: ; // 0x2c85c80
|
|
/* 02C85C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02C85C84 */ cpu->r[20] = cpu->r[20] + 0x00000001u;
|
|
/* 02C85C88 */ _t126 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85C88 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02C85C88 */ if (_t127) goto L_02C85C7C; else goto L_02C85C8C;
|
|
L_02C85C8C: ; // 0x2c85c8c
|
|
/* 02C85C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C85C90 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85C90 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02C85C90 */ if (_t129) goto L_02C85CB4; else goto L_02C85C94;
|
|
L_02C85C94: ; // 0x2c85c94
|
|
/* 02C85C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 02C85C98 */ _t130 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85C98 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02C85C98 */ if (_t131) goto L_02C85CA4; else goto L_02C85C9C;
|
|
L_02C85C9C: ; // 0x2c85c9c
|
|
/* 02C85C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C85CA0 */ _t132 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85CA0 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02C85CA0 */ if (_t133) goto L_02C85CA4; else goto L_02C85CAC;
|
|
L_02C85CA4: ; // 0x2c85ca4
|
|
/* 02C85CA4 */ _t134 = cpu->r[27] + 0x00000000u;
|
|
/* 02C85CA4 */ rbrew_write_f64(cpu->mem, _t134, cpu->f[31]);
|
|
/* 02C85CA8 */ goto L_02C85CB4;
|
|
L_02C85CAC: ; // 0x2c85cac
|
|
/* 02C85CAC */ cpu->f[0] = (double)(float)cpu->f[31];
|
|
/* 02C85CB0 */ _t135 = cpu->r[27] + 0x00000000u;
|
|
/* 02C85CB0 */ rbrew_write_f32(cpu->mem, _t135, cpu->f[0]);
|
|
L_02C85CB4: ; // 0x2c85cb4
|
|
/* 02C85CB4 */ cpu->r[11] = cpu->r[1] + 0x00000038u;
|
|
/* 02C85CB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C85CBC */ Gambit_fn_02C8A4C0(cpu);
|
|
/* 02C85CC0 */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 02C85CC4 */ goto L_02C8A434;
|
|
L_02C8A434: ; // 0x2c8a434
|
|
/* 02C8A434 */ _t136 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02C8A438 */ _t137 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 02C8A43C */ _t138 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t138);
|
|
/* 02C8A440 */ _t139 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t140 = _t139 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t140) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C85CC8 @ 0x2c85cc8
|
|
void Gambit_fn_02C85CC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C85CC8: ; // 0x2c85cc8
|
|
/* 02C85CC8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C85CC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C85CCC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C85CD0 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C85CD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02C85CD4 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 02C85CD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C85CD8 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C85CD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C85CDC */ cpu->ctr = cpu->r[12];
|
|
/* 02C85CE0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C85CE4 @ 0x2c85ce4
|
|
void Gambit_fn_02C85CE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C85CE4: ; // 0x2c85ce4
|
|
/* 02C85CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02C85CE8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85CE8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C85CE8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C85CE8 */ goto L_02C85CEC;
|
|
L_02C85CEC: ; // 0x2c85cec
|
|
/* 02C85CEC */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02C85CEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C85CF0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C85CF4 */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02C85CF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C85CF8 */ _t4 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C85CF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C85CFC */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02C85CFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C85D00 */ cpu->ctr = cpu->r[12];
|
|
/* 02C85D04 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C85D08 @ 0x2c85d08
|
|
void Gambit_fn_02C85D08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C85D08: ; // 0x2c85d08
|
|
/* 02C85D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000030u);
|
|
/* 02C85D0C */ /* nop */
|
|
/* 02C85D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000039u);
|
|
/* 02C85D14 */ /* nop */
|
|
/* 02C85D18 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C85D1C */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C85D20 */ cpu->r[12] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02C85D24 */ cpu->r[10] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02C85D28 */ cpu->r[12] = cpu->r[12] ^ cpu->r[10];
|
|
/* 02C85D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C85D2C */ cpu->r[11] = 0x00000030u;
|
|
/* 02C85D30 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85D30 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C85D30 */ if (_t1) goto L_02C85D68; else goto L_02C85D34;
|
|
L_02C85D34: ; // 0x2c85d34
|
|
/* 02C85D34 */ cpu->r[3] = cpu->r[3] | 0x00000020u;
|
|
/* 02C85D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000061u);
|
|
/* 02C85D3C */ /* nop */
|
|
/* 02C85D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000066u);
|
|
/* 02C85D44 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C85D48 */ /* nop */
|
|
/* 02C85D4C */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C85D50 */ cpu->r[9] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02C85D54 */ cpu->r[10] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02C85D58 */ cpu->r[12] = 0x000000FFu;
|
|
/* 02C85D5C */ cpu->r[10] = cpu->r[9] ^ cpu->r[10];
|
|
/* 02C85D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C85D60 */ cpu->r[11] = 0x00000057u;
|
|
/* 02C85D64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85D64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C85D64 */ if (_t3) goto L_02C85D68; else goto L_02C85D6C;
|
|
L_02C85D68: ; // 0x2c85d68
|
|
/* 02C85D68 */ cpu->r[12] = cpu->r[3] - cpu->r[11];
|
|
L_02C85D6C: ; // 0x2c85d6c
|
|
/* 02C85D6C */ cpu->r[3] = cpu->r[12];
|
|
/* 02C85D70 */ return;
|
|
}
|
|
|
|
// fn_02C85DBC @ 0x2c85dbc
|
|
void Gambit_fn_02C85DBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320;
|
|
|
|
L_02C85DBC: ; // 0x2c85dbc
|
|
/* 02C85DBC */ cpu->r[0] = cpu->lr;
|
|
/* 02C85DC0 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C85DC4 */ _t0 = cpu->r[1] + 0xFFFFFEA8u;
|
|
/* 02C85DC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C85DC4 */ cpu->r[1] = _t0;
|
|
/* 02C85DC8 */ Gambit_fn_02C8A508(cpu);
|
|
/* 02C85DCC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85DCC */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02C85DD0 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C85DD4 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C85DD8 */ cpu->r[23] = 0xFFFFFFFFu;
|
|
/* 02C85DDC */ cpu->r[27] = cpu->r[3];
|
|
/* 02C85DE0 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02C85DE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[26]);
|
|
/* 02C85DE4 */ cpu->r[24] = cpu->r[26];
|
|
L_02C85DE8: ; // 0x2c85de8
|
|
/* 02C85DE8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85DEC */ cpu->r[20] = cpu->r[3];
|
|
L_02C85DF0: ; // 0x2c85df0
|
|
/* 02C85DF0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85DF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C85DF4 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02C85DF4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C85DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C85DFC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85DFC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C85DFC */ if (_t6) goto L_02C86638; else goto L_02C85E00;
|
|
L_02C85E00: ; // 0x2c85e00
|
|
/* 02C85E00 */ cpu->r[12] = cpu->r[11];
|
|
/* 02C85E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u);
|
|
/* 02C85E08 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E08 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C85E08 */ if (_t8) goto L_02C85E24; else goto L_02C85E0C;
|
|
L_02C85E0C: ; // 0x2c85e0c
|
|
/* 02C85E0C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFF7u;
|
|
/* 02C85E10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 02C85E14 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85E14 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C85E14 */ if (_t10) goto L_02C85E74; else goto L_02C85E18;
|
|
L_02C85E18: ; // 0x2c85e18
|
|
/* 02C85E18 */ goto L_02C85E24;
|
|
L_02C85E1C: ; // 0x2c85e1c
|
|
/* 02C85E1C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C85E20 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85E20 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
L_02C85E24: ; // 0x2c85e24
|
|
/* 02C85E24 */ _t12 = cpu->r[10] + 0x00000000u;
|
|
/* 02C85E24 */ cpu->r[12] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C85E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u);
|
|
/* 02C85E2C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E2C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C85E2C */ if (_t14) goto L_02C85E1C; else goto L_02C85E30;
|
|
L_02C85E30: ; // 0x2c85e30
|
|
/* 02C85E30 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFF7u;
|
|
/* 02C85E34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 02C85E38 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85E38 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C85E38 */ if (_t16) goto L_02C85E3C; else goto L_02C85E1C;
|
|
L_02C85E3C: ; // 0x2c85e3c
|
|
/* 02C85E3C */ goto L_02C85E4C;
|
|
L_02C85E40: ; // 0x2c85e40
|
|
/* 02C85E40 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C85E44 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85E48 */ cpu->r[20] = cpu->r[3];
|
|
L_02C85E4C: ; // 0x2c85e4c
|
|
/* 02C85E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000020u);
|
|
/* 02C85E50 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E50 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C85E50 */ if (_t18) goto L_02C85E40; else goto L_02C85E54;
|
|
L_02C85E54: ; // 0x2c85e54
|
|
/* 02C85E54 */ cpu->r[12] = cpu->r[20] + 0xFFFFFFF7u;
|
|
/* 02C85E58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 02C85E5C */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85E5C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C85E5C */ if (_t20) goto L_02C85E60; else goto L_02C85E40;
|
|
L_02C85E60: ; // 0x2c85e60
|
|
/* 02C85E60 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85E60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C85E64 */ _t22 = cpu->r[10] + 0x00000000u;
|
|
/* 02C85E64 */ cpu->r[11] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C85E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C85E6C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E6C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C85E6C */ if (_t24) goto L_02C85E70; else goto L_02C85E00;
|
|
L_02C85E70: ; // 0x2c85e70
|
|
/* 02C85E70 */ goto L_02C86634;
|
|
L_02C85E74: ; // 0x2c85e74
|
|
/* 02C85E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000025u);
|
|
/* 02C85E78 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E78 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C85E78 */ if (_t26) goto L_02C85EA0; else goto L_02C85E7C;
|
|
L_02C85E7C: ; // 0x2c85e7c
|
|
/* 02C85E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C85E80 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E80 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C85E80 */ if (_t28) goto L_02C85E88; else goto L_02C85E84;
|
|
L_02C85E84: ; // 0x2c85e84
|
|
/* 02C85E84 */ cpu->r[23] = cpu->r[24];
|
|
L_02C85E88: ; // 0x2c85e88
|
|
/* 02C85E88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[20]);
|
|
/* 02C85E8C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E8C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C85E8C */ if (_t30) goto L_02C85E90; else goto L_02C86638;
|
|
L_02C85E90: ; // 0x2c85e90
|
|
/* 02C85E90 */ cpu->r[12] = cpu->r[10] + 0x00000001u;
|
|
/* 02C85E94 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C85E98 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85E98 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02C85E9C */ goto L_02C85DE8;
|
|
L_02C85EA0: ; // 0x2c85ea0
|
|
/* 02C85EA0 */ cpu->r[12] = cpu->r[10] + 0x00000001u;
|
|
/* 02C85EA4 */ cpu->r[21] = 0x00000000u;
|
|
/* 02C85EA8 */ cpu->r[25] = 0x00000001u;
|
|
/* 02C85EAC */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85EAC */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02C85EB0 */ cpu->r[29] = cpu->r[21];
|
|
L_02C85EB4: ; // 0x2c85eb4
|
|
/* 02C85EB4 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85EB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C85EB8 */ cpu->r[11] = cpu->r[12] + 0x00000001u;
|
|
/* 02C85EBC */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85EBC */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
|
|
/* 02C85EC0 */ _t35 = cpu->r[12] + 0x00000000u;
|
|
/* 02C85EC0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02C85EC4 */ cpu->r[12] = cpu->r[31] + 0xFFFFFFD0u;
|
|
/* 02C85EC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000009u);
|
|
/* 02C85ECC */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85ECC */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C85ECC */ if (_t37) goto L_02C85EE0; else goto L_02C85ED0;
|
|
L_02C85ED0: ; // 0x2c85ed0
|
|
/* 02C85ED0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x0000000Au);
|
|
/* 02C85ED4 */ cpu->r[12] = cpu->r[12] + cpu->r[31];
|
|
/* 02C85ED8 */ cpu->r[29] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 02C85EDC */ goto L_02C85EB4;
|
|
L_02C85EE0: ; // 0x2c85ee0
|
|
/* 02C85EE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000004Cu);
|
|
/* 02C85EE4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85EE4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C85EE4 */ if (_t39) goto L_02C85F0C; else goto L_02C85EE8;
|
|
L_02C85EE8: ; // 0x2c85ee8
|
|
/* 02C85EE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000068u);
|
|
/* 02C85EEC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85EEC */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C85EEC */ if (_t41) goto L_02C85F1C; else goto L_02C85EF0;
|
|
L_02C85EF0: ; // 0x2c85ef0
|
|
/* 02C85EF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000006Au);
|
|
/* 02C85EF4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85EF4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C85EF4 */ if (_t43) goto L_02C85F0C; else goto L_02C85EF8;
|
|
L_02C85EF8: ; // 0x2c85ef8
|
|
/* 02C85EF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000006Cu);
|
|
/* 02C85EFC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85EFC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C85EFC */ if (_t45) goto L_02C85F14; else goto L_02C85F00;
|
|
L_02C85F00: ; // 0x2c85f00
|
|
/* 02C85F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000007Au);
|
|
/* 02C85F04 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F04 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C85F04 */ if (_t47) goto L_02C85EB4; else goto L_02C85F08;
|
|
L_02C85F08: ; // 0x2c85f08
|
|
/* 02C85F08 */ goto L_02C85F24;
|
|
L_02C85F0C: ; // 0x2c85f0c
|
|
/* 02C85F0C */ cpu->r[21] = 0x00000002u;
|
|
/* 02C85F10 */ goto L_02C85EB4;
|
|
L_02C85F14: ; // 0x2c85f14
|
|
/* 02C85F14 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02C85F18 */ goto L_02C85EB4;
|
|
L_02C85F1C: ; // 0x2c85f1c
|
|
/* 02C85F1C */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 02C85F20 */ goto L_02C85EB4;
|
|
L_02C85F24: ; // 0x2c85f24
|
|
/* 02C85F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000074u);
|
|
/* 02C85F28 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F28 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C85F28 */ if (_t49) goto L_02C85EB4; else goto L_02C85F2C;
|
|
L_02C85F2C: ; // 0x2c85f2c
|
|
/* 02C85F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000005Eu);
|
|
/* 02C85F30 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F30 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C85F30 */ if (_t51) goto L_02C85F34; else goto L_02C85F48;
|
|
L_02C85F34: ; // 0x2c85f34
|
|
/* 02C85F34 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C85F38 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C85F3C */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C85F40 */ _t52 = cpu->r[3] + 0x00000000u;
|
|
/* 02C85F40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C85F44 */ goto L_02C85EB4;
|
|
L_02C85F48: ; // 0x2c85f48
|
|
/* 02C85F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000002Au);
|
|
/* 02C85F4C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F4C */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C85F4C */ if (_t54) goto L_02C85F50; else goto L_02C85F58;
|
|
L_02C85F50: ; // 0x2c85f50
|
|
/* 02C85F50 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C85F54 */ goto L_02C85EB4;
|
|
L_02C85F58: ; // 0x2c85f58
|
|
/* 02C85F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000063u);
|
|
/* 02C85F5C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F5C */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C85F5C */ if (_t56) goto L_02C85F94; else goto L_02C85F60;
|
|
L_02C85F60: ; // 0x2c85f60
|
|
/* 02C85F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000005Bu);
|
|
/* 02C85F64 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F64 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C85F64 */ if (_t58) goto L_02C85F94; else goto L_02C85F68;
|
|
L_02C85F68: ; // 0x2c85f68
|
|
/* 02C85F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000006Eu);
|
|
/* 02C85F6C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F6C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C85F6C */ if (_t60) goto L_02C85F94; else goto L_02C85F70;
|
|
L_02C85F70: ; // 0x2c85f70
|
|
/* 02C85F70 */ goto L_02C85F80;
|
|
L_02C85F74: ; // 0x2c85f74
|
|
/* 02C85F74 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C85F78 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85F7C */ cpu->r[20] = cpu->r[3];
|
|
L_02C85F80: ; // 0x2c85f80
|
|
/* 02C85F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000020u);
|
|
/* 02C85F84 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F84 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C85F84 */ if (_t62) goto L_02C85F74; else goto L_02C85F88;
|
|
L_02C85F88: ; // 0x2c85f88
|
|
/* 02C85F88 */ cpu->r[12] = cpu->r[20] + 0xFFFFFFF7u;
|
|
/* 02C85F8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 02C85F90 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85F90 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C85F90 */ if (_t64) goto L_02C85F94; else goto L_02C85F74;
|
|
L_02C85F94: ; // 0x2c85f94
|
|
/* 02C85F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C85F98 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85F98 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C85F98 */ if (_t66) goto L_02C85FA4; else goto L_02C85F9C;
|
|
L_02C85F9C: ; // 0x2c85f9c
|
|
/* 02C85F9C */ cpu->r[29] = 0x000F0000u;
|
|
/* 02C85FA0 */ cpu->r[29] = cpu->r[29] + 0x00004240u;
|
|
L_02C85FA4: ; // 0x2c85fa4
|
|
/* 02C85FA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000025u);
|
|
/* 02C85FA8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C85FAC */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FAC */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C85FAC */ if (_t68) goto L_02C86044; else goto L_02C85FB0;
|
|
L_02C85FB0: ; // 0x2c85fb0
|
|
/* 02C85FB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000041u);
|
|
/* 02C85FB4 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FB4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C85FB4 */ if (_t70) goto L_02C8634C; else goto L_02C85FB8;
|
|
L_02C85FB8: ; // 0x2c85fb8
|
|
/* 02C85FB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000045u);
|
|
/* 02C85FBC */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85FBC */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C85FBC */ if (_t72) goto L_02C8603C; else goto L_02C85FC0;
|
|
L_02C85FC0: ; // 0x2c85fc0
|
|
/* 02C85FC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000047u);
|
|
/* 02C85FC4 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85FC4 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C85FC4 */ if (_t74) goto L_02C85FC8; else goto L_02C8634C;
|
|
L_02C85FC8: ; // 0x2c85fc8
|
|
/* 02C85FC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000050u);
|
|
/* 02C85FCC */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FCC */ _t76 = _t75 & 0x00000001u;
|
|
/* 02C85FCC */ if (_t76) goto L_02C8613C; else goto L_02C85FD0;
|
|
L_02C85FD0: ; // 0x2c85fd0
|
|
/* 02C85FD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000058u);
|
|
/* 02C85FD4 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FD4 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02C85FD4 */ if (_t78) goto L_02C86140; else goto L_02C85FD8;
|
|
L_02C85FD8: ; // 0x2c85fd8
|
|
/* 02C85FD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000005Bu);
|
|
/* 02C85FDC */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FDC */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C85FDC */ if (_t80) goto L_02C8639C; else goto L_02C85FE0;
|
|
L_02C85FE0: ; // 0x2c85fe0
|
|
/* 02C85FE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000061u);
|
|
/* 02C85FE4 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FE4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C85FE4 */ if (_t82) goto L_02C8634C; else goto L_02C85FE8;
|
|
L_02C85FE8: ; // 0x2c85fe8
|
|
/* 02C85FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000063u);
|
|
/* 02C85FEC */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85FEC */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C85FEC */ if (_t84) goto L_02C8603C; else goto L_02C85FF0;
|
|
L_02C85FF0: ; // 0x2c85ff0
|
|
/* 02C85FF0 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FF0 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C85FF0 */ if (_t86) goto L_02C8606C; else goto L_02C85FF4;
|
|
L_02C85FF4: ; // 0x2c85ff4
|
|
/* 02C85FF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000064u);
|
|
/* 02C85FF8 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FF8 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C85FF8 */ if (_t88) goto L_02C86144; else goto L_02C85FFC;
|
|
L_02C85FFC: ; // 0x2c85ffc
|
|
/* 02C85FFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000067u);
|
|
/* 02C86000 */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86000 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C86000 */ if (_t90) goto L_02C86004; else goto L_02C8634C;
|
|
L_02C86004: ; // 0x2c86004
|
|
/* 02C86004 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000069u);
|
|
/* 02C86008 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86008 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C86008 */ if (_t92) goto L_02C8614C; else goto L_02C8600C;
|
|
L_02C8600C: ; // 0x2c8600c
|
|
/* 02C8600C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000006Eu);
|
|
/* 02C86010 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86010 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02C86010 */ if (_t94) goto L_02C8603C; else goto L_02C86014;
|
|
L_02C86014: ; // 0x2c86014
|
|
/* 02C86014 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86014 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02C86014 */ if (_t96) goto L_02C865A0; else goto L_02C86018;
|
|
L_02C86018: ; // 0x2c86018
|
|
/* 02C86018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000070u);
|
|
/* 02C8601C */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8601C */ _t98 = _t97 & 0x00000001u;
|
|
/* 02C8601C */ if (_t98) goto L_02C86148; else goto L_02C86020;
|
|
L_02C86020: ; // 0x2c86020
|
|
/* 02C86020 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86020 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02C86020 */ if (_t100) goto L_02C8613C; else goto L_02C86024;
|
|
L_02C86024: ; // 0x2c86024
|
|
/* 02C86024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000073u);
|
|
/* 02C86028 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86028 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02C86028 */ if (_t102) goto L_02C8639C; else goto L_02C8602C;
|
|
L_02C8602C: ; // 0x2c8602c
|
|
/* 02C8602C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000075u);
|
|
/* 02C86030 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86030 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02C86030 */ if (_t104) goto L_02C86144; else goto L_02C86034;
|
|
L_02C86034: ; // 0x2c86034
|
|
/* 02C86034 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000078u);
|
|
/* 02C86038 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86038 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C86038 */ if (_t106) goto L_02C86140; else goto L_02C8603C;
|
|
L_02C8603C: ; // 0x2c8603c
|
|
/* 02C8603C */ cpu->r[23] = cpu->r[24];
|
|
/* 02C86040 */ goto L_02C86644;
|
|
L_02C86044: ; // 0x2c86044
|
|
/* 02C86044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86048 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86048 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02C86048 */ if (_t108) goto L_02C86644; else goto L_02C8604C;
|
|
L_02C8604C: ; // 0x2c8604c
|
|
/* 02C8604C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000025u);
|
|
/* 02C86050 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86050 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02C86050 */ if (_t110) goto L_02C8605C; else goto L_02C86054;
|
|
L_02C86054: ; // 0x2c86054
|
|
/* 02C86054 */ cpu->r[20] = 0xFFFFFFFDu - cpu->r[20];
|
|
/* 02C86058 */ goto L_02C86618;
|
|
L_02C8605C: ; // 0x2c8605c
|
|
/* 02C8605C */ cpu->r[3] = cpu->r[27];
|
|
/* 02C86060 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C86064 */ cpu->r[20] = cpu->r[3];
|
|
/* 02C86068 */ goto L_02C86618;
|
|
L_02C8606C: ; // 0x2c8606c
|
|
/* 02C8606C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86070 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86070 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02C86070 */ if (_t112) goto L_02C86644; else goto L_02C86074;
|
|
L_02C86074: ; // 0x2c86074
|
|
/* 02C86074 */ cpu->r[12] = 0x000F0000u;
|
|
/* 02C86078 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C8607C */ cpu->r[12] = cpu->r[12] + 0x00004240u;
|
|
/* 02C86080 */ cpu->r[30] = cpu->r[23];
|
|
/* 02C86084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 02C86088 */ cpu->r[31] = cpu->r[30];
|
|
/* 02C8608C */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8608C */ _t114 = _t113 & 0x00000001u;
|
|
/* 02C8608C */ if (_t114) goto L_02C86090; else goto L_02C86094;
|
|
L_02C86090: ; // 0x2c86090
|
|
/* 02C86090 */ cpu->r[29] = 0x00000001u;
|
|
L_02C86094: ; // 0x2c86094
|
|
/* 02C86094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C86098 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86098 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02C86098 */ if (_t116) goto L_02C86124; else goto L_02C8609C;
|
|
L_02C8609C: ; // 0x2c8609c
|
|
/* 02C8609C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C860A0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C860A4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C860A8 */ _t117 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C860A8 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02C860A8 */ if (_t118) goto L_02C860B8; else goto L_02C860AC;
|
|
L_02C860AC: ; // 0x2c860ac
|
|
/* 02C860AC */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C860B0 */ _t119 = cpu->r[3] + 0x00000000u;
|
|
/* 02C860B0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02C860B4 */ goto L_02C86124;
|
|
L_02C860B8: ; // 0x2c860b8
|
|
/* 02C860B8 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C860BC */ _t120 = cpu->r[3] + 0x00000000u;
|
|
/* 02C860BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02C860C0 */ goto L_02C86124;
|
|
L_02C860C4: ; // 0x2c860c4
|
|
/* 02C860C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C860C8 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C860C8 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02C860C8 */ if (_t122) goto L_02C86118; else goto L_02C860CC;
|
|
L_02C860CC: ; // 0x2c860cc
|
|
/* 02C860CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C860D0 */ _t123 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C860D0 */ _t124 = _t123 & 0x00000001u;
|
|
/* 02C860D0 */ if (_t124) goto L_02C860D4; else goto L_02C86110;
|
|
L_02C860D4: ; // 0x2c860d4
|
|
/* 02C860D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000006u);
|
|
/* 02C860D8 */ _t125 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C860D8 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02C860D8 */ if (_t126) goto L_02C860DC; else goto L_02C8661C;
|
|
L_02C860DC: ; // 0x2c860dc
|
|
/* 02C860DC */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02C860E0 */ _t127 = cpu->r[4] + cpu->r[31];
|
|
/* 02C860E0 */ rbrew_write8(cpu->mem, _t127, (uint8_t)cpu->r[20]);
|
|
/* 02C860E4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C860E8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C860EC */ cpu->r[5] = cpu->r[31];
|
|
/* 02C860F0 */ Gambit_fn_02C895E8(cpu);
|
|
/* 02C860F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C860F8 */ _t128 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C860F8 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02C860F8 */ if (_t129) goto L_02C860FC; else goto L_02C86118;
|
|
L_02C860FC: ; // 0x2c860fc
|
|
/* 02C860FC */ _t130 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C860FC */ cpu->r[12] = rbrew_read16(cpu->mem, _t130);
|
|
/* 02C86100 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C86104 */ _t131 = cpu->r[30] + 0x00000000u;
|
|
/* 02C86104 */ rbrew_write16(cpu->mem, _t131, (uint16_t)cpu->r[12]);
|
|
/* 02C86108 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02C8610C */ goto L_02C86118;
|
|
L_02C86110: ; // 0x2c86110
|
|
/* 02C86110 */ _t132 = cpu->r[23] + 0x00000000u;
|
|
/* 02C86110 */ rbrew_write8(cpu->mem, _t132, (uint8_t)cpu->r[20]);
|
|
/* 02C86114 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
L_02C86118: ; // 0x2c86118
|
|
/* 02C86118 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C8611C */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C86120 */ cpu->r[20] = cpu->r[3];
|
|
L_02C86124: ; // 0x2c86124
|
|
/* 02C86124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C86128 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C8612C */ _t133 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8612C */ _t134 = _t133 & 0x00000001u;
|
|
/* 02C8612C */ if (_t134) goto L_02C86130; else goto L_02C8661C;
|
|
L_02C86130: ; // 0x2c86130
|
|
/* 02C86130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86134 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86134 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02C86134 */ if (_t136) goto L_02C86138; else goto L_02C860C4;
|
|
L_02C86138: ; // 0x2c86138
|
|
/* 02C86138 */ goto L_02C8661C;
|
|
L_02C8613C: ; // 0x2c8613c
|
|
/* 02C8613C */ cpu->r[21] = 0xFFFFFFFDu;
|
|
L_02C86140: ; // 0x2c86140
|
|
/* 02C86140 */ cpu->r[30] = 0x00000006u;
|
|
L_02C86144: ; // 0x2c86144
|
|
/* 02C86144 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
L_02C86148: ; // 0x2c86148
|
|
/* 02C86148 */ cpu->r[30] = cpu->r[30] + 0x00000008u;
|
|
L_02C8614C: ; // 0x2c8614c
|
|
/* 02C8614C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86150 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86150 */ _t138 = _t137 & 0x00000001u;
|
|
/* 02C86150 */ if (_t138) goto L_02C86644; else goto L_02C86154;
|
|
L_02C86154: ; // 0x2c86154
|
|
/* 02C86154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C86158 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C8615C */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8615C */ _t140 = _t139 & 0x00000001u;
|
|
/* 02C8615C */ if (_t140) goto L_02C86170; else goto L_02C86160;
|
|
L_02C86160: ; // 0x2c86160
|
|
/* 02C86160 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C86164 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C86168 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C8616C */ _t141 = cpu->r[3] + 0x00000000u;
|
|
/* 02C8616C */ cpu->r[31] = rbrew_read32(cpu->mem, _t141);
|
|
L_02C86170: ; // 0x2c86170
|
|
/* 02C86170 */ cpu->r[19] = 0x00000000u;
|
|
/* 02C86174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x0000002Du);
|
|
/* 02C86178 */ cpu->r[12] = 0x00000003u;
|
|
/* 02C8617C */ cpu->r[18] = cpu->r[19];
|
|
/* 02C86180 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86180 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02C86180 */ if (_t143) goto L_02C8618C; else goto L_02C86184;
|
|
L_02C86184: ; // 0x2c86184
|
|
/* 02C86184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x0000002Bu);
|
|
/* 02C86188 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86188 */ _t145 = _t144 & 0x00000001u;
|
|
/* 02C86188 */ if (_t145) goto L_02C8618C; else goto L_02C861B0;
|
|
L_02C8618C: ; // 0x2c8618c
|
|
/* 02C8618C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 02C86190 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C86194 */ _t146 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86194 */ _t147 = _t146 & 0x00000001u;
|
|
/* 02C86194 */ if (_t147) goto L_02C86198; else goto L_02C861B0;
|
|
L_02C86198: ; // 0x2c86198
|
|
/* 02C86198 */ cpu->r[12] = cpu->r[20] ^ 0x0000002Du;
|
|
/* 02C8619C */ cpu->r[12] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C861A0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C861A4 */ cpu->r[19] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C861A8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C861AC */ cpu->r[20] = cpu->r[3];
|
|
L_02C861B0: ; // 0x2c861b0
|
|
/* 02C861B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000030u);
|
|
/* 02C861B4 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C861B4 */ _t149 = _t148 & 0x00000001u;
|
|
/* 02C861B4 */ if (_t149) goto L_02C861B8; else goto L_02C86220;
|
|
L_02C861B8: ; // 0x2c861b8
|
|
/* 02C861B8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02C861B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C861BC */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C861BC */ _t151 = _t150 & 0x00000001u;
|
|
/* 02C861BC */ if (_t151) goto L_02C861C0; else goto L_02C86220;
|
|
L_02C861C0: ; // 0x2c861c0
|
|
/* 02C861C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C861C4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C861C8 */ _t152 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C861C8 */ _t153 = _t152 & 0x00000001u;
|
|
/* 02C861C8 */ if (_t153) goto L_02C861CC; else goto L_02C86220;
|
|
L_02C861CC: ; // 0x2c861cc
|
|
/* 02C861CC */ cpu->r[3] = cpu->r[27];
|
|
/* 02C861D0 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C861D4 */ cpu->r[20] = cpu->r[3];
|
|
/* 02C861D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000078u);
|
|
/* 02C861DC */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C861DC */ _t155 = _t154 & 0x00000001u;
|
|
/* 02C861DC */ if (_t155) goto L_02C861E8; else goto L_02C861E0;
|
|
L_02C861E0: ; // 0x2c861e0
|
|
/* 02C861E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000058u);
|
|
/* 02C861E4 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C861E4 */ _t157 = _t156 & 0x00000001u;
|
|
/* 02C861E4 */ if (_t157) goto L_02C861E8; else goto L_02C8620C;
|
|
L_02C861E8: ; // 0x2c861e8
|
|
/* 02C861E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C861EC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C861F0 */ _t158 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C861F0 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02C861F0 */ if (_t159) goto L_02C861F4; else goto L_02C8620C;
|
|
L_02C861F4: ; // 0x2c861f4
|
|
/* 02C861F4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C861F8 */ cpu->r[18] = cpu->r[20];
|
|
/* 02C861FC */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C86200 */ cpu->r[20] = cpu->r[3];
|
|
/* 02C86204 */ cpu->r[30] = 0x00000010u;
|
|
/* 02C86208 */ goto L_02C8622C;
|
|
L_02C8620C: ; // 0x2c8620c
|
|
/* 02C8620C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C86210 */ cpu->r[18] = 0x00000030u;
|
|
/* 02C86214 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86214 */ _t161 = _t160 & 0x00000001u;
|
|
/* 02C86214 */ if (_t161) goto L_02C86218; else goto L_02C8622C;
|
|
L_02C86218: ; // 0x2c86218
|
|
/* 02C86218 */ cpu->r[30] = 0x00000008u;
|
|
/* 02C8621C */ goto L_02C8622C;
|
|
L_02C86220: ; // 0x2c86220
|
|
/* 02C86220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C86224 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86224 */ _t163 = _t162 & 0x00000001u;
|
|
/* 02C86224 */ if (_t163) goto L_02C86228; else goto L_02C8622C;
|
|
L_02C86228: ; // 0x2c86228
|
|
/* 02C86228 */ cpu->r[30] = 0x0000000Au;
|
|
L_02C8622C: ; // 0x2c8622c
|
|
/* 02C8622C */ cpu->r[23] = 0x00000000u;
|
|
/* 02C86230 */ cpu->r[3] = cpu->r[20];
|
|
/* 02C86234 */ cpu->r[22] = cpu->r[23];
|
|
/* 02C86238 */ Gambit_fn_02C85D08(cpu);
|
|
/* 02C8623C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C86240 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86240 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02C86240 */ if (_t165) goto L_02C8624C; else goto L_02C86244;
|
|
L_02C86244: ; // 0x2c86244
|
|
/* 02C86244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[30]);
|
|
/* 02C86248 */ _t166 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86248 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02C86248 */ if (_t167) goto L_02C86278; else goto L_02C8624C;
|
|
L_02C8624C: ; // 0x2c8624c
|
|
/* 02C8624C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000030u);
|
|
/* 02C86250 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86250 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02C86250 */ if (_t169) goto L_02C862E4; else goto L_02C86254;
|
|
L_02C86254: ; // 0x2c86254
|
|
/* 02C86254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 02C86258 */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86258 */ _t171 = _t170 & 0x00000001u;
|
|
/* 02C86258 */ if (_t171) goto L_02C86270; else goto L_02C8625C;
|
|
L_02C8625C: ; // 0x2c8625c
|
|
/* 02C8625C */ cpu->r[4] = cpu->r[27];
|
|
/* 02C86260 */ cpu->r[3] = cpu->r[20];
|
|
/* 02C86264 */ Gambit_fn_02C85CE4(cpu);
|
|
/* 02C86268 */ cpu->r[20] = cpu->r[18];
|
|
/* 02C8626C */ goto L_02C862E4;
|
|
L_02C86270: ; // 0x2c86270
|
|
/* 02C86270 */ cpu->r[20] = 0xFFFFFFFDu - cpu->r[20];
|
|
/* 02C86274 */ goto L_02C8661C;
|
|
L_02C86278: ; // 0x2c86278
|
|
/* 02C86278 */ cpu->r[11] = rbrew_rlwinm(cpu->r[22], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C8627C */ cpu->r[22] = rbrew_rlwinm(cpu->r[22], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C86280 */ cpu->r[12] = rbrew_rlwinm(cpu->r[23], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C86284 */ _t172 = rbrew_rlwinm(cpu->r[23], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C86284 */ _t173 = cpu->r[11] & 0xFFFFFFFEu;
|
|
/* 02C86284 */ cpu->r[11] = _t173 | _t172;
|
|
/* 02C86288 */ _t174 = rbrew_rlwinm(cpu->r[23], 0x00000003u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C86288 */ _t175 = cpu->r[22] & 0xFFFFFFF8u;
|
|
/* 02C86288 */ cpu->r[22] = _t175 | _t174;
|
|
/* 02C8628C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000000Au);
|
|
/* 02C86290 */ cpu->r[23] = rbrew_rlwinm(cpu->r[23], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C86294 */ _t176 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86294 */ _t177 = _t176 & 0x00000001u;
|
|
/* 02C86294 */ if (_t177) goto L_02C86298; else goto L_02C862A4;
|
|
L_02C86298: ; // 0x2c86298
|
|
/* 02C86298 */ cpu->r[23] = cpu->r[23] + cpu->r[12];
|
|
/* 02C8629C */ cpu->r[22] = cpu->r[22] + cpu->r[11];
|
|
/* 02C862A0 */ goto L_02C862B8;
|
|
L_02C862A4: ; // 0x2c862a4
|
|
/* 02C862A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000010u);
|
|
/* 02C862A8 */ _t178 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C862A8 */ _t179 = _t178 & 0x00000001u;
|
|
/* 02C862A8 */ if (_t179) goto L_02C862AC; else goto L_02C862B8;
|
|
L_02C862AC: ; // 0x2c862ac
|
|
/* 02C862AC */ cpu->r[22] = rbrew_rlwinm(cpu->r[22], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C862B0 */ _t180 = rbrew_rlwinm(cpu->r[23], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C862B0 */ _t181 = cpu->r[22] & 0xFFFFFFFEu;
|
|
/* 02C862B0 */ cpu->r[22] = _t181 | _t180;
|
|
/* 02C862B4 */ cpu->r[23] = rbrew_rlwinm(cpu->r[23], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C862B8: ; // 0x2c862b8
|
|
/* 02C862B8 */ /* nop */
|
|
/* 02C862BC */ cpu->r[23] = cpu->r[23] + cpu->r[3];
|
|
/* 02C862C0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C862C4 */ cpu->r[22] = cpu->r[22] + cpu->r[12];
|
|
/* 02C862C8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C862CC */ cpu->r[20] = cpu->r[3];
|
|
/* 02C862D0 */ Gambit_fn_02C85D08(cpu);
|
|
/* 02C862D4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C862D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C862D8 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C862D8 */ _t183 = _t182 & 0x00000001u;
|
|
/* 02C862D8 */ if (_t183) goto L_02C862E4; else goto L_02C862DC;
|
|
L_02C862DC: ; // 0x2c862dc
|
|
/* 02C862DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[30]);
|
|
/* 02C862E0 */ _t184 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C862E0 */ _t185 = _t184 & 0x00000001u;
|
|
/* 02C862E0 */ if (_t185) goto L_02C86278; else goto L_02C862E4;
|
|
L_02C862E4: ; // 0x2c862e4
|
|
/* 02C862E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 02C862E8 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C862E8 */ _t187 = _t186 & 0x00000001u;
|
|
/* 02C862E8 */ if (_t187) goto L_02C862F4; else goto L_02C862EC;
|
|
L_02C862EC: ; // 0x2c862ec
|
|
/* 02C862EC */ cpu->r[23] = 0x00000000u - cpu->r[23];
|
|
/* 02C862F0 */ cpu->r[22] = ~cpu->r[22];
|
|
L_02C862F4: ; // 0x2c862f4
|
|
/* 02C862F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C862F8 */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C862F8 */ _t189 = _t188 & 0x00000001u;
|
|
/* 02C862F8 */ if (_t189) goto L_02C86348; else goto L_02C862FC;
|
|
L_02C862FC: ; // 0x2c862fc
|
|
/* 02C862FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0xFFFFFFFDu);
|
|
/* 02C86300 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86300 */ _t191 = _t190 & 0x00000001u;
|
|
/* 02C86300 */ if (_t191) goto L_02C86304; else goto L_02C8630C;
|
|
L_02C86304: ; // 0x2c86304
|
|
/* 02C86304 */ _t192 = cpu->r[31] + 0x00000000u;
|
|
/* 02C86304 */ rbrew_write32(cpu->mem, _t192, cpu->r[23]);
|
|
/* 02C86308 */ goto L_02C8661C;
|
|
L_02C8630C: ; // 0x2c8630c
|
|
/* 02C8630C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0xFFFFFFFEu);
|
|
/* 02C86310 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86310 */ _t194 = _t193 & 0x00000001u;
|
|
/* 02C86310 */ if (_t194) goto L_02C86314; else goto L_02C8631C;
|
|
L_02C86314: ; // 0x2c86314
|
|
/* 02C86314 */ _t195 = cpu->r[31] + 0x00000000u;
|
|
/* 02C86314 */ rbrew_write8(cpu->mem, _t195, (uint8_t)cpu->r[23]);
|
|
/* 02C86318 */ goto L_02C8661C;
|
|
L_02C8631C: ; // 0x2c8631c
|
|
/* 02C8631C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C86320 */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86320 */ _t197 = _t196 & 0x00000001u;
|
|
/* 02C86320 */ if (_t197) goto L_02C86324; else goto L_02C8632C;
|
|
L_02C86324: ; // 0x2c86324
|
|
/* 02C86324 */ _t198 = cpu->r[31] + 0x00000000u;
|
|
/* 02C86324 */ rbrew_write16(cpu->mem, _t198, (uint16_t)cpu->r[23]);
|
|
/* 02C86328 */ goto L_02C8661C;
|
|
L_02C8632C: ; // 0x2c8632c
|
|
/* 02C8632C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000001u);
|
|
/* 02C86330 */ _t199 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86330 */ _t200 = _t199 & 0x00000001u;
|
|
/* 02C86330 */ if (_t200) goto L_02C86304; else goto L_02C86334;
|
|
L_02C86334: ; // 0x2c86334
|
|
/* 02C86334 */ _t201 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86334 */ _t202 = _t201 & 0x00000001u;
|
|
/* 02C86334 */ if (_t202) goto L_02C86338; else goto L_02C86344;
|
|
L_02C86338: ; // 0x2c86338
|
|
/* 02C86338 */ _t203 = cpu->r[31] + 0x00000000u;
|
|
/* 02C86338 */ rbrew_write32(cpu->mem, _t203, cpu->r[22]);
|
|
/* 02C8633C */ _t204 = cpu->r[31] + 0x00000004u;
|
|
/* 02C8633C */ rbrew_write32(cpu->mem, _t204, cpu->r[23]);
|
|
/* 02C86340 */ goto L_02C8661C;
|
|
L_02C86344: ; // 0x2c86344
|
|
/* 02C86344 */ goto L_02C86304;
|
|
L_02C86348: ; // 0x2c86348
|
|
/* 02C86348 */ goto L_02C8661C;
|
|
L_02C8634C: ; // 0x2c8634c
|
|
/* 02C8634C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86350 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86350 */ _t206 = _t205 & 0x00000001u;
|
|
/* 02C86350 */ if (_t206) goto L_02C86644; else goto L_02C86354;
|
|
L_02C86354: ; // 0x2c86354
|
|
/* 02C86354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C86358 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C8635C */ _t207 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8635C */ _t208 = _t207 & 0x00000001u;
|
|
/* 02C8635C */ if (_t208) goto L_02C86370; else goto L_02C86360;
|
|
L_02C86360: ; // 0x2c86360
|
|
/* 02C86360 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C86364 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C86368 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C8636C */ _t209 = cpu->r[3] + 0x00000000u;
|
|
/* 02C8636C */ cpu->r[31] = rbrew_read32(cpu->mem, _t209);
|
|
L_02C86370: ; // 0x2c86370
|
|
/* 02C86370 */ cpu->r[12] = 0x02C80000u;
|
|
/* 02C86374 */ cpu->r[12] = cpu->r[12] + 0x000056A8u;
|
|
/* 02C86374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86378 */ _t210 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86378 */ _t211 = _t210 & 0x00000001u;
|
|
/* 02C86378 */ if (_t211) goto L_02C86634; else goto L_02C8637C;
|
|
L_02C8637C: ; // 0x2c8637c
|
|
/* 02C8637C */ cpu->r[7] = cpu->r[21];
|
|
/* 02C86380 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C86384 */ cpu->r[5] = cpu->r[20];
|
|
/* 02C86388 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C8638C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C86390 */ Gambit_fn_02C856A8(cpu);
|
|
/* 02C86394 */ cpu->r[20] = cpu->r[3];
|
|
/* 02C86398 */ goto L_02C8661C;
|
|
L_02C8639C: ; // 0x2c8639c
|
|
/* 02C8639C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C863A0 */ _t212 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C863A0 */ _t213 = _t212 & 0x00000001u;
|
|
/* 02C863A0 */ if (_t213) goto L_02C86644; else goto L_02C863A4;
|
|
L_02C863A4: ; // 0x2c863a4
|
|
/* 02C863A4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C863A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000073u);
|
|
/* 02C863AC */ cpu->r[12] = cpu->r[12] + 0x00004701u;
|
|
/* 02C863B0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C863B4 */ cpu->r[19] = cpu->r[1] + 0x00000010u;
|
|
/* 02C863B8 */ _t214 = cpu->r[1] + 0x00000010u;
|
|
/* 02C863B8 */ rbrew_write32(cpu->mem, _t214, cpu->r[12]);
|
|
/* 02C863BC */ _t215 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C863BC */ _t216 = _t215 & 0x00000001u;
|
|
/* 02C863BC */ if (_t216) goto L_02C863C4; else goto L_02C863C0;
|
|
L_02C863C0: ; // 0x2c863c0
|
|
/* 02C863C0 */ cpu->r[19] = cpu->r[1] + 0x00000008u;
|
|
L_02C863C4: ; // 0x2c863c4
|
|
/* 02C863C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C863C8 */ _t217 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C863C8 */ _t218 = _t217 & 0x00000001u;
|
|
/* 02C863C8 */ if (_t218) goto L_02C863DC; else goto L_02C863CC;
|
|
L_02C863CC: ; // 0x2c863cc
|
|
/* 02C863CC */ cpu->r[4] = 0x00000001u;
|
|
/* 02C863D0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C863D4 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C863D8 */ _t219 = cpu->r[3] + 0x00000000u;
|
|
/* 02C863D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t219);
|
|
L_02C863DC: ; // 0x2c863dc
|
|
/* 02C863DC */ _t220 = cpu->r[19] + 0x00000000u;
|
|
/* 02C863DC */ cpu->r[23] = rbrew_read32(cpu->mem, _t220);
|
|
/* 02C863E0 */ _t221 = cpu->r[23] + 0x00000000u;
|
|
/* 02C863E0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t221);
|
|
/* 02C863E4 */ cpu->r[11] = cpu->r[12] ^ 0x0000005Eu;
|
|
/* 02C863E8 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C863EC */ cpu->r[31] = cpu->r[11] - cpu->r[12];
|
|
/* 02C863EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C863F0 */ _t222 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C863F0 */ _t223 = _t222 & 0x00000001u;
|
|
/* 02C863F0 */ if (_t223) goto L_02C863F4; else goto L_02C863F8;
|
|
L_02C863F4: ; // 0x2c863f4
|
|
/* 02C863F4 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
L_02C863F8: ; // 0x2c863f8
|
|
/* 02C863F8 */ cpu->r[22] = cpu->r[1] + 0x00000020u;
|
|
/* 02C863FC */ cpu->r[4] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C86400 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C86404 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C86408 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C8640C */ _t224 = cpu->r[23] + 0x00000000u;
|
|
/* 02C8640C */ cpu->r[12] = rbrew_read8(cpu->mem, _t224);
|
|
/* 02C86410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000005Du);
|
|
/* 02C86414 */ _t225 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86414 */ _t226 = _t225 & 0x00000001u;
|
|
/* 02C86414 */ if (_t226) goto L_02C86418; else goto L_02C86420;
|
|
L_02C86418: ; // 0x2c86418
|
|
/* 02C86418 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02C8641C */ _t227 = cpu->r[22] + 0x0000005Du;
|
|
/* 02C8641C */ rbrew_write8(cpu->mem, _t227, (uint8_t)cpu->r[31]);
|
|
L_02C86420: ; // 0x2c86420
|
|
/* 02C86420 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C86424 */ goto L_02C8647C;
|
|
L_02C86428: ; // 0x2c86428
|
|
/* 02C86428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000002Du);
|
|
/* 02C8642C */ _t228 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8642C */ _t229 = _t228 & 0x00000001u;
|
|
/* 02C8642C */ if (_t229) goto L_02C86430; else goto L_02C86470;
|
|
L_02C86430: ; // 0x2c86430
|
|
/* 02C86430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86434 */ _t230 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86434 */ _t231 = _t230 & 0x00000001u;
|
|
/* 02C86434 */ if (_t231) goto L_02C86470; else goto L_02C86438;
|
|
L_02C86438: ; // 0x2c86438
|
|
/* 02C86438 */ _t232 = cpu->r[23] + 0x00000001u;
|
|
/* 02C86438 */ cpu->r[11] = rbrew_read8(cpu->mem, _t232);
|
|
/* 02C8643C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C86440 */ _t233 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86440 */ _t234 = _t233 & 0x00000001u;
|
|
/* 02C86440 */ if (_t234) goto L_02C86470; else goto L_02C86444;
|
|
L_02C86444: ; // 0x2c86444
|
|
/* 02C86444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000005Du);
|
|
/* 02C86448 */ _t235 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86448 */ _t236 = _t235 & 0x00000001u;
|
|
/* 02C86448 */ if (_t236) goto L_02C86470; else goto L_02C8644C;
|
|
L_02C8644C: ; // 0x2c8644c
|
|
/* 02C8644C */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02C86450 */ goto L_02C8645C;
|
|
L_02C86454: ; // 0x2c86454
|
|
/* 02C86454 */ _t237 = cpu->r[22] + cpu->r[12];
|
|
/* 02C86454 */ rbrew_write8(cpu->mem, _t237, (uint8_t)cpu->r[31]);
|
|
/* 02C86458 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
L_02C8645C: ; // 0x2c8645c
|
|
/* 02C8645C */ _t238 = cpu->r[23] + 0x00000000u;
|
|
/* 02C8645C */ cpu->r[11] = rbrew_read8(cpu->mem, _t238);
|
|
/* 02C86460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 02C86464 */ _t239 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86464 */ _t240 = _t239 & 0x00000001u;
|
|
/* 02C86464 */ if (_t240) goto L_02C86468; else goto L_02C86454;
|
|
L_02C86468: ; // 0x2c86468
|
|
/* 02C86468 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8646C */ goto L_02C86478;
|
|
L_02C86470: ; // 0x2c86470
|
|
/* 02C86470 */ cpu->r[12] = cpu->r[10];
|
|
/* 02C86474 */ _t241 = cpu->r[22] + cpu->r[12];
|
|
/* 02C86474 */ rbrew_write8(cpu->mem, _t241, (uint8_t)cpu->r[31]);
|
|
L_02C86478: ; // 0x2c86478
|
|
/* 02C86478 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
L_02C8647C: ; // 0x2c8647c
|
|
/* 02C8647C */ _t242 = cpu->r[23] + 0x00000000u;
|
|
/* 02C8647C */ cpu->r[10] = rbrew_read8(cpu->mem, _t242);
|
|
/* 02C86480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C86484 */ _t243 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86484 */ _t244 = _t243 & 0x00000001u;
|
|
/* 02C86484 */ if (_t244) goto L_02C8649C; else goto L_02C86488;
|
|
L_02C86488: ; // 0x2c86488
|
|
/* 02C86488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000005Du);
|
|
/* 02C8648C */ _t245 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8648C */ _t246 = _t245 & 0x00000001u;
|
|
/* 02C8648C */ if (_t246) goto L_02C86490; else goto L_02C86428;
|
|
L_02C86490: ; // 0x2c86490
|
|
/* 02C86490 */ cpu->r[12] = cpu->r[23] + 0x00000001u;
|
|
/* 02C86494 */ _t247 = cpu->r[19] + 0x00000000u;
|
|
/* 02C86494 */ rbrew_write32(cpu->mem, _t247, cpu->r[12]);
|
|
/* 02C86498 */ goto L_02C864A0;
|
|
L_02C8649C: ; // 0x2c8649c
|
|
/* 02C8649C */ cpu->r[20] = 0xFFFFFFFFu;
|
|
L_02C864A0: ; // 0x2c864a0
|
|
/* 02C864A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C864A4 */ cpu->r[23] = 0x00000001u;
|
|
/* 02C864A8 */ _t248 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C864A8 */ _t249 = _t248 & 0x00000001u;
|
|
/* 02C864A8 */ if (_t249) goto L_02C86508; else goto L_02C864AC;
|
|
L_02C864AC: ; // 0x2c864ac
|
|
/* 02C864AC */ goto L_02C864DC;
|
|
L_02C864B0: ; // 0x2c864b0
|
|
/* 02C864B0 */ _t250 = cpu->r[22] + cpu->r[20];
|
|
/* 02C864B0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t250);
|
|
/* 02C864B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C864B8 */ _t251 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C864B8 */ _t252 = _t251 & 0x00000001u;
|
|
/* 02C864B8 */ if (_t252) goto L_02C864F0; else goto L_02C864BC;
|
|
L_02C864BC: ; // 0x2c864bc
|
|
/* 02C864BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C864C0 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C864C4 */ _t253 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C864C4 */ _t254 = _t253 & 0x00000001u;
|
|
/* 02C864C4 */ if (_t254) goto L_02C864D0; else goto L_02C864C8;
|
|
L_02C864C8: ; // 0x2c864c8
|
|
/* 02C864C8 */ _t255 = cpu->r[30] + 0x00000000u;
|
|
/* 02C864C8 */ rbrew_write8(cpu->mem, _t255, (uint8_t)cpu->r[20]);
|
|
/* 02C864CC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C864D0: ; // 0x2c864d0
|
|
/* 02C864D0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C864D4 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C864D8 */ cpu->r[20] = cpu->r[3];
|
|
L_02C864DC: ; // 0x2c864dc
|
|
/* 02C864DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C864E0 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C864E0 */ _t257 = _t256 & 0x00000001u;
|
|
/* 02C864E0 */ if (_t257) goto L_02C864F0; else goto L_02C864E4;
|
|
L_02C864E4: ; // 0x2c864e4
|
|
/* 02C864E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C864E8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C864EC */ _t258 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C864EC */ _t259 = _t258 & 0x00000001u;
|
|
/* 02C864EC */ if (_t259) goto L_02C864B0; else goto L_02C864F0;
|
|
L_02C864F0: ; // 0x2c864f0
|
|
/* 02C864F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C864F4 */ _t260 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C864F4 */ _t261 = _t260 & 0x00000001u;
|
|
/* 02C864F4 */ if (_t261) goto L_02C864F8; else goto L_02C86588;
|
|
L_02C864F8: ; // 0x2c864f8
|
|
/* 02C864F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C864FC */ _t262 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C864FC */ _t263 = _t262 & 0x00000001u;
|
|
/* 02C864FC */ if (_t263) goto L_02C8659C; else goto L_02C86500;
|
|
L_02C86500: ; // 0x2c86500
|
|
/* 02C86500 */ _t264 = cpu->r[30] + 0x00000000u;
|
|
/* 02C86500 */ rbrew_write8(cpu->mem, _t264, (uint8_t)cpu->r[26]);
|
|
/* 02C86504 */ goto L_02C8659C;
|
|
L_02C86508: ; // 0x2c86508
|
|
/* 02C86508 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C8650C */ goto L_02C8656C;
|
|
L_02C86510: ; // 0x2c86510
|
|
/* 02C86510 */ _t265 = cpu->r[22] + cpu->r[20];
|
|
/* 02C86510 */ cpu->r[12] = rbrew_read8(cpu->mem, _t265);
|
|
/* 02C86514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86518 */ _t266 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86518 */ _t267 = _t266 & 0x00000001u;
|
|
/* 02C86518 */ if (_t267) goto L_02C86580; else goto L_02C8651C;
|
|
L_02C8651C: ; // 0x2c8651c
|
|
/* 02C8651C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C86520 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C86524 */ _t268 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86524 */ _t269 = _t268 & 0x00000001u;
|
|
/* 02C86524 */ if (_t269) goto L_02C86560; else goto L_02C86528;
|
|
L_02C86528: ; // 0x2c86528
|
|
/* 02C86528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000006u);
|
|
/* 02C8652C */ _t270 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8652C */ _t271 = _t270 & 0x00000001u;
|
|
/* 02C8652C */ if (_t271) goto L_02C86530; else goto L_02C86598;
|
|
L_02C86530: ; // 0x2c86530
|
|
/* 02C86530 */ cpu->r[4] = cpu->r[1] + 0x0000001Au;
|
|
/* 02C86534 */ _t272 = cpu->r[4] + cpu->r[31];
|
|
/* 02C86534 */ rbrew_write8(cpu->mem, _t272, (uint8_t)cpu->r[20]);
|
|
/* 02C86538 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C8653C */ cpu->r[3] = cpu->r[1] + 0x0000000Eu;
|
|
/* 02C86540 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C86544 */ Gambit_fn_02C895E8(cpu);
|
|
/* 02C86548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C8654C */ _t273 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8654C */ _t274 = _t273 & 0x00000001u;
|
|
/* 02C8654C */ if (_t274) goto L_02C86550; else goto L_02C86560;
|
|
L_02C86550: ; // 0x2c86550
|
|
/* 02C86550 */ _t275 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02C86550 */ cpu->r[12] = rbrew_read16(cpu->mem, _t275);
|
|
/* 02C86554 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C86558 */ _t276 = cpu->r[30] + 0x00000000u;
|
|
/* 02C86558 */ rbrew_write16(cpu->mem, _t276, (uint16_t)cpu->r[12]);
|
|
/* 02C8655C */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
L_02C86560: ; // 0x2c86560
|
|
/* 02C86560 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C86564 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C86568 */ cpu->r[20] = cpu->r[3];
|
|
L_02C8656C: ; // 0x2c8656c
|
|
/* 02C8656C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86570 */ _t277 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86570 */ _t278 = _t277 & 0x00000001u;
|
|
/* 02C86570 */ if (_t278) goto L_02C86580; else goto L_02C86574;
|
|
L_02C86574: ; // 0x2c86574
|
|
/* 02C86574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C86578 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C8657C */ _t279 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8657C */ _t280 = _t279 & 0x00000001u;
|
|
/* 02C8657C */ if (_t280) goto L_02C86510; else goto L_02C86580;
|
|
L_02C86580: ; // 0x2c86580
|
|
/* 02C86580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C86584 */ _t281 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86584 */ _t282 = _t281 & 0x00000001u;
|
|
/* 02C86584 */ if (_t282) goto L_02C86590; else goto L_02C86588;
|
|
L_02C86588: ; // 0x2c86588
|
|
/* 02C86588 */ cpu->r[20] = 0xFFFFFFFDu - cpu->r[20];
|
|
/* 02C8658C */ goto L_02C8659C;
|
|
L_02C86590: ; // 0x2c86590
|
|
/* 02C86590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C86594 */ _t283 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86594 */ _t284 = _t283 & 0x00000001u;
|
|
/* 02C86594 */ if (_t284) goto L_02C8659C; else goto L_02C86598;
|
|
L_02C86598: ; // 0x2c86598
|
|
/* 02C86598 */ _t285 = cpu->r[30] + 0x00000000u;
|
|
/* 02C86598 */ rbrew_write16(cpu->mem, _t285, (uint16_t)cpu->r[26]);
|
|
L_02C8659C: ; // 0x2c8659c
|
|
/* 02C8659C */ goto L_02C8661C;
|
|
L_02C865A0: ; // 0x2c865a0
|
|
/* 02C865A0 */ _t286 = cpu->r[27] + 0x00000004u;
|
|
/* 02C865A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t286);
|
|
/* 02C865A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C865A8 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C865AC */ _t287 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C865AC */ _t288 = _t287 & 0x00000001u;
|
|
/* 02C865AC */ if (_t288) goto L_02C86618; else goto L_02C865B0;
|
|
L_02C865B0: ; // 0x2c865b0
|
|
/* 02C865B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0xFFFFFFFFu);
|
|
/* 02C865B4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C865B8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C865BC */ _t289 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C865BC */ _t290 = _t289 & 0x00000001u;
|
|
/* 02C865BC */ if (_t290) goto L_02C865C0; else goto L_02C865D0;
|
|
L_02C865C0: ; // 0x2c865c0
|
|
/* 02C865C0 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C865C4 */ _t291 = cpu->r[3] + 0x00000000u;
|
|
/* 02C865C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t291);
|
|
/* 02C865C8 */ _t292 = cpu->r[12] + 0x00000000u;
|
|
/* 02C865C8 */ rbrew_write8(cpu->mem, _t292, (uint8_t)cpu->r[31]);
|
|
/* 02C865CC */ goto L_02C86618;
|
|
L_02C865D0: ; // 0x2c865d0
|
|
/* 02C865D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C865D4 */ _t293 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C865D4 */ _t294 = _t293 & 0x00000001u;
|
|
/* 02C865D4 */ if (_t294) goto L_02C865D8; else goto L_02C865E8;
|
|
L_02C865D8: ; // 0x2c865d8
|
|
/* 02C865D8 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C865DC */ _t295 = cpu->r[3] + 0x00000000u;
|
|
/* 02C865DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t295);
|
|
/* 02C865E0 */ _t296 = cpu->r[12] + 0x00000000u;
|
|
/* 02C865E0 */ rbrew_write16(cpu->mem, _t296, (uint16_t)cpu->r[31]);
|
|
/* 02C865E4 */ goto L_02C86618;
|
|
L_02C865E8: ; // 0x2c865e8
|
|
/* 02C865E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000001u);
|
|
/* 02C865EC */ _t297 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C865EC */ _t298 = _t297 & 0x00000001u;
|
|
/* 02C865EC */ if (_t298) goto L_02C865F0; else goto L_02C86608;
|
|
L_02C865F0: ; // 0x2c865f0
|
|
/* 02C865F0 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C865F4 */ _t299 = cpu->r[3] + 0x00000000u;
|
|
/* 02C865F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t299);
|
|
/* 02C865F8 */ /* nop */
|
|
/* 02C865FC */ _t300 = cpu->r[12] + 0x00000004u;
|
|
/* 02C865FC */ rbrew_write32(cpu->mem, _t300, cpu->r[31]);
|
|
/* 02C86600 */ _t301 = cpu->r[12] + 0x00000000u;
|
|
/* 02C86600 */ rbrew_write32(cpu->mem, _t301, cpu->r[11]);
|
|
/* 02C86604 */ goto L_02C86618;
|
|
L_02C86608: ; // 0x2c86608
|
|
/* 02C86608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C8660C */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C86610 */ _t302 = cpu->r[3] + 0x00000000u;
|
|
/* 02C86610 */ cpu->r[12] = rbrew_read32(cpu->mem, _t302);
|
|
/* 02C86614 */ _t303 = cpu->r[12] + 0x00000000u;
|
|
/* 02C86614 */ rbrew_write32(cpu->mem, _t303, cpu->r[31]);
|
|
L_02C86618: ; // 0x2c86618
|
|
/* 02C86618 */ cpu->r[25] = 0x00000000u;
|
|
L_02C8661C: ; // 0x2c8661c
|
|
/* 02C8661C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86620 */ _t304 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86620 */ _t305 = _t304 & 0x00000001u;
|
|
/* 02C86620 */ if (_t305) goto L_02C86630; else goto L_02C86624;
|
|
L_02C86624: ; // 0x2c86624
|
|
/* 02C86624 */ cpu->r[24] = cpu->r[24] + cpu->r[25];
|
|
/* 02C86628 */ cpu->r[23] = cpu->r[24];
|
|
/* 02C8662C */ goto L_02C85DF0;
|
|
L_02C86630: ; // 0x2c86630
|
|
/* 02C86630 */ cpu->r[20] = 0xFFFFFFFDu - cpu->r[20];
|
|
L_02C86634: ; // 0x2c86634
|
|
/* 02C86634 */ cpu->r[23] = cpu->r[24];
|
|
L_02C86638: ; // 0x2c86638
|
|
/* 02C86638 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C8663C */ cpu->r[3] = cpu->r[20];
|
|
/* 02C86640 */ Gambit_fn_02C85CE4(cpu);
|
|
L_02C86644: ; // 0x2c86644
|
|
/* 02C86644 */ cpu->r[11] = cpu->r[1] + 0x00000158u;
|
|
/* 02C86648 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C8664C */ goto L_02C8A560;
|
|
L_02C8A560: ; // 0x2c8a560
|
|
/* 02C8A560 */ _t306 = cpu->r[11] + 0xFFFFFFC8u;
|
|
/* 02C8A560 */ cpu->r[18] = rbrew_read32(cpu->mem, _t306);
|
|
/* 02C8A564 */ _t307 = cpu->r[11] + 0xFFFFFFCCu;
|
|
/* 02C8A564 */ cpu->r[19] = rbrew_read32(cpu->mem, _t307);
|
|
/* 02C8A568 */ _t308 = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C8A568 */ cpu->r[20] = rbrew_read32(cpu->mem, _t308);
|
|
/* 02C8A56C */ _t309 = cpu->r[11] + 0xFFFFFFD4u;
|
|
/* 02C8A56C */ cpu->r[21] = rbrew_read32(cpu->mem, _t309);
|
|
/* 02C8A570 */ _t310 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A570 */ cpu->r[22] = rbrew_read32(cpu->mem, _t310);
|
|
/* 02C8A574 */ _t311 = cpu->r[11] + 0xFFFFFFDCu;
|
|
/* 02C8A574 */ cpu->r[23] = rbrew_read32(cpu->mem, _t311);
|
|
/* 02C8A578 */ _t312 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A578 */ cpu->r[24] = rbrew_read32(cpu->mem, _t312);
|
|
/* 02C8A57C */ _t313 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t313);
|
|
/* 02C8A580 */ _t314 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t314);
|
|
/* 02C8A584 */ _t315 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t315);
|
|
/* 02C8A588 */ _t316 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t316);
|
|
/* 02C8A58C */ _t317 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t317);
|
|
/* 02C8A590 */ _t318 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t318);
|
|
/* 02C8A594 */ _t319 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t319);
|
|
/* 02C8A598 */ _t320 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t320);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C85DC4 @ 0x2c85dc4
|
|
void Gambit_fn_02C85DC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320;
|
|
|
|
L_02C85DC4: ; // 0x2c85dc4
|
|
/* 02C85DC4 */ _t0 = cpu->r[1] + 0xFFFFFEA8u;
|
|
/* 02C85DC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C85DC4 */ cpu->r[1] = _t0;
|
|
/* 02C85DC8 */ Gambit_fn_02C8A508(cpu);
|
|
/* 02C85DCC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85DCC */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02C85DD0 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C85DD4 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C85DD8 */ cpu->r[23] = 0xFFFFFFFFu;
|
|
/* 02C85DDC */ cpu->r[27] = cpu->r[3];
|
|
/* 02C85DE0 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02C85DE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[26]);
|
|
/* 02C85DE4 */ cpu->r[24] = cpu->r[26];
|
|
L_02C85DE8: ; // 0x2c85de8
|
|
/* 02C85DE8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85DEC */ cpu->r[20] = cpu->r[3];
|
|
L_02C85DF0: ; // 0x2c85df0
|
|
/* 02C85DF0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85DF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C85DF4 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02C85DF4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C85DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C85DFC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85DFC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C85DFC */ if (_t6) goto L_02C86638; else goto L_02C85E00;
|
|
L_02C85E00: ; // 0x2c85e00
|
|
/* 02C85E00 */ cpu->r[12] = cpu->r[11];
|
|
/* 02C85E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u);
|
|
/* 02C85E08 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E08 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C85E08 */ if (_t8) goto L_02C85E24; else goto L_02C85E0C;
|
|
L_02C85E0C: ; // 0x2c85e0c
|
|
/* 02C85E0C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFF7u;
|
|
/* 02C85E10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 02C85E14 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85E14 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C85E14 */ if (_t10) goto L_02C85E74; else goto L_02C85E18;
|
|
L_02C85E18: ; // 0x2c85e18
|
|
/* 02C85E18 */ goto L_02C85E24;
|
|
L_02C85E1C: ; // 0x2c85e1c
|
|
/* 02C85E1C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C85E20 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85E20 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
L_02C85E24: ; // 0x2c85e24
|
|
/* 02C85E24 */ _t12 = cpu->r[10] + 0x00000000u;
|
|
/* 02C85E24 */ cpu->r[12] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C85E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000020u);
|
|
/* 02C85E2C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E2C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C85E2C */ if (_t14) goto L_02C85E1C; else goto L_02C85E30;
|
|
L_02C85E30: ; // 0x2c85e30
|
|
/* 02C85E30 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFF7u;
|
|
/* 02C85E34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 02C85E38 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85E38 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C85E38 */ if (_t16) goto L_02C85E3C; else goto L_02C85E1C;
|
|
L_02C85E3C: ; // 0x2c85e3c
|
|
/* 02C85E3C */ goto L_02C85E4C;
|
|
L_02C85E40: ; // 0x2c85e40
|
|
/* 02C85E40 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C85E44 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85E48 */ cpu->r[20] = cpu->r[3];
|
|
L_02C85E4C: ; // 0x2c85e4c
|
|
/* 02C85E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000020u);
|
|
/* 02C85E50 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E50 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C85E50 */ if (_t18) goto L_02C85E40; else goto L_02C85E54;
|
|
L_02C85E54: ; // 0x2c85e54
|
|
/* 02C85E54 */ cpu->r[12] = cpu->r[20] + 0xFFFFFFF7u;
|
|
/* 02C85E58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 02C85E5C */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85E5C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C85E5C */ if (_t20) goto L_02C85E60; else goto L_02C85E40;
|
|
L_02C85E60: ; // 0x2c85e60
|
|
/* 02C85E60 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85E60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C85E64 */ _t22 = cpu->r[10] + 0x00000000u;
|
|
/* 02C85E64 */ cpu->r[11] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C85E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C85E6C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E6C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C85E6C */ if (_t24) goto L_02C85E70; else goto L_02C85E00;
|
|
L_02C85E70: ; // 0x2c85e70
|
|
/* 02C85E70 */ goto L_02C86634;
|
|
L_02C85E74: ; // 0x2c85e74
|
|
/* 02C85E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000025u);
|
|
/* 02C85E78 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E78 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C85E78 */ if (_t26) goto L_02C85EA0; else goto L_02C85E7C;
|
|
L_02C85E7C: ; // 0x2c85e7c
|
|
/* 02C85E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C85E80 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E80 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C85E80 */ if (_t28) goto L_02C85E88; else goto L_02C85E84;
|
|
L_02C85E84: ; // 0x2c85e84
|
|
/* 02C85E84 */ cpu->r[23] = cpu->r[24];
|
|
L_02C85E88: ; // 0x2c85e88
|
|
/* 02C85E88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[20]);
|
|
/* 02C85E8C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85E8C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C85E8C */ if (_t30) goto L_02C85E90; else goto L_02C86638;
|
|
L_02C85E90: ; // 0x2c85e90
|
|
/* 02C85E90 */ cpu->r[12] = cpu->r[10] + 0x00000001u;
|
|
/* 02C85E94 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C85E98 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85E98 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02C85E9C */ goto L_02C85DE8;
|
|
L_02C85EA0: ; // 0x2c85ea0
|
|
/* 02C85EA0 */ cpu->r[12] = cpu->r[10] + 0x00000001u;
|
|
/* 02C85EA4 */ cpu->r[21] = 0x00000000u;
|
|
/* 02C85EA8 */ cpu->r[25] = 0x00000001u;
|
|
/* 02C85EAC */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85EAC */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02C85EB0 */ cpu->r[29] = cpu->r[21];
|
|
L_02C85EB4: ; // 0x2c85eb4
|
|
/* 02C85EB4 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85EB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C85EB8 */ cpu->r[11] = cpu->r[12] + 0x00000001u;
|
|
/* 02C85EBC */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 02C85EBC */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
|
|
/* 02C85EC0 */ _t35 = cpu->r[12] + 0x00000000u;
|
|
/* 02C85EC0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02C85EC4 */ cpu->r[12] = cpu->r[31] + 0xFFFFFFD0u;
|
|
/* 02C85EC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000009u);
|
|
/* 02C85ECC */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85ECC */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C85ECC */ if (_t37) goto L_02C85EE0; else goto L_02C85ED0;
|
|
L_02C85ED0: ; // 0x2c85ed0
|
|
/* 02C85ED0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x0000000Au);
|
|
/* 02C85ED4 */ cpu->r[12] = cpu->r[12] + cpu->r[31];
|
|
/* 02C85ED8 */ cpu->r[29] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 02C85EDC */ goto L_02C85EB4;
|
|
L_02C85EE0: ; // 0x2c85ee0
|
|
/* 02C85EE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000004Cu);
|
|
/* 02C85EE4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85EE4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C85EE4 */ if (_t39) goto L_02C85F0C; else goto L_02C85EE8;
|
|
L_02C85EE8: ; // 0x2c85ee8
|
|
/* 02C85EE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000068u);
|
|
/* 02C85EEC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85EEC */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C85EEC */ if (_t41) goto L_02C85F1C; else goto L_02C85EF0;
|
|
L_02C85EF0: ; // 0x2c85ef0
|
|
/* 02C85EF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000006Au);
|
|
/* 02C85EF4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85EF4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C85EF4 */ if (_t43) goto L_02C85F0C; else goto L_02C85EF8;
|
|
L_02C85EF8: ; // 0x2c85ef8
|
|
/* 02C85EF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000006Cu);
|
|
/* 02C85EFC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85EFC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C85EFC */ if (_t45) goto L_02C85F14; else goto L_02C85F00;
|
|
L_02C85F00: ; // 0x2c85f00
|
|
/* 02C85F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000007Au);
|
|
/* 02C85F04 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F04 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C85F04 */ if (_t47) goto L_02C85EB4; else goto L_02C85F08;
|
|
L_02C85F08: ; // 0x2c85f08
|
|
/* 02C85F08 */ goto L_02C85F24;
|
|
L_02C85F0C: ; // 0x2c85f0c
|
|
/* 02C85F0C */ cpu->r[21] = 0x00000002u;
|
|
/* 02C85F10 */ goto L_02C85EB4;
|
|
L_02C85F14: ; // 0x2c85f14
|
|
/* 02C85F14 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02C85F18 */ goto L_02C85EB4;
|
|
L_02C85F1C: ; // 0x2c85f1c
|
|
/* 02C85F1C */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 02C85F20 */ goto L_02C85EB4;
|
|
L_02C85F24: ; // 0x2c85f24
|
|
/* 02C85F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000074u);
|
|
/* 02C85F28 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F28 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C85F28 */ if (_t49) goto L_02C85EB4; else goto L_02C85F2C;
|
|
L_02C85F2C: ; // 0x2c85f2c
|
|
/* 02C85F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000005Eu);
|
|
/* 02C85F30 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F30 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C85F30 */ if (_t51) goto L_02C85F34; else goto L_02C85F48;
|
|
L_02C85F34: ; // 0x2c85f34
|
|
/* 02C85F34 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C85F38 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C85F3C */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C85F40 */ _t52 = cpu->r[3] + 0x00000000u;
|
|
/* 02C85F40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C85F44 */ goto L_02C85EB4;
|
|
L_02C85F48: ; // 0x2c85f48
|
|
/* 02C85F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000002Au);
|
|
/* 02C85F4C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F4C */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C85F4C */ if (_t54) goto L_02C85F50; else goto L_02C85F58;
|
|
L_02C85F50: ; // 0x2c85f50
|
|
/* 02C85F50 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C85F54 */ goto L_02C85EB4;
|
|
L_02C85F58: ; // 0x2c85f58
|
|
/* 02C85F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000063u);
|
|
/* 02C85F5C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F5C */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C85F5C */ if (_t56) goto L_02C85F94; else goto L_02C85F60;
|
|
L_02C85F60: ; // 0x2c85f60
|
|
/* 02C85F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000005Bu);
|
|
/* 02C85F64 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F64 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C85F64 */ if (_t58) goto L_02C85F94; else goto L_02C85F68;
|
|
L_02C85F68: ; // 0x2c85f68
|
|
/* 02C85F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000006Eu);
|
|
/* 02C85F6C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F6C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C85F6C */ if (_t60) goto L_02C85F94; else goto L_02C85F70;
|
|
L_02C85F70: ; // 0x2c85f70
|
|
/* 02C85F70 */ goto L_02C85F80;
|
|
L_02C85F74: ; // 0x2c85f74
|
|
/* 02C85F74 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C85F78 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C85F7C */ cpu->r[20] = cpu->r[3];
|
|
L_02C85F80: ; // 0x2c85f80
|
|
/* 02C85F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000020u);
|
|
/* 02C85F84 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85F84 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C85F84 */ if (_t62) goto L_02C85F74; else goto L_02C85F88;
|
|
L_02C85F88: ; // 0x2c85f88
|
|
/* 02C85F88 */ cpu->r[12] = cpu->r[20] + 0xFFFFFFF7u;
|
|
/* 02C85F8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 02C85F90 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85F90 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C85F90 */ if (_t64) goto L_02C85F94; else goto L_02C85F74;
|
|
L_02C85F94: ; // 0x2c85f94
|
|
/* 02C85F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C85F98 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85F98 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C85F98 */ if (_t66) goto L_02C85FA4; else goto L_02C85F9C;
|
|
L_02C85F9C: ; // 0x2c85f9c
|
|
/* 02C85F9C */ cpu->r[29] = 0x000F0000u;
|
|
/* 02C85FA0 */ cpu->r[29] = cpu->r[29] + 0x00004240u;
|
|
L_02C85FA4: ; // 0x2c85fa4
|
|
/* 02C85FA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000025u);
|
|
/* 02C85FA8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C85FAC */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FAC */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C85FAC */ if (_t68) goto L_02C86044; else goto L_02C85FB0;
|
|
L_02C85FB0: ; // 0x2c85fb0
|
|
/* 02C85FB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000041u);
|
|
/* 02C85FB4 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FB4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C85FB4 */ if (_t70) goto L_02C8634C; else goto L_02C85FB8;
|
|
L_02C85FB8: ; // 0x2c85fb8
|
|
/* 02C85FB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000045u);
|
|
/* 02C85FBC */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85FBC */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C85FBC */ if (_t72) goto L_02C8603C; else goto L_02C85FC0;
|
|
L_02C85FC0: ; // 0x2c85fc0
|
|
/* 02C85FC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000047u);
|
|
/* 02C85FC4 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C85FC4 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C85FC4 */ if (_t74) goto L_02C85FC8; else goto L_02C8634C;
|
|
L_02C85FC8: ; // 0x2c85fc8
|
|
/* 02C85FC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000050u);
|
|
/* 02C85FCC */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FCC */ _t76 = _t75 & 0x00000001u;
|
|
/* 02C85FCC */ if (_t76) goto L_02C8613C; else goto L_02C85FD0;
|
|
L_02C85FD0: ; // 0x2c85fd0
|
|
/* 02C85FD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000058u);
|
|
/* 02C85FD4 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FD4 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02C85FD4 */ if (_t78) goto L_02C86140; else goto L_02C85FD8;
|
|
L_02C85FD8: ; // 0x2c85fd8
|
|
/* 02C85FD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000005Bu);
|
|
/* 02C85FDC */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FDC */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C85FDC */ if (_t80) goto L_02C8639C; else goto L_02C85FE0;
|
|
L_02C85FE0: ; // 0x2c85fe0
|
|
/* 02C85FE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000061u);
|
|
/* 02C85FE4 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FE4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C85FE4 */ if (_t82) goto L_02C8634C; else goto L_02C85FE8;
|
|
L_02C85FE8: ; // 0x2c85fe8
|
|
/* 02C85FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000063u);
|
|
/* 02C85FEC */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C85FEC */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C85FEC */ if (_t84) goto L_02C8603C; else goto L_02C85FF0;
|
|
L_02C85FF0: ; // 0x2c85ff0
|
|
/* 02C85FF0 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FF0 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C85FF0 */ if (_t86) goto L_02C8606C; else goto L_02C85FF4;
|
|
L_02C85FF4: ; // 0x2c85ff4
|
|
/* 02C85FF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000064u);
|
|
/* 02C85FF8 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C85FF8 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C85FF8 */ if (_t88) goto L_02C86144; else goto L_02C85FFC;
|
|
L_02C85FFC: ; // 0x2c85ffc
|
|
/* 02C85FFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000067u);
|
|
/* 02C86000 */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86000 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C86000 */ if (_t90) goto L_02C86004; else goto L_02C8634C;
|
|
L_02C86004: ; // 0x2c86004
|
|
/* 02C86004 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000069u);
|
|
/* 02C86008 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86008 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C86008 */ if (_t92) goto L_02C8614C; else goto L_02C8600C;
|
|
L_02C8600C: ; // 0x2c8600c
|
|
/* 02C8600C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000006Eu);
|
|
/* 02C86010 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86010 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02C86010 */ if (_t94) goto L_02C8603C; else goto L_02C86014;
|
|
L_02C86014: ; // 0x2c86014
|
|
/* 02C86014 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86014 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02C86014 */ if (_t96) goto L_02C865A0; else goto L_02C86018;
|
|
L_02C86018: ; // 0x2c86018
|
|
/* 02C86018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000070u);
|
|
/* 02C8601C */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8601C */ _t98 = _t97 & 0x00000001u;
|
|
/* 02C8601C */ if (_t98) goto L_02C86148; else goto L_02C86020;
|
|
L_02C86020: ; // 0x2c86020
|
|
/* 02C86020 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86020 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02C86020 */ if (_t100) goto L_02C8613C; else goto L_02C86024;
|
|
L_02C86024: ; // 0x2c86024
|
|
/* 02C86024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000073u);
|
|
/* 02C86028 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86028 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02C86028 */ if (_t102) goto L_02C8639C; else goto L_02C8602C;
|
|
L_02C8602C: ; // 0x2c8602c
|
|
/* 02C8602C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000075u);
|
|
/* 02C86030 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86030 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02C86030 */ if (_t104) goto L_02C86144; else goto L_02C86034;
|
|
L_02C86034: ; // 0x2c86034
|
|
/* 02C86034 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000078u);
|
|
/* 02C86038 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86038 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C86038 */ if (_t106) goto L_02C86140; else goto L_02C8603C;
|
|
L_02C8603C: ; // 0x2c8603c
|
|
/* 02C8603C */ cpu->r[23] = cpu->r[24];
|
|
/* 02C86040 */ goto L_02C86644;
|
|
L_02C86044: ; // 0x2c86044
|
|
/* 02C86044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86048 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86048 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02C86048 */ if (_t108) goto L_02C86644; else goto L_02C8604C;
|
|
L_02C8604C: ; // 0x2c8604c
|
|
/* 02C8604C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000025u);
|
|
/* 02C86050 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86050 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02C86050 */ if (_t110) goto L_02C8605C; else goto L_02C86054;
|
|
L_02C86054: ; // 0x2c86054
|
|
/* 02C86054 */ cpu->r[20] = 0xFFFFFFFDu - cpu->r[20];
|
|
/* 02C86058 */ goto L_02C86618;
|
|
L_02C8605C: ; // 0x2c8605c
|
|
/* 02C8605C */ cpu->r[3] = cpu->r[27];
|
|
/* 02C86060 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C86064 */ cpu->r[20] = cpu->r[3];
|
|
/* 02C86068 */ goto L_02C86618;
|
|
L_02C8606C: ; // 0x2c8606c
|
|
/* 02C8606C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86070 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86070 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02C86070 */ if (_t112) goto L_02C86644; else goto L_02C86074;
|
|
L_02C86074: ; // 0x2c86074
|
|
/* 02C86074 */ cpu->r[12] = 0x000F0000u;
|
|
/* 02C86078 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C8607C */ cpu->r[12] = cpu->r[12] + 0x00004240u;
|
|
/* 02C86080 */ cpu->r[30] = cpu->r[23];
|
|
/* 02C86084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 02C86088 */ cpu->r[31] = cpu->r[30];
|
|
/* 02C8608C */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8608C */ _t114 = _t113 & 0x00000001u;
|
|
/* 02C8608C */ if (_t114) goto L_02C86090; else goto L_02C86094;
|
|
L_02C86090: ; // 0x2c86090
|
|
/* 02C86090 */ cpu->r[29] = 0x00000001u;
|
|
L_02C86094: ; // 0x2c86094
|
|
/* 02C86094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C86098 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86098 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02C86098 */ if (_t116) goto L_02C86124; else goto L_02C8609C;
|
|
L_02C8609C: ; // 0x2c8609c
|
|
/* 02C8609C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C860A0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C860A4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C860A8 */ _t117 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C860A8 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02C860A8 */ if (_t118) goto L_02C860B8; else goto L_02C860AC;
|
|
L_02C860AC: ; // 0x2c860ac
|
|
/* 02C860AC */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C860B0 */ _t119 = cpu->r[3] + 0x00000000u;
|
|
/* 02C860B0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02C860B4 */ goto L_02C86124;
|
|
L_02C860B8: ; // 0x2c860b8
|
|
/* 02C860B8 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C860BC */ _t120 = cpu->r[3] + 0x00000000u;
|
|
/* 02C860BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02C860C0 */ goto L_02C86124;
|
|
L_02C860C4: ; // 0x2c860c4
|
|
/* 02C860C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C860C8 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C860C8 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02C860C8 */ if (_t122) goto L_02C86118; else goto L_02C860CC;
|
|
L_02C860CC: ; // 0x2c860cc
|
|
/* 02C860CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C860D0 */ _t123 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C860D0 */ _t124 = _t123 & 0x00000001u;
|
|
/* 02C860D0 */ if (_t124) goto L_02C860D4; else goto L_02C86110;
|
|
L_02C860D4: ; // 0x2c860d4
|
|
/* 02C860D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000006u);
|
|
/* 02C860D8 */ _t125 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C860D8 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02C860D8 */ if (_t126) goto L_02C860DC; else goto L_02C8661C;
|
|
L_02C860DC: ; // 0x2c860dc
|
|
/* 02C860DC */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02C860E0 */ _t127 = cpu->r[4] + cpu->r[31];
|
|
/* 02C860E0 */ rbrew_write8(cpu->mem, _t127, (uint8_t)cpu->r[20]);
|
|
/* 02C860E4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C860E8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C860EC */ cpu->r[5] = cpu->r[31];
|
|
/* 02C860F0 */ Gambit_fn_02C895E8(cpu);
|
|
/* 02C860F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C860F8 */ _t128 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C860F8 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02C860F8 */ if (_t129) goto L_02C860FC; else goto L_02C86118;
|
|
L_02C860FC: ; // 0x2c860fc
|
|
/* 02C860FC */ _t130 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C860FC */ cpu->r[12] = rbrew_read16(cpu->mem, _t130);
|
|
/* 02C86100 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C86104 */ _t131 = cpu->r[30] + 0x00000000u;
|
|
/* 02C86104 */ rbrew_write16(cpu->mem, _t131, (uint16_t)cpu->r[12]);
|
|
/* 02C86108 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02C8610C */ goto L_02C86118;
|
|
L_02C86110: ; // 0x2c86110
|
|
/* 02C86110 */ _t132 = cpu->r[23] + 0x00000000u;
|
|
/* 02C86110 */ rbrew_write8(cpu->mem, _t132, (uint8_t)cpu->r[20]);
|
|
/* 02C86114 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
L_02C86118: ; // 0x2c86118
|
|
/* 02C86118 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C8611C */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C86120 */ cpu->r[20] = cpu->r[3];
|
|
L_02C86124: ; // 0x2c86124
|
|
/* 02C86124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C86128 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C8612C */ _t133 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8612C */ _t134 = _t133 & 0x00000001u;
|
|
/* 02C8612C */ if (_t134) goto L_02C86130; else goto L_02C8661C;
|
|
L_02C86130: ; // 0x2c86130
|
|
/* 02C86130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86134 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86134 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02C86134 */ if (_t136) goto L_02C86138; else goto L_02C860C4;
|
|
L_02C86138: ; // 0x2c86138
|
|
/* 02C86138 */ goto L_02C8661C;
|
|
L_02C8613C: ; // 0x2c8613c
|
|
/* 02C8613C */ cpu->r[21] = 0xFFFFFFFDu;
|
|
L_02C86140: ; // 0x2c86140
|
|
/* 02C86140 */ cpu->r[30] = 0x00000006u;
|
|
L_02C86144: ; // 0x2c86144
|
|
/* 02C86144 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
L_02C86148: ; // 0x2c86148
|
|
/* 02C86148 */ cpu->r[30] = cpu->r[30] + 0x00000008u;
|
|
L_02C8614C: ; // 0x2c8614c
|
|
/* 02C8614C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86150 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86150 */ _t138 = _t137 & 0x00000001u;
|
|
/* 02C86150 */ if (_t138) goto L_02C86644; else goto L_02C86154;
|
|
L_02C86154: ; // 0x2c86154
|
|
/* 02C86154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C86158 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C8615C */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8615C */ _t140 = _t139 & 0x00000001u;
|
|
/* 02C8615C */ if (_t140) goto L_02C86170; else goto L_02C86160;
|
|
L_02C86160: ; // 0x2c86160
|
|
/* 02C86160 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C86164 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C86168 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C8616C */ _t141 = cpu->r[3] + 0x00000000u;
|
|
/* 02C8616C */ cpu->r[31] = rbrew_read32(cpu->mem, _t141);
|
|
L_02C86170: ; // 0x2c86170
|
|
/* 02C86170 */ cpu->r[19] = 0x00000000u;
|
|
/* 02C86174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x0000002Du);
|
|
/* 02C86178 */ cpu->r[12] = 0x00000003u;
|
|
/* 02C8617C */ cpu->r[18] = cpu->r[19];
|
|
/* 02C86180 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86180 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02C86180 */ if (_t143) goto L_02C8618C; else goto L_02C86184;
|
|
L_02C86184: ; // 0x2c86184
|
|
/* 02C86184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x0000002Bu);
|
|
/* 02C86188 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86188 */ _t145 = _t144 & 0x00000001u;
|
|
/* 02C86188 */ if (_t145) goto L_02C8618C; else goto L_02C861B0;
|
|
L_02C8618C: ; // 0x2c8618c
|
|
/* 02C8618C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 02C86190 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C86194 */ _t146 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86194 */ _t147 = _t146 & 0x00000001u;
|
|
/* 02C86194 */ if (_t147) goto L_02C86198; else goto L_02C861B0;
|
|
L_02C86198: ; // 0x2c86198
|
|
/* 02C86198 */ cpu->r[12] = cpu->r[20] ^ 0x0000002Du;
|
|
/* 02C8619C */ cpu->r[12] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C861A0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C861A4 */ cpu->r[19] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C861A8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C861AC */ cpu->r[20] = cpu->r[3];
|
|
L_02C861B0: ; // 0x2c861b0
|
|
/* 02C861B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000030u);
|
|
/* 02C861B4 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C861B4 */ _t149 = _t148 & 0x00000001u;
|
|
/* 02C861B4 */ if (_t149) goto L_02C861B8; else goto L_02C86220;
|
|
L_02C861B8: ; // 0x2c861b8
|
|
/* 02C861B8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02C861B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C861BC */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C861BC */ _t151 = _t150 & 0x00000001u;
|
|
/* 02C861BC */ if (_t151) goto L_02C861C0; else goto L_02C86220;
|
|
L_02C861C0: ; // 0x2c861c0
|
|
/* 02C861C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C861C4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C861C8 */ _t152 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C861C8 */ _t153 = _t152 & 0x00000001u;
|
|
/* 02C861C8 */ if (_t153) goto L_02C861CC; else goto L_02C86220;
|
|
L_02C861CC: ; // 0x2c861cc
|
|
/* 02C861CC */ cpu->r[3] = cpu->r[27];
|
|
/* 02C861D0 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C861D4 */ cpu->r[20] = cpu->r[3];
|
|
/* 02C861D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000078u);
|
|
/* 02C861DC */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C861DC */ _t155 = _t154 & 0x00000001u;
|
|
/* 02C861DC */ if (_t155) goto L_02C861E8; else goto L_02C861E0;
|
|
L_02C861E0: ; // 0x2c861e0
|
|
/* 02C861E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000058u);
|
|
/* 02C861E4 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C861E4 */ _t157 = _t156 & 0x00000001u;
|
|
/* 02C861E4 */ if (_t157) goto L_02C861E8; else goto L_02C8620C;
|
|
L_02C861E8: ; // 0x2c861e8
|
|
/* 02C861E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C861EC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C861F0 */ _t158 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C861F0 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02C861F0 */ if (_t159) goto L_02C861F4; else goto L_02C8620C;
|
|
L_02C861F4: ; // 0x2c861f4
|
|
/* 02C861F4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C861F8 */ cpu->r[18] = cpu->r[20];
|
|
/* 02C861FC */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C86200 */ cpu->r[20] = cpu->r[3];
|
|
/* 02C86204 */ cpu->r[30] = 0x00000010u;
|
|
/* 02C86208 */ goto L_02C8622C;
|
|
L_02C8620C: ; // 0x2c8620c
|
|
/* 02C8620C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C86210 */ cpu->r[18] = 0x00000030u;
|
|
/* 02C86214 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86214 */ _t161 = _t160 & 0x00000001u;
|
|
/* 02C86214 */ if (_t161) goto L_02C86218; else goto L_02C8622C;
|
|
L_02C86218: ; // 0x2c86218
|
|
/* 02C86218 */ cpu->r[30] = 0x00000008u;
|
|
/* 02C8621C */ goto L_02C8622C;
|
|
L_02C86220: ; // 0x2c86220
|
|
/* 02C86220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C86224 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86224 */ _t163 = _t162 & 0x00000001u;
|
|
/* 02C86224 */ if (_t163) goto L_02C86228; else goto L_02C8622C;
|
|
L_02C86228: ; // 0x2c86228
|
|
/* 02C86228 */ cpu->r[30] = 0x0000000Au;
|
|
L_02C8622C: ; // 0x2c8622c
|
|
/* 02C8622C */ cpu->r[23] = 0x00000000u;
|
|
/* 02C86230 */ cpu->r[3] = cpu->r[20];
|
|
/* 02C86234 */ cpu->r[22] = cpu->r[23];
|
|
/* 02C86238 */ Gambit_fn_02C85D08(cpu);
|
|
/* 02C8623C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C86240 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86240 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02C86240 */ if (_t165) goto L_02C8624C; else goto L_02C86244;
|
|
L_02C86244: ; // 0x2c86244
|
|
/* 02C86244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[30]);
|
|
/* 02C86248 */ _t166 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86248 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02C86248 */ if (_t167) goto L_02C86278; else goto L_02C8624C;
|
|
L_02C8624C: ; // 0x2c8624c
|
|
/* 02C8624C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000030u);
|
|
/* 02C86250 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86250 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02C86250 */ if (_t169) goto L_02C862E4; else goto L_02C86254;
|
|
L_02C86254: ; // 0x2c86254
|
|
/* 02C86254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 02C86258 */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86258 */ _t171 = _t170 & 0x00000001u;
|
|
/* 02C86258 */ if (_t171) goto L_02C86270; else goto L_02C8625C;
|
|
L_02C8625C: ; // 0x2c8625c
|
|
/* 02C8625C */ cpu->r[4] = cpu->r[27];
|
|
/* 02C86260 */ cpu->r[3] = cpu->r[20];
|
|
/* 02C86264 */ Gambit_fn_02C85CE4(cpu);
|
|
/* 02C86268 */ cpu->r[20] = cpu->r[18];
|
|
/* 02C8626C */ goto L_02C862E4;
|
|
L_02C86270: ; // 0x2c86270
|
|
/* 02C86270 */ cpu->r[20] = 0xFFFFFFFDu - cpu->r[20];
|
|
/* 02C86274 */ goto L_02C8661C;
|
|
L_02C86278: ; // 0x2c86278
|
|
/* 02C86278 */ cpu->r[11] = rbrew_rlwinm(cpu->r[22], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C8627C */ cpu->r[22] = rbrew_rlwinm(cpu->r[22], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C86280 */ cpu->r[12] = rbrew_rlwinm(cpu->r[23], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C86284 */ _t172 = rbrew_rlwinm(cpu->r[23], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C86284 */ _t173 = cpu->r[11] & 0xFFFFFFFEu;
|
|
/* 02C86284 */ cpu->r[11] = _t173 | _t172;
|
|
/* 02C86288 */ _t174 = rbrew_rlwinm(cpu->r[23], 0x00000003u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C86288 */ _t175 = cpu->r[22] & 0xFFFFFFF8u;
|
|
/* 02C86288 */ cpu->r[22] = _t175 | _t174;
|
|
/* 02C8628C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000000Au);
|
|
/* 02C86290 */ cpu->r[23] = rbrew_rlwinm(cpu->r[23], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C86294 */ _t176 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86294 */ _t177 = _t176 & 0x00000001u;
|
|
/* 02C86294 */ if (_t177) goto L_02C86298; else goto L_02C862A4;
|
|
L_02C86298: ; // 0x2c86298
|
|
/* 02C86298 */ cpu->r[23] = cpu->r[23] + cpu->r[12];
|
|
/* 02C8629C */ cpu->r[22] = cpu->r[22] + cpu->r[11];
|
|
/* 02C862A0 */ goto L_02C862B8;
|
|
L_02C862A4: ; // 0x2c862a4
|
|
/* 02C862A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000010u);
|
|
/* 02C862A8 */ _t178 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C862A8 */ _t179 = _t178 & 0x00000001u;
|
|
/* 02C862A8 */ if (_t179) goto L_02C862AC; else goto L_02C862B8;
|
|
L_02C862AC: ; // 0x2c862ac
|
|
/* 02C862AC */ cpu->r[22] = rbrew_rlwinm(cpu->r[22], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C862B0 */ _t180 = rbrew_rlwinm(cpu->r[23], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C862B0 */ _t181 = cpu->r[22] & 0xFFFFFFFEu;
|
|
/* 02C862B0 */ cpu->r[22] = _t181 | _t180;
|
|
/* 02C862B4 */ cpu->r[23] = rbrew_rlwinm(cpu->r[23], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C862B8: ; // 0x2c862b8
|
|
/* 02C862B8 */ /* nop */
|
|
/* 02C862BC */ cpu->r[23] = cpu->r[23] + cpu->r[3];
|
|
/* 02C862C0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C862C4 */ cpu->r[22] = cpu->r[22] + cpu->r[12];
|
|
/* 02C862C8 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C862CC */ cpu->r[20] = cpu->r[3];
|
|
/* 02C862D0 */ Gambit_fn_02C85D08(cpu);
|
|
/* 02C862D4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C862D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C862D8 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C862D8 */ _t183 = _t182 & 0x00000001u;
|
|
/* 02C862D8 */ if (_t183) goto L_02C862E4; else goto L_02C862DC;
|
|
L_02C862DC: ; // 0x2c862dc
|
|
/* 02C862DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[30]);
|
|
/* 02C862E0 */ _t184 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C862E0 */ _t185 = _t184 & 0x00000001u;
|
|
/* 02C862E0 */ if (_t185) goto L_02C86278; else goto L_02C862E4;
|
|
L_02C862E4: ; // 0x2c862e4
|
|
/* 02C862E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 02C862E8 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C862E8 */ _t187 = _t186 & 0x00000001u;
|
|
/* 02C862E8 */ if (_t187) goto L_02C862F4; else goto L_02C862EC;
|
|
L_02C862EC: ; // 0x2c862ec
|
|
/* 02C862EC */ cpu->r[23] = 0x00000000u - cpu->r[23];
|
|
/* 02C862F0 */ cpu->r[22] = ~cpu->r[22];
|
|
L_02C862F4: ; // 0x2c862f4
|
|
/* 02C862F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C862F8 */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C862F8 */ _t189 = _t188 & 0x00000001u;
|
|
/* 02C862F8 */ if (_t189) goto L_02C86348; else goto L_02C862FC;
|
|
L_02C862FC: ; // 0x2c862fc
|
|
/* 02C862FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0xFFFFFFFDu);
|
|
/* 02C86300 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86300 */ _t191 = _t190 & 0x00000001u;
|
|
/* 02C86300 */ if (_t191) goto L_02C86304; else goto L_02C8630C;
|
|
L_02C86304: ; // 0x2c86304
|
|
/* 02C86304 */ _t192 = cpu->r[31] + 0x00000000u;
|
|
/* 02C86304 */ rbrew_write32(cpu->mem, _t192, cpu->r[23]);
|
|
/* 02C86308 */ goto L_02C8661C;
|
|
L_02C8630C: ; // 0x2c8630c
|
|
/* 02C8630C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0xFFFFFFFEu);
|
|
/* 02C86310 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86310 */ _t194 = _t193 & 0x00000001u;
|
|
/* 02C86310 */ if (_t194) goto L_02C86314; else goto L_02C8631C;
|
|
L_02C86314: ; // 0x2c86314
|
|
/* 02C86314 */ _t195 = cpu->r[31] + 0x00000000u;
|
|
/* 02C86314 */ rbrew_write8(cpu->mem, _t195, (uint8_t)cpu->r[23]);
|
|
/* 02C86318 */ goto L_02C8661C;
|
|
L_02C8631C: ; // 0x2c8631c
|
|
/* 02C8631C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C86320 */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86320 */ _t197 = _t196 & 0x00000001u;
|
|
/* 02C86320 */ if (_t197) goto L_02C86324; else goto L_02C8632C;
|
|
L_02C86324: ; // 0x2c86324
|
|
/* 02C86324 */ _t198 = cpu->r[31] + 0x00000000u;
|
|
/* 02C86324 */ rbrew_write16(cpu->mem, _t198, (uint16_t)cpu->r[23]);
|
|
/* 02C86328 */ goto L_02C8661C;
|
|
L_02C8632C: ; // 0x2c8632c
|
|
/* 02C8632C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000001u);
|
|
/* 02C86330 */ _t199 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86330 */ _t200 = _t199 & 0x00000001u;
|
|
/* 02C86330 */ if (_t200) goto L_02C86304; else goto L_02C86334;
|
|
L_02C86334: ; // 0x2c86334
|
|
/* 02C86334 */ _t201 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86334 */ _t202 = _t201 & 0x00000001u;
|
|
/* 02C86334 */ if (_t202) goto L_02C86338; else goto L_02C86344;
|
|
L_02C86338: ; // 0x2c86338
|
|
/* 02C86338 */ _t203 = cpu->r[31] + 0x00000000u;
|
|
/* 02C86338 */ rbrew_write32(cpu->mem, _t203, cpu->r[22]);
|
|
/* 02C8633C */ _t204 = cpu->r[31] + 0x00000004u;
|
|
/* 02C8633C */ rbrew_write32(cpu->mem, _t204, cpu->r[23]);
|
|
/* 02C86340 */ goto L_02C8661C;
|
|
L_02C86344: ; // 0x2c86344
|
|
/* 02C86344 */ goto L_02C86304;
|
|
L_02C86348: ; // 0x2c86348
|
|
/* 02C86348 */ goto L_02C8661C;
|
|
L_02C8634C: ; // 0x2c8634c
|
|
/* 02C8634C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86350 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86350 */ _t206 = _t205 & 0x00000001u;
|
|
/* 02C86350 */ if (_t206) goto L_02C86644; else goto L_02C86354;
|
|
L_02C86354: ; // 0x2c86354
|
|
/* 02C86354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C86358 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C8635C */ _t207 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8635C */ _t208 = _t207 & 0x00000001u;
|
|
/* 02C8635C */ if (_t208) goto L_02C86370; else goto L_02C86360;
|
|
L_02C86360: ; // 0x2c86360
|
|
/* 02C86360 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C86364 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C86368 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C8636C */ _t209 = cpu->r[3] + 0x00000000u;
|
|
/* 02C8636C */ cpu->r[31] = rbrew_read32(cpu->mem, _t209);
|
|
L_02C86370: ; // 0x2c86370
|
|
/* 02C86370 */ cpu->r[12] = 0x02C80000u;
|
|
/* 02C86374 */ cpu->r[12] = cpu->r[12] + 0x000056A8u;
|
|
/* 02C86374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86378 */ _t210 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86378 */ _t211 = _t210 & 0x00000001u;
|
|
/* 02C86378 */ if (_t211) goto L_02C86634; else goto L_02C8637C;
|
|
L_02C8637C: ; // 0x2c8637c
|
|
/* 02C8637C */ cpu->r[7] = cpu->r[21];
|
|
/* 02C86380 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C86384 */ cpu->r[5] = cpu->r[20];
|
|
/* 02C86388 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C8638C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C86390 */ Gambit_fn_02C856A8(cpu);
|
|
/* 02C86394 */ cpu->r[20] = cpu->r[3];
|
|
/* 02C86398 */ goto L_02C8661C;
|
|
L_02C8639C: ; // 0x2c8639c
|
|
/* 02C8639C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C863A0 */ _t212 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C863A0 */ _t213 = _t212 & 0x00000001u;
|
|
/* 02C863A0 */ if (_t213) goto L_02C86644; else goto L_02C863A4;
|
|
L_02C863A4: ; // 0x2c863a4
|
|
/* 02C863A4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C863A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000073u);
|
|
/* 02C863AC */ cpu->r[12] = cpu->r[12] + 0x00004701u;
|
|
/* 02C863B0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C863B4 */ cpu->r[19] = cpu->r[1] + 0x00000010u;
|
|
/* 02C863B8 */ _t214 = cpu->r[1] + 0x00000010u;
|
|
/* 02C863B8 */ rbrew_write32(cpu->mem, _t214, cpu->r[12]);
|
|
/* 02C863BC */ _t215 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C863BC */ _t216 = _t215 & 0x00000001u;
|
|
/* 02C863BC */ if (_t216) goto L_02C863C4; else goto L_02C863C0;
|
|
L_02C863C0: ; // 0x2c863c0
|
|
/* 02C863C0 */ cpu->r[19] = cpu->r[1] + 0x00000008u;
|
|
L_02C863C4: ; // 0x2c863c4
|
|
/* 02C863C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C863C8 */ _t217 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C863C8 */ _t218 = _t217 & 0x00000001u;
|
|
/* 02C863C8 */ if (_t218) goto L_02C863DC; else goto L_02C863CC;
|
|
L_02C863CC: ; // 0x2c863cc
|
|
/* 02C863CC */ cpu->r[4] = 0x00000001u;
|
|
/* 02C863D0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C863D4 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C863D8 */ _t219 = cpu->r[3] + 0x00000000u;
|
|
/* 02C863D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t219);
|
|
L_02C863DC: ; // 0x2c863dc
|
|
/* 02C863DC */ _t220 = cpu->r[19] + 0x00000000u;
|
|
/* 02C863DC */ cpu->r[23] = rbrew_read32(cpu->mem, _t220);
|
|
/* 02C863E0 */ _t221 = cpu->r[23] + 0x00000000u;
|
|
/* 02C863E0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t221);
|
|
/* 02C863E4 */ cpu->r[11] = cpu->r[12] ^ 0x0000005Eu;
|
|
/* 02C863E8 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C863EC */ cpu->r[31] = cpu->r[11] - cpu->r[12];
|
|
/* 02C863EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C863F0 */ _t222 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C863F0 */ _t223 = _t222 & 0x00000001u;
|
|
/* 02C863F0 */ if (_t223) goto L_02C863F4; else goto L_02C863F8;
|
|
L_02C863F4: ; // 0x2c863f4
|
|
/* 02C863F4 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
L_02C863F8: ; // 0x2c863f8
|
|
/* 02C863F8 */ cpu->r[22] = cpu->r[1] + 0x00000020u;
|
|
/* 02C863FC */ cpu->r[4] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C86400 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C86404 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C86408 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C8640C */ _t224 = cpu->r[23] + 0x00000000u;
|
|
/* 02C8640C */ cpu->r[12] = rbrew_read8(cpu->mem, _t224);
|
|
/* 02C86410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000005Du);
|
|
/* 02C86414 */ _t225 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86414 */ _t226 = _t225 & 0x00000001u;
|
|
/* 02C86414 */ if (_t226) goto L_02C86418; else goto L_02C86420;
|
|
L_02C86418: ; // 0x2c86418
|
|
/* 02C86418 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02C8641C */ _t227 = cpu->r[22] + 0x0000005Du;
|
|
/* 02C8641C */ rbrew_write8(cpu->mem, _t227, (uint8_t)cpu->r[31]);
|
|
L_02C86420: ; // 0x2c86420
|
|
/* 02C86420 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C86424 */ goto L_02C8647C;
|
|
L_02C86428: ; // 0x2c86428
|
|
/* 02C86428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000002Du);
|
|
/* 02C8642C */ _t228 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8642C */ _t229 = _t228 & 0x00000001u;
|
|
/* 02C8642C */ if (_t229) goto L_02C86430; else goto L_02C86470;
|
|
L_02C86430: ; // 0x2c86430
|
|
/* 02C86430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86434 */ _t230 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86434 */ _t231 = _t230 & 0x00000001u;
|
|
/* 02C86434 */ if (_t231) goto L_02C86470; else goto L_02C86438;
|
|
L_02C86438: ; // 0x2c86438
|
|
/* 02C86438 */ _t232 = cpu->r[23] + 0x00000001u;
|
|
/* 02C86438 */ cpu->r[11] = rbrew_read8(cpu->mem, _t232);
|
|
/* 02C8643C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C86440 */ _t233 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86440 */ _t234 = _t233 & 0x00000001u;
|
|
/* 02C86440 */ if (_t234) goto L_02C86470; else goto L_02C86444;
|
|
L_02C86444: ; // 0x2c86444
|
|
/* 02C86444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000005Du);
|
|
/* 02C86448 */ _t235 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86448 */ _t236 = _t235 & 0x00000001u;
|
|
/* 02C86448 */ if (_t236) goto L_02C86470; else goto L_02C8644C;
|
|
L_02C8644C: ; // 0x2c8644c
|
|
/* 02C8644C */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02C86450 */ goto L_02C8645C;
|
|
L_02C86454: ; // 0x2c86454
|
|
/* 02C86454 */ _t237 = cpu->r[22] + cpu->r[12];
|
|
/* 02C86454 */ rbrew_write8(cpu->mem, _t237, (uint8_t)cpu->r[31]);
|
|
/* 02C86458 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
L_02C8645C: ; // 0x2c8645c
|
|
/* 02C8645C */ _t238 = cpu->r[23] + 0x00000000u;
|
|
/* 02C8645C */ cpu->r[11] = rbrew_read8(cpu->mem, _t238);
|
|
/* 02C86460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 02C86464 */ _t239 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86464 */ _t240 = _t239 & 0x00000001u;
|
|
/* 02C86464 */ if (_t240) goto L_02C86468; else goto L_02C86454;
|
|
L_02C86468: ; // 0x2c86468
|
|
/* 02C86468 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8646C */ goto L_02C86478;
|
|
L_02C86470: ; // 0x2c86470
|
|
/* 02C86470 */ cpu->r[12] = cpu->r[10];
|
|
/* 02C86474 */ _t241 = cpu->r[22] + cpu->r[12];
|
|
/* 02C86474 */ rbrew_write8(cpu->mem, _t241, (uint8_t)cpu->r[31]);
|
|
L_02C86478: ; // 0x2c86478
|
|
/* 02C86478 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
L_02C8647C: ; // 0x2c8647c
|
|
/* 02C8647C */ _t242 = cpu->r[23] + 0x00000000u;
|
|
/* 02C8647C */ cpu->r[10] = rbrew_read8(cpu->mem, _t242);
|
|
/* 02C86480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C86484 */ _t243 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86484 */ _t244 = _t243 & 0x00000001u;
|
|
/* 02C86484 */ if (_t244) goto L_02C8649C; else goto L_02C86488;
|
|
L_02C86488: ; // 0x2c86488
|
|
/* 02C86488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000005Du);
|
|
/* 02C8648C */ _t245 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8648C */ _t246 = _t245 & 0x00000001u;
|
|
/* 02C8648C */ if (_t246) goto L_02C86490; else goto L_02C86428;
|
|
L_02C86490: ; // 0x2c86490
|
|
/* 02C86490 */ cpu->r[12] = cpu->r[23] + 0x00000001u;
|
|
/* 02C86494 */ _t247 = cpu->r[19] + 0x00000000u;
|
|
/* 02C86494 */ rbrew_write32(cpu->mem, _t247, cpu->r[12]);
|
|
/* 02C86498 */ goto L_02C864A0;
|
|
L_02C8649C: ; // 0x2c8649c
|
|
/* 02C8649C */ cpu->r[20] = 0xFFFFFFFFu;
|
|
L_02C864A0: ; // 0x2c864a0
|
|
/* 02C864A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C864A4 */ cpu->r[23] = 0x00000001u;
|
|
/* 02C864A8 */ _t248 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C864A8 */ _t249 = _t248 & 0x00000001u;
|
|
/* 02C864A8 */ if (_t249) goto L_02C86508; else goto L_02C864AC;
|
|
L_02C864AC: ; // 0x2c864ac
|
|
/* 02C864AC */ goto L_02C864DC;
|
|
L_02C864B0: ; // 0x2c864b0
|
|
/* 02C864B0 */ _t250 = cpu->r[22] + cpu->r[20];
|
|
/* 02C864B0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t250);
|
|
/* 02C864B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C864B8 */ _t251 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C864B8 */ _t252 = _t251 & 0x00000001u;
|
|
/* 02C864B8 */ if (_t252) goto L_02C864F0; else goto L_02C864BC;
|
|
L_02C864BC: ; // 0x2c864bc
|
|
/* 02C864BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C864C0 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C864C4 */ _t253 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C864C4 */ _t254 = _t253 & 0x00000001u;
|
|
/* 02C864C4 */ if (_t254) goto L_02C864D0; else goto L_02C864C8;
|
|
L_02C864C8: ; // 0x2c864c8
|
|
/* 02C864C8 */ _t255 = cpu->r[30] + 0x00000000u;
|
|
/* 02C864C8 */ rbrew_write8(cpu->mem, _t255, (uint8_t)cpu->r[20]);
|
|
/* 02C864CC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C864D0: ; // 0x2c864d0
|
|
/* 02C864D0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C864D4 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C864D8 */ cpu->r[20] = cpu->r[3];
|
|
L_02C864DC: ; // 0x2c864dc
|
|
/* 02C864DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C864E0 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C864E0 */ _t257 = _t256 & 0x00000001u;
|
|
/* 02C864E0 */ if (_t257) goto L_02C864F0; else goto L_02C864E4;
|
|
L_02C864E4: ; // 0x2c864e4
|
|
/* 02C864E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C864E8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C864EC */ _t258 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C864EC */ _t259 = _t258 & 0x00000001u;
|
|
/* 02C864EC */ if (_t259) goto L_02C864B0; else goto L_02C864F0;
|
|
L_02C864F0: ; // 0x2c864f0
|
|
/* 02C864F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C864F4 */ _t260 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C864F4 */ _t261 = _t260 & 0x00000001u;
|
|
/* 02C864F4 */ if (_t261) goto L_02C864F8; else goto L_02C86588;
|
|
L_02C864F8: ; // 0x2c864f8
|
|
/* 02C864F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C864FC */ _t262 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C864FC */ _t263 = _t262 & 0x00000001u;
|
|
/* 02C864FC */ if (_t263) goto L_02C8659C; else goto L_02C86500;
|
|
L_02C86500: ; // 0x2c86500
|
|
/* 02C86500 */ _t264 = cpu->r[30] + 0x00000000u;
|
|
/* 02C86500 */ rbrew_write8(cpu->mem, _t264, (uint8_t)cpu->r[26]);
|
|
/* 02C86504 */ goto L_02C8659C;
|
|
L_02C86508: ; // 0x2c86508
|
|
/* 02C86508 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C8650C */ goto L_02C8656C;
|
|
L_02C86510: ; // 0x2c86510
|
|
/* 02C86510 */ _t265 = cpu->r[22] + cpu->r[20];
|
|
/* 02C86510 */ cpu->r[12] = rbrew_read8(cpu->mem, _t265);
|
|
/* 02C86514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86518 */ _t266 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86518 */ _t267 = _t266 & 0x00000001u;
|
|
/* 02C86518 */ if (_t267) goto L_02C86580; else goto L_02C8651C;
|
|
L_02C8651C: ; // 0x2c8651c
|
|
/* 02C8651C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C86520 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C86524 */ _t268 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86524 */ _t269 = _t268 & 0x00000001u;
|
|
/* 02C86524 */ if (_t269) goto L_02C86560; else goto L_02C86528;
|
|
L_02C86528: ; // 0x2c86528
|
|
/* 02C86528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000006u);
|
|
/* 02C8652C */ _t270 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8652C */ _t271 = _t270 & 0x00000001u;
|
|
/* 02C8652C */ if (_t271) goto L_02C86530; else goto L_02C86598;
|
|
L_02C86530: ; // 0x2c86530
|
|
/* 02C86530 */ cpu->r[4] = cpu->r[1] + 0x0000001Au;
|
|
/* 02C86534 */ _t272 = cpu->r[4] + cpu->r[31];
|
|
/* 02C86534 */ rbrew_write8(cpu->mem, _t272, (uint8_t)cpu->r[20]);
|
|
/* 02C86538 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C8653C */ cpu->r[3] = cpu->r[1] + 0x0000000Eu;
|
|
/* 02C86540 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C86544 */ Gambit_fn_02C895E8(cpu);
|
|
/* 02C86548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C8654C */ _t273 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8654C */ _t274 = _t273 & 0x00000001u;
|
|
/* 02C8654C */ if (_t274) goto L_02C86550; else goto L_02C86560;
|
|
L_02C86550: ; // 0x2c86550
|
|
/* 02C86550 */ _t275 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02C86550 */ cpu->r[12] = rbrew_read16(cpu->mem, _t275);
|
|
/* 02C86554 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C86558 */ _t276 = cpu->r[30] + 0x00000000u;
|
|
/* 02C86558 */ rbrew_write16(cpu->mem, _t276, (uint16_t)cpu->r[12]);
|
|
/* 02C8655C */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
L_02C86560: ; // 0x2c86560
|
|
/* 02C86560 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C86564 */ Gambit_fn_02C85CC8(cpu);
|
|
/* 02C86568 */ cpu->r[20] = cpu->r[3];
|
|
L_02C8656C: ; // 0x2c8656c
|
|
/* 02C8656C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86570 */ _t277 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86570 */ _t278 = _t277 & 0x00000001u;
|
|
/* 02C86570 */ if (_t278) goto L_02C86580; else goto L_02C86574;
|
|
L_02C86574: ; // 0x2c86574
|
|
/* 02C86574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C86578 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C8657C */ _t279 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8657C */ _t280 = _t279 & 0x00000001u;
|
|
/* 02C8657C */ if (_t280) goto L_02C86510; else goto L_02C86580;
|
|
L_02C86580: ; // 0x2c86580
|
|
/* 02C86580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C86584 */ _t281 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86584 */ _t282 = _t281 & 0x00000001u;
|
|
/* 02C86584 */ if (_t282) goto L_02C86590; else goto L_02C86588;
|
|
L_02C86588: ; // 0x2c86588
|
|
/* 02C86588 */ cpu->r[20] = 0xFFFFFFFDu - cpu->r[20];
|
|
/* 02C8658C */ goto L_02C8659C;
|
|
L_02C86590: ; // 0x2c86590
|
|
/* 02C86590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C86594 */ _t283 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86594 */ _t284 = _t283 & 0x00000001u;
|
|
/* 02C86594 */ if (_t284) goto L_02C8659C; else goto L_02C86598;
|
|
L_02C86598: ; // 0x2c86598
|
|
/* 02C86598 */ _t285 = cpu->r[30] + 0x00000000u;
|
|
/* 02C86598 */ rbrew_write16(cpu->mem, _t285, (uint16_t)cpu->r[26]);
|
|
L_02C8659C: ; // 0x2c8659c
|
|
/* 02C8659C */ goto L_02C8661C;
|
|
L_02C865A0: ; // 0x2c865a0
|
|
/* 02C865A0 */ _t286 = cpu->r[27] + 0x00000004u;
|
|
/* 02C865A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t286);
|
|
/* 02C865A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C865A8 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C865AC */ _t287 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C865AC */ _t288 = _t287 & 0x00000001u;
|
|
/* 02C865AC */ if (_t288) goto L_02C86618; else goto L_02C865B0;
|
|
L_02C865B0: ; // 0x2c865b0
|
|
/* 02C865B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0xFFFFFFFFu);
|
|
/* 02C865B4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C865B8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C865BC */ _t289 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C865BC */ _t290 = _t289 & 0x00000001u;
|
|
/* 02C865BC */ if (_t290) goto L_02C865C0; else goto L_02C865D0;
|
|
L_02C865C0: ; // 0x2c865c0
|
|
/* 02C865C0 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C865C4 */ _t291 = cpu->r[3] + 0x00000000u;
|
|
/* 02C865C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t291);
|
|
/* 02C865C8 */ _t292 = cpu->r[12] + 0x00000000u;
|
|
/* 02C865C8 */ rbrew_write8(cpu->mem, _t292, (uint8_t)cpu->r[31]);
|
|
/* 02C865CC */ goto L_02C86618;
|
|
L_02C865D0: ; // 0x2c865d0
|
|
/* 02C865D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C865D4 */ _t293 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C865D4 */ _t294 = _t293 & 0x00000001u;
|
|
/* 02C865D4 */ if (_t294) goto L_02C865D8; else goto L_02C865E8;
|
|
L_02C865D8: ; // 0x2c865d8
|
|
/* 02C865D8 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C865DC */ _t295 = cpu->r[3] + 0x00000000u;
|
|
/* 02C865DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t295);
|
|
/* 02C865E0 */ _t296 = cpu->r[12] + 0x00000000u;
|
|
/* 02C865E0 */ rbrew_write16(cpu->mem, _t296, (uint16_t)cpu->r[31]);
|
|
/* 02C865E4 */ goto L_02C86618;
|
|
L_02C865E8: ; // 0x2c865e8
|
|
/* 02C865E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000001u);
|
|
/* 02C865EC */ _t297 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C865EC */ _t298 = _t297 & 0x00000001u;
|
|
/* 02C865EC */ if (_t298) goto L_02C865F0; else goto L_02C86608;
|
|
L_02C865F0: ; // 0x2c865f0
|
|
/* 02C865F0 */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C865F4 */ _t299 = cpu->r[3] + 0x00000000u;
|
|
/* 02C865F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t299);
|
|
/* 02C865F8 */ /* nop */
|
|
/* 02C865FC */ _t300 = cpu->r[12] + 0x00000004u;
|
|
/* 02C865FC */ rbrew_write32(cpu->mem, _t300, cpu->r[31]);
|
|
/* 02C86600 */ _t301 = cpu->r[12] + 0x00000000u;
|
|
/* 02C86600 */ rbrew_write32(cpu->mem, _t301, cpu->r[11]);
|
|
/* 02C86604 */ goto L_02C86618;
|
|
L_02C86608: ; // 0x2c86608
|
|
/* 02C86608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C8660C */ Gambit_fn_02C89FC4(cpu);
|
|
/* 02C86610 */ _t302 = cpu->r[3] + 0x00000000u;
|
|
/* 02C86610 */ cpu->r[12] = rbrew_read32(cpu->mem, _t302);
|
|
/* 02C86614 */ _t303 = cpu->r[12] + 0x00000000u;
|
|
/* 02C86614 */ rbrew_write32(cpu->mem, _t303, cpu->r[31]);
|
|
L_02C86618: ; // 0x2c86618
|
|
/* 02C86618 */ cpu->r[25] = 0x00000000u;
|
|
L_02C8661C: ; // 0x2c8661c
|
|
/* 02C8661C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0xFFFFFFFFu);
|
|
/* 02C86620 */ _t304 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86620 */ _t305 = _t304 & 0x00000001u;
|
|
/* 02C86620 */ if (_t305) goto L_02C86630; else goto L_02C86624;
|
|
L_02C86624: ; // 0x2c86624
|
|
/* 02C86624 */ cpu->r[24] = cpu->r[24] + cpu->r[25];
|
|
/* 02C86628 */ cpu->r[23] = cpu->r[24];
|
|
/* 02C8662C */ goto L_02C85DF0;
|
|
L_02C86630: ; // 0x2c86630
|
|
/* 02C86630 */ cpu->r[20] = 0xFFFFFFFDu - cpu->r[20];
|
|
L_02C86634: ; // 0x2c86634
|
|
/* 02C86634 */ cpu->r[23] = cpu->r[24];
|
|
L_02C86638: ; // 0x2c86638
|
|
/* 02C86638 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C8663C */ cpu->r[3] = cpu->r[20];
|
|
/* 02C86640 */ Gambit_fn_02C85CE4(cpu);
|
|
L_02C86644: ; // 0x2c86644
|
|
/* 02C86644 */ cpu->r[11] = cpu->r[1] + 0x00000158u;
|
|
/* 02C86648 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C8664C */ goto L_02C8A560;
|
|
L_02C8A560: ; // 0x2c8a560
|
|
/* 02C8A560 */ _t306 = cpu->r[11] + 0xFFFFFFC8u;
|
|
/* 02C8A560 */ cpu->r[18] = rbrew_read32(cpu->mem, _t306);
|
|
/* 02C8A564 */ _t307 = cpu->r[11] + 0xFFFFFFCCu;
|
|
/* 02C8A564 */ cpu->r[19] = rbrew_read32(cpu->mem, _t307);
|
|
/* 02C8A568 */ _t308 = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C8A568 */ cpu->r[20] = rbrew_read32(cpu->mem, _t308);
|
|
/* 02C8A56C */ _t309 = cpu->r[11] + 0xFFFFFFD4u;
|
|
/* 02C8A56C */ cpu->r[21] = rbrew_read32(cpu->mem, _t309);
|
|
/* 02C8A570 */ _t310 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A570 */ cpu->r[22] = rbrew_read32(cpu->mem, _t310);
|
|
/* 02C8A574 */ _t311 = cpu->r[11] + 0xFFFFFFDCu;
|
|
/* 02C8A574 */ cpu->r[23] = rbrew_read32(cpu->mem, _t311);
|
|
/* 02C8A578 */ _t312 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A578 */ cpu->r[24] = rbrew_read32(cpu->mem, _t312);
|
|
/* 02C8A57C */ _t313 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t313);
|
|
/* 02C8A580 */ _t314 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t314);
|
|
/* 02C8A584 */ _t315 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t315);
|
|
/* 02C8A588 */ _t316 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t316);
|
|
/* 02C8A58C */ _t317 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t317);
|
|
/* 02C8A590 */ _t318 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t318);
|
|
/* 02C8A594 */ _t319 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t319);
|
|
/* 02C8A598 */ _t320 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t320);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C86650 @ 0x2c86650
|
|
void Gambit_fn_02C86650(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C86650: ; // 0x2c86650
|
|
/* 02C86650 */ cpu->r[0] = cpu->lr;
|
|
/* 02C86654 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C86654 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C86658 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C86658 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C86658 */ cpu->r[1] = _t1;
|
|
/* 02C8665C */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C86660 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C86660 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02C86664 */ cpu->r[12] = 0x02C80000u;
|
|
/* 02C86668 */ cpu->r[12] = cpu->r[12] + 0x00005D74u;
|
|
/* 02C8666C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8666C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C86670 */ cpu->r[12] = 0x02C80000u;
|
|
/* 02C86674 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C86674 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02C86678 */ cpu->r[12] = cpu->r[12] + 0x00005D9Cu;
|
|
/* 02C8667C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C86680 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02C86680 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02C86684 */ Gambit_fn_02C85DBC(cpu);
|
|
/* 02C86688 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02C86688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C8668C */ cpu->lr = cpu->r[0];
|
|
/* 02C86690 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C86694 */ return;
|
|
}
|
|
|
|
// fn_02C86658 @ 0x2c86658
|
|
void Gambit_fn_02C86658(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C86658: ; // 0x2c86658
|
|
/* 02C86658 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C86658 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C86658 */ cpu->r[1] = _t0;
|
|
/* 02C8665C */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C86660 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C86660 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02C86664 */ cpu->r[12] = 0x02C80000u;
|
|
/* 02C86668 */ cpu->r[12] = cpu->r[12] + 0x00005D74u;
|
|
/* 02C8666C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8666C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02C86670 */ cpu->r[12] = 0x02C80000u;
|
|
/* 02C86674 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C86674 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02C86678 */ cpu->r[12] = cpu->r[12] + 0x00005D9Cu;
|
|
/* 02C8667C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C86680 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C86680 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C86684 */ Gambit_fn_02C85DBC(cpu);
|
|
/* 02C86688 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C86688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C8668C */ cpu->lr = cpu->r[0];
|
|
/* 02C86690 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C86694 */ return;
|
|
}
|
|
|
|
// fn_02C86698 @ 0x2c86698
|
|
void Gambit_fn_02C86698(CPUState* 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_02C86698: ; // 0x2c86698
|
|
/* 02C86698 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8669C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C8669C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C866A0 */ _t1 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C866A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C866A0 */ cpu->r[1] = _t1;
|
|
/* 02C866A4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C866A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02C866A8 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C866A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02C866AC */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02C866AC */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02C866B0 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C866B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02C866B4 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02C866B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C866B8 */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 02C866B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 02C866BC */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02C866BC */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C866C0 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02C866C0 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 02C866C4 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C866C4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C866C4 */ if (_t11) goto L_02C866C8; else goto L_02C866E8;
|
|
L_02C866C8: ; // 0x2c866c8
|
|
/* 02C866C8 */ _t12 = cpu->r[1] + 0x00000048u;
|
|
/* 02C866C8 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[3]);
|
|
/* 02C866CC */ _t13 = cpu->r[1] + 0x00000068u;
|
|
/* 02C866CC */ rbrew_write_f64(cpu->mem, _t13, cpu->f[7]);
|
|
/* 02C866D0 */ _t14 = cpu->r[1] + 0x00000060u;
|
|
/* 02C866D0 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[6]);
|
|
/* 02C866D4 */ _t15 = cpu->r[1] + 0x00000040u;
|
|
/* 02C866D4 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[2]);
|
|
/* 02C866D8 */ _t16 = cpu->r[1] + 0x00000050u;
|
|
/* 02C866D8 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[4]);
|
|
/* 02C866DC */ _t17 = cpu->r[1] + 0x00000070u;
|
|
/* 02C866DC */ rbrew_write_f64(cpu->mem, _t17, cpu->f[8]);
|
|
/* 02C866E0 */ _t18 = cpu->r[1] + 0x00000058u;
|
|
/* 02C866E0 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[5]);
|
|
/* 02C866E4 */ _t19 = cpu->r[1] + 0x00000038u;
|
|
/* 02C866E4 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[1]);
|
|
L_02C866E8: ; // 0x2c866e8
|
|
/* 02C866E8 */ cpu->r[12] = cpu->r[1] + 0x00000080u;
|
|
/* 02C866EC */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C866EC */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C866F0 */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02C866F4 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C866F4 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C866F8 */ cpu->r[12] = 0x00000200u;
|
|
/* 02C866FC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C86700 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02C86700 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[12]);
|
|
/* 02C86704 */ Gambit_fn_02C86650(cpu);
|
|
/* 02C86708 */ _t23 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C86708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C8670C */ cpu->lr = cpu->r[0];
|
|
/* 02C86710 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C86714 */ return;
|
|
}
|
|
|
|
// fn_02C866A0 @ 0x2c866a0
|
|
void Gambit_fn_02C866A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02C866A0: ; // 0x2c866a0
|
|
/* 02C866A0 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C866A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C866A0 */ cpu->r[1] = _t0;
|
|
/* 02C866A4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C866A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02C866A8 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C866A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[8]);
|
|
/* 02C866AC */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02C866AC */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02C866B0 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02C866B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C866B4 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02C866B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C866B8 */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 02C866B8 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02C866BC */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 02C866BC */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C866C0 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02C866C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02C866C4 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C866C4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C866C4 */ if (_t10) goto L_02C866C8; else goto L_02C866E8;
|
|
L_02C866C8: ; // 0x2c866c8
|
|
/* 02C866C8 */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 02C866C8 */ rbrew_write_f64(cpu->mem, _t11, cpu->f[3]);
|
|
/* 02C866CC */ _t12 = cpu->r[1] + 0x00000068u;
|
|
/* 02C866CC */ rbrew_write_f64(cpu->mem, _t12, cpu->f[7]);
|
|
/* 02C866D0 */ _t13 = cpu->r[1] + 0x00000060u;
|
|
/* 02C866D0 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[6]);
|
|
/* 02C866D4 */ _t14 = cpu->r[1] + 0x00000040u;
|
|
/* 02C866D4 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[2]);
|
|
/* 02C866D8 */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 02C866D8 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[4]);
|
|
/* 02C866DC */ _t16 = cpu->r[1] + 0x00000070u;
|
|
/* 02C866DC */ rbrew_write_f64(cpu->mem, _t16, cpu->f[8]);
|
|
/* 02C866E0 */ _t17 = cpu->r[1] + 0x00000058u;
|
|
/* 02C866E0 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[5]);
|
|
/* 02C866E4 */ _t18 = cpu->r[1] + 0x00000038u;
|
|
/* 02C866E4 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[1]);
|
|
L_02C866E8: ; // 0x2c866e8
|
|
/* 02C866E8 */ cpu->r[12] = cpu->r[1] + 0x00000080u;
|
|
/* 02C866EC */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C866EC */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C866F0 */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02C866F4 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C866F4 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C866F8 */ cpu->r[12] = 0x00000200u;
|
|
/* 02C866FC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C86700 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C86700 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[12]);
|
|
/* 02C86704 */ Gambit_fn_02C86650(cpu);
|
|
/* 02C86708 */ _t22 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C86708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C8670C */ cpu->lr = cpu->r[0];
|
|
/* 02C86710 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C86714 */ return;
|
|
}
|
|
|
|
// fn_02C86718 @ 0x2c86718
|
|
void Gambit_fn_02C86718(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C86718: ; // 0x2c86718
|
|
/* 02C86718 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8671C */ Gambit_fn_02C8A14C(cpu);
|
|
/* 02C86720 */ cpu->r[30] = 0x02D10000u;
|
|
/* 02C86724 */ cpu->r[30] = cpu->r[30] + 0xFFFFB960u;
|
|
/* 02C86728 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C8672C */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C86730 */ Gambit_fn_02C86A48(cpu);
|
|
/* 02C86734 */ cpu->r[4] = cpu->r[30] + 0x00000010u;
|
|
/* 02C86738 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C8673C */ Gambit_fn_02C86828(cpu);
|
|
/* 02C86740 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C86740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C86744 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86744 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C86744 */ if (_t1) goto L_02C8678C; else goto L_02C86748;
|
|
L_02C86748: ; // 0x2c86748
|
|
/* 02C86748 */ _t2 = cpu->r[30] + 0x00000018u;
|
|
/* 02C86748 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C8674C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C8674C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86750 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C86754 */ _t3 = cpu->r[30] + 0x00000018u;
|
|
/* 02C86754 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C86758 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86758 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C86758 */ if (_t5) goto L_02C86774; else goto L_02C8675C;
|
|
L_02C8675C: ; // 0x2c8675c
|
|
/* 02C8675C */ _t6 = cpu->r[30] + 0x00000010u;
|
|
/* 02C8675C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C86760 */ cpu->r[11] = cpu->r[12] + 0x00000001u;
|
|
/* 02C86764 */ _t7 = cpu->r[30] + 0x00000010u;
|
|
/* 02C86764 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02C86768 */ cpu->r[11] = 0x0000000Au;
|
|
/* 02C8676C */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02C8676C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[11]);
|
|
/* 02C86770 */ goto L_02C8678C;
|
|
L_02C86774: ; // 0x2c86774
|
|
/* 02C86774 */ cpu->r[3] = 0x0000000Au;
|
|
/* 02C86778 */ cpu->r[4] = cpu->r[30] + 0x00000010u;
|
|
/* 02C8677C */ Gambit_fn_02C86950(cpu);
|
|
/* 02C86780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C86784 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86784 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C86784 */ if (_t10) goto L_02C86788; else goto L_02C8678C;
|
|
L_02C86788: ; // 0x2c86788
|
|
/* 02C86788 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
L_02C8678C: ; // 0x2c8678c
|
|
/* 02C8678C */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C86790 */ Gambit_fn_02C86A70(cpu);
|
|
/* 02C86794 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C86798 */ goto L_02C8A160;
|
|
L_02C8A160: ; // 0x2c8a160
|
|
/* 02C8A160 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8A160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C8A164 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A168 */ /* nop */
|
|
/* 02C8A16C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8A170 */ return;
|
|
}
|
|
|
|
// fn_02C867A4 @ 0x2c867a4
|
|
void Gambit_fn_02C867A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02C867A4: ; // 0x2c867a4
|
|
/* 02C867A4 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C867A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C867A4 */ cpu->r[1] = _t0;
|
|
/* 02C867A8 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C867A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02C867AC */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C867AC */ rbrew_write32(cpu->mem, _t2, cpu->r[8]);
|
|
/* 02C867B0 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02C867B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02C867B4 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02C867B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C867B8 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02C867B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C867BC */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 02C867BC */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02C867C0 */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 02C867C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C867C4 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02C867C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02C867C8 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C867C8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C867C8 */ if (_t10) goto L_02C867CC; else goto L_02C867EC;
|
|
L_02C867CC: ; // 0x2c867cc
|
|
/* 02C867CC */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 02C867CC */ rbrew_write_f64(cpu->mem, _t11, cpu->f[3]);
|
|
/* 02C867D0 */ _t12 = cpu->r[1] + 0x00000068u;
|
|
/* 02C867D0 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[7]);
|
|
/* 02C867D4 */ _t13 = cpu->r[1] + 0x00000060u;
|
|
/* 02C867D4 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[6]);
|
|
/* 02C867D8 */ _t14 = cpu->r[1] + 0x00000040u;
|
|
/* 02C867D8 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[2]);
|
|
/* 02C867DC */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 02C867DC */ rbrew_write_f64(cpu->mem, _t15, cpu->f[4]);
|
|
/* 02C867E0 */ _t16 = cpu->r[1] + 0x00000070u;
|
|
/* 02C867E0 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[8]);
|
|
/* 02C867E4 */ _t17 = cpu->r[1] + 0x00000058u;
|
|
/* 02C867E4 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[5]);
|
|
/* 02C867E8 */ _t18 = cpu->r[1] + 0x00000038u;
|
|
/* 02C867E8 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[1]);
|
|
L_02C867EC: ; // 0x2c867ec
|
|
/* 02C867EC */ cpu->r[12] = cpu->r[1] + 0x00000080u;
|
|
/* 02C867F0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C867F4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C867F4 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C867F8 */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02C867FC */ cpu->r[3] = 0x02D10000u;
|
|
/* 02C86800 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C86800 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C86804 */ cpu->r[12] = 0x00000100u;
|
|
/* 02C86808 */ cpu->r[3] = cpu->r[3] + 0xFFFFB970u;
|
|
/* 02C8680C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C86810 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C86810 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[12]);
|
|
/* 02C86814 */ Gambit_fn_02C87A54(cpu);
|
|
/* 02C86818 */ _t22 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C86818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C8681C */ cpu->lr = cpu->r[0];
|
|
/* 02C86820 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C86824 */ return;
|
|
}
|
|
|
|
// fn_02C86828 @ 0x2c86828
|
|
void Gambit_fn_02C86828(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_02C86828: ; // 0x2c86828
|
|
/* 02C86828 */ cpu->r[0] = cpu->lr;
|
|
/* 02C8682C */ Gambit_fn_02C8A124(cpu);
|
|
/* 02C86830 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C86830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C86834 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C86838 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C8683C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8683C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C8683C */ if (_t1) goto L_02C86840; else goto L_02C86850;
|
|
L_02C86840: ; // 0x2c86840
|
|
/* 02C86840 */ cpu->r[3] = 0x00000009u;
|
|
/* 02C86844 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C86848 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02C8684C */ goto L_02C86948;
|
|
L_02C86850: ; // 0x2c86850
|
|
/* 02C86850 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C86854 */ Gambit_fn_02C86A48(cpu);
|
|
/* 02C86858 */ _t2 = cpu->r[29] + 0x00000004u;
|
|
/* 02C86858 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C8685C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86860 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86860 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C86860 */ if (_t4) goto L_02C86864; else goto L_02C8691C;
|
|
L_02C86864: ; // 0x2c86864
|
|
/* 02C86864 */ _t5 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C86864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C86868 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C86868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C8686C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8686C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C8686C */ if (_t7) goto L_02C86870; else goto L_02C8688C;
|
|
L_02C86870: ; // 0x2c86870
|
|
/* 02C86870 */ cpu->r[3] = 0x00000009u;
|
|
/* 02C86874 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C86878: ; // 0x2c86878
|
|
/* 02C86878 */ _t8 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C86878 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C8687C */ cpu->r[12] = cpu->r[12] | 0x00000010u;
|
|
/* 02C86880 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02C86884 */ _t9 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C86884 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C86888 */ goto L_02C86940;
|
|
L_02C8688C: ; // 0x2c8688c
|
|
/* 02C8688C */ _t10 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C8688C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C86890 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Cu);
|
|
/* 02C86894 */ cpu->r[12] = cpu->r[12] | 0x00020000u;
|
|
/* 02C86898 */ cpu->r[30] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C8689C */ _t11 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C8689C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_02C868A0: ; // 0x2c868a0
|
|
/* 02C868A0 */ _t12 = cpu->r[30] + 0x00000001u;
|
|
/* 02C868A0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C868A0 */ cpu->r[30] = _t12;
|
|
/* 02C868A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C868A8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C868A8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C868A8 */ if (_t14) goto L_02C868AC; else goto L_02C868A0;
|
|
L_02C868AC: ; // 0x2c868ac
|
|
/* 02C868AC */ cpu->r[5] = cpu->r[30] - cpu->r[28];
|
|
/* 02C868AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C868B0 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C868B0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C868B0 */ if (_t16) goto L_02C868B4; else goto L_02C86940;
|
|
L_02C868B4: ; // 0x2c868b4
|
|
/* 02C868B4 */ _t17 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C868B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C868B8 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C868BC */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x0000000Eu, 0x00000012u, 0x0000001Fu);
|
|
/* 02C868C0 */ Gambit_fn_02C898CC(cpu);
|
|
/* 02C868C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C868C8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C868C8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C868C8 */ if (_t19) goto L_02C86878; else goto L_02C868CC;
|
|
L_02C868CC: ; // 0x2c868cc
|
|
/* 02C868CC */ cpu->r[28] = cpu->r[28] + cpu->r[3];
|
|
/* 02C868D0 */ goto L_02C868AC;
|
|
L_02C868D4: ; // 0x2c868d4
|
|
/* 02C868D4 */ _t20 = cpu->r[29] + 0x00000008u;
|
|
/* 02C868D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C868D8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C868D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C868DC */ _t21 = cpu->r[29] + 0x00000008u;
|
|
/* 02C868DC */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C868E0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C868E0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C868E0 */ if (_t23) goto L_02C868E4; else goto L_02C868F4;
|
|
L_02C868E4: ; // 0x2c868e4
|
|
/* 02C868E4 */ _t24 = cpu->r[28] + 0x00000000u;
|
|
/* 02C868E4 */ cpu->r[3] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C868E8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C868EC */ Gambit_fn_02C86950(cpu);
|
|
/* 02C868F0 */ goto L_02C86908;
|
|
L_02C868F4: ; // 0x2c868f4
|
|
/* 02C868F4 */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 02C868F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C868F8 */ _t26 = cpu->r[28] + 0x00000000u;
|
|
/* 02C868F8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C868FC */ cpu->r[11] = cpu->r[12] + 0x00000001u;
|
|
/* 02C86900 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02C86900 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 02C86904 */ _t28 = cpu->r[12] + 0x00000000u;
|
|
/* 02C86904 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[3]);
|
|
L_02C86908: ; // 0x2c86908
|
|
/* 02C86908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02C8690C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C86910 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86910 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C86910 */ if (_t30) goto L_02C86914; else goto L_02C8691C;
|
|
L_02C86914: ; // 0x2c86914
|
|
/* 02C86914 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C86918 */ goto L_02C86940;
|
|
L_02C8691C: ; // 0x2c8691c
|
|
/* 02C8691C */ _t31 = cpu->r[28] + 0x00000000u;
|
|
/* 02C8691C */ cpu->r[12] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02C86920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86924 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86924 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C86924 */ if (_t33) goto L_02C86928; else goto L_02C868D4;
|
|
L_02C86928: ; // 0x2c86928
|
|
/* 02C86928 */ _t34 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C86928 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C8692C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x0000001Au, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C86930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 02C86934 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86934 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C86934 */ if (_t36) goto L_02C86938; else goto L_02C86940;
|
|
L_02C86938: ; // 0x2c86938
|
|
/* 02C86938 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C8693C */ Gambit_fn_02C86A98(cpu);
|
|
L_02C86940: ; // 0x2c86940
|
|
/* 02C86940 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C86944 */ Gambit_fn_02C86A70(cpu);
|
|
L_02C86948: ; // 0x2c86948
|
|
/* 02C86948 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C8694C */ goto L_02C8A138;
|
|
L_02C8A138: ; // 0x2c8a138
|
|
/* 02C8A138 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8A138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C8A13C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A140 */ /* nop */
|
|
/* 02C8A144 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C8A148 */ return;
|
|
}
|
|
|
|
// fn_02C86950 @ 0x2c86950
|
|
void Gambit_fn_02C86950(CPUState* 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_02C86950: ; // 0x2c86950
|
|
/* 02C86950 */ cpu->r[0] = cpu->lr;
|
|
/* 02C86954 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C86958 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C86958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C86958 */ cpu->r[1] = _t0;
|
|
/* 02C8695C */ Gambit_fn_02C8A538(cpu);
|
|
/* 02C86960 */ cpu->r[12] = 0x02D10000u;
|
|
/* 02C86964 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C86968 */ cpu->r[12] = cpu->r[12] + 0xFFFFB960u;
|
|
/* 02C8696C */ cpu->r[12] = cpu->r[30] - cpu->r[12];
|
|
/* 02C86970 */ /* nop */
|
|
/* 02C86974 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C86978 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86978 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C86978 */ if (_t2) goto L_02C86998; else goto L_02C8697C;
|
|
L_02C8697C: ; // 0x2c8697c
|
|
/* 02C8697C */ cpu->r[12] = 0x02D10000u;
|
|
/* 02C86980 */ _t3 = cpu->r[12] + 0xFFFFB948u;
|
|
/* 02C86980 */ cpu->r[12] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C86984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
|
|
/* 02C86988 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86988 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C86988 */ if (_t5) goto L_02C8698C; else goto L_02C86998;
|
|
L_02C8698C: ; // 0x2c8698c
|
|
/* 02C8698C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C8698C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C86990 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C86990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86994 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86994 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C86994 */ if (_t8) goto L_02C86998; else goto L_02C869A8;
|
|
L_02C86998: ; // 0x2c86998
|
|
/* 02C86998 */ cpu->r[3] = 0x00000009u;
|
|
/* 02C8699C */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C869A0 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02C869A4 */ goto L_02C86A3C;
|
|
L_02C869A8: ; // 0x2c869a8
|
|
/* 02C869A8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C869AC */ _t9 = cpu->r[30] + 0x00000008u;
|
|
/* 02C869AC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C869B0 */ _t10 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C869B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C869B4 */ cpu->r[12] = cpu->r[12] | 0x00020000u;
|
|
/* 02C869B8 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C869B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02C869BC */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 02C869BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C869C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C869C4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C869C8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C869C8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C869C8 */ if (_t14) goto L_02C869CC; else goto L_02C86A00;
|
|
L_02C869CC: ; // 0x2c869cc
|
|
/* 02C869CC */ _t15 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C869CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C869D0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C869D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C869D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x0000000Eu, 0x00000012u, 0x0000001Fu);
|
|
/* 02C869DC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C869DC */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[31]);
|
|
/* 02C869E0 */ Gambit_fn_02C898CC(cpu);
|
|
/* 02C869E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C869E8 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C869E8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C869E8 */ if (_t18) goto L_02C86A30; else goto L_02C869EC;
|
|
L_02C869EC: ; // 0x2c869ec
|
|
/* 02C869EC */ _t19 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C869EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C869F0 */ cpu->r[12] = cpu->r[12] | 0x00000010u;
|
|
/* 02C869F4 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02C869F8 */ _t20 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C869F8 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C869FC */ goto L_02C86A30;
|
|
L_02C86A00: ; // 0x2c86a00
|
|
/* 02C86A00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C86A04 */ Gambit_fn_02C86A98(cpu);
|
|
/* 02C86A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C86A0C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86A0C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C86A0C */ if (_t22) goto L_02C86A18; else goto L_02C86A10;
|
|
L_02C86A10: ; // 0x2c86a10
|
|
/* 02C86A10 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02C86A14 */ goto L_02C86A28;
|
|
L_02C86A18: ; // 0x2c86a18
|
|
/* 02C86A18 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 02C86A18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C86A1C */ cpu->r[11] = cpu->r[12] + 0x00000001u;
|
|
/* 02C86A20 */ _t24 = cpu->r[30] + 0x00000000u;
|
|
/* 02C86A20 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02C86A24 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02C86A24 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[31]);
|
|
L_02C86A28: ; // 0x2c86a28
|
|
/* 02C86A28 */ cpu->r[12] = 0x000001FFu;
|
|
/* 02C86A2C */ _t26 = cpu->r[30] + 0x00000008u;
|
|
/* 02C86A2C */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
L_02C86A30: ; // 0x2c86a30
|
|
/* 02C86A30 */ _t27 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C86A30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C86A34 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Cu);
|
|
/* 02C86A38 */ _t28 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C86A38 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
L_02C86A3C: ; // 0x2c86a3c
|
|
/* 02C86A3C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C86A40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C86A44 */ goto L_02C8A590;
|
|
L_02C8A590: ; // 0x2c8a590
|
|
/* 02C8A590 */ _t29 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C8A594 */ _t30 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C8A598 */ _t31 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C86958 @ 0x2c86958
|
|
void Gambit_fn_02C86958(CPUState* 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_02C86958: ; // 0x2c86958
|
|
/* 02C86958 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C86958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C86958 */ cpu->r[1] = _t0;
|
|
/* 02C8695C */ Gambit_fn_02C8A538(cpu);
|
|
/* 02C86960 */ cpu->r[12] = 0x02D10000u;
|
|
/* 02C86964 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C86968 */ cpu->r[12] = cpu->r[12] + 0xFFFFB960u;
|
|
/* 02C8696C */ cpu->r[12] = cpu->r[30] - cpu->r[12];
|
|
/* 02C86970 */ /* nop */
|
|
/* 02C86974 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C86978 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86978 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C86978 */ if (_t2) goto L_02C86998; else goto L_02C8697C;
|
|
L_02C8697C: ; // 0x2c8697c
|
|
/* 02C8697C */ cpu->r[12] = 0x02D10000u;
|
|
/* 02C86980 */ _t3 = cpu->r[12] + 0xFFFFB948u;
|
|
/* 02C86980 */ cpu->r[12] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C86984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
|
|
/* 02C86988 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86988 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C86988 */ if (_t5) goto L_02C8698C; else goto L_02C86998;
|
|
L_02C8698C: ; // 0x2c8698c
|
|
/* 02C8698C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C8698C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C86990 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C86990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86994 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86994 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C86994 */ if (_t8) goto L_02C86998; else goto L_02C869A8;
|
|
L_02C86998: ; // 0x2c86998
|
|
/* 02C86998 */ cpu->r[3] = 0x00000009u;
|
|
/* 02C8699C */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C869A0 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02C869A4 */ goto L_02C86A3C;
|
|
L_02C869A8: ; // 0x2c869a8
|
|
/* 02C869A8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C869AC */ _t9 = cpu->r[30] + 0x00000008u;
|
|
/* 02C869AC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C869B0 */ _t10 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C869B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C869B4 */ cpu->r[12] = cpu->r[12] | 0x00020000u;
|
|
/* 02C869B8 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C869B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02C869BC */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 02C869BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C869C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C869C4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C869C8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C869C8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C869C8 */ if (_t14) goto L_02C869CC; else goto L_02C86A00;
|
|
L_02C869CC: ; // 0x2c869cc
|
|
/* 02C869CC */ _t15 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C869CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C869D0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C869D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C869D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x0000000Eu, 0x00000012u, 0x0000001Fu);
|
|
/* 02C869DC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C869DC */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[31]);
|
|
/* 02C869E0 */ Gambit_fn_02C898CC(cpu);
|
|
/* 02C869E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C869E8 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C869E8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C869E8 */ if (_t18) goto L_02C86A30; else goto L_02C869EC;
|
|
L_02C869EC: ; // 0x2c869ec
|
|
/* 02C869EC */ _t19 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C869EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C869F0 */ cpu->r[12] = cpu->r[12] | 0x00000010u;
|
|
/* 02C869F4 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02C869F8 */ _t20 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C869F8 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C869FC */ goto L_02C86A30;
|
|
L_02C86A00: ; // 0x2c86a00
|
|
/* 02C86A00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C86A04 */ Gambit_fn_02C86A98(cpu);
|
|
/* 02C86A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C86A0C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86A0C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C86A0C */ if (_t22) goto L_02C86A18; else goto L_02C86A10;
|
|
L_02C86A10: ; // 0x2c86a10
|
|
/* 02C86A10 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02C86A14 */ goto L_02C86A28;
|
|
L_02C86A18: ; // 0x2c86a18
|
|
/* 02C86A18 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 02C86A18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C86A1C */ cpu->r[11] = cpu->r[12] + 0x00000001u;
|
|
/* 02C86A20 */ _t24 = cpu->r[30] + 0x00000000u;
|
|
/* 02C86A20 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02C86A24 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02C86A24 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[31]);
|
|
L_02C86A28: ; // 0x2c86a28
|
|
/* 02C86A28 */ cpu->r[12] = 0x000001FFu;
|
|
/* 02C86A2C */ _t26 = cpu->r[30] + 0x00000008u;
|
|
/* 02C86A2C */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
L_02C86A30: ; // 0x2c86a30
|
|
/* 02C86A30 */ _t27 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C86A30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C86A34 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Cu);
|
|
/* 02C86A38 */ _t28 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C86A38 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
L_02C86A3C: ; // 0x2c86a3c
|
|
/* 02C86A3C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C86A40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C86A44 */ goto L_02C8A590;
|
|
L_02C8A590: ; // 0x2c8a590
|
|
/* 02C8A590 */ _t29 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C8A594 */ _t30 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C8A598 */ _t31 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C86A48 @ 0x2c86a48
|
|
void Gambit_fn_02C86A48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C86A48: ; // 0x2c86a48
|
|
/* 02C86A48 */ cpu->r[0] = cpu->lr;
|
|
/* 02C86A4C */ Gambit_fn_02C8A174(cpu);
|
|
/* 02C86A50 */ rbrew_dispatch(cpu, 0x02d0b7d0u);
|
|
/* 02C86A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C86A58 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86A58 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C86A58 */ if (_t1) goto L_02C86A6C; else goto L_02C86A5C;
|
|
L_02C86A5C: ; // 0x2c86a5c
|
|
/* 02C86A5C */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C86A5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C86A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C86A64 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86A64 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C86A64 */ if (_t4) goto L_02C86A6C; else goto L_02C86A68;
|
|
L_02C86A68: ; // 0x2c86a68
|
|
/* 02C86A68 */ rbrew_dispatch(cpu, 0x02d0b7c8u);
|
|
L_02C86A6C: ; // 0x2c86a6c
|
|
/* 02C86A6C */ goto L_02C8A180;
|
|
L_02C8A180: ; // 0x2c8a180
|
|
/* 02C8A180 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8A180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C8A184 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C8A188 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A18C */ return;
|
|
}
|
|
|
|
// fn_02C86A70 @ 0x2c86a70
|
|
void Gambit_fn_02C86A70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C86A70: ; // 0x2c86a70
|
|
/* 02C86A70 */ cpu->r[0] = cpu->lr;
|
|
/* 02C86A74 */ Gambit_fn_02C8A174(cpu);
|
|
/* 02C86A78 */ rbrew_dispatch(cpu, 0x02d0b7d0u);
|
|
/* 02C86A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C86A80 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86A80 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C86A80 */ if (_t1) goto L_02C86A94; else goto L_02C86A84;
|
|
L_02C86A84: ; // 0x2c86a84
|
|
/* 02C86A84 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C86A84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C86A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C86A8C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86A8C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C86A8C */ if (_t4) goto L_02C86A94; else goto L_02C86A90;
|
|
L_02C86A90: ; // 0x2c86a90
|
|
/* 02C86A90 */ rbrew_dispatch(cpu, 0x02d0b7e0u);
|
|
L_02C86A94: ; // 0x2c86a94
|
|
/* 02C86A94 */ goto L_02C8A180;
|
|
L_02C8A180: ; // 0x2c8a180
|
|
/* 02C8A180 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8A180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C8A184 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C8A188 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A18C */ return;
|
|
}
|
|
|
|
// fn_02C86A98 @ 0x2c86a98
|
|
void Gambit_fn_02C86A98(CPUState* 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_02C86A98: ; // 0x2c86a98
|
|
/* 02C86A98 */ cpu->r[0] = cpu->lr;
|
|
/* 02C86A9C */ Gambit_fn_02C8A0FC(cpu);
|
|
/* 02C86AA0 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C86AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C86AA4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C86AA8 */ cpu->r[28] = cpu->r[27] + 0x00000010u;
|
|
/* 02C86AAC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86AAC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C86AAC */ if (_t1) goto L_02C86AB0; else goto L_02C86AC8;
|
|
L_02C86AB0: ; // 0x2c86ab0
|
|
/* 02C86AB0 */ cpu->r[12] = 0x02D10000u;
|
|
/* 02C86AB4 */ cpu->r[27] = 0x02D10000u;
|
|
/* 02C86AB8 */ _t2 = cpu->r[12] + 0xFFFFB948u;
|
|
/* 02C86AB8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C86ABC */ cpu->r[27] = cpu->r[27] + 0xFFFFB960u;
|
|
/* 02C86AC0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C86AC4 */ cpu->r[28] = cpu->r[27] + cpu->r[12];
|
|
L_02C86AC8: ; // 0x2c86ac8
|
|
/* 02C86AC8 */ _t3 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C86AC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C86ACC */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C86ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86AD0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86AD0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C86AD0 */ if (_t5) goto L_02C86B7C; else goto L_02C86AD4;
|
|
L_02C86AD4: ; // 0x2c86ad4
|
|
/* 02C86AD4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C86AD8 */ Gambit_fn_02C86A48(cpu);
|
|
/* 02C86ADC */ _t6 = cpu->r[27] + 0x00000004u;
|
|
/* 02C86ADC */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C86AE0 */ _t7 = cpu->r[27] + 0x00000000u;
|
|
/* 02C86AE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C86AE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02C86AE8 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86AE8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C86AE8 */ if (_t9) goto L_02C86AEC; else goto L_02C86B40;
|
|
L_02C86AEC: ; // 0x2c86aec
|
|
/* 02C86AEC */ cpu->r[29] = cpu->r[12] - cpu->r[30];
|
|
L_02C86AF0: ; // 0x2c86af0
|
|
/* 02C86AF0 */ _t10 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C86AF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C86AF4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C86AF8 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C86AFC */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x0000000Eu, 0x00000012u, 0x0000001Fu);
|
|
/* 02C86B00 */ Gambit_fn_02C898CC(cpu);
|
|
/* 02C86B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C86B08 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86B08 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C86B08 */ if (_t12) goto L_02C86B0C; else goto L_02C86B20;
|
|
L_02C86B0C: ; // 0x2c86b0c
|
|
/* 02C86B0C */ _t13 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C86B0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C86B10 */ cpu->r[12] = cpu->r[12] | 0x00000010u;
|
|
/* 02C86B14 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02C86B18 */ _t14 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C86B18 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02C86B1C */ goto L_02C86B2C;
|
|
L_02C86B20: ; // 0x2c86b20
|
|
/* 02C86B20 */ cpu->r[29] = cpu->r[29] - cpu->r[3];
|
|
/* 02C86B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C86B24 */ cpu->r[30] = cpu->r[30] + cpu->r[3];
|
|
/* 02C86B28 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86B28 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C86B28 */ if (_t16) goto L_02C86AF0; else goto L_02C86B2C;
|
|
L_02C86B2C: ; // 0x2c86b2c
|
|
/* 02C86B2C */ _t17 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C86B2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C86B30 */ _t18 = cpu->r[27] + 0x00000004u;
|
|
/* 02C86B30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C86B34 */ cpu->r[12] = cpu->r[12] | 0x00020000u;
|
|
/* 02C86B38 */ _t19 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C86B38 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C86B3C */ _t20 = cpu->r[27] + 0x00000000u;
|
|
/* 02C86B3C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_02C86B40: ; // 0x2c86b40
|
|
/* 02C86B40 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C86B44 */ _t21 = cpu->r[27] + 0x00000008u;
|
|
/* 02C86B44 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C86B48 */ _t22 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C86B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C86B4C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C86B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86B50 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86B50 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C86B50 */ if (_t24) goto L_02C86B64; else goto L_02C86B54;
|
|
L_02C86B54: ; // 0x2c86b54
|
|
/* 02C86B54 */ _t25 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C86B54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C86B58 */ cpu->r[12] = cpu->r[12] | 0x00000004u;
|
|
/* 02C86B5C */ _t26 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C86B5C */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 02C86B60 */ goto L_02C86B74;
|
|
L_02C86B64: ; // 0x2c86b64
|
|
/* 02C86B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C86B68 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86B68 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C86B68 */ if (_t28) goto L_02C86B74; else goto L_02C86B6C;
|
|
L_02C86B6C: ; // 0x2c86b6c
|
|
/* 02C86B6C */ cpu->r[12] = 0x00000200u;
|
|
/* 02C86B70 */ _t29 = cpu->r[27] + 0x00000008u;
|
|
/* 02C86B70 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
L_02C86B74: ; // 0x2c86b74
|
|
/* 02C86B74 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C86B78 */ Gambit_fn_02C86A70(cpu);
|
|
L_02C86B7C: ; // 0x2c86b7c
|
|
/* 02C86B7C */ cpu->r[27] = cpu->r[27] + 0x00000010u;
|
|
/* 02C86B80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]);
|
|
/* 02C86B84 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86B84 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C86B84 */ if (_t31) goto L_02C86B88; else goto L_02C86AC8;
|
|
L_02C86B88: ; // 0x2c86b88
|
|
/* 02C86B88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C86B8C */ goto L_02C8A110;
|
|
L_02C8A110: ; // 0x2c8a110
|
|
/* 02C8A110 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02C8A110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C8A114 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A118 */ /* nop */
|
|
/* 02C8A11C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C8A120 */ return;
|
|
}
|
|
|
|
// fn_02C86B90 @ 0x2c86b90
|
|
void Gambit_fn_02C86B90(CPUState* 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_02C86B90: ; // 0x2c86b90
|
|
/* 02C86B90 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02C86B94 */ cpu->r[7] = cpu->r[7] + 0x00002554u;
|
|
/* 02C86B98 */ _t0 = cpu->r[7] + 0x00000028u;
|
|
/* 02C86B98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C86B9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C86BA0 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86BA0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C86BA0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C86BA0 */ goto L_02C86BA4;
|
|
L_02C86BA4: ; // 0x2c86ba4
|
|
/* 02C86BA4 */ _t3 = cpu->r[7] + 0x0000002Cu;
|
|
/* 02C86BA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C86BA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 02C86BAC */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86BAC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C86BAC */ _t6 = _t5 ^ 0x00000001u;
|
|
/* 02C86BAC */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C86BAC */ goto L_02C86BB0;
|
|
L_02C86BB0: ; // 0x2c86bb0
|
|
/* 02C86BB0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C86BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86BB4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86BB4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C86BB4 */ _t9 = _t8 ^ 0x00000001u;
|
|
/* 02C86BB4 */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C86BB4 */ goto L_02C86BB8;
|
|
L_02C86BB8: ; // 0x2c86bb8
|
|
/* 02C86BB8 */ _t10 = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 02C86BB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C86BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C86BC0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86BC0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C86BC0 */ if (_t12) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C86BC0 */ goto L_02C86BC4;
|
|
L_02C86BC4: ; // 0x2c86bc4
|
|
/* 02C86BC4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Du, 0x00000000u);
|
|
/* 02C86BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86BC8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86BC8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C86BC8 */ _t15 = _t14 ^ 0x00000001u;
|
|
/* 02C86BC8 */ if (_t15) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C86BC8 */ goto L_02C86BCC;
|
|
L_02C86BCC: ; // 0x2c86bcc
|
|
/* 02C86BCC */ cpu->r[12] = cpu->r[3] + cpu->r[4];
|
|
/* 02C86BD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02C86BD4 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86BD4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C86BD4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C86BD4 */ goto L_02C86BD8;
|
|
L_02C86BD8: ; // 0x2c86bd8
|
|
/* 02C86BD8 */ _t18 = cpu->r[7] + 0x00000010u;
|
|
/* 02C86BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C86BDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C86BE0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86BE0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C86BE0 */ if (_t20) goto L_02C86BE4; else goto L_02C86C00;
|
|
L_02C86BE4: ; // 0x2c86be4
|
|
/* 02C86BE4 */ cpu->r[11] = cpu->r[12];
|
|
/* 02C86BE8 */ _t21 = cpu->r[11] + 0x00000004u;
|
|
/* 02C86BE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C86BEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C86BF0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86BF0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C86BF0 */ if (_t23) goto L_02C86BF4; else goto L_02C86C1C;
|
|
L_02C86BF4: ; // 0x2c86bf4
|
|
/* 02C86BF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02C86BF8 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86BF8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C86BF8 */ if (_t25) goto L_02C86BE4; else goto L_02C86BFC;
|
|
L_02C86BFC: ; // 0x2c86bfc
|
|
/* 02C86BFC */ goto L_02C86C1C;
|
|
L_02C86C00: ; // 0x2c86c00
|
|
/* 02C86C00 */ cpu->r[11] = cpu->r[12];
|
|
L_02C86C04: ; // 0x2c86c04
|
|
/* 02C86C04 */ cpu->r[12] = cpu->r[11];
|
|
/* 02C86C08 */ _t26 = cpu->r[12] + 0x00000000u;
|
|
/* 02C86C08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C86C0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02C86C10 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86C10 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C86C10 */ if (_t28) goto L_02C86C14; else goto L_02C86C1C;
|
|
L_02C86C14: ; // 0x2c86c14
|
|
/* 02C86C14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[3]);
|
|
/* 02C86C18 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86C18 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C86C18 */ if (_t30) goto L_02C86C1C; else goto L_02C86C04;
|
|
L_02C86C1C: ; // 0x2c86c1c
|
|
/* 02C86C1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[3]);
|
|
/* 02C86C20 */ _t31 = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 02C86C20 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C86C24 */ cpu->r[6] = cpu->r[12];
|
|
/* 02C86C28 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86C28 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C86C28 */ if (_t33) goto L_02C86C38; else goto L_02C86C2C;
|
|
L_02C86C2C: ; // 0x2c86c2c
|
|
/* 02C86C2C */ cpu->r[10] = cpu->r[12] + cpu->r[5];
|
|
/* 02C86C30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[10]);
|
|
/* 02C86C34 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86C34 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C86C34 */ if (_t35) goto L_02C86CA8; else goto L_02C86C38;
|
|
L_02C86C38: ; // 0x2c86c38
|
|
/* 02C86C38 */ cpu->r[10] = cpu->r[12] + cpu->r[5];
|
|
/* 02C86C3C */ cpu->r[8] = 0x00000000u;
|
|
/* 02C86C40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[3]);
|
|
/* 02C86C44 */ cpu->r[9] = cpu->r[8];
|
|
/* 02C86C48 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86C48 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C86C48 */ if (_t37) goto L_02C86C4C; else goto L_02C86C5C;
|
|
L_02C86C4C: ; // 0x2c86c4c
|
|
/* 02C86C4C */ cpu->r[3] = cpu->r[12];
|
|
/* 02C86C50 */ cpu->r[4] = cpu->r[4] + cpu->r[5];
|
|
/* 02C86C54 */ _t38 = cpu->r[3] + 0x00000004u;
|
|
/* 02C86C54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C86C58 */ cpu->r[8] = 0x00000001u;
|
|
L_02C86C5C: ; // 0x2c86c5c
|
|
/* 02C86C5C */ cpu->r[10] = cpu->r[3] + cpu->r[4];
|
|
/* 02C86C60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C86C64 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86C64 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C86C64 */ if (_t40) goto L_02C86C68; else goto L_02C86C8C;
|
|
L_02C86C68: ; // 0x2c86c68
|
|
/* 02C86C68 */ _t41 = cpu->r[11] + 0x00000000u;
|
|
/* 02C86C68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C86C6C */ _t42 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C86C6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C86C70 */ _t43 = cpu->r[12] + 0x00000000u;
|
|
/* 02C86C70 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 02C86C74 */ cpu->r[4] = cpu->r[4] + cpu->r[11];
|
|
/* 02C86C78 */ cpu->r[11] = cpu->r[10];
|
|
/* 02C86C7C */ _t44 = cpu->r[3] + 0x00000004u;
|
|
/* 02C86C7C */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
/* 02C86C80 */ _t45 = cpu->r[3] + 0x00000000u;
|
|
/* 02C86C80 */ rbrew_write32(cpu->mem, _t45, cpu->r[11]);
|
|
/* 02C86C84 */ cpu->r[9] = 0x00000001u;
|
|
/* 02C86C88 */ _t46 = cpu->r[11] + 0x00000004u;
|
|
/* 02C86C88 */ rbrew_write32(cpu->mem, _t46, cpu->r[3]);
|
|
L_02C86C8C: ; // 0x2c86c8c
|
|
/* 02C86C8C */ cpu->r[10] = cpu->r[8] | cpu->r[9];
|
|
/* 02C86C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C86C90 */ _t47 = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 02C86C90 */ rbrew_write32(cpu->mem, _t47, cpu->r[4]);
|
|
/* 02C86C94 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86C94 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C86C94 */ if (_t49) goto L_02C86C98; else goto L_02C86CA8;
|
|
L_02C86C98: ; // 0x2c86c98
|
|
/* 02C86C98 */ _t50 = cpu->r[12] + 0x00000000u;
|
|
/* 02C86C98 */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
|
|
/* 02C86C9C */ _t51 = cpu->r[3] + 0x00000004u;
|
|
/* 02C86C9C */ rbrew_write32(cpu->mem, _t51, cpu->r[12]);
|
|
/* 02C86CA0 */ _t52 = cpu->r[3] + 0x00000000u;
|
|
/* 02C86CA0 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
/* 02C86CA4 */ _t53 = cpu->r[11] + 0x00000004u;
|
|
/* 02C86CA4 */ rbrew_write32(cpu->mem, _t53, cpu->r[3]);
|
|
L_02C86CA8: ; // 0x2c86ca8
|
|
/* 02C86CA8 */ _t54 = cpu->r[6] + 0x00000000u;
|
|
/* 02C86CA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C86CAC */ _t55 = cpu->r[7] + 0x00000010u;
|
|
/* 02C86CAC */ rbrew_write32(cpu->mem, _t55, cpu->r[12]);
|
|
/* 02C86CB0 */ return;
|
|
}
|
|
|
|
// fn_02C86CB4 @ 0x2c86cb4
|
|
void Gambit_fn_02C86CB4(CPUState* 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;
|
|
|
|
L_02C86CB4: ; // 0x2c86cb4
|
|
/* 02C86CB4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C86CB8 */ Gambit_fn_02C8A124(cpu);
|
|
/* 02C86CBC */ cpu->r[30] = 0x101D0000u;
|
|
/* 02C86CC0 */ cpu->r[30] = cpu->r[30] + 0x00002554u;
|
|
/* 02C86CC4 */ _t0 = cpu->r[30] + 0x00000008u;
|
|
/* 02C86CC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C86CC8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C86CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86CD0 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C86CD4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86CD4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C86CD4 */ if (_t2) goto L_02C86CD8; else goto L_02C86CE0;
|
|
L_02C86CD8: ; // 0x2c86cd8
|
|
/* 02C86CD8 */ cpu->r[12] = 0x00020000u;
|
|
/* 02C86CDC */ _t3 = cpu->r[30] + 0x00000008u;
|
|
/* 02C86CDC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
L_02C86CE0: ; // 0x2c86ce0
|
|
/* 02C86CE0 */ cpu->r[11] = cpu->r[29] + cpu->r[12];
|
|
/* 02C86CE4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C86CE8 */ cpu->r[11] = cpu->r[11] + 0x00000007u;
|
|
/* 02C86CEC */ cpu->r[31] = cpu->r[29];
|
|
/* 02C86CF0 */ _t4 = ~cpu->r[12];
|
|
/* 02C86CF0 */ cpu->r[29] = cpu->r[11] & _t4;
|
|
/* 02C86CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C86CF4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86CF4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C86CF4 */ if (_t6) goto L_02C86D30; else goto L_02C86CF8;
|
|
L_02C86CF8: ; // 0x2c86cf8
|
|
/* 02C86CF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 02C86CFC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86CFC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C86CFC */ if (_t8) goto L_02C86D30; else goto L_02C86D00;
|
|
L_02C86D00: ; // 0x2c86d00
|
|
/* 02C86D00 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C86D04 */ Gambit_fn_02C89ABC(cpu);
|
|
/* 02C86D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02C86D0C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86D0C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C86D0C */ if (_t10) goto L_02C86D10; else goto L_02C86D38;
|
|
L_02C86D10: ; // 0x2c86d10
|
|
/* 02C86D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C86D14 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86D14 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C86D14 */ if (_t12) goto L_02C86D30; else goto L_02C86D18;
|
|
L_02C86D18: ; // 0x2c86d18
|
|
/* 02C86D18 */ cpu->r[12] = cpu->r[31] + 0x00000008u;
|
|
/* 02C86D1C */ cpu->r[29] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C86D20 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C86D24 */ Gambit_fn_02C89ABC(cpu);
|
|
/* 02C86D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02C86D2C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86D2C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C86D2C */ if (_t14) goto L_02C86D30; else goto L_02C86D38;
|
|
L_02C86D30: ; // 0x2c86d30
|
|
/* 02C86D30 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C86D34 */ goto L_02C86EA0;
|
|
L_02C86D38: ; // 0x2c86d38
|
|
/* 02C86D38 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C86D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C86D3C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C86D40 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86D40 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C86D40 */ if (_t16) goto L_02C86D48; else goto L_02C86D44;
|
|
L_02C86D44: ; // 0x2c86d44
|
|
/* 02C86D44 */ cpu->r[12] = 0x00000008u - cpu->r[11];
|
|
L_02C86D48: ; // 0x2c86d48
|
|
/* 02C86D48 */ _t17 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C86D48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C86D4C */ _t18 = cpu->r[8] + 0x00000004u;
|
|
/* 02C86D4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C86D50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[3]);
|
|
/* 02C86D54 */ cpu->r[7] = cpu->r[3] + cpu->r[29];
|
|
/* 02C86D58 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86D58 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C86D58 */ if (_t20) goto L_02C86D5C; else goto L_02C86D74;
|
|
L_02C86D5C: ; // 0x2c86d5c
|
|
/* 02C86D5C */ _t21 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C86D5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C86D60 */ cpu->r[10] = cpu->r[7];
|
|
/* 02C86D64 */ cpu->r[12] = cpu->r[3] - cpu->r[31];
|
|
/* 02C86D68 */ _t22 = cpu->r[8] + 0x00000004u;
|
|
/* 02C86D68 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02C86D6C */ cpu->r[29] = cpu->r[29] + cpu->r[12];
|
|
/* 02C86D70 */ goto L_02C86DFC;
|
|
L_02C86D74: ; // 0x2c86d74
|
|
/* 02C86D74 */ cpu->r[9] = cpu->r[3] + cpu->r[12];
|
|
/* 02C86D78 */ _t23 = cpu->r[8] + 0x00000000u;
|
|
/* 02C86D78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C86D7C */ cpu->r[12] = cpu->r[12] + 0x00000008u;
|
|
/* 02C86D80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]);
|
|
/* 02C86D84 */ cpu->r[31] = cpu->r[9] + 0x00000008u;
|
|
/* 02C86D88 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86D88 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C86D88 */ if (_t25) goto L_02C86D8C; else goto L_02C86DA8;
|
|
L_02C86D8C: ; // 0x2c86d8c
|
|
/* 02C86D8C */ _t26 = cpu->r[8] + 0x00000008u;
|
|
/* 02C86D8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C86D90 */ cpu->r[9] = cpu->r[11] - cpu->r[7];
|
|
/* 02C86D94 */ _t27 = cpu->r[8] + 0x00000000u;
|
|
/* 02C86D94 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02C86D98 */ cpu->r[29] = cpu->r[29] + cpu->r[9];
|
|
/* 02C86D9C */ cpu->r[7] = cpu->r[11];
|
|
/* 02C86DA0 */ cpu->r[29] = cpu->r[29] - cpu->r[12];
|
|
/* 02C86DA4 */ goto L_02C86DFC;
|
|
L_02C86DA8: ; // 0x2c86da8
|
|
/* 02C86DA8 */ cpu->r[29] = cpu->r[29] - cpu->r[12];
|
|
/* 02C86DAC */ _t28 = cpu->r[30] + 0x00000028u;
|
|
/* 02C86DAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C86DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86DB4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86DB4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C86DB4 */ if (_t30) goto L_02C86DB8; else goto L_02C86DC4;
|
|
L_02C86DB8: ; // 0x2c86db8
|
|
/* 02C86DB8 */ _t31 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C86DB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C86DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86DC0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86DC0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C86DC0 */ if (_t33) goto L_02C86DD0; else goto L_02C86DC4;
|
|
L_02C86DC4: ; // 0x2c86dc4
|
|
/* 02C86DC4 */ _t34 = cpu->r[30] + 0x00000040u;
|
|
/* 02C86DC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02C86DC8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C86DCC */ _t35 = cpu->r[30] + 0x00000040u;
|
|
/* 02C86DCC */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[12]);
|
|
L_02C86DD0: ; // 0x2c86dd0
|
|
/* 02C86DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C86DD4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86DD4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C86DD4 */ if (_t37) goto L_02C86DE0; else goto L_02C86DD8;
|
|
L_02C86DD8: ; // 0x2c86dd8
|
|
/* 02C86DD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 02C86DDC */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86DDC */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C86DDC */ if (_t39) goto L_02C86DE0; else goto L_02C86DE4;
|
|
L_02C86DE0: ; // 0x2c86de0
|
|
/* 02C86DE0 */ _t40 = cpu->r[8] + 0x00000000u;
|
|
/* 02C86DE0 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
L_02C86DE4: ; // 0x2c86de4
|
|
/* 02C86DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C86DE8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86DE8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C86DE8 */ if (_t42) goto L_02C86DF4; else goto L_02C86DEC;
|
|
L_02C86DEC: ; // 0x2c86dec
|
|
/* 02C86DEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[7]);
|
|
/* 02C86DF0 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86DF0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C86DF0 */ if (_t44) goto L_02C86DF4; else goto L_02C86DFC;
|
|
L_02C86DF4: ; // 0x2c86df4
|
|
/* 02C86DF4 */ cpu->r[10] = cpu->r[7];
|
|
/* 02C86DF8 */ _t45 = cpu->r[8] + 0x00000004u;
|
|
/* 02C86DF8 */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
L_02C86DFC: ; // 0x2c86dfc
|
|
/* 02C86DFC */ _t46 = cpu->r[30] + 0x00000028u;
|
|
/* 02C86DFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C86E00 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 02C86E00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C86E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C86E08 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86E08 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C86E08 */ if (_t49) goto L_02C86E0C; else goto L_02C86E10;
|
|
L_02C86E0C: ; // 0x2c86e0c
|
|
/* 02C86E0C */ _t50 = cpu->r[30] + 0x00000028u;
|
|
/* 02C86E0C */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
L_02C86E10: ; // 0x2c86e10
|
|
/* 02C86E10 */ _t51 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C86E10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C86E14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02C86E18 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86E18 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C86E18 */ if (_t53) goto L_02C86E1C; else goto L_02C86E20;
|
|
L_02C86E1C: ; // 0x2c86e1c
|
|
/* 02C86E1C */ _t54 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C86E1C */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
|
|
L_02C86E20: ; // 0x2c86e20
|
|
/* 02C86E20 */ cpu->r[12] = cpu->r[29] + 0x00000007u;
|
|
/* 02C86E24 */ cpu->r[29] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C86E28 */ goto L_02C86E30;
|
|
L_02C86E2C: ; // 0x2c86e2c
|
|
/* 02C86E2C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFF8u;
|
|
L_02C86E30: ; // 0x2c86e30
|
|
/* 02C86E30 */ cpu->r[10] = cpu->r[31] + cpu->r[29];
|
|
/* 02C86E34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[7]);
|
|
/* 02C86E38 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C86E38 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C86E38 */ if (_t56) goto L_02C86E2C; else goto L_02C86E3C;
|
|
L_02C86E3C: ; // 0x2c86e3c
|
|
/* 02C86E3C */ _t57 = cpu->r[8] + 0x00000008u;
|
|
/* 02C86E3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C86E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C86E44 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86E44 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C86E44 */ if (_t59) goto L_02C86E50; else goto L_02C86E48;
|
|
L_02C86E48: ; // 0x2c86e48
|
|
/* 02C86E48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[11]);
|
|
/* 02C86E4C */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86E4C */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C86E4C */ if (_t61) goto L_02C86E50; else goto L_02C86E58;
|
|
L_02C86E50: ; // 0x2c86e50
|
|
/* 02C86E50 */ cpu->r[11] = cpu->r[31];
|
|
/* 02C86E54 */ _t62 = cpu->r[8] + 0x00000008u;
|
|
/* 02C86E54 */ rbrew_write32(cpu->mem, _t62, cpu->r[11]);
|
|
L_02C86E58: ; // 0x2c86e58
|
|
/* 02C86E58 */ _t63 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C86E58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C86E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86E60 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86E60 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C86E60 */ if (_t65) goto L_02C86E6C; else goto L_02C86E64;
|
|
L_02C86E64: ; // 0x2c86e64
|
|
/* 02C86E64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02C86E68 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86E68 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C86E68 */ if (_t67) goto L_02C86E6C; else goto L_02C86E74;
|
|
L_02C86E6C: ; // 0x2c86e6c
|
|
/* 02C86E6C */ cpu->r[12] = cpu->r[10];
|
|
/* 02C86E70 */ _t68 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C86E70 */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
|
|
L_02C86E74: ; // 0x2c86e74
|
|
/* 02C86E74 */ _t69 = cpu->r[30] + 0x00000030u;
|
|
/* 02C86E74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C86E78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 02C86E7C */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86E7C */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C86E7C */ if (_t71) goto L_02C86E80; else goto L_02C86E84;
|
|
L_02C86E80: ; // 0x2c86e80
|
|
/* 02C86E80 */ _t72 = cpu->r[30] + 0x00000030u;
|
|
/* 02C86E80 */ rbrew_write32(cpu->mem, _t72, cpu->r[11]);
|
|
L_02C86E84: ; // 0x2c86e84
|
|
/* 02C86E84 */ _t73 = cpu->r[30] + 0x00000034u;
|
|
/* 02C86E84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C86E88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C86E8C */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86E8C */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C86E8C */ if (_t75) goto L_02C86E90; else goto L_02C86E94;
|
|
L_02C86E90: ; // 0x2c86e90
|
|
/* 02C86E90 */ _t76 = cpu->r[30] + 0x00000034u;
|
|
/* 02C86E90 */ rbrew_write32(cpu->mem, _t76, cpu->r[12]);
|
|
L_02C86E94: ; // 0x2c86e94
|
|
/* 02C86E94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C86E98 */ _t77 = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 02C86E98 */ rbrew_write32(cpu->mem, _t77, cpu->r[29]);
|
|
/* 02C86E9C */ Gambit_fn_02C86B90(cpu);
|
|
L_02C86EA0: ; // 0x2c86ea0
|
|
/* 02C86EA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C86EA4 */ goto L_02C8A138;
|
|
L_02C8A138: ; // 0x2c8a138
|
|
/* 02C8A138 */ _t78 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8A138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C8A13C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A140 */ /* nop */
|
|
/* 02C8A144 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C8A148 */ return;
|
|
}
|
|
|
|
// fn_02C86EA8 @ 0x2c86ea8
|
|
void Gambit_fn_02C86EA8(CPUState* 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_02C86EA8: ; // 0x2c86ea8
|
|
/* 02C86EA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C86EAC */ Gambit_fn_02C8A124(cpu);
|
|
/* 02C86EB0 */ cpu->r[11] = cpu->r[3] + 0x0000000Bu;
|
|
/* 02C86EB4 */ cpu->r[30] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C86EB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
|
|
/* 02C86EBC */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86EBC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C86EBC */ if (_t1) goto L_02C86EC0; else goto L_02C86EC8;
|
|
L_02C86EC0: ; // 0x2c86ec0
|
|
/* 02C86EC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C86EC4 */ goto L_02C87018;
|
|
L_02C86EC8: ; // 0x2c86ec8
|
|
/* 02C86EC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000010u);
|
|
/* 02C86ECC */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86ECC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C86ECC */ if (_t3) goto L_02C86ED0; else goto L_02C86ED4;
|
|
L_02C86ED0: ; // 0x2c86ed0
|
|
/* 02C86ED0 */ cpu->r[30] = 0x00000010u;
|
|
L_02C86ED4: ; // 0x2c86ed4
|
|
/* 02C86ED4 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02C86ED8 */ cpu->r[29] = cpu->r[29] + 0x00002554u;
|
|
/* 02C86EDC */ _t4 = cpu->r[29] + 0x00000010u;
|
|
/* 02C86EDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C86EE0 */ cpu->r[31] = cpu->r[11];
|
|
/* 02C86EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C86EE4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86EE4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C86EE4 */ if (_t6) goto L_02C86EE8; else goto L_02C86F38;
|
|
L_02C86EE8: ; // 0x2c86ee8
|
|
/* 02C86EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C86EEC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86EEC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C86EEC */ if (_t8) goto L_02C86EF0; else goto L_02C86F30;
|
|
L_02C86EF0: ; // 0x2c86ef0
|
|
/* 02C86EF0 */ cpu->r[12] = 0x02080000u;
|
|
/* 02C86EF4 */ cpu->r[12] = cpu->r[12] + 0x00000101u;
|
|
/* 02C86EF8 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02C86EF8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C86EFC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C86F00 */ cpu->r[12] = cpu->r[12] + 0x00000000u;
|
|
/* 02C86F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86F04 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86F04 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C86F04 */ if (_t11) goto L_02C86F10; else goto L_02C86F08;
|
|
L_02C86F08: ; // 0x2c86f08
|
|
/* 02C86F08 */ rbrew_dispatch(cpu, 0x04000000u);
|
|
/* 02C86F0C */ _t12 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C86F0C */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
L_02C86F10: ; // 0x2c86f10
|
|
/* 02C86F10 */ cpu->r[12] = cpu->r[29] + 0x00000028u;
|
|
/* 02C86F14 */ _t13 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C86F14 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02C86F18 */ cpu->r[12] = cpu->r[29] + 0x00000020u;
|
|
/* 02C86F1C */ _t14 = cpu->r[29] + 0x00000010u;
|
|
/* 02C86F1C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02C86F20 */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 02C86F20 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02C86F24 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 02C86F24 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02C86F28 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C86F2C */ _t17 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C86F2C */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
L_02C86F30: ; // 0x2c86f30
|
|
/* 02C86F30 */ _t18 = cpu->r[29] + 0x00000010u;
|
|
/* 02C86F30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C86F34 */ cpu->r[31] = cpu->r[11];
|
|
L_02C86F38: ; // 0x2c86f38
|
|
/* 02C86F38 */ cpu->r[8] = cpu->r[31];
|
|
/* 02C86F3C */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02C86F3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C86F40 */ _t20 = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 02C86F40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C86F44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02C86F48 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86F48 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C86F48 */ if (_t22) goto L_02C86FBC; else goto L_02C86F4C;
|
|
L_02C86F4C: ; // 0x2c86f4c
|
|
/* 02C86F4C */ cpu->r[10] = cpu->r[12] - cpu->r[30];
|
|
/* 02C86F50 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 02C86F50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C86F54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000010u);
|
|
/* 02C86F58 */ _t24 = cpu->r[29] + 0x00000010u;
|
|
/* 02C86F58 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 02C86F5C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86F5C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C86F5C */ if (_t26) goto L_02C86F60; else goto L_02C86F70;
|
|
L_02C86F60: ; // 0x2c86f60
|
|
/* 02C86F60 */ _t27 = cpu->r[8] + 0x00000000u;
|
|
/* 02C86F60 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 02C86F64 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C86F68 */ _t28 = cpu->r[11] + 0x00000004u;
|
|
/* 02C86F68 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 02C86F6C */ goto L_02C87018;
|
|
L_02C86F70: ; // 0x2c86f70
|
|
/* 02C86F70 */ cpu->r[9] = cpu->r[31] + cpu->r[12];
|
|
/* 02C86F74 */ _t29 = cpu->r[29] + 0x00000034u;
|
|
/* 02C86F74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C86F78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02C86F7C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86F7C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C86F7C */ if (_t31) goto L_02C86F80; else goto L_02C86F90;
|
|
L_02C86F80: ; // 0x2c86f80
|
|
/* 02C86F80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C86F84 */ cpu->r[31] = cpu->r[31] + cpu->r[30];
|
|
/* 02C86F88 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C86F8C */ goto L_02C86F98;
|
|
L_02C86F90: ; // 0x2c86f90
|
|
/* 02C86F90 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C86F94 */ cpu->r[3] = cpu->r[31] + cpu->r[10];
|
|
L_02C86F98: ; // 0x2c86f98
|
|
/* 02C86F98 */ _t32 = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 02C86F98 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
/* 02C86F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C86FA0 */ _t33 = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 02C86FA0 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 02C86FA4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86FA4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C86FA4 */ if (_t35) goto L_02C87018; else goto L_02C86FA8;
|
|
L_02C86FA8: ; // 0x2c86fa8
|
|
/* 02C86FA8 */ _t36 = cpu->r[8] + 0x00000000u;
|
|
/* 02C86FA8 */ rbrew_write32(cpu->mem, _t36, cpu->r[31]);
|
|
/* 02C86FAC */ _t37 = cpu->r[31] + 0x00000004u;
|
|
/* 02C86FAC */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 02C86FB0 */ _t38 = cpu->r[31] + 0x00000000u;
|
|
/* 02C86FB0 */ rbrew_write32(cpu->mem, _t38, cpu->r[11]);
|
|
/* 02C86FB4 */ _t39 = cpu->r[11] + 0x00000004u;
|
|
/* 02C86FB4 */ rbrew_write32(cpu->mem, _t39, cpu->r[31]);
|
|
/* 02C86FB8 */ goto L_02C87018;
|
|
L_02C86FBC: ; // 0x2c86fbc
|
|
/* 02C86FBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[11]);
|
|
/* 02C86FC0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86FC0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C86FC0 */ if (_t41) goto L_02C86FC4; else goto L_02C86F38;
|
|
L_02C86FC4: ; // 0x2c86fc4
|
|
/* 02C86FC4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C86FC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C86FCC */ Gambit_fn_02C86CB4(cpu);
|
|
/* 02C86FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C86FD4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86FD4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C86FD4 */ if (_t43) goto L_02C86FD8; else goto L_02C86F30;
|
|
L_02C86FD8: ; // 0x2c86fd8
|
|
/* 02C86FD8 */ cpu->r[12] = cpu->r[29] + 0x00000020u;
|
|
/* 02C86FDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02C86FE0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86FE0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C86FE0 */ if (_t45) goto L_02C86FE4; else goto L_02C86FE8;
|
|
L_02C86FE4: ; // 0x2c86fe4
|
|
/* 02C86FE4 */ _t46 = cpu->r[31] + 0x00000000u;
|
|
/* 02C86FE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
L_02C86FE8: ; // 0x2c86fe8
|
|
/* 02C86FE8 */ cpu->r[11] = cpu->r[31];
|
|
/* 02C86FEC */ _t47 = cpu->r[11] + 0x00000000u;
|
|
/* 02C86FEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C86FF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02C86FF4 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C86FF4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C86FF4 */ if (_t49) goto L_02C86FF8; else goto L_02C87000;
|
|
L_02C86FF8: ; // 0x2c86ff8
|
|
/* 02C86FF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02C86FFC */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C86FFC */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C86FFC */ if (_t51) goto L_02C87000; else goto L_02C86FE8;
|
|
L_02C87000: ; // 0x2c87000
|
|
/* 02C87000 */ _t52 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C87000 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C87004 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C87008 */ cpu->r[3] = cpu->r[30] - cpu->r[12];
|
|
/* 02C8700C */ Gambit_fn_02C86CB4(cpu);
|
|
/* 02C87010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C87014 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87014 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C87014 */ if (_t54) goto L_02C87018; else goto L_02C86F30;
|
|
L_02C87018: ; // 0x2c87018
|
|
/* 02C87018 */ goto L_02C8A138;
|
|
L_02C8A138: ; // 0x2c8a138
|
|
/* 02C8A138 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8A138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C8A13C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A140 */ /* nop */
|
|
/* 02C8A144 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C8A148 */ return;
|
|
}
|
|
|
|
// fn_02C8706C @ 0x2c8706c
|
|
// NOTE: This function originally calls raise(6) (GHS fiber yield) and then
|
|
// exit(1). On Wii U the SIGABRT handler longjmps into the fiber scheduler
|
|
// so exit(1) is never reached. On PC there is no fiber scheduler, so we
|
|
// route all direct C++ call-sites through the dispatch table where main.cpp
|
|
// registers a simple frame-pacer override.
|
|
void Gambit_fn_02C8706C(CPUState* cpu) {
|
|
rbrew_dispatch(cpu, 0x02C8706Cu);
|
|
return;
|
|
#if 0 // original body preserved for reference
|
|
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_02C8706C: ; // 0x2c8706c
|
|
/* 02C8706C */ cpu->r[0] = cpu->lr;
|
|
/* 02C87070 */ Gambit_fn_02C8A174(cpu);
|
|
/* 02C87074 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C87078 */ Gambit_fn_02C89A08(cpu);
|
|
/* 02C8707C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C87080 */ rbrew_dispatch(cpu, 0x02d0b860u);
|
|
/* 02C87084 */ cpu->r[0] = cpu->lr;
|
|
/* 02C87088 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C8708C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C8708C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8708C */ cpu->r[1] = _t0;
|
|
/* 02C87090 */ Gambit_fn_02C8A530(cpu);
|
|
/* 02C87094 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C87098 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C8709C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C870A0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C870A4 */ goto L_02C87100;
|
|
L_02C870A8: ; // 0x2c870a8
|
|
/* 02C870A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C870AC */ Gambit_fn_02C89588(cpu);
|
|
/* 02C870B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C870B4 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C870B4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C870B4 */ if (_t2) goto L_02C870B8; else goto L_02C870C0;
|
|
L_02C870B8: ; // 0x2c870b8
|
|
/* 02C870B8 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C870BC */ goto L_02C87128;
|
|
L_02C870C0: ; // 0x2c870c0
|
|
/* 02C870C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C870C4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C870C4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C870C4 */ if (_t4) goto L_02C870F8; else goto L_02C870C8;
|
|
L_02C870C8: ; // 0x2c870c8
|
|
/* 02C870C8 */ cpu->r[12] = cpu->r[31] + cpu->r[3];
|
|
/* 02C870CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02C870D0 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C870D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C870D0 */ if (_t6) goto L_02C87124; else goto L_02C870D4;
|
|
L_02C870D4: ; // 0x2c870d4
|
|
/* 02C870D4 */ cpu->r[12] = 0x00000000u;
|
|
L_02C870D8: ; // 0x2c870d8
|
|
/* 02C870D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[3]);
|
|
/* 02C870DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C870DC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C870DC */ if (_t8) goto L_02C870FC; else goto L_02C870E0;
|
|
L_02C870E0: ; // 0x2c870e0
|
|
/* 02C870E0 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C870E4 */ _t9 = cpu->r[11] + cpu->r[12];
|
|
/* 02C870E4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C870E8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C870EC */ _t10 = cpu->r[28] + cpu->r[31];
|
|
/* 02C870EC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
|
|
/* 02C870F0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C870F4 */ goto L_02C870D8;
|
|
L_02C870F8: ; // 0x2c870f8
|
|
/* 02C870F8 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
L_02C870FC: ; // 0x2c870fc
|
|
/* 02C870FC */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
L_02C87100: ; // 0x2c87100
|
|
/* 02C87100 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C87100 */ cpu->r[4] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C87104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C87108 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87108 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C87108 */ if (_t13) goto L_02C8710C; else goto L_02C870A8;
|
|
L_02C8710C: ; // 0x2c8710c
|
|
/* 02C8710C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C87110 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87110 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C87110 */ if (_t15) goto L_02C87124; else goto L_02C87114;
|
|
L_02C87114: ; // 0x2c87114
|
|
/* 02C87114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C87118 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87118 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C87118 */ if (_t17) goto L_02C8711C; else goto L_02C87124;
|
|
L_02C8711C: ; // 0x2c8711c
|
|
/* 02C8711C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C87120 */ _t18 = cpu->r[28] + cpu->r[31];
|
|
/* 02C87120 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
L_02C87124: ; // 0x2c87124
|
|
/* 02C87124 */ cpu->r[3] = cpu->r[31];
|
|
L_02C87128: ; // 0x2c87128
|
|
/* 02C87128 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C8712C */ goto L_02C8A588;
|
|
L_02C8A588: ; // 0x2c8a588
|
|
/* 02C8A588 */ _t19 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C8A58C */ _t20 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C8A590 */ _t21 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C8A594 */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C8A598 */ _t23 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
#endif // end of original body
|
|
}
|
|
|
|
// fn_02C87084 @ 0x2c87084
|
|
void Gambit_fn_02C87084(CPUState* 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_02C87084: ; // 0x2c87084
|
|
/* 02C87084 */ cpu->r[0] = cpu->lr;
|
|
/* 02C87088 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C8708C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C8708C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8708C */ cpu->r[1] = _t0;
|
|
/* 02C87090 */ Gambit_fn_02C8A530(cpu);
|
|
/* 02C87094 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C87098 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C8709C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C870A0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C870A4 */ goto L_02C87100;
|
|
L_02C870A8: ; // 0x2c870a8
|
|
/* 02C870A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C870AC */ Gambit_fn_02C89588(cpu);
|
|
/* 02C870B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C870B4 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C870B4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C870B4 */ if (_t2) goto L_02C870B8; else goto L_02C870C0;
|
|
L_02C870B8: ; // 0x2c870b8
|
|
/* 02C870B8 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C870BC */ goto L_02C87128;
|
|
L_02C870C0: ; // 0x2c870c0
|
|
/* 02C870C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C870C4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C870C4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C870C4 */ if (_t4) goto L_02C870F8; else goto L_02C870C8;
|
|
L_02C870C8: ; // 0x2c870c8
|
|
/* 02C870C8 */ cpu->r[12] = cpu->r[31] + cpu->r[3];
|
|
/* 02C870CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02C870D0 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C870D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C870D0 */ if (_t6) goto L_02C87124; else goto L_02C870D4;
|
|
L_02C870D4: ; // 0x2c870d4
|
|
/* 02C870D4 */ cpu->r[12] = 0x00000000u;
|
|
L_02C870D8: ; // 0x2c870d8
|
|
/* 02C870D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[3]);
|
|
/* 02C870DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C870DC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C870DC */ if (_t8) goto L_02C870FC; else goto L_02C870E0;
|
|
L_02C870E0: ; // 0x2c870e0
|
|
/* 02C870E0 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C870E4 */ _t9 = cpu->r[11] + cpu->r[12];
|
|
/* 02C870E4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C870E8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C870EC */ _t10 = cpu->r[28] + cpu->r[31];
|
|
/* 02C870EC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
|
|
/* 02C870F0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C870F4 */ goto L_02C870D8;
|
|
L_02C870F8: ; // 0x2c870f8
|
|
/* 02C870F8 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
L_02C870FC: ; // 0x2c870fc
|
|
/* 02C870FC */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
L_02C87100: ; // 0x2c87100
|
|
/* 02C87100 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C87100 */ cpu->r[4] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C87104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C87108 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87108 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C87108 */ if (_t13) goto L_02C8710C; else goto L_02C870A8;
|
|
L_02C8710C: ; // 0x2c8710c
|
|
/* 02C8710C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C87110 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87110 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C87110 */ if (_t15) goto L_02C87124; else goto L_02C87114;
|
|
L_02C87114: ; // 0x2c87114
|
|
/* 02C87114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C87118 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87118 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C87118 */ if (_t17) goto L_02C8711C; else goto L_02C87124;
|
|
L_02C8711C: ; // 0x2c8711c
|
|
/* 02C8711C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C87120 */ _t18 = cpu->r[28] + cpu->r[31];
|
|
/* 02C87120 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
L_02C87124: ; // 0x2c87124
|
|
/* 02C87124 */ cpu->r[3] = cpu->r[31];
|
|
L_02C87128: ; // 0x2c87128
|
|
/* 02C87128 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C8712C */ goto L_02C8A588;
|
|
L_02C8A588: ; // 0x2c8a588
|
|
/* 02C8A588 */ _t19 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C8A58C */ _t20 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C8A590 */ _t21 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C8A594 */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C8A598 */ _t23 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C8708C @ 0x2c8708c
|
|
void Gambit_fn_02C8708C(CPUState* 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_02C8708C: ; // 0x2c8708c
|
|
/* 02C8708C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C8708C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8708C */ cpu->r[1] = _t0;
|
|
/* 02C87090 */ Gambit_fn_02C8A530(cpu);
|
|
/* 02C87094 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C87098 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C8709C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C870A0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C870A4 */ goto L_02C87100;
|
|
L_02C870A8: ; // 0x2c870a8
|
|
/* 02C870A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C870AC */ Gambit_fn_02C89588(cpu);
|
|
/* 02C870B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C870B4 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C870B4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C870B4 */ if (_t2) goto L_02C870B8; else goto L_02C870C0;
|
|
L_02C870B8: ; // 0x2c870b8
|
|
/* 02C870B8 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C870BC */ goto L_02C87128;
|
|
L_02C870C0: ; // 0x2c870c0
|
|
/* 02C870C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C870C4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C870C4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C870C4 */ if (_t4) goto L_02C870F8; else goto L_02C870C8;
|
|
L_02C870C8: ; // 0x2c870c8
|
|
/* 02C870C8 */ cpu->r[12] = cpu->r[31] + cpu->r[3];
|
|
/* 02C870CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02C870D0 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C870D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C870D0 */ if (_t6) goto L_02C87124; else goto L_02C870D4;
|
|
L_02C870D4: ; // 0x2c870d4
|
|
/* 02C870D4 */ cpu->r[12] = 0x00000000u;
|
|
L_02C870D8: ; // 0x2c870d8
|
|
/* 02C870D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[3]);
|
|
/* 02C870DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C870DC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C870DC */ if (_t8) goto L_02C870FC; else goto L_02C870E0;
|
|
L_02C870E0: ; // 0x2c870e0
|
|
/* 02C870E0 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C870E4 */ _t9 = cpu->r[11] + cpu->r[12];
|
|
/* 02C870E4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C870E8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C870EC */ _t10 = cpu->r[28] + cpu->r[31];
|
|
/* 02C870EC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
|
|
/* 02C870F0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C870F4 */ goto L_02C870D8;
|
|
L_02C870F8: ; // 0x2c870f8
|
|
/* 02C870F8 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
L_02C870FC: ; // 0x2c870fc
|
|
/* 02C870FC */ cpu->r[29] = cpu->r[29] + 0x00000002u;
|
|
L_02C87100: ; // 0x2c87100
|
|
/* 02C87100 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C87100 */ cpu->r[4] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C87104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C87108 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87108 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C87108 */ if (_t13) goto L_02C8710C; else goto L_02C870A8;
|
|
L_02C8710C: ; // 0x2c8710c
|
|
/* 02C8710C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C87110 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87110 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C87110 */ if (_t15) goto L_02C87124; else goto L_02C87114;
|
|
L_02C87114: ; // 0x2c87114
|
|
/* 02C87114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C87118 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87118 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C87118 */ if (_t17) goto L_02C8711C; else goto L_02C87124;
|
|
L_02C8711C: ; // 0x2c8711c
|
|
/* 02C8711C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C87120 */ _t18 = cpu->r[28] + cpu->r[31];
|
|
/* 02C87120 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
L_02C87124: ; // 0x2c87124
|
|
/* 02C87124 */ cpu->r[3] = cpu->r[31];
|
|
L_02C87128: ; // 0x2c87128
|
|
/* 02C87128 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C8712C */ goto L_02C8A588;
|
|
L_02C8A588: ; // 0x2c8a588
|
|
/* 02C8A588 */ _t19 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C8A58C */ _t20 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C8A590 */ _t21 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C8A594 */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C8A598 */ _t23 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C87130 @ 0x2c87130
|
|
void Gambit_fn_02C87130(CPUState* 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_02C87130: ; // 0x2c87130
|
|
/* 02C87130 */ cpu->r[0] = cpu->lr;
|
|
/* 02C87134 */ Gambit_fn_02C8A14C(cpu);
|
|
/* 02C87138 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C8713C */ cpu->r[10] = cpu->r[3];
|
|
/* 02C87140 */ cpu->r[9] = cpu->r[31];
|
|
/* 02C87144 */ cpu->r[7] = cpu->r[31];
|
|
/* 02C87148 */ goto L_02C87150;
|
|
L_02C8714C: ; // 0x2c8714c
|
|
/* 02C8714C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_02C87150: ; // 0x2c87150
|
|
/* 02C87150 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C87150 */ cpu->r[11] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C87154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000020u);
|
|
/* 02C87158 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87158 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C87158 */ if (_t2) goto L_02C8714C; else goto L_02C8715C;
|
|
L_02C8715C: ; // 0x2c8715c
|
|
/* 02C8715C */ cpu->r[12] = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C87160 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000006u);
|
|
/* 02C87164 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87164 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C87164 */ if (_t4) goto L_02C8714C; else goto L_02C87168;
|
|
L_02C87168: ; // 0x2c87168
|
|
/* 02C87168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000002Du);
|
|
/* 02C8716C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8716C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C8716C */ if (_t6) goto L_02C87170; else goto L_02C87178;
|
|
L_02C87170: ; // 0x2c87170
|
|
/* 02C87170 */ cpu->r[9] = 0x00000001u;
|
|
/* 02C87174 */ goto L_02C87180;
|
|
L_02C87178: ; // 0x2c87178
|
|
/* 02C87178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000002Bu);
|
|
/* 02C8717C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8717C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C8717C */ if (_t8) goto L_02C87180; else goto L_02C87184;
|
|
L_02C87180: ; // 0x2c87180
|
|
/* 02C87180 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_02C87184: ; // 0x2c87184
|
|
/* 02C87184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C87188 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87188 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C87188 */ if (_t10) goto L_02C8718C; else goto L_02C871C8;
|
|
L_02C8718C: ; // 0x2c8718c
|
|
/* 02C8718C */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02C8718C */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C87190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C87194 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87194 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C87194 */ if (_t13) goto L_02C87198; else goto L_02C871C0;
|
|
L_02C87198: ; // 0x2c87198
|
|
/* 02C87198 */ _t14 = cpu->r[3] + 0x00000001u;
|
|
/* 02C87198 */ cpu->r[12] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C8719C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000078u);
|
|
/* 02C871A0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C871A0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C871A0 */ if (_t16) goto L_02C871AC; else goto L_02C871A4;
|
|
L_02C871A4: ; // 0x2c871a4
|
|
/* 02C871A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000058u);
|
|
/* 02C871A8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C871A8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C871A8 */ if (_t18) goto L_02C871AC; else goto L_02C871B8;
|
|
L_02C871AC: ; // 0x2c871ac
|
|
/* 02C871AC */ cpu->r[3] = cpu->r[3] + 0x00000002u;
|
|
/* 02C871B0 */ cpu->r[5] = 0x00000010u;
|
|
/* 02C871B4 */ goto L_02C8721C;
|
|
L_02C871B8: ; // 0x2c871b8
|
|
/* 02C871B8 */ cpu->r[5] = 0x00000008u;
|
|
/* 02C871BC */ goto L_02C8721C;
|
|
L_02C871C0: ; // 0x2c871c0
|
|
/* 02C871C0 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C871C4 */ goto L_02C8721C;
|
|
L_02C871C8: ; // 0x2c871c8
|
|
/* 02C871C8 */ cpu->r[12] = cpu->r[5] + 0xFFFFFFFEu;
|
|
/* 02C871CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000023u);
|
|
/* 02C871D0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C871D0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C871D0 */ if (_t20) goto L_02C871F0; else goto L_02C871D4;
|
|
L_02C871D4: ; // 0x2c871d4
|
|
/* 02C871D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C871D8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C871D8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C871D8 */ if (_t22) goto L_02C871E0; else goto L_02C871DC;
|
|
L_02C871DC: ; // 0x2c871dc
|
|
/* 02C871DC */ _t23 = cpu->r[4] + 0x00000000u;
|
|
/* 02C871DC */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
L_02C871E0: ; // 0x2c871e0
|
|
/* 02C871E0 */ cpu->r[3] = 0x00000016u;
|
|
/* 02C871E4 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C871E8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C871EC */ goto L_02C872D4;
|
|
L_02C871F0: ; // 0x2c871f0
|
|
/* 02C871F0 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02C871F0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C871F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C871F8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C871F8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C871F8 */ if (_t26) goto L_02C871FC; else goto L_02C8721C;
|
|
L_02C871FC: ; // 0x2c871fc
|
|
/* 02C871FC */ _t27 = cpu->r[3] + 0x00000001u;
|
|
/* 02C871FC */ cpu->r[12] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02C87200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000078u);
|
|
/* 02C87204 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87204 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C87204 */ if (_t29) goto L_02C87210; else goto L_02C87208;
|
|
L_02C87208: ; // 0x2c87208
|
|
/* 02C87208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000058u);
|
|
/* 02C8720C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8720C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C8720C */ if (_t31) goto L_02C87210; else goto L_02C8721C;
|
|
L_02C87210: ; // 0x2c87210
|
|
/* 02C87210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000010u);
|
|
/* 02C87214 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87214 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C87214 */ if (_t33) goto L_02C87218; else goto L_02C8721C;
|
|
L_02C87218: ; // 0x2c87218
|
|
/* 02C87218 */ cpu->r[3] = cpu->r[3] + 0x00000002u;
|
|
L_02C8721C: ; // 0x2c8721c
|
|
/* 02C8721C */ cpu->r[11] = cpu->r[3];
|
|
L_02C87220: ; // 0x2c87220
|
|
/* 02C87220 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 02C87220 */ cpu->r[8] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02C87224 */ cpu->r[12] = cpu->r[8] + 0xFFFFFFD0u;
|
|
/* 02C87228 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Au);
|
|
/* 02C8722C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C87230 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87230 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C87230 */ if (_t36) goto L_02C87234; else goto L_02C8723C;
|
|
L_02C87234: ; // 0x2c87234
|
|
/* 02C87234 */ cpu->r[8] = cpu->r[12];
|
|
/* 02C87238 */ goto L_02C87268;
|
|
L_02C8723C: ; // 0x2c8723c
|
|
/* 02C8723C */ cpu->r[12] = cpu->r[8] + 0xFFFFFF9Fu;
|
|
/* 02C87240 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000001Au);
|
|
/* 02C87244 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87244 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C87244 */ if (_t38) goto L_02C87248; else goto L_02C87250;
|
|
L_02C87248: ; // 0x2c87248
|
|
/* 02C87248 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFA9u;
|
|
/* 02C8724C */ goto L_02C87268;
|
|
L_02C87250: ; // 0x2c87250
|
|
/* 02C87250 */ cpu->r[12] = cpu->r[8] + 0xFFFFFFBFu;
|
|
/* 02C87254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000001Au);
|
|
/* 02C87258 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87258 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C87258 */ if (_t40) goto L_02C8725C; else goto L_02C87264;
|
|
L_02C8725C: ; // 0x2c8725c
|
|
/* 02C8725C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFC9u;
|
|
/* 02C87260 */ goto L_02C87268;
|
|
L_02C87264: ; // 0x2c87264
|
|
/* 02C87264 */ cpu->r[8] = 0x00000025u;
|
|
L_02C87268: ; // 0x2c87268
|
|
/* 02C87268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[5]);
|
|
/* 02C8726C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8726C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C8726C */ if (_t42) goto L_02C87270; else goto L_02C87290;
|
|
L_02C87270: ; // 0x2c87270
|
|
/* 02C87270 */ _t43 = cpu->r[8] | cpu->r[8];
|
|
/* 02C87270 */ cpu->r[12] = ~_t43;
|
|
/* 02C87274 */ cpu->r[12] = cpu->r[12] / cpu->r[5];
|
|
/* 02C87278 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02C8727C */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8727C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C8727C */ if (_t45) goto L_02C87280; else goto L_02C87284;
|
|
L_02C87280: ; // 0x2c87280
|
|
/* 02C87280 */ cpu->r[7] = 0x00000001u;
|
|
L_02C87284: ; // 0x2c87284
|
|
/* 02C87284 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[31]);
|
|
/* 02C87288 */ cpu->r[31] = cpu->r[12] + cpu->r[8];
|
|
/* 02C8728C */ goto L_02C87220;
|
|
L_02C87290: ; // 0x2c87290
|
|
/* 02C87290 */ cpu->r[12] = cpu->r[11] + 0x00000001u;
|
|
/* 02C87294 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C87298 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87298 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C87298 */ if (_t47) goto L_02C8729C; else goto L_02C872A0;
|
|
L_02C8729C: ; // 0x2c8729c
|
|
/* 02C8729C */ cpu->r[3] = cpu->r[10] + 0x00000001u;
|
|
L_02C872A0: ; // 0x2c872a0
|
|
/* 02C872A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C872A4 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C872A4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C872A4 */ if (_t49) goto L_02C872B0; else goto L_02C872A8;
|
|
L_02C872A8: ; // 0x2c872a8
|
|
/* 02C872A8 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C872AC */ _t50 = cpu->r[4] + 0x00000000u;
|
|
/* 02C872AC */ rbrew_write32(cpu->mem, _t50, cpu->r[12]);
|
|
L_02C872B0: ; // 0x2c872b0
|
|
/* 02C872B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C872B4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C872B4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C872B4 */ if (_t52) goto L_02C872BC; else goto L_02C872B8;
|
|
L_02C872B8: ; // 0x2c872b8
|
|
/* 02C872B8 */ cpu->r[31] = (uint32_t)(-(int32_t)cpu->r[31]);
|
|
L_02C872BC: ; // 0x2c872bc
|
|
/* 02C872BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C872C0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C872C0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C872C0 */ if (_t54) goto L_02C872D0; else goto L_02C872C4;
|
|
L_02C872C4: ; // 0x2c872c4
|
|
/* 02C872C4 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C872C8 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02C872CC */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C872D0: ; // 0x2c872d0
|
|
/* 02C872D0 */ cpu->r[3] = cpu->r[31];
|
|
L_02C872D4: ; // 0x2c872d4
|
|
/* 02C872D4 */ goto L_02C8A160;
|
|
L_02C8A160: ; // 0x2c8a160
|
|
/* 02C8A160 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8A160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C8A164 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A168 */ /* nop */
|
|
/* 02C8A16C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8A170 */ return;
|
|
}
|
|
|
|
// fn_02C872D8 @ 0x2c872d8
|
|
void Gambit_fn_02C872D8(CPUState* 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;
|
|
|
|
L_02C872D8: ; // 0x2c872d8
|
|
/* 02C872D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C872DC */ Gambit_fn_02C8A14C(cpu);
|
|
/* 02C872E0 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C872E4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C872E8 */ cpu->r[9] = cpu->r[12];
|
|
/* 02C872EC */ goto L_02C872F4;
|
|
L_02C872F0: ; // 0x2c872f0
|
|
/* 02C872F0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
L_02C872F4: ; // 0x2c872f4
|
|
/* 02C872F4 */ _t0 = cpu->r[12] + 0x00000000u;
|
|
/* 02C872F4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C872F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000020u);
|
|
/* 02C872FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C872FC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C872FC */ if (_t2) goto L_02C872F0; else goto L_02C87300;
|
|
L_02C87300: ; // 0x2c87300
|
|
/* 02C87300 */ cpu->r[11] = cpu->r[10] + 0xFFFFFFF8u;
|
|
/* 02C87304 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
|
|
/* 02C87308 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87308 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C87308 */ if (_t4) goto L_02C872F0; else goto L_02C8730C;
|
|
L_02C8730C: ; // 0x2c8730c
|
|
/* 02C8730C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000002Du);
|
|
/* 02C87310 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87310 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C87310 */ if (_t6) goto L_02C87314; else goto L_02C8731C;
|
|
L_02C87314: ; // 0x2c87314
|
|
/* 02C87314 */ cpu->r[31] = 0x00000001u;
|
|
/* 02C87318 */ goto L_02C87324;
|
|
L_02C8731C: ; // 0x2c8731c
|
|
/* 02C8731C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000002Bu);
|
|
/* 02C87320 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87320 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C87320 */ if (_t8) goto L_02C87324; else goto L_02C87328;
|
|
L_02C87324: ; // 0x2c87324
|
|
/* 02C87324 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
L_02C87328: ; // 0x2c87328
|
|
/* 02C87328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C8732C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8732C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C8732C */ if (_t10) goto L_02C87330; else goto L_02C8736C;
|
|
L_02C87330: ; // 0x2c87330
|
|
/* 02C87330 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02C87330 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C87334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000030u);
|
|
/* 02C87338 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87338 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C87338 */ if (_t13) goto L_02C8733C; else goto L_02C87364;
|
|
L_02C8733C: ; // 0x2c8733c
|
|
/* 02C8733C */ _t14 = cpu->r[12] + 0x00000001u;
|
|
/* 02C8733C */ cpu->r[11] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C87340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000078u);
|
|
/* 02C87344 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87344 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C87344 */ if (_t16) goto L_02C87350; else goto L_02C87348;
|
|
L_02C87348: ; // 0x2c87348
|
|
/* 02C87348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000058u);
|
|
/* 02C8734C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8734C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C8734C */ if (_t18) goto L_02C87350; else goto L_02C8735C;
|
|
L_02C87350: ; // 0x2c87350
|
|
/* 02C87350 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
/* 02C87354 */ cpu->r[5] = 0x00000010u;
|
|
/* 02C87358 */ goto L_02C873C0;
|
|
L_02C8735C: ; // 0x2c8735c
|
|
/* 02C8735C */ cpu->r[5] = 0x00000008u;
|
|
/* 02C87360 */ goto L_02C873C0;
|
|
L_02C87364: ; // 0x2c87364
|
|
/* 02C87364 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C87368 */ goto L_02C873C0;
|
|
L_02C8736C: ; // 0x2c8736c
|
|
/* 02C8736C */ cpu->r[11] = cpu->r[5] + 0xFFFFFFFEu;
|
|
/* 02C87370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000023u);
|
|
/* 02C87374 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87374 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C87374 */ if (_t20) goto L_02C87394; else goto L_02C87378;
|
|
L_02C87378: ; // 0x2c87378
|
|
/* 02C87378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C8737C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8737C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C8737C */ if (_t22) goto L_02C87384; else goto L_02C87380;
|
|
L_02C87380: ; // 0x2c87380
|
|
/* 02C87380 */ _t23 = cpu->r[4] + 0x00000000u;
|
|
/* 02C87380 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
L_02C87384: ; // 0x2c87384
|
|
/* 02C87384 */ cpu->r[3] = 0x00000016u;
|
|
/* 02C87388 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C8738C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C87390 */ goto L_02C874A0;
|
|
L_02C87394: ; // 0x2c87394
|
|
/* 02C87394 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02C87394 */ cpu->r[11] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C87398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000030u);
|
|
/* 02C8739C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8739C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C8739C */ if (_t26) goto L_02C873A0; else goto L_02C873C0;
|
|
L_02C873A0: ; // 0x2c873a0
|
|
/* 02C873A0 */ _t27 = cpu->r[12] + 0x00000001u;
|
|
/* 02C873A0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02C873A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000078u);
|
|
/* 02C873A8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C873A8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C873A8 */ if (_t29) goto L_02C873B4; else goto L_02C873AC;
|
|
L_02C873AC: ; // 0x2c873ac
|
|
/* 02C873AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000058u);
|
|
/* 02C873B0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C873B0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C873B0 */ if (_t31) goto L_02C873B4; else goto L_02C873C0;
|
|
L_02C873B4: ; // 0x2c873b4
|
|
/* 02C873B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000010u);
|
|
/* 02C873B8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C873B8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C873B8 */ if (_t33) goto L_02C873BC; else goto L_02C873C0;
|
|
L_02C873BC: ; // 0x2c873bc
|
|
/* 02C873BC */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
L_02C873C0: ; // 0x2c873c0
|
|
/* 02C873C0 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02C873C4 */ cpu->r[10] = cpu->r[12];
|
|
/* 02C873C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C873CC */ cpu->r[6] = cpu->r[11] / cpu->r[5];
|
|
/* 02C873D0 */ cpu->r[7] = cpu->r[3];
|
|
L_02C873D4: ; // 0x2c873d4
|
|
/* 02C873D4 */ _t34 = cpu->r[12] + 0x00000000u;
|
|
/* 02C873D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02C873D8 */ cpu->r[11] = cpu->r[8] + 0xFFFFFFD0u;
|
|
/* 02C873DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Au);
|
|
/* 02C873E0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C873E4 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C873E4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C873E4 */ if (_t36) goto L_02C873E8; else goto L_02C873F0;
|
|
L_02C873E8: ; // 0x2c873e8
|
|
/* 02C873E8 */ cpu->r[8] = cpu->r[11];
|
|
/* 02C873EC */ goto L_02C8741C;
|
|
L_02C873F0: ; // 0x2c873f0
|
|
/* 02C873F0 */ cpu->r[11] = cpu->r[8] + 0xFFFFFF9Fu;
|
|
/* 02C873F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000001Au);
|
|
/* 02C873F8 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C873F8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C873F8 */ if (_t38) goto L_02C873FC; else goto L_02C87404;
|
|
L_02C873FC: ; // 0x2c873fc
|
|
/* 02C873FC */ cpu->r[8] = cpu->r[8] + 0xFFFFFFA9u;
|
|
/* 02C87400 */ goto L_02C8741C;
|
|
L_02C87404: ; // 0x2c87404
|
|
/* 02C87404 */ cpu->r[11] = cpu->r[8] + 0xFFFFFFBFu;
|
|
/* 02C87408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000001Au);
|
|
/* 02C8740C */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8740C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C8740C */ if (_t40) goto L_02C87410; else goto L_02C87418;
|
|
L_02C87410: ; // 0x2c87410
|
|
/* 02C87410 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFC9u;
|
|
/* 02C87414 */ goto L_02C8741C;
|
|
L_02C87418: ; // 0x2c87418
|
|
/* 02C87418 */ cpu->r[8] = 0x00000025u;
|
|
L_02C8741C: ; // 0x2c8741c
|
|
/* 02C8741C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[5]);
|
|
/* 02C87420 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87420 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C87420 */ if (_t42) goto L_02C87424; else goto L_02C8743C;
|
|
L_02C87424: ; // 0x2c87424
|
|
/* 02C87424 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[6]);
|
|
/* 02C87428 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87428 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C87428 */ if (_t44) goto L_02C87430; else goto L_02C8742C;
|
|
L_02C8742C: ; // 0x2c8742c
|
|
/* 02C8742C */ cpu->r[7] = 0x00000001u;
|
|
L_02C87430: ; // 0x2c87430
|
|
/* 02C87430 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[3]);
|
|
/* 02C87434 */ cpu->r[3] = cpu->r[11] + cpu->r[8];
|
|
/* 02C87438 */ goto L_02C873D4;
|
|
L_02C8743C: ; // 0x2c8743c
|
|
/* 02C8743C */ cpu->r[11] = cpu->r[10] + 0x00000001u;
|
|
/* 02C87440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02C87444 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87444 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C87444 */ if (_t46) goto L_02C87448; else goto L_02C8744C;
|
|
L_02C87448: ; // 0x2c87448
|
|
/* 02C87448 */ cpu->r[12] = cpu->r[9] + 0x00000001u;
|
|
L_02C8744C: ; // 0x2c8744c
|
|
/* 02C8744C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C87450 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87450 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C87450 */ if (_t48) goto L_02C8745C; else goto L_02C87454;
|
|
L_02C87454: ; // 0x2c87454
|
|
/* 02C87454 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C87458 */ _t49 = cpu->r[4] + 0x00000000u;
|
|
/* 02C87458 */ rbrew_write32(cpu->mem, _t49, cpu->r[12]);
|
|
L_02C8745C: ; // 0x2c8745c
|
|
/* 02C8745C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C87460 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87460 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C87460 */ if (_t51) goto L_02C87464; else goto L_02C87474;
|
|
L_02C87464: ; // 0x2c87464
|
|
/* 02C87464 */ cpu->r[12] = cpu->r[31] + 0x80000000u;
|
|
/* 02C87468 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C8746C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C87470 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87470 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C87470 */ if (_t53) goto L_02C87474; else goto L_02C87494;
|
|
L_02C87474: ; // 0x2c87474
|
|
/* 02C87474 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C87478 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C8747C */ cpu->r[3] = 0x80000000u;
|
|
/* 02C87480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C87484 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C87488 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87488 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C87488 */ if (_t55) goto L_02C874A0; else goto L_02C8748C;
|
|
L_02C8748C: ; // 0x2c8748c
|
|
/* 02C8748C */ cpu->r[3] = 0x80000000u;
|
|
/* 02C87490 */ goto L_02C874A0;
|
|
L_02C87494: ; // 0x2c87494
|
|
/* 02C87494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C87498 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87498 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C87498 */ if (_t57) goto L_02C874A0; else goto L_02C8749C;
|
|
L_02C8749C: ; // 0x2c8749c
|
|
/* 02C8749C */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[3]);
|
|
L_02C874A0: ; // 0x2c874a0
|
|
/* 02C874A0 */ goto L_02C8A160;
|
|
L_02C8A160: ; // 0x2c8a160
|
|
/* 02C8A160 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8A160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C8A164 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A168 */ /* nop */
|
|
/* 02C8A16C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8A170 */ return;
|
|
}
|
|
|
|
// fn_02C874A4 @ 0x2c874a4
|
|
void Gambit_fn_02C874A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_02C874A4: ; // 0x2c874a4
|
|
/* 02C874A4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C874A8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C874A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C874AC */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C874AC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C874B0 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 02C874B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[2]);
|
|
/* 02C874B4 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C874B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[13]);
|
|
/* 02C874B8 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02C874B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[14]);
|
|
/* 02C874BC */ _t5 = cpu->r[3] + 0x00000014u;
|
|
/* 02C874BC */ rbrew_write32(cpu->mem, _t5, cpu->r[15]);
|
|
/* 02C874C0 */ _t6 = cpu->r[3] + 0x00000018u;
|
|
/* 02C874C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[16]);
|
|
/* 02C874C4 */ _t7 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C874C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[17]);
|
|
/* 02C874C8 */ _t8 = cpu->r[3] + 0x00000020u;
|
|
/* 02C874C8 */ rbrew_write32(cpu->mem, _t8, cpu->r[18]);
|
|
/* 02C874CC */ _t9 = cpu->r[3] + 0x00000024u;
|
|
/* 02C874CC */ rbrew_write32(cpu->mem, _t9, cpu->r[19]);
|
|
/* 02C874D0 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02C874D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[20]);
|
|
/* 02C874D4 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C874D4 */ rbrew_write32(cpu->mem, _t11, cpu->r[21]);
|
|
/* 02C874D8 */ _t12 = cpu->r[3] + 0x00000030u;
|
|
/* 02C874D8 */ rbrew_write32(cpu->mem, _t12, cpu->r[22]);
|
|
/* 02C874DC */ _t13 = cpu->r[3] + 0x00000034u;
|
|
/* 02C874DC */ rbrew_write32(cpu->mem, _t13, cpu->r[23]);
|
|
/* 02C874E0 */ _t14 = cpu->r[3] + 0x00000038u;
|
|
/* 02C874E0 */ rbrew_write32(cpu->mem, _t14, cpu->r[24]);
|
|
/* 02C874E4 */ _t15 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02C874E4 */ rbrew_write32(cpu->mem, _t15, cpu->r[25]);
|
|
/* 02C874E8 */ _t16 = cpu->r[3] + 0x00000040u;
|
|
/* 02C874E8 */ rbrew_write32(cpu->mem, _t16, cpu->r[26]);
|
|
/* 02C874EC */ _t17 = cpu->r[3] + 0x00000044u;
|
|
/* 02C874EC */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 02C874F0 */ _t18 = cpu->r[3] + 0x00000048u;
|
|
/* 02C874F0 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
/* 02C874F4 */ _t19 = cpu->r[3] + 0x0000004Cu;
|
|
/* 02C874F4 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 02C874F8 */ _t20 = cpu->r[3] + 0x00000050u;
|
|
/* 02C874F8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02C874FC */ _t21 = cpu->r[3] + 0x00000054u;
|
|
/* 02C874FC */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 02C87500 */ _t22 = cpu->r[3] + 0x00000058u;
|
|
/* 02C87500 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[14]);
|
|
/* 02C87504 */ /* nop */
|
|
/* 02C87508 */ _t23 = cpu->r[3] + 0x00000060u;
|
|
/* 02C87508 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02C8750C */ _t24 = cpu->r[3] + 0x00000068u;
|
|
/* 02C8750C */ rbrew_write_f64(cpu->mem, _t24, cpu->f[15]);
|
|
/* 02C87510 */ /* nop */
|
|
/* 02C87514 */ _t25 = cpu->r[3] + 0x00000070u;
|
|
/* 02C87514 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02C87518 */ _t26 = cpu->r[3] + 0x00000078u;
|
|
/* 02C87518 */ rbrew_write_f64(cpu->mem, _t26, cpu->f[16]);
|
|
/* 02C8751C */ /* nop */
|
|
/* 02C87520 */ _t27 = cpu->r[3] + 0x00000080u;
|
|
/* 02C87520 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02C87524 */ _t28 = cpu->r[3] + 0x00000088u;
|
|
/* 02C87524 */ rbrew_write_f64(cpu->mem, _t28, cpu->f[17]);
|
|
/* 02C87528 */ /* nop */
|
|
/* 02C8752C */ _t29 = cpu->r[3] + 0x00000090u;
|
|
/* 02C8752C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 02C87530 */ _t30 = cpu->r[3] + 0x00000098u;
|
|
/* 02C87530 */ rbrew_write_f64(cpu->mem, _t30, cpu->f[18]);
|
|
/* 02C87534 */ /* nop */
|
|
/* 02C87538 */ _t31 = cpu->r[3] + 0x000000A0u;
|
|
/* 02C87538 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02C8753C */ _t32 = cpu->r[3] + 0x000000A8u;
|
|
/* 02C8753C */ rbrew_write_f64(cpu->mem, _t32, cpu->f[19]);
|
|
/* 02C87540 */ /* nop */
|
|
/* 02C87544 */ _t33 = cpu->r[3] + 0x000000B0u;
|
|
/* 02C87544 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 02C87548 */ _t34 = cpu->r[3] + 0x000000B8u;
|
|
/* 02C87548 */ rbrew_write_f64(cpu->mem, _t34, cpu->f[20]);
|
|
/* 02C8754C */ /* nop */
|
|
/* 02C87550 */ _t35 = cpu->r[3] + 0x000000C0u;
|
|
/* 02C87550 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 02C87554 */ _t36 = cpu->r[3] + 0x000000C8u;
|
|
/* 02C87554 */ rbrew_write_f64(cpu->mem, _t36, cpu->f[21]);
|
|
/* 02C87558 */ /* nop */
|
|
/* 02C8755C */ _t37 = cpu->r[3] + 0x000000D0u;
|
|
/* 02C8755C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 02C87560 */ _t38 = cpu->r[3] + 0x000000D8u;
|
|
/* 02C87560 */ rbrew_write_f64(cpu->mem, _t38, cpu->f[22]);
|
|
/* 02C87564 */ /* nop */
|
|
/* 02C87568 */ _t39 = cpu->r[3] + 0x000000E0u;
|
|
/* 02C87568 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
|
|
/* 02C8756C */ _t40 = cpu->r[3] + 0x000000E8u;
|
|
/* 02C8756C */ rbrew_write_f64(cpu->mem, _t40, cpu->f[23]);
|
|
/* 02C87570 */ /* nop */
|
|
/* 02C87574 */ _t41 = cpu->r[3] + 0x000000F0u;
|
|
/* 02C87574 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 02C87578 */ _t42 = cpu->r[3] + 0x000000F8u;
|
|
/* 02C87578 */ rbrew_write_f64(cpu->mem, _t42, cpu->f[24]);
|
|
/* 02C8757C */ /* nop */
|
|
/* 02C87580 */ _t43 = cpu->r[3] + 0x00000100u;
|
|
/* 02C87580 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 02C87584 */ _t44 = cpu->r[3] + 0x00000108u;
|
|
/* 02C87584 */ rbrew_write_f64(cpu->mem, _t44, cpu->f[25]);
|
|
/* 02C87588 */ /* nop */
|
|
/* 02C8758C */ _t45 = cpu->r[3] + 0x00000110u;
|
|
/* 02C8758C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
/* 02C87590 */ _t46 = cpu->r[3] + 0x00000118u;
|
|
/* 02C87590 */ rbrew_write_f64(cpu->mem, _t46, cpu->f[26]);
|
|
/* 02C87594 */ /* nop */
|
|
/* 02C87598 */ _t47 = cpu->r[3] + 0x00000120u;
|
|
/* 02C87598 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
/* 02C8759C */ _t48 = cpu->r[3] + 0x00000128u;
|
|
/* 02C8759C */ rbrew_write_f64(cpu->mem, _t48, cpu->f[27]);
|
|
/* 02C875A0 */ /* nop */
|
|
/* 02C875A4 */ _t49 = cpu->r[3] + 0x00000130u;
|
|
/* 02C875A4 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
|
|
/* 02C875A8 */ _t50 = cpu->r[3] + 0x00000138u;
|
|
/* 02C875A8 */ rbrew_write_f64(cpu->mem, _t50, cpu->f[28]);
|
|
/* 02C875AC */ /* nop */
|
|
/* 02C875B0 */ _t51 = cpu->r[3] + 0x00000140u;
|
|
/* 02C875B0 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[0]);
|
|
/* 02C875B4 */ _t52 = cpu->r[3] + 0x00000148u;
|
|
/* 02C875B4 */ rbrew_write_f64(cpu->mem, _t52, cpu->f[29]);
|
|
/* 02C875B8 */ /* nop */
|
|
/* 02C875BC */ _t53 = cpu->r[3] + 0x00000150u;
|
|
/* 02C875BC */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]);
|
|
/* 02C875C0 */ _t54 = cpu->r[3] + 0x00000158u;
|
|
/* 02C875C0 */ rbrew_write_f64(cpu->mem, _t54, cpu->f[30]);
|
|
/* 02C875C4 */ /* nop */
|
|
/* 02C875C8 */ _t55 = cpu->r[3] + 0x00000160u;
|
|
/* 02C875C8 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]);
|
|
/* 02C875CC */ _t56 = cpu->r[3] + 0x00000168u;
|
|
/* 02C875CC */ rbrew_write_f64(cpu->mem, _t56, cpu->f[31]);
|
|
/* 02C875D0 */ /* nop */
|
|
/* 02C875D4 */ _t57 = cpu->r[3] + 0x00000170u;
|
|
/* 02C875D4 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[0]);
|
|
/* 02C875D8 */ goto L_02C89AB0;
|
|
L_02C89AB0: ; // 0x2c89ab0
|
|
/* 02C89AB0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C89AB4 */ return;
|
|
}
|
|
|
|
// fn_02C876EC @ 0x2c876ec
|
|
void Gambit_fn_02C876EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C876EC: ; // 0x2c876ec
|
|
/* 02C876EC */ cpu->r[12] = cpu->r[3] | cpu->r[5];
|
|
/* 02C876F0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C876F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C876F4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C876F4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C876F4 */ if (_t1) goto L_02C876F8; else goto L_02C87720;
|
|
L_02C876F8: ; // 0x2c876f8
|
|
/* 02C876F8 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFCu;
|
|
/* 02C876FC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFCu;
|
|
L_02C87700: ; // 0x2c87700
|
|
/* 02C87700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C87704 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87704 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C87704 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C87704 */ goto L_02C87708;
|
|
L_02C87708: ; // 0x2c87708
|
|
/* 02C87708 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C87708 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C87708 */ cpu->r[4] = _t4;
|
|
/* 02C8770C */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02C8770C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C8770C */ cpu->r[3] = _t5;
|
|
/* 02C87710 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C87710 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C87714 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFCu;
|
|
/* 02C87718 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02C87718 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C8771C */ goto L_02C87700;
|
|
L_02C87720: ; // 0x2c87720
|
|
/* 02C87720 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C87724 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C87728 */ goto L_02C87740;
|
|
L_02C8772C: ; // 0x2c8772c
|
|
/* 02C8772C */ _t8 = cpu->r[4] + 0x00000001u;
|
|
/* 02C8772C */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C8772C */ cpu->r[4] = _t8;
|
|
/* 02C87730 */ _t9 = cpu->r[3] + 0x00000001u;
|
|
/* 02C87730 */ cpu->r[11] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C87730 */ cpu->r[3] = _t9;
|
|
/* 02C87734 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C87734 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
/* 02C87738 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C8773C */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 02C8773C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[11]);
|
|
L_02C87740: ; // 0x2c87740
|
|
/* 02C87740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C87744 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87744 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C87744 */ if (_t13) goto L_02C87748; else goto L_02C8772C;
|
|
L_02C87748: ; // 0x2c87748
|
|
/* 02C87748 */ return;
|
|
}
|
|
|
|
// fn_02C8774C @ 0x2c8774c
|
|
void Gambit_fn_02C8774C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C8774C: ; // 0x2c8774c
|
|
/* 02C8774C */ cpu->r[0] = cpu->lr;
|
|
/* 02C87750 */ Gambit_fn_02C8A124(cpu);
|
|
/* 02C87754 */ cpu->r[28] = cpu->r[6];
|
|
/* 02C87758 */ cpu->ctr = cpu->r[28];
|
|
/* 02C8775C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C87760 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C87764 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C87768 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C8776C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C87770 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87774 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C87778 */ cpu->ctr = cpu->r[28];
|
|
/* 02C8777C */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8777C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C8777C */ if (_t1) goto L_02C877AC; else goto L_02C87780;
|
|
L_02C87780: ; // 0x2c87780
|
|
/* 02C87780 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C87784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C87788 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87788 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C87788 */ if (_t3) goto L_02C8778C; else goto L_02C877D4;
|
|
L_02C8778C: ; // 0x2c8778c
|
|
/* 02C8778C */ cpu->ctr = cpu->r[28];
|
|
/* 02C87790 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C87794 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C87798 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C8779C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C877A0 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C877A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C877A0 */ if (_t5) goto L_02C877D0; else goto L_02C877A4;
|
|
L_02C877A4: ; // 0x2c877a4
|
|
/* 02C877A4 */ cpu->r[30] = cpu->r[29];
|
|
/* 02C877A8 */ goto L_02C877D4;
|
|
L_02C877AC: ; // 0x2c877ac
|
|
/* 02C877AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C877B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C877B4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C877B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C877B4 */ if (_t7) goto L_02C877B8; else goto L_02C877D4;
|
|
L_02C877B8: ; // 0x2c877b8
|
|
/* 02C877B8 */ cpu->ctr = cpu->r[28];
|
|
/* 02C877BC */ cpu->r[4] = cpu->r[29];
|
|
/* 02C877C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C877C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C877C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C877CC */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C877CC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C877CC */ if (_t9) goto L_02C877A4; else goto L_02C877D0;
|
|
L_02C877D0: ; // 0x2c877d0
|
|
/* 02C877D0 */ cpu->r[30] = cpu->r[31];
|
|
L_02C877D4: ; // 0x2c877d4
|
|
/* 02C877D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C877D8 */ goto L_02C8A138;
|
|
L_02C8A138: ; // 0x2c8a138
|
|
/* 02C8A138 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8A138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C8A13C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A140 */ /* nop */
|
|
/* 02C8A144 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C8A148 */ return;
|
|
}
|
|
|
|
// fn_02C877DC @ 0x2c877dc
|
|
void Gambit_fn_02C877DC(CPUState* 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;
|
|
|
|
L_02C877DC: ; // 0x2c877dc
|
|
/* 02C877DC */ cpu->r[0] = cpu->lr;
|
|
/* 02C877E0 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C877E4 */ _t0 = cpu->r[1] + 0xFFFFFEC8u;
|
|
/* 02C877E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C877E4 */ cpu->r[1] = _t0;
|
|
/* 02C877E8 */ Gambit_fn_02C8A510(cpu);
|
|
/* 02C877EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C877F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C877F4 */ cpu->r[27] = cpu->r[6];
|
|
/* 02C877F8 */ cpu->r[26] = cpu->r[5];
|
|
/* 02C877FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C877FC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C877FC */ if (_t2) goto L_02C87A40; else goto L_02C87800;
|
|
L_02C87800: ; // 0x2c87800
|
|
/* 02C87800 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)cpu->r[26]);
|
|
/* 02C87804 */ cpu->r[25] = 0xFFFFFFFFu;
|
|
/* 02C87808 */ cpu->r[24] = cpu->r[31] + cpu->r[12];
|
|
L_02C8780C: ; // 0x2c8780c
|
|
/* 02C8780C */ cpu->r[12] = cpu->r[24] - cpu->r[31];
|
|
/* 02C87810 */ cpu->r[10] = cpu->r[12] / cpu->r[26];
|
|
/* 02C87814 */ cpu->r[21] = cpu->r[31] + cpu->r[26];
|
|
/* 02C87818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000006u);
|
|
/* 02C8781C */ cpu->r[29] = cpu->r[24] - cpu->r[26];
|
|
/* 02C87820 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87820 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C87820 */ if (_t4) goto L_02C87824; else goto L_02C87874;
|
|
L_02C87824: ; // 0x2c87824
|
|
/* 02C87824 */ cpu->r[23] = cpu->r[31];
|
|
L_02C87828: ; // 0x2c87828
|
|
/* 02C87828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[29]);
|
|
/* 02C8782C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8782C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C8782C */ if (_t6) goto L_02C87830; else goto L_02C87A1C;
|
|
L_02C87830: ; // 0x2c87830
|
|
/* 02C87830 */ cpu->r[28] = cpu->r[23] + cpu->r[26];
|
|
/* 02C87834 */ goto L_02C87864;
|
|
L_02C87838: ; // 0x2c87838
|
|
/* 02C87838 */ cpu->ctr = cpu->r[27];
|
|
/* 02C8783C */ cpu->r[4] = cpu->r[28];
|
|
/* 02C87840 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C87844 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C87848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C8784C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8784C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C8784C */ if (_t8) goto L_02C87850; else goto L_02C87860;
|
|
L_02C87850: ; // 0x2c87850
|
|
/* 02C87850 */ cpu->r[5] = cpu->r[26];
|
|
/* 02C87854 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C87858 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C8785C */ Gambit_fn_02C876EC(cpu);
|
|
L_02C87860: ; // 0x2c87860
|
|
/* 02C87860 */ cpu->r[28] = cpu->r[28] + cpu->r[26];
|
|
L_02C87864: ; // 0x2c87864
|
|
/* 02C87864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[24]);
|
|
/* 02C87868 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87868 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C87868 */ if (_t10) goto L_02C87838; else goto L_02C8786C;
|
|
L_02C8786C: ; // 0x2c8786c
|
|
/* 02C8786C */ cpu->r[23] = cpu->r[23] + cpu->r[26];
|
|
/* 02C87870 */ goto L_02C87828;
|
|
L_02C87874: ; // 0x2c87874
|
|
/* 02C87874 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C87874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C87878 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8787C */ cpu->r[22] = cpu->r[31];
|
|
/* 02C87880 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87880 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C87880 */ if (_t12) goto L_02C87888; else goto L_02C87884;
|
|
L_02C87884: ; // 0x2c87884
|
|
/* 02C87884 */ cpu->r[12] = cpu->r[26];
|
|
L_02C87888: ; // 0x2c87888
|
|
/* 02C87888 */ cpu->r[12] = cpu->r[24] + cpu->r[12];
|
|
/* 02C8788C */ cpu->r[12] = cpu->r[12] - cpu->r[31];
|
|
/* 02C87890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000024u);
|
|
/* 02C87894 */ /* nop */
|
|
/* 02C87898 */ cpu->r[30] = cpu->r[29];
|
|
/* 02C8789C */ cpu->r[20] = cpu->r[31] + cpu->r[12];
|
|
/* 02C878A0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C878A0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C878A0 */ if (_t14) goto L_02C878FC; else goto L_02C878A4;
|
|
L_02C878A4: ; // 0x2c878a4
|
|
/* 02C878A4 */ /* nop */
|
|
/* 02C878A8 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C878AC */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[26]);
|
|
/* 02C878B0 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C878B4 */ cpu->r[28] = rbrew_rlwinm(cpu->r[23], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C878B8 */ cpu->r[4] = cpu->r[22] + cpu->r[23];
|
|
/* 02C878BC */ cpu->r[6] = cpu->r[27];
|
|
/* 02C878C0 */ cpu->r[5] = cpu->r[22] + cpu->r[28];
|
|
/* 02C878C4 */ Gambit_fn_02C8774C(cpu);
|
|
/* 02C878C8 */ cpu->r[22] = cpu->r[3];
|
|
/* 02C878CC */ cpu->r[3] = cpu->r[20] - cpu->r[23];
|
|
/* 02C878D0 */ cpu->r[4] = cpu->r[20];
|
|
/* 02C878D4 */ cpu->r[5] = cpu->r[20] + cpu->r[23];
|
|
/* 02C878D8 */ cpu->r[6] = cpu->r[27];
|
|
/* 02C878DC */ Gambit_fn_02C8774C(cpu);
|
|
/* 02C878E0 */ cpu->r[20] = cpu->r[3];
|
|
/* 02C878E4 */ cpu->r[3] = cpu->r[30] - cpu->r[28];
|
|
/* 02C878E8 */ cpu->r[4] = cpu->r[30] - cpu->r[23];
|
|
/* 02C878EC */ cpu->r[5] = cpu->r[30];
|
|
/* 02C878F0 */ cpu->r[6] = cpu->r[27];
|
|
/* 02C878F4 */ Gambit_fn_02C8774C(cpu);
|
|
/* 02C878F8 */ cpu->r[30] = cpu->r[3];
|
|
L_02C878FC: ; // 0x2c878fc
|
|
/* 02C878FC */ cpu->r[6] = cpu->r[27];
|
|
/* 02C87900 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C87904 */ cpu->r[4] = cpu->r[20];
|
|
/* 02C87908 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C8790C */ Gambit_fn_02C8774C(cpu);
|
|
/* 02C87910 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C87914 */ cpu->r[23] = cpu->r[31];
|
|
/* 02C87918 */ cpu->r[28] = cpu->r[29];
|
|
/* 02C8791C */ goto L_02C879AC;
|
|
L_02C87920: ; // 0x2c87920
|
|
/* 02C87920 */ cpu->r[23] = cpu->r[23] + cpu->r[26];
|
|
L_02C87924: ; // 0x2c87924
|
|
/* 02C87924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[30]);
|
|
/* 02C87928 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87928 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C87928 */ if (_t16) goto L_02C8792C; else goto L_02C8794C;
|
|
L_02C8792C: ; // 0x2c8792c
|
|
/* 02C8792C */ cpu->ctr = cpu->r[27];
|
|
/* 02C87930 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C87934 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C87938 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C8793C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C87940 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87940 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C87940 */ if (_t18) goto L_02C87944; else goto L_02C87920;
|
|
L_02C87944: ; // 0x2c87944
|
|
/* 02C87944 */ goto L_02C8794C;
|
|
L_02C87948: ; // 0x2c87948
|
|
/* 02C87948 */ cpu->r[28] = cpu->r[28] - cpu->r[26];
|
|
L_02C8794C: ; // 0x2c8794c
|
|
/* 02C8794C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[28]);
|
|
/* 02C87950 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87950 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C87950 */ if (_t20) goto L_02C87954; else goto L_02C8796C;
|
|
L_02C87954: ; // 0x2c87954
|
|
/* 02C87954 */ cpu->ctr = cpu->r[27];
|
|
/* 02C87958 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C8795C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87960 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C87964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C87968 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87968 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C87968 */ if (_t22) goto L_02C8796C; else goto L_02C87948;
|
|
L_02C8796C: ; // 0x2c8796c
|
|
/* 02C8796C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[28]);
|
|
/* 02C87970 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87970 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C87970 */ if (_t24) goto L_02C879AC; else goto L_02C87974;
|
|
L_02C87974: ; // 0x2c87974
|
|
/* 02C87974 */ cpu->r[5] = cpu->r[26];
|
|
/* 02C87978 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C8797C */ cpu->r[3] = cpu->r[23];
|
|
/* 02C87980 */ Gambit_fn_02C876EC(cpu);
|
|
/* 02C87984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[30]);
|
|
/* 02C87988 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87988 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C87988 */ if (_t26) goto L_02C8798C; else goto L_02C87994;
|
|
L_02C8798C: ; // 0x2c8798c
|
|
/* 02C8798C */ cpu->r[30] = cpu->r[28];
|
|
/* 02C87990 */ goto L_02C879A8;
|
|
L_02C87994: ; // 0x2c87994
|
|
/* 02C87994 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02C87998 */ cpu->r[28] = cpu->r[28] - cpu->r[26];
|
|
/* 02C8799C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8799C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C8799C */ if (_t28) goto L_02C879A0; else goto L_02C879A8;
|
|
L_02C879A0: ; // 0x2c879a0
|
|
/* 02C879A0 */ cpu->r[30] = cpu->r[23];
|
|
/* 02C879A4 */ goto L_02C879AC;
|
|
L_02C879A8: ; // 0x2c879a8
|
|
/* 02C879A8 */ cpu->r[23] = cpu->r[23] + cpu->r[26];
|
|
L_02C879AC: ; // 0x2c879ac
|
|
/* 02C879AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[28]);
|
|
/* 02C879B0 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C879B0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C879B0 */ if (_t30) goto L_02C87924; else goto L_02C879B4;
|
|
L_02C879B4: ; // 0x2c879b4
|
|
/* 02C879B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[21]);
|
|
/* 02C879B8 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C879B8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C879B8 */ if (_t32) goto L_02C879CC; else goto L_02C879BC;
|
|
L_02C879BC: ; // 0x2c879bc
|
|
/* 02C879BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 02C879C0 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C879C0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C879C0 */ if (_t34) goto L_02C879C4; else goto L_02C87A1C;
|
|
L_02C879C4: ; // 0x2c879c4
|
|
/* 02C879C4 */ cpu->r[31] = cpu->r[30] + cpu->r[26];
|
|
/* 02C879C8 */ goto L_02C8780C;
|
|
L_02C879CC: ; // 0x2c879cc
|
|
/* 02C879CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 02C879D0 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C879D0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C879D0 */ if (_t36) goto L_02C879D4; else goto L_02C87A14;
|
|
L_02C879D4: ; // 0x2c879d4
|
|
/* 02C879D4 */ cpu->r[12] = cpu->r[30] + cpu->r[26];
|
|
/* 02C879D8 */ cpu->r[11] = cpu->r[30] - cpu->r[31];
|
|
/* 02C879DC */ cpu->r[9] = cpu->r[29] - cpu->r[12];
|
|
/* 02C879E0 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C879E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[11]);
|
|
/* 02C879E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[25], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C879EC */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C879EC */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C879EC */ if (_t38) goto L_02C879F0; else goto L_02C87A04;
|
|
L_02C879F0: ; // 0x2c879f0
|
|
/* 02C879F0 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C879F4 */ _t39 = cpu->r[11] + cpu->r[10];
|
|
/* 02C879F4 */ rbrew_write32(cpu->mem, _t39, cpu->r[31]);
|
|
/* 02C879F4 */ cpu->r[11] = _t39;
|
|
/* 02C879F8 */ cpu->r[31] = cpu->r[12];
|
|
/* 02C879FC */ _t40 = cpu->r[11] + 0x00000004u;
|
|
/* 02C879FC */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 02C87A00 */ goto L_02C8780C;
|
|
L_02C87A04: ; // 0x2c87a04
|
|
/* 02C87A04 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C87A08 */ _t41 = cpu->r[11] + cpu->r[10];
|
|
/* 02C87A08 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 02C87A0C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02C87A10 */ _t42 = cpu->r[12] + 0x00000004u;
|
|
/* 02C87A10 */ rbrew_write32(cpu->mem, _t42, cpu->r[24]);
|
|
L_02C87A14: ; // 0x2c87a14
|
|
/* 02C87A14 */ cpu->r[24] = cpu->r[30];
|
|
/* 02C87A18 */ goto L_02C8780C;
|
|
L_02C87A1C: ; // 0x2c87a1c
|
|
/* 02C87A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C87A20 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87A20 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C87A20 */ if (_t44) goto L_02C87A40; else goto L_02C87A24;
|
|
L_02C87A24: ; // 0x2c87a24
|
|
/* 02C87A24 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C87A28 */ cpu->r[10] = rbrew_rlwinm(cpu->r[25], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C87A2C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02C87A30 */ _t45 = cpu->r[11] + cpu->r[10];
|
|
/* 02C87A30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C87A34 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C87A38 */ _t46 = cpu->r[12] + 0x00000004u;
|
|
/* 02C87A38 */ cpu->r[24] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C87A3C */ goto L_02C8780C;
|
|
L_02C87A40: ; // 0x2c87a40
|
|
/* 02C87A40 */ cpu->r[11] = cpu->r[1] + 0x00000138u;
|
|
/* 02C87A44 */ goto L_02C8A568;
|
|
L_02C8A568: ; // 0x2c8a568
|
|
/* 02C8A568 */ _t47 = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C8A568 */ cpu->r[20] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C8A56C */ _t48 = cpu->r[11] + 0xFFFFFFD4u;
|
|
/* 02C8A56C */ cpu->r[21] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C8A570 */ _t49 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A570 */ cpu->r[22] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C8A574 */ _t50 = cpu->r[11] + 0xFFFFFFDCu;
|
|
/* 02C8A574 */ cpu->r[23] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C8A578 */ _t51 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A578 */ cpu->r[24] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C8A57C */ _t52 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C8A580 */ _t53 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C8A584 */ _t54 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C8A588 */ _t55 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C8A58C */ _t56 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C8A590 */ _t57 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C8A594 */ _t58 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C8A598 */ _t59 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C877E4 @ 0x2c877e4
|
|
void Gambit_fn_02C877E4(CPUState* 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;
|
|
|
|
L_02C877E4: ; // 0x2c877e4
|
|
/* 02C877E4 */ _t0 = cpu->r[1] + 0xFFFFFEC8u;
|
|
/* 02C877E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C877E4 */ cpu->r[1] = _t0;
|
|
/* 02C877E8 */ Gambit_fn_02C8A510(cpu);
|
|
/* 02C877EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C877F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C877F4 */ cpu->r[27] = cpu->r[6];
|
|
/* 02C877F8 */ cpu->r[26] = cpu->r[5];
|
|
/* 02C877FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C877FC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C877FC */ if (_t2) goto L_02C87A40; else goto L_02C87800;
|
|
L_02C87800: ; // 0x2c87800
|
|
/* 02C87800 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)cpu->r[26]);
|
|
/* 02C87804 */ cpu->r[25] = 0xFFFFFFFFu;
|
|
/* 02C87808 */ cpu->r[24] = cpu->r[31] + cpu->r[12];
|
|
L_02C8780C: ; // 0x2c8780c
|
|
/* 02C8780C */ cpu->r[12] = cpu->r[24] - cpu->r[31];
|
|
/* 02C87810 */ cpu->r[10] = cpu->r[12] / cpu->r[26];
|
|
/* 02C87814 */ cpu->r[21] = cpu->r[31] + cpu->r[26];
|
|
/* 02C87818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000006u);
|
|
/* 02C8781C */ cpu->r[29] = cpu->r[24] - cpu->r[26];
|
|
/* 02C87820 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87820 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C87820 */ if (_t4) goto L_02C87824; else goto L_02C87874;
|
|
L_02C87824: ; // 0x2c87824
|
|
/* 02C87824 */ cpu->r[23] = cpu->r[31];
|
|
L_02C87828: ; // 0x2c87828
|
|
/* 02C87828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[29]);
|
|
/* 02C8782C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8782C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C8782C */ if (_t6) goto L_02C87830; else goto L_02C87A1C;
|
|
L_02C87830: ; // 0x2c87830
|
|
/* 02C87830 */ cpu->r[28] = cpu->r[23] + cpu->r[26];
|
|
/* 02C87834 */ goto L_02C87864;
|
|
L_02C87838: ; // 0x2c87838
|
|
/* 02C87838 */ cpu->ctr = cpu->r[27];
|
|
/* 02C8783C */ cpu->r[4] = cpu->r[28];
|
|
/* 02C87840 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C87844 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C87848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C8784C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8784C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C8784C */ if (_t8) goto L_02C87850; else goto L_02C87860;
|
|
L_02C87850: ; // 0x2c87850
|
|
/* 02C87850 */ cpu->r[5] = cpu->r[26];
|
|
/* 02C87854 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C87858 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C8785C */ Gambit_fn_02C876EC(cpu);
|
|
L_02C87860: ; // 0x2c87860
|
|
/* 02C87860 */ cpu->r[28] = cpu->r[28] + cpu->r[26];
|
|
L_02C87864: ; // 0x2c87864
|
|
/* 02C87864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[24]);
|
|
/* 02C87868 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87868 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C87868 */ if (_t10) goto L_02C87838; else goto L_02C8786C;
|
|
L_02C8786C: ; // 0x2c8786c
|
|
/* 02C8786C */ cpu->r[23] = cpu->r[23] + cpu->r[26];
|
|
/* 02C87870 */ goto L_02C87828;
|
|
L_02C87874: ; // 0x2c87874
|
|
/* 02C87874 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C87874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C87878 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C8787C */ cpu->r[22] = cpu->r[31];
|
|
/* 02C87880 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87880 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C87880 */ if (_t12) goto L_02C87888; else goto L_02C87884;
|
|
L_02C87884: ; // 0x2c87884
|
|
/* 02C87884 */ cpu->r[12] = cpu->r[26];
|
|
L_02C87888: ; // 0x2c87888
|
|
/* 02C87888 */ cpu->r[12] = cpu->r[24] + cpu->r[12];
|
|
/* 02C8788C */ cpu->r[12] = cpu->r[12] - cpu->r[31];
|
|
/* 02C87890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000024u);
|
|
/* 02C87894 */ /* nop */
|
|
/* 02C87898 */ cpu->r[30] = cpu->r[29];
|
|
/* 02C8789C */ cpu->r[20] = cpu->r[31] + cpu->r[12];
|
|
/* 02C878A0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C878A0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C878A0 */ if (_t14) goto L_02C878FC; else goto L_02C878A4;
|
|
L_02C878A4: ; // 0x2c878a4
|
|
/* 02C878A4 */ /* nop */
|
|
/* 02C878A8 */ cpu->r[12] = cpu->r[12];
|
|
/* 02C878AC */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[26]);
|
|
/* 02C878B0 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C878B4 */ cpu->r[28] = rbrew_rlwinm(cpu->r[23], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C878B8 */ cpu->r[4] = cpu->r[22] + cpu->r[23];
|
|
/* 02C878BC */ cpu->r[6] = cpu->r[27];
|
|
/* 02C878C0 */ cpu->r[5] = cpu->r[22] + cpu->r[28];
|
|
/* 02C878C4 */ Gambit_fn_02C8774C(cpu);
|
|
/* 02C878C8 */ cpu->r[22] = cpu->r[3];
|
|
/* 02C878CC */ cpu->r[3] = cpu->r[20] - cpu->r[23];
|
|
/* 02C878D0 */ cpu->r[4] = cpu->r[20];
|
|
/* 02C878D4 */ cpu->r[5] = cpu->r[20] + cpu->r[23];
|
|
/* 02C878D8 */ cpu->r[6] = cpu->r[27];
|
|
/* 02C878DC */ Gambit_fn_02C8774C(cpu);
|
|
/* 02C878E0 */ cpu->r[20] = cpu->r[3];
|
|
/* 02C878E4 */ cpu->r[3] = cpu->r[30] - cpu->r[28];
|
|
/* 02C878E8 */ cpu->r[4] = cpu->r[30] - cpu->r[23];
|
|
/* 02C878EC */ cpu->r[5] = cpu->r[30];
|
|
/* 02C878F0 */ cpu->r[6] = cpu->r[27];
|
|
/* 02C878F4 */ Gambit_fn_02C8774C(cpu);
|
|
/* 02C878F8 */ cpu->r[30] = cpu->r[3];
|
|
L_02C878FC: ; // 0x2c878fc
|
|
/* 02C878FC */ cpu->r[6] = cpu->r[27];
|
|
/* 02C87900 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C87904 */ cpu->r[4] = cpu->r[20];
|
|
/* 02C87908 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C8790C */ Gambit_fn_02C8774C(cpu);
|
|
/* 02C87910 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C87914 */ cpu->r[23] = cpu->r[31];
|
|
/* 02C87918 */ cpu->r[28] = cpu->r[29];
|
|
/* 02C8791C */ goto L_02C879AC;
|
|
L_02C87920: ; // 0x2c87920
|
|
/* 02C87920 */ cpu->r[23] = cpu->r[23] + cpu->r[26];
|
|
L_02C87924: ; // 0x2c87924
|
|
/* 02C87924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[30]);
|
|
/* 02C87928 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87928 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C87928 */ if (_t16) goto L_02C8792C; else goto L_02C8794C;
|
|
L_02C8792C: ; // 0x2c8792c
|
|
/* 02C8792C */ cpu->ctr = cpu->r[27];
|
|
/* 02C87930 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C87934 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C87938 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C8793C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C87940 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87940 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C87940 */ if (_t18) goto L_02C87944; else goto L_02C87920;
|
|
L_02C87944: ; // 0x2c87944
|
|
/* 02C87944 */ goto L_02C8794C;
|
|
L_02C87948: ; // 0x2c87948
|
|
/* 02C87948 */ cpu->r[28] = cpu->r[28] - cpu->r[26];
|
|
L_02C8794C: ; // 0x2c8794c
|
|
/* 02C8794C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[28]);
|
|
/* 02C87950 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87950 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C87950 */ if (_t20) goto L_02C87954; else goto L_02C8796C;
|
|
L_02C87954: ; // 0x2c87954
|
|
/* 02C87954 */ cpu->ctr = cpu->r[27];
|
|
/* 02C87958 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C8795C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87960 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C87964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C87968 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87968 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C87968 */ if (_t22) goto L_02C8796C; else goto L_02C87948;
|
|
L_02C8796C: ; // 0x2c8796c
|
|
/* 02C8796C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[28]);
|
|
/* 02C87970 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87970 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C87970 */ if (_t24) goto L_02C879AC; else goto L_02C87974;
|
|
L_02C87974: ; // 0x2c87974
|
|
/* 02C87974 */ cpu->r[5] = cpu->r[26];
|
|
/* 02C87978 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C8797C */ cpu->r[3] = cpu->r[23];
|
|
/* 02C87980 */ Gambit_fn_02C876EC(cpu);
|
|
/* 02C87984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[30]);
|
|
/* 02C87988 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87988 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C87988 */ if (_t26) goto L_02C8798C; else goto L_02C87994;
|
|
L_02C8798C: ; // 0x2c8798c
|
|
/* 02C8798C */ cpu->r[30] = cpu->r[28];
|
|
/* 02C87990 */ goto L_02C879A8;
|
|
L_02C87994: ; // 0x2c87994
|
|
/* 02C87994 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02C87998 */ cpu->r[28] = cpu->r[28] - cpu->r[26];
|
|
/* 02C8799C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8799C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C8799C */ if (_t28) goto L_02C879A0; else goto L_02C879A8;
|
|
L_02C879A0: ; // 0x2c879a0
|
|
/* 02C879A0 */ cpu->r[30] = cpu->r[23];
|
|
/* 02C879A4 */ goto L_02C879AC;
|
|
L_02C879A8: ; // 0x2c879a8
|
|
/* 02C879A8 */ cpu->r[23] = cpu->r[23] + cpu->r[26];
|
|
L_02C879AC: ; // 0x2c879ac
|
|
/* 02C879AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[28]);
|
|
/* 02C879B0 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C879B0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C879B0 */ if (_t30) goto L_02C87924; else goto L_02C879B4;
|
|
L_02C879B4: ; // 0x2c879b4
|
|
/* 02C879B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[21]);
|
|
/* 02C879B8 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C879B8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C879B8 */ if (_t32) goto L_02C879CC; else goto L_02C879BC;
|
|
L_02C879BC: ; // 0x2c879bc
|
|
/* 02C879BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 02C879C0 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C879C0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C879C0 */ if (_t34) goto L_02C879C4; else goto L_02C87A1C;
|
|
L_02C879C4: ; // 0x2c879c4
|
|
/* 02C879C4 */ cpu->r[31] = cpu->r[30] + cpu->r[26];
|
|
/* 02C879C8 */ goto L_02C8780C;
|
|
L_02C879CC: ; // 0x2c879cc
|
|
/* 02C879CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 02C879D0 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C879D0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C879D0 */ if (_t36) goto L_02C879D4; else goto L_02C87A14;
|
|
L_02C879D4: ; // 0x2c879d4
|
|
/* 02C879D4 */ cpu->r[12] = cpu->r[30] + cpu->r[26];
|
|
/* 02C879D8 */ cpu->r[11] = cpu->r[30] - cpu->r[31];
|
|
/* 02C879DC */ cpu->r[9] = cpu->r[29] - cpu->r[12];
|
|
/* 02C879E0 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C879E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[11]);
|
|
/* 02C879E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[25], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C879EC */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C879EC */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C879EC */ if (_t38) goto L_02C879F0; else goto L_02C87A04;
|
|
L_02C879F0: ; // 0x2c879f0
|
|
/* 02C879F0 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C879F4 */ _t39 = cpu->r[11] + cpu->r[10];
|
|
/* 02C879F4 */ rbrew_write32(cpu->mem, _t39, cpu->r[31]);
|
|
/* 02C879F4 */ cpu->r[11] = _t39;
|
|
/* 02C879F8 */ cpu->r[31] = cpu->r[12];
|
|
/* 02C879FC */ _t40 = cpu->r[11] + 0x00000004u;
|
|
/* 02C879FC */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 02C87A00 */ goto L_02C8780C;
|
|
L_02C87A04: ; // 0x2c87a04
|
|
/* 02C87A04 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C87A08 */ _t41 = cpu->r[11] + cpu->r[10];
|
|
/* 02C87A08 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 02C87A0C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02C87A10 */ _t42 = cpu->r[12] + 0x00000004u;
|
|
/* 02C87A10 */ rbrew_write32(cpu->mem, _t42, cpu->r[24]);
|
|
L_02C87A14: ; // 0x2c87a14
|
|
/* 02C87A14 */ cpu->r[24] = cpu->r[30];
|
|
/* 02C87A18 */ goto L_02C8780C;
|
|
L_02C87A1C: ; // 0x2c87a1c
|
|
/* 02C87A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C87A20 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87A20 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C87A20 */ if (_t44) goto L_02C87A40; else goto L_02C87A24;
|
|
L_02C87A24: ; // 0x2c87a24
|
|
/* 02C87A24 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C87A28 */ cpu->r[10] = rbrew_rlwinm(cpu->r[25], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C87A2C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02C87A30 */ _t45 = cpu->r[11] + cpu->r[10];
|
|
/* 02C87A30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C87A34 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C87A38 */ _t46 = cpu->r[12] + 0x00000004u;
|
|
/* 02C87A38 */ cpu->r[24] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C87A3C */ goto L_02C8780C;
|
|
L_02C87A40: ; // 0x2c87a40
|
|
/* 02C87A40 */ cpu->r[11] = cpu->r[1] + 0x00000138u;
|
|
/* 02C87A44 */ goto L_02C8A568;
|
|
L_02C8A568: ; // 0x2c8a568
|
|
/* 02C8A568 */ _t47 = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C8A568 */ cpu->r[20] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C8A56C */ _t48 = cpu->r[11] + 0xFFFFFFD4u;
|
|
/* 02C8A56C */ cpu->r[21] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C8A570 */ _t49 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A570 */ cpu->r[22] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C8A574 */ _t50 = cpu->r[11] + 0xFFFFFFDCu;
|
|
/* 02C8A574 */ cpu->r[23] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C8A578 */ _t51 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A578 */ cpu->r[24] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C8A57C */ _t52 = cpu->r[11] + 0xFFFFFFE4u;
|
|
/* 02C8A57C */ cpu->r[25] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C8A580 */ _t53 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C8A584 */ _t54 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02C8A584 */ cpu->r[27] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C8A588 */ _t55 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C8A58C */ _t56 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C8A590 */ _t57 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C8A594 */ _t58 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C8A598 */ _t59 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C87A48 @ 0x2c87a48
|
|
void Gambit_fn_02C87A48(CPUState* 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;
|
|
|
|
L_02C872D8: ; // 0x2c872d8
|
|
/* 02C872D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C872DC */ Gambit_fn_02C8A14C(cpu);
|
|
/* 02C872E0 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C872E4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C872E8 */ cpu->r[9] = cpu->r[12];
|
|
/* 02C872EC */ goto L_02C872F4;
|
|
L_02C872F0: ; // 0x2c872f0
|
|
/* 02C872F0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
L_02C872F4: ; // 0x2c872f4
|
|
/* 02C872F4 */ _t0 = cpu->r[12] + 0x00000000u;
|
|
/* 02C872F4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C872F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000020u);
|
|
/* 02C872FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C872FC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C872FC */ if (_t2) goto L_02C872F0; else goto L_02C87300;
|
|
L_02C87300: ; // 0x2c87300
|
|
/* 02C87300 */ cpu->r[11] = cpu->r[10] + 0xFFFFFFF8u;
|
|
/* 02C87304 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
|
|
/* 02C87308 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87308 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C87308 */ if (_t4) goto L_02C872F0; else goto L_02C8730C;
|
|
L_02C8730C: ; // 0x2c8730c
|
|
/* 02C8730C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000002Du);
|
|
/* 02C87310 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87310 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C87310 */ if (_t6) goto L_02C87314; else goto L_02C8731C;
|
|
L_02C87314: ; // 0x2c87314
|
|
/* 02C87314 */ cpu->r[31] = 0x00000001u;
|
|
/* 02C87318 */ goto L_02C87324;
|
|
L_02C8731C: ; // 0x2c8731c
|
|
/* 02C8731C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000002Bu);
|
|
/* 02C87320 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87320 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C87320 */ if (_t8) goto L_02C87324; else goto L_02C87328;
|
|
L_02C87324: ; // 0x2c87324
|
|
/* 02C87324 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
L_02C87328: ; // 0x2c87328
|
|
/* 02C87328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C8732C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8732C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C8732C */ if (_t10) goto L_02C87330; else goto L_02C8736C;
|
|
L_02C87330: ; // 0x2c87330
|
|
/* 02C87330 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02C87330 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C87334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000030u);
|
|
/* 02C87338 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87338 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C87338 */ if (_t13) goto L_02C8733C; else goto L_02C87364;
|
|
L_02C8733C: ; // 0x2c8733c
|
|
/* 02C8733C */ _t14 = cpu->r[12] + 0x00000001u;
|
|
/* 02C8733C */ cpu->r[11] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C87340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000078u);
|
|
/* 02C87344 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87344 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C87344 */ if (_t16) goto L_02C87350; else goto L_02C87348;
|
|
L_02C87348: ; // 0x2c87348
|
|
/* 02C87348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000058u);
|
|
/* 02C8734C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8734C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C8734C */ if (_t18) goto L_02C87350; else goto L_02C8735C;
|
|
L_02C87350: ; // 0x2c87350
|
|
/* 02C87350 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
/* 02C87354 */ cpu->r[5] = 0x00000010u;
|
|
/* 02C87358 */ goto L_02C873C0;
|
|
L_02C8735C: ; // 0x2c8735c
|
|
/* 02C8735C */ cpu->r[5] = 0x00000008u;
|
|
/* 02C87360 */ goto L_02C873C0;
|
|
L_02C87364: ; // 0x2c87364
|
|
/* 02C87364 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C87368 */ goto L_02C873C0;
|
|
L_02C8736C: ; // 0x2c8736c
|
|
/* 02C8736C */ cpu->r[11] = cpu->r[5] + 0xFFFFFFFEu;
|
|
/* 02C87370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000023u);
|
|
/* 02C87374 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87374 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C87374 */ if (_t20) goto L_02C87394; else goto L_02C87378;
|
|
L_02C87378: ; // 0x2c87378
|
|
/* 02C87378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C8737C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8737C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C8737C */ if (_t22) goto L_02C87384; else goto L_02C87380;
|
|
L_02C87380: ; // 0x2c87380
|
|
/* 02C87380 */ _t23 = cpu->r[4] + 0x00000000u;
|
|
/* 02C87380 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
L_02C87384: ; // 0x2c87384
|
|
/* 02C87384 */ cpu->r[3] = 0x00000016u;
|
|
/* 02C87388 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C8738C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C87390 */ goto L_02C874A0;
|
|
L_02C87394: ; // 0x2c87394
|
|
/* 02C87394 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02C87394 */ cpu->r[11] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C87398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000030u);
|
|
/* 02C8739C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8739C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C8739C */ if (_t26) goto L_02C873A0; else goto L_02C873C0;
|
|
L_02C873A0: ; // 0x2c873a0
|
|
/* 02C873A0 */ _t27 = cpu->r[12] + 0x00000001u;
|
|
/* 02C873A0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02C873A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000078u);
|
|
/* 02C873A8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C873A8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C873A8 */ if (_t29) goto L_02C873B4; else goto L_02C873AC;
|
|
L_02C873AC: ; // 0x2c873ac
|
|
/* 02C873AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000058u);
|
|
/* 02C873B0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C873B0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C873B0 */ if (_t31) goto L_02C873B4; else goto L_02C873C0;
|
|
L_02C873B4: ; // 0x2c873b4
|
|
/* 02C873B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000010u);
|
|
/* 02C873B8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C873B8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C873B8 */ if (_t33) goto L_02C873BC; else goto L_02C873C0;
|
|
L_02C873BC: ; // 0x2c873bc
|
|
/* 02C873BC */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
L_02C873C0: ; // 0x2c873c0
|
|
/* 02C873C0 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02C873C4 */ cpu->r[10] = cpu->r[12];
|
|
/* 02C873C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C873CC */ cpu->r[6] = cpu->r[11] / cpu->r[5];
|
|
/* 02C873D0 */ cpu->r[7] = cpu->r[3];
|
|
L_02C873D4: ; // 0x2c873d4
|
|
/* 02C873D4 */ _t34 = cpu->r[12] + 0x00000000u;
|
|
/* 02C873D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02C873D8 */ cpu->r[11] = cpu->r[8] + 0xFFFFFFD0u;
|
|
/* 02C873DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Au);
|
|
/* 02C873E0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C873E4 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C873E4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C873E4 */ if (_t36) goto L_02C873E8; else goto L_02C873F0;
|
|
L_02C873E8: ; // 0x2c873e8
|
|
/* 02C873E8 */ cpu->r[8] = cpu->r[11];
|
|
/* 02C873EC */ goto L_02C8741C;
|
|
L_02C873F0: ; // 0x2c873f0
|
|
/* 02C873F0 */ cpu->r[11] = cpu->r[8] + 0xFFFFFF9Fu;
|
|
/* 02C873F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000001Au);
|
|
/* 02C873F8 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C873F8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C873F8 */ if (_t38) goto L_02C873FC; else goto L_02C87404;
|
|
L_02C873FC: ; // 0x2c873fc
|
|
/* 02C873FC */ cpu->r[8] = cpu->r[8] + 0xFFFFFFA9u;
|
|
/* 02C87400 */ goto L_02C8741C;
|
|
L_02C87404: ; // 0x2c87404
|
|
/* 02C87404 */ cpu->r[11] = cpu->r[8] + 0xFFFFFFBFu;
|
|
/* 02C87408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000001Au);
|
|
/* 02C8740C */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8740C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C8740C */ if (_t40) goto L_02C87410; else goto L_02C87418;
|
|
L_02C87410: ; // 0x2c87410
|
|
/* 02C87410 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFC9u;
|
|
/* 02C87414 */ goto L_02C8741C;
|
|
L_02C87418: ; // 0x2c87418
|
|
/* 02C87418 */ cpu->r[8] = 0x00000025u;
|
|
L_02C8741C: ; // 0x2c8741c
|
|
/* 02C8741C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[5]);
|
|
/* 02C87420 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87420 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C87420 */ if (_t42) goto L_02C87424; else goto L_02C8743C;
|
|
L_02C87424: ; // 0x2c87424
|
|
/* 02C87424 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[6]);
|
|
/* 02C87428 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87428 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C87428 */ if (_t44) goto L_02C87430; else goto L_02C8742C;
|
|
L_02C8742C: ; // 0x2c8742c
|
|
/* 02C8742C */ cpu->r[7] = 0x00000001u;
|
|
L_02C87430: ; // 0x2c87430
|
|
/* 02C87430 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[3]);
|
|
/* 02C87434 */ cpu->r[3] = cpu->r[11] + cpu->r[8];
|
|
/* 02C87438 */ goto L_02C873D4;
|
|
L_02C8743C: ; // 0x2c8743c
|
|
/* 02C8743C */ cpu->r[11] = cpu->r[10] + 0x00000001u;
|
|
/* 02C87440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02C87444 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87444 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C87444 */ if (_t46) goto L_02C87448; else goto L_02C8744C;
|
|
L_02C87448: ; // 0x2c87448
|
|
/* 02C87448 */ cpu->r[12] = cpu->r[9] + 0x00000001u;
|
|
L_02C8744C: ; // 0x2c8744c
|
|
/* 02C8744C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C87450 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87450 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C87450 */ if (_t48) goto L_02C8745C; else goto L_02C87454;
|
|
L_02C87454: ; // 0x2c87454
|
|
/* 02C87454 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C87458 */ _t49 = cpu->r[4] + 0x00000000u;
|
|
/* 02C87458 */ rbrew_write32(cpu->mem, _t49, cpu->r[12]);
|
|
L_02C8745C: ; // 0x2c8745c
|
|
/* 02C8745C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C87460 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87460 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C87460 */ if (_t51) goto L_02C87464; else goto L_02C87474;
|
|
L_02C87464: ; // 0x2c87464
|
|
/* 02C87464 */ cpu->r[12] = cpu->r[31] + 0x80000000u;
|
|
/* 02C87468 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C8746C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C87470 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87470 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C87470 */ if (_t53) goto L_02C87474; else goto L_02C87494;
|
|
L_02C87474: ; // 0x2c87474
|
|
/* 02C87474 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C87478 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C8747C */ cpu->r[3] = 0x80000000u;
|
|
/* 02C87480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C87484 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C87488 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87488 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C87488 */ if (_t55) goto L_02C874A0; else goto L_02C8748C;
|
|
L_02C8748C: ; // 0x2c8748c
|
|
/* 02C8748C */ cpu->r[3] = 0x80000000u;
|
|
/* 02C87490 */ goto L_02C874A0;
|
|
L_02C87494: ; // 0x2c87494
|
|
/* 02C87494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C87498 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87498 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C87498 */ if (_t57) goto L_02C874A0; else goto L_02C8749C;
|
|
L_02C8749C: ; // 0x2c8749c
|
|
/* 02C8749C */ cpu->r[3] = (uint32_t)(-(int32_t)cpu->r[3]);
|
|
L_02C874A0: ; // 0x2c874a0
|
|
/* 02C874A0 */ goto L_02C8A160;
|
|
L_02C87A48: ; // 0x2c87a48
|
|
/* 02C87A48 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C87A4C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C87A50 */ goto L_02C872D8;
|
|
L_02C8A160: ; // 0x2c8a160
|
|
/* 02C8A160 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8A160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C8A164 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A168 */ /* nop */
|
|
/* 02C8A16C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C8A170 */ return;
|
|
}
|
|
|
|
// fn_02C87A54 @ 0x2c87a54
|
|
void Gambit_fn_02C87A54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C87A54: ; // 0x2c87a54
|
|
/* 02C87A54 */ cpu->r[0] = cpu->lr;
|
|
/* 02C87A58 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C87A5C */ _t0 = cpu->r[1] + 0xFFFFFDE8u;
|
|
/* 02C87A5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C87A5C */ cpu->r[1] = _t0;
|
|
/* 02C87A60 */ Gambit_fn_02C8A530(cpu);
|
|
/* 02C87A64 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C87A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C87A68 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C87A6C */ cpu->r[28] = cpu->r[5];
|
|
/* 02C87A70 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87A70 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C87A70 */ if (_t2) goto L_02C87A74; else goto L_02C87A84;
|
|
L_02C87A74: ; // 0x2c87a74
|
|
/* 02C87A74 */ cpu->r[3] = 0x00000009u;
|
|
/* 02C87A78 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C87A7C */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02C87A80 */ goto L_02C87B44;
|
|
L_02C87A84: ; // 0x2c87a84
|
|
/* 02C87A84 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87A88 */ Gambit_fn_02C86A48(cpu);
|
|
/* 02C87A8C */ _t3 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C87A8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C87A90 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C87A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87A94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87A94 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C87A94 */ if (_t5) goto L_02C87A98; else goto L_02C87AA4;
|
|
L_02C87A98: ; // 0x2c87a98
|
|
/* 02C87A98 */ cpu->r[3] = 0x00000009u;
|
|
/* 02C87A9C */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C87AA0 */ goto L_02C87B38;
|
|
L_02C87AA4: ; // 0x2c87aa4
|
|
/* 02C87AA4 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C87AA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C87AA8 */ cpu->r[29] = rbrew_rlwinm(cpu->r[12], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C87AAC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02C87AAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C87AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87AB4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87AB4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C87AB4 */ if (_t9) goto L_02C87AB8; else goto L_02C87ACC;
|
|
L_02C87AB8: ; // 0x2c87ab8
|
|
/* 02C87AB8 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C87ABC */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 02C87ABC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C87AC0 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 02C87AC0 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02C87AC4 */ cpu->r[12] = 0x00000200u;
|
|
/* 02C87AC8 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02C87AC8 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
L_02C87ACC: ; // 0x2c87acc
|
|
/* 02C87ACC */ cpu->r[4] = 0x02C80000u;
|
|
/* 02C87AD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87AD4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C87AD8 */ cpu->r[4] = cpu->r[4] + 0x00007B50u;
|
|
/* 02C87ADC */ cpu->r[6] = cpu->r[28];
|
|
/* 02C87AE0 */ Gambit_fn_02C84C74(cpu);
|
|
/* 02C87AE4 */ _t13 = cpu->r[30] + 0x00000004u;
|
|
/* 02C87AE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C87AE8 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C87AEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C87AF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C87AF4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87AF4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C87AF4 */ if (_t15) goto L_02C87AF8; else goto L_02C87B0C;
|
|
L_02C87AF8: ; // 0x2c87af8
|
|
/* 02C87AF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87AFC */ Gambit_fn_02C86A98(cpu);
|
|
/* 02C87B00 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C87B04 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87B08 */ Gambit_fn_02C89BA0(cpu);
|
|
L_02C87B0C: ; // 0x2c87b0c
|
|
/* 02C87B0C */ _t16 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C87B0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C87B10 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x0000001Au, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C87B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 02C87B18 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87B18 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C87B18 */ if (_t18) goto L_02C87B1C; else goto L_02C87B24;
|
|
L_02C87B1C: ; // 0x2c87b1c
|
|
/* 02C87B1C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87B20 */ Gambit_fn_02C86A98(cpu);
|
|
L_02C87B24: ; // 0x2c87b24
|
|
/* 02C87B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C87B28 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87B28 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C87B28 */ if (_t20) goto L_02C87B2C; else goto L_02C87B3C;
|
|
L_02C87B2C: ; // 0x2c87b2c
|
|
/* 02C87B2C */ _t21 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C87B2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C87B30 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C87B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87B34 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87B34 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C87B34 */ if (_t23) goto L_02C87B3C; else goto L_02C87B38;
|
|
L_02C87B38: ; // 0x2c87b38
|
|
/* 02C87B38 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
L_02C87B3C: ; // 0x2c87b3c
|
|
/* 02C87B3C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87B40 */ Gambit_fn_02C86A70(cpu);
|
|
L_02C87B44: ; // 0x2c87b44
|
|
/* 02C87B44 */ cpu->r[11] = cpu->r[1] + 0x00000218u;
|
|
/* 02C87B48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C87B4C */ goto L_02C8A588;
|
|
L_02C8A588: ; // 0x2c8a588
|
|
/* 02C8A588 */ _t24 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C8A58C */ _t25 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A590 */ _t26 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A594 */ _t27 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A598 */ _t28 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C87A5C @ 0x2c87a5c
|
|
void Gambit_fn_02C87A5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C87A5C: ; // 0x2c87a5c
|
|
/* 02C87A5C */ _t0 = cpu->r[1] + 0xFFFFFDE8u;
|
|
/* 02C87A5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C87A5C */ cpu->r[1] = _t0;
|
|
/* 02C87A60 */ Gambit_fn_02C8A530(cpu);
|
|
/* 02C87A64 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C87A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C87A68 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C87A6C */ cpu->r[28] = cpu->r[5];
|
|
/* 02C87A70 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87A70 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C87A70 */ if (_t2) goto L_02C87A74; else goto L_02C87A84;
|
|
L_02C87A74: ; // 0x2c87a74
|
|
/* 02C87A74 */ cpu->r[3] = 0x00000009u;
|
|
/* 02C87A78 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C87A7C */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02C87A80 */ goto L_02C87B44;
|
|
L_02C87A84: ; // 0x2c87a84
|
|
/* 02C87A84 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87A88 */ Gambit_fn_02C86A48(cpu);
|
|
/* 02C87A8C */ _t3 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C87A8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C87A90 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C87A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87A94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87A94 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C87A94 */ if (_t5) goto L_02C87A98; else goto L_02C87AA4;
|
|
L_02C87A98: ; // 0x2c87a98
|
|
/* 02C87A98 */ cpu->r[3] = 0x00000009u;
|
|
/* 02C87A9C */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C87AA0 */ goto L_02C87B38;
|
|
L_02C87AA4: ; // 0x2c87aa4
|
|
/* 02C87AA4 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C87AA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C87AA8 */ cpu->r[29] = rbrew_rlwinm(cpu->r[12], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C87AAC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02C87AAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C87AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87AB4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87AB4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C87AB4 */ if (_t9) goto L_02C87AB8; else goto L_02C87ACC;
|
|
L_02C87AB8: ; // 0x2c87ab8
|
|
/* 02C87AB8 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C87ABC */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 02C87ABC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C87AC0 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 02C87AC0 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02C87AC4 */ cpu->r[12] = 0x00000200u;
|
|
/* 02C87AC8 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02C87AC8 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
L_02C87ACC: ; // 0x2c87acc
|
|
/* 02C87ACC */ cpu->r[4] = 0x02C80000u;
|
|
/* 02C87AD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87AD4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C87AD8 */ cpu->r[4] = cpu->r[4] + 0x00007B50u;
|
|
/* 02C87ADC */ cpu->r[6] = cpu->r[28];
|
|
/* 02C87AE0 */ Gambit_fn_02C84C74(cpu);
|
|
/* 02C87AE4 */ _t13 = cpu->r[30] + 0x00000004u;
|
|
/* 02C87AE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C87AE8 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C87AEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C87AF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C87AF4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87AF4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C87AF4 */ if (_t15) goto L_02C87AF8; else goto L_02C87B0C;
|
|
L_02C87AF8: ; // 0x2c87af8
|
|
/* 02C87AF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87AFC */ Gambit_fn_02C86A98(cpu);
|
|
/* 02C87B00 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C87B04 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87B08 */ Gambit_fn_02C89BA0(cpu);
|
|
L_02C87B0C: ; // 0x2c87b0c
|
|
/* 02C87B0C */ _t16 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C87B0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C87B10 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x0000001Au, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C87B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 02C87B18 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87B18 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C87B18 */ if (_t18) goto L_02C87B1C; else goto L_02C87B24;
|
|
L_02C87B1C: ; // 0x2c87b1c
|
|
/* 02C87B1C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87B20 */ Gambit_fn_02C86A98(cpu);
|
|
L_02C87B24: ; // 0x2c87b24
|
|
/* 02C87B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C87B28 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87B28 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C87B28 */ if (_t20) goto L_02C87B2C; else goto L_02C87B3C;
|
|
L_02C87B2C: ; // 0x2c87b2c
|
|
/* 02C87B2C */ _t21 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C87B2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C87B30 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C87B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87B34 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87B34 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C87B34 */ if (_t23) goto L_02C87B3C; else goto L_02C87B38;
|
|
L_02C87B38: ; // 0x2c87b38
|
|
/* 02C87B38 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
L_02C87B3C: ; // 0x2c87b3c
|
|
/* 02C87B3C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C87B40 */ Gambit_fn_02C86A70(cpu);
|
|
L_02C87B44: ; // 0x2c87b44
|
|
/* 02C87B44 */ cpu->r[11] = cpu->r[1] + 0x00000218u;
|
|
/* 02C87B48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C87B4C */ goto L_02C8A588;
|
|
L_02C8A588: ; // 0x2c8a588
|
|
/* 02C8A588 */ _t24 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A588 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C8A58C */ _t25 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C8A58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C8A590 */ _t26 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C8A594 */ _t27 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C8A598 */ _t28 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C87B7C @ 0x2c87b7c
|
|
void Gambit_fn_02C87B7C(CPUState* 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_02C87B7C: ; // 0x2c87b7c
|
|
/* 02C87B7C */ goto L_02C87B8C;
|
|
L_02C87B8C: ; // 0x2c87b8c
|
|
/* 02C87B8C */ cpu->r[0] = cpu->lr;
|
|
/* 02C87B90 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C87B94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C87B94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C87B94 */ cpu->r[1] = _t0;
|
|
/* 02C87B98 */ Gambit_fn_02C8A53C(cpu);
|
|
/* 02C87B9C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C87B9C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[1]);
|
|
/* 02C87BA0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C87BA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C87BA4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C87BA8 */ cpu->r[11] = cpu->r[11] - cpu->r[31];
|
|
/* 02C87BAC */ cpu->r[12] = 0x7FF00000u;
|
|
/* 02C87BB0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000001u, 0x0000000Bu);
|
|
/* 02C87BB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C87BB8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C87BB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C87BBC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87BBC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C87BBC */ if (_t5) goto L_02C87CF4; else goto L_02C87BC0;
|
|
L_02C87BC0: ; // 0x2c87bc0
|
|
/* 02C87BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C87BC4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87BC4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C87BC4 */ if (_t7) goto L_02C87BC8; else goto L_02C87C64;
|
|
L_02C87BC8: ; // 0x2c87bc8
|
|
/* 02C87BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C87BCC */ cpu->r[10] = cpu->r[8];
|
|
/* 02C87BD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87BD0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C87BD0 */ if (_t9) goto L_02C87BFC; else goto L_02C87BD4;
|
|
L_02C87BD4: ; // 0x2c87bd4
|
|
/* 02C87BD4 */ goto L_02C87BE0;
|
|
L_02C87BD8: ; // 0x2c87bd8
|
|
/* 02C87BD8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C87BDC */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C87BE0: ; // 0x2c87be0
|
|
/* 02C87BE0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000000Bu, 0x0000000Bu);
|
|
/* 02C87BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87BE4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87BE4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C87BE4 */ if (_t11) goto L_02C87BD8; else goto L_02C87BE8;
|
|
L_02C87BE8: ; // 0x2c87be8
|
|
/* 02C87BE8 */ cpu->r[12] = 0x00000020u - cpu->r[10];
|
|
/* 02C87BEC */ /* nop */
|
|
/* 02C87BF0 */ /* nop */
|
|
/* 02C87BF4 */ cpu->r[11] = cpu->r[11] | cpu->r[12];
|
|
/* 02C87BF8 */ goto L_02C87C58;
|
|
L_02C87BFC: ; // 0x2c87bfc
|
|
/* 02C87BFC */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Au);
|
|
/* 02C87BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87C00 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87C00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C87C00 */ if (_t13) goto L_02C87C30; else goto L_02C87C04;
|
|
L_02C87C04: ; // 0x2c87c04
|
|
/* 02C87C04 */ cpu->r[11] = 0x80000000u;
|
|
/* 02C87C08 */ cpu->r[10] = 0x00000014u;
|
|
/* 02C87C0C */ goto L_02C87C18;
|
|
L_02C87C10: ; // 0x2c87c10
|
|
/* 02C87C10 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C87C14 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
L_02C87C18: ; // 0x2c87c18
|
|
/* 02C87C18 */ cpu->r[12] = cpu->r[9] & cpu->r[11];
|
|
/* 02C87C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87C1C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87C1C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C87C1C */ if (_t15) goto L_02C87C10; else goto L_02C87C20;
|
|
L_02C87C20: ; // 0x2c87c20
|
|
/* 02C87C20 */ cpu->r[12] = 0x00000020u - cpu->r[10];
|
|
/* 02C87C24 */ /* nop */
|
|
/* 02C87C28 */ /* nop */
|
|
/* 02C87C2C */ goto L_02C87C58;
|
|
L_02C87C30: ; // 0x2c87c30
|
|
/* 02C87C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C87C34 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87C34 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C87C34 */ if (_t17) goto L_02C87CF4; else goto L_02C87C38;
|
|
L_02C87C38: ; // 0x2c87c38
|
|
/* 02C87C38 */ cpu->r[11] = cpu->r[9];
|
|
/* 02C87C3C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C87C40 */ cpu->r[10] = 0x00000020u;
|
|
/* 02C87C44 */ goto L_02C87C50;
|
|
L_02C87C48: ; // 0x2c87c48
|
|
/* 02C87C48 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C87C4C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C87C50: ; // 0x2c87c50
|
|
/* 02C87C50 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000000Bu, 0x0000000Bu);
|
|
/* 02C87C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87C54 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87C54 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C87C54 */ if (_t19) goto L_02C87C48; else goto L_02C87C58;
|
|
L_02C87C58: ; // 0x2c87c58
|
|
/* 02C87C58 */ cpu->r[12] = 0x00000001u - cpu->r[10];
|
|
/* 02C87C5C */ cpu->r[11] = cpu->r[11] ^ 0x00100000u;
|
|
/* 02C87C60 */ cpu->r[3] = cpu->r[3] + cpu->r[12];
|
|
L_02C87C64: ; // 0x2c87c64
|
|
/* 02C87C64 */ cpu->r[11] = cpu->r[11] - cpu->r[8];
|
|
/* 02C87C68 */ /* nop */
|
|
/* 02C87C6C */ cpu->r[8] = cpu->r[8] + cpu->r[3];
|
|
/* 02C87C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000007FFu);
|
|
/* 02C87C74 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87C74 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C87C74 */ if (_t21) goto L_02C87C78; else goto L_02C87C80;
|
|
L_02C87C78: ; // 0x2c87c78
|
|
/* 02C87C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x000007FFu);
|
|
/* 02C87C7C */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87C7C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C87C7C */ if (_t23) goto L_02C87C80; else goto L_02C87C94;
|
|
L_02C87C80: ; // 0x2c87c80
|
|
/* 02C87C80 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C87C84 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C87C88 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C87C8C */ cpu->r[11] = 0x7FF00000u;
|
|
/* 02C87C90 */ goto L_02C87CF4;
|
|
L_02C87C94: ; // 0x2c87c94
|
|
/* 02C87C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C87C98 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87C98 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C87C98 */ if (_t25) goto L_02C87CEC; else goto L_02C87C9C;
|
|
L_02C87C9C: ; // 0x2c87c9c
|
|
/* 02C87C9C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C87CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0xFFFFFFCCu);
|
|
/* 02C87CA4 */ cpu->r[11] = cpu->r[11] | 0x00100000u;
|
|
/* 02C87CA8 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87CA8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C87CA8 */ if (_t27) goto L_02C87CAC; else goto L_02C87CB8;
|
|
L_02C87CAC: ; // 0x2c87cac
|
|
/* 02C87CAC */ cpu->r[9] = 0x00000000u;
|
|
/* 02C87CB0 */ cpu->r[11] = cpu->r[9];
|
|
/* 02C87CB4 */ goto L_02C87CF4;
|
|
L_02C87CB8: ; // 0x2c87cb8
|
|
/* 02C87CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0xFFFFFFE0u);
|
|
/* 02C87CBC */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87CBC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C87CBC */ if (_t29) goto L_02C87CD0; else goto L_02C87CC0;
|
|
L_02C87CC0: ; // 0x2c87cc0
|
|
/* 02C87CC0 */ cpu->r[12] = 0xFFFFFFE0u - cpu->r[8];
|
|
/* 02C87CC4 */ /* nop */
|
|
/* 02C87CC8 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C87CCC */ goto L_02C87CF4;
|
|
L_02C87CD0: ; // 0x2c87cd0
|
|
/* 02C87CD0 */ cpu->r[10] = cpu->r[8] + 0x00000020u;
|
|
/* 02C87CD4 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[8]);
|
|
/* 02C87CD8 */ /* nop */
|
|
/* 02C87CDC */ /* nop */
|
|
/* 02C87CE0 */ /* nop */
|
|
/* 02C87CE4 */ cpu->r[9] = cpu->r[9] | cpu->r[10];
|
|
/* 02C87CE8 */ goto L_02C87CF4;
|
|
L_02C87CEC: ; // 0x2c87cec
|
|
/* 02C87CEC */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000014u, 0x00000000u, 0x0000000Bu);
|
|
/* 02C87CF0 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
L_02C87CF4: ; // 0x2c87cf4
|
|
/* 02C87CF4 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C87CF4 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 02C87CF8 */ cpu->r[11] = cpu->r[11] | cpu->r[31];
|
|
/* 02C87CFC */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C87CFC */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 02C87D00 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C87D04 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C87D04 */ cpu->f[1] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 02C87D08 */ goto L_02C8A594;
|
|
L_02C8A594: ; // 0x2c8a594
|
|
/* 02C8A594 */ _t33 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C8A598 */ _t34 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C87B80 @ 0x2c87b80
|
|
void Gambit_fn_02C87B80(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C87B80: ; // 0x2c87b80
|
|
/* 02C87B80 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C87B84 */ _t0 = cpu->r[12] + 0x00004710u;
|
|
/* 02C87B84 */ cpu->f[1] = rbrew_read_f64(cpu->mem, _t0);
|
|
/* 02C87B88 */ return;
|
|
}
|
|
|
|
// fn_02C87B8C @ 0x2c87b8c
|
|
void Gambit_fn_02C87B8C(CPUState* 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_02C87B8C: ; // 0x2c87b8c
|
|
/* 02C87B8C */ cpu->r[0] = cpu->lr;
|
|
/* 02C87B90 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C87B94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C87B94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C87B94 */ cpu->r[1] = _t0;
|
|
/* 02C87B98 */ Gambit_fn_02C8A53C(cpu);
|
|
/* 02C87B9C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C87B9C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[1]);
|
|
/* 02C87BA0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C87BA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C87BA4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C87BA8 */ cpu->r[11] = cpu->r[11] - cpu->r[31];
|
|
/* 02C87BAC */ cpu->r[12] = 0x7FF00000u;
|
|
/* 02C87BB0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000001u, 0x0000000Bu);
|
|
/* 02C87BB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C87BB8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C87BB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C87BBC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87BBC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C87BBC */ if (_t5) goto L_02C87CF4; else goto L_02C87BC0;
|
|
L_02C87BC0: ; // 0x2c87bc0
|
|
/* 02C87BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C87BC4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87BC4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C87BC4 */ if (_t7) goto L_02C87BC8; else goto L_02C87C64;
|
|
L_02C87BC8: ; // 0x2c87bc8
|
|
/* 02C87BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C87BCC */ cpu->r[10] = cpu->r[8];
|
|
/* 02C87BD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87BD0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C87BD0 */ if (_t9) goto L_02C87BFC; else goto L_02C87BD4;
|
|
L_02C87BD4: ; // 0x2c87bd4
|
|
/* 02C87BD4 */ goto L_02C87BE0;
|
|
L_02C87BD8: ; // 0x2c87bd8
|
|
/* 02C87BD8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C87BDC */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C87BE0: ; // 0x2c87be0
|
|
/* 02C87BE0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000000Bu, 0x0000000Bu);
|
|
/* 02C87BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87BE4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87BE4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C87BE4 */ if (_t11) goto L_02C87BD8; else goto L_02C87BE8;
|
|
L_02C87BE8: ; // 0x2c87be8
|
|
/* 02C87BE8 */ cpu->r[12] = 0x00000020u - cpu->r[10];
|
|
/* 02C87BEC */ /* nop */
|
|
/* 02C87BF0 */ /* nop */
|
|
/* 02C87BF4 */ cpu->r[11] = cpu->r[11] | cpu->r[12];
|
|
/* 02C87BF8 */ goto L_02C87C58;
|
|
L_02C87BFC: ; // 0x2c87bfc
|
|
/* 02C87BFC */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Au);
|
|
/* 02C87BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87C00 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87C00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C87C00 */ if (_t13) goto L_02C87C30; else goto L_02C87C04;
|
|
L_02C87C04: ; // 0x2c87c04
|
|
/* 02C87C04 */ cpu->r[11] = 0x80000000u;
|
|
/* 02C87C08 */ cpu->r[10] = 0x00000014u;
|
|
/* 02C87C0C */ goto L_02C87C18;
|
|
L_02C87C10: ; // 0x2c87c10
|
|
/* 02C87C10 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C87C14 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
L_02C87C18: ; // 0x2c87c18
|
|
/* 02C87C18 */ cpu->r[12] = cpu->r[9] & cpu->r[11];
|
|
/* 02C87C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87C1C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87C1C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C87C1C */ if (_t15) goto L_02C87C10; else goto L_02C87C20;
|
|
L_02C87C20: ; // 0x2c87c20
|
|
/* 02C87C20 */ cpu->r[12] = 0x00000020u - cpu->r[10];
|
|
/* 02C87C24 */ /* nop */
|
|
/* 02C87C28 */ /* nop */
|
|
/* 02C87C2C */ goto L_02C87C58;
|
|
L_02C87C30: ; // 0x2c87c30
|
|
/* 02C87C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C87C34 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87C34 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C87C34 */ if (_t17) goto L_02C87CF4; else goto L_02C87C38;
|
|
L_02C87C38: ; // 0x2c87c38
|
|
/* 02C87C38 */ cpu->r[11] = cpu->r[9];
|
|
/* 02C87C3C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C87C40 */ cpu->r[10] = 0x00000020u;
|
|
/* 02C87C44 */ goto L_02C87C50;
|
|
L_02C87C48: ; // 0x2c87c48
|
|
/* 02C87C48 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C87C4C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C87C50: ; // 0x2c87c50
|
|
/* 02C87C50 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000000Bu, 0x0000000Bu);
|
|
/* 02C87C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87C54 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87C54 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C87C54 */ if (_t19) goto L_02C87C48; else goto L_02C87C58;
|
|
L_02C87C58: ; // 0x2c87c58
|
|
/* 02C87C58 */ cpu->r[12] = 0x00000001u - cpu->r[10];
|
|
/* 02C87C5C */ cpu->r[11] = cpu->r[11] ^ 0x00100000u;
|
|
/* 02C87C60 */ cpu->r[3] = cpu->r[3] + cpu->r[12];
|
|
L_02C87C64: ; // 0x2c87c64
|
|
/* 02C87C64 */ cpu->r[11] = cpu->r[11] - cpu->r[8];
|
|
/* 02C87C68 */ /* nop */
|
|
/* 02C87C6C */ cpu->r[8] = cpu->r[8] + cpu->r[3];
|
|
/* 02C87C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000007FFu);
|
|
/* 02C87C74 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87C74 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C87C74 */ if (_t21) goto L_02C87C78; else goto L_02C87C80;
|
|
L_02C87C78: ; // 0x2c87c78
|
|
/* 02C87C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x000007FFu);
|
|
/* 02C87C7C */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87C7C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C87C7C */ if (_t23) goto L_02C87C80; else goto L_02C87C94;
|
|
L_02C87C80: ; // 0x2c87c80
|
|
/* 02C87C80 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C87C84 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C87C88 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C87C8C */ cpu->r[11] = 0x7FF00000u;
|
|
/* 02C87C90 */ goto L_02C87CF4;
|
|
L_02C87C94: ; // 0x2c87c94
|
|
/* 02C87C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C87C98 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87C98 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C87C98 */ if (_t25) goto L_02C87CEC; else goto L_02C87C9C;
|
|
L_02C87C9C: ; // 0x2c87c9c
|
|
/* 02C87C9C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C87CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0xFFFFFFCCu);
|
|
/* 02C87CA4 */ cpu->r[11] = cpu->r[11] | 0x00100000u;
|
|
/* 02C87CA8 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87CA8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C87CA8 */ if (_t27) goto L_02C87CAC; else goto L_02C87CB8;
|
|
L_02C87CAC: ; // 0x2c87cac
|
|
/* 02C87CAC */ cpu->r[9] = 0x00000000u;
|
|
/* 02C87CB0 */ cpu->r[11] = cpu->r[9];
|
|
/* 02C87CB4 */ goto L_02C87CF4;
|
|
L_02C87CB8: ; // 0x2c87cb8
|
|
/* 02C87CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0xFFFFFFE0u);
|
|
/* 02C87CBC */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87CBC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C87CBC */ if (_t29) goto L_02C87CD0; else goto L_02C87CC0;
|
|
L_02C87CC0: ; // 0x2c87cc0
|
|
/* 02C87CC0 */ cpu->r[12] = 0xFFFFFFE0u - cpu->r[8];
|
|
/* 02C87CC4 */ /* nop */
|
|
/* 02C87CC8 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C87CCC */ goto L_02C87CF4;
|
|
L_02C87CD0: ; // 0x2c87cd0
|
|
/* 02C87CD0 */ cpu->r[10] = cpu->r[8] + 0x00000020u;
|
|
/* 02C87CD4 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[8]);
|
|
/* 02C87CD8 */ /* nop */
|
|
/* 02C87CDC */ /* nop */
|
|
/* 02C87CE0 */ /* nop */
|
|
/* 02C87CE4 */ cpu->r[9] = cpu->r[9] | cpu->r[10];
|
|
/* 02C87CE8 */ goto L_02C87CF4;
|
|
L_02C87CEC: ; // 0x2c87cec
|
|
/* 02C87CEC */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000014u, 0x00000000u, 0x0000000Bu);
|
|
/* 02C87CF0 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
L_02C87CF4: ; // 0x2c87cf4
|
|
/* 02C87CF4 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C87CF4 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 02C87CF8 */ cpu->r[11] = cpu->r[11] | cpu->r[31];
|
|
/* 02C87CFC */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C87CFC */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 02C87D00 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C87D04 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C87D04 */ cpu->f[1] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 02C87D08 */ goto L_02C8A594;
|
|
L_02C8A594: ; // 0x2c8a594
|
|
/* 02C8A594 */ _t33 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C8A598 */ _t34 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C87B94 @ 0x2c87b94
|
|
void Gambit_fn_02C87B94(CPUState* 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_02C87B94: ; // 0x2c87b94
|
|
/* 02C87B94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C87B94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C87B94 */ cpu->r[1] = _t0;
|
|
/* 02C87B98 */ Gambit_fn_02C8A53C(cpu);
|
|
/* 02C87B9C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C87B9C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[1]);
|
|
/* 02C87BA0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C87BA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C87BA4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C87BA8 */ cpu->r[11] = cpu->r[11] - cpu->r[31];
|
|
/* 02C87BAC */ cpu->r[12] = 0x7FF00000u;
|
|
/* 02C87BB0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000001u, 0x0000000Bu);
|
|
/* 02C87BB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C87BB8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C87BB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C87BBC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87BBC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C87BBC */ if (_t5) goto L_02C87CF4; else goto L_02C87BC0;
|
|
L_02C87BC0: ; // 0x2c87bc0
|
|
/* 02C87BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C87BC4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87BC4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C87BC4 */ if (_t7) goto L_02C87BC8; else goto L_02C87C64;
|
|
L_02C87BC8: ; // 0x2c87bc8
|
|
/* 02C87BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C87BCC */ cpu->r[10] = cpu->r[8];
|
|
/* 02C87BD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87BD0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C87BD0 */ if (_t9) goto L_02C87BFC; else goto L_02C87BD4;
|
|
L_02C87BD4: ; // 0x2c87bd4
|
|
/* 02C87BD4 */ goto L_02C87BE0;
|
|
L_02C87BD8: ; // 0x2c87bd8
|
|
/* 02C87BD8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C87BDC */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C87BE0: ; // 0x2c87be0
|
|
/* 02C87BE0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000000Bu, 0x0000000Bu);
|
|
/* 02C87BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87BE4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87BE4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C87BE4 */ if (_t11) goto L_02C87BD8; else goto L_02C87BE8;
|
|
L_02C87BE8: ; // 0x2c87be8
|
|
/* 02C87BE8 */ cpu->r[12] = 0x00000020u - cpu->r[10];
|
|
/* 02C87BEC */ /* nop */
|
|
/* 02C87BF0 */ /* nop */
|
|
/* 02C87BF4 */ cpu->r[11] = cpu->r[11] | cpu->r[12];
|
|
/* 02C87BF8 */ goto L_02C87C58;
|
|
L_02C87BFC: ; // 0x2c87bfc
|
|
/* 02C87BFC */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Au);
|
|
/* 02C87BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87C00 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87C00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C87C00 */ if (_t13) goto L_02C87C30; else goto L_02C87C04;
|
|
L_02C87C04: ; // 0x2c87c04
|
|
/* 02C87C04 */ cpu->r[11] = 0x80000000u;
|
|
/* 02C87C08 */ cpu->r[10] = 0x00000014u;
|
|
/* 02C87C0C */ goto L_02C87C18;
|
|
L_02C87C10: ; // 0x2c87c10
|
|
/* 02C87C10 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C87C14 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
L_02C87C18: ; // 0x2c87c18
|
|
/* 02C87C18 */ cpu->r[12] = cpu->r[9] & cpu->r[11];
|
|
/* 02C87C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87C1C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87C1C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C87C1C */ if (_t15) goto L_02C87C10; else goto L_02C87C20;
|
|
L_02C87C20: ; // 0x2c87c20
|
|
/* 02C87C20 */ cpu->r[12] = 0x00000020u - cpu->r[10];
|
|
/* 02C87C24 */ /* nop */
|
|
/* 02C87C28 */ /* nop */
|
|
/* 02C87C2C */ goto L_02C87C58;
|
|
L_02C87C30: ; // 0x2c87c30
|
|
/* 02C87C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C87C34 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87C34 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C87C34 */ if (_t17) goto L_02C87CF4; else goto L_02C87C38;
|
|
L_02C87C38: ; // 0x2c87c38
|
|
/* 02C87C38 */ cpu->r[11] = cpu->r[9];
|
|
/* 02C87C3C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C87C40 */ cpu->r[10] = 0x00000020u;
|
|
/* 02C87C44 */ goto L_02C87C50;
|
|
L_02C87C48: ; // 0x2c87c48
|
|
/* 02C87C48 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C87C4C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C87C50: ; // 0x2c87c50
|
|
/* 02C87C50 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000000Bu, 0x0000000Bu);
|
|
/* 02C87C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87C54 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87C54 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C87C54 */ if (_t19) goto L_02C87C48; else goto L_02C87C58;
|
|
L_02C87C58: ; // 0x2c87c58
|
|
/* 02C87C58 */ cpu->r[12] = 0x00000001u - cpu->r[10];
|
|
/* 02C87C5C */ cpu->r[11] = cpu->r[11] ^ 0x00100000u;
|
|
/* 02C87C60 */ cpu->r[3] = cpu->r[3] + cpu->r[12];
|
|
L_02C87C64: ; // 0x2c87c64
|
|
/* 02C87C64 */ cpu->r[11] = cpu->r[11] - cpu->r[8];
|
|
/* 02C87C68 */ /* nop */
|
|
/* 02C87C6C */ cpu->r[8] = cpu->r[8] + cpu->r[3];
|
|
/* 02C87C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000007FFu);
|
|
/* 02C87C74 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87C74 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C87C74 */ if (_t21) goto L_02C87C78; else goto L_02C87C80;
|
|
L_02C87C78: ; // 0x2c87c78
|
|
/* 02C87C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x000007FFu);
|
|
/* 02C87C7C */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87C7C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C87C7C */ if (_t23) goto L_02C87C80; else goto L_02C87C94;
|
|
L_02C87C80: ; // 0x2c87c80
|
|
/* 02C87C80 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C87C84 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C87C88 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C87C8C */ cpu->r[11] = 0x7FF00000u;
|
|
/* 02C87C90 */ goto L_02C87CF4;
|
|
L_02C87C94: ; // 0x2c87c94
|
|
/* 02C87C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C87C98 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87C98 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C87C98 */ if (_t25) goto L_02C87CEC; else goto L_02C87C9C;
|
|
L_02C87C9C: ; // 0x2c87c9c
|
|
/* 02C87C9C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C87CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0xFFFFFFCCu);
|
|
/* 02C87CA4 */ cpu->r[11] = cpu->r[11] | 0x00100000u;
|
|
/* 02C87CA8 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87CA8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C87CA8 */ if (_t27) goto L_02C87CAC; else goto L_02C87CB8;
|
|
L_02C87CAC: ; // 0x2c87cac
|
|
/* 02C87CAC */ cpu->r[9] = 0x00000000u;
|
|
/* 02C87CB0 */ cpu->r[11] = cpu->r[9];
|
|
/* 02C87CB4 */ goto L_02C87CF4;
|
|
L_02C87CB8: ; // 0x2c87cb8
|
|
/* 02C87CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0xFFFFFFE0u);
|
|
/* 02C87CBC */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87CBC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C87CBC */ if (_t29) goto L_02C87CD0; else goto L_02C87CC0;
|
|
L_02C87CC0: ; // 0x2c87cc0
|
|
/* 02C87CC0 */ cpu->r[12] = 0xFFFFFFE0u - cpu->r[8];
|
|
/* 02C87CC4 */ /* nop */
|
|
/* 02C87CC8 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C87CCC */ goto L_02C87CF4;
|
|
L_02C87CD0: ; // 0x2c87cd0
|
|
/* 02C87CD0 */ cpu->r[10] = cpu->r[8] + 0x00000020u;
|
|
/* 02C87CD4 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[8]);
|
|
/* 02C87CD8 */ /* nop */
|
|
/* 02C87CDC */ /* nop */
|
|
/* 02C87CE0 */ /* nop */
|
|
/* 02C87CE4 */ cpu->r[9] = cpu->r[9] | cpu->r[10];
|
|
/* 02C87CE8 */ goto L_02C87CF4;
|
|
L_02C87CEC: ; // 0x2c87cec
|
|
/* 02C87CEC */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000014u, 0x00000000u, 0x0000000Bu);
|
|
/* 02C87CF0 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
L_02C87CF4: ; // 0x2c87cf4
|
|
/* 02C87CF4 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C87CF4 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 02C87CF8 */ cpu->r[11] = cpu->r[11] | cpu->r[31];
|
|
/* 02C87CFC */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C87CFC */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 02C87D00 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02C87D04 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C87D04 */ cpu->f[1] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 02C87D08 */ goto L_02C8A594;
|
|
L_02C8A594: ; // 0x2c8a594
|
|
/* 02C8A594 */ _t33 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C8A598 */ _t34 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C87D14 @ 0x2c87d14
|
|
void Gambit_fn_02C87D14(CPUState* 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;
|
|
|
|
L_02C87D14: ; // 0x2c87d14
|
|
/* 02C87D14 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 02C87D14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C87D14 */ cpu->r[1] = _t0;
|
|
/* 02C87D18 */ Gambit_fn_02C8A38C(cpu);
|
|
/* 02C87D1C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C87D20 */ Gambit_fn_02C8A474(cpu);
|
|
/* 02C87D24 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C87D28 */ cpu->r[26] = 0x0000000Au;
|
|
/* 02C87D2C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C87D30 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C87D34 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C87D38 */ cpu->r[5] = 0x00000040u;
|
|
/* 02C87D3C */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02C87D40 */ cpu->r[4] = cpu->r[4] + 0x00004750u;
|
|
/* 02C87D44 */ cpu->r[29] = cpu->r[30];
|
|
/* 02C87D48 */ cpu->r[25] = cpu->r[24];
|
|
/* 02C87D4C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C87D50 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C87D54 */ cpu->r[5] = 0x00000028u;
|
|
/* 02C87D58 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C87D5C */ cpu->r[4] = cpu->r[4] + 0x00004790u;
|
|
/* 02C87D60 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C87D64 */ cpu->r[28] = cpu->r[25];
|
|
/* 02C87D68 */ cpu->r[27] = cpu->r[24];
|
|
/* 02C87D6C */ goto L_02C87D74;
|
|
L_02C87D70: ; // 0x2c87d70
|
|
/* 02C87D70 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C87D74: ; // 0x2c87d74
|
|
/* 02C87D74 */ _t1 = cpu->r[30] + 0x00000000u;
|
|
/* 02C87D74 */ cpu->r[9] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C87D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000020u);
|
|
/* 02C87D7C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87D7C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C87D7C */ if (_t3) goto L_02C87D70; else goto L_02C87D80;
|
|
L_02C87D80: ; // 0x2c87d80
|
|
/* 02C87D80 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFF7u;
|
|
/* 02C87D84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 02C87D88 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87D88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C87D88 */ if (_t5) goto L_02C87D8C; else goto L_02C87D70;
|
|
L_02C87D8C: ; // 0x2c87d8c
|
|
/* 02C87D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000002Du);
|
|
/* 02C87D90 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C87D94 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87D94 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C87D94 */ if (_t7) goto L_02C87DA0; else goto L_02C87D98;
|
|
L_02C87D98: ; // 0x2c87d98
|
|
/* 02C87D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000002Bu);
|
|
/* 02C87D9C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87D9C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C87D9C */ if (_t9) goto L_02C87DA0; else goto L_02C87DB4;
|
|
L_02C87DA0: ; // 0x2c87da0
|
|
/* 02C87DA0 */ cpu->r[12] = cpu->r[9] ^ 0x0000002Du;
|
|
/* 02C87DA4 */ cpu->r[12] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C87DA8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C87DAC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C87DB0 */ cpu->r[23] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
L_02C87DB4: ; // 0x2c87db4
|
|
/* 02C87DB4 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 02C87DB4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C87DB8 */ cpu->r[11] = cpu->r[9] | 0x00000020u;
|
|
/* 02C87DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000006Eu);
|
|
/* 02C87DC0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87DC0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C87DC0 */ if (_t12) goto L_02C87DC4; else goto L_02C87E20;
|
|
L_02C87DC4: ; // 0x2c87dc4
|
|
/* 02C87DC4 */ _t13 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87DC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C87DC8 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000061u);
|
|
/* 02C87DD0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87DD0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C87DD0 */ if (_t15) goto L_02C87DD4; else goto L_02C87E20;
|
|
L_02C87DD4: ; // 0x2c87dd4
|
|
/* 02C87DD4 */ _t16 = cpu->r[30] + 0x00000002u;
|
|
/* 02C87DD4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C87DD8 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C87DE0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87DE0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C87DE0 */ if (_t18) goto L_02C87DE4; else goto L_02C87E20;
|
|
L_02C87DE4: ; // 0x2c87de4
|
|
/* 02C87DE4 */ _t19 = cpu->r[30] + 0x00000003u;
|
|
/* 02C87DE4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02C87DE4 */ cpu->r[30] = _t19;
|
|
/* 02C87DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000028u);
|
|
/* 02C87DEC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87DEC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C87DEC */ if (_t21) goto L_02C87DF0; else goto L_02C87E08;
|
|
L_02C87DF0: ; // 0x2c87df0
|
|
/* 02C87DF0 */ _t22 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87DF0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C87DF0 */ cpu->r[30] = _t22;
|
|
/* 02C87DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C87DF8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87DF8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C87DF8 */ if (_t24) goto L_02C87E08; else goto L_02C87DFC;
|
|
L_02C87DFC: ; // 0x2c87dfc
|
|
/* 02C87DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000029u);
|
|
/* 02C87E00 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E00 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C87E00 */ if (_t26) goto L_02C87E04; else goto L_02C87DF0;
|
|
L_02C87E04: ; // 0x2c87e04
|
|
/* 02C87E04 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C87E08: ; // 0x2c87e08
|
|
/* 02C87E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C87E0C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E0C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C87E0C */ if (_t28) goto L_02C87E14; else goto L_02C87E10;
|
|
L_02C87E10: ; // 0x2c87e10
|
|
/* 02C87E10 */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 02C87E10 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
L_02C87E14: ; // 0x2c87e14
|
|
/* 02C87E14 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C87E18 */ _t30 = cpu->r[12] + 0x00004718u;
|
|
/* 02C87E18 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02C87E1C */ goto L_02C882F4;
|
|
L_02C87E20: ; // 0x2c87e20
|
|
/* 02C87E20 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C87E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000069u);
|
|
/* 02C87E28 */ _t31 = cpu->r[12] + 0x00004720u;
|
|
/* 02C87E28 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 02C87E2C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E2C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C87E2C */ if (_t33) goto L_02C87E30; else goto L_02C87EB4;
|
|
L_02C87E30: ; // 0x2c87e30
|
|
/* 02C87E30 */ _t34 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87E30 */ cpu->r[12] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02C87E34 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C87E3C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E3C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C87E3C */ if (_t36) goto L_02C87E40; else goto L_02C87EB4;
|
|
L_02C87E40: ; // 0x2c87e40
|
|
/* 02C87E40 */ _t37 = cpu->r[30] + 0x00000002u;
|
|
/* 02C87E40 */ cpu->r[12] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02C87E44 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000066u);
|
|
/* 02C87E4C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E4C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C87E4C */ if (_t39) goto L_02C87E50; else goto L_02C87EB4;
|
|
L_02C87E50: ; // 0x2c87e50
|
|
/* 02C87E50 */ _t40 = cpu->r[30] + 0x00000003u;
|
|
/* 02C87E50 */ cpu->r[12] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C87E50 */ cpu->r[30] = _t40;
|
|
/* 02C87E54 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000069u);
|
|
/* 02C87E5C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E5C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C87E5C */ if (_t42) goto L_02C87E60; else goto L_02C87EA4;
|
|
L_02C87E60: ; // 0x2c87e60
|
|
/* 02C87E60 */ _t43 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87E60 */ cpu->r[12] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02C87E64 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C87E6C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E6C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C87E6C */ if (_t45) goto L_02C87E70; else goto L_02C87EA4;
|
|
L_02C87E70: ; // 0x2c87e70
|
|
/* 02C87E70 */ _t46 = cpu->r[30] + 0x00000002u;
|
|
/* 02C87E70 */ cpu->r[12] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02C87E74 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000069u);
|
|
/* 02C87E7C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E7C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C87E7C */ if (_t48) goto L_02C87E80; else goto L_02C87EA4;
|
|
L_02C87E80: ; // 0x2c87e80
|
|
/* 02C87E80 */ _t49 = cpu->r[30] + 0x00000003u;
|
|
/* 02C87E80 */ cpu->r[12] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02C87E84 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000074u);
|
|
/* 02C87E8C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E8C */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C87E8C */ if (_t51) goto L_02C87E90; else goto L_02C87EA4;
|
|
L_02C87E90: ; // 0x2c87e90
|
|
/* 02C87E90 */ _t52 = cpu->r[30] + 0x00000004u;
|
|
/* 02C87E90 */ cpu->r[12] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02C87E94 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000079u);
|
|
/* 02C87E9C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E9C */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C87E9C */ if (_t54) goto L_02C87EA0; else goto L_02C87EA4;
|
|
L_02C87EA0: ; // 0x2c87ea0
|
|
/* 02C87EA0 */ cpu->r[30] = cpu->r[30] + 0x00000005u;
|
|
L_02C87EA4: ; // 0x2c87ea4
|
|
/* 02C87EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C87EA8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87EA8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C87EA8 */ if (_t56) goto L_02C882E8; else goto L_02C87EAC;
|
|
L_02C87EAC: ; // 0x2c87eac
|
|
/* 02C87EAC */ _t57 = cpu->r[31] + 0x00000000u;
|
|
/* 02C87EAC */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
|
|
/* 02C87EB0 */ goto L_02C882E8;
|
|
L_02C87EB4: ; // 0x2c87eb4
|
|
/* 02C87EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000030u);
|
|
/* 02C87EB8 */ cpu->r[10] = 0x00000013u;
|
|
/* 02C87EBC */ cpu->r[7] = 0x00000065u;
|
|
/* 02C87EC0 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87EC0 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C87EC0 */ if (_t59) goto L_02C87EC4; else goto L_02C87EE4;
|
|
L_02C87EC4: ; // 0x2c87ec4
|
|
/* 02C87EC4 */ _t60 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87EC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02C87EC8 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000078u);
|
|
/* 02C87ED0 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87ED0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C87ED0 */ if (_t62) goto L_02C87ED4; else goto L_02C87EE4;
|
|
L_02C87ED4: ; // 0x2c87ed4
|
|
/* 02C87ED4 */ cpu->r[7] = 0x00000070u;
|
|
/* 02C87ED8 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02C87EDC */ cpu->r[10] = 0x0000000Du;
|
|
/* 02C87EE0 */ cpu->r[26] = 0x00000010u;
|
|
L_02C87EE4: ; // 0x2c87ee4
|
|
/* 02C87EE4 */ cpu->r[8] = cpu->r[30];
|
|
/* 02C87EE8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
L_02C87EEC: ; // 0x2c87eec
|
|
/* 02C87EEC */ _t63 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87EEC */ cpu->r[12] = rbrew_read8(cpu->mem, _t63);
|
|
/* 02C87EEC */ cpu->r[30] = _t63;
|
|
/* 02C87EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C87EF4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87EF4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C87EF4 */ if (_t65) goto L_02C87EEC; else goto L_02C87EF8;
|
|
L_02C87EF8: ; // 0x2c87ef8
|
|
/* 02C87EF8 */ goto L_02C87F78;
|
|
L_02C87EFC: ; // 0x2c87efc
|
|
/* 02C87EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87F00 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87F00 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C87F00 */ if (_t67) goto L_02C87F0C; else goto L_02C87F04;
|
|
L_02C87F04: ; // 0x2c87f04
|
|
/* 02C87F04 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C87F08 */ goto L_02C87F10;
|
|
L_02C87F0C: ; // 0x2c87f0c
|
|
/* 02C87F0C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
L_02C87F10: ; // 0x2c87f10
|
|
/* 02C87F10 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C87F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[10]);
|
|
/* 02C87F18 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87F18 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C87F18 */ if (_t69) goto L_02C87F74; else goto L_02C87F1C;
|
|
L_02C87F1C: ; // 0x2c87f1c
|
|
/* 02C87F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x0000000Au);
|
|
/* 02C87F20 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87F20 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C87F20 */ if (_t71) goto L_02C87F24; else goto L_02C87F54;
|
|
L_02C87F24: ; // 0x2c87f24
|
|
/* 02C87F24 */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C87F28 */ cpu->r[11] = cpu->r[28] + cpu->r[11];
|
|
/* 02C87F2C */ cpu->r[6] = cpu->r[11] - cpu->r[28];
|
|
/* 02C87F30 */ cpu->r[9] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C87F34 */ cpu->r[6] = cpu->r[6] - cpu->r[6];
|
|
/* 02C87F38 */ _t72 = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C87F38 */ _t73 = cpu->r[9] & 0xFFFFFFFCu;
|
|
/* 02C87F38 */ cpu->r[9] = _t73 | _t72;
|
|
/* 02C87F3C */ cpu->r[9] = cpu->r[9] - cpu->r[6];
|
|
/* 02C87F40 */ cpu->r[27] = cpu->r[27] + cpu->r[9];
|
|
/* 02C87F44 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C87F48 */ cpu->r[28] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C87F4C */ _t74 = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C87F4C */ _t75 = cpu->r[27] & 0xFFFFFFFEu;
|
|
/* 02C87F4C */ cpu->r[27] = _t75 | _t74;
|
|
/* 02C87F50 */ goto L_02C87F60;
|
|
L_02C87F54: ; // 0x2c87f54
|
|
/* 02C87F54 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C87F58 */ _t76 = rbrew_rlwinm(cpu->r[28], 0x00000004u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02C87F58 */ _t77 = cpu->r[27] & 0xFFFFFFF0u;
|
|
/* 02C87F58 */ cpu->r[27] = _t77 | _t76;
|
|
/* 02C87F5C */ cpu->r[28] = rbrew_rlwinm(cpu->r[28], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
L_02C87F60: ; // 0x2c87f60
|
|
/* 02C87F60 */ cpu->r[12] = cpu->r[28] + cpu->r[12];
|
|
/* 02C87F64 */ cpu->r[11] = cpu->r[12] - cpu->r[28];
|
|
/* 02C87F68 */ cpu->r[11] = cpu->r[11] - cpu->r[11];
|
|
/* 02C87F6C */ cpu->r[28] = cpu->r[12];
|
|
/* 02C87F70 */ cpu->r[27] = cpu->r[27] - cpu->r[11];
|
|
L_02C87F74: ; // 0x2c87f74
|
|
/* 02C87F74 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C87F78: ; // 0x2c87f78
|
|
/* 02C87F78 */ _t78 = cpu->r[30] + 0x00000000u;
|
|
/* 02C87F78 */ cpu->r[9] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02C87F7C */ cpu->r[12] = cpu->r[9] + 0xFFFFFFD0u;
|
|
/* 02C87F80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Au);
|
|
/* 02C87F84 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87F84 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C87F84 */ if (_t80) goto L_02C87F88; else goto L_02C87F90;
|
|
L_02C87F88: ; // 0x2c87f88
|
|
/* 02C87F88 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFD0u;
|
|
/* 02C87F8C */ goto L_02C87F98;
|
|
L_02C87F90: ; // 0x2c87f90
|
|
/* 02C87F90 */ cpu->r[12] = cpu->r[9] | 0x00000020u;
|
|
/* 02C87F94 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFA9u;
|
|
L_02C87F98: ; // 0x2c87f98
|
|
/* 02C87F98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[26]);
|
|
/* 02C87F9C */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87F9C */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C87F9C */ if (_t82) goto L_02C87EFC; else goto L_02C87FA0;
|
|
L_02C87FA0: ; // 0x2c87fa0
|
|
/* 02C87FA0 */ cpu->r[22] = cpu->r[24] - cpu->r[10];
|
|
/* 02C87FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C87FA4 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87FA4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C87FA4 */ if (_t84) goto L_02C87FA8; else goto L_02C87FAC;
|
|
L_02C87FA8: ; // 0x2c87fa8
|
|
/* 02C87FA8 */ cpu->r[22] = 0x00000000u;
|
|
L_02C87FAC: ; // 0x2c87fac
|
|
/* 02C87FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000002Eu);
|
|
/* 02C87FB0 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87FB0 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C87FB0 */ if (_t86) goto L_02C87FB4; else goto L_02C88088;
|
|
L_02C87FB4: ; // 0x2c87fb4
|
|
/* 02C87FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C87FB8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C87FBC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C87FC0 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87FC0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C87FC0 */ if (_t88) goto L_02C87FC4; else goto L_02C88060;
|
|
L_02C87FC4: ; // 0x2c87fc4
|
|
/* 02C87FC4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
L_02C87FC8: ; // 0x2c87fc8
|
|
/* 02C87FC8 */ _t89 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87FC8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t89);
|
|
/* 02C87FC8 */ cpu->r[30] = _t89;
|
|
/* 02C87FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C87FD0 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87FD0 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02C87FD0 */ if (_t91) goto L_02C87FD4; else goto L_02C88060;
|
|
L_02C87FD4: ; // 0x2c87fd4
|
|
/* 02C87FD4 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02C87FD8 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C87FDC */ goto L_02C87FC8;
|
|
L_02C87FE0: ; // 0x2c87fe0
|
|
/* 02C87FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87FE4 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87FE4 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02C87FE4 */ if (_t93) goto L_02C87FF0; else goto L_02C87FE8;
|
|
L_02C87FE8: ; // 0x2c87fe8
|
|
/* 02C87FE8 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C87FEC */ goto L_02C87FF4;
|
|
L_02C87FF0: ; // 0x2c87ff0
|
|
/* 02C87FF0 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
L_02C87FF4: ; // 0x2c87ff4
|
|
/* 02C87FF4 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C87FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[10]);
|
|
/* 02C87FFC */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87FFC */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C87FFC */ if (_t95) goto L_02C8805C; else goto L_02C88000;
|
|
L_02C88000: ; // 0x2c88000
|
|
/* 02C88000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x0000000Au);
|
|
/* 02C88004 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88004 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C88004 */ if (_t97) goto L_02C88008; else goto L_02C88038;
|
|
L_02C88008: ; // 0x2c88008
|
|
/* 02C88008 */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C8800C */ cpu->r[11] = cpu->r[28] + cpu->r[11];
|
|
/* 02C88010 */ cpu->r[9] = cpu->r[11] - cpu->r[28];
|
|
/* 02C88014 */ cpu->r[6] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C88018 */ cpu->r[9] = cpu->r[9] - cpu->r[9];
|
|
/* 02C8801C */ _t98 = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C8801C */ _t99 = cpu->r[6] & 0xFFFFFFFCu;
|
|
/* 02C8801C */ cpu->r[6] = _t99 | _t98;
|
|
/* 02C88020 */ cpu->r[9] = cpu->r[6] - cpu->r[9];
|
|
/* 02C88024 */ cpu->r[27] = cpu->r[27] + cpu->r[9];
|
|
/* 02C88028 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C8802C */ cpu->r[28] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88030 */ _t100 = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C88030 */ _t101 = cpu->r[27] & 0xFFFFFFFEu;
|
|
/* 02C88030 */ cpu->r[27] = _t101 | _t100;
|
|
/* 02C88034 */ goto L_02C88044;
|
|
L_02C88038: ; // 0x2c88038
|
|
/* 02C88038 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C8803C */ _t102 = rbrew_rlwinm(cpu->r[28], 0x00000004u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02C8803C */ _t103 = cpu->r[27] & 0xFFFFFFF0u;
|
|
/* 02C8803C */ cpu->r[27] = _t103 | _t102;
|
|
/* 02C88040 */ cpu->r[28] = rbrew_rlwinm(cpu->r[28], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
L_02C88044: ; // 0x2c88044
|
|
/* 02C88044 */ cpu->r[12] = cpu->r[28] + cpu->r[12];
|
|
/* 02C88048 */ cpu->r[11] = cpu->r[12] - cpu->r[28];
|
|
/* 02C8804C */ cpu->r[11] = cpu->r[11] - cpu->r[11];
|
|
/* 02C88050 */ cpu->r[28] = cpu->r[12];
|
|
/* 02C88054 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02C88058 */ cpu->r[27] = cpu->r[27] - cpu->r[11];
|
|
L_02C8805C: ; // 0x2c8805c
|
|
/* 02C8805C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C88060: ; // 0x2c88060
|
|
/* 02C88060 */ _t104 = cpu->r[30] + 0x00000000u;
|
|
/* 02C88060 */ cpu->r[9] = rbrew_read8(cpu->mem, _t104);
|
|
/* 02C88064 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFD0u;
|
|
/* 02C88068 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Au);
|
|
/* 02C8806C */ _t105 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8806C */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C8806C */ if (_t106) goto L_02C88070; else goto L_02C88078;
|
|
L_02C88070: ; // 0x2c88070
|
|
/* 02C88070 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFD0u;
|
|
/* 02C88074 */ goto L_02C88080;
|
|
L_02C88078: ; // 0x2c88078
|
|
/* 02C88078 */ cpu->r[12] = cpu->r[9] | 0x00000020u;
|
|
/* 02C8807C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFA9u;
|
|
L_02C88080: ; // 0x2c88080
|
|
/* 02C88080 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[26]);
|
|
/* 02C88084 */ _t107 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88084 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02C88084 */ if (_t108) goto L_02C87FE0; else goto L_02C88088;
|
|
L_02C88088: ; // 0x2c88088
|
|
/* 02C88088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000010u);
|
|
/* 02C8808C */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8808C */ _t110 = _t109 & 0x00000001u;
|
|
/* 02C8808C */ if (_t110) goto L_02C88090; else goto L_02C88094;
|
|
L_02C88090: ; // 0x2c88090
|
|
/* 02C88090 */ cpu->r[22] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_02C88094: ; // 0x2c88094
|
|
/* 02C88094 */ cpu->r[12] = cpu->r[9] | 0x00000020u;
|
|
/* 02C88098 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[7]);
|
|
/* 02C8809C */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8809C */ _t112 = _t111 & 0x00000001u;
|
|
/* 02C8809C */ if (_t112) goto L_02C880A0; else goto L_02C88128;
|
|
L_02C880A0: ; // 0x2c880a0
|
|
/* 02C880A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 02C880A4 */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C880A4 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02C880A4 */ if (_t114) goto L_02C880A8; else goto L_02C88128;
|
|
L_02C880A8: ; // 0x2c880a8
|
|
/* 02C880A8 */ cpu->r[11] = cpu->r[30];
|
|
/* 02C880AC */ _t115 = cpu->r[30] + 0x00000001u;
|
|
/* 02C880AC */ cpu->r[9] = rbrew_read8(cpu->mem, _t115);
|
|
/* 02C880AC */ cpu->r[30] = _t115;
|
|
/* 02C880B0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C880B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000002Du);
|
|
/* 02C880B8 */ cpu->r[6] = cpu->r[7];
|
|
/* 02C880BC */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C880BC */ _t117 = _t116 & 0x00000001u;
|
|
/* 02C880BC */ if (_t117) goto L_02C880C8; else goto L_02C880C0;
|
|
L_02C880C0: ; // 0x2c880c0
|
|
/* 02C880C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000002Bu);
|
|
/* 02C880C4 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C880C4 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02C880C4 */ if (_t119) goto L_02C880C8; else goto L_02C880DC;
|
|
L_02C880C8: ; // 0x2c880c8
|
|
/* 02C880C8 */ cpu->r[12] = cpu->r[9] ^ 0x0000002Du;
|
|
/* 02C880CC */ cpu->r[12] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C880D0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C880D4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C880D8 */ cpu->r[6] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
L_02C880DC: ; // 0x2c880dc
|
|
/* 02C880DC */ _t120 = cpu->r[30] + 0x00000000u;
|
|
/* 02C880DC */ cpu->r[12] = rbrew_read8(cpu->mem, _t120);
|
|
/* 02C880E0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 02C880E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Au);
|
|
/* 02C880E8 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C880E8 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02C880E8 */ if (_t122) goto L_02C880EC; else goto L_02C88118;
|
|
L_02C880EC: ; // 0x2c880ec
|
|
/* 02C880EC */ goto L_02C88104;
|
|
L_02C880F0: ; // 0x2c880f0
|
|
/* 02C880F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x000003E8u);
|
|
/* 02C880F4 */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C880F4 */ _t124 = _t123 & 0x00000001u;
|
|
/* 02C880F4 */ if (_t124) goto L_02C880F8; else goto L_02C88100;
|
|
L_02C880F8: ; // 0x2c880f8
|
|
/* 02C880F8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000000Au);
|
|
/* 02C880FC */ cpu->r[7] = cpu->r[11] + cpu->r[12];
|
|
L_02C88100: ; // 0x2c88100
|
|
/* 02C88100 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C88104: ; // 0x2c88104
|
|
/* 02C88104 */ _t125 = cpu->r[30] + 0x00000000u;
|
|
/* 02C88104 */ cpu->r[12] = rbrew_read8(cpu->mem, _t125);
|
|
/* 02C88108 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 02C8810C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000009u);
|
|
/* 02C88110 */ _t126 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88110 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02C88110 */ if (_t127) goto L_02C88114; else goto L_02C880F0;
|
|
L_02C88114: ; // 0x2c88114
|
|
/* 02C88114 */ goto L_02C8811C;
|
|
L_02C88118: ; // 0x2c88118
|
|
/* 02C88118 */ cpu->r[30] = cpu->r[11];
|
|
L_02C8811C: ; // 0x2c8811c
|
|
/* 02C8811C */ cpu->r[12] = cpu->r[7] ^ cpu->r[6];
|
|
/* 02C88120 */ cpu->r[7] = cpu->r[12] - cpu->r[6];
|
|
/* 02C88124 */ cpu->r[22] = cpu->r[22] + cpu->r[7];
|
|
L_02C88128: ; // 0x2c88128
|
|
/* 02C88128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C8812C */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8812C */ _t129 = _t128 & 0x00000001u;
|
|
/* 02C8812C */ if (_t129) goto L_02C88140; else goto L_02C88130;
|
|
L_02C88130: ; // 0x2c88130
|
|
/* 02C88130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 02C88134 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88134 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02C88134 */ if (_t131) goto L_02C88138; else goto L_02C8813C;
|
|
L_02C88138: ; // 0x2c88138
|
|
/* 02C88138 */ cpu->r[30] = cpu->r[29];
|
|
L_02C8813C: ; // 0x2c8813c
|
|
/* 02C8813C */ _t132 = cpu->r[31] + 0x00000000u;
|
|
/* 02C8813C */ rbrew_write32(cpu->mem, _t132, cpu->r[30]);
|
|
L_02C88140: ; // 0x2c88140
|
|
/* 02C88140 */ cpu->r[12] = cpu->r[24] - cpu->r[25];
|
|
/* 02C88144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[10]);
|
|
/* 02C88148 */ _t133 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88148 */ _t134 = _t133 & 0x00000001u;
|
|
/* 02C88148 */ if (_t134) goto L_02C8814C; else goto L_02C88150;
|
|
L_02C8814C: ; // 0x2c8814c
|
|
/* 02C8814C */ cpu->r[28] = cpu->r[28] | 0x00000001u;
|
|
L_02C88150: ; // 0x2c88150
|
|
/* 02C88150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x0000000Au);
|
|
/* 02C88154 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88154 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02C88154 */ if (_t136) goto L_02C88158; else goto L_02C881EC;
|
|
L_02C88158: ; // 0x2c88158
|
|
/* 02C88158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000040u);
|
|
/* 02C8815C */ _t137 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8815C */ _t138 = _t137 & 0x00000001u;
|
|
/* 02C8815C */ if (_t138) goto L_02C88160; else goto L_02C881EC;
|
|
L_02C88160: ; // 0x2c88160
|
|
/* 02C88160 */ cpu->r[12] = cpu->r[10] - cpu->r[24];
|
|
/* 02C88160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88164 */ _t139 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88164 */ _t140 = _t139 & 0x00000001u;
|
|
/* 02C88164 */ if (_t140) goto L_02C88168; else goto L_02C881A8;
|
|
L_02C88168: ; // 0x2c88168
|
|
/* 02C88168 */ cpu->r[22] = cpu->r[22] - cpu->r[12];
|
|
/* 02C8816C */ goto L_02C8819C;
|
|
L_02C88170: ; // 0x2c88170
|
|
/* 02C88170 */ cpu->r[12] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C88174 */ cpu->r[11] = cpu->r[28] + cpu->r[12];
|
|
/* 02C88178 */ cpu->r[12] = cpu->r[11] - cpu->r[28];
|
|
/* 02C8817C */ cpu->r[9] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C88180 */ cpu->r[12] = cpu->r[12] - cpu->r[12];
|
|
/* 02C88184 */ _t141 = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C88184 */ _t142 = cpu->r[9] & 0xFFFFFFFCu;
|
|
/* 02C88184 */ cpu->r[9] = _t142 | _t141;
|
|
/* 02C88188 */ cpu->r[12] = cpu->r[9] - cpu->r[12];
|
|
/* 02C8818C */ cpu->r[27] = cpu->r[27] + cpu->r[12];
|
|
/* 02C88190 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88194 */ cpu->r[28] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88198 */ _t143 = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C88198 */ _t144 = cpu->r[27] & 0xFFFFFFFEu;
|
|
/* 02C88198 */ cpu->r[27] = _t144 | _t143;
|
|
L_02C8819C: ; // 0x2c8819c
|
|
/* 02C8819C */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C881A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[10]);
|
|
/* 02C881A4 */ _t145 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C881A4 */ _t146 = _t145 & 0x00000001u;
|
|
/* 02C881A4 */ if (_t146) goto L_02C881A8; else goto L_02C88170;
|
|
L_02C881A8: ; // 0x2c881a8
|
|
/* 02C881A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000122u);
|
|
/* 02C881AC */ _t147 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C881AC */ _t148 = _t147 & 0x00000001u;
|
|
/* 02C881AC */ if (_t148) goto L_02C881EC; else goto L_02C881B0;
|
|
L_02C881B0: ; // 0x2c881b0
|
|
/* 02C881B0 */ _t149 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C881B0 */ _t150 = _t149 & 0x00000001u;
|
|
/* 02C881B0 */ if (_t150) goto L_02C881D8; else goto L_02C881B4;
|
|
L_02C881B4: ; // 0x2c881b4
|
|
/* 02C881B4 */ cpu->r[12] = 0x18F30000u;
|
|
/* 02C881B8 */ cpu->r[12] = cpu->r[12] + 0xFFFFB061u;
|
|
/* 02C881BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[12]);
|
|
/* 02C881C0 */ _t151 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C881C0 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02C881C0 */ if (_t152) goto L_02C881EC; else goto L_02C881C4;
|
|
L_02C881C4: ; // 0x2c881c4
|
|
/* 02C881C4 */ _t153 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C881C4 */ _t154 = _t153 & 0x00000001u;
|
|
/* 02C881C4 */ if (_t154) goto L_02C881D8; else goto L_02C881C8;
|
|
L_02C881C8: ; // 0x2c881c8
|
|
/* 02C881C8 */ cpu->r[12] = 0xAEA00000u;
|
|
/* 02C881CC */ cpu->r[12] = cpu->r[12] + 0x00007118u;
|
|
/* 02C881D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[12]);
|
|
/* 02C881D4 */ _t155 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C881D4 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02C881D4 */ if (_t156) goto L_02C881D8; else goto L_02C881EC;
|
|
L_02C881D8: ; // 0x2c881d8
|
|
/* 02C881D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C881DC */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C881DC */ _t158 = _t157 & 0x00000001u;
|
|
/* 02C881DC */ if (_t158) goto L_02C881EC; else goto L_02C881E0;
|
|
L_02C881E0: ; // 0x2c881e0
|
|
/* 02C881E0 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C881E4 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C881E8 */ goto L_02C882E8;
|
|
L_02C881EC: ; // 0x2c881ec
|
|
/* 02C881EC */ cpu->r[4] = cpu->r[28];
|
|
/* 02C881F0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C881F4 */ Gambit_fn_02C89650(cpu);
|
|
/* 02C881F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C881FC */ cpu->f[31] = cpu->f[1];
|
|
/* 02C88200 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88200 */ _t160 = _t159 & 0x00000001u;
|
|
/* 02C88200 */ if (_t160) goto L_02C882E8; else goto L_02C88204;
|
|
L_02C88204: ; // 0x2c88204
|
|
/* 02C88204 */ cpu->r[12] = cpu->r[27] | cpu->r[28];
|
|
/* 02C88204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88208 */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88208 */ _t162 = _t161 & 0x00000001u;
|
|
/* 02C88208 */ if (_t162) goto L_02C882E8; else goto L_02C8820C;
|
|
L_02C8820C: ; // 0x2c8820c
|
|
/* 02C8820C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000010u);
|
|
/* 02C88214 */ _t163 = cpu->r[12] + 0x00004728u;
|
|
/* 02C88214 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t163);
|
|
/* 02C88218 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88218 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02C88218 */ if (_t165) goto L_02C8821C; else goto L_02C88230;
|
|
L_02C8821C: ; // 0x2c8821c
|
|
/* 02C8821C */ cpu->f[1] = cpu->f[31];
|
|
/* 02C88220 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C88224 */ Gambit_fn_02C87B8C(cpu);
|
|
/* 02C88228 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C8822C */ goto L_02C882C0;
|
|
L_02C88230: ; // 0x2c88230
|
|
/* 02C88230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0xFFFFFEA2u);
|
|
/* 02C88234 */ _t166 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88234 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02C88234 */ if (_t167) goto L_02C88238; else goto L_02C88240;
|
|
L_02C88238: ; // 0x2c88238
|
|
/* 02C88238 */ cpu->f[31] = cpu->f[30];
|
|
/* 02C8823C */ goto L_02C882C0;
|
|
L_02C88240: ; // 0x2c88240
|
|
/* 02C88240 */ /* nop */
|
|
/* 02C88244 */ cpu->r[10] = cpu->r[22] ^ cpu->r[12];
|
|
/* 02C88248 */ cpu->r[10] = cpu->r[10] - cpu->r[12];
|
|
/* 02C8824C */ cpu->r[12] = cpu->r[1] + 0x00000030u;
|
|
/* 02C88250 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x0000001Au, 0x0000001Cu);
|
|
/* 02C88254 */ _t168 = cpu->r[11] + cpu->r[12];
|
|
/* 02C88254 */ cpu->r[0] = rbrew_read8(cpu->mem, _t168);
|
|
/* 02C88258 */ cpu->r[9] = 0x00000000u;
|
|
L_02C8825C: ; // 0x2c8825c
|
|
/* 02C8825C */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C8825C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88260 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88260 */ _t170 = _t169 & 0x00000001u;
|
|
/* 02C88260 */ if (_t170) goto L_02C88274; else goto L_02C88264;
|
|
L_02C88264: ; // 0x2c88264
|
|
/* 02C88264 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C88268 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C8826C */ _t171 = cpu->r[11] + cpu->r[12];
|
|
/* 02C8826C */ cpu->r[13] = rbrew_read8(cpu->mem, _t171);
|
|
/* 02C88270 */ cpu->f[0] = cpu->f[0] * cpu->f[13];
|
|
L_02C88274: ; // 0x2c88274
|
|
/* 02C88274 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02C88278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000005u);
|
|
/* 02C8827C */ /* nop */
|
|
/* 02C88280 */ _t172 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88280 */ _t173 = _t172 & 0x00000001u;
|
|
/* 02C88280 */ if (_t173) goto L_02C8825C; else goto L_02C88284;
|
|
L_02C88284: ; // 0x2c88284
|
|
/* 02C88284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C88288 */ _t174 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88288 */ _t175 = _t174 & 0x00000001u;
|
|
/* 02C88288 */ if (_t175) goto L_02C8828C; else goto L_02C88294;
|
|
L_02C8828C: ; // 0x2c8828c
|
|
/* 02C8828C */ cpu->f[31] = cpu->f[31] * cpu->f[0];
|
|
/* 02C88290 */ goto L_02C88298;
|
|
L_02C88294: ; // 0x2c88294
|
|
/* 02C88294 */ cpu->f[31] = cpu->f[31] / cpu->f[0];
|
|
L_02C88298: ; // 0x2c88298
|
|
/* 02C88298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000008u);
|
|
/* 02C8829C */ _t176 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8829C */ _t177 = _t176 & 0x00000001u;
|
|
/* 02C8829C */ if (_t177) goto L_02C882C0; else goto L_02C882A0;
|
|
L_02C882A0: ; // 0x2c882a0
|
|
/* 02C882A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C882A4 */ _t178 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C882A4 */ _t179 = _t178 & 0x00000001u;
|
|
/* 02C882A4 */ if (_t179) goto L_02C882A8; else goto L_02C882B4;
|
|
L_02C882A8: ; // 0x2c882a8
|
|
/* 02C882A8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C882AC */ _t180 = cpu->r[12] + 0x00004730u;
|
|
/* 02C882AC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t180);
|
|
/* 02C882B0 */ goto L_02C882BC;
|
|
L_02C882B4: ; // 0x2c882b4
|
|
/* 02C882B4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C882B8 */ _t181 = cpu->r[12] + 0x00004738u;
|
|
/* 02C882B8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t181);
|
|
L_02C882BC: ; // 0x2c882bc
|
|
/* 02C882BC */ cpu->f[31] = cpu->f[31] * cpu->f[0];
|
|
L_02C882C0: ; // 0x2c882c0
|
|
/* 02C882C0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C882C4 */ _t182 = cpu->r[12] + 0x00004740u;
|
|
/* 02C882C4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t182);
|
|
/* 02C882C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 02C882CC */ _t183 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C882CC */ _t184 = _t183 & 0x00000001u;
|
|
/* 02C882CC */ if (_t184) goto L_02C882D0; else goto L_02C882E8;
|
|
L_02C882D0: ; // 0x2c882d0
|
|
/* 02C882D0 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C882D4 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C882D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[30]);
|
|
/* 02C882DC */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C882DC */ _t186 = _t185 & 0x00000001u;
|
|
/* 02C882DC */ if (_t186) goto L_02C882E0; else goto L_02C882E8;
|
|
L_02C882E0: ; // 0x2c882e0
|
|
/* 02C882E0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C882E4 */ _t187 = cpu->r[12] + 0x00004748u;
|
|
/* 02C882E4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t187);
|
|
L_02C882E8: ; // 0x2c882e8
|
|
/* 02C882E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C882EC */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C882EC */ _t189 = _t188 & 0x00000001u;
|
|
/* 02C882EC */ if (_t189) goto L_02C882F4; else goto L_02C882F0;
|
|
L_02C882F0: ; // 0x2c882f0
|
|
/* 02C882F0 */ cpu->f[31] = -cpu->f[31];
|
|
L_02C882F4: ; // 0x2c882f4
|
|
/* 02C882F4 */ cpu->r[11] = cpu->r[1] + 0x00000098u;
|
|
/* 02C882F8 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C882FC */ Gambit_fn_02C8A4C8(cpu);
|
|
/* 02C88300 */ cpu->r[11] = cpu->r[11] + 0x00000020u;
|
|
/* 02C88304 */ goto L_02C8A42C;
|
|
L_02C8A42C: ; // 0x2c8a42c
|
|
/* 02C8A42C */ _t190 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A42C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t190);
|
|
/* 02C8A430 */ _t191 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A430 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t191);
|
|
/* 02C8A434 */ _t192 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02C8A438 */ _t193 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t193);
|
|
/* 02C8A43C */ _t194 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t194);
|
|
/* 02C8A440 */ _t195 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t196 = _t195 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t196) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C88308 @ 0x2c88308
|
|
void Gambit_fn_02C88308(CPUState* 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;
|
|
|
|
L_02C87D0C: ; // 0x2c87d0c
|
|
/* 02C87D0C */ cpu->r[0] = cpu->lr;
|
|
/* 02C87D10 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C87D14 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 02C87D14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C87D14 */ cpu->r[1] = _t0;
|
|
/* 02C87D18 */ Gambit_fn_02C8A38C(cpu);
|
|
/* 02C87D1C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C87D20 */ Gambit_fn_02C8A474(cpu);
|
|
/* 02C87D24 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C87D28 */ cpu->r[26] = 0x0000000Au;
|
|
/* 02C87D2C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C87D30 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C87D34 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C87D38 */ cpu->r[5] = 0x00000040u;
|
|
/* 02C87D3C */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02C87D40 */ cpu->r[4] = cpu->r[4] + 0x00004750u;
|
|
/* 02C87D44 */ cpu->r[29] = cpu->r[30];
|
|
/* 02C87D48 */ cpu->r[25] = cpu->r[24];
|
|
/* 02C87D4C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C87D50 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C87D54 */ cpu->r[5] = 0x00000028u;
|
|
/* 02C87D58 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C87D5C */ cpu->r[4] = cpu->r[4] + 0x00004790u;
|
|
/* 02C87D60 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C87D64 */ cpu->r[28] = cpu->r[25];
|
|
/* 02C87D68 */ cpu->r[27] = cpu->r[24];
|
|
/* 02C87D6C */ goto L_02C87D74;
|
|
L_02C87D70: ; // 0x2c87d70
|
|
/* 02C87D70 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C87D74: ; // 0x2c87d74
|
|
/* 02C87D74 */ _t1 = cpu->r[30] + 0x00000000u;
|
|
/* 02C87D74 */ cpu->r[9] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C87D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000020u);
|
|
/* 02C87D7C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87D7C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C87D7C */ if (_t3) goto L_02C87D70; else goto L_02C87D80;
|
|
L_02C87D80: ; // 0x2c87d80
|
|
/* 02C87D80 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFF7u;
|
|
/* 02C87D84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 02C87D88 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87D88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C87D88 */ if (_t5) goto L_02C87D8C; else goto L_02C87D70;
|
|
L_02C87D8C: ; // 0x2c87d8c
|
|
/* 02C87D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000002Du);
|
|
/* 02C87D90 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C87D94 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87D94 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C87D94 */ if (_t7) goto L_02C87DA0; else goto L_02C87D98;
|
|
L_02C87D98: ; // 0x2c87d98
|
|
/* 02C87D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000002Bu);
|
|
/* 02C87D9C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87D9C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C87D9C */ if (_t9) goto L_02C87DA0; else goto L_02C87DB4;
|
|
L_02C87DA0: ; // 0x2c87da0
|
|
/* 02C87DA0 */ cpu->r[12] = cpu->r[9] ^ 0x0000002Du;
|
|
/* 02C87DA4 */ cpu->r[12] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C87DA8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C87DAC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C87DB0 */ cpu->r[23] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
L_02C87DB4: ; // 0x2c87db4
|
|
/* 02C87DB4 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 02C87DB4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C87DB8 */ cpu->r[11] = cpu->r[9] | 0x00000020u;
|
|
/* 02C87DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000006Eu);
|
|
/* 02C87DC0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87DC0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C87DC0 */ if (_t12) goto L_02C87DC4; else goto L_02C87E20;
|
|
L_02C87DC4: ; // 0x2c87dc4
|
|
/* 02C87DC4 */ _t13 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87DC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C87DC8 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000061u);
|
|
/* 02C87DD0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87DD0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C87DD0 */ if (_t15) goto L_02C87DD4; else goto L_02C87E20;
|
|
L_02C87DD4: ; // 0x2c87dd4
|
|
/* 02C87DD4 */ _t16 = cpu->r[30] + 0x00000002u;
|
|
/* 02C87DD4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C87DD8 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C87DE0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87DE0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C87DE0 */ if (_t18) goto L_02C87DE4; else goto L_02C87E20;
|
|
L_02C87DE4: ; // 0x2c87de4
|
|
/* 02C87DE4 */ _t19 = cpu->r[30] + 0x00000003u;
|
|
/* 02C87DE4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02C87DE4 */ cpu->r[30] = _t19;
|
|
/* 02C87DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000028u);
|
|
/* 02C87DEC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87DEC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C87DEC */ if (_t21) goto L_02C87DF0; else goto L_02C87E08;
|
|
L_02C87DF0: ; // 0x2c87df0
|
|
/* 02C87DF0 */ _t22 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87DF0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C87DF0 */ cpu->r[30] = _t22;
|
|
/* 02C87DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C87DF8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87DF8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C87DF8 */ if (_t24) goto L_02C87E08; else goto L_02C87DFC;
|
|
L_02C87DFC: ; // 0x2c87dfc
|
|
/* 02C87DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000029u);
|
|
/* 02C87E00 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E00 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C87E00 */ if (_t26) goto L_02C87E04; else goto L_02C87DF0;
|
|
L_02C87E04: ; // 0x2c87e04
|
|
/* 02C87E04 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C87E08: ; // 0x2c87e08
|
|
/* 02C87E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C87E0C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E0C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C87E0C */ if (_t28) goto L_02C87E14; else goto L_02C87E10;
|
|
L_02C87E10: ; // 0x2c87e10
|
|
/* 02C87E10 */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 02C87E10 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
L_02C87E14: ; // 0x2c87e14
|
|
/* 02C87E14 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C87E18 */ _t30 = cpu->r[12] + 0x00004718u;
|
|
/* 02C87E18 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02C87E1C */ goto L_02C882F4;
|
|
L_02C87E20: ; // 0x2c87e20
|
|
/* 02C87E20 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C87E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000069u);
|
|
/* 02C87E28 */ _t31 = cpu->r[12] + 0x00004720u;
|
|
/* 02C87E28 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 02C87E2C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E2C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C87E2C */ if (_t33) goto L_02C87E30; else goto L_02C87EB4;
|
|
L_02C87E30: ; // 0x2c87e30
|
|
/* 02C87E30 */ _t34 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87E30 */ cpu->r[12] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02C87E34 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C87E3C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E3C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C87E3C */ if (_t36) goto L_02C87E40; else goto L_02C87EB4;
|
|
L_02C87E40: ; // 0x2c87e40
|
|
/* 02C87E40 */ _t37 = cpu->r[30] + 0x00000002u;
|
|
/* 02C87E40 */ cpu->r[12] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02C87E44 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000066u);
|
|
/* 02C87E4C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E4C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C87E4C */ if (_t39) goto L_02C87E50; else goto L_02C87EB4;
|
|
L_02C87E50: ; // 0x2c87e50
|
|
/* 02C87E50 */ _t40 = cpu->r[30] + 0x00000003u;
|
|
/* 02C87E50 */ cpu->r[12] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C87E50 */ cpu->r[30] = _t40;
|
|
/* 02C87E54 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000069u);
|
|
/* 02C87E5C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E5C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C87E5C */ if (_t42) goto L_02C87E60; else goto L_02C87EA4;
|
|
L_02C87E60: ; // 0x2c87e60
|
|
/* 02C87E60 */ _t43 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87E60 */ cpu->r[12] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02C87E64 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000006Eu);
|
|
/* 02C87E6C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E6C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C87E6C */ if (_t45) goto L_02C87E70; else goto L_02C87EA4;
|
|
L_02C87E70: ; // 0x2c87e70
|
|
/* 02C87E70 */ _t46 = cpu->r[30] + 0x00000002u;
|
|
/* 02C87E70 */ cpu->r[12] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02C87E74 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000069u);
|
|
/* 02C87E7C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E7C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C87E7C */ if (_t48) goto L_02C87E80; else goto L_02C87EA4;
|
|
L_02C87E80: ; // 0x2c87e80
|
|
/* 02C87E80 */ _t49 = cpu->r[30] + 0x00000003u;
|
|
/* 02C87E80 */ cpu->r[12] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02C87E84 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000074u);
|
|
/* 02C87E8C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E8C */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C87E8C */ if (_t51) goto L_02C87E90; else goto L_02C87EA4;
|
|
L_02C87E90: ; // 0x2c87e90
|
|
/* 02C87E90 */ _t52 = cpu->r[30] + 0x00000004u;
|
|
/* 02C87E90 */ cpu->r[12] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02C87E94 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000079u);
|
|
/* 02C87E9C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87E9C */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C87E9C */ if (_t54) goto L_02C87EA0; else goto L_02C87EA4;
|
|
L_02C87EA0: ; // 0x2c87ea0
|
|
/* 02C87EA0 */ cpu->r[30] = cpu->r[30] + 0x00000005u;
|
|
L_02C87EA4: ; // 0x2c87ea4
|
|
/* 02C87EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C87EA8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87EA8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C87EA8 */ if (_t56) goto L_02C882E8; else goto L_02C87EAC;
|
|
L_02C87EAC: ; // 0x2c87eac
|
|
/* 02C87EAC */ _t57 = cpu->r[31] + 0x00000000u;
|
|
/* 02C87EAC */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
|
|
/* 02C87EB0 */ goto L_02C882E8;
|
|
L_02C87EB4: ; // 0x2c87eb4
|
|
/* 02C87EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000030u);
|
|
/* 02C87EB8 */ cpu->r[10] = 0x00000013u;
|
|
/* 02C87EBC */ cpu->r[7] = 0x00000065u;
|
|
/* 02C87EC0 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87EC0 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C87EC0 */ if (_t59) goto L_02C87EC4; else goto L_02C87EE4;
|
|
L_02C87EC4: ; // 0x2c87ec4
|
|
/* 02C87EC4 */ _t60 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87EC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02C87EC8 */ cpu->r[12] = cpu->r[12] | 0x00000020u;
|
|
/* 02C87ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000078u);
|
|
/* 02C87ED0 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87ED0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C87ED0 */ if (_t62) goto L_02C87ED4; else goto L_02C87EE4;
|
|
L_02C87ED4: ; // 0x2c87ed4
|
|
/* 02C87ED4 */ cpu->r[7] = 0x00000070u;
|
|
/* 02C87ED8 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02C87EDC */ cpu->r[10] = 0x0000000Du;
|
|
/* 02C87EE0 */ cpu->r[26] = 0x00000010u;
|
|
L_02C87EE4: ; // 0x2c87ee4
|
|
/* 02C87EE4 */ cpu->r[8] = cpu->r[30];
|
|
/* 02C87EE8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
L_02C87EEC: ; // 0x2c87eec
|
|
/* 02C87EEC */ _t63 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87EEC */ cpu->r[12] = rbrew_read8(cpu->mem, _t63);
|
|
/* 02C87EEC */ cpu->r[30] = _t63;
|
|
/* 02C87EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C87EF4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87EF4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C87EF4 */ if (_t65) goto L_02C87EEC; else goto L_02C87EF8;
|
|
L_02C87EF8: ; // 0x2c87ef8
|
|
/* 02C87EF8 */ goto L_02C87F78;
|
|
L_02C87EFC: ; // 0x2c87efc
|
|
/* 02C87EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87F00 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87F00 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C87F00 */ if (_t67) goto L_02C87F0C; else goto L_02C87F04;
|
|
L_02C87F04: ; // 0x2c87f04
|
|
/* 02C87F04 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C87F08 */ goto L_02C87F10;
|
|
L_02C87F0C: ; // 0x2c87f0c
|
|
/* 02C87F0C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
L_02C87F10: ; // 0x2c87f10
|
|
/* 02C87F10 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C87F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[10]);
|
|
/* 02C87F18 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87F18 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C87F18 */ if (_t69) goto L_02C87F74; else goto L_02C87F1C;
|
|
L_02C87F1C: ; // 0x2c87f1c
|
|
/* 02C87F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x0000000Au);
|
|
/* 02C87F20 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87F20 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C87F20 */ if (_t71) goto L_02C87F24; else goto L_02C87F54;
|
|
L_02C87F24: ; // 0x2c87f24
|
|
/* 02C87F24 */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C87F28 */ cpu->r[11] = cpu->r[28] + cpu->r[11];
|
|
/* 02C87F2C */ cpu->r[6] = cpu->r[11] - cpu->r[28];
|
|
/* 02C87F30 */ cpu->r[9] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C87F34 */ cpu->r[6] = cpu->r[6] - cpu->r[6];
|
|
/* 02C87F38 */ _t72 = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C87F38 */ _t73 = cpu->r[9] & 0xFFFFFFFCu;
|
|
/* 02C87F38 */ cpu->r[9] = _t73 | _t72;
|
|
/* 02C87F3C */ cpu->r[9] = cpu->r[9] - cpu->r[6];
|
|
/* 02C87F40 */ cpu->r[27] = cpu->r[27] + cpu->r[9];
|
|
/* 02C87F44 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C87F48 */ cpu->r[28] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C87F4C */ _t74 = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C87F4C */ _t75 = cpu->r[27] & 0xFFFFFFFEu;
|
|
/* 02C87F4C */ cpu->r[27] = _t75 | _t74;
|
|
/* 02C87F50 */ goto L_02C87F60;
|
|
L_02C87F54: ; // 0x2c87f54
|
|
/* 02C87F54 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C87F58 */ _t76 = rbrew_rlwinm(cpu->r[28], 0x00000004u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02C87F58 */ _t77 = cpu->r[27] & 0xFFFFFFF0u;
|
|
/* 02C87F58 */ cpu->r[27] = _t77 | _t76;
|
|
/* 02C87F5C */ cpu->r[28] = rbrew_rlwinm(cpu->r[28], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
L_02C87F60: ; // 0x2c87f60
|
|
/* 02C87F60 */ cpu->r[12] = cpu->r[28] + cpu->r[12];
|
|
/* 02C87F64 */ cpu->r[11] = cpu->r[12] - cpu->r[28];
|
|
/* 02C87F68 */ cpu->r[11] = cpu->r[11] - cpu->r[11];
|
|
/* 02C87F6C */ cpu->r[28] = cpu->r[12];
|
|
/* 02C87F70 */ cpu->r[27] = cpu->r[27] - cpu->r[11];
|
|
L_02C87F74: ; // 0x2c87f74
|
|
/* 02C87F74 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C87F78: ; // 0x2c87f78
|
|
/* 02C87F78 */ _t78 = cpu->r[30] + 0x00000000u;
|
|
/* 02C87F78 */ cpu->r[9] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02C87F7C */ cpu->r[12] = cpu->r[9] + 0xFFFFFFD0u;
|
|
/* 02C87F80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Au);
|
|
/* 02C87F84 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87F84 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C87F84 */ if (_t80) goto L_02C87F88; else goto L_02C87F90;
|
|
L_02C87F88: ; // 0x2c87f88
|
|
/* 02C87F88 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFD0u;
|
|
/* 02C87F8C */ goto L_02C87F98;
|
|
L_02C87F90: ; // 0x2c87f90
|
|
/* 02C87F90 */ cpu->r[12] = cpu->r[9] | 0x00000020u;
|
|
/* 02C87F94 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFA9u;
|
|
L_02C87F98: ; // 0x2c87f98
|
|
/* 02C87F98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[26]);
|
|
/* 02C87F9C */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87F9C */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C87F9C */ if (_t82) goto L_02C87EFC; else goto L_02C87FA0;
|
|
L_02C87FA0: ; // 0x2c87fa0
|
|
/* 02C87FA0 */ cpu->r[22] = cpu->r[24] - cpu->r[10];
|
|
/* 02C87FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C87FA4 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C87FA4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C87FA4 */ if (_t84) goto L_02C87FA8; else goto L_02C87FAC;
|
|
L_02C87FA8: ; // 0x2c87fa8
|
|
/* 02C87FA8 */ cpu->r[22] = 0x00000000u;
|
|
L_02C87FAC: ; // 0x2c87fac
|
|
/* 02C87FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000002Eu);
|
|
/* 02C87FB0 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87FB0 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C87FB0 */ if (_t86) goto L_02C87FB4; else goto L_02C88088;
|
|
L_02C87FB4: ; // 0x2c87fb4
|
|
/* 02C87FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C87FB8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C87FBC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C87FC0 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87FC0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C87FC0 */ if (_t88) goto L_02C87FC4; else goto L_02C88060;
|
|
L_02C87FC4: ; // 0x2c87fc4
|
|
/* 02C87FC4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
L_02C87FC8: ; // 0x2c87fc8
|
|
/* 02C87FC8 */ _t89 = cpu->r[30] + 0x00000001u;
|
|
/* 02C87FC8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t89);
|
|
/* 02C87FC8 */ cpu->r[30] = _t89;
|
|
/* 02C87FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000030u);
|
|
/* 02C87FD0 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87FD0 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02C87FD0 */ if (_t91) goto L_02C87FD4; else goto L_02C88060;
|
|
L_02C87FD4: ; // 0x2c87fd4
|
|
/* 02C87FD4 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02C87FD8 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C87FDC */ goto L_02C87FC8;
|
|
L_02C87FE0: ; // 0x2c87fe0
|
|
/* 02C87FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C87FE4 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C87FE4 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02C87FE4 */ if (_t93) goto L_02C87FF0; else goto L_02C87FE8;
|
|
L_02C87FE8: ; // 0x2c87fe8
|
|
/* 02C87FE8 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C87FEC */ goto L_02C87FF4;
|
|
L_02C87FF0: ; // 0x2c87ff0
|
|
/* 02C87FF0 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
L_02C87FF4: ; // 0x2c87ff4
|
|
/* 02C87FF4 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C87FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[10]);
|
|
/* 02C87FFC */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C87FFC */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C87FFC */ if (_t95) goto L_02C8805C; else goto L_02C88000;
|
|
L_02C88000: ; // 0x2c88000
|
|
/* 02C88000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x0000000Au);
|
|
/* 02C88004 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88004 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C88004 */ if (_t97) goto L_02C88008; else goto L_02C88038;
|
|
L_02C88008: ; // 0x2c88008
|
|
/* 02C88008 */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C8800C */ cpu->r[11] = cpu->r[28] + cpu->r[11];
|
|
/* 02C88010 */ cpu->r[9] = cpu->r[11] - cpu->r[28];
|
|
/* 02C88014 */ cpu->r[6] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C88018 */ cpu->r[9] = cpu->r[9] - cpu->r[9];
|
|
/* 02C8801C */ _t98 = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C8801C */ _t99 = cpu->r[6] & 0xFFFFFFFCu;
|
|
/* 02C8801C */ cpu->r[6] = _t99 | _t98;
|
|
/* 02C88020 */ cpu->r[9] = cpu->r[6] - cpu->r[9];
|
|
/* 02C88024 */ cpu->r[27] = cpu->r[27] + cpu->r[9];
|
|
/* 02C88028 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C8802C */ cpu->r[28] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88030 */ _t100 = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C88030 */ _t101 = cpu->r[27] & 0xFFFFFFFEu;
|
|
/* 02C88030 */ cpu->r[27] = _t101 | _t100;
|
|
/* 02C88034 */ goto L_02C88044;
|
|
L_02C88038: ; // 0x2c88038
|
|
/* 02C88038 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C8803C */ _t102 = rbrew_rlwinm(cpu->r[28], 0x00000004u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02C8803C */ _t103 = cpu->r[27] & 0xFFFFFFF0u;
|
|
/* 02C8803C */ cpu->r[27] = _t103 | _t102;
|
|
/* 02C88040 */ cpu->r[28] = rbrew_rlwinm(cpu->r[28], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
L_02C88044: ; // 0x2c88044
|
|
/* 02C88044 */ cpu->r[12] = cpu->r[28] + cpu->r[12];
|
|
/* 02C88048 */ cpu->r[11] = cpu->r[12] - cpu->r[28];
|
|
/* 02C8804C */ cpu->r[11] = cpu->r[11] - cpu->r[11];
|
|
/* 02C88050 */ cpu->r[28] = cpu->r[12];
|
|
/* 02C88054 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02C88058 */ cpu->r[27] = cpu->r[27] - cpu->r[11];
|
|
L_02C8805C: ; // 0x2c8805c
|
|
/* 02C8805C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C88060: ; // 0x2c88060
|
|
/* 02C88060 */ _t104 = cpu->r[30] + 0x00000000u;
|
|
/* 02C88060 */ cpu->r[9] = rbrew_read8(cpu->mem, _t104);
|
|
/* 02C88064 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFD0u;
|
|
/* 02C88068 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Au);
|
|
/* 02C8806C */ _t105 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8806C */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C8806C */ if (_t106) goto L_02C88070; else goto L_02C88078;
|
|
L_02C88070: ; // 0x2c88070
|
|
/* 02C88070 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFD0u;
|
|
/* 02C88074 */ goto L_02C88080;
|
|
L_02C88078: ; // 0x2c88078
|
|
/* 02C88078 */ cpu->r[12] = cpu->r[9] | 0x00000020u;
|
|
/* 02C8807C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFA9u;
|
|
L_02C88080: ; // 0x2c88080
|
|
/* 02C88080 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[26]);
|
|
/* 02C88084 */ _t107 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88084 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02C88084 */ if (_t108) goto L_02C87FE0; else goto L_02C88088;
|
|
L_02C88088: ; // 0x2c88088
|
|
/* 02C88088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000010u);
|
|
/* 02C8808C */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8808C */ _t110 = _t109 & 0x00000001u;
|
|
/* 02C8808C */ if (_t110) goto L_02C88090; else goto L_02C88094;
|
|
L_02C88090: ; // 0x2c88090
|
|
/* 02C88090 */ cpu->r[22] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_02C88094: ; // 0x2c88094
|
|
/* 02C88094 */ cpu->r[12] = cpu->r[9] | 0x00000020u;
|
|
/* 02C88098 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[7]);
|
|
/* 02C8809C */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8809C */ _t112 = _t111 & 0x00000001u;
|
|
/* 02C8809C */ if (_t112) goto L_02C880A0; else goto L_02C88128;
|
|
L_02C880A0: ; // 0x2c880a0
|
|
/* 02C880A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 02C880A4 */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C880A4 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02C880A4 */ if (_t114) goto L_02C880A8; else goto L_02C88128;
|
|
L_02C880A8: ; // 0x2c880a8
|
|
/* 02C880A8 */ cpu->r[11] = cpu->r[30];
|
|
/* 02C880AC */ _t115 = cpu->r[30] + 0x00000001u;
|
|
/* 02C880AC */ cpu->r[9] = rbrew_read8(cpu->mem, _t115);
|
|
/* 02C880AC */ cpu->r[30] = _t115;
|
|
/* 02C880B0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C880B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000002Du);
|
|
/* 02C880B8 */ cpu->r[6] = cpu->r[7];
|
|
/* 02C880BC */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C880BC */ _t117 = _t116 & 0x00000001u;
|
|
/* 02C880BC */ if (_t117) goto L_02C880C8; else goto L_02C880C0;
|
|
L_02C880C0: ; // 0x2c880c0
|
|
/* 02C880C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000002Bu);
|
|
/* 02C880C4 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C880C4 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02C880C4 */ if (_t119) goto L_02C880C8; else goto L_02C880DC;
|
|
L_02C880C8: ; // 0x2c880c8
|
|
/* 02C880C8 */ cpu->r[12] = cpu->r[9] ^ 0x0000002Du;
|
|
/* 02C880CC */ cpu->r[12] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C880D0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C880D4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C880D8 */ cpu->r[6] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
L_02C880DC: ; // 0x2c880dc
|
|
/* 02C880DC */ _t120 = cpu->r[30] + 0x00000000u;
|
|
/* 02C880DC */ cpu->r[12] = rbrew_read8(cpu->mem, _t120);
|
|
/* 02C880E0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 02C880E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Au);
|
|
/* 02C880E8 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C880E8 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02C880E8 */ if (_t122) goto L_02C880EC; else goto L_02C88118;
|
|
L_02C880EC: ; // 0x2c880ec
|
|
/* 02C880EC */ goto L_02C88104;
|
|
L_02C880F0: ; // 0x2c880f0
|
|
/* 02C880F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x000003E8u);
|
|
/* 02C880F4 */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C880F4 */ _t124 = _t123 & 0x00000001u;
|
|
/* 02C880F4 */ if (_t124) goto L_02C880F8; else goto L_02C88100;
|
|
L_02C880F8: ; // 0x2c880f8
|
|
/* 02C880F8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000000Au);
|
|
/* 02C880FC */ cpu->r[7] = cpu->r[11] + cpu->r[12];
|
|
L_02C88100: ; // 0x2c88100
|
|
/* 02C88100 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C88104: ; // 0x2c88104
|
|
/* 02C88104 */ _t125 = cpu->r[30] + 0x00000000u;
|
|
/* 02C88104 */ cpu->r[12] = rbrew_read8(cpu->mem, _t125);
|
|
/* 02C88108 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 02C8810C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000009u);
|
|
/* 02C88110 */ _t126 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88110 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02C88110 */ if (_t127) goto L_02C88114; else goto L_02C880F0;
|
|
L_02C88114: ; // 0x2c88114
|
|
/* 02C88114 */ goto L_02C8811C;
|
|
L_02C88118: ; // 0x2c88118
|
|
/* 02C88118 */ cpu->r[30] = cpu->r[11];
|
|
L_02C8811C: ; // 0x2c8811c
|
|
/* 02C8811C */ cpu->r[12] = cpu->r[7] ^ cpu->r[6];
|
|
/* 02C88120 */ cpu->r[7] = cpu->r[12] - cpu->r[6];
|
|
/* 02C88124 */ cpu->r[22] = cpu->r[22] + cpu->r[7];
|
|
L_02C88128: ; // 0x2c88128
|
|
/* 02C88128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C8812C */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8812C */ _t129 = _t128 & 0x00000001u;
|
|
/* 02C8812C */ if (_t129) goto L_02C88140; else goto L_02C88130;
|
|
L_02C88130: ; // 0x2c88130
|
|
/* 02C88130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 02C88134 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88134 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02C88134 */ if (_t131) goto L_02C88138; else goto L_02C8813C;
|
|
L_02C88138: ; // 0x2c88138
|
|
/* 02C88138 */ cpu->r[30] = cpu->r[29];
|
|
L_02C8813C: ; // 0x2c8813c
|
|
/* 02C8813C */ _t132 = cpu->r[31] + 0x00000000u;
|
|
/* 02C8813C */ rbrew_write32(cpu->mem, _t132, cpu->r[30]);
|
|
L_02C88140: ; // 0x2c88140
|
|
/* 02C88140 */ cpu->r[12] = cpu->r[24] - cpu->r[25];
|
|
/* 02C88144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[10]);
|
|
/* 02C88148 */ _t133 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88148 */ _t134 = _t133 & 0x00000001u;
|
|
/* 02C88148 */ if (_t134) goto L_02C8814C; else goto L_02C88150;
|
|
L_02C8814C: ; // 0x2c8814c
|
|
/* 02C8814C */ cpu->r[28] = cpu->r[28] | 0x00000001u;
|
|
L_02C88150: ; // 0x2c88150
|
|
/* 02C88150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x0000000Au);
|
|
/* 02C88154 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88154 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02C88154 */ if (_t136) goto L_02C88158; else goto L_02C881EC;
|
|
L_02C88158: ; // 0x2c88158
|
|
/* 02C88158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000040u);
|
|
/* 02C8815C */ _t137 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8815C */ _t138 = _t137 & 0x00000001u;
|
|
/* 02C8815C */ if (_t138) goto L_02C88160; else goto L_02C881EC;
|
|
L_02C88160: ; // 0x2c88160
|
|
/* 02C88160 */ cpu->r[12] = cpu->r[10] - cpu->r[24];
|
|
/* 02C88160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88164 */ _t139 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88164 */ _t140 = _t139 & 0x00000001u;
|
|
/* 02C88164 */ if (_t140) goto L_02C88168; else goto L_02C881A8;
|
|
L_02C88168: ; // 0x2c88168
|
|
/* 02C88168 */ cpu->r[22] = cpu->r[22] - cpu->r[12];
|
|
/* 02C8816C */ goto L_02C8819C;
|
|
L_02C88170: ; // 0x2c88170
|
|
/* 02C88170 */ cpu->r[12] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C88174 */ cpu->r[11] = cpu->r[28] + cpu->r[12];
|
|
/* 02C88178 */ cpu->r[12] = cpu->r[11] - cpu->r[28];
|
|
/* 02C8817C */ cpu->r[9] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C88180 */ cpu->r[12] = cpu->r[12] - cpu->r[12];
|
|
/* 02C88184 */ _t141 = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C88184 */ _t142 = cpu->r[9] & 0xFFFFFFFCu;
|
|
/* 02C88184 */ cpu->r[9] = _t142 | _t141;
|
|
/* 02C88188 */ cpu->r[12] = cpu->r[9] - cpu->r[12];
|
|
/* 02C8818C */ cpu->r[27] = cpu->r[27] + cpu->r[12];
|
|
/* 02C88190 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88194 */ cpu->r[28] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88198 */ _t143 = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C88198 */ _t144 = cpu->r[27] & 0xFFFFFFFEu;
|
|
/* 02C88198 */ cpu->r[27] = _t144 | _t143;
|
|
L_02C8819C: ; // 0x2c8819c
|
|
/* 02C8819C */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C881A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[10]);
|
|
/* 02C881A4 */ _t145 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C881A4 */ _t146 = _t145 & 0x00000001u;
|
|
/* 02C881A4 */ if (_t146) goto L_02C881A8; else goto L_02C88170;
|
|
L_02C881A8: ; // 0x2c881a8
|
|
/* 02C881A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000122u);
|
|
/* 02C881AC */ _t147 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C881AC */ _t148 = _t147 & 0x00000001u;
|
|
/* 02C881AC */ if (_t148) goto L_02C881EC; else goto L_02C881B0;
|
|
L_02C881B0: ; // 0x2c881b0
|
|
/* 02C881B0 */ _t149 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C881B0 */ _t150 = _t149 & 0x00000001u;
|
|
/* 02C881B0 */ if (_t150) goto L_02C881D8; else goto L_02C881B4;
|
|
L_02C881B4: ; // 0x2c881b4
|
|
/* 02C881B4 */ cpu->r[12] = 0x18F30000u;
|
|
/* 02C881B8 */ cpu->r[12] = cpu->r[12] + 0xFFFFB061u;
|
|
/* 02C881BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[12]);
|
|
/* 02C881C0 */ _t151 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C881C0 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02C881C0 */ if (_t152) goto L_02C881EC; else goto L_02C881C4;
|
|
L_02C881C4: ; // 0x2c881c4
|
|
/* 02C881C4 */ _t153 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C881C4 */ _t154 = _t153 & 0x00000001u;
|
|
/* 02C881C4 */ if (_t154) goto L_02C881D8; else goto L_02C881C8;
|
|
L_02C881C8: ; // 0x2c881c8
|
|
/* 02C881C8 */ cpu->r[12] = 0xAEA00000u;
|
|
/* 02C881CC */ cpu->r[12] = cpu->r[12] + 0x00007118u;
|
|
/* 02C881D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[12]);
|
|
/* 02C881D4 */ _t155 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C881D4 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02C881D4 */ if (_t156) goto L_02C881D8; else goto L_02C881EC;
|
|
L_02C881D8: ; // 0x2c881d8
|
|
/* 02C881D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C881DC */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C881DC */ _t158 = _t157 & 0x00000001u;
|
|
/* 02C881DC */ if (_t158) goto L_02C881EC; else goto L_02C881E0;
|
|
L_02C881E0: ; // 0x2c881e0
|
|
/* 02C881E0 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C881E4 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C881E8 */ goto L_02C882E8;
|
|
L_02C881EC: ; // 0x2c881ec
|
|
/* 02C881EC */ cpu->r[4] = cpu->r[28];
|
|
/* 02C881F0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C881F4 */ Gambit_fn_02C89650(cpu);
|
|
/* 02C881F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C881FC */ cpu->f[31] = cpu->f[1];
|
|
/* 02C88200 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88200 */ _t160 = _t159 & 0x00000001u;
|
|
/* 02C88200 */ if (_t160) goto L_02C882E8; else goto L_02C88204;
|
|
L_02C88204: ; // 0x2c88204
|
|
/* 02C88204 */ cpu->r[12] = cpu->r[27] | cpu->r[28];
|
|
/* 02C88204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88208 */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88208 */ _t162 = _t161 & 0x00000001u;
|
|
/* 02C88208 */ if (_t162) goto L_02C882E8; else goto L_02C8820C;
|
|
L_02C8820C: ; // 0x2c8820c
|
|
/* 02C8820C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000010u);
|
|
/* 02C88214 */ _t163 = cpu->r[12] + 0x00004728u;
|
|
/* 02C88214 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t163);
|
|
/* 02C88218 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88218 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02C88218 */ if (_t165) goto L_02C8821C; else goto L_02C88230;
|
|
L_02C8821C: ; // 0x2c8821c
|
|
/* 02C8821C */ cpu->f[1] = cpu->f[31];
|
|
/* 02C88220 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C88224 */ Gambit_fn_02C87B8C(cpu);
|
|
/* 02C88228 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C8822C */ goto L_02C882C0;
|
|
L_02C88230: ; // 0x2c88230
|
|
/* 02C88230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0xFFFFFEA2u);
|
|
/* 02C88234 */ _t166 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88234 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02C88234 */ if (_t167) goto L_02C88238; else goto L_02C88240;
|
|
L_02C88238: ; // 0x2c88238
|
|
/* 02C88238 */ cpu->f[31] = cpu->f[30];
|
|
/* 02C8823C */ goto L_02C882C0;
|
|
L_02C88240: ; // 0x2c88240
|
|
/* 02C88240 */ /* nop */
|
|
/* 02C88244 */ cpu->r[10] = cpu->r[22] ^ cpu->r[12];
|
|
/* 02C88248 */ cpu->r[10] = cpu->r[10] - cpu->r[12];
|
|
/* 02C8824C */ cpu->r[12] = cpu->r[1] + 0x00000030u;
|
|
/* 02C88250 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x0000001Au, 0x0000001Cu);
|
|
/* 02C88254 */ _t168 = cpu->r[11] + cpu->r[12];
|
|
/* 02C88254 */ cpu->r[0] = rbrew_read8(cpu->mem, _t168);
|
|
/* 02C88258 */ cpu->r[9] = 0x00000000u;
|
|
L_02C8825C: ; // 0x2c8825c
|
|
/* 02C8825C */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C8825C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88260 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88260 */ _t170 = _t169 & 0x00000001u;
|
|
/* 02C88260 */ if (_t170) goto L_02C88274; else goto L_02C88264;
|
|
L_02C88264: ; // 0x2c88264
|
|
/* 02C88264 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C88268 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C8826C */ _t171 = cpu->r[11] + cpu->r[12];
|
|
/* 02C8826C */ cpu->r[13] = rbrew_read8(cpu->mem, _t171);
|
|
/* 02C88270 */ cpu->f[0] = cpu->f[0] * cpu->f[13];
|
|
L_02C88274: ; // 0x2c88274
|
|
/* 02C88274 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02C88278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000005u);
|
|
/* 02C8827C */ /* nop */
|
|
/* 02C88280 */ _t172 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88280 */ _t173 = _t172 & 0x00000001u;
|
|
/* 02C88280 */ if (_t173) goto L_02C8825C; else goto L_02C88284;
|
|
L_02C88284: ; // 0x2c88284
|
|
/* 02C88284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C88288 */ _t174 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88288 */ _t175 = _t174 & 0x00000001u;
|
|
/* 02C88288 */ if (_t175) goto L_02C8828C; else goto L_02C88294;
|
|
L_02C8828C: ; // 0x2c8828c
|
|
/* 02C8828C */ cpu->f[31] = cpu->f[31] * cpu->f[0];
|
|
/* 02C88290 */ goto L_02C88298;
|
|
L_02C88294: ; // 0x2c88294
|
|
/* 02C88294 */ cpu->f[31] = cpu->f[31] / cpu->f[0];
|
|
L_02C88298: ; // 0x2c88298
|
|
/* 02C88298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000008u);
|
|
/* 02C8829C */ _t176 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8829C */ _t177 = _t176 & 0x00000001u;
|
|
/* 02C8829C */ if (_t177) goto L_02C882C0; else goto L_02C882A0;
|
|
L_02C882A0: ; // 0x2c882a0
|
|
/* 02C882A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C882A4 */ _t178 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C882A4 */ _t179 = _t178 & 0x00000001u;
|
|
/* 02C882A4 */ if (_t179) goto L_02C882A8; else goto L_02C882B4;
|
|
L_02C882A8: ; // 0x2c882a8
|
|
/* 02C882A8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C882AC */ _t180 = cpu->r[12] + 0x00004730u;
|
|
/* 02C882AC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t180);
|
|
/* 02C882B0 */ goto L_02C882BC;
|
|
L_02C882B4: ; // 0x2c882b4
|
|
/* 02C882B4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C882B8 */ _t181 = cpu->r[12] + 0x00004738u;
|
|
/* 02C882B8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t181);
|
|
L_02C882BC: ; // 0x2c882bc
|
|
/* 02C882BC */ cpu->f[31] = cpu->f[31] * cpu->f[0];
|
|
L_02C882C0: ; // 0x2c882c0
|
|
/* 02C882C0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C882C4 */ _t182 = cpu->r[12] + 0x00004740u;
|
|
/* 02C882C4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t182);
|
|
/* 02C882C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 02C882CC */ _t183 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C882CC */ _t184 = _t183 & 0x00000001u;
|
|
/* 02C882CC */ if (_t184) goto L_02C882D0; else goto L_02C882E8;
|
|
L_02C882D0: ; // 0x2c882d0
|
|
/* 02C882D0 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C882D4 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C882D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[30]);
|
|
/* 02C882DC */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C882DC */ _t186 = _t185 & 0x00000001u;
|
|
/* 02C882DC */ if (_t186) goto L_02C882E0; else goto L_02C882E8;
|
|
L_02C882E0: ; // 0x2c882e0
|
|
/* 02C882E0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C882E4 */ _t187 = cpu->r[12] + 0x00004748u;
|
|
/* 02C882E4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t187);
|
|
L_02C882E8: ; // 0x2c882e8
|
|
/* 02C882E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C882EC */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C882EC */ _t189 = _t188 & 0x00000001u;
|
|
/* 02C882EC */ if (_t189) goto L_02C882F4; else goto L_02C882F0;
|
|
L_02C882F0: ; // 0x2c882f0
|
|
/* 02C882F0 */ cpu->f[31] = -cpu->f[31];
|
|
L_02C882F4: ; // 0x2c882f4
|
|
/* 02C882F4 */ cpu->r[11] = cpu->r[1] + 0x00000098u;
|
|
/* 02C882F8 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C882FC */ Gambit_fn_02C8A4C8(cpu);
|
|
/* 02C88300 */ cpu->r[11] = cpu->r[11] + 0x00000020u;
|
|
/* 02C88304 */ goto L_02C8A42C;
|
|
L_02C88308: ; // 0x2c88308
|
|
/* 02C88308 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C8830C */ goto L_02C87D0C;
|
|
L_02C8A42C: ; // 0x2c8a42c
|
|
/* 02C8A42C */ _t190 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A42C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t190);
|
|
/* 02C8A430 */ _t191 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A430 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t191);
|
|
/* 02C8A434 */ _t192 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02C8A438 */ _t193 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t193);
|
|
/* 02C8A43C */ _t194 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t194);
|
|
/* 02C8A440 */ _t195 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t196 = _t195 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t196) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C88310 @ 0x2c88310
|
|
void Gambit_fn_02C88310(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C88310: ; // 0x2c88310
|
|
/* 02C88310 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88314 */ _t0 = cpu->r[12] + 0x000047B8u;
|
|
/* 02C88314 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C88318 */ return;
|
|
}
|
|
|
|
// fn_02C8831C @ 0x2c8831c
|
|
void Gambit_fn_02C8831C(CPUState* 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_02C8831C: ; // 0x2c8831c
|
|
/* 02C8831C */ cpu->r[0] = cpu->lr;
|
|
/* 02C88320 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C88324 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C88324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88324 */ cpu->r[1] = _t0;
|
|
/* 02C88328 */ Gambit_fn_02C8A374(cpu);
|
|
/* 02C8832C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFC0u;
|
|
/* 02C88330 */ Gambit_fn_02C8A498(cpu);
|
|
/* 02C88334 */ cpu->f[28] = fabs(cpu->f[2]);
|
|
/* 02C88338 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8833C */ _t1 = cpu->r[12] + 0x000047BCu;
|
|
/* 02C8833C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C88340 */ cpu->f[30] = cpu->f[1];
|
|
/* 02C88344 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88344 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[28]);
|
|
/* 02C88348 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88348 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C8834C */ cpu->r[31] = rbrew_rlwinm(cpu->r[12], 0x00000009u, 0x00000017u, 0x0000001Fu);
|
|
/* 02C8834C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C88350 */ cpu->f[29] = fabs(cpu->f[30]);
|
|
/* 02C88354 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88354 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C88354 */ if (_t5) goto L_02C88358; else goto L_02C88374;
|
|
L_02C88358: ; // 0x2c88358
|
|
/* 02C88358 */ cpu->r[3] = 0x00000021u;
|
|
/* 02C8835C */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C88360: ; // 0x2c88360
|
|
/* 02C88360 */ cpu->r[11] = cpu->r[1] + 0x00000010u;
|
|
/* 02C88364 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C88368 */ Gambit_fn_02C8A4EC(cpu);
|
|
/* 02C8836C */ cpu->r[11] = cpu->r[11] + 0x00000040u;
|
|
/* 02C88370 */ goto L_02C8A41C;
|
|
L_02C88374: ; // 0x2c88374
|
|
/* 02C88374 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88374 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 02C88378 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88378 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8837C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000009u, 0x00000017u, 0x0000001Fu);
|
|
/* 02C8837C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88380 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88380 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C88380 */ if (_t9) goto L_02C8838C; else goto L_02C88384;
|
|
L_02C88384: ; // 0x2c88384
|
|
/* 02C88384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FFu);
|
|
/* 02C88388 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88388 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C88388 */ if (_t11) goto L_02C8838C; else goto L_02C88394;
|
|
L_02C8838C: ; // 0x2c8838c
|
|
/* 02C8838C */ cpu->f[31] = cpu->f[30];
|
|
/* 02C88390 */ goto L_02C88360;
|
|
L_02C88394: ; // 0x2c88394
|
|
/* 02C88394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x000000FFu);
|
|
/* 02C88398 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88398 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C88398 */ if (_t13) goto L_02C8839C; else goto L_02C883A4;
|
|
L_02C8839C: ; // 0x2c8839c
|
|
/* 02C8839C */ cpu->f[31] = cpu->f[2];
|
|
/* 02C883A0 */ goto L_02C88360;
|
|
L_02C883A4: ; // 0x2c883a4
|
|
/* 02C883A4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFF82u;
|
|
L_02C883A8: ; // 0x2c883a8
|
|
/* 02C883A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[28]);
|
|
/* 02C883AC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C883AC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C883AC */ if (_t15) goto L_02C883B0; else goto L_02C883C8;
|
|
L_02C883B0: ; // 0x2c883b0
|
|
/* 02C883B0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 02C883B4 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C883B4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C883B4 */ if (_t17) goto L_02C883B8; else goto L_02C883C0;
|
|
L_02C883B8: ; // 0x2c883b8
|
|
/* 02C883B8 */ cpu->f[31] = -cpu->f[29];
|
|
/* 02C883BC */ goto L_02C88360;
|
|
L_02C883C0: ; // 0x2c883c0
|
|
/* 02C883C0 */ cpu->f[31] = cpu->f[29];
|
|
/* 02C883C4 */ goto L_02C88360;
|
|
L_02C883C8: ; // 0x2c883c8
|
|
/* 02C883C8 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C883C8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[29]);
|
|
/* 02C883CC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C883CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C883D0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000009u, 0x00000017u, 0x0000001Fu);
|
|
/* 02C883D4 */ cpu->f[1] = cpu->f[28];
|
|
/* 02C883D8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFF82u;
|
|
/* 02C883DC */ cpu->r[3] = cpu->r[12] - cpu->r[31];
|
|
/* 02C883E0 */ Gambit_fn_02C88A00(cpu);
|
|
/* 02C883E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[29]);
|
|
/* 02C883E8 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C883E8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C883E8 */ if (_t21) goto L_02C883EC; else goto L_02C883F4;
|
|
L_02C883EC: ; // 0x2c883ec
|
|
/* 02C883EC */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C883F0 */ Gambit_fn_02C88A00(cpu);
|
|
L_02C883F4: ; // 0x2c883f4
|
|
/* 02C883F4 */ cpu->f[29] = cpu->f[29] - cpu->f[1];
|
|
/* 02C883F8 */ goto L_02C883A8;
|
|
L_02C8A41C: ; // 0x2c8a41c
|
|
/* 02C8A41C */ _t22 = cpu->r[11] + 0xFFFFFFC8u;
|
|
/* 02C8A41C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C8A420 */ _t23 = cpu->r[11] + 0xFFFFFFC0u;
|
|
/* 02C8A420 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 02C8A424 */ _t24 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A424 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C8A428 */ _t25 = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C8A428 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 02C8A42C */ _t26 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A42C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C8A430 */ _t27 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A430 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 02C8A434 */ _t28 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A438 */ _t29 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C8A43C */ _t30 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02C8A440 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t32) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C88324 @ 0x2c88324
|
|
void Gambit_fn_02C88324(CPUState* 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_02C88324: ; // 0x2c88324
|
|
/* 02C88324 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C88324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88324 */ cpu->r[1] = _t0;
|
|
/* 02C88328 */ Gambit_fn_02C8A374(cpu);
|
|
/* 02C8832C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFC0u;
|
|
/* 02C88330 */ Gambit_fn_02C8A498(cpu);
|
|
/* 02C88334 */ cpu->f[28] = fabs(cpu->f[2]);
|
|
/* 02C88338 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8833C */ _t1 = cpu->r[12] + 0x000047BCu;
|
|
/* 02C8833C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C88340 */ cpu->f[30] = cpu->f[1];
|
|
/* 02C88344 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88344 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[28]);
|
|
/* 02C88348 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88348 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C8834C */ cpu->r[31] = rbrew_rlwinm(cpu->r[12], 0x00000009u, 0x00000017u, 0x0000001Fu);
|
|
/* 02C8834C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C88350 */ cpu->f[29] = fabs(cpu->f[30]);
|
|
/* 02C88354 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88354 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C88354 */ if (_t5) goto L_02C88358; else goto L_02C88374;
|
|
L_02C88358: ; // 0x2c88358
|
|
/* 02C88358 */ cpu->r[3] = 0x00000021u;
|
|
/* 02C8835C */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C88360: ; // 0x2c88360
|
|
/* 02C88360 */ cpu->r[11] = cpu->r[1] + 0x00000010u;
|
|
/* 02C88364 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C88368 */ Gambit_fn_02C8A4EC(cpu);
|
|
/* 02C8836C */ cpu->r[11] = cpu->r[11] + 0x00000040u;
|
|
/* 02C88370 */ goto L_02C8A41C;
|
|
L_02C88374: ; // 0x2c88374
|
|
/* 02C88374 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88374 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 02C88378 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88378 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8837C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000009u, 0x00000017u, 0x0000001Fu);
|
|
/* 02C8837C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88380 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88380 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C88380 */ if (_t9) goto L_02C8838C; else goto L_02C88384;
|
|
L_02C88384: ; // 0x2c88384
|
|
/* 02C88384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FFu);
|
|
/* 02C88388 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88388 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C88388 */ if (_t11) goto L_02C8838C; else goto L_02C88394;
|
|
L_02C8838C: ; // 0x2c8838c
|
|
/* 02C8838C */ cpu->f[31] = cpu->f[30];
|
|
/* 02C88390 */ goto L_02C88360;
|
|
L_02C88394: ; // 0x2c88394
|
|
/* 02C88394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x000000FFu);
|
|
/* 02C88398 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88398 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C88398 */ if (_t13) goto L_02C8839C; else goto L_02C883A4;
|
|
L_02C8839C: ; // 0x2c8839c
|
|
/* 02C8839C */ cpu->f[31] = cpu->f[2];
|
|
/* 02C883A0 */ goto L_02C88360;
|
|
L_02C883A4: ; // 0x2c883a4
|
|
/* 02C883A4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFF82u;
|
|
L_02C883A8: ; // 0x2c883a8
|
|
/* 02C883A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[28]);
|
|
/* 02C883AC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C883AC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C883AC */ if (_t15) goto L_02C883B0; else goto L_02C883C8;
|
|
L_02C883B0: ; // 0x2c883b0
|
|
/* 02C883B0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 02C883B4 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C883B4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C883B4 */ if (_t17) goto L_02C883B8; else goto L_02C883C0;
|
|
L_02C883B8: ; // 0x2c883b8
|
|
/* 02C883B8 */ cpu->f[31] = -cpu->f[29];
|
|
/* 02C883BC */ goto L_02C88360;
|
|
L_02C883C0: ; // 0x2c883c0
|
|
/* 02C883C0 */ cpu->f[31] = cpu->f[29];
|
|
/* 02C883C4 */ goto L_02C88360;
|
|
L_02C883C8: ; // 0x2c883c8
|
|
/* 02C883C8 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C883C8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[29]);
|
|
/* 02C883CC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C883CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C883D0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000009u, 0x00000017u, 0x0000001Fu);
|
|
/* 02C883D4 */ cpu->f[1] = cpu->f[28];
|
|
/* 02C883D8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFF82u;
|
|
/* 02C883DC */ cpu->r[3] = cpu->r[12] - cpu->r[31];
|
|
/* 02C883E0 */ Gambit_fn_02C88A00(cpu);
|
|
/* 02C883E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[29]);
|
|
/* 02C883E8 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C883E8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C883E8 */ if (_t21) goto L_02C883EC; else goto L_02C883F4;
|
|
L_02C883EC: ; // 0x2c883ec
|
|
/* 02C883EC */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C883F0 */ Gambit_fn_02C88A00(cpu);
|
|
L_02C883F4: ; // 0x2c883f4
|
|
/* 02C883F4 */ cpu->f[29] = cpu->f[29] - cpu->f[1];
|
|
/* 02C883F8 */ goto L_02C883A8;
|
|
L_02C8A41C: ; // 0x2c8a41c
|
|
/* 02C8A41C */ _t22 = cpu->r[11] + 0xFFFFFFC8u;
|
|
/* 02C8A41C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C8A420 */ _t23 = cpu->r[11] + 0xFFFFFFC0u;
|
|
/* 02C8A420 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 02C8A424 */ _t24 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A424 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C8A428 */ _t25 = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C8A428 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 02C8A42C */ _t26 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A42C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C8A430 */ _t27 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A430 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 02C8A434 */ _t28 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C8A438 */ _t29 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C8A43C */ _t30 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02C8A440 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t32) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C883FC @ 0x2c883fc
|
|
void Gambit_fn_02C883FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C883FC: ; // 0x2c883fc
|
|
/* 02C883FC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88400 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C88400 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88400 */ cpu->r[1] = _t0;
|
|
/* 02C88404 */ _t1 = cpu->r[12] + 0x000047C0u;
|
|
/* 02C88404 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C88408 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02C8840C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8840C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C8840C */ if (_t3) goto L_02C88490; else goto L_02C88410;
|
|
L_02C88410: ; // 0x2c88410
|
|
/* 02C88410 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88410 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[1]);
|
|
/* 02C88414 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88414 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C88418 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000009u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C8841C */ cpu->r[12] = cpu->r[12] + 0xFFFFFF81u;
|
|
/* 02C88420 */ cpu->r[11] = 0x00000017u - cpu->r[12];
|
|
/* 02C88424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C88428 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88428 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C88428 */ if (_t7) goto L_02C8842C; else goto L_02C88490;
|
|
L_02C8842C: ; // 0x2c8842c
|
|
/* 02C8842C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000017u);
|
|
/* 02C88430 */ /* nop */
|
|
/* 02C88434 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88434 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C88434 */ if (_t9) goto L_02C88438; else goto L_02C8845C;
|
|
L_02C88438: ; // 0x2c88438
|
|
/* 02C88438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C8843C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8843C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C8843C */ if (_t11) goto L_02C8844C; else goto L_02C88440;
|
|
L_02C88440: ; // 0x2c88440
|
|
/* 02C88440 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88444 */ _t12 = cpu->r[12] + 0x000047C8u;
|
|
/* 02C88444 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 02C88448 */ goto L_02C88454;
|
|
L_02C8844C: ; // 0x2c8844c
|
|
/* 02C8844C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88450 */ _t13 = cpu->r[12] + 0x000047D0u;
|
|
/* 02C88450 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t13);
|
|
L_02C88454: ; // 0x2c88454
|
|
/* 02C88454 */ cpu->f[1] = (double)(float)cpu->f[0];
|
|
/* 02C88458 */ goto L_02C88490;
|
|
L_02C8845C: ; // 0x2c8845c
|
|
/* 02C8845C */ cpu->r[12] = 0x00000001u;
|
|
/* 02C88460 */ /* nop */
|
|
/* 02C88464 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C88468 */ cpu->r[10] = cpu->r[9] & cpu->r[12];
|
|
/* 02C8846C */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C88470 */ cpu->r[12] = cpu->r[10] - cpu->r[12];
|
|
/* 02C88474 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C88478 */ cpu->r[8] = cpu->r[8] & cpu->r[12];
|
|
/* 02C8847C */ cpu->r[9] = cpu->r[9] - cpu->r[10];
|
|
/* 02C88480 */ cpu->r[11] = cpu->r[11] & cpu->r[8];
|
|
/* 02C88484 */ cpu->r[9] = cpu->r[9] + cpu->r[11];
|
|
/* 02C88488 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88488 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 02C8848C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8848C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
|
|
L_02C88490: ; // 0x2c88490
|
|
/* 02C88490 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C88494 */ return;
|
|
}
|
|
|
|
// fn_02C88400 @ 0x2c88400
|
|
void Gambit_fn_02C88400(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C88400: ; // 0x2c88400
|
|
/* 02C88400 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C88400 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88400 */ cpu->r[1] = _t0;
|
|
/* 02C88404 */ _t1 = cpu->r[12] + 0x000047C0u;
|
|
/* 02C88404 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C88408 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02C8840C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8840C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C8840C */ if (_t3) goto L_02C88490; else goto L_02C88410;
|
|
L_02C88410: ; // 0x2c88410
|
|
/* 02C88410 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88410 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[1]);
|
|
/* 02C88414 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88414 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C88418 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000009u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C8841C */ cpu->r[12] = cpu->r[12] + 0xFFFFFF81u;
|
|
/* 02C88420 */ cpu->r[11] = 0x00000017u - cpu->r[12];
|
|
/* 02C88424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C88428 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88428 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C88428 */ if (_t7) goto L_02C8842C; else goto L_02C88490;
|
|
L_02C8842C: ; // 0x2c8842c
|
|
/* 02C8842C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000017u);
|
|
/* 02C88430 */ /* nop */
|
|
/* 02C88434 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88434 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C88434 */ if (_t9) goto L_02C88438; else goto L_02C8845C;
|
|
L_02C88438: ; // 0x2c88438
|
|
/* 02C88438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C8843C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8843C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C8843C */ if (_t11) goto L_02C8844C; else goto L_02C88440;
|
|
L_02C88440: ; // 0x2c88440
|
|
/* 02C88440 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88444 */ _t12 = cpu->r[12] + 0x000047C8u;
|
|
/* 02C88444 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 02C88448 */ goto L_02C88454;
|
|
L_02C8844C: ; // 0x2c8844c
|
|
/* 02C8844C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88450 */ _t13 = cpu->r[12] + 0x000047D0u;
|
|
/* 02C88450 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t13);
|
|
L_02C88454: ; // 0x2c88454
|
|
/* 02C88454 */ cpu->f[1] = (double)(float)cpu->f[0];
|
|
/* 02C88458 */ goto L_02C88490;
|
|
L_02C8845C: ; // 0x2c8845c
|
|
/* 02C8845C */ cpu->r[12] = 0x00000001u;
|
|
/* 02C88460 */ /* nop */
|
|
/* 02C88464 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C88468 */ cpu->r[10] = cpu->r[9] & cpu->r[12];
|
|
/* 02C8846C */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C88470 */ cpu->r[12] = cpu->r[10] - cpu->r[12];
|
|
/* 02C88474 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C88478 */ cpu->r[8] = cpu->r[8] & cpu->r[12];
|
|
/* 02C8847C */ cpu->r[9] = cpu->r[9] - cpu->r[10];
|
|
/* 02C88480 */ cpu->r[11] = cpu->r[11] & cpu->r[8];
|
|
/* 02C88484 */ cpu->r[9] = cpu->r[9] + cpu->r[11];
|
|
/* 02C88488 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88488 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 02C8848C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8848C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
|
|
L_02C88490: ; // 0x2c88490
|
|
/* 02C88490 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C88494 */ return;
|
|
}
|
|
|
|
// fn_02C88498 @ 0x2c88498
|
|
void Gambit_fn_02C88498(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C88498: ; // 0x2c88498
|
|
/* 02C88498 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C88498 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88498 */ cpu->r[1] = _t0;
|
|
/* 02C8849C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8849C */ rbrew_write_f32(cpu->mem, _t1, cpu->f[1]);
|
|
/* 02C884A0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C884A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C884A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000009u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C884A8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFF81u;
|
|
/* 02C884A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C884AC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C884AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C884AC */ if (_t4) goto L_02C884B0; else goto L_02C884D4;
|
|
L_02C884B0: ; // 0x2c884b0
|
|
/* 02C884B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C884B4 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C884B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C884B4 */ if (_t6) goto L_02C884C8; else goto L_02C884B8;
|
|
L_02C884B8: ; // 0x2c884b8
|
|
/* 02C884B8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C884B8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C884B8 */ if (_t8) goto L_02C884BC; else goto L_02C8851C;
|
|
L_02C884BC: ; // 0x2c884bc
|
|
/* 02C884BC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C884C0 */ _t9 = cpu->r[12] + 0x000047D8u;
|
|
/* 02C884C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C884C4 */ goto L_02C8851C;
|
|
L_02C884C8: ; // 0x2c884c8
|
|
/* 02C884C8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C884CC */ _t10 = cpu->r[12] + 0x000047DCu;
|
|
/* 02C884CC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C884D0 */ goto L_02C8851C;
|
|
L_02C884D4: ; // 0x2c884d4
|
|
/* 02C884D4 */ cpu->r[11] = 0x00000017u - cpu->r[12];
|
|
/* 02C884D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C884DC */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C884DC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C884DC */ if (_t12) goto L_02C884E0; else goto L_02C8851C;
|
|
L_02C884E0: ; // 0x2c884e0
|
|
/* 02C884E0 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[9]);
|
|
/* 02C884E4 */ /* nop */
|
|
/* 02C884E8 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C884EC */ /* nop */
|
|
/* 02C884F0 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C884F4 */ cpu->r[10] = cpu->r[9] & cpu->r[12];
|
|
/* 02C884F8 */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C884FC */ cpu->r[12] = cpu->r[10] - cpu->r[12];
|
|
/* 02C88500 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C88504 */ cpu->r[8] = cpu->r[8] & cpu->r[12];
|
|
/* 02C88508 */ cpu->r[9] = cpu->r[9] - cpu->r[10];
|
|
/* 02C8850C */ cpu->r[11] = cpu->r[11] & cpu->r[8];
|
|
/* 02C88510 */ cpu->r[9] = cpu->r[9] + cpu->r[11];
|
|
/* 02C88514 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88514 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 02C88518 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88518 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14);
|
|
L_02C8851C: ; // 0x2c8851c
|
|
/* 02C8851C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C88520 */ return;
|
|
}
|
|
|
|
// fn_02C88524 @ 0x2c88524
|
|
void Gambit_fn_02C88524(CPUState* 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_02C88524: ; // 0x2c88524
|
|
/* 02C88524 */ cpu->r[0] = cpu->lr;
|
|
/* 02C88528 */ cpu->f[11] = cpu->f[1];
|
|
/* 02C8852C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C8852C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C88530 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C88530 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C88530 */ cpu->r[1] = _t1;
|
|
/* 02C88534 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88534 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[11]);
|
|
/* 02C88538 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C8853C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000009u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C88540 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x000000FFu);
|
|
/* 02C88544 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C88548 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88548 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C88548 */ if (_t5) goto L_02C88558; else goto L_02C8854C;
|
|
L_02C8854C: ; // 0x2c8854c
|
|
/* 02C8854C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88550 */ _t6 = cpu->r[12] + 0x000047E0u;
|
|
/* 02C88550 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C88554 */ goto L_02C8865C;
|
|
L_02C88558: ; // 0x2c88558
|
|
/* 02C88558 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8855C */ _t7 = cpu->r[12] + 0x000047E4u;
|
|
/* 02C8855C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C88560 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[1]);
|
|
/* 02C88564 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88564 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C88564 */ if (_t9) goto L_02C88568; else goto L_02C88570;
|
|
L_02C88568: ; // 0x2c88568
|
|
/* 02C88568 */ cpu->f[11] = -cpu->f[11];
|
|
/* 02C8856C */ cpu->r[11] = 0x00000001u;
|
|
L_02C88570: ; // 0x2c88570
|
|
/* 02C88570 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88574 */ _t10 = cpu->r[12] + 0x000047E8u;
|
|
/* 02C88574 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C88578 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 02C8857C */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8857C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C8857C */ if (_t12) goto L_02C8865C; else goto L_02C88580;
|
|
L_02C88580: ; // 0x2c88580
|
|
/* 02C88580 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88584 */ _t13 = cpu->r[12] + 0x000047ECu;
|
|
/* 02C88584 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C88588 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8858C */ _t14 = cpu->r[12] + 0x000047F0u;
|
|
/* 02C8858C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C88590 */ cpu->f[0] = fma(cpu->f[11], cpu->f[0], cpu->f[13]);
|
|
/* 02C88594 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 02C88598 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C88598 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02C8859C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8859C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C885A0 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C885A4 */ Gambit_fn_02C8A1D4(cpu);
|
|
/* 02C885A8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885AC */ _t17 = cpu->r[12] + 0x000047F4u;
|
|
/* 02C885AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C885B0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885B4 */ cpu->f[11] = fma(cpu->f[1], cpu->f[0], cpu->f[11]);
|
|
/* 02C885B8 */ _t18 = cpu->r[12] + 0x000047F8u;
|
|
/* 02C885B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C885BC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885C0 */ _t19 = cpu->r[12] + 0x000047FCu;
|
|
/* 02C885C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C885C4 */ cpu->f[11] = fma(cpu->f[1], cpu->f[0], cpu->f[11]);
|
|
/* 02C885C8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885CC */ cpu->f[10] = cpu->f[11] * cpu->f[11];
|
|
/* 02C885D0 */ _t20 = cpu->r[12] + 0x00004800u;
|
|
/* 02C885D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C885D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 02C885D8 */ cpu->f[12] = cpu->f[13];
|
|
/* 02C885DC */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C885DC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C885DC */ if (_t22) goto L_02C885E0; else goto L_02C88638;
|
|
L_02C885E0: ; // 0x2c885e0
|
|
/* 02C885E0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885E4 */ _t23 = cpu->r[12] + 0x00004804u;
|
|
/* 02C885E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C885E8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885EC */ _t24 = cpu->r[12] + 0x00004808u;
|
|
/* 02C885EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C885F0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885F4 */ cpu->f[12] = fma(cpu->f[0], cpu->f[10], cpu->f[12]);
|
|
/* 02C885F8 */ _t25 = cpu->r[12] + 0x0000480Cu;
|
|
/* 02C885F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C885FC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88600 */ cpu->f[0] = fma(cpu->f[12], cpu->f[10], cpu->f[0]);
|
|
/* 02C88604 */ _t26 = cpu->r[12] + 0x00004810u;
|
|
/* 02C88604 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C88608 */ cpu->f[0] = cpu->f[0] * cpu->f[10];
|
|
/* 02C8860C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88610 */ cpu->f[11] = fma(cpu->f[0], cpu->f[11], cpu->f[11]);
|
|
/* 02C88614 */ _t27 = cpu->r[12] + 0x00004814u;
|
|
/* 02C88614 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C88618 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8861C */ cpu->f[12] = fma(cpu->f[12], cpu->f[10], cpu->f[0]);
|
|
/* 02C88620 */ _t28 = cpu->r[12] + 0x00004818u;
|
|
/* 02C88620 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C88624 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88628 */ cpu->f[12] = fma(cpu->f[12], cpu->f[10], cpu->f[0]);
|
|
/* 02C8862C */ _t29 = cpu->r[12] + 0x0000481Cu;
|
|
/* 02C8862C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C88630 */ cpu->f[0] = fma(cpu->f[12], cpu->f[10], cpu->f[0]);
|
|
/* 02C88634 */ cpu->f[12] = fma(cpu->f[0], cpu->f[10], cpu->f[13]);
|
|
L_02C88638: ; // 0x2c88638
|
|
/* 02C88638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C8863C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8863C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C8863C */ if (_t31) goto L_02C88644; else goto L_02C88640;
|
|
L_02C88640: ; // 0x2c88640
|
|
/* 02C88640 */ cpu->f[12] = -cpu->f[12];
|
|
L_02C88644: ; // 0x2c88644
|
|
/* 02C88644 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C88644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88648 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88648 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C88648 */ if (_t33) goto L_02C88658; else goto L_02C8864C;
|
|
L_02C8864C: ; // 0x2c8864c
|
|
/* 02C8864C */ cpu->f[0] = cpu->f[12] / cpu->f[11];
|
|
/* 02C88650 */ cpu->f[1] = -cpu->f[0];
|
|
/* 02C88654 */ goto L_02C8865C;
|
|
L_02C88658: ; // 0x2c88658
|
|
/* 02C88658 */ cpu->f[1] = cpu->f[11] / cpu->f[12];
|
|
L_02C8865C: ; // 0x2c8865c
|
|
/* 02C8865C */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8865C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C88660 */ cpu->lr = cpu->r[0];
|
|
/* 02C88664 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C88668 */ return;
|
|
}
|
|
|
|
// fn_02C88530 @ 0x2c88530
|
|
void Gambit_fn_02C88530(CPUState* 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_02C88530: ; // 0x2c88530
|
|
/* 02C88530 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C88530 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88530 */ cpu->r[1] = _t0;
|
|
/* 02C88534 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88534 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[11]);
|
|
/* 02C88538 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C8853C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000009u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C88540 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x000000FFu);
|
|
/* 02C88544 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C88548 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88548 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C88548 */ if (_t4) goto L_02C88558; else goto L_02C8854C;
|
|
L_02C8854C: ; // 0x2c8854c
|
|
/* 02C8854C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88550 */ _t5 = cpu->r[12] + 0x000047E0u;
|
|
/* 02C88550 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C88554 */ goto L_02C8865C;
|
|
L_02C88558: ; // 0x2c88558
|
|
/* 02C88558 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8855C */ _t6 = cpu->r[12] + 0x000047E4u;
|
|
/* 02C8855C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C88560 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[1]);
|
|
/* 02C88564 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88564 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C88564 */ if (_t8) goto L_02C88568; else goto L_02C88570;
|
|
L_02C88568: ; // 0x2c88568
|
|
/* 02C88568 */ cpu->f[11] = -cpu->f[11];
|
|
/* 02C8856C */ cpu->r[11] = 0x00000001u;
|
|
L_02C88570: ; // 0x2c88570
|
|
/* 02C88570 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88574 */ _t9 = cpu->r[12] + 0x000047E8u;
|
|
/* 02C88574 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C88578 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 02C8857C */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C8857C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C8857C */ if (_t11) goto L_02C8865C; else goto L_02C88580;
|
|
L_02C88580: ; // 0x2c88580
|
|
/* 02C88580 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88584 */ _t12 = cpu->r[12] + 0x000047ECu;
|
|
/* 02C88584 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C88588 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8858C */ _t13 = cpu->r[12] + 0x000047F0u;
|
|
/* 02C8858C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C88590 */ cpu->f[0] = fma(cpu->f[11], cpu->f[0], cpu->f[13]);
|
|
/* 02C88594 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 02C88598 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C88598 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02C8859C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8859C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C885A0 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C885A4 */ Gambit_fn_02C8A1D4(cpu);
|
|
/* 02C885A8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885AC */ _t16 = cpu->r[12] + 0x000047F4u;
|
|
/* 02C885AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C885B0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885B4 */ cpu->f[11] = fma(cpu->f[1], cpu->f[0], cpu->f[11]);
|
|
/* 02C885B8 */ _t17 = cpu->r[12] + 0x000047F8u;
|
|
/* 02C885B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C885BC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885C0 */ _t18 = cpu->r[12] + 0x000047FCu;
|
|
/* 02C885C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C885C4 */ cpu->f[11] = fma(cpu->f[1], cpu->f[0], cpu->f[11]);
|
|
/* 02C885C8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885CC */ cpu->f[10] = cpu->f[11] * cpu->f[11];
|
|
/* 02C885D0 */ _t19 = cpu->r[12] + 0x00004800u;
|
|
/* 02C885D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C885D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 02C885D8 */ cpu->f[12] = cpu->f[13];
|
|
/* 02C885DC */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C885DC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C885DC */ if (_t21) goto L_02C885E0; else goto L_02C88638;
|
|
L_02C885E0: ; // 0x2c885e0
|
|
/* 02C885E0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885E4 */ _t22 = cpu->r[12] + 0x00004804u;
|
|
/* 02C885E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C885E8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885EC */ _t23 = cpu->r[12] + 0x00004808u;
|
|
/* 02C885EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C885F0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C885F4 */ cpu->f[12] = fma(cpu->f[0], cpu->f[10], cpu->f[12]);
|
|
/* 02C885F8 */ _t24 = cpu->r[12] + 0x0000480Cu;
|
|
/* 02C885F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C885FC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88600 */ cpu->f[0] = fma(cpu->f[12], cpu->f[10], cpu->f[0]);
|
|
/* 02C88604 */ _t25 = cpu->r[12] + 0x00004810u;
|
|
/* 02C88604 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C88608 */ cpu->f[0] = cpu->f[0] * cpu->f[10];
|
|
/* 02C8860C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88610 */ cpu->f[11] = fma(cpu->f[0], cpu->f[11], cpu->f[11]);
|
|
/* 02C88614 */ _t26 = cpu->r[12] + 0x00004814u;
|
|
/* 02C88614 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C88618 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8861C */ cpu->f[12] = fma(cpu->f[12], cpu->f[10], cpu->f[0]);
|
|
/* 02C88620 */ _t27 = cpu->r[12] + 0x00004818u;
|
|
/* 02C88620 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C88624 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88628 */ cpu->f[12] = fma(cpu->f[12], cpu->f[10], cpu->f[0]);
|
|
/* 02C8862C */ _t28 = cpu->r[12] + 0x0000481Cu;
|
|
/* 02C8862C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C88630 */ cpu->f[0] = fma(cpu->f[12], cpu->f[10], cpu->f[0]);
|
|
/* 02C88634 */ cpu->f[12] = fma(cpu->f[0], cpu->f[10], cpu->f[13]);
|
|
L_02C88638: ; // 0x2c88638
|
|
/* 02C88638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C8863C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8863C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C8863C */ if (_t30) goto L_02C88644; else goto L_02C88640;
|
|
L_02C88640: ; // 0x2c88640
|
|
/* 02C88640 */ cpu->f[12] = -cpu->f[12];
|
|
L_02C88644: ; // 0x2c88644
|
|
/* 02C88644 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C88644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88648 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88648 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C88648 */ if (_t32) goto L_02C88658; else goto L_02C8864C;
|
|
L_02C8864C: ; // 0x2c8864c
|
|
/* 02C8864C */ cpu->f[0] = cpu->f[12] / cpu->f[11];
|
|
/* 02C88650 */ cpu->f[1] = -cpu->f[0];
|
|
/* 02C88654 */ goto L_02C8865C;
|
|
L_02C88658: ; // 0x2c88658
|
|
/* 02C88658 */ cpu->f[1] = cpu->f[11] / cpu->f[12];
|
|
L_02C8865C: ; // 0x2c8865c
|
|
/* 02C8865C */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C8865C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C88660 */ cpu->lr = cpu->r[0];
|
|
/* 02C88664 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C88668 */ return;
|
|
}
|
|
|
|
// fn_02C8866C @ 0x2c8866c
|
|
void Gambit_fn_02C8866C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
double _ft5, _ft6;
|
|
|
|
L_02C8866C: ; // 0x2c8866c
|
|
/* 02C8866C */ cpu->r[0] = cpu->lr;
|
|
/* 02C88670 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C88674 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C88674 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88674 */ cpu->r[1] = _t0;
|
|
/* 02C88678 */ Gambit_fn_02C8A398(cpu);
|
|
/* 02C8867C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88680 */ _t1 = cpu->r[12] + 0x00004820u;
|
|
/* 02C88680 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C88684 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 02C88688 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88688 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C88688 */ if (_t3) goto L_02C8868C; else goto L_02C886DC;
|
|
L_02C8868C: ; // 0x2c8868c
|
|
/* 02C8868C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88690 */ _t4 = cpu->r[12] + 0x00004824u;
|
|
/* 02C88690 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C88694 */ _ft5 = sqrt(cpu->f[1]);
|
|
/* 02C88694 */ _ft6 = (double)(int32_t)0x00000001u;
|
|
/* 02C88694 */ cpu->f[12] = _ft6 / _ft5;
|
|
/* 02C88698 */ cpu->f[0] = cpu->f[1] * cpu->f[0];
|
|
/* 02C8869C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C886A0 */ cpu->f[13] = cpu->f[12] * cpu->f[0];
|
|
/* 02C886A4 */ _t7 = cpu->r[12] + 0x00004828u;
|
|
/* 02C886A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C886A8 */ cpu->f[13] = -fma(cpu->f[12], cpu->f[13], -(cpu->f[0]));
|
|
/* 02C886AC */ cpu->f[12] = cpu->f[12] * cpu->f[13];
|
|
/* 02C886B0 */ cpu->f[31] = cpu->f[1] * cpu->f[12];
|
|
/* 02C886B4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C886B4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02C886B8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C886B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C886BC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C886C0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C886C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C886C4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C886C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C886C8 */ cpu->f[13] = cpu->f[31] * cpu->f[0];
|
|
/* 02C886CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[1]);
|
|
/* 02C886D0 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C886D0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C886D0 */ if (_t13) goto L_02C886D4; else goto L_02C886EC;
|
|
L_02C886D4: ; // 0x2c886d4
|
|
/* 02C886D4 */ cpu->f[31] = cpu->f[0];
|
|
/* 02C886D8 */ goto L_02C886EC;
|
|
L_02C886DC: ; // 0x2c886dc
|
|
/* 02C886DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 02C886E0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C886E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C886E0 */ if (_t15) goto L_02C886EC; else goto L_02C886E4;
|
|
L_02C886E4: ; // 0x2c886e4
|
|
/* 02C886E4 */ cpu->r[3] = 0x00000021u;
|
|
/* 02C886E8 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C886EC: ; // 0x2c886ec
|
|
/* 02C886EC */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C886F0 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C886F4 */ goto L_02C8A434;
|
|
L_02C8A434: ; // 0x2c8a434
|
|
/* 02C8A434 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C8A438 */ _t17 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C8A43C */ _t18 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 02C8A440 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t20) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C88674 @ 0x2c88674
|
|
void Gambit_fn_02C88674(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
double _ft5, _ft6;
|
|
|
|
L_02C88674: ; // 0x2c88674
|
|
/* 02C88674 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C88674 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88674 */ cpu->r[1] = _t0;
|
|
/* 02C88678 */ Gambit_fn_02C8A398(cpu);
|
|
/* 02C8867C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88680 */ _t1 = cpu->r[12] + 0x00004820u;
|
|
/* 02C88680 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C88684 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 02C88688 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88688 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C88688 */ if (_t3) goto L_02C8868C; else goto L_02C886DC;
|
|
L_02C8868C: ; // 0x2c8868c
|
|
/* 02C8868C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88690 */ _t4 = cpu->r[12] + 0x00004824u;
|
|
/* 02C88690 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C88694 */ _ft5 = sqrt(cpu->f[1]);
|
|
/* 02C88694 */ _ft6 = (double)(int32_t)0x00000001u;
|
|
/* 02C88694 */ cpu->f[12] = _ft6 / _ft5;
|
|
/* 02C88698 */ cpu->f[0] = cpu->f[1] * cpu->f[0];
|
|
/* 02C8869C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C886A0 */ cpu->f[13] = cpu->f[12] * cpu->f[0];
|
|
/* 02C886A4 */ _t7 = cpu->r[12] + 0x00004828u;
|
|
/* 02C886A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C886A8 */ cpu->f[13] = -fma(cpu->f[12], cpu->f[13], -(cpu->f[0]));
|
|
/* 02C886AC */ cpu->f[12] = cpu->f[12] * cpu->f[13];
|
|
/* 02C886B0 */ cpu->f[31] = cpu->f[1] * cpu->f[12];
|
|
/* 02C886B4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C886B4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02C886B8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C886B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C886BC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C886C0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C886C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C886C4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C886C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C886C8 */ cpu->f[13] = cpu->f[31] * cpu->f[0];
|
|
/* 02C886CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[1]);
|
|
/* 02C886D0 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C886D0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C886D0 */ if (_t13) goto L_02C886D4; else goto L_02C886EC;
|
|
L_02C886D4: ; // 0x2c886d4
|
|
/* 02C886D4 */ cpu->f[31] = cpu->f[0];
|
|
/* 02C886D8 */ goto L_02C886EC;
|
|
L_02C886DC: ; // 0x2c886dc
|
|
/* 02C886DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 02C886E0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C886E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C886E0 */ if (_t15) goto L_02C886EC; else goto L_02C886E4;
|
|
L_02C886E4: ; // 0x2c886e4
|
|
/* 02C886E4 */ cpu->r[3] = 0x00000021u;
|
|
/* 02C886E8 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C886EC: ; // 0x2c886ec
|
|
/* 02C886EC */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02C886F0 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C886F4 */ goto L_02C8A434;
|
|
L_02C8A434: ; // 0x2c8a434
|
|
/* 02C8A434 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C8A438 */ _t17 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C8A43C */ _t18 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 02C8A440 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t20) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C886F8 @ 0x2c886f8
|
|
void Gambit_fn_02C886F8(CPUState* 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_02C886F8: ; // 0x2c886f8
|
|
/* 02C886F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C886FC */ cpu->f[12] = cpu->f[1];
|
|
/* 02C88700 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88704 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C88704 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C88708 */ cpu->f[10] = fabs(cpu->f[12]);
|
|
/* 02C8870C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C8870C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C8870C */ cpu->r[1] = _t1;
|
|
/* 02C88710 */ _t2 = cpu->r[12] + 0x0000482Cu;
|
|
/* 02C88710 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C88714 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 02C88718 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88718 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C88718 */ if (_t4) goto L_02C8871C; else goto L_02C8884C;
|
|
L_02C8871C: ; // 0x2c8871c
|
|
/* 02C8871C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88720 */ _t5 = cpu->r[12] + 0x00004830u;
|
|
/* 02C88720 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C88724 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 02C88728 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88728 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C88728 */ if (_t7) goto L_02C8872C; else goto L_02C88768;
|
|
L_02C8872C: ; // 0x2c8872c
|
|
/* 02C8872C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88730 */ cpu->f[10] = cpu->f[12];
|
|
/* 02C88734 */ _t8 = cpu->r[12] + 0x00004834u;
|
|
/* 02C88734 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C88738 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8873C */ cpu->f[12] = cpu->f[12] * cpu->f[12];
|
|
/* 02C88740 */ _t9 = cpu->r[12] + 0x00004838u;
|
|
/* 02C88740 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C88744 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88748 */ cpu->f[13] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C8874C */ _t10 = cpu->r[12] + 0x0000483Cu;
|
|
/* 02C8874C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C88750 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88754 */ cpu->f[11] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C88758 */ _t11 = cpu->r[12] + 0x00004840u;
|
|
/* 02C88758 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C8875C */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[0]);
|
|
/* 02C88760 */ cpu->f[12] = cpu->f[12] * cpu->f[10];
|
|
/* 02C88764 */ goto L_02C8884C;
|
|
L_02C88768: ; // 0x2c88768
|
|
/* 02C88768 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8876C */ _t12 = cpu->r[12] + 0x00004844u;
|
|
/* 02C8876C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C88770 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88774 */ _t13 = cpu->r[12] + 0x00004848u;
|
|
/* 02C88774 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C88778 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8877C */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 02C88780 */ _t14 = cpu->r[12] + 0x0000484Cu;
|
|
/* 02C88780 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C88784 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 02C88788 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88788 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C88788 */ if (_t16) goto L_02C8878C; else goto L_02C88794;
|
|
L_02C8878C: ; // 0x2c8878c
|
|
/* 02C8878C */ cpu->f[12] = cpu->f[13];
|
|
/* 02C88790 */ goto L_02C8884C;
|
|
L_02C88794: ; // 0x2c88794
|
|
/* 02C88794 */ cpu->f[11] = cpu->f[12];
|
|
/* 02C88798 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8879C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02C887A0 */ _t17 = cpu->r[12] + 0x00004850u;
|
|
/* 02C887A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C887A4 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C887A4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C887A4 */ if (_t19) goto L_02C887A8; else goto L_02C887B0;
|
|
L_02C887A8: ; // 0x2c887a8
|
|
/* 02C887A8 */ cpu->f[11] = cpu->f[11] - cpu->f[0];
|
|
/* 02C887AC */ goto L_02C887B4;
|
|
L_02C887B0: ; // 0x2c887b0
|
|
/* 02C887B0 */ cpu->f[11] = cpu->f[11] + cpu->f[0];
|
|
L_02C887B4: ; // 0x2c887b4
|
|
/* 02C887B4 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02C887B8 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02C887B8 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02C887BC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C887BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C887C0 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C887C4 */ Gambit_fn_02C8A1D4(cpu);
|
|
/* 02C887C8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C887C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C887CC */ cpu->f[12] = cpu->f[12] - cpu->f[1];
|
|
/* 02C887D0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C887D0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C887D0 */ if (_t23) goto L_02C88808; else goto L_02C887D4;
|
|
L_02C887D4: ; // 0x2c887d4
|
|
/* 02C887D4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C887D8 */ cpu->f[12] = cpu->f[12] * cpu->f[12];
|
|
/* 02C887DC */ _t24 = cpu->r[12] + 0x00004854u;
|
|
/* 02C887DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C887E0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C887E4 */ _t25 = cpu->r[12] + 0x00004858u;
|
|
/* 02C887E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C887E8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C887EC */ cpu->f[13] = fma(cpu->f[0], cpu->f[12], cpu->f[13]);
|
|
/* 02C887F0 */ _t26 = cpu->r[12] + 0x0000485Cu;
|
|
/* 02C887F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C887F4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C887F8 */ cpu->f[11] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C887FC */ _t27 = cpu->r[12] + 0x00004860u;
|
|
/* 02C887FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C88800 */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[0]);
|
|
/* 02C88804 */ goto L_02C88840;
|
|
L_02C88808: ; // 0x2c88808
|
|
/* 02C88808 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8880C */ cpu->f[10] = cpu->f[12];
|
|
/* 02C88810 */ _t28 = cpu->r[12] + 0x00004864u;
|
|
/* 02C88810 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C88814 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88818 */ cpu->f[12] = cpu->f[12] * cpu->f[12];
|
|
/* 02C8881C */ _t29 = cpu->r[12] + 0x00004868u;
|
|
/* 02C8881C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C88820 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88824 */ cpu->f[13] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C88828 */ _t30 = cpu->r[12] + 0x0000486Cu;
|
|
/* 02C88828 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C8882C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88830 */ cpu->f[11] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C88834 */ _t31 = cpu->r[12] + 0x00004870u;
|
|
/* 02C88834 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C88838 */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[0]);
|
|
/* 02C8883C */ cpu->f[12] = cpu->f[12] * cpu->f[10];
|
|
L_02C88840: ; // 0x2c88840
|
|
/* 02C88840 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C88840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88844 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88844 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C88844 */ if (_t33) goto L_02C8884C; else goto L_02C88848;
|
|
L_02C88848: ; // 0x2c88848
|
|
/* 02C88848 */ cpu->f[12] = -cpu->f[12];
|
|
L_02C8884C: ; // 0x2c8884c
|
|
/* 02C8884C */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8884C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C88850 */ cpu->lr = cpu->r[0];
|
|
/* 02C88854 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C88858 */ cpu->f[1] = cpu->f[12];
|
|
/* 02C8885C */ return;
|
|
}
|
|
|
|
// fn_02C8870C @ 0x2c8870c
|
|
void Gambit_fn_02C8870C(CPUState* 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_02C8870C: ; // 0x2c8870c
|
|
/* 02C8870C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C8870C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C8870C */ cpu->r[1] = _t0;
|
|
/* 02C88710 */ _t1 = cpu->r[12] + 0x0000482Cu;
|
|
/* 02C88710 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C88714 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 02C88718 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88718 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C88718 */ if (_t3) goto L_02C8871C; else goto L_02C8884C;
|
|
L_02C8871C: ; // 0x2c8871c
|
|
/* 02C8871C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88720 */ _t4 = cpu->r[12] + 0x00004830u;
|
|
/* 02C88720 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C88724 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 02C88728 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88728 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C88728 */ if (_t6) goto L_02C8872C; else goto L_02C88768;
|
|
L_02C8872C: ; // 0x2c8872c
|
|
/* 02C8872C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88730 */ cpu->f[10] = cpu->f[12];
|
|
/* 02C88734 */ _t7 = cpu->r[12] + 0x00004834u;
|
|
/* 02C88734 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C88738 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8873C */ cpu->f[12] = cpu->f[12] * cpu->f[12];
|
|
/* 02C88740 */ _t8 = cpu->r[12] + 0x00004838u;
|
|
/* 02C88740 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C88744 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88748 */ cpu->f[13] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C8874C */ _t9 = cpu->r[12] + 0x0000483Cu;
|
|
/* 02C8874C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C88750 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88754 */ cpu->f[11] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C88758 */ _t10 = cpu->r[12] + 0x00004840u;
|
|
/* 02C88758 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C8875C */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[0]);
|
|
/* 02C88760 */ cpu->f[12] = cpu->f[12] * cpu->f[10];
|
|
/* 02C88764 */ goto L_02C8884C;
|
|
L_02C88768: ; // 0x2c88768
|
|
/* 02C88768 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8876C */ _t11 = cpu->r[12] + 0x00004844u;
|
|
/* 02C8876C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C88770 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88774 */ _t12 = cpu->r[12] + 0x00004848u;
|
|
/* 02C88774 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C88778 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8877C */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 02C88780 */ _t13 = cpu->r[12] + 0x0000484Cu;
|
|
/* 02C88780 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C88784 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 02C88788 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88788 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C88788 */ if (_t15) goto L_02C8878C; else goto L_02C88794;
|
|
L_02C8878C: ; // 0x2c8878c
|
|
/* 02C8878C */ cpu->f[12] = cpu->f[13];
|
|
/* 02C88790 */ goto L_02C8884C;
|
|
L_02C88794: ; // 0x2c88794
|
|
/* 02C88794 */ cpu->f[11] = cpu->f[12];
|
|
/* 02C88798 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8879C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02C887A0 */ _t16 = cpu->r[12] + 0x00004850u;
|
|
/* 02C887A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C887A4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C887A4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C887A4 */ if (_t18) goto L_02C887A8; else goto L_02C887B0;
|
|
L_02C887A8: ; // 0x2c887a8
|
|
/* 02C887A8 */ cpu->f[11] = cpu->f[11] - cpu->f[0];
|
|
/* 02C887AC */ goto L_02C887B4;
|
|
L_02C887B0: ; // 0x2c887b0
|
|
/* 02C887B0 */ cpu->f[11] = cpu->f[11] + cpu->f[0];
|
|
L_02C887B4: ; // 0x2c887b4
|
|
/* 02C887B4 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02C887B8 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C887B8 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02C887BC */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C887BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C887C0 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C887C4 */ Gambit_fn_02C8A1D4(cpu);
|
|
/* 02C887C8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C887C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C887CC */ cpu->f[12] = cpu->f[12] - cpu->f[1];
|
|
/* 02C887D0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C887D0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C887D0 */ if (_t22) goto L_02C88808; else goto L_02C887D4;
|
|
L_02C887D4: ; // 0x2c887d4
|
|
/* 02C887D4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C887D8 */ cpu->f[12] = cpu->f[12] * cpu->f[12];
|
|
/* 02C887DC */ _t23 = cpu->r[12] + 0x00004854u;
|
|
/* 02C887DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C887E0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C887E4 */ _t24 = cpu->r[12] + 0x00004858u;
|
|
/* 02C887E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C887E8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C887EC */ cpu->f[13] = fma(cpu->f[0], cpu->f[12], cpu->f[13]);
|
|
/* 02C887F0 */ _t25 = cpu->r[12] + 0x0000485Cu;
|
|
/* 02C887F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C887F4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C887F8 */ cpu->f[11] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C887FC */ _t26 = cpu->r[12] + 0x00004860u;
|
|
/* 02C887FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C88800 */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[0]);
|
|
/* 02C88804 */ goto L_02C88840;
|
|
L_02C88808: ; // 0x2c88808
|
|
/* 02C88808 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8880C */ cpu->f[10] = cpu->f[12];
|
|
/* 02C88810 */ _t27 = cpu->r[12] + 0x00004864u;
|
|
/* 02C88810 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C88814 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88818 */ cpu->f[12] = cpu->f[12] * cpu->f[12];
|
|
/* 02C8881C */ _t28 = cpu->r[12] + 0x00004868u;
|
|
/* 02C8881C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C88820 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88824 */ cpu->f[13] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C88828 */ _t29 = cpu->r[12] + 0x0000486Cu;
|
|
/* 02C88828 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C8882C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88830 */ cpu->f[11] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C88834 */ _t30 = cpu->r[12] + 0x00004870u;
|
|
/* 02C88834 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C88838 */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[0]);
|
|
/* 02C8883C */ cpu->f[12] = cpu->f[12] * cpu->f[10];
|
|
L_02C88840: ; // 0x2c88840
|
|
/* 02C88840 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C88840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88844 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88844 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C88844 */ if (_t32) goto L_02C8884C; else goto L_02C88848;
|
|
L_02C88848: ; // 0x2c88848
|
|
/* 02C88848 */ cpu->f[12] = -cpu->f[12];
|
|
L_02C8884C: ; // 0x2c8884c
|
|
/* 02C8884C */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02C8884C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C88850 */ cpu->lr = cpu->r[0];
|
|
/* 02C88854 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C88858 */ cpu->f[1] = cpu->f[12];
|
|
/* 02C8885C */ return;
|
|
}
|
|
|
|
// fn_02C88860 @ 0x2c88860
|
|
void Gambit_fn_02C88860(CPUState* 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;
|
|
|
|
L_02C88860: ; // 0x2c88860
|
|
/* 02C88860 */ cpu->r[0] = cpu->lr;
|
|
/* 02C88864 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C88868 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C88868 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88868 */ cpu->r[1] = _t0;
|
|
/* 02C8886C */ Gambit_fn_02C8A380(cpu);
|
|
/* 02C88870 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88874 */ _t1 = cpu->r[12] + 0x00004874u;
|
|
/* 02C88874 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C88878 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8887C */ _t2 = cpu->r[12] + 0x00004878u;
|
|
/* 02C8887C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C88880 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88884 */ cpu->f[13] = cpu->f[1];
|
|
/* 02C88888 */ _t3 = cpu->r[12] + 0x0000487Cu;
|
|
/* 02C88888 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C8888C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C88890 */ cpu->f[29] = cpu->f[2];
|
|
/* 02C88894 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88894 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C88894 */ if (_t5) goto L_02C888EC; else goto L_02C88898;
|
|
L_02C88898: ; // 0x2c88898
|
|
/* 02C88898 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 02C8889C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8889C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C8889C */ if (_t7) goto L_02C88970; else goto L_02C888A0;
|
|
L_02C888A0: ; // 0x2c888a0
|
|
/* 02C888A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[30]);
|
|
/* 02C888A4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C888A4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C888A4 */ if (_t9) goto L_02C88970; else goto L_02C888A8;
|
|
L_02C888A8: ; // 0x2c888a8
|
|
/* 02C888A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C888AC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C888AC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C888AC */ if (_t11) goto L_02C888B0; else goto L_02C888B8;
|
|
L_02C888B0: ; // 0x2c888b0
|
|
/* 02C888B0 */ cpu->f[1] = cpu->f[29];
|
|
/* 02C888B4 */ goto L_02C888CC;
|
|
L_02C888B8: ; // 0x2c888b8
|
|
/* 02C888B8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C888BC */ _t12 = cpu->r[12] + 0x00004880u;
|
|
/* 02C888BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C888C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C888C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C888C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C888C4 */ if (_t14) goto L_02C888C8; else goto L_02C888D4;
|
|
L_02C888C8: ; // 0x2c888c8
|
|
/* 02C888C8 */ cpu->f[1] = -cpu->f[29];
|
|
L_02C888CC: ; // 0x2c888cc
|
|
/* 02C888CC */ Gambit_fn_02C88C00(cpu);
|
|
/* 02C888D0 */ goto L_02C889F8;
|
|
L_02C888D4: ; // 0x2c888d4
|
|
/* 02C888D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[30]);
|
|
/* 02C888D8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C888D8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C888D8 */ if (_t16) goto L_02C888DC; else goto L_02C888EC;
|
|
L_02C888DC: ; // 0x2c888dc
|
|
/* 02C888DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[30]);
|
|
/* 02C888E0 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C888E0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C888E0 */ if (_t18) goto L_02C888E4; else goto L_02C889D4;
|
|
L_02C888E4: ; // 0x2c888e4
|
|
/* 02C888E4 */ cpu->f[1] = cpu->f[30];
|
|
/* 02C888E8 */ goto L_02C889F8;
|
|
L_02C888EC: ; // 0x2c888ec
|
|
/* 02C888EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[30]);
|
|
/* 02C888F0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C888F0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C888F0 */ if (_t20) goto L_02C888F4; else goto L_02C888FC;
|
|
L_02C888F4: ; // 0x2c888f4
|
|
/* 02C888F4 */ cpu->f[29] = -cpu->f[29];
|
|
/* 02C888F8 */ cpu->f[13] = cpu->f[31] / cpu->f[13];
|
|
L_02C888FC: ; // 0x2c888fc
|
|
/* 02C888FC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88900 */ _t21 = cpu->r[12] + 0x00004884u;
|
|
/* 02C88900 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C88904 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[0]);
|
|
/* 02C88908 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88908 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C88908 */ if (_t23) goto L_02C88978; else goto L_02C8890C;
|
|
L_02C8890C: ; // 0x2c8890c
|
|
/* 02C8890C */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[29];
|
|
/* 02C88910 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02C88910 */ rbrew_write_f64(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02C88914 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C88914 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C88918 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C8891C */ Gambit_fn_02C8A1D4(cpu);
|
|
/* 02C88920 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[1]);
|
|
/* 02C88924 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88924 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C88924 */ if (_t27) goto L_02C88928; else goto L_02C88978;
|
|
L_02C88928: ; // 0x2c88928
|
|
/* 02C88928 */ goto L_02C88940;
|
|
L_02C8892C: ; // 0x2c8892c
|
|
/* 02C8892C */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C8892C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C88930 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88930 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C88930 */ if (_t29) goto L_02C88938; else goto L_02C88934;
|
|
L_02C88934: ; // 0x2c88934
|
|
/* 02C88934 */ cpu->f[31] = cpu->f[31] * cpu->f[13];
|
|
L_02C88938: ; // 0x2c88938
|
|
/* 02C88938 */ cpu->f[13] = cpu->f[13] * cpu->f[13];
|
|
/* 02C8893C */ /* nop */
|
|
L_02C88940: ; // 0x2c88940
|
|
/* 02C88940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88944 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88944 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C88944 */ if (_t31) goto L_02C8892C; else goto L_02C88948;
|
|
L_02C88948: ; // 0x2c88948
|
|
/* 02C88948 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88948 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
|
|
/* 02C8894C */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8894C */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C88950 */ cpu->r[11] = 0xFF000000u;
|
|
/* 02C88954 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C8895C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8895C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C8895C */ if (_t35) goto L_02C88960; else goto L_02C88970;
|
|
L_02C88960: ; // 0x2c88960
|
|
/* 02C88960 */ /* nop */
|
|
/* 02C88964 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88964 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C88964 */ if (_t37) goto L_02C88970; else goto L_02C88968;
|
|
L_02C88968: ; // 0x2c88968
|
|
/* 02C88968 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C8896C */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C88970: ; // 0x2c88970
|
|
/* 02C88970 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C88974 */ goto L_02C889F8;
|
|
L_02C88978: ; // 0x2c88978
|
|
/* 02C88978 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[30]);
|
|
/* 02C8897C */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8897C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C8897C */ if (_t39) goto L_02C88980; else goto L_02C8898C;
|
|
L_02C88980: ; // 0x2c88980
|
|
/* 02C88980 */ cpu->r[3] = 0x00000021u;
|
|
/* 02C88984 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C88988 */ goto L_02C888E4;
|
|
L_02C8898C: ; // 0x2c8898c
|
|
/* 02C8898C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88990 */ _t40 = cpu->r[12] + 0x00004888u;
|
|
/* 02C88990 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C88994 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[0]);
|
|
/* 02C88998 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88998 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C88998 */ if (_t42) goto L_02C8899C; else goto L_02C889E8;
|
|
L_02C8899C: ; // 0x2c8899c
|
|
/* 02C8899C */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8899C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[29]);
|
|
/* 02C889A0 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C889A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C889A4 */ cpu->r[11] = 0xFF000000u;
|
|
/* 02C889A8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C889AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C889B0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C889B0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C889B0 */ if (_t46) goto L_02C889B4; else goto L_02C889CC;
|
|
L_02C889B4: ; // 0x2c889b4
|
|
/* 02C889B4 */ /* nop */
|
|
/* 02C889B8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C889B8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C889B8 */ if (_t48) goto L_02C889CC; else goto L_02C889BC;
|
|
L_02C889BC: ; // 0x2c889bc
|
|
/* 02C889BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 02C889C0 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C889C0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C889C0 */ if (_t50) goto L_02C889C4; else goto L_02C888E4;
|
|
L_02C889C4: ; // 0x2c889c4
|
|
/* 02C889C4 */ cpu->f[1] = cpu->f[29];
|
|
/* 02C889C8 */ goto L_02C889F8;
|
|
L_02C889CC: ; // 0x2c889cc
|
|
/* 02C889CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 02C889D0 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C889D0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C889D0 */ if (_t52) goto L_02C889D4; else goto L_02C889E8;
|
|
L_02C889D4: ; // 0x2c889d4
|
|
/* 02C889D4 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C889D8 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C889DC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C889E0 */ _t53 = cpu->r[12] + 0x0000488Cu;
|
|
/* 02C889E0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C889E4 */ goto L_02C889F8;
|
|
L_02C889E8: ; // 0x2c889e8
|
|
/* 02C889E8 */ cpu->f[1] = cpu->f[13];
|
|
/* 02C889EC */ Gambit_fn_02C88B08(cpu);
|
|
/* 02C889F0 */ cpu->f[1] = cpu->f[29] * cpu->f[1];
|
|
/* 02C889F4 */ Gambit_fn_02C88D70(cpu);
|
|
L_02C889F8: ; // 0x2c889f8
|
|
/* 02C889F8 */ cpu->r[11] = cpu->r[1] + 0x00000048u;
|
|
/* 02C889FC */ goto L_02C8A424;
|
|
L_02C8A424: ; // 0x2c8a424
|
|
/* 02C8A424 */ _t54 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A424 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C8A428 */ _t55 = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C8A428 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 02C8A42C */ _t56 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A42C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C8A430 */ _t57 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A430 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t57);
|
|
/* 02C8A434 */ _t58 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C8A438 */ _t59 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C8A43C */ _t60 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t60);
|
|
/* 02C8A440 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t62) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C88868 @ 0x2c88868
|
|
void Gambit_fn_02C88868(CPUState* 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;
|
|
|
|
L_02C88868: ; // 0x2c88868
|
|
/* 02C88868 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C88868 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88868 */ cpu->r[1] = _t0;
|
|
/* 02C8886C */ Gambit_fn_02C8A380(cpu);
|
|
/* 02C88870 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88874 */ _t1 = cpu->r[12] + 0x00004874u;
|
|
/* 02C88874 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C88878 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C8887C */ _t2 = cpu->r[12] + 0x00004878u;
|
|
/* 02C8887C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C88880 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88884 */ cpu->f[13] = cpu->f[1];
|
|
/* 02C88888 */ _t3 = cpu->r[12] + 0x0000487Cu;
|
|
/* 02C88888 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C8888C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C88890 */ cpu->f[29] = cpu->f[2];
|
|
/* 02C88894 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88894 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C88894 */ if (_t5) goto L_02C888EC; else goto L_02C88898;
|
|
L_02C88898: ; // 0x2c88898
|
|
/* 02C88898 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 02C8889C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8889C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C8889C */ if (_t7) goto L_02C88970; else goto L_02C888A0;
|
|
L_02C888A0: ; // 0x2c888a0
|
|
/* 02C888A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[30]);
|
|
/* 02C888A4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C888A4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C888A4 */ if (_t9) goto L_02C88970; else goto L_02C888A8;
|
|
L_02C888A8: ; // 0x2c888a8
|
|
/* 02C888A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C888AC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C888AC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C888AC */ if (_t11) goto L_02C888B0; else goto L_02C888B8;
|
|
L_02C888B0: ; // 0x2c888b0
|
|
/* 02C888B0 */ cpu->f[1] = cpu->f[29];
|
|
/* 02C888B4 */ goto L_02C888CC;
|
|
L_02C888B8: ; // 0x2c888b8
|
|
/* 02C888B8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C888BC */ _t12 = cpu->r[12] + 0x00004880u;
|
|
/* 02C888BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C888C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C888C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C888C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C888C4 */ if (_t14) goto L_02C888C8; else goto L_02C888D4;
|
|
L_02C888C8: ; // 0x2c888c8
|
|
/* 02C888C8 */ cpu->f[1] = -cpu->f[29];
|
|
L_02C888CC: ; // 0x2c888cc
|
|
/* 02C888CC */ Gambit_fn_02C88C00(cpu);
|
|
/* 02C888D0 */ goto L_02C889F8;
|
|
L_02C888D4: ; // 0x2c888d4
|
|
/* 02C888D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[30]);
|
|
/* 02C888D8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C888D8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C888D8 */ if (_t16) goto L_02C888DC; else goto L_02C888EC;
|
|
L_02C888DC: ; // 0x2c888dc
|
|
/* 02C888DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[30]);
|
|
/* 02C888E0 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C888E0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C888E0 */ if (_t18) goto L_02C888E4; else goto L_02C889D4;
|
|
L_02C888E4: ; // 0x2c888e4
|
|
/* 02C888E4 */ cpu->f[1] = cpu->f[30];
|
|
/* 02C888E8 */ goto L_02C889F8;
|
|
L_02C888EC: ; // 0x2c888ec
|
|
/* 02C888EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[30]);
|
|
/* 02C888F0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C888F0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C888F0 */ if (_t20) goto L_02C888F4; else goto L_02C888FC;
|
|
L_02C888F4: ; // 0x2c888f4
|
|
/* 02C888F4 */ cpu->f[29] = -cpu->f[29];
|
|
/* 02C888F8 */ cpu->f[13] = cpu->f[31] / cpu->f[13];
|
|
L_02C888FC: ; // 0x2c888fc
|
|
/* 02C888FC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88900 */ _t21 = cpu->r[12] + 0x00004884u;
|
|
/* 02C88900 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C88904 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[0]);
|
|
/* 02C88908 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88908 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C88908 */ if (_t23) goto L_02C88978; else goto L_02C8890C;
|
|
L_02C8890C: ; // 0x2c8890c
|
|
/* 02C8890C */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[29];
|
|
/* 02C88910 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02C88910 */ rbrew_write_f64(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02C88914 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C88914 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C88918 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C8891C */ Gambit_fn_02C8A1D4(cpu);
|
|
/* 02C88920 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[1]);
|
|
/* 02C88924 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88924 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C88924 */ if (_t27) goto L_02C88928; else goto L_02C88978;
|
|
L_02C88928: ; // 0x2c88928
|
|
/* 02C88928 */ goto L_02C88940;
|
|
L_02C8892C: ; // 0x2c8892c
|
|
/* 02C8892C */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C8892C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C88930 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88930 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C88930 */ if (_t29) goto L_02C88938; else goto L_02C88934;
|
|
L_02C88934: ; // 0x2c88934
|
|
/* 02C88934 */ cpu->f[31] = cpu->f[31] * cpu->f[13];
|
|
L_02C88938: ; // 0x2c88938
|
|
/* 02C88938 */ cpu->f[13] = cpu->f[13] * cpu->f[13];
|
|
/* 02C8893C */ /* nop */
|
|
L_02C88940: ; // 0x2c88940
|
|
/* 02C88940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88944 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88944 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C88944 */ if (_t31) goto L_02C8892C; else goto L_02C88948;
|
|
L_02C88948: ; // 0x2c88948
|
|
/* 02C88948 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88948 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
|
|
/* 02C8894C */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02C8894C */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C88950 */ cpu->r[11] = 0xFF000000u;
|
|
/* 02C88954 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C8895C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C8895C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C8895C */ if (_t35) goto L_02C88960; else goto L_02C88970;
|
|
L_02C88960: ; // 0x2c88960
|
|
/* 02C88960 */ /* nop */
|
|
/* 02C88964 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88964 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C88964 */ if (_t37) goto L_02C88970; else goto L_02C88968;
|
|
L_02C88968: ; // 0x2c88968
|
|
/* 02C88968 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C8896C */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C88970: ; // 0x2c88970
|
|
/* 02C88970 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C88974 */ goto L_02C889F8;
|
|
L_02C88978: ; // 0x2c88978
|
|
/* 02C88978 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[30]);
|
|
/* 02C8897C */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8897C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C8897C */ if (_t39) goto L_02C88980; else goto L_02C8898C;
|
|
L_02C88980: ; // 0x2c88980
|
|
/* 02C88980 */ cpu->r[3] = 0x00000021u;
|
|
/* 02C88984 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C88988 */ goto L_02C888E4;
|
|
L_02C8898C: ; // 0x2c8898c
|
|
/* 02C8898C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88990 */ _t40 = cpu->r[12] + 0x00004888u;
|
|
/* 02C88990 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C88994 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[0]);
|
|
/* 02C88998 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88998 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C88998 */ if (_t42) goto L_02C8899C; else goto L_02C889E8;
|
|
L_02C8899C: ; // 0x2c8899c
|
|
/* 02C8899C */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8899C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[29]);
|
|
/* 02C889A0 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C889A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C889A4 */ cpu->r[11] = 0xFF000000u;
|
|
/* 02C889A8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C889AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C889B0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C889B0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C889B0 */ if (_t46) goto L_02C889B4; else goto L_02C889CC;
|
|
L_02C889B4: ; // 0x2c889b4
|
|
/* 02C889B4 */ /* nop */
|
|
/* 02C889B8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C889B8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C889B8 */ if (_t48) goto L_02C889CC; else goto L_02C889BC;
|
|
L_02C889BC: ; // 0x2c889bc
|
|
/* 02C889BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 02C889C0 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C889C0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C889C0 */ if (_t50) goto L_02C889C4; else goto L_02C888E4;
|
|
L_02C889C4: ; // 0x2c889c4
|
|
/* 02C889C4 */ cpu->f[1] = cpu->f[29];
|
|
/* 02C889C8 */ goto L_02C889F8;
|
|
L_02C889CC: ; // 0x2c889cc
|
|
/* 02C889CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 02C889D0 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C889D0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C889D0 */ if (_t52) goto L_02C889D4; else goto L_02C889E8;
|
|
L_02C889D4: ; // 0x2c889d4
|
|
/* 02C889D4 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C889D8 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C889DC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C889E0 */ _t53 = cpu->r[12] + 0x0000488Cu;
|
|
/* 02C889E0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C889E4 */ goto L_02C889F8;
|
|
L_02C889E8: ; // 0x2c889e8
|
|
/* 02C889E8 */ cpu->f[1] = cpu->f[13];
|
|
/* 02C889EC */ Gambit_fn_02C88B08(cpu);
|
|
/* 02C889F0 */ cpu->f[1] = cpu->f[29] * cpu->f[1];
|
|
/* 02C889F4 */ Gambit_fn_02C88D70(cpu);
|
|
L_02C889F8: ; // 0x2c889f8
|
|
/* 02C889F8 */ cpu->r[11] = cpu->r[1] + 0x00000048u;
|
|
/* 02C889FC */ goto L_02C8A424;
|
|
L_02C8A424: ; // 0x2c8a424
|
|
/* 02C8A424 */ _t54 = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C8A424 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C8A428 */ _t55 = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 02C8A428 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 02C8A42C */ _t56 = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 02C8A42C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C8A430 */ _t57 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02C8A430 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t57);
|
|
/* 02C8A434 */ _t58 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C8A438 */ _t59 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C8A43C */ _t60 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t60);
|
|
/* 02C8A440 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t62) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|
|
// fn_02C88A00 @ 0x2c88a00
|
|
void Gambit_fn_02C88A00(CPUState* 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_02C88A00: ; // 0x2c88a00
|
|
/* 02C88A00 */ cpu->r[0] = cpu->lr;
|
|
/* 02C88A04 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C88A08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C88A08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88A08 */ cpu->r[1] = _t0;
|
|
/* 02C88A0C */ Gambit_fn_02C8A53C(cpu);
|
|
/* 02C88A10 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88A10 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[1]);
|
|
/* 02C88A14 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88A14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C88A18 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000009u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C88A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FFu);
|
|
/* 02C88A20 */ cpu->r[31] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C88A24 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88A24 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C88A24 */ if (_t4) goto L_02C88AAC; else goto L_02C88A28;
|
|
L_02C88A28: ; // 0x2c88a28
|
|
/* 02C88A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C88A2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88A2C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C88A2C */ if (_t6) goto L_02C88A30; else goto L_02C88A54;
|
|
L_02C88A30: ; // 0x2c88a30
|
|
/* 02C88A30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02C88A34 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88A34 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C88A34 */ if (_t8) goto L_02C88AAC; else goto L_02C88A38;
|
|
L_02C88A38: ; // 0x2c88a38
|
|
/* 02C88A38 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C88A3C */ goto L_02C88A48;
|
|
L_02C88A40: ; // 0x2c88a40
|
|
/* 02C88A40 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C88A44 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C88A48: ; // 0x2c88a48
|
|
/* 02C88A48 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x00000008u);
|
|
/* 02C88A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88A4C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88A4C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C88A4C */ if (_t10) goto L_02C88A40; else goto L_02C88A50;
|
|
L_02C88A50: ; // 0x2c88a50
|
|
/* 02C88A50 */ cpu->r[11] = cpu->r[11] ^ 0x00800000u;
|
|
L_02C88A54: ; // 0x2c88a54
|
|
/* 02C88A54 */ cpu->r[10] = cpu->r[10] + cpu->r[3];
|
|
/* 02C88A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C88A58 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88A58 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C88A58 */ if (_t12) goto L_02C88A88; else goto L_02C88A5C;
|
|
L_02C88A5C: ; // 0x2c88a5c
|
|
/* 02C88A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0xFFFFFFE9u);
|
|
/* 02C88A60 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88A60 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C88A60 */ if (_t14) goto L_02C88A6C; else goto L_02C88A64;
|
|
L_02C88A64: ; // 0x2c88a64
|
|
/* 02C88A64 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C88A68 */ goto L_02C88AA8;
|
|
L_02C88A6C: ; // 0x2c88a6c
|
|
/* 02C88A6C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C88A70 */ cpu->r[12] = 0x00000008u - cpu->r[10];
|
|
/* 02C88A74 */ cpu->r[11] = cpu->r[11] | 0x80000000u;
|
|
/* 02C88A78 */ /* nop */
|
|
/* 02C88A7C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C88A80 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C88A84 */ goto L_02C88AA8;
|
|
L_02C88A88: ; // 0x2c88a88
|
|
/* 02C88A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FFu);
|
|
/* 02C88A8C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88A8C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C88A8C */ if (_t16) goto L_02C88AA0; else goto L_02C88A90;
|
|
L_02C88A90: ; // 0x2c88a90
|
|
/* 02C88A90 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C88A94 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C88A98 */ cpu->r[11] = 0x7F800000u;
|
|
/* 02C88A9C */ goto L_02C88AA8;
|
|
L_02C88AA0: ; // 0x2c88aa0
|
|
/* 02C88AA0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000000u, 0x00000008u);
|
|
/* 02C88AA4 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
L_02C88AA8: ; // 0x2c88aa8
|
|
/* 02C88AA8 */ cpu->r[11] = cpu->r[11] | cpu->r[31];
|
|
L_02C88AAC: ; // 0x2c88aac
|
|
/* 02C88AAC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88AAC */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02C88AB0 */ cpu->r[11] = cpu->r[1] + 0x00000010u;
|
|
/* 02C88AB4 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88AB4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C88AB8 */ goto L_02C8A594;
|
|
L_02C8A594: ; // 0x2c8a594
|
|
/* 02C8A594 */ _t19 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C8A598 */ _t20 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C88A08 @ 0x2c88a08
|
|
void Gambit_fn_02C88A08(CPUState* 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_02C88A08: ; // 0x2c88a08
|
|
/* 02C88A08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C88A08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88A08 */ cpu->r[1] = _t0;
|
|
/* 02C88A0C */ Gambit_fn_02C8A53C(cpu);
|
|
/* 02C88A10 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88A10 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[1]);
|
|
/* 02C88A14 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88A14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C88A18 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000009u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C88A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FFu);
|
|
/* 02C88A20 */ cpu->r[31] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C88A24 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88A24 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C88A24 */ if (_t4) goto L_02C88AAC; else goto L_02C88A28;
|
|
L_02C88A28: ; // 0x2c88a28
|
|
/* 02C88A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C88A2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88A2C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C88A2C */ if (_t6) goto L_02C88A30; else goto L_02C88A54;
|
|
L_02C88A30: ; // 0x2c88a30
|
|
/* 02C88A30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02C88A34 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88A34 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C88A34 */ if (_t8) goto L_02C88AAC; else goto L_02C88A38;
|
|
L_02C88A38: ; // 0x2c88a38
|
|
/* 02C88A38 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C88A3C */ goto L_02C88A48;
|
|
L_02C88A40: ; // 0x2c88a40
|
|
/* 02C88A40 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C88A44 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C88A48: ; // 0x2c88a48
|
|
/* 02C88A48 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x00000008u);
|
|
/* 02C88A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C88A4C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88A4C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C88A4C */ if (_t10) goto L_02C88A40; else goto L_02C88A50;
|
|
L_02C88A50: ; // 0x2c88a50
|
|
/* 02C88A50 */ cpu->r[11] = cpu->r[11] ^ 0x00800000u;
|
|
L_02C88A54: ; // 0x2c88a54
|
|
/* 02C88A54 */ cpu->r[10] = cpu->r[10] + cpu->r[3];
|
|
/* 02C88A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C88A58 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88A58 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C88A58 */ if (_t12) goto L_02C88A88; else goto L_02C88A5C;
|
|
L_02C88A5C: ; // 0x2c88a5c
|
|
/* 02C88A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0xFFFFFFE9u);
|
|
/* 02C88A60 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88A60 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C88A60 */ if (_t14) goto L_02C88A6C; else goto L_02C88A64;
|
|
L_02C88A64: ; // 0x2c88a64
|
|
/* 02C88A64 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C88A68 */ goto L_02C88AA8;
|
|
L_02C88A6C: ; // 0x2c88a6c
|
|
/* 02C88A6C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C88A70 */ cpu->r[12] = 0x00000008u - cpu->r[10];
|
|
/* 02C88A74 */ cpu->r[11] = cpu->r[11] | 0x80000000u;
|
|
/* 02C88A78 */ /* nop */
|
|
/* 02C88A7C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C88A80 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C88A84 */ goto L_02C88AA8;
|
|
L_02C88A88: ; // 0x2c88a88
|
|
/* 02C88A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FFu);
|
|
/* 02C88A8C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88A8C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C88A8C */ if (_t16) goto L_02C88AA0; else goto L_02C88A90;
|
|
L_02C88A90: ; // 0x2c88a90
|
|
/* 02C88A90 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C88A94 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C88A98 */ cpu->r[11] = 0x7F800000u;
|
|
/* 02C88A9C */ goto L_02C88AA8;
|
|
L_02C88AA0: ; // 0x2c88aa0
|
|
/* 02C88AA0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000000u, 0x00000008u);
|
|
/* 02C88AA4 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
L_02C88AA8: ; // 0x2c88aa8
|
|
/* 02C88AA8 */ cpu->r[11] = cpu->r[11] | cpu->r[31];
|
|
L_02C88AAC: ; // 0x2c88aac
|
|
/* 02C88AAC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88AAC */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02C88AB0 */ cpu->r[11] = cpu->r[1] + 0x00000010u;
|
|
/* 02C88AB4 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88AB4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C88AB8 */ goto L_02C8A594;
|
|
L_02C8A594: ; // 0x2c8a594
|
|
/* 02C8A594 */ _t19 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C8A598 */ _t20 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C8A598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C8A59C */ cpu->lr = cpu->r[0];
|
|
/* 02C8A5A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C8A5A4 */ return;
|
|
}
|
|
|
|
// fn_02C88ABC @ 0x2c88abc
|
|
void Gambit_fn_02C88ABC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C88ABC: ; // 0x2c88abc
|
|
/* 02C88ABC */ cpu->r[0] = cpu->lr;
|
|
/* 02C88AC0 */ Gambit_fn_02C8A174(cpu);
|
|
/* 02C88AC4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88AC8 */ _t0 = cpu->r[12] + 0x00004890u;
|
|
/* 02C88AC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C88ACC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02C88AD0 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88AD0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C88AD0 */ if (_t2) goto L_02C88AD4; else goto L_02C88AE8;
|
|
L_02C88AD4: ; // 0x2c88ad4
|
|
/* 02C88AD4 */ Gambit_fn_02C88B08(cpu);
|
|
/* 02C88AD8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88ADC */ _t3 = cpu->r[12] + 0x00004894u;
|
|
/* 02C88ADC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C88AE0 */ cpu->f[1] = cpu->f[1] * cpu->f[0];
|
|
/* 02C88AE4 */ goto L_02C88B04;
|
|
L_02C88AE8: ; // 0x2c88ae8
|
|
/* 02C88AE8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02C88AEC */ cpu->r[3] = 0x00000021u;
|
|
/* 02C88AF0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88AF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C88AF0 */ if (_t5) goto L_02C88AF4; else goto L_02C88AF8;
|
|
L_02C88AF4: ; // 0x2c88af4
|
|
/* 02C88AF4 */ cpu->r[3] = 0x00000022u;
|
|
L_02C88AF8: ; // 0x2c88af8
|
|
/* 02C88AF8 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C88AFC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88B00 */ _t6 = cpu->r[12] + 0x00004898u;
|
|
/* 02C88B00 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
L_02C88B04: ; // 0x2c88b04
|
|
/* 02C88B04 */ goto L_02C8A180;
|
|
L_02C8A180: ; // 0x2c8a180
|
|
/* 02C8A180 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C8A180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C8A184 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C8A188 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A18C */ return;
|
|
}
|
|
|
|
// fn_02C88B08 @ 0x2c88b08
|
|
void Gambit_fn_02C88B08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02C88B08: ; // 0x2c88b08
|
|
/* 02C88B08 */ cpu->r[0] = cpu->lr;
|
|
/* 02C88B0C */ cpu->f[13] = cpu->f[1];
|
|
/* 02C88B10 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C88B10 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C88B14 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88B18 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C88B18 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C88B18 */ cpu->r[1] = _t1;
|
|
/* 02C88B1C */ _t2 = cpu->r[12] + 0x0000489Cu;
|
|
/* 02C88B1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C88B20 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C88B24 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88B24 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C88B24 */ if (_t4) goto L_02C88B58; else goto L_02C88B28;
|
|
L_02C88B28: ; // 0x2c88b28
|
|
/* 02C88B28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C88B2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88B2C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C88B2C */ if (_t6) goto L_02C88B30; else goto L_02C88B44;
|
|
L_02C88B30: ; // 0x2c88b30
|
|
/* 02C88B30 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C88B34 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C88B38 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88B3C */ _t7 = cpu->r[12] + 0x000048A0u;
|
|
/* 02C88B3C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C88B40 */ goto L_02C88BEC;
|
|
L_02C88B44: ; // 0x2c88b44
|
|
/* 02C88B44 */ cpu->r[3] = 0x00000021u;
|
|
/* 02C88B48 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C88B4C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88B50 */ _t8 = cpu->r[12] + 0x000048A4u;
|
|
/* 02C88B50 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C88B54 */ goto L_02C88BEC;
|
|
L_02C88B58: ; // 0x2c88b58
|
|
/* 02C88B58 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88B58 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 02C88B5C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88B5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C88B60 */ cpu->r[12] = 0x7F800000u;
|
|
/* 02C88B64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C88B68 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88B68 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C88B68 */ if (_t12) goto L_02C88B6C; else goto L_02C88BEC;
|
|
L_02C88B6C: ; // 0x2c88b6c
|
|
/* 02C88B6C */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000009u, 0x00000017u, 0x0000001Fu);
|
|
/* 02C88B70 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000009u, 0x0000001Fu);
|
|
/* 02C88B74 */ cpu->r[3] = cpu->r[12] + 0xFFFFFF82u;
|
|
/* 02C88B78 */ cpu->r[12] = 0x3F350000u;
|
|
/* 02C88B7C */ cpu->r[11] = cpu->r[11] | 0x3F000000u;
|
|
/* 02C88B80 */ cpu->r[12] = cpu->r[12] + 0x000004F3u;
|
|
/* 02C88B84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C88B88 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88B88 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C88B88 */ if (_t14) goto L_02C88B8C; else goto L_02C88B94;
|
|
L_02C88B8C: ; // 0x2c88b8c
|
|
/* 02C88B8C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C88B90 */ cpu->r[11] = cpu->r[11] + 0x00800000u;
|
|
L_02C88B94: ; // 0x2c88b94
|
|
/* 02C88B94 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88B94 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 02C88B98 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88B9C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88B9C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C88BA0 */ _t17 = cpu->r[12] + 0x000048A8u;
|
|
/* 02C88BA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C88BA4 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 02C88BA8 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
|
|
/* 02C88BAC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88BB0 */ cpu->f[12] = cpu->f[12] / cpu->f[13];
|
|
/* 02C88BB4 */ _t18 = cpu->r[12] + 0x000048ACu;
|
|
/* 02C88BB4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C88BB8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88BBC */ _t19 = cpu->r[12] + 0x000048B0u;
|
|
/* 02C88BBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C88BC0 */ cpu->f[11] = cpu->f[12] * cpu->f[12];
|
|
/* 02C88BC4 */ cpu->f[0] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
/* 02C88BC8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88BCC */ cpu->f[13] = cpu->f[0] * cpu->f[12];
|
|
/* 02C88BD0 */ _t20 = cpu->r[12] + 0x000048B4u;
|
|
/* 02C88BD0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C88BD4 */ cpu->f[11] = cpu->f[11] + cpu->f[0];
|
|
/* 02C88BD8 */ cpu->f[13] = cpu->f[13] / cpu->f[11];
|
|
/* 02C88BDC */ Gambit_fn_02C8A1D4(cpu);
|
|
/* 02C88BE0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88BE4 */ _t21 = cpu->r[12] + 0x000048B8u;
|
|
/* 02C88BE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C88BE8 */ cpu->f[13] = fma(cpu->f[1], cpu->f[0], cpu->f[13]);
|
|
L_02C88BEC: ; // 0x2c88bec
|
|
/* 02C88BEC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C88BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C88BF0 */ cpu->lr = cpu->r[0];
|
|
/* 02C88BF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C88BF8 */ cpu->f[1] = cpu->f[13];
|
|
/* 02C88BFC */ return;
|
|
}
|
|
|
|
// fn_02C88B18 @ 0x2c88b18
|
|
void Gambit_fn_02C88B18(CPUState* 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_02C88B18: ; // 0x2c88b18
|
|
/* 02C88B18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C88B18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88B18 */ cpu->r[1] = _t0;
|
|
/* 02C88B1C */ _t1 = cpu->r[12] + 0x0000489Cu;
|
|
/* 02C88B1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C88B20 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C88B24 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88B24 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C88B24 */ if (_t3) goto L_02C88B58; else goto L_02C88B28;
|
|
L_02C88B28: ; // 0x2c88b28
|
|
/* 02C88B28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C88B2C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88B2C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C88B2C */ if (_t5) goto L_02C88B30; else goto L_02C88B44;
|
|
L_02C88B30: ; // 0x2c88b30
|
|
/* 02C88B30 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C88B34 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C88B38 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88B3C */ _t6 = cpu->r[12] + 0x000048A0u;
|
|
/* 02C88B3C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C88B40 */ goto L_02C88BEC;
|
|
L_02C88B44: ; // 0x2c88b44
|
|
/* 02C88B44 */ cpu->r[3] = 0x00000021u;
|
|
/* 02C88B48 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
/* 02C88B4C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88B50 */ _t7 = cpu->r[12] + 0x000048A4u;
|
|
/* 02C88B50 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C88B54 */ goto L_02C88BEC;
|
|
L_02C88B58: ; // 0x2c88b58
|
|
/* 02C88B58 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88B58 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 02C88B5C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88B5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C88B60 */ cpu->r[12] = 0x7F800000u;
|
|
/* 02C88B64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C88B68 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88B68 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C88B68 */ if (_t11) goto L_02C88B6C; else goto L_02C88BEC;
|
|
L_02C88B6C: ; // 0x2c88b6c
|
|
/* 02C88B6C */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000009u, 0x00000017u, 0x0000001Fu);
|
|
/* 02C88B70 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000009u, 0x0000001Fu);
|
|
/* 02C88B74 */ cpu->r[3] = cpu->r[12] + 0xFFFFFF82u;
|
|
/* 02C88B78 */ cpu->r[12] = 0x3F350000u;
|
|
/* 02C88B7C */ cpu->r[11] = cpu->r[11] | 0x3F000000u;
|
|
/* 02C88B80 */ cpu->r[12] = cpu->r[12] + 0x000004F3u;
|
|
/* 02C88B84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C88B88 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88B88 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C88B88 */ if (_t13) goto L_02C88B8C; else goto L_02C88B94;
|
|
L_02C88B8C: ; // 0x2c88b8c
|
|
/* 02C88B8C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C88B90 */ cpu->r[11] = cpu->r[11] + 0x00800000u;
|
|
L_02C88B94: ; // 0x2c88b94
|
|
/* 02C88B94 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88B94 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02C88B98 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88B9C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88B9C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C88BA0 */ _t16 = cpu->r[12] + 0x000048A8u;
|
|
/* 02C88BA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C88BA4 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 02C88BA8 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
|
|
/* 02C88BAC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88BB0 */ cpu->f[12] = cpu->f[12] / cpu->f[13];
|
|
/* 02C88BB4 */ _t17 = cpu->r[12] + 0x000048ACu;
|
|
/* 02C88BB4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C88BB8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88BBC */ _t18 = cpu->r[12] + 0x000048B0u;
|
|
/* 02C88BBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C88BC0 */ cpu->f[11] = cpu->f[12] * cpu->f[12];
|
|
/* 02C88BC4 */ cpu->f[0] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
/* 02C88BC8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88BCC */ cpu->f[13] = cpu->f[0] * cpu->f[12];
|
|
/* 02C88BD0 */ _t19 = cpu->r[12] + 0x000048B4u;
|
|
/* 02C88BD0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C88BD4 */ cpu->f[11] = cpu->f[11] + cpu->f[0];
|
|
/* 02C88BD8 */ cpu->f[13] = cpu->f[13] / cpu->f[11];
|
|
/* 02C88BDC */ Gambit_fn_02C8A1D4(cpu);
|
|
/* 02C88BE0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88BE4 */ _t20 = cpu->r[12] + 0x000048B8u;
|
|
/* 02C88BE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C88BE8 */ cpu->f[13] = fma(cpu->f[1], cpu->f[0], cpu->f[13]);
|
|
L_02C88BEC: ; // 0x2c88bec
|
|
/* 02C88BEC */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02C88BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C88BF0 */ cpu->lr = cpu->r[0];
|
|
/* 02C88BF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C88BF8 */ cpu->f[1] = cpu->f[13];
|
|
/* 02C88BFC */ return;
|
|
}
|
|
|
|
// fn_02C88C00 @ 0x2c88c00
|
|
void Gambit_fn_02C88C00(CPUState* 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;
|
|
|
|
L_02C88C00: ; // 0x2c88c00
|
|
/* 02C88C00 */ cpu->r[0] = cpu->lr;
|
|
/* 02C88C04 */ cpu->f[11] = cpu->f[1];
|
|
/* 02C88C08 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C88C08 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C88C0C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88C10 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C88C10 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C88C10 */ cpu->r[1] = _t1;
|
|
/* 02C88C14 */ _t2 = cpu->r[12] + 0x000048BCu;
|
|
/* 02C88C14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C88C18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 02C88C1C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88C1C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C88C1C */ if (_t4) goto L_02C88C54; else goto L_02C88C20;
|
|
L_02C88C20: ; // 0x2c88c20
|
|
/* 02C88C20 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C88C20 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[11]);
|
|
/* 02C88C24 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C88C24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C88C28 */ cpu->r[12] = 0xFF000000u;
|
|
/* 02C88C2C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88C30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C88C34 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88C34 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C88C34 */ if (_t8) goto L_02C88C38; else goto L_02C88C40;
|
|
L_02C88C38: ; // 0x2c88c38
|
|
/* 02C88C38 */ /* nop */
|
|
/* 02C88C3C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88C3C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C88C3C */ if (_t10) goto L_02C88C40; else goto L_02C88C48;
|
|
L_02C88C40: ; // 0x2c88c40
|
|
/* 02C88C40 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C88C44 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C88C48: ; // 0x2c88c48
|
|
/* 02C88C48 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88C4C */ _t11 = cpu->r[12] + 0x000048C0u;
|
|
/* 02C88C4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C88C50 */ goto L_02C88D5C;
|
|
L_02C88C54: ; // 0x2c88c54
|
|
/* 02C88C54 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88C58 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02C88C5C */ _t12 = cpu->r[12] + 0x000048C4u;
|
|
/* 02C88C5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C88C60 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88C64 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02C88C68 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02C88C68 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02C88C6C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C88C6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C88C70 */ _t15 = cpu->r[12] + 0x000048C8u;
|
|
/* 02C88C70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C88C74 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88C74 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C88C74 */ if (_t17) goto L_02C88CD4; else goto L_02C88C78;
|
|
L_02C88C78: ; // 0x2c88c78
|
|
/* 02C88C78 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02C88C7C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88C7C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C88C7C */ if (_t19) goto L_02C88D5C; else goto L_02C88C80;
|
|
L_02C88C80: ; // 0x2c88c80
|
|
/* 02C88C80 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88C84 */ _t20 = cpu->r[12] + 0x000048CCu;
|
|
/* 02C88C84 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C88C88 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 02C88C8C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88C8C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C88C8C */ if (_t22) goto L_02C88C90; else goto L_02C88CD4;
|
|
L_02C88C90: ; // 0x2c88c90
|
|
/* 02C88C90 */ cpu->r[11] = cpu->r[11] + 0x00000095u;
|
|
/* 02C88C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C88C94 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88C94 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C88C94 */ if (_t24) goto L_02C88CA4; else goto L_02C88C98;
|
|
L_02C88C98: ; // 0x2c88c98
|
|
/* 02C88C98 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C88C9C */ /* nop */
|
|
/* 02C88CA0 */ goto L_02C88D54;
|
|
L_02C88CA4: ; // 0x2c88ca4
|
|
/* 02C88CA4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02C88CA4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02C88CA8 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02C88CA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C88CAC */ cpu->r[11] = 0xFF000000u;
|
|
/* 02C88CB0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88CB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C88CB8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88CB8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C88CB8 */ if (_t28) goto L_02C88CBC; else goto L_02C88CC4;
|
|
L_02C88CBC: ; // 0x2c88cbc
|
|
/* 02C88CBC */ /* nop */
|
|
/* 02C88CC0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88CC0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C88CC0 */ if (_t30) goto L_02C88CC4; else goto L_02C88CCC;
|
|
L_02C88CC4: ; // 0x2c88cc4
|
|
/* 02C88CC4 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C88CC8 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C88CCC: ; // 0x2c88ccc
|
|
/* 02C88CCC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C88CD0 */ goto L_02C88D54;
|
|
L_02C88CD4: ; // 0x2c88cd4
|
|
/* 02C88CD4 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C88CD8 */ Gambit_fn_02C8A1D4(cpu);
|
|
/* 02C88CDC */ cpu->f[11] = cpu->f[11] - cpu->f[1];
|
|
/* 02C88CE0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02C88CE4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88CE4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C88CE4 */ if (_t32) goto L_02C88CE8; else goto L_02C88CF0;
|
|
L_02C88CE8: ; // 0x2c88ce8
|
|
/* 02C88CE8 */ cpu->r[11] = cpu->r[11] + 0x0000007Fu;
|
|
/* 02C88CEC */ goto L_02C88D44;
|
|
L_02C88CF0: ; // 0x2c88cf0
|
|
/* 02C88CF0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02C88CF4 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88CF4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C88CF4 */ if (_t34) goto L_02C88CF8; else goto L_02C88D00;
|
|
L_02C88CF8: ; // 0x2c88cf8
|
|
/* 02C88CF8 */ cpu->f[11] = cpu->f[11] + cpu->f[0];
|
|
/* 02C88CFC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02C88D00: ; // 0x2c88d00
|
|
/* 02C88D00 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D04 */ _t35 = cpu->r[12] + 0x000048D0u;
|
|
/* 02C88D04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C88D08 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D0C */ _t36 = cpu->r[12] + 0x000048D4u;
|
|
/* 02C88D0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C88D10 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D14 */ cpu->f[13] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
/* 02C88D18 */ _t37 = cpu->r[12] + 0x000048D8u;
|
|
/* 02C88D18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C88D1C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D20 */ cpu->f[13] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
/* 02C88D24 */ _t38 = cpu->r[12] + 0x000048DCu;
|
|
/* 02C88D24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C88D28 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D2C */ cpu->f[13] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
/* 02C88D30 */ _t39 = cpu->r[12] + 0x000048E0u;
|
|
/* 02C88D30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C88D34 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D38 */ cpu->f[13] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
/* 02C88D3C */ _t40 = cpu->r[12] + 0x000048E4u;
|
|
/* 02C88D3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C88D40 */ cpu->f[13] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
L_02C88D44: ; // 0x2c88d44
|
|
/* 02C88D44 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88D44 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 02C88D48 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88D48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C88D4C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000017u, 0x00000000u, 0x00000008u);
|
|
/* 02C88D50 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02C88D54: ; // 0x2c88d54
|
|
/* 02C88D54 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88D54 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02C88D58 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88D58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
L_02C88D5C: ; // 0x2c88d5c
|
|
/* 02C88D5C */ _t45 = cpu->r[1] + 0x00000024u;
|
|
/* 02C88D5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C88D60 */ cpu->lr = cpu->r[0];
|
|
/* 02C88D64 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C88D68 */ cpu->f[1] = cpu->f[0];
|
|
/* 02C88D6C */ return;
|
|
}
|
|
|
|
// fn_02C88C10 @ 0x2c88c10
|
|
void Gambit_fn_02C88C10(CPUState* 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_02C88C10: ; // 0x2c88c10
|
|
/* 02C88C10 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C88C10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88C10 */ cpu->r[1] = _t0;
|
|
/* 02C88C14 */ _t1 = cpu->r[12] + 0x000048BCu;
|
|
/* 02C88C14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C88C18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 02C88C1C */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88C1C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C88C1C */ if (_t3) goto L_02C88C54; else goto L_02C88C20;
|
|
L_02C88C20: ; // 0x2c88c20
|
|
/* 02C88C20 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C88C20 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[11]);
|
|
/* 02C88C24 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C88C24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C88C28 */ cpu->r[12] = 0xFF000000u;
|
|
/* 02C88C2C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88C30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C88C34 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88C34 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C88C34 */ if (_t7) goto L_02C88C38; else goto L_02C88C40;
|
|
L_02C88C38: ; // 0x2c88c38
|
|
/* 02C88C38 */ /* nop */
|
|
/* 02C88C3C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88C3C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C88C3C */ if (_t9) goto L_02C88C40; else goto L_02C88C48;
|
|
L_02C88C40: ; // 0x2c88c40
|
|
/* 02C88C40 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C88C44 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C88C48: ; // 0x2c88c48
|
|
/* 02C88C48 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88C4C */ _t10 = cpu->r[12] + 0x000048C0u;
|
|
/* 02C88C4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C88C50 */ goto L_02C88D5C;
|
|
L_02C88C54: ; // 0x2c88c54
|
|
/* 02C88C54 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88C58 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02C88C5C */ _t11 = cpu->r[12] + 0x000048C4u;
|
|
/* 02C88C5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C88C60 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88C64 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02C88C68 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02C88C68 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[0]);
|
|
/* 02C88C6C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C88C6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C88C70 */ _t14 = cpu->r[12] + 0x000048C8u;
|
|
/* 02C88C70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C88C74 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88C74 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C88C74 */ if (_t16) goto L_02C88CD4; else goto L_02C88C78;
|
|
L_02C88C78: ; // 0x2c88c78
|
|
/* 02C88C78 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02C88C7C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88C7C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C88C7C */ if (_t18) goto L_02C88D5C; else goto L_02C88C80;
|
|
L_02C88C80: ; // 0x2c88c80
|
|
/* 02C88C80 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88C84 */ _t19 = cpu->r[12] + 0x000048CCu;
|
|
/* 02C88C84 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C88C88 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 02C88C8C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88C8C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C88C8C */ if (_t21) goto L_02C88C90; else goto L_02C88CD4;
|
|
L_02C88C90: ; // 0x2c88c90
|
|
/* 02C88C90 */ cpu->r[11] = cpu->r[11] + 0x00000095u;
|
|
/* 02C88C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C88C94 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88C94 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C88C94 */ if (_t23) goto L_02C88CA4; else goto L_02C88C98;
|
|
L_02C88C98: ; // 0x2c88c98
|
|
/* 02C88C98 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C88C9C */ /* nop */
|
|
/* 02C88CA0 */ goto L_02C88D54;
|
|
L_02C88CA4: ; // 0x2c88ca4
|
|
/* 02C88CA4 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02C88CA4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[11]);
|
|
/* 02C88CA8 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02C88CA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C88CAC */ cpu->r[11] = 0xFF000000u;
|
|
/* 02C88CB0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88CB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C88CB8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88CB8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C88CB8 */ if (_t27) goto L_02C88CBC; else goto L_02C88CC4;
|
|
L_02C88CBC: ; // 0x2c88cbc
|
|
/* 02C88CBC */ /* nop */
|
|
/* 02C88CC0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88CC0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C88CC0 */ if (_t29) goto L_02C88CC4; else goto L_02C88CCC;
|
|
L_02C88CC4: ; // 0x2c88cc4
|
|
/* 02C88CC4 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C88CC8 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C88CCC: ; // 0x2c88ccc
|
|
/* 02C88CCC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C88CD0 */ goto L_02C88D54;
|
|
L_02C88CD4: ; // 0x2c88cd4
|
|
/* 02C88CD4 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C88CD8 */ Gambit_fn_02C8A1D4(cpu);
|
|
/* 02C88CDC */ cpu->f[11] = cpu->f[11] - cpu->f[1];
|
|
/* 02C88CE0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02C88CE4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88CE4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C88CE4 */ if (_t31) goto L_02C88CE8; else goto L_02C88CF0;
|
|
L_02C88CE8: ; // 0x2c88ce8
|
|
/* 02C88CE8 */ cpu->r[11] = cpu->r[11] + 0x0000007Fu;
|
|
/* 02C88CEC */ goto L_02C88D44;
|
|
L_02C88CF0: ; // 0x2c88cf0
|
|
/* 02C88CF0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02C88CF4 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88CF4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C88CF4 */ if (_t33) goto L_02C88CF8; else goto L_02C88D00;
|
|
L_02C88CF8: ; // 0x2c88cf8
|
|
/* 02C88CF8 */ cpu->f[11] = cpu->f[11] + cpu->f[0];
|
|
/* 02C88CFC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02C88D00: ; // 0x2c88d00
|
|
/* 02C88D00 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D04 */ _t34 = cpu->r[12] + 0x000048D0u;
|
|
/* 02C88D04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C88D08 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D0C */ _t35 = cpu->r[12] + 0x000048D4u;
|
|
/* 02C88D0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C88D10 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D14 */ cpu->f[13] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
/* 02C88D18 */ _t36 = cpu->r[12] + 0x000048D8u;
|
|
/* 02C88D18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C88D1C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D20 */ cpu->f[13] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
/* 02C88D24 */ _t37 = cpu->r[12] + 0x000048DCu;
|
|
/* 02C88D24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C88D28 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D2C */ cpu->f[13] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
/* 02C88D30 */ _t38 = cpu->r[12] + 0x000048E0u;
|
|
/* 02C88D30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C88D34 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D38 */ cpu->f[13] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
/* 02C88D3C */ _t39 = cpu->r[12] + 0x000048E4u;
|
|
/* 02C88D3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C88D40 */ cpu->f[13] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
L_02C88D44: ; // 0x2c88d44
|
|
/* 02C88D44 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88D44 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[13]);
|
|
/* 02C88D48 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88D48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C88D4C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000017u, 0x00000000u, 0x00000008u);
|
|
/* 02C88D50 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02C88D54: ; // 0x2c88d54
|
|
/* 02C88D54 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88D54 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 02C88D58 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88D58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
L_02C88D5C: ; // 0x2c88d5c
|
|
/* 02C88D5C */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 02C88D5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C88D60 */ cpu->lr = cpu->r[0];
|
|
/* 02C88D64 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C88D68 */ cpu->f[1] = cpu->f[0];
|
|
/* 02C88D6C */ return;
|
|
}
|
|
|
|
// fn_02C88D70 @ 0x2c88d70
|
|
void Gambit_fn_02C88D70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56;
|
|
|
|
L_02C88D70: ; // 0x2c88d70
|
|
/* 02C88D70 */ cpu->r[0] = cpu->lr;
|
|
/* 02C88D74 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C88D78 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C88D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C88D78 */ cpu->r[1] = _t0;
|
|
/* 02C88D7C */ Gambit_fn_02C8A398(cpu);
|
|
/* 02C88D80 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D84 */ _t1 = cpu->r[12] + 0x000048E8u;
|
|
/* 02C88D84 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C88D88 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D8C */ _t2 = cpu->r[12] + 0x000048ECu;
|
|
/* 02C88D8C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C88D90 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88D94 */ cpu->f[12] = cpu->f[1];
|
|
/* 02C88D98 */ _t3 = cpu->r[12] + 0x000048F0u;
|
|
/* 02C88D98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C88D9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
|
|
/* 02C88DA0 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88DA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C88DA0 */ if (_t5) goto L_02C88E10; else goto L_02C88DA4;
|
|
L_02C88DA4: ; // 0x2c88da4
|
|
/* 02C88DA4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88DA8 */ _t6 = cpu->r[12] + 0x000048F4u;
|
|
/* 02C88DA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C88DAC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 02C88DB0 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C88DB0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C88DB0 */ if (_t8) goto L_02C88E10; else goto L_02C88DB4;
|
|
L_02C88DB4: ; // 0x2c88db4
|
|
/* 02C88DB4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 02C88DB8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88DB8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C88DB8 */ if (_t10) goto L_02C88DBC; else goto L_02C88DC4;
|
|
L_02C88DBC: ; // 0x2c88dbc
|
|
/* 02C88DBC */ cpu->f[31] = cpu->f[13];
|
|
/* 02C88DC0 */ goto L_02C88F20;
|
|
L_02C88DC4: ; // 0x2c88dc4
|
|
/* 02C88DC4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 02C88DC8 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C88DCC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88DCC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C88DCC */ if (_t12) goto L_02C88DD0; else goto L_02C88DD8;
|
|
L_02C88DD0: ; // 0x2c88dd0
|
|
/* 02C88DD0 */ cpu->f[12] = cpu->f[12] + cpu->f[0];
|
|
/* 02C88DD4 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
L_02C88DD8: ; // 0x2c88dd8
|
|
/* 02C88DD8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88DDC */ _t13 = cpu->r[12] + 0x000048F8u;
|
|
/* 02C88DDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C88DE0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88DE4 */ _t14 = cpu->r[12] + 0x000048FCu;
|
|
/* 02C88DE4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C88DE8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88DEC */ cpu->f[13] = fma(cpu->f[0], cpu->f[12], cpu->f[13]);
|
|
/* 02C88DF0 */ _t15 = cpu->r[12] + 0x00004900u;
|
|
/* 02C88DF0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C88DF4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88DF8 */ cpu->f[13] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C88DFC */ _t16 = cpu->r[12] + 0x00004904u;
|
|
/* 02C88DFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C88E00 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88E04 */ cpu->f[13] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C88E08 */ _t17 = cpu->r[12] + 0x00004908u;
|
|
/* 02C88E08 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C88E0C */ goto L_02C88EF8;
|
|
L_02C88E10: ; // 0x2c88e10
|
|
/* 02C88E10 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88E14 */ _t18 = cpu->r[12] + 0x0000490Cu;
|
|
/* 02C88E14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C88E18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 02C88E1C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88E1C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C88E1C */ if (_t20) goto L_02C88E54; else goto L_02C88E20;
|
|
L_02C88E20: ; // 0x2c88e20
|
|
/* 02C88E20 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C88E20 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 02C88E24 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C88E24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C88E28 */ cpu->r[11] = 0xFF000000u;
|
|
/* 02C88E2C */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88E30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C88E34 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88E34 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C88E34 */ if (_t24) goto L_02C88E38; else goto L_02C88E40;
|
|
L_02C88E38: ; // 0x2c88e38
|
|
/* 02C88E38 */ /* nop */
|
|
/* 02C88E3C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88E3C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C88E3C */ if (_t26) goto L_02C88E40; else goto L_02C88E48;
|
|
L_02C88E40: ; // 0x2c88e40
|
|
/* 02C88E40 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C88E44 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C88E48: ; // 0x2c88e48
|
|
/* 02C88E48 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88E4C */ _t27 = cpu->r[12] + 0x00004910u;
|
|
/* 02C88E4C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C88E50 */ goto L_02C88F20;
|
|
L_02C88E54: ; // 0x2c88e54
|
|
/* 02C88E54 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88E58 */ _t28 = cpu->r[12] + 0x00004914u;
|
|
/* 02C88E58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C88E5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 02C88E60 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88E60 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C88E60 */ if (_t30) goto L_02C88E64; else goto L_02C88E90;
|
|
L_02C88E64: ; // 0x2c88e64
|
|
/* 02C88E64 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02C88E64 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
|
|
/* 02C88E68 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02C88E68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C88E6C */ cpu->r[11] = 0xFF000000u;
|
|
/* 02C88E70 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C88E74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C88E78 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88E78 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C88E78 */ if (_t34) goto L_02C88E7C; else goto L_02C88E84;
|
|
L_02C88E7C: ; // 0x2c88e7c
|
|
/* 02C88E7C */ /* nop */
|
|
/* 02C88E80 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C88E80 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C88E80 */ if (_t36) goto L_02C88E84; else goto L_02C88E8C;
|
|
L_02C88E84: ; // 0x2c88e84
|
|
/* 02C88E84 */ cpu->r[3] = 0x00000022u;
|
|
/* 02C88E88 */ rbrew_dispatch(cpu, 0x02d0b790u);
|
|
L_02C88E8C: ; // 0x2c88e8c
|
|
/* 02C88E8C */ goto L_02C88F20;
|
|
L_02C88E90: ; // 0x2c88e90
|
|
/* 02C88E90 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88E94 */ _t37 = cpu->r[12] + 0x00004918u;
|
|
/* 02C88E94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C88E98 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 02C88E9C */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[12];
|
|
/* 02C88EA0 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 02C88EA0 */ rbrew_write_f64(cpu->mem, _t38, cpu->f[0]);
|
|
/* 02C88EA4 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C88EA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C88EA8 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C88EAC */ Gambit_fn_02C8A1D4(cpu);
|
|
/* 02C88EB0 */ cpu->f[12] = cpu->f[12] - cpu->f[1];
|
|
/* 02C88EB4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 02C88EB8 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C88EB8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C88EB8 */ if (_t41) goto L_02C88EBC; else goto L_02C88EC4;
|
|
L_02C88EBC: ; // 0x2c88ebc
|
|
/* 02C88EBC */ cpu->f[12] = cpu->f[12] + cpu->f[13];
|
|
/* 02C88EC0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02C88EC4: ; // 0x2c88ec4
|
|
/* 02C88EC4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88EC8 */ _t42 = cpu->r[12] + 0x0000491Cu;
|
|
/* 02C88EC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C88ECC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88ED0 */ _t43 = cpu->r[12] + 0x00004920u;
|
|
/* 02C88ED0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C88ED4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88ED8 */ cpu->f[13] = fma(cpu->f[0], cpu->f[12], cpu->f[13]);
|
|
/* 02C88EDC */ _t44 = cpu->r[12] + 0x00004924u;
|
|
/* 02C88EDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C88EE0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88EE4 */ cpu->f[13] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C88EE8 */ _t45 = cpu->r[12] + 0x00004928u;
|
|
/* 02C88EE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C88EEC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88EF0 */ cpu->f[13] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C88EF4 */ _t46 = cpu->r[12] + 0x0000492Cu;
|
|
/* 02C88EF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
L_02C88EF8: ; // 0x2c88ef8
|
|
/* 02C88EF8 */ cpu->f[31] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C88EFC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C88F00 */ _t47 = cpu->r[12] + 0x00004930u;
|
|
/* 02C88F00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C88F04 */ cpu->f[31] = fma(cpu->f[31], cpu->f[12], cpu->f[0]);
|
|
/* 02C88F08 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88F08 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[31]);
|
|
/* 02C88F0C */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88F0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C88F10 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000017u, 0x00000000u, 0x00000008u);
|
|
/* 02C88F14 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
/* 02C88F18 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88F18 */ rbrew_write32(cpu->mem, _t50, cpu->r[12]);
|
|
/* 02C88F1C */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 02C88F1C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t51);
|
|
L_02C88F20: ; // 0x2c88f20
|
|
/* 02C88F20 */ cpu->r[11] = cpu->r[1] + 0x00000030u;
|
|
/* 02C88F24 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C88F28 */ goto L_02C8A434;
|
|
L_02C8A434: ; // 0x2c8a434
|
|
/* 02C8A434 */ _t52 = cpu->r[11] + 0x00000004u;
|
|
/* 02C8A434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C8A438 */ _t53 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C8A438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C8A43C */ _t54 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C8A43C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 02C8A440 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C8A440 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C8A440 */ if (_t56) goto L_02C8A444; // else: addr-0 trap, fall-through
|
|
L_02C8A444: ; // 0x2c8a444
|
|
/* 02C8A444 */ cpu->lr = cpu->r[0];
|
|
/* 02C8A448 */ cpu->r[1] = cpu->r[11] | 0x00000000u;
|
|
/* 02C8A44C */ return;
|
|
}
|
|
|