mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
27956 lines
1.4 MiB
Plaintext
27956 lines
1.4 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02493D7C @ 0x2493d7c
|
|
void Gambit_fn_02493D7C(CPUState* cpu) {
|
|
L_02493D7C: ; // 0x2493d7c
|
|
/* 02493D7C */ cpu->r[3] = 0x00000001u;
|
|
/* 02493D80 */ return;
|
|
}
|
|
|
|
// fn_02493D84 @ 0x2493d84
|
|
void Gambit_fn_02493D84(CPUState* cpu) {
|
|
L_02493D84: ; // 0x2493d84
|
|
/* 02493D84 */ cpu->r[3] = 0x00000000u;
|
|
/* 02493D88 */ return;
|
|
}
|
|
|
|
// fn_02493D8C @ 0x2493d8c
|
|
void Gambit_fn_02493D8C(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_02493D8C: ; // 0x2493d8c
|
|
/* 02493D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02493D90 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02493D90 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02493D90 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02493D90 */ goto L_02493D94;
|
|
L_02493D94: ; // 0x2493d94
|
|
/* 02493D94 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02493D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02493D98 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02493D98 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02493D98 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02493D98 */ goto L_02493D9C;
|
|
L_02493D9C: ; // 0x2493d9c
|
|
/* 02493D9C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02493DA0 @ 0x2493da0
|
|
void Gambit_fn_02493DA0(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_02493DA0: ; // 0x2493da0
|
|
/* 02493DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02493DA4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02493DA4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02493DA4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02493DA4 */ goto L_02493DA8;
|
|
L_02493DA8: ; // 0x2493da8
|
|
/* 02493DA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02493DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02493DAC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02493DAC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02493DAC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02493DAC */ goto L_02493DB0;
|
|
L_02493DB0: ; // 0x2493db0
|
|
/* 02493DB0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02493DB4 @ 0x2493db4
|
|
void Gambit_fn_02493DB4(CPUState* cpu) {
|
|
L_02493DB4: ; // 0x2493db4
|
|
/* 02493DB4 */ cpu->r[3] = 0x100B0000u;
|
|
/* 02493DB8 */ cpu->r[3] = cpu->r[3] + 0xFFFFA138u;
|
|
/* 02493DBC */ return;
|
|
}
|
|
|
|
// fn_02493DC0 @ 0x2493dc0
|
|
void Gambit_fn_02493DC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02493DC0: ; // 0x2493dc0
|
|
/* 02493DC0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02493DC4 */ _t0 = cpu->r[12] + 0x0000068Cu;
|
|
/* 02493DC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02493DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02493DCC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02493DD0 */ cpu->r[12] = cpu->r[12] + 0x00000690u;
|
|
/* 02493DD4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02493DD4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02493DD4 */ if (_t2) goto L_02493DD8; else goto L_02493DF0;
|
|
L_02493DD8: ; // 0x2493dd8
|
|
/* 02493DD8 */ cpu->r[0] = 0x100B0000u;
|
|
/* 02493DDC */ cpu->r[9] = 0x00000001u;
|
|
/* 02493DE0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02493DE4 */ cpu->r[0] = cpu->r[0] + 0xFFFFA0FCu;
|
|
/* 02493DE8 */ _t3 = cpu->r[8] + 0x0000068Cu;
|
|
/* 02493DE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02493DEC */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02493DEC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_02493DF0: ; // 0x2493df0
|
|
/* 02493DF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02493DF4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02493DF4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02493DF4 */ if (_t6) goto L_02493DF8; else goto L_02493E00;
|
|
L_02493DF8: ; // 0x2493df8
|
|
/* 02493DF8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02493DFC */ return;
|
|
L_02493E00: ; // 0x2493e00
|
|
/* 02493E00 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02493E04 */ _t7 = cpu->r[11] + 0xFFFFD4E8u;
|
|
/* 02493E04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02493E04 */ cpu->r[11] = _t7;
|
|
/* 02493E08 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02493E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02493E10 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 02493E14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02493E14 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02493E14 */ if (_t9) goto L_02493E18; else goto L_02493E2C;
|
|
L_02493E18: ; // 0x2493e18
|
|
/* 02493E18 */ cpu->r[12] = 0x100B0000u;
|
|
/* 02493E1C */ cpu->r[9] = 0x00000001u;
|
|
/* 02493E20 */ cpu->r[12] = cpu->r[12] + 0xFFFFA0ECu;
|
|
/* 02493E24 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02493E24 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02493E28 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 02493E28 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_02493E2C: ; // 0x2493e2c
|
|
/* 02493E2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02493E30 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02493E30 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02493E30 */ if (_t13) goto L_02493E34; else goto L_02493E3C;
|
|
L_02493E34: ; // 0x2493e34
|
|
/* 02493E34 */ cpu->r[0] = 0x00000001u;
|
|
/* 02493E38 */ goto L_02493E74;
|
|
L_02493E3C: ; // 0x2493e3c
|
|
/* 02493E3C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02493E40 */ _t14 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 02493E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02493E40 */ cpu->r[8] = _t14;
|
|
/* 02493E44 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02493E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02493E4C */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02493E50 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02493E50 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02493E50 */ if (_t16) goto L_02493E54; else goto L_02493E68;
|
|
L_02493E54: ; // 0x2493e54
|
|
/* 02493E54 */ cpu->r[10] = 0x100B0000u;
|
|
/* 02493E58 */ cpu->r[9] = 0x00000001u;
|
|
/* 02493E5C */ cpu->r[10] = cpu->r[10] + 0xFFFFA01Cu;
|
|
/* 02493E60 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02493E60 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02493E64 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02493E64 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_02493E68: ; // 0x2493e68
|
|
/* 02493E68 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02493E6C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02493E70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02493E74: ; // 0x2493e74
|
|
/* 02493E74 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02493E78 */ return;
|
|
}
|
|
|
|
// fn_02493E84 @ 0x2493e84
|
|
void Gambit_fn_02493E84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02493E84: ; // 0x2493e84
|
|
/* 02493E84 */ cpu->r[3] = cpu->r[3] + 0x00000050u;
|
|
/* 02493E88 */ goto L_024944E4;
|
|
L_024944E4: ; // 0x24944e4
|
|
/* 024944E4 */ cpu->r[0] = cpu->lr;
|
|
/* 024944E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024944E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024944E8 */ cpu->r[1] = _t0;
|
|
/* 024944EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024944EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024944F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024944F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024944F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024944F8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 024944F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024944FC */ cpu->r[12] = 0x00000000u;
|
|
/* 02494500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02494504 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02494504 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02494508 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494508 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02494508 */ if (_t6) goto L_02494530; else goto L_0249450C;
|
|
L_0249450C: ; // 0x249450c
|
|
/* 0249450C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0249450C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02494510 */ /* nop */
|
|
/* 02494514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02494518 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494518 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02494518 */ if (_t9) goto L_0249451C; else goto L_02494530;
|
|
L_0249451C: ; // 0x249451c
|
|
/* 0249451C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0249451C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02494520 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02494520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02494524 */ cpu->ctr = cpu->r[0];
|
|
/* 02494528 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249452C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02494530: ; // 0x2494530
|
|
/* 02494530 */ cpu->r[3] = cpu->r[31];
|
|
/* 02494534 */ Gambit_fn_0249445C(cpu);
|
|
/* 02494538 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249453C */ Gambit_fn_027FC37C(cpu);
|
|
/* 02494540 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02494540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02494544 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494544 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02494548 */ cpu->lr = cpu->r[0];
|
|
/* 0249454C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02494550 */ return;
|
|
}
|
|
|
|
// fn_02493E8C @ 0x2493e8c
|
|
void Gambit_fn_02493E8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02493E8C: ; // 0x2493e8c
|
|
/* 02493E8C */ cpu->r[0] = cpu->lr;
|
|
/* 02493E90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02493E90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02493E90 */ cpu->r[1] = _t0;
|
|
/* 02493E94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02493E94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02493E98 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02493E98 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02493E9C */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02493E9C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02493EA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02493EA4 */ /* nop */
|
|
/* 02493EA8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02493EAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02493EB0 */ Gambit_fn_0249435C(cpu);
|
|
/* 02493EB4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02493EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02493EB8 */ cpu->lr = cpu->r[0];
|
|
/* 02493EBC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02493EBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02493EC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02493EC4 */ return;
|
|
}
|
|
|
|
// fn_02493E90 @ 0x2493e90
|
|
void Gambit_fn_02493E90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02493E90: ; // 0x2493e90
|
|
/* 02493E90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02493E90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02493E90 */ cpu->r[1] = _t0;
|
|
/* 02493E94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02493E94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02493E98 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02493E98 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02493E9C */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02493E9C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02493EA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02493EA4 */ /* nop */
|
|
/* 02493EA8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02493EAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02493EB0 */ Gambit_fn_0249435C(cpu);
|
|
/* 02493EB4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02493EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02493EB8 */ cpu->lr = cpu->r[0];
|
|
/* 02493EBC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02493EBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02493EC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02493EC4 */ return;
|
|
}
|
|
|
|
// fn_02493EC8 @ 0x2493ec8
|
|
void Gambit_fn_02493EC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02493EC8: ; // 0x2493ec8
|
|
/* 02493EC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02493ECC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02493ECC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02493ECC */ cpu->r[1] = _t0;
|
|
/* 02493ED0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02493ED0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02493ED4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02493ED8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02493ED8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02493EDC */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 02493EDC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02493EE0 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02493EE4 */ /* nop */
|
|
/* 02493EE8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02493EEC */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02493EF0 */ Gambit_fn_0249435C(cpu);
|
|
/* 02493EF4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02493EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02493EF8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02493EF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02493EFC */ cpu->lr = cpu->r[0];
|
|
/* 02493F00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02493F04 */ return;
|
|
}
|
|
|
|
// fn_02493ECC @ 0x2493ecc
|
|
void Gambit_fn_02493ECC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02493ECC: ; // 0x2493ecc
|
|
/* 02493ECC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02493ECC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02493ECC */ cpu->r[1] = _t0;
|
|
/* 02493ED0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02493ED0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02493ED4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02493ED8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02493ED8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02493EDC */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 02493EDC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02493EE0 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02493EE4 */ /* nop */
|
|
/* 02493EE8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02493EEC */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02493EF0 */ Gambit_fn_0249435C(cpu);
|
|
/* 02493EF4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02493EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02493EF8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02493EF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02493EFC */ cpu->lr = cpu->r[0];
|
|
/* 02493F00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02493F04 */ return;
|
|
}
|
|
|
|
// fn_02493F08 @ 0x2493f08
|
|
void Gambit_fn_02493F08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02493F08: ; // 0x2493f08
|
|
/* 02493F08 */ cpu->r[0] = cpu->lr;
|
|
/* 02493F0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02493F0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02493F0C */ cpu->r[1] = _t0;
|
|
/* 02493F10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02493F10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02493F14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02493F14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02493F18 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02493F18 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02493F1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02493F20 */ /* nop */
|
|
/* 02493F24 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02493F28 */ cpu->r[3] = cpu->r[31];
|
|
/* 02493F2C */ Gambit_fn_02494554(cpu);
|
|
/* 02493F30 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02493F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02493F34 */ cpu->lr = cpu->r[0];
|
|
/* 02493F38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02493F38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02493F3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02493F40 */ return;
|
|
}
|
|
|
|
// fn_02493F0C @ 0x2493f0c
|
|
void Gambit_fn_02493F0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02493F0C: ; // 0x2493f0c
|
|
/* 02493F0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02493F0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02493F0C */ cpu->r[1] = _t0;
|
|
/* 02493F10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02493F10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02493F14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02493F14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02493F18 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02493F18 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02493F1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02493F20 */ /* nop */
|
|
/* 02493F24 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02493F28 */ cpu->r[3] = cpu->r[31];
|
|
/* 02493F2C */ Gambit_fn_02494554(cpu);
|
|
/* 02493F30 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02493F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02493F34 */ cpu->lr = cpu->r[0];
|
|
/* 02493F38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02493F38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02493F3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02493F40 */ return;
|
|
}
|
|
|
|
// fn_02493F44 @ 0x2493f44
|
|
void Gambit_fn_02493F44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_02493F44: ; // 0x2493f44
|
|
/* 02493F44 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02493F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02493F44 */ cpu->r[1] = _t0;
|
|
/* 02493F48 */ /* nop */
|
|
/* 02493F4C */ cpu->r[0] = cpu->lr;
|
|
/* 02493F50 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02493F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02493F54 */ cpu->r[29] = cpu->r[6];
|
|
/* 02493F58 */ cpu->r[28] = cpu->r[3];
|
|
/* 02493F5C */ cpu->r[30] = cpu->r[5];
|
|
/* 02493F60 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02493F60 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02493F64 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02493F68 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02493F68 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02493F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02493F70 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02493F70 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02493F74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02493F74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02493F74 */ if (_t6) goto L_02493FB8; else goto L_02493F78;
|
|
L_02493F78: ; // 0x2493f78
|
|
/* 02493F78 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02493F78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02493F7C */ Gambit_fn_02826F20(cpu);
|
|
/* 02493F80 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02493F80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02493F84 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02493F84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02493F88 */ cpu->ctr = cpu->r[0];
|
|
/* 02493F8C */ cpu->r[5] = 0x00000004u;
|
|
/* 02493F90 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02493F94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02493F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02493F9C */ cpu->r[0] = cpu->r[27];
|
|
/* 02493FA0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02493FA0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02493FA0 */ if (_t11) goto L_02493FA8; else goto L_02493FA4;
|
|
L_02493FA4: ; // 0x2493fa4
|
|
/* 02493FA4 */ cpu->r[0] = 0x00000001u;
|
|
L_02493FA8: ; // 0x2493fa8
|
|
/* 02493FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02493FAC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02493FAC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02493FAC */ if (_t13) goto L_02493FB8; else goto L_02493FB0;
|
|
L_02493FB0: ; // 0x2493fb0
|
|
/* 02493FB0 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02493FB0 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02493FB4 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02493FB4 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02493FB8: ; // 0x2493fb8
|
|
/* 02493FB8 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02493FB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02493FBC */ cpu->r[0] = 0x00000000u;
|
|
/* 02493FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02493FC4 */ cpu->r[12] = cpu->r[0];
|
|
/* 02493FC8 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02493FC8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02493FC8 */ if (_t18) goto L_02493FCC; else goto L_02493FF0;
|
|
L_02493FCC: ; // 0x2493fcc
|
|
/* 02493FCC */ cpu->ctr = cpu->r[7];
|
|
/* 02493FD0 */ cpu->r[10] = 0x00000000u;
|
|
L_02493FD4: ; // 0x2493fd4
|
|
/* 02493FD4 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02493FD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02493FD8 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02493FD8 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02493FDC */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 02493FE0 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 02493FE0 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02493FE4 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02493FE8 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02493FE8 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02493FEC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02493FEC */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02493FEC */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02493FEC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02493FEC */ if (_t25) goto L_02493FD4; else goto L_02493FF0;
|
|
L_02493FF0: ; // 0x2493ff0
|
|
/* 02493FF0 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02493FF0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02493FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02493FF8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02493FF8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02493FF8 */ if (_t28) goto L_0249403C; else goto L_02493FFC;
|
|
L_02493FFC: ; // 0x2493ffc
|
|
/* 02493FFC */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02493FFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02494000 */ Gambit_fn_02826F20(cpu);
|
|
/* 02494004 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02494004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02494008 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02494008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0249400C */ cpu->ctr = cpu->r[0];
|
|
/* 02494010 */ cpu->r[5] = 0x00000004u;
|
|
/* 02494014 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02494018 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249401C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02494020 */ cpu->r[11] = cpu->r[27];
|
|
/* 02494024 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02494024 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02494024 */ if (_t33) goto L_0249402C; else goto L_02494028;
|
|
L_02494028: ; // 0x2494028
|
|
/* 02494028 */ cpu->r[11] = 0x00000001u;
|
|
L_0249402C: ; // 0x249402c
|
|
/* 0249402C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02494030 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494030 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02494030 */ if (_t35) goto L_0249403C; else goto L_02494034;
|
|
L_02494034: ; // 0x2494034
|
|
/* 02494034 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02494034 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02494038 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02494038 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0249403C: ; // 0x249403c
|
|
/* 0249403C */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0249403C */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02494040 */ cpu->r[0] = 0x00000000u;
|
|
/* 02494044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02494048 */ cpu->r[12] = cpu->r[0];
|
|
/* 0249404C */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249404C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0249404C */ if (_t40) goto L_02494050; else goto L_02494074;
|
|
L_02494050: ; // 0x2494050
|
|
/* 02494050 */ cpu->ctr = cpu->r[6];
|
|
/* 02494054 */ cpu->r[9] = 0x00000000u;
|
|
L_02494058: ; // 0x2494058
|
|
/* 02494058 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02494058 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0249405C */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0249405C */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02494060 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02494064 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02494064 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02494068 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0249406C */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0249406C */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02494070 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02494070 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02494070 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02494070 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02494070 */ if (_t47) goto L_02494058; else goto L_02494074;
|
|
L_02494074: ; // 0x2494074
|
|
/* 02494074 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02494074 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02494078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0249407C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249407C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0249407C */ if (_t50) goto L_024940C0; else goto L_02494080;
|
|
L_02494080: ; // 0x2494080
|
|
/* 02494080 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02494080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02494084 */ Gambit_fn_02826F20(cpu);
|
|
/* 02494088 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02494088 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0249408C */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0249408C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02494090 */ cpu->ctr = cpu->r[0];
|
|
/* 02494094 */ cpu->r[5] = 0x00000004u;
|
|
/* 02494098 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0249409C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024940A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 024940A4 */ cpu->r[10] = cpu->r[27];
|
|
/* 024940A8 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024940A8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 024940A8 */ if (_t55) goto L_024940B0; else goto L_024940AC;
|
|
L_024940AC: ; // 0x24940ac
|
|
/* 024940AC */ cpu->r[10] = 0x00000001u;
|
|
L_024940B0: ; // 0x24940b0
|
|
/* 024940B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024940B4 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024940B4 */ _t57 = _t56 & 0x00000001u;
|
|
/* 024940B4 */ if (_t57) goto L_024940C0; else goto L_024940B8;
|
|
L_024940B8: ; // 0x24940b8
|
|
/* 024940B8 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 024940B8 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 024940BC */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 024940BC */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_024940C0: ; // 0x24940c0
|
|
/* 024940C0 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 024940C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 024940C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 024940C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 024940CC */ cpu->r[5] = cpu->r[0];
|
|
/* 024940D0 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024940D0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 024940D0 */ if (_t62) goto L_024940D4; else goto L_024940F8;
|
|
L_024940D4: ; // 0x24940d4
|
|
/* 024940D4 */ cpu->ctr = cpu->r[12];
|
|
/* 024940D8 */ cpu->r[8] = 0x00000000u;
|
|
L_024940DC: ; // 0x24940dc
|
|
/* 024940DC */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 024940DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 024940E0 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 024940E0 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 024940E4 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 024940E8 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 024940E8 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 024940EC */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 024940F0 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 024940F0 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 024940F4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 024940F4 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 024940F4 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 024940F4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 024940F4 */ if (_t69) goto L_024940DC; else goto L_024940F8;
|
|
L_024940F8: ; // 0x24940f8
|
|
/* 024940F8 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 024940F8 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 024940FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02494100 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494100 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02494100 */ if (_t72) goto L_024941DC; else goto L_02494104;
|
|
L_02494104: ; // 0x2494104
|
|
/* 02494104 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02494104 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02494108 */ Gambit_fn_02826F20(cpu);
|
|
/* 0249410C */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249410C */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02494110 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02494110 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02494114 */ cpu->ctr = cpu->r[12];
|
|
/* 02494118 */ cpu->r[5] = 0x00000004u;
|
|
/* 0249411C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02494120 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02494124 */ cpu->r[24] = cpu->r[3];
|
|
/* 02494128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0249412C */ cpu->r[30] = cpu->r[25];
|
|
/* 02494130 */ cpu->r[7] = 0x00000000u;
|
|
/* 02494134 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02494134 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02494134 */ if (_t77) goto L_0249413C; else goto L_02494138;
|
|
L_02494138: ; // 0x2494138
|
|
/* 02494138 */ cpu->r[30] = 0x00000001u;
|
|
L_0249413C: ; // 0x249413c
|
|
/* 0249413C */ cpu->r[31] = 0x10110000u;
|
|
/* 02494140 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02494144 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02494144 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02494148 */ cpu->r[23] = 0x00000018u;
|
|
L_0249414C: ; // 0x249414c
|
|
/* 0249414C */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0249414C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02494150 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494150 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02494150 */ if (_t80) goto L_024941C0; else goto L_02494154;
|
|
L_02494154: ; // 0x2494154
|
|
/* 02494154 */ cpu->r[26] = cpu->r[27];
|
|
/* 02494154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02494158 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494158 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02494158 */ if (_t82) goto L_0249415C; else goto L_0249416C;
|
|
L_0249415C: ; // 0x249415c
|
|
/* 0249415C */ cpu->r[3] = 0x00000024u;
|
|
/* 02494160 */ Gambit_fn_02801A78(cpu);
|
|
/* 02494164 */ cpu->r[26] = cpu->r[3];
|
|
/* 02494164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02494168 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494168 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02494168 */ if (_t84) goto L_024941B4; else goto L_0249416C;
|
|
L_0249416C: ; // 0x249416c
|
|
/* 0249416C */ cpu->r[11] = cpu->r[26];
|
|
/* 0249416C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02494170 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494170 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02494170 */ if (_t86) goto L_02494174; else goto L_02494184;
|
|
L_02494174: ; // 0x2494174
|
|
/* 02494174 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02494178 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249417C */ cpu->r[11] = cpu->r[3];
|
|
/* 0249417C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02494180 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494180 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02494180 */ if (_t88) goto L_024941A0; else goto L_02494184;
|
|
L_02494184: ; // 0x2494184
|
|
/* 02494184 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02494188 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02494188 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0249418C */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02494190 */ cpu->r[5] = cpu->r[5] + 0xFFFFA044u;
|
|
/* 02494194 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02494194 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02494198 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02494198 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0249419C */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0249419C */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_024941A0: ; // 0x24941a0
|
|
/* 024941A0 */ cpu->r[6] = 0x100B0000u;
|
|
/* 024941A4 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 024941A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 024941A8 */ cpu->r[6] = cpu->r[6] + 0xFFFFA0BCu;
|
|
/* 024941AC */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 024941AC */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 024941B0 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 024941B0 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_024941B4: ; // 0x24941b4
|
|
/* 024941B4 */ cpu->r[0] = 0x100B0000u;
|
|
/* 024941B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFA0D4u;
|
|
/* 024941BC */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 024941BC */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_024941C0: ; // 0x24941c0
|
|
/* 024941C0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 024941C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 024941C4 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 024941C8 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024941C8 */ _t98 = _t97 & 0x00000001u;
|
|
/* 024941C8 */ if (_t98) goto L_024941CC; else goto L_0249414C;
|
|
L_024941CC: ; // 0x24941cc
|
|
/* 024941CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 024941D0 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024941D0 */ _t100 = _t99 & 0x00000001u;
|
|
/* 024941D0 */ if (_t100) goto L_024941DC; else goto L_024941D4;
|
|
L_024941D4: ; // 0x24941d4
|
|
/* 024941D4 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 024941D4 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 024941D8 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 024941D8 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_024941DC: ; // 0x24941dc
|
|
/* 024941DC */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 024941DC */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 024941E0 */ /* nop */
|
|
/* 024941E4 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 024941E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 024941E8 */ cpu->lr = cpu->r[0];
|
|
/* 024941EC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 024941F0 */ return;
|
|
}
|
|
|
|
// fn_024941F4 @ 0x24941f4
|
|
void Gambit_fn_024941F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_024941F4: ; // 0x24941f4
|
|
/* 024941F4 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 024941F4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024941F8 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 024941F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024941FC */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 024941FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02494200 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02494204 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02494204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02494208 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02494208 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02494208 */ if (_t5) goto L_0249420C; else goto L_02494214;
|
|
L_0249420C: ; // 0x249420c
|
|
/* 0249420C */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02494210 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_02494214: ; // 0x2494214
|
|
/* 02494214 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02494214 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02494218 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02494218 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249421C */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0249421C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02494220 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02494220 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02494224 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02494224 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02494228 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0249422C */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0249422C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02494230 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02494230 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02494230 */ if (_t13) goto L_02494234; else goto L_0249423C;
|
|
L_02494234: ; // 0x2494234
|
|
/* 02494234 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02494238 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0249423C: ; // 0x249423c
|
|
/* 0249423C */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0249423C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02494240 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02494240 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02494244 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02494244 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02494248 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02494248 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0249424C */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0249424C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02494250 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02494250 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02494254 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02494254 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02494258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0249425C */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0249425C */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02494260 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02494260 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02494260 */ if (_t23) goto L_02494264; else goto L_0249426C;
|
|
L_02494264: ; // 0x2494264
|
|
/* 02494264 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02494268 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0249426C: ; // 0x249426c
|
|
/* 0249426C */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0249426C */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02494270 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02494270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02494274 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02494274 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02494278 */ return;
|
|
}
|
|
|
|
// fn_0249427C @ 0x249427c
|
|
void Gambit_fn_0249427C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249427C: ; // 0x249427c
|
|
/* 0249427C */ cpu->r[0] = cpu->lr;
|
|
/* 02494280 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02494284 */ cpu->r[7] = 0x02490000u;
|
|
/* 02494288 */ cpu->r[6] = 0x02490000u;
|
|
/* 0249428C */ cpu->r[10] = 0x101C0000u;
|
|
/* 02494290 */ cpu->r[7] = cpu->r[7] + 0x00003D14u;
|
|
/* 02494294 */ cpu->r[6] = cpu->r[6] + 0x00003D14u;
|
|
/* 02494298 */ cpu->r[10] = cpu->r[10] + 0x00006218u;
|
|
/* 0249429C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0249429C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 024942A0 */ cpu->r[0] = 0x101C0000u;
|
|
/* 024942A4 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024942A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 024942A4 */ cpu->r[1] = _t1;
|
|
/* 024942A8 */ cpu->r[0] = cpu->r[0] + 0x00006214u;
|
|
/* 024942AC */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024942AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024942B0 */ cpu->r[8] = 0x00000000u;
|
|
/* 024942B4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 024942B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024942B8 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024942BC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024942BC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 024942C0 */ Gambit_fn_02791B10(cpu);
|
|
/* 024942C4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 024942C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024942C8 */ cpu->lr = cpu->r[0];
|
|
/* 024942CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024942D0 */ return;
|
|
}
|
|
|
|
// fn_024942A4 @ 0x24942a4
|
|
void Gambit_fn_024942A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_024942A4: ; // 0x24942a4
|
|
/* 024942A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024942A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024942A4 */ cpu->r[1] = _t0;
|
|
/* 024942A8 */ cpu->r[0] = cpu->r[0] + 0x00006214u;
|
|
/* 024942AC */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024942AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024942B0 */ cpu->r[8] = 0x00000000u;
|
|
/* 024942B4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 024942B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024942B8 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024942BC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024942BC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 024942C0 */ Gambit_fn_02791B10(cpu);
|
|
/* 024942C4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024942C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024942C8 */ cpu->lr = cpu->r[0];
|
|
/* 024942CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024942D0 */ return;
|
|
}
|
|
|
|
// fn_024942D4 @ 0x24942d4
|
|
void Gambit_fn_024942D4(CPUState* 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_024942D4: ; // 0x24942d4
|
|
/* 024942D4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024942D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024942D8 */ /* nop */
|
|
/* 024942DC */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 024942DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024942E0 */ cpu->r[7] = cpu->r[0];
|
|
/* 024942E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 024942E8 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 024942E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024942EC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024942EC */ _t4 = _t3 & 0x00000001u;
|
|
/* 024942EC */ if (_t4) goto L_024942F0; else goto L_02494308;
|
|
L_024942F0: ; // 0x24942f0
|
|
/* 024942F0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024942F4 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 024942F8 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024942F8 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024942FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02494300 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494300 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02494300 */ if (_t7) goto L_02494304; else goto L_02494314;
|
|
L_02494304: ; // 0x2494304
|
|
/* 02494304 */ return;
|
|
L_02494308: ; // 0x2494308
|
|
/* 02494308 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02494308 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0249430C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02494310 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494310 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02494310 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02494310 */ goto L_02494314;
|
|
L_02494314: ; // 0x2494314
|
|
/* 02494314 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02494318 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02494318 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249431C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249431C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249431C */ if (_t13) goto L_02494320; else goto L_02494328;
|
|
L_02494320: ; // 0x2494320
|
|
/* 02494320 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02494324 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02494328: ; // 0x2494328
|
|
/* 02494328 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02494328 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0249432C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0249432C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02494330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02494334 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02494334 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02494338 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 0249433C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249433C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0249433C */ if (_t18) goto L_02494354; else goto L_02494340;
|
|
L_02494340: ; // 0x2494340
|
|
/* 02494340 */ /* nop */
|
|
/* 02494344 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02494344 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02494348 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0249434C */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02494350 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02494350 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02494354: ; // 0x2494354
|
|
/* 02494354 */ cpu->ctr = cpu->r[11];
|
|
/* 02494358 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249435C @ 0x249435c
|
|
void Gambit_fn_0249435C(CPUState* 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_0249435C: ; // 0x249435c
|
|
/* 0249435C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249435C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02494360 */ /* nop */
|
|
/* 02494364 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02494364 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02494368 */ cpu->r[8] = cpu->r[0];
|
|
/* 0249436C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02494370 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02494370 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02494374 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02494374 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02494374 */ if (_t4) goto L_02494378; else goto L_02494390;
|
|
L_02494378: ; // 0x2494378
|
|
/* 02494378 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0249437C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02494380 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02494380 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02494384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02494388 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494388 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02494388 */ if (_t7) goto L_0249438C; else goto L_0249439C;
|
|
L_0249438C: ; // 0x249438c
|
|
/* 0249438C */ return;
|
|
L_02494390: ; // 0x2494390
|
|
/* 02494390 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02494390 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02494394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02494398 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494398 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02494398 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02494398 */ goto L_0249439C;
|
|
L_0249439C: ; // 0x249439c
|
|
/* 0249439C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 024943A0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024943A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024943A4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024943A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 024943A4 */ if (_t13) goto L_024943A8; else goto L_024943B0;
|
|
L_024943A8: ; // 0x24943a8
|
|
/* 024943A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024943AC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024943B0: ; // 0x24943b0
|
|
/* 024943B0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024943B0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024943B4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024943B4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024943B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024943BC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024943BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024943C0 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 024943C4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024943C4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024943C4 */ if (_t18) goto L_024943DC; else goto L_024943C8;
|
|
L_024943C8: ; // 0x24943c8
|
|
/* 024943C8 */ /* nop */
|
|
/* 024943CC */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024943CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024943D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024943D4 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 024943D8 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024943D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024943DC: ; // 0x24943dc
|
|
/* 024943DC */ cpu->ctr = cpu->r[11];
|
|
/* 024943E0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024943E4 @ 0x24943e4
|
|
void Gambit_fn_024943E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_024943E4: ; // 0x24943e4
|
|
/* 024943E4 */ cpu->r[0] = cpu->lr;
|
|
/* 024943E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024943E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024943E8 */ cpu->r[1] = _t0;
|
|
/* 024943EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024943EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024943F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024943F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024943F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 024943F8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024943F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024943FC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024943FC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02494400 */ /* nop */
|
|
/* 02494404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02494408 */ cpu->r[31] = cpu->r[4];
|
|
/* 0249440C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249440C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0249440C */ if (_t6) goto L_02494410; else goto L_02494424;
|
|
L_02494410: ; // 0x2494410
|
|
/* 02494410 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02494410 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02494414 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02494414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02494418 */ cpu->ctr = cpu->r[0];
|
|
/* 0249441C */ cpu->r[3] = cpu->r[30];
|
|
/* 02494420 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02494424: ; // 0x2494424
|
|
/* 02494424 */ cpu->r[3] = cpu->r[30];
|
|
/* 02494428 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249442C */ Gambit_fn_024942D4(cpu);
|
|
/* 02494430 */ cpu->r[3] = cpu->r[30];
|
|
/* 02494434 */ /* nop */
|
|
/* 02494438 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0249443C */ cpu->r[3] = cpu->r[30];
|
|
/* 02494440 */ Gambit_fn_0249435C(cpu);
|
|
/* 02494444 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02494444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02494448 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02494448 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249444C */ cpu->lr = cpu->r[0];
|
|
/* 02494450 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494450 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02494454 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02494458 */ return;
|
|
}
|
|
|
|
// fn_024943E8 @ 0x24943e8
|
|
void Gambit_fn_024943E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_024943E8: ; // 0x24943e8
|
|
/* 024943E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024943E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024943E8 */ cpu->r[1] = _t0;
|
|
/* 024943EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024943EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024943F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024943F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024943F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 024943F8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024943F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024943FC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024943FC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02494400 */ /* nop */
|
|
/* 02494404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02494408 */ cpu->r[31] = cpu->r[4];
|
|
/* 0249440C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249440C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0249440C */ if (_t6) goto L_02494410; else goto L_02494424;
|
|
L_02494410: ; // 0x2494410
|
|
/* 02494410 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02494410 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02494414 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02494414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02494418 */ cpu->ctr = cpu->r[0];
|
|
/* 0249441C */ cpu->r[3] = cpu->r[30];
|
|
/* 02494420 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02494424: ; // 0x2494424
|
|
/* 02494424 */ cpu->r[3] = cpu->r[30];
|
|
/* 02494428 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249442C */ Gambit_fn_024942D4(cpu);
|
|
/* 02494430 */ cpu->r[3] = cpu->r[30];
|
|
/* 02494434 */ /* nop */
|
|
/* 02494438 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0249443C */ cpu->r[3] = cpu->r[30];
|
|
/* 02494440 */ Gambit_fn_0249435C(cpu);
|
|
/* 02494444 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02494444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02494448 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02494448 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249444C */ cpu->lr = cpu->r[0];
|
|
/* 02494450 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494450 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02494454 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02494458 */ return;
|
|
}
|
|
|
|
// fn_0249445C @ 0x249445c
|
|
void Gambit_fn_0249445C(CPUState* 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_0249445C: ; // 0x249445c
|
|
/* 0249445C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249445C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02494460 */ /* nop */
|
|
/* 02494464 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 02494464 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02494468 */ cpu->r[8] = cpu->r[0];
|
|
/* 0249446C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02494470 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02494470 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02494474 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02494474 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02494474 */ if (_t4) goto L_02494478; else goto L_02494490;
|
|
L_02494478: ; // 0x2494478
|
|
/* 02494478 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0249447C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02494480 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02494480 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02494484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02494488 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494488 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02494488 */ if (_t7) goto L_0249448C; else goto L_0249449C;
|
|
L_0249448C: ; // 0x249448c
|
|
/* 0249448C */ return;
|
|
L_02494490: ; // 0x2494490
|
|
/* 02494490 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02494490 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02494494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02494498 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494498 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02494498 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02494498 */ goto L_0249449C;
|
|
L_0249449C: ; // 0x249449c
|
|
/* 0249449C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 024944A0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024944A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024944A4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024944A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 024944A4 */ if (_t13) goto L_024944A8; else goto L_024944B0;
|
|
L_024944A8: ; // 0x24944a8
|
|
/* 024944A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024944AC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024944B0: ; // 0x24944b0
|
|
/* 024944B0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024944B0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024944B4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024944B4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024944B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024944BC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024944BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024944C0 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 024944C4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024944C4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024944C4 */ if (_t18) goto L_024944DC; else goto L_024944C8;
|
|
L_024944C8: ; // 0x24944c8
|
|
/* 024944C8 */ /* nop */
|
|
/* 024944CC */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024944CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024944D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024944D4 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 024944D8 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024944D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024944DC: ; // 0x24944dc
|
|
/* 024944DC */ cpu->ctr = cpu->r[11];
|
|
/* 024944E0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024944E4 @ 0x24944e4
|
|
void Gambit_fn_024944E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_024944E4: ; // 0x24944e4
|
|
/* 024944E4 */ cpu->r[0] = cpu->lr;
|
|
/* 024944E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024944E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024944E8 */ cpu->r[1] = _t0;
|
|
/* 024944EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024944EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024944F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024944F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024944F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024944F8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 024944F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024944FC */ cpu->r[12] = 0x00000000u;
|
|
/* 02494500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02494504 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02494504 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02494508 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494508 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02494508 */ if (_t6) goto L_02494530; else goto L_0249450C;
|
|
L_0249450C: ; // 0x249450c
|
|
/* 0249450C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0249450C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02494510 */ /* nop */
|
|
/* 02494514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02494518 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494518 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02494518 */ if (_t9) goto L_0249451C; else goto L_02494530;
|
|
L_0249451C: ; // 0x249451c
|
|
/* 0249451C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0249451C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02494520 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02494520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02494524 */ cpu->ctr = cpu->r[0];
|
|
/* 02494528 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249452C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02494530: ; // 0x2494530
|
|
/* 02494530 */ cpu->r[3] = cpu->r[31];
|
|
/* 02494534 */ Gambit_fn_0249445C(cpu);
|
|
/* 02494538 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249453C */ Gambit_fn_027FC37C(cpu);
|
|
/* 02494540 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02494540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02494544 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494544 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02494548 */ cpu->lr = cpu->r[0];
|
|
/* 0249454C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02494550 */ return;
|
|
}
|
|
|
|
// fn_024944E8 @ 0x24944e8
|
|
void Gambit_fn_024944E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_024944E8: ; // 0x24944e8
|
|
/* 024944E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024944E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024944E8 */ cpu->r[1] = _t0;
|
|
/* 024944EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024944EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024944F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024944F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024944F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024944F8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 024944F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024944FC */ cpu->r[12] = 0x00000000u;
|
|
/* 02494500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02494504 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02494504 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02494508 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494508 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02494508 */ if (_t6) goto L_02494530; else goto L_0249450C;
|
|
L_0249450C: ; // 0x249450c
|
|
/* 0249450C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0249450C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02494510 */ /* nop */
|
|
/* 02494514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02494518 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494518 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02494518 */ if (_t9) goto L_0249451C; else goto L_02494530;
|
|
L_0249451C: ; // 0x249451c
|
|
/* 0249451C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0249451C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02494520 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02494520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02494524 */ cpu->ctr = cpu->r[0];
|
|
/* 02494528 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249452C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02494530: ; // 0x2494530
|
|
/* 02494530 */ cpu->r[3] = cpu->r[31];
|
|
/* 02494534 */ Gambit_fn_0249445C(cpu);
|
|
/* 02494538 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249453C */ Gambit_fn_027FC37C(cpu);
|
|
/* 02494540 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02494540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02494544 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494544 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02494548 */ cpu->lr = cpu->r[0];
|
|
/* 0249454C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02494550 */ return;
|
|
}
|
|
|
|
// fn_02494554 @ 0x2494554
|
|
void Gambit_fn_02494554(CPUState* 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_02494554: ; // 0x2494554
|
|
/* 02494554 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02494554 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02494558 */ /* nop */
|
|
/* 0249455C */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0249455C */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02494560 */ cpu->r[8] = cpu->r[0];
|
|
/* 02494564 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02494568 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02494568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0249456C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249456C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0249456C */ if (_t4) goto L_02494570; else goto L_02494588;
|
|
L_02494570: ; // 0x2494570
|
|
/* 02494570 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02494574 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02494578 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02494578 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0249457C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02494580 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494580 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02494580 */ if (_t7) goto L_02494584; else goto L_02494594;
|
|
L_02494584: ; // 0x2494584
|
|
/* 02494584 */ return;
|
|
L_02494588: ; // 0x2494588
|
|
/* 02494588 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02494588 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0249458C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02494590 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494590 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02494590 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02494590 */ goto L_02494594;
|
|
L_02494594: ; // 0x2494594
|
|
/* 02494594 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02494598 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02494598 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249459C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249459C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249459C */ if (_t13) goto L_024945A0; else goto L_024945A8;
|
|
L_024945A0: ; // 0x24945a0
|
|
/* 024945A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024945A4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024945A8: ; // 0x24945a8
|
|
/* 024945A8 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024945A8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024945AC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024945AC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024945B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024945B4 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024945B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024945B8 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 024945BC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024945BC */ _t18 = _t17 & 0x00000001u;
|
|
/* 024945BC */ if (_t18) goto L_024945D4; else goto L_024945C0;
|
|
L_024945C0: ; // 0x24945c0
|
|
/* 024945C0 */ /* nop */
|
|
/* 024945C4 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024945C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024945C8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024945CC */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 024945D0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024945D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024945D4: ; // 0x24945d4
|
|
/* 024945D4 */ cpu->ctr = cpu->r[11];
|
|
/* 024945D8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024945DC @ 0x24945dc
|
|
void Gambit_fn_024945DC(CPUState* 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_024945DC: ; // 0x24945dc
|
|
/* 024945DC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024945DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024945E0 */ /* nop */
|
|
/* 024945E4 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 024945E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024945E8 */ cpu->r[8] = cpu->r[0];
|
|
/* 024945EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 024945F0 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 024945F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024945F4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024945F4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 024945F4 */ if (_t4) goto L_024945F8; else goto L_02494610;
|
|
L_024945F8: ; // 0x24945f8
|
|
/* 024945F8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024945FC */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02494600 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02494600 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02494604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02494608 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494608 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02494608 */ if (_t7) goto L_0249460C; else goto L_0249461C;
|
|
L_0249460C: ; // 0x249460c
|
|
/* 0249460C */ return;
|
|
L_02494610: ; // 0x2494610
|
|
/* 02494610 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02494610 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02494614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02494618 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494618 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02494618 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02494618 */ goto L_0249461C;
|
|
L_0249461C: ; // 0x249461c
|
|
/* 0249461C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02494620 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02494620 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02494624 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02494624 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02494624 */ if (_t13) goto L_02494628; else goto L_02494630;
|
|
L_02494628: ; // 0x2494628
|
|
/* 02494628 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0249462C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02494630: ; // 0x2494630
|
|
/* 02494630 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02494630 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02494634 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02494634 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02494638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249463C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0249463C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02494640 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02494644 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02494644 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02494644 */ if (_t18) goto L_0249465C; else goto L_02494648;
|
|
L_02494648: ; // 0x2494648
|
|
/* 02494648 */ /* nop */
|
|
/* 0249464C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0249464C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02494650 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02494654 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02494658 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02494658 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0249465C: ; // 0x249465c
|
|
/* 0249465C */ cpu->ctr = cpu->r[11];
|
|
/* 02494660 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02494664 @ 0x2494664
|
|
void Gambit_fn_02494664(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02494664: ; // 0x2494664
|
|
/* 02494664 */ cpu->r[0] = cpu->lr;
|
|
/* 02494668 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02494668 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494668 */ cpu->r[1] = _t0;
|
|
/* 0249466C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249466C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02494670 */ cpu->r[31] = cpu->r[3];
|
|
/* 02494674 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02494674 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02494678 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02494678 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0249467C */ cpu->r[12] = 0x00000000u;
|
|
/* 02494680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02494684 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02494684 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02494688 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494688 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02494688 */ if (_t6) goto L_024946B0; else goto L_0249468C;
|
|
L_0249468C: ; // 0x249468c
|
|
/* 0249468C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0249468C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02494690 */ /* nop */
|
|
/* 02494694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02494698 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494698 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02494698 */ if (_t9) goto L_0249469C; else goto L_024946B0;
|
|
L_0249469C: ; // 0x249469c
|
|
/* 0249469C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0249469C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024946A0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024946A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024946A4 */ cpu->ctr = cpu->r[0];
|
|
/* 024946A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024946AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024946B0: ; // 0x24946b0
|
|
/* 024946B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024946B4 */ Gambit_fn_024945DC(cpu);
|
|
/* 024946B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024946BC */ Gambit_fn_027FC37C(cpu);
|
|
/* 024946C0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024946C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024946C4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024946C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024946C8 */ cpu->lr = cpu->r[0];
|
|
/* 024946CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024946D0 */ return;
|
|
}
|
|
|
|
// fn_02494668 @ 0x2494668
|
|
void Gambit_fn_02494668(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02494668: ; // 0x2494668
|
|
/* 02494668 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02494668 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494668 */ cpu->r[1] = _t0;
|
|
/* 0249466C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249466C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02494670 */ cpu->r[31] = cpu->r[3];
|
|
/* 02494674 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02494674 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02494678 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02494678 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0249467C */ cpu->r[12] = 0x00000000u;
|
|
/* 02494680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02494684 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02494684 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02494688 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494688 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02494688 */ if (_t6) goto L_024946B0; else goto L_0249468C;
|
|
L_0249468C: ; // 0x249468c
|
|
/* 0249468C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0249468C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02494690 */ /* nop */
|
|
/* 02494694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02494698 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494698 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02494698 */ if (_t9) goto L_0249469C; else goto L_024946B0;
|
|
L_0249469C: ; // 0x249469c
|
|
/* 0249469C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0249469C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024946A0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024946A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024946A4 */ cpu->ctr = cpu->r[0];
|
|
/* 024946A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024946AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024946B0: ; // 0x24946b0
|
|
/* 024946B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024946B4 */ Gambit_fn_024945DC(cpu);
|
|
/* 024946B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024946BC */ Gambit_fn_027FC37C(cpu);
|
|
/* 024946C0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024946C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024946C4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024946C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024946C8 */ cpu->lr = cpu->r[0];
|
|
/* 024946CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024946D0 */ return;
|
|
}
|
|
|
|
// fn_024946D4 @ 0x24946d4
|
|
void Gambit_fn_024946D4(CPUState* 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_024946D4: ; // 0x24946d4
|
|
/* 024946D4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024946D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024946D8 */ /* nop */
|
|
/* 024946DC */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 024946DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024946E0 */ cpu->r[7] = cpu->r[0];
|
|
/* 024946E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 024946E8 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 024946E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024946EC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024946EC */ _t4 = _t3 & 0x00000001u;
|
|
/* 024946EC */ if (_t4) goto L_024946F0; else goto L_02494708;
|
|
L_024946F0: ; // 0x24946f0
|
|
/* 024946F0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024946F4 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 024946F8 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024946F8 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024946FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02494700 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494700 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02494700 */ if (_t7) goto L_02494704; else goto L_02494714;
|
|
L_02494704: ; // 0x2494704
|
|
/* 02494704 */ return;
|
|
L_02494708: ; // 0x2494708
|
|
/* 02494708 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02494708 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0249470C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02494710 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494710 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02494710 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02494710 */ goto L_02494714;
|
|
L_02494714: ; // 0x2494714
|
|
/* 02494714 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02494718 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02494718 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249471C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249471C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249471C */ if (_t13) goto L_02494720; else goto L_02494728;
|
|
L_02494720: ; // 0x2494720
|
|
/* 02494720 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02494724 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02494728: ; // 0x2494728
|
|
/* 02494728 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02494728 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0249472C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0249472C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02494730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02494734 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02494734 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02494738 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 0249473C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249473C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0249473C */ if (_t18) goto L_02494754; else goto L_02494740;
|
|
L_02494740: ; // 0x2494740
|
|
/* 02494740 */ /* nop */
|
|
/* 02494744 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02494744 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02494748 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0249474C */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02494750 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02494750 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02494754: ; // 0x2494754
|
|
/* 02494754 */ cpu->ctr = cpu->r[11];
|
|
/* 02494758 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249475C @ 0x249475c
|
|
void Gambit_fn_0249475C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0249475C: ; // 0x249475c
|
|
/* 0249475C */ cpu->r[0] = cpu->lr;
|
|
/* 02494760 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02494760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494760 */ cpu->r[1] = _t0;
|
|
/* 02494764 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02494764 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02494768 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494768 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0249476C */ cpu->r[30] = cpu->r[3];
|
|
/* 02494770 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02494770 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02494774 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02494774 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02494778 */ /* nop */
|
|
/* 0249477C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02494780 */ cpu->r[31] = cpu->r[4];
|
|
/* 02494784 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494784 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02494784 */ if (_t6) goto L_02494788; else goto L_0249479C;
|
|
L_02494788: ; // 0x2494788
|
|
/* 02494788 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02494788 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249478C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0249478C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02494790 */ cpu->ctr = cpu->r[0];
|
|
/* 02494794 */ cpu->r[3] = cpu->r[30];
|
|
/* 02494798 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0249479C: ; // 0x249479c
|
|
/* 0249479C */ cpu->r[3] = cpu->r[30];
|
|
/* 024947A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 024947A4 */ Gambit_fn_024946D4(cpu);
|
|
/* 024947A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 024947AC */ /* nop */
|
|
/* 024947B0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024947B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 024947B8 */ Gambit_fn_02494554(cpu);
|
|
/* 024947BC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 024947BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024947C0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 024947C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024947C4 */ cpu->lr = cpu->r[0];
|
|
/* 024947C8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024947C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024947CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024947D0 */ return;
|
|
}
|
|
|
|
// fn_02494760 @ 0x2494760
|
|
void Gambit_fn_02494760(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02494760: ; // 0x2494760
|
|
/* 02494760 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02494760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494760 */ cpu->r[1] = _t0;
|
|
/* 02494764 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02494764 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02494768 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494768 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0249476C */ cpu->r[30] = cpu->r[3];
|
|
/* 02494770 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02494770 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02494774 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02494774 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02494778 */ /* nop */
|
|
/* 0249477C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02494780 */ cpu->r[31] = cpu->r[4];
|
|
/* 02494784 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494784 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02494784 */ if (_t6) goto L_02494788; else goto L_0249479C;
|
|
L_02494788: ; // 0x2494788
|
|
/* 02494788 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02494788 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249478C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0249478C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02494790 */ cpu->ctr = cpu->r[0];
|
|
/* 02494794 */ cpu->r[3] = cpu->r[30];
|
|
/* 02494798 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0249479C: ; // 0x249479c
|
|
/* 0249479C */ cpu->r[3] = cpu->r[30];
|
|
/* 024947A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 024947A4 */ Gambit_fn_024946D4(cpu);
|
|
/* 024947A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 024947AC */ /* nop */
|
|
/* 024947B0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024947B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 024947B8 */ Gambit_fn_02494554(cpu);
|
|
/* 024947BC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 024947BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024947C0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 024947C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024947C4 */ cpu->lr = cpu->r[0];
|
|
/* 024947C8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024947C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024947CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024947D0 */ return;
|
|
}
|
|
|
|
// fn_024947D4 @ 0x24947d4
|
|
void Gambit_fn_024947D4(CPUState* cpu) {
|
|
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_024947D4: ; // 0x24947d4
|
|
/* 024947D4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 024947D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024947D4 */ cpu->r[1] = _t0;
|
|
/* 024947D8 */ cpu->r[0] = cpu->lr;
|
|
/* 024947DC */ /* nop */
|
|
/* 024947E0 */ cpu->r[30] = cpu->r[5];
|
|
/* 024947E4 */ cpu->r[26] = cpu->r[3];
|
|
/* 024947E8 */ cpu->r[27] = cpu->r[7];
|
|
/* 024947EC */ cpu->r[3] = cpu->r[30];
|
|
/* 024947F0 */ cpu->r[31] = cpu->r[6];
|
|
/* 024947F4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024947F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 024947F8 */ cpu->r[29] = cpu->r[4];
|
|
/* 024947FC */ cpu->r[4] = cpu->r[27];
|
|
/* 02494800 */ Gambit_fn_027DB318(cpu);
|
|
/* 02494804 */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 02494804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02494808 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494808 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02494808 */ if (_t3) goto L_0249489C; else goto L_0249480C;
|
|
L_0249480C: ; // 0x249480c
|
|
/* 0249480C */ cpu->r[5] = cpu->r[28];
|
|
/* 02494810 */ cpu->r[4] = cpu->r[29];
|
|
/* 02494814 */ cpu->r[3] = cpu->r[26];
|
|
/* 02494818 */ Gambit_fn_0249427C(cpu);
|
|
/* 0249481C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0249481C */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02494820 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02494820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02494824 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 02494828 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0249482C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02494830 */ cpu->r[25] = 0x00000000u;
|
|
/* 02494834 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494834 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02494834 */ if (_t7) goto L_0249489C; else goto L_02494838;
|
|
L_02494838: ; // 0x2494838
|
|
/* 02494838 */ cpu->r[24] = 0x101C0000u;
|
|
L_0249483C: ; // 0x249483c
|
|
/* 0249483C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02494840 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494840 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02494840 */ if (_t9) goto L_02494858; else goto L_02494844;
|
|
L_02494844: ; // 0x2494844
|
|
/* 02494844 */ cpu->ctr = cpu->r[27];
|
|
/* 02494848 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249484C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02494850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02494854 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494854 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02494854 */ if (_t11) goto L_02494888; else goto L_02494858;
|
|
L_02494858: ; // 0x2494858
|
|
/* 02494858 */ _t12 = cpu->r[24] + 0x00006214u;
|
|
/* 02494858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249485C */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 02494860 */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 02494860 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02494864 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 02494864 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02494868 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249486C */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 0249486C */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02494870 */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02494874 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02494874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02494878 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249487C */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 0249487C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02494880 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02494884 */ Gambit_fn_02492CE4(cpu);
|
|
L_02494888: ; // 0x2494888
|
|
/* 02494888 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 0249488C */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 0249488C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02494890 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02494894 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02494898 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494898 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02494898 */ if (_t20) goto L_0249489C; else goto L_0249483C;
|
|
L_0249489C: ; // 0x249489c
|
|
/* 0249489C */ cpu->r[3] = cpu->r[28];
|
|
/* 024948A0 */ /* nop */
|
|
/* 024948A4 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024948A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 024948A8 */ cpu->lr = cpu->r[0];
|
|
/* 024948AC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 024948B0 */ return;
|
|
}
|
|
|
|
// fn_024948B8 @ 0x24948b8
|
|
void Gambit_fn_024948B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_024948B8: ; // 0x24948b8
|
|
/* 024948B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024948B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024948B8 */ cpu->r[1] = _t0;
|
|
/* 024948BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024948BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024948C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024948C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024948C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024948C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024948C8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024948C8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 024948C8 */ if (_t4) goto L_024948CC; else goto L_024948DC;
|
|
L_024948CC: ; // 0x24948cc
|
|
/* 024948CC */ cpu->r[3] = 0x0000005Cu;
|
|
/* 024948D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 024948D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 024948D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024948D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024948D8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024948D8 */ if (_t6) goto L_02494904; else goto L_024948DC;
|
|
L_024948DC: ; // 0x24948dc
|
|
/* 024948DC */ cpu->r[3] = cpu->r[31];
|
|
/* 024948E0 */ Gambit_fn_02000020(cpu);
|
|
/* 024948E4 */ cpu->r[0] = 0x100B0000u;
|
|
/* 024948E8 */ cpu->r[11] = 0x00000000u;
|
|
/* 024948EC */ cpu->r[0] = cpu->r[0] + 0xFFFFA4F4u;
|
|
/* 024948F0 */ _t7 = cpu->r[31] + 0x00000050u;
|
|
/* 024948F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 024948F4 */ cpu->r[12] = 0x00000001u;
|
|
/* 024948F8 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 024948F8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 024948FC */ _t9 = cpu->r[31] + 0x00000054u;
|
|
/* 024948FC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02494900 */ _t10 = cpu->r[31] + 0x00000058u;
|
|
/* 02494900 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
|
|
L_02494904: ; // 0x2494904
|
|
/* 02494904 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02494904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02494908 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249490C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249490C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02494910 */ cpu->lr = cpu->r[0];
|
|
/* 02494914 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02494918 */ return;
|
|
}
|
|
|
|
// fn_0249491C @ 0x249491c
|
|
void Gambit_fn_0249491C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0249491C: ; // 0x249491c
|
|
/* 0249491C */ cpu->r[0] = cpu->lr;
|
|
/* 02494920 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02494920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494920 */ cpu->r[1] = _t0;
|
|
/* 02494924 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494924 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02494928 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02494928 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249492C */ _t3 = cpu->r[4] + 0x000046C0u;
|
|
/* 0249492C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02494930 */ cpu->r[9] = cpu->r[4] + 0x000046C0u;
|
|
/* 02494934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02494938 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249493C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249493C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249493C */ if (_t5) goto L_0249496C; else goto L_02494940;
|
|
L_02494940: ; // 0x2494940
|
|
/* 02494940 */ _t6 = cpu->r[9] + 0x00000000u;
|
|
/* 02494940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02494944 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02494948 */ _t7 = cpu->r[31] + 0x00000050u;
|
|
/* 02494948 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0249494C */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 0249494C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02494950 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02494954 */ cpu->r[5] = cpu->r[5] + 0xFFFFA4DCu;
|
|
/* 02494958 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 0249495C */ cpu->r[10] = 0x00000001u;
|
|
/* 02494960 */ _t9 = cpu->r[31] + 0x00000054u;
|
|
/* 02494960 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02494964 */ _t10 = cpu->r[31] + 0x00000054u;
|
|
/* 02494964 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02494968 */ goto L_02494994;
|
|
L_0249496C: ; // 0x249496c
|
|
/* 0249496C */ cpu->r[0] = 0x00000000u;
|
|
/* 02494970 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02494974 */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 02494974 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02494978 */ _t12 = cpu->r[4] + 0x00000000u;
|
|
/* 02494978 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249497C */ cpu->r[5] = cpu->r[5] + 0xFFFFA4DCu;
|
|
/* 02494980 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02494984 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02494988 */ cpu->r[10] = 0x00000001u;
|
|
/* 0249498C */ _t13 = cpu->r[31] + 0x00000054u;
|
|
/* 0249498C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02494990 */ _t14 = cpu->r[31] + 0x00000054u;
|
|
/* 02494990 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
L_02494994: ; // 0x2494994
|
|
/* 02494994 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02494994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02494998 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494998 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249499C */ cpu->lr = cpu->r[0];
|
|
/* 024949A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024949A4 */ return;
|
|
}
|
|
|
|
// fn_02494920 @ 0x2494920
|
|
void Gambit_fn_02494920(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02494920: ; // 0x2494920
|
|
/* 02494920 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02494920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494920 */ cpu->r[1] = _t0;
|
|
/* 02494924 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494924 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02494928 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02494928 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249492C */ _t3 = cpu->r[4] + 0x000046C0u;
|
|
/* 0249492C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02494930 */ cpu->r[9] = cpu->r[4] + 0x000046C0u;
|
|
/* 02494934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02494938 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249493C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249493C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249493C */ if (_t5) goto L_0249496C; else goto L_02494940;
|
|
L_02494940: ; // 0x2494940
|
|
/* 02494940 */ _t6 = cpu->r[9] + 0x00000000u;
|
|
/* 02494940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02494944 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02494948 */ _t7 = cpu->r[31] + 0x00000050u;
|
|
/* 02494948 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0249494C */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 0249494C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02494950 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02494954 */ cpu->r[5] = cpu->r[5] + 0xFFFFA4DCu;
|
|
/* 02494958 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 0249495C */ cpu->r[10] = 0x00000001u;
|
|
/* 02494960 */ _t9 = cpu->r[31] + 0x00000054u;
|
|
/* 02494960 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02494964 */ _t10 = cpu->r[31] + 0x00000054u;
|
|
/* 02494964 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02494968 */ goto L_02494994;
|
|
L_0249496C: ; // 0x249496c
|
|
/* 0249496C */ cpu->r[0] = 0x00000000u;
|
|
/* 02494970 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02494974 */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 02494974 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02494978 */ _t12 = cpu->r[4] + 0x00000000u;
|
|
/* 02494978 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249497C */ cpu->r[5] = cpu->r[5] + 0xFFFFA4DCu;
|
|
/* 02494980 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02494984 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02494988 */ cpu->r[10] = 0x00000001u;
|
|
/* 0249498C */ _t13 = cpu->r[31] + 0x00000054u;
|
|
/* 0249498C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02494990 */ _t14 = cpu->r[31] + 0x00000054u;
|
|
/* 02494990 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
L_02494994: ; // 0x2494994
|
|
/* 02494994 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02494994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02494998 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494998 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249499C */ cpu->lr = cpu->r[0];
|
|
/* 024949A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024949A4 */ return;
|
|
}
|
|
|
|
// fn_024949A8 @ 0x24949a8
|
|
void Gambit_fn_024949A8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_024949A8: ; // 0x24949a8
|
|
/* 024949A8 */ cpu->r[0] = 0x00000000u;
|
|
/* 024949AC */ _t0 = cpu->r[3] + 0x00000058u;
|
|
/* 024949AC */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 024949B0 */ return;
|
|
}
|
|
|
|
// fn_024949B4 @ 0x24949b4
|
|
void Gambit_fn_024949B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_024949B4: ; // 0x24949b4
|
|
/* 024949B4 */ cpu->r[0] = cpu->lr;
|
|
/* 024949B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 024949B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024949B8 */ cpu->r[1] = _t0;
|
|
/* 024949BC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 024949BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024949C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024949C4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024949C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024949C8 */ _t3 = cpu->r[31] + 0x00000058u;
|
|
/* 024949C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024949CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024949D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024949D0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 024949D0 */ if (_t5) goto L_024949D4; else goto L_02494A4C;
|
|
L_024949D4: ; // 0x24949d4
|
|
/* 024949D4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 024949D8 */ _t6 = cpu->r[3] + 0x00006000u;
|
|
/* 024949D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024949DC */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 024949DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024949E0 */ _t8 = cpu->r[12] + 0x0000012Cu;
|
|
/* 024949E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024949E4 */ cpu->ctr = cpu->r[11];
|
|
/* 024949E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024949EC */ _t9 = cpu->r[31] + 0x00000050u;
|
|
/* 024949EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024949F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 024949F4 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024949F4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 024949F4 */ if (_t11) goto L_02494A4C; else goto L_024949F8;
|
|
L_024949F8: ; // 0x24949f8
|
|
/* 024949F8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 024949FC */ _t12 = cpu->r[12] + 0xFFFF80F4u;
|
|
/* 024949FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02494A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02494A04 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494A04 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02494A04 */ if (_t14) goto L_02494A20; else goto L_02494A08;
|
|
L_02494A08: ; // 0x2494a08
|
|
/* 02494A08 */ _t15 = cpu->r[31] + 0x00000054u;
|
|
/* 02494A08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02494A0C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02494A0C */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02494A10 */ _t17 = cpu->r[12] + 0x000002E0u;
|
|
/* 02494A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02494A14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02494A18 */ Gambit_fn_02419390(cpu);
|
|
/* 02494A1C */ goto L_02494A44;
|
|
L_02494A20: ; // 0x2494a20
|
|
/* 02494A20 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02494A24 */ _t18 = cpu->r[11] + 0xFFFF8130u;
|
|
/* 02494A24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02494A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02494A2C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494A2C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02494A2C */ if (_t20) goto L_02494A44; else goto L_02494A30;
|
|
L_02494A30: ; // 0x2494a30
|
|
/* 02494A30 */ _t21 = cpu->r[31] + 0x00000054u;
|
|
/* 02494A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02494A34 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494A34 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02494A38 */ _t23 = cpu->r[11] + 0x000002E0u;
|
|
/* 02494A38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02494A3C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494A40 */ Gambit_fn_02419390(cpu);
|
|
L_02494A44: ; // 0x2494a44
|
|
/* 02494A44 */ cpu->r[0] = 0x00000001u;
|
|
/* 02494A48 */ _t24 = cpu->r[31] + 0x00000058u;
|
|
/* 02494A48 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
L_02494A4C: ; // 0x2494a4c
|
|
/* 02494A4C */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02494A4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02494A50 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02494A50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02494A54 */ cpu->lr = cpu->r[0];
|
|
/* 02494A58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02494A5C */ return;
|
|
}
|
|
|
|
// fn_024949B8 @ 0x24949b8
|
|
void Gambit_fn_024949B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_024949B8: ; // 0x24949b8
|
|
/* 024949B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 024949B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024949B8 */ cpu->r[1] = _t0;
|
|
/* 024949BC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 024949BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024949C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024949C4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024949C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024949C8 */ _t3 = cpu->r[31] + 0x00000058u;
|
|
/* 024949C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024949CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024949D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024949D0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 024949D0 */ if (_t5) goto L_024949D4; else goto L_02494A4C;
|
|
L_024949D4: ; // 0x24949d4
|
|
/* 024949D4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 024949D8 */ _t6 = cpu->r[3] + 0x00006000u;
|
|
/* 024949D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024949DC */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 024949DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024949E0 */ _t8 = cpu->r[12] + 0x0000012Cu;
|
|
/* 024949E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024949E4 */ cpu->ctr = cpu->r[11];
|
|
/* 024949E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024949EC */ _t9 = cpu->r[31] + 0x00000050u;
|
|
/* 024949EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024949F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 024949F4 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024949F4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 024949F4 */ if (_t11) goto L_02494A4C; else goto L_024949F8;
|
|
L_024949F8: ; // 0x24949f8
|
|
/* 024949F8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 024949FC */ _t12 = cpu->r[12] + 0xFFFF80F4u;
|
|
/* 024949FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02494A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02494A04 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494A04 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02494A04 */ if (_t14) goto L_02494A20; else goto L_02494A08;
|
|
L_02494A08: ; // 0x2494a08
|
|
/* 02494A08 */ _t15 = cpu->r[31] + 0x00000054u;
|
|
/* 02494A08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02494A0C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02494A0C */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02494A10 */ _t17 = cpu->r[12] + 0x000002E0u;
|
|
/* 02494A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02494A14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02494A18 */ Gambit_fn_02419390(cpu);
|
|
/* 02494A1C */ goto L_02494A44;
|
|
L_02494A20: ; // 0x2494a20
|
|
/* 02494A20 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02494A24 */ _t18 = cpu->r[11] + 0xFFFF8130u;
|
|
/* 02494A24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02494A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02494A2C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494A2C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02494A2C */ if (_t20) goto L_02494A44; else goto L_02494A30;
|
|
L_02494A30: ; // 0x2494a30
|
|
/* 02494A30 */ _t21 = cpu->r[31] + 0x00000054u;
|
|
/* 02494A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02494A34 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494A34 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02494A38 */ _t23 = cpu->r[11] + 0x000002E0u;
|
|
/* 02494A38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02494A3C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494A40 */ Gambit_fn_02419390(cpu);
|
|
L_02494A44: ; // 0x2494a44
|
|
/* 02494A44 */ cpu->r[0] = 0x00000001u;
|
|
/* 02494A48 */ _t24 = cpu->r[31] + 0x00000058u;
|
|
/* 02494A48 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
L_02494A4C: ; // 0x2494a4c
|
|
/* 02494A4C */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02494A4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02494A50 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02494A50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02494A54 */ cpu->lr = cpu->r[0];
|
|
/* 02494A58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02494A5C */ return;
|
|
}
|
|
|
|
// fn_02494A60 @ 0x2494a60
|
|
void Gambit_fn_02494A60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02494A60: ; // 0x2494a60
|
|
/* 02494A60 */ cpu->r[0] = cpu->lr;
|
|
/* 02494A64 */ cpu->r[12] = 0x100B0000u;
|
|
/* 02494A68 */ cpu->r[11] = 0x100B0000u;
|
|
/* 02494A6C */ cpu->r[12] = cpu->r[12] + 0xFFFFA4E8u;
|
|
/* 02494A70 */ cpu->r[11] = cpu->r[11] + 0xFFFFA48Cu;
|
|
/* 02494A74 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02494A78 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02494A78 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02494A7C */ cpu->r[0] = 0x02490000u;
|
|
/* 02494A80 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02494A80 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02494A80 */ cpu->r[1] = _t1;
|
|
/* 02494A84 */ cpu->r[0] = cpu->r[0] + 0x00004D94u;
|
|
/* 02494A88 */ _t2 = cpu->r[3] + 0xFFFF8138u;
|
|
/* 02494A88 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02494A88 */ cpu->r[3] = _t2;
|
|
/* 02494A8C */ cpu->r[12] = 0x100B0000u;
|
|
/* 02494A90 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02494A90 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02494A94 */ cpu->r[12] = cpu->r[12] + 0xFFFFA4C4u;
|
|
/* 02494A98 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02494A98 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02494A9C */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02494A9C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02494AA0 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02494AA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02494AA4 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02494AA8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02494AAC */ cpu->r[3] = cpu->r[3] + 0x0000621Cu;
|
|
/* 02494AB0 */ Gambit_fn_02C83090(cpu);
|
|
/* 02494AB4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02494AB8 */ cpu->lr = cpu->r[0];
|
|
/* 02494ABC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02494AC0 */ return;
|
|
}
|
|
|
|
// fn_02494A80 @ 0x2494a80
|
|
void Gambit_fn_02494A80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02494A80: ; // 0x2494a80
|
|
/* 02494A80 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02494A80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494A80 */ cpu->r[1] = _t0;
|
|
/* 02494A84 */ cpu->r[0] = cpu->r[0] + 0x00004D94u;
|
|
/* 02494A88 */ _t1 = cpu->r[3] + 0xFFFF8138u;
|
|
/* 02494A88 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02494A88 */ cpu->r[3] = _t1;
|
|
/* 02494A8C */ cpu->r[12] = 0x100B0000u;
|
|
/* 02494A90 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02494A90 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02494A94 */ cpu->r[12] = cpu->r[12] + 0xFFFFA4C4u;
|
|
/* 02494A98 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 02494A98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02494A9C */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02494A9C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02494AA0 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02494AA0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02494AA4 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02494AA8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02494AAC */ cpu->r[3] = cpu->r[3] + 0x0000621Cu;
|
|
/* 02494AB0 */ Gambit_fn_02C83090(cpu);
|
|
/* 02494AB4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02494AB8 */ cpu->lr = cpu->r[0];
|
|
/* 02494ABC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02494AC0 */ return;
|
|
}
|
|
|
|
// fn_02494AC4 @ 0x2494ac4
|
|
void Gambit_fn_02494AC4(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_02494AC4: ; // 0x2494ac4
|
|
/* 02494AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02494AC8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494AC8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02494AC8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02494AC8 */ goto L_02494ACC;
|
|
L_02494ACC: ; // 0x2494acc
|
|
/* 02494ACC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02494ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02494AD0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494AD0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02494AD0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02494AD0 */ goto L_02494AD4;
|
|
L_02494AD4: ; // 0x2494ad4
|
|
/* 02494AD4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02494AD8 @ 0x2494ad8
|
|
void Gambit_fn_02494AD8(CPUState* cpu) {
|
|
L_02494AD8: ; // 0x2494ad8
|
|
/* 02494AD8 */ return;
|
|
}
|
|
|
|
// fn_02494ADC @ 0x2494adc
|
|
void Gambit_fn_02494ADC(CPUState* cpu) {
|
|
L_02494ADC: ; // 0x2494adc
|
|
/* 02494ADC */ return;
|
|
}
|
|
|
|
// fn_02494AE0 @ 0x2494ae0
|
|
void Gambit_fn_02494AE0(CPUState* cpu) {
|
|
L_02494AE0: ; // 0x2494ae0
|
|
/* 02494AE0 */ return;
|
|
}
|
|
|
|
// fn_02494AE4 @ 0x2494ae4
|
|
void Gambit_fn_02494AE4(CPUState* cpu) {
|
|
L_02494AE4: ; // 0x2494ae4
|
|
/* 02494AE4 */ return;
|
|
}
|
|
|
|
// fn_02494AE8 @ 0x2494ae8
|
|
void Gambit_fn_02494AE8(CPUState* cpu) {
|
|
L_02494AE8: ; // 0x2494ae8
|
|
/* 02494AE8 */ return;
|
|
}
|
|
|
|
// fn_02494AEC @ 0x2494aec
|
|
void Gambit_fn_02494AEC(CPUState* cpu) {
|
|
L_02494AEC: ; // 0x2494aec
|
|
/* 02494AEC */ return;
|
|
}
|
|
|
|
// fn_02494AF0 @ 0x2494af0
|
|
void Gambit_fn_02494AF0(CPUState* cpu) {
|
|
L_02494AF0: ; // 0x2494af0
|
|
/* 02494AF0 */ return;
|
|
}
|
|
|
|
// fn_02494AF4 @ 0x2494af4
|
|
void Gambit_fn_02494AF4(CPUState* cpu) {
|
|
L_02494AF4: ; // 0x2494af4
|
|
/* 02494AF4 */ return;
|
|
}
|
|
|
|
// fn_02494AF8 @ 0x2494af8
|
|
void Gambit_fn_02494AF8(CPUState* cpu) {
|
|
L_02494AF8: ; // 0x2494af8
|
|
/* 02494AF8 */ return;
|
|
}
|
|
|
|
// fn_02494AFC @ 0x2494afc
|
|
void Gambit_fn_02494AFC(CPUState* cpu) {
|
|
L_02494AFC: ; // 0x2494afc
|
|
/* 02494AFC */ return;
|
|
}
|
|
|
|
// fn_02494B00 @ 0x2494b00
|
|
void Gambit_fn_02494B00(CPUState* cpu) {
|
|
L_02494B00: ; // 0x2494b00
|
|
/* 02494B00 */ return;
|
|
}
|
|
|
|
// fn_02494B04 @ 0x2494b04
|
|
void Gambit_fn_02494B04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02494B04: ; // 0x2494b04
|
|
/* 02494B04 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02494B04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02494B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02494B0C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494B0C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02494B0C */ if (_t2) goto L_02494B18; else goto L_02494B10;
|
|
L_02494B10: ; // 0x2494b10
|
|
/* 02494B10 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02494B14 */ return;
|
|
L_02494B18: ; // 0x2494b18
|
|
/* 02494B18 */ cpu->r[3] = 0x00000000u;
|
|
/* 02494B1C */ return;
|
|
}
|
|
|
|
// fn_02494B20 @ 0x2494b20
|
|
void Gambit_fn_02494B20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02494B20: ; // 0x2494b20
|
|
/* 02494B20 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02494B20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02494B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02494B28 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494B28 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02494B28 */ if (_t2) goto L_02494B34; else goto L_02494B2C;
|
|
L_02494B2C: ; // 0x2494b2c
|
|
/* 02494B2C */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02494B30 */ return;
|
|
L_02494B34: ; // 0x2494b34
|
|
/* 02494B34 */ cpu->r[3] = 0x00000000u;
|
|
/* 02494B38 */ return;
|
|
}
|
|
|
|
// fn_02494B3C @ 0x2494b3c
|
|
void Gambit_fn_02494B3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02494B3C: ; // 0x2494b3c
|
|
/* 02494B3C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02494B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02494B40 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02494B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02494B44 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494B44 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02494B44 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02494B44 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02494B44 */ goto L_02494B48;
|
|
L_02494B48: ; // 0x2494b48
|
|
/* 02494B48 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02494B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02494B4C */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02494B4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02494B50 */ cpu->ctr = cpu->r[0];
|
|
/* 02494B54 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02494B58 @ 0x2494b58
|
|
void Gambit_fn_02494B58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02494B58: ; // 0x2494b58
|
|
/* 02494B58 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02494B58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02494B5C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02494B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02494B60 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494B60 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02494B60 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02494B60 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02494B60 */ goto L_02494B64;
|
|
L_02494B64: ; // 0x2494b64
|
|
/* 02494B64 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02494B64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02494B68 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02494B68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02494B6C */ cpu->ctr = cpu->r[0];
|
|
/* 02494B70 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02494B74 @ 0x2494b74
|
|
void Gambit_fn_02494B74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02494B74: ; // 0x2494b74
|
|
/* 02494B74 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02494B74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02494B78 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02494B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02494B7C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494B7C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02494B7C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02494B7C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02494B7C */ goto L_02494B80;
|
|
L_02494B80: ; // 0x2494b80
|
|
/* 02494B80 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02494B80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02494B84 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02494B84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02494B88 */ cpu->ctr = cpu->r[0];
|
|
/* 02494B8C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02494B90 @ 0x2494b90
|
|
void Gambit_fn_02494B90(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02494B90: ; // 0x2494b90
|
|
/* 02494B90 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02494B90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02494B94 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02494B94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02494B98 */ cpu->ctr = cpu->r[0];
|
|
/* 02494B9C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02494BA0 @ 0x2494ba0
|
|
void Gambit_fn_02494BA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02494BA0: ; // 0x2494ba0
|
|
/* 02494BA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02494BA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02494BA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494BA4 */ cpu->r[1] = _t0;
|
|
/* 02494BA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494BA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02494BAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02494BB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02494BB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02494BB4 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02494BB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02494BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02494BBC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494BBC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02494BBC */ if (_t5) goto L_02494BC0; else goto L_02494BDC;
|
|
L_02494BC0: ; // 0x2494bc0
|
|
/* 02494BC0 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02494BC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02494BC4 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02494BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02494BC8 */ cpu->ctr = cpu->r[0];
|
|
/* 02494BCC */ cpu->r[3] = cpu->r[31];
|
|
/* 02494BD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02494BD4 */ cpu->r[0] = 0x00000002u;
|
|
/* 02494BD8 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02494BD8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02494BDC: ; // 0x2494bdc
|
|
/* 02494BDC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02494BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02494BE0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494BE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02494BE4 */ cpu->lr = cpu->r[0];
|
|
/* 02494BE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02494BEC */ return;
|
|
}
|
|
|
|
// fn_02494BA4 @ 0x2494ba4
|
|
void Gambit_fn_02494BA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02494BA4: ; // 0x2494ba4
|
|
/* 02494BA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02494BA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494BA4 */ cpu->r[1] = _t0;
|
|
/* 02494BA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494BA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02494BAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02494BB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02494BB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02494BB4 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02494BB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02494BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02494BBC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494BBC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02494BBC */ if (_t5) goto L_02494BC0; else goto L_02494BDC;
|
|
L_02494BC0: ; // 0x2494bc0
|
|
/* 02494BC0 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02494BC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02494BC4 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02494BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02494BC8 */ cpu->ctr = cpu->r[0];
|
|
/* 02494BCC */ cpu->r[3] = cpu->r[31];
|
|
/* 02494BD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02494BD4 */ cpu->r[0] = 0x00000002u;
|
|
/* 02494BD8 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02494BD8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02494BDC: ; // 0x2494bdc
|
|
/* 02494BDC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02494BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02494BE0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494BE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02494BE4 */ cpu->lr = cpu->r[0];
|
|
/* 02494BE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02494BEC */ return;
|
|
}
|
|
|
|
// fn_02494BF8 @ 0x2494bf8
|
|
void Gambit_fn_02494BF8(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_02494BF8: ; // 0x2494bf8
|
|
/* 02494BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02494BFC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494BFC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02494BFC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02494BFC */ goto L_02494C00;
|
|
L_02494C00: ; // 0x2494c00
|
|
/* 02494C00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02494C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02494C04 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494C04 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02494C04 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02494C04 */ goto L_02494C08;
|
|
L_02494C08: ; // 0x2494c08
|
|
/* 02494C08 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02494C0C @ 0x2494c0c
|
|
void Gambit_fn_02494C0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02494C0C: ; // 0x2494c0c
|
|
/* 02494C0C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02494C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02494C10 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02494C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02494C14 */ cpu->ctr = cpu->r[0];
|
|
/* 02494C18 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02494C1C @ 0x2494c1c
|
|
void Gambit_fn_02494C1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02494C1C: ; // 0x2494c1c
|
|
/* 02494C1C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02494C1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02494C20 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02494C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02494C24 */ cpu->ctr = cpu->r[0];
|
|
/* 02494C28 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02494C2C @ 0x2494c2c
|
|
void Gambit_fn_02494C2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02494C2C: ; // 0x2494c2c
|
|
/* 02494C2C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02494C2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02494C30 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02494C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02494C34 */ cpu->ctr = cpu->r[0];
|
|
/* 02494C38 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02494C3C @ 0x2494c3c
|
|
void Gambit_fn_02494C3C(CPUState* cpu) {
|
|
L_02494C3C: ; // 0x2494c3c
|
|
/* 02494C3C */ cpu->r[3] = 0x00000001u;
|
|
/* 02494C40 */ return;
|
|
}
|
|
|
|
// fn_02494C44 @ 0x2494c44
|
|
void Gambit_fn_02494C44(CPUState* cpu) {
|
|
L_02494C44: ; // 0x2494c44
|
|
/* 02494C44 */ return;
|
|
}
|
|
|
|
// fn_02494C48 @ 0x2494c48
|
|
void Gambit_fn_02494C48(CPUState* cpu) {
|
|
L_02494C48: ; // 0x2494c48
|
|
/* 02494C48 */ return;
|
|
}
|
|
|
|
// fn_02494C4C @ 0x2494c4c
|
|
void Gambit_fn_02494C4C(CPUState* cpu) {
|
|
L_02494C4C: ; // 0x2494c4c
|
|
/* 02494C4C */ return;
|
|
}
|
|
|
|
// fn_02494C50 @ 0x2494c50
|
|
void Gambit_fn_02494C50(CPUState* cpu) {
|
|
L_02494C50: ; // 0x2494c50
|
|
/* 02494C50 */ return;
|
|
}
|
|
|
|
// fn_02494C54 @ 0x2494c54
|
|
void Gambit_fn_02494C54(CPUState* cpu) {
|
|
L_02494C54: ; // 0x2494c54
|
|
/* 02494C54 */ return;
|
|
}
|
|
|
|
// fn_02494C58 @ 0x2494c58
|
|
void Gambit_fn_02494C58(CPUState* cpu) {
|
|
L_02494C58: ; // 0x2494c58
|
|
/* 02494C58 */ return;
|
|
}
|
|
|
|
// fn_02494C5C @ 0x2494c5c
|
|
void Gambit_fn_02494C5C(CPUState* cpu) {
|
|
L_02494C5C: ; // 0x2494c5c
|
|
/* 02494C5C */ return;
|
|
}
|
|
|
|
// fn_02494C60 @ 0x2494c60
|
|
void Gambit_fn_02494C60(CPUState* cpu) {
|
|
L_02494C60: ; // 0x2494c60
|
|
/* 02494C60 */ cpu->r[3] = 0x00000001u;
|
|
/* 02494C64 */ return;
|
|
}
|
|
|
|
// fn_02494C68 @ 0x2494c68
|
|
void Gambit_fn_02494C68(CPUState* cpu) {
|
|
L_02494C68: ; // 0x2494c68
|
|
/* 02494C68 */ cpu->r[3] = 0x00000000u;
|
|
/* 02494C6C */ return;
|
|
}
|
|
|
|
// fn_02494C70 @ 0x2494c70
|
|
void Gambit_fn_02494C70(CPUState* cpu) {
|
|
L_02494C70: ; // 0x2494c70
|
|
/* 02494C70 */ cpu->r[3] = 0x100B0000u;
|
|
/* 02494C74 */ cpu->r[3] = cpu->r[3] + 0xFFFFA4D0u;
|
|
/* 02494C78 */ return;
|
|
}
|
|
|
|
// fn_02494C7C @ 0x2494c7c
|
|
void Gambit_fn_02494C7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02494C7C: ; // 0x2494c7c
|
|
/* 02494C7C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02494C80 */ _t0 = cpu->r[12] + 0x0000069Cu;
|
|
/* 02494C80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02494C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02494C88 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02494C8C */ cpu->r[12] = cpu->r[12] + 0x000006A0u;
|
|
/* 02494C90 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494C90 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02494C90 */ if (_t2) goto L_02494C94; else goto L_02494CAC;
|
|
L_02494C94: ; // 0x2494c94
|
|
/* 02494C94 */ cpu->r[0] = 0x100B0000u;
|
|
/* 02494C98 */ cpu->r[9] = 0x00000001u;
|
|
/* 02494C9C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02494CA0 */ cpu->r[0] = cpu->r[0] + 0xFFFFA4B4u;
|
|
/* 02494CA4 */ _t3 = cpu->r[8] + 0x0000069Cu;
|
|
/* 02494CA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02494CA8 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02494CA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_02494CAC: ; // 0x2494cac
|
|
/* 02494CAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02494CB0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494CB0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02494CB0 */ if (_t6) goto L_02494CB4; else goto L_02494CBC;
|
|
L_02494CB4: ; // 0x2494cb4
|
|
/* 02494CB4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02494CB8 */ return;
|
|
L_02494CBC: ; // 0x2494cbc
|
|
/* 02494CBC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02494CC0 */ _t7 = cpu->r[11] + 0xFFFFD4E8u;
|
|
/* 02494CC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02494CC0 */ cpu->r[11] = _t7;
|
|
/* 02494CC4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02494CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02494CCC */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 02494CD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494CD0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02494CD0 */ if (_t9) goto L_02494CD4; else goto L_02494CE8;
|
|
L_02494CD4: ; // 0x2494cd4
|
|
/* 02494CD4 */ cpu->r[12] = 0x100B0000u;
|
|
/* 02494CD8 */ cpu->r[9] = 0x00000001u;
|
|
/* 02494CDC */ cpu->r[12] = cpu->r[12] + 0xFFFFA4A4u;
|
|
/* 02494CE0 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02494CE0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02494CE4 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 02494CE4 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_02494CE8: ; // 0x2494ce8
|
|
/* 02494CE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02494CEC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494CEC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02494CEC */ if (_t13) goto L_02494CF0; else goto L_02494CF8;
|
|
L_02494CF0: ; // 0x2494cf0
|
|
/* 02494CF0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02494CF4 */ goto L_02494D30;
|
|
L_02494CF8: ; // 0x2494cf8
|
|
/* 02494CF8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02494CFC */ _t14 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 02494CFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02494CFC */ cpu->r[8] = _t14;
|
|
/* 02494D00 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02494D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02494D08 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02494D0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494D0C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02494D0C */ if (_t16) goto L_02494D10; else goto L_02494D24;
|
|
L_02494D10: ; // 0x2494d10
|
|
/* 02494D10 */ cpu->r[10] = 0x100B0000u;
|
|
/* 02494D14 */ cpu->r[9] = 0x00000001u;
|
|
/* 02494D18 */ cpu->r[10] = cpu->r[10] + 0xFFFFA47Cu;
|
|
/* 02494D1C */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02494D1C */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02494D20 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02494D20 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_02494D24: ; // 0x2494d24
|
|
/* 02494D24 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02494D28 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02494D2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02494D30: ; // 0x2494d30
|
|
/* 02494D30 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02494D34 */ return;
|
|
}
|
|
|
|
// fn_02494D38 @ 0x2494d38
|
|
void Gambit_fn_02494D38(CPUState* cpu) {
|
|
L_02494D38: ; // 0x2494d38
|
|
/* 02494D38 */ return;
|
|
}
|
|
|
|
// fn_02494D3C @ 0x2494d3c
|
|
void Gambit_fn_02494D3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02494D3C: ; // 0x2494d3c
|
|
/* 02494D3C */ cpu->r[0] = cpu->lr;
|
|
/* 02494D40 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02494D44 */ cpu->r[7] = 0x02490000u;
|
|
/* 02494D48 */ cpu->r[6] = 0x02490000u;
|
|
/* 02494D4C */ cpu->r[10] = 0x101C0000u;
|
|
/* 02494D50 */ cpu->r[7] = cpu->r[7] + 0x00004BF0u;
|
|
/* 02494D54 */ cpu->r[6] = cpu->r[6] + 0x00004BF0u;
|
|
/* 02494D58 */ cpu->r[10] = cpu->r[10] + 0x0000622Cu;
|
|
/* 02494D5C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02494D5C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02494D60 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02494D64 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02494D64 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02494D64 */ cpu->r[1] = _t1;
|
|
/* 02494D68 */ cpu->r[0] = cpu->r[0] + 0x00006228u;
|
|
/* 02494D6C */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02494D6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02494D70 */ cpu->r[8] = 0x00000000u;
|
|
/* 02494D74 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02494D74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02494D78 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494D7C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494D7C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02494D80 */ Gambit_fn_02791B10(cpu);
|
|
/* 02494D84 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02494D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02494D88 */ cpu->lr = cpu->r[0];
|
|
/* 02494D8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02494D90 */ return;
|
|
}
|
|
|
|
// fn_02494D64 @ 0x2494d64
|
|
void Gambit_fn_02494D64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02494D64: ; // 0x2494d64
|
|
/* 02494D64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02494D64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494D64 */ cpu->r[1] = _t0;
|
|
/* 02494D68 */ cpu->r[0] = cpu->r[0] + 0x00006228u;
|
|
/* 02494D6C */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02494D6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02494D70 */ cpu->r[8] = 0x00000000u;
|
|
/* 02494D74 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02494D74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02494D78 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494D7C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494D7C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02494D80 */ Gambit_fn_02791B10(cpu);
|
|
/* 02494D84 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02494D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02494D88 */ cpu->lr = cpu->r[0];
|
|
/* 02494D8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02494D90 */ return;
|
|
}
|
|
|
|
// fn_02494D94 @ 0x2494d94
|
|
void Gambit_fn_02494D94(CPUState* cpu) {
|
|
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_02494D94: ; // 0x2494d94
|
|
/* 02494D94 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02494D94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494D94 */ cpu->r[1] = _t0;
|
|
/* 02494D98 */ cpu->r[0] = cpu->lr;
|
|
/* 02494D9C */ /* nop */
|
|
/* 02494DA0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02494DA4 */ cpu->r[26] = cpu->r[3];
|
|
/* 02494DA8 */ cpu->r[27] = cpu->r[7];
|
|
/* 02494DAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02494DB0 */ cpu->r[31] = cpu->r[6];
|
|
/* 02494DB4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02494DB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02494DB8 */ cpu->r[29] = cpu->r[4];
|
|
/* 02494DBC */ cpu->r[4] = cpu->r[27];
|
|
/* 02494DC0 */ Gambit_fn_027DB318(cpu);
|
|
/* 02494DC4 */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 02494DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02494DC8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494DC8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02494DC8 */ if (_t3) goto L_02494E5C; else goto L_02494DCC;
|
|
L_02494DCC: ; // 0x2494dcc
|
|
/* 02494DCC */ cpu->r[5] = cpu->r[28];
|
|
/* 02494DD0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02494DD4 */ cpu->r[3] = cpu->r[26];
|
|
/* 02494DD8 */ Gambit_fn_02494D3C(cpu);
|
|
/* 02494DDC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02494DDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02494DE0 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02494DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02494DE4 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 02494DE8 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02494DEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02494DF0 */ cpu->r[25] = 0x00000000u;
|
|
/* 02494DF4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494DF4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02494DF4 */ if (_t7) goto L_02494E5C; else goto L_02494DF8;
|
|
L_02494DF8: ; // 0x2494df8
|
|
/* 02494DF8 */ cpu->r[24] = 0x101C0000u;
|
|
L_02494DFC: ; // 0x2494dfc
|
|
/* 02494DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02494E00 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494E00 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02494E00 */ if (_t9) goto L_02494E18; else goto L_02494E04;
|
|
L_02494E04: ; // 0x2494e04
|
|
/* 02494E04 */ cpu->ctr = cpu->r[27];
|
|
/* 02494E08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02494E0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02494E10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02494E14 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494E14 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02494E14 */ if (_t11) goto L_02494E48; else goto L_02494E18;
|
|
L_02494E18: ; // 0x2494e18
|
|
/* 02494E18 */ _t12 = cpu->r[24] + 0x00006228u;
|
|
/* 02494E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02494E1C */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 02494E20 */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 02494E20 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02494E24 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 02494E24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02494E28 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02494E2C */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 02494E2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02494E30 */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02494E34 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02494E34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02494E38 */ cpu->r[4] = cpu->r[31];
|
|
/* 02494E3C */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 02494E3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02494E40 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02494E44 */ Gambit_fn_0249491C(cpu);
|
|
L_02494E48: ; // 0x2494e48
|
|
/* 02494E48 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 02494E4C */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 02494E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02494E50 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02494E54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02494E58 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494E58 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02494E58 */ if (_t20) goto L_02494E5C; else goto L_02494DFC;
|
|
L_02494E5C: ; // 0x2494e5c
|
|
/* 02494E5C */ cpu->r[3] = cpu->r[28];
|
|
/* 02494E60 */ /* nop */
|
|
/* 02494E64 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02494E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02494E68 */ cpu->lr = cpu->r[0];
|
|
/* 02494E6C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02494E70 */ return;
|
|
}
|
|
|
|
// fn_02494E74 @ 0x2494e74
|
|
void Gambit_fn_02494E74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_02494E74: ; // 0x2494e74
|
|
/* 02494E74 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 02494E74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494E74 */ cpu->r[1] = _t0;
|
|
/* 02494E78 */ /* nop */
|
|
/* 02494E7C */ cpu->r[0] = cpu->lr;
|
|
/* 02494E80 */ _t1 = cpu->r[1] + 0x00000078u;
|
|
/* 02494E80 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02494E84 */ /* nop */
|
|
/* 02494E88 */ _t2 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02494E88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02494E8C */ cpu->r[30] = cpu->r[4];
|
|
/* 02494E90 */ cpu->r[26] = cpu->r[3];
|
|
/* 02494E94 */ _t3 = cpu->r[1] + 0x00000080u;
|
|
/* 02494E94 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02494E98 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02494E9C */ cpu->r[28] = 0x101D0000u;
|
|
/* 02494EA0 */ _t4 = cpu->r[28] + 0x000006B4u;
|
|
/* 02494EA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02494EA0 */ cpu->r[28] = _t4;
|
|
/* 02494EA4 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02494EA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02494EAC */ cpu->r[29] = 0x100B0000u;
|
|
/* 02494EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02494EB4 */ cpu->r[29] = cpu->r[29] + 0xFFFFA788u;
|
|
/* 02494EB8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494EB8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02494EB8 */ if (_t6) goto L_02494EBC; else goto L_02494EC8;
|
|
L_02494EBC: ; // 0x2494ebc
|
|
/* 02494EBC */ _t7 = cpu->r[27] + 0x000006B0u;
|
|
/* 02494EBC */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 02494EC0 */ cpu->r[11] = 0x00000001u;
|
|
/* 02494EC4 */ _t8 = cpu->r[28] + 0x00000000u;
|
|
/* 02494EC4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
L_02494EC8: ; // 0x2494ec8
|
|
/* 02494EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02494ECC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494ECC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02494ECC */ if (_t10) goto L_02494EF0; else goto L_02494ED0;
|
|
L_02494ED0: ; // 0x2494ed0
|
|
/* 02494ED0 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02494ED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02494ED4 */ _t12 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02494ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02494ED8 */ cpu->ctr = cpu->r[0];
|
|
/* 02494EDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02494EE0 */ cpu->r[4] = cpu->r[27] + 0x000006B0u;
|
|
/* 02494EE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02494EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02494EEC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494EEC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02494EEC */ if (_t14) goto L_02494EF0; else goto L_02494EF4;
|
|
L_02494EF0: ; // 0x2494ef0
|
|
/* 02494EF0 */ cpu->r[31] = 0x00000000u;
|
|
L_02494EF4: ; // 0x2494ef4
|
|
/* 02494EF4 */ cpu->r[9] = 0x100B0000u;
|
|
/* 02494EF8 */ _t15 = cpu->r[31] + 0x0000023Cu;
|
|
/* 02494EF8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02494EFC */ _t16 = cpu->r[9] + 0xFFFFA8A0u;
|
|
/* 02494EFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02494F00 */ /* nop */
|
|
/* 02494F04 */ cpu->f[0] = cpu->f[0] * cpu->f[31];
|
|
/* 02494F08 */ _t17 = cpu->r[26] + 0x00000068u;
|
|
/* 02494F08 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02494F0C */ /* nop */
|
|
/* 02494F10 */ /* nop */
|
|
/* 02494F14 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02494F14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02494F18 */ cpu->f[11] = cpu->f[12] * cpu->f[0];
|
|
/* 02494F1C */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02494F1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02494F20 */ _t20 = cpu->r[1] + 0x00000044u;
|
|
/* 02494F20 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02494F24 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02494F24 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[11]);
|
|
/* 02494F28 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02494F28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02494F2C */ _t23 = cpu->r[1] + 0x00000048u;
|
|
/* 02494F2C */ rbrew_write32(cpu->mem, _t23, cpu->r[5]);
|
|
/* 02494F30 */ cpu->r[3] = cpu->r[26];
|
|
/* 02494F34 */ _t24 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02494F34 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02494F38 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02494F3C */ _t25 = cpu->r[28] + 0x00000000u;
|
|
/* 02494F3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02494F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02494F44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02494F48 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494F48 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02494F48 */ if (_t27) goto L_02494F4C; else goto L_02494F58;
|
|
L_02494F4C: ; // 0x2494f4c
|
|
/* 02494F4C */ _t28 = cpu->r[27] + 0x000006B0u;
|
|
/* 02494F4C */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 02494F50 */ cpu->r[11] = 0x00000001u;
|
|
/* 02494F54 */ _t29 = cpu->r[28] + 0x00000000u;
|
|
/* 02494F54 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
L_02494F58: ; // 0x2494f58
|
|
/* 02494F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02494F5C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494F5C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02494F5C */ if (_t31) goto L_02494F80; else goto L_02494F60;
|
|
L_02494F60: ; // 0x2494f60
|
|
/* 02494F60 */ _t32 = cpu->r[31] + 0x00000000u;
|
|
/* 02494F60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02494F64 */ _t33 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02494F64 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02494F68 */ cpu->ctr = cpu->r[5];
|
|
/* 02494F6C */ cpu->r[3] = cpu->r[31];
|
|
/* 02494F70 */ cpu->r[4] = cpu->r[27] + 0x000006B0u;
|
|
/* 02494F74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02494F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02494F7C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494F7C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02494F7C */ if (_t35) goto L_02494F80; else goto L_02494F84;
|
|
L_02494F80: ; // 0x2494f80
|
|
/* 02494F80 */ cpu->r[31] = 0x00000000u;
|
|
L_02494F84: ; // 0x2494f84
|
|
/* 02494F84 */ _t36 = cpu->r[31] + 0x000001DCu;
|
|
/* 02494F84 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02494F88 */ /* nop */
|
|
/* 02494F8C */ cpu->f[11] = cpu->f[12] * cpu->f[31];
|
|
/* 02494F90 */ _t37 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02494F90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02494F94 */ cpu->f[12] = -cpu->f[11];
|
|
/* 02494F98 */ /* nop */
|
|
/* 02494F9C */ _t38 = cpu->r[26] + 0x00000074u;
|
|
/* 02494F9C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02494FA0 */ /* nop */
|
|
/* 02494FA4 */ /* nop */
|
|
/* 02494FA8 */ _t39 = cpu->r[1] + 0x00000024u;
|
|
/* 02494FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02494FAC */ cpu->f[13] = cpu->f[9] * cpu->f[12];
|
|
/* 02494FB0 */ _t40 = cpu->r[1] + 0x00000020u;
|
|
/* 02494FB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02494FB4 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494FB4 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02494FB8 */ _t42 = cpu->r[1] + 0x00000028u;
|
|
/* 02494FB8 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[13]);
|
|
/* 02494FBC */ _t43 = cpu->r[1] + 0x00000028u;
|
|
/* 02494FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02494FC0 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02494FC0 */ rbrew_write32(cpu->mem, _t44, cpu->r[11]);
|
|
/* 02494FC4 */ /* nop */
|
|
/* 02494FC8 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 02494FC8 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 02494FCC */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02494FCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02494FD0 */ /* nop */
|
|
/* 02494FD4 */ /* nop */
|
|
/* 02494FD8 */ /* nop */
|
|
/* 02494FDC */ _t47 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02494FDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02494FE0 */ _t48 = cpu->r[1] + 0x00000030u;
|
|
/* 02494FE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02494FE4 */ cpu->f[13] = cpu->f[0] + cpu->f[13];
|
|
/* 02494FE8 */ _t49 = cpu->r[1] + 0x00000050u;
|
|
/* 02494FE8 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]);
|
|
/* 02494FEC */ _t50 = cpu->r[1] + 0x00000054u;
|
|
/* 02494FEC */ rbrew_write32(cpu->mem, _t50, cpu->r[12]);
|
|
/* 02494FF0 */ /* nop */
|
|
/* 02494FF4 */ _t51 = cpu->r[1] + 0x00000034u;
|
|
/* 02494FF4 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[13]);
|
|
/* 02494FF8 */ _t52 = cpu->r[1] + 0x00000034u;
|
|
/* 02494FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02494FFC */ /* nop */
|
|
/* 02495000 */ _t53 = cpu->r[26] + 0x00000080u;
|
|
/* 02495000 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02495004 */ /* nop */
|
|
/* 02495008 */ _t54 = cpu->r[1] + 0x00000038u;
|
|
/* 02495008 */ cpu->r[7] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0249500C */ _t55 = cpu->r[1] + 0x00000058u;
|
|
/* 0249500C */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 02495010 */ _t56 = cpu->r[1] + 0x00000058u;
|
|
/* 02495010 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02495014 */ _t57 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02495014 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02495018 */ _t58 = cpu->r[1] + 0x00000008u;
|
|
/* 02495018 */ rbrew_write32(cpu->mem, _t58, cpu->r[7]);
|
|
/* 0249501C */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 0249501C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02495020 */ cpu->f[0] = cpu->f[9] + cpu->f[13];
|
|
/* 02495024 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495024 */ rbrew_write32(cpu->mem, _t60, cpu->r[8]);
|
|
/* 02495028 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495028 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 0249502C */ _t62 = cpu->r[1] + 0x00000040u;
|
|
/* 0249502C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
/* 02495030 */ _t63 = cpu->r[1] + 0x00000040u;
|
|
/* 02495030 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02495034 */ _t64 = cpu->r[30] + 0x00000004u;
|
|
/* 02495034 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[10]);
|
|
/* 02495038 */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 02495038 */ rbrew_write32(cpu->mem, _t65, cpu->r[9]);
|
|
/* 0249503C */ _t66 = cpu->r[1] + 0x00000010u;
|
|
/* 0249503C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 02495040 */ _t67 = cpu->r[30] + 0x00000008u;
|
|
/* 02495040 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[11]);
|
|
/* 02495044 */ _t68 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02495044 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[12]);
|
|
/* 02495048 */ _t69 = cpu->r[26] + 0x00000054u;
|
|
/* 02495048 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 0249504C */ _t70 = cpu->r[30] + 0x00000010u;
|
|
/* 0249504C */ rbrew_write_f32(cpu->mem, _t70, cpu->f[13]);
|
|
/* 02495050 */ _t71 = cpu->r[26] + 0x00000058u;
|
|
/* 02495050 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02495054 */ _t72 = cpu->r[30] + 0x00000014u;
|
|
/* 02495054 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[0]);
|
|
/* 02495058 */ _t73 = cpu->r[26] + 0x0000005Cu;
|
|
/* 02495058 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 0249505C */ _t74 = cpu->r[30] + 0x00000018u;
|
|
/* 0249505C */ rbrew_write_f32(cpu->mem, _t74, cpu->f[9]);
|
|
/* 02495060 */ _t75 = cpu->r[26] + 0x00000060u;
|
|
/* 02495060 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02495064 */ _t76 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02495064 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[10]);
|
|
/* 02495068 */ _t77 = cpu->r[26] + 0x00000064u;
|
|
/* 02495068 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 0249506C */ _t78 = cpu->r[30] + 0x00000020u;
|
|
/* 0249506C */ rbrew_write_f32(cpu->mem, _t78, cpu->f[11]);
|
|
/* 02495070 */ _t79 = cpu->r[26] + 0x00000068u;
|
|
/* 02495070 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02495074 */ _t80 = cpu->r[30] + 0x00000024u;
|
|
/* 02495074 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[10]);
|
|
/* 02495078 */ _t81 = cpu->r[26] + 0x0000006Cu;
|
|
/* 02495078 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 0249507C */ _t82 = cpu->r[30] + 0x00000028u;
|
|
/* 0249507C */ rbrew_write_f32(cpu->mem, _t82, cpu->f[11]);
|
|
/* 02495080 */ _t83 = cpu->r[26] + 0x00000070u;
|
|
/* 02495080 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02495084 */ _t84 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02495084 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[12]);
|
|
/* 02495088 */ _t85 = cpu->r[26] + 0x00000074u;
|
|
/* 02495088 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 0249508C */ cpu->r[3] = cpu->r[26];
|
|
/* 02495090 */ _t86 = cpu->r[30] + 0x00000030u;
|
|
/* 02495090 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[13]);
|
|
/* 02495094 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02495098 */ _t87 = cpu->r[28] + 0x00000000u;
|
|
/* 02495098 */ cpu->r[5] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0249509C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 024950A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024950A4 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024950A4 */ _t89 = _t88 & 0x00000001u;
|
|
/* 024950A4 */ if (_t89) goto L_024950A8; else goto L_024950B4;
|
|
L_024950A8: ; // 0x24950a8
|
|
/* 024950A8 */ _t90 = cpu->r[27] + 0x000006B0u;
|
|
/* 024950A8 */ rbrew_write32(cpu->mem, _t90, cpu->r[29]);
|
|
/* 024950AC */ cpu->r[6] = 0x00000001u;
|
|
/* 024950B0 */ _t91 = cpu->r[28] + 0x00000000u;
|
|
/* 024950B0 */ rbrew_write32(cpu->mem, _t91, cpu->r[6]);
|
|
L_024950B4: ; // 0x24950b4
|
|
/* 024950B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024950B8 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024950B8 */ _t93 = _t92 & 0x00000001u;
|
|
/* 024950B8 */ if (_t93) goto L_024950DC; else goto L_024950BC;
|
|
L_024950BC: ; // 0x24950bc
|
|
/* 024950BC */ _t94 = cpu->r[31] + 0x00000000u;
|
|
/* 024950BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t94);
|
|
/* 024950C0 */ _t95 = cpu->r[7] + 0x0000006Cu;
|
|
/* 024950C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t95);
|
|
/* 024950C4 */ cpu->ctr = cpu->r[8];
|
|
/* 024950C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024950CC */ cpu->r[4] = cpu->r[27] + 0x000006B0u;
|
|
/* 024950D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024950D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024950D8 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024950D8 */ _t97 = _t96 & 0x00000001u;
|
|
/* 024950D8 */ if (_t97) goto L_024950DC; else goto L_024950E0;
|
|
L_024950DC: ; // 0x24950dc
|
|
/* 024950DC */ cpu->r[31] = 0x00000000u;
|
|
L_024950E0: ; // 0x24950e0
|
|
/* 024950E0 */ _t98 = cpu->r[31] + 0x000001DCu;
|
|
/* 024950E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 024950E4 */ cpu->f[13] = cpu->f[0] * cpu->f[31];
|
|
/* 024950E8 */ cpu->r[3] = cpu->r[26];
|
|
/* 024950EC */ _t99 = cpu->r[30] + 0x00000034u;
|
|
/* 024950EC */ rbrew_write_f32(cpu->mem, _t99, cpu->f[13]);
|
|
/* 024950F0 */ Gambit_fn_024F65FC(cpu);
|
|
/* 024950F4 */ _t100 = cpu->r[28] + 0x00000000u;
|
|
/* 024950F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t100);
|
|
/* 024950F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024950FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02495100 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495100 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02495100 */ if (_t102) goto L_02495104; else goto L_02495110;
|
|
L_02495104: ; // 0x2495104
|
|
/* 02495104 */ _t103 = cpu->r[27] + 0x000006B0u;
|
|
/* 02495104 */ rbrew_write32(cpu->mem, _t103, cpu->r[29]);
|
|
/* 02495108 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249510C */ _t104 = cpu->r[28] + 0x00000000u;
|
|
/* 0249510C */ rbrew_write32(cpu->mem, _t104, cpu->r[0]);
|
|
L_02495110: ; // 0x2495110
|
|
/* 02495110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02495114 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495114 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02495114 */ if (_t106) goto L_02495138; else goto L_02495118;
|
|
L_02495118: ; // 0x2495118
|
|
/* 02495118 */ _t107 = cpu->r[31] + 0x00000000u;
|
|
/* 02495118 */ cpu->r[6] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0249511C */ _t108 = cpu->r[6] + 0x0000006Cu;
|
|
/* 0249511C */ cpu->r[8] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02495120 */ cpu->ctr = cpu->r[8];
|
|
/* 02495124 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495128 */ cpu->r[4] = cpu->r[27] + 0x000006B0u;
|
|
/* 0249512C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02495134 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495134 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02495134 */ if (_t110) goto L_02495138; else goto L_0249513C;
|
|
L_02495138: ; // 0x2495138
|
|
/* 02495138 */ cpu->r[31] = 0x00000000u;
|
|
L_0249513C: ; // 0x249513c
|
|
/* 0249513C */ _t111 = cpu->r[31] + 0x0000023Cu;
|
|
/* 0249513C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 02495140 */ cpu->f[9] = cpu->f[10] * cpu->f[31];
|
|
/* 02495144 */ cpu->r[3] = cpu->r[26];
|
|
/* 02495148 */ _t112 = cpu->r[30] + 0x00000038u;
|
|
/* 02495148 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[9]);
|
|
/* 0249514C */ Gambit_fn_024F65FC(cpu);
|
|
/* 02495150 */ _t113 = cpu->r[28] + 0x00000000u;
|
|
/* 02495150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02495154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02495158 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249515C */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249515C */ _t115 = _t114 & 0x00000001u;
|
|
/* 0249515C */ if (_t115) goto L_02495160; else goto L_0249516C;
|
|
L_02495160: ; // 0x2495160
|
|
/* 02495160 */ _t116 = cpu->r[27] + 0x000006B0u;
|
|
/* 02495160 */ rbrew_write32(cpu->mem, _t116, cpu->r[29]);
|
|
/* 02495164 */ cpu->r[6] = 0x00000001u;
|
|
/* 02495168 */ _t117 = cpu->r[28] + 0x00000000u;
|
|
/* 02495168 */ rbrew_write32(cpu->mem, _t117, cpu->r[6]);
|
|
L_0249516C: ; // 0x249516c
|
|
/* 0249516C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02495170 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495170 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02495170 */ if (_t119) goto L_02495194; else goto L_02495174;
|
|
L_02495174: ; // 0x2495174
|
|
/* 02495174 */ _t120 = cpu->r[31] + 0x00000000u;
|
|
/* 02495174 */ cpu->r[7] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02495178 */ _t121 = cpu->r[7] + 0x0000006Cu;
|
|
/* 02495178 */ cpu->r[8] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0249517C */ cpu->ctr = cpu->r[8];
|
|
/* 02495180 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495184 */ cpu->r[4] = cpu->r[27] + 0x000006B0u;
|
|
/* 02495188 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249518C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02495190 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495190 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02495190 */ if (_t123) goto L_02495194; else goto L_02495198;
|
|
L_02495194: ; // 0x2495194
|
|
/* 02495194 */ cpu->r[31] = 0x00000000u;
|
|
L_02495198: ; // 0x2495198
|
|
/* 02495198 */ _t124 = cpu->r[31] + 0x000001DCu;
|
|
/* 02495198 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 0249519C */ cpu->f[11] = cpu->f[12] * cpu->f[31];
|
|
/* 024951A0 */ _t125 = cpu->r[30] + 0x0000003Cu;
|
|
/* 024951A0 */ rbrew_write_f32(cpu->mem, _t125, cpu->f[11]);
|
|
/* 024951A4 */ /* nop */
|
|
/* 024951A8 */ _t126 = cpu->r[1] + 0x00000080u;
|
|
/* 024951A8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 024951AC */ _t127 = cpu->r[1] + 0x00000078u;
|
|
/* 024951AC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t127);
|
|
/* 024951B0 */ _t128 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024951B0 */ _t129 = _t128 & 0x00000001u;
|
|
/* 024951B0 */ if (_t129) goto L_024951B4; // else: addr-0 trap, fall-through
|
|
L_024951B4: ; // 0x24951b4
|
|
/* 024951B4 */ _t130 = cpu->r[1] + 0x0000008Cu;
|
|
/* 024951B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t130);
|
|
/* 024951B8 */ cpu->lr = cpu->r[0];
|
|
/* 024951BC */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 024951C0 */ return;
|
|
}
|
|
|
|
// fn_024951C4 @ 0x24951c4
|
|
void Gambit_fn_024951C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_024951C4: ; // 0x24951c4
|
|
/* 024951C4 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 024951C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024951C4 */ cpu->r[1] = _t0;
|
|
/* 024951C8 */ /* nop */
|
|
/* 024951CC */ cpu->r[0] = cpu->lr;
|
|
/* 024951D0 */ _t1 = cpu->r[1] + 0x0000007Cu;
|
|
/* 024951D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 024951D4 */ cpu->r[29] = cpu->r[5];
|
|
/* 024951D8 */ cpu->r[11] = 0x100B0000u;
|
|
/* 024951DC */ _t2 = cpu->r[11] + 0xFFFFA8A4u;
|
|
/* 024951DC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 024951E0 */ cpu->r[28] = cpu->r[4];
|
|
/* 024951E4 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 024951E4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 024951E8 */ cpu->f[9] = cpu->f[8];
|
|
/* 024951EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[9]);
|
|
/* 024951F0 */ cpu->r[30] = cpu->r[6];
|
|
/* 024951F4 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024951F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 024951F4 */ if (_t5) goto L_024952BC; else goto L_024951F8;
|
|
L_024951F8: ; // 0x24951f8
|
|
/* 024951F8 */ cpu->r[11] = 0x100B0000u;
|
|
/* 024951FC */ _t6 = cpu->r[11] + 0xFFFFA8A8u;
|
|
/* 024951FC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02495200 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 02495204 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02495204 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02495204 */ if (_t8) goto L_024952BC; else goto L_02495208;
|
|
L_02495208: ; // 0x2495208
|
|
/* 02495208 */ /* nop */
|
|
/* 0249520C */ cpu->r[31] = 0x00000020u;
|
|
/* 02495210 */ /* nop */
|
|
/* 02495214 */ _t9 = cpu->r[28] + 0x00000008u;
|
|
/* 02495214 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02495218 */ /* nop */
|
|
/* 0249521C */ _t10 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0249521C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02495220 */ cpu->r[7] = 0x43300000u;
|
|
/* 02495224 */ _t11 = cpu->r[28] + 0x00000018u;
|
|
/* 02495224 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02495228 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 0249522C */ /* nop */
|
|
/* 02495230 */ _t12 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02495230 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02495234 */ cpu->f[13] = cpu->f[10] - cpu->f[9];
|
|
/* 02495238 */ _t13 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02495238 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0249523C */ cpu->r[12] = 0x100B0000u;
|
|
/* 02495240 */ _t14 = cpu->r[1] + 0x00000038u;
|
|
/* 02495240 */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 02495244 */ _t15 = cpu->r[1] + 0x00000038u;
|
|
/* 02495244 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02495248 */ _t16 = cpu->r[12] + 0xFFFFA8B0u;
|
|
/* 02495248 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 0249524C */ cpu->f[11] = cpu->f[0] - cpu->f[12];
|
|
/* 02495250 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02495250 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02495254 */ _t18 = cpu->r[28] + 0x00000004u;
|
|
/* 02495254 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02495258 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249525C */ cpu->f[12] = (double)(float)cpu->f[11];
|
|
/* 02495260 */ _t19 = cpu->r[9] + 0xFFFFA8BCu;
|
|
/* 02495260 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02495264 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 02495264 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02495268 */ cpu->f[10] = cpu->f[10] / cpu->f[12];
|
|
/* 0249526C */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0249526C */ rbrew_write32(cpu->mem, _t21, cpu->r[7]);
|
|
/* 02495270 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02495270 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02495274 */ _t23 = cpu->r[1] + 0x00000054u;
|
|
/* 02495274 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02495278 */ _t24 = cpu->r[1] + 0x00000054u;
|
|
/* 02495278 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0249527C */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249527C */ rbrew_write32(cpu->mem, _t25, cpu->r[5]);
|
|
/* 02495280 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495280 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 02495284 */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 02495284 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02495288 */ _t28 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02495288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0249528C */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 0249528C */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02495290 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02495290 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02495294 */ cpu->f[12] = cpu->f[12] * cpu->f[10];
|
|
/* 02495298 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495298 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0249529C */ cpu->f[13] = cpu->f[13] * cpu->f[10];
|
|
/* 024952A0 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 024952A0 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[12]);
|
|
/* 024952A4 */ cpu->r[27] = 0x10110000u;
|
|
/* 024952A8 */ cpu->f[0] = cpu->f[0] * cpu->f[10];
|
|
/* 024952AC */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 024952AC */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
/* 024952B0 */ cpu->r[27] = cpu->r[27] + 0xFFFFEF4Cu;
|
|
/* 024952B4 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024952B4 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 024952B8 */ goto L_02495424;
|
|
L_024952BC: ; // 0x24952bc
|
|
/* 024952BC */ /* nop */
|
|
/* 024952C0 */ /* nop */
|
|
/* 024952C4 */ _t35 = cpu->r[28] + 0x0000000Cu;
|
|
/* 024952C4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 024952C8 */ /* nop */
|
|
/* 024952CC */ _t36 = cpu->r[28] + 0x00000018u;
|
|
/* 024952CC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 024952D0 */ /* nop */
|
|
/* 024952D4 */ cpu->f[11] = cpu->f[10] - cpu->f[12];
|
|
/* 024952D8 */ _t37 = cpu->r[1] + 0x00000044u;
|
|
/* 024952D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 024952DC */ _t38 = cpu->r[1] + 0x00000040u;
|
|
/* 024952DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 024952E0 */ _t39 = cpu->r[1] + 0x00000048u;
|
|
/* 024952E0 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[11]);
|
|
/* 024952E4 */ _t40 = cpu->r[1] + 0x00000048u;
|
|
/* 024952E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 024952E8 */ _t41 = cpu->r[1] + 0x00000058u;
|
|
/* 024952E8 */ rbrew_write32(cpu->mem, _t41, cpu->r[6]);
|
|
/* 024952EC */ _t42 = cpu->r[1] + 0x0000005Cu;
|
|
/* 024952EC */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
|
|
/* 024952F0 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 024952F4 */ _t43 = cpu->r[1] + 0x00000060u;
|
|
/* 024952F4 */ rbrew_write32(cpu->mem, _t43, cpu->r[5]);
|
|
/* 024952F8 */ Gambit_fn_02C69350(cpu);
|
|
/* 024952FC */ _t44 = cpu->r[28] + 0x0000001Cu;
|
|
/* 024952FC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02495300 */ cpu->f[11] = cpu->f[1] / cpu->f[8];
|
|
/* 02495304 */ cpu->r[7] = 0x100B0000u;
|
|
/* 02495308 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 0249530C */ _t45 = cpu->r[7] + 0xFFFFA8B0u;
|
|
/* 0249530C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t45);
|
|
/* 02495310 */ cpu->r[6] = 0x43300000u;
|
|
/* 02495314 */ cpu->r[0] = cpu->r[1] + 0x00000038u;
|
|
/* 02495318 */ /* nop */
|
|
/* 0249531C */ _t46 = cpu->r[1] + 0x00000038u;
|
|
/* 0249531C */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02495320 */ _t47 = cpu->r[1] + 0x00000038u;
|
|
/* 02495320 */ rbrew_write32(cpu->mem, _t47, cpu->r[6]);
|
|
/* 02495324 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 02495328 */ _t48 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02495328 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 0249532C */ _t49 = cpu->r[1] + 0x00000038u;
|
|
/* 0249532C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t49);
|
|
/* 02495330 */ cpu->f[10] = cpu->f[9] - cpu->f[0];
|
|
/* 02495334 */ cpu->f[10] = (double)(float)cpu->f[10];
|
|
/* 02495338 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 0249533C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249533C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0249533C */ if (_t51) goto L_02495354; else goto L_02495340;
|
|
L_02495340: ; // 0x2495340
|
|
/* 02495340 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02495344 */ _t52 = cpu->r[5] + 0xFFFFA8B8u;
|
|
/* 02495344 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02495348 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[9]);
|
|
/* 0249534C */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249534C */ _t54 = _t53 & 0x00000001u;
|
|
/* 0249534C */ if (_t54) goto L_02495354; else goto L_02495350;
|
|
L_02495350: ; // 0x2495350
|
|
/* 02495350 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02495354: ; // 0x2495354
|
|
/* 02495354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000020u);
|
|
/* 02495358 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02495358 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02495358 */ if (_t56) goto L_0249535C; else goto L_02495360;
|
|
L_0249535C: ; // 0x249535c
|
|
/* 0249535C */ cpu->r[31] = 0x00000020u;
|
|
L_02495360: ; // 0x2495360
|
|
/* 02495360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02495364 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02495364 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02495364 */ if (_t58) goto L_0249536C; else goto L_02495368;
|
|
L_02495368: ; // 0x2495368
|
|
/* 02495368 */ cpu->r[31] = 0x00000001u;
|
|
L_0249536C: ; // 0x249536c
|
|
/* 0249536C */ /* nop */
|
|
/* 02495370 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 02495374 */ /* nop */
|
|
/* 02495378 */ _t59 = cpu->r[28] + 0x00000008u;
|
|
/* 02495378 */ cpu->r[8] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0249537C */ /* nop */
|
|
/* 02495380 */ _t60 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02495380 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02495384 */ cpu->r[7] = 0x43300000u;
|
|
/* 02495388 */ _t61 = cpu->r[28] + 0x00000018u;
|
|
/* 02495388 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 0249538C */ _t62 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0249538C */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 02495390 */ cpu->f[13] = cpu->f[10] - cpu->f[9];
|
|
/* 02495394 */ _t63 = cpu->r[1] + 0x00000038u;
|
|
/* 02495394 */ rbrew_write32(cpu->mem, _t63, cpu->r[7]);
|
|
/* 02495398 */ _t64 = cpu->r[28] + 0x00000004u;
|
|
/* 02495398 */ cpu->r[7] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0249539C */ /* nop */
|
|
/* 024953A0 */ _t65 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024953A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t65);
|
|
/* 024953A4 */ cpu->r[12] = 0x100B0000u;
|
|
/* 024953A8 */ _t66 = cpu->r[1] + 0x00000054u;
|
|
/* 024953A8 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 024953AC */ _t67 = cpu->r[1] + 0x00000054u;
|
|
/* 024953AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t67);
|
|
/* 024953B0 */ _t68 = cpu->r[12] + 0xFFFFA8B0u;
|
|
/* 024953B0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 024953B4 */ _t69 = cpu->r[1] + 0x00000038u;
|
|
/* 024953B4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 024953B8 */ _t70 = cpu->r[1] + 0x00000050u;
|
|
/* 024953B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t70);
|
|
/* 024953BC */ cpu->f[11] = cpu->f[0] - cpu->f[12];
|
|
/* 024953C0 */ _t71 = cpu->r[1] + 0x00000014u;
|
|
/* 024953C0 */ rbrew_write32(cpu->mem, _t71, cpu->r[6]);
|
|
/* 024953C4 */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 024953C4 */ rbrew_write32(cpu->mem, _t72, cpu->r[7]);
|
|
/* 024953C8 */ cpu->r[9] = 0x100B0000u;
|
|
/* 024953CC */ cpu->f[12] = (double)(float)cpu->f[11];
|
|
/* 024953D0 */ _t73 = cpu->r[9] + 0xFFFFA8BCu;
|
|
/* 024953D0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 024953D4 */ _t74 = cpu->r[1] + 0x00000018u;
|
|
/* 024953D4 */ rbrew_write32(cpu->mem, _t74, cpu->r[12]);
|
|
/* 024953D8 */ cpu->f[10] = cpu->f[10] / cpu->f[12];
|
|
/* 024953DC */ _t75 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024953DC */ rbrew_write32(cpu->mem, _t75, cpu->r[5]);
|
|
/* 024953E0 */ _t76 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024953E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 024953E4 */ _t77 = cpu->r[1] + 0x00000014u;
|
|
/* 024953E4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 024953E8 */ _t78 = cpu->r[28] + 0x0000000Cu;
|
|
/* 024953E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 024953EC */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024953EC */ rbrew_write32(cpu->mem, _t79, cpu->r[8]);
|
|
/* 024953F0 */ _t80 = cpu->r[1] + 0x00000018u;
|
|
/* 024953F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 024953F4 */ cpu->f[13] = cpu->f[13] * cpu->f[10];
|
|
/* 024953F8 */ _t81 = cpu->r[1] + 0x00000010u;
|
|
/* 024953F8 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 024953FC */ cpu->f[12] = cpu->f[12] * cpu->f[10];
|
|
/* 02495400 */ _t82 = cpu->r[1] + 0x00000018u;
|
|
/* 02495400 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[13]);
|
|
/* 02495404 */ cpu->f[0] = cpu->f[0] * cpu->f[10];
|
|
/* 02495408 */ _t83 = cpu->r[1] + 0x00000014u;
|
|
/* 02495408 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[12]);
|
|
/* 0249540C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02495410 */ _t84 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495410 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[0]);
|
|
/* 02495414 */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02495414 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02495414 */ if (_t86) goto L_0249541C; else goto L_02495418;
|
|
L_02495418: ; // 0x2495418
|
|
/* 02495418 */ cpu->r[31] = 0x00000001u;
|
|
L_0249541C: ; // 0x249541c
|
|
/* 0249541C */ cpu->r[27] = 0x10110000u;
|
|
/* 02495420 */ cpu->r[27] = cpu->r[27] + 0xFFFFEF4Cu;
|
|
L_02495424: ; // 0x2495424
|
|
/* 02495424 */ _t87 = cpu->r[1] + 0x00000008u;
|
|
/* 02495424 */ cpu->r[10] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02495428 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0249542C */ _t88 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249542C */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02495430 */ _t89 = cpu->r[1] + 0x00000024u;
|
|
/* 02495430 */ rbrew_write32(cpu->mem, _t89, cpu->r[10]);
|
|
/* 02495434 */ _t90 = cpu->r[1] + 0x00000028u;
|
|
/* 02495434 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02495438 */ _t91 = cpu->r[1] + 0x00000020u;
|
|
/* 02495438 */ rbrew_write32(cpu->mem, _t91, cpu->r[27]);
|
|
/* 0249543C */ _t92 = cpu->r[1] + 0x00000010u;
|
|
/* 0249543C */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02495440 */ cpu->r[5] = cpu->r[30];
|
|
/* 02495444 */ _t93 = cpu->r[1] + 0x00000030u;
|
|
/* 02495444 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[8]);
|
|
/* 02495448 */ cpu->r[4] = cpu->r[29];
|
|
/* 0249544C */ _t94 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249544C */ rbrew_write32(cpu->mem, _t94, cpu->r[0]);
|
|
/* 02495450 */ Gambit_fn_027DEBF0(cpu);
|
|
/* 02495454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02495458 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495458 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02495458 */ if (_t96) goto L_02495474; else goto L_0249545C;
|
|
L_0249545C: ; // 0x249545c
|
|
/* 0249545C */ /* nop */
|
|
/* 02495460 */ _t97 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02495460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02495464 */ cpu->lr = cpu->r[0];
|
|
/* 02495468 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 0249546C */ cpu->r[3] = 0x00000001u;
|
|
/* 02495470 */ return;
|
|
L_02495474: ; // 0x2495474
|
|
/* 02495474 */ _t98 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495474 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02495478 */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 02495478 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 0249547C */ /* nop */
|
|
/* 02495480 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
|
|
/* 02495484 */ /* nop */
|
|
/* 02495488 */ /* nop */
|
|
/* 0249548C */ /* nop */
|
|
/* 02495490 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02495490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02495494 */ _t100 = cpu->r[1] + 0x00000010u;
|
|
/* 02495494 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[13]);
|
|
/* 02495498 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495498 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02495498 */ if (_t102) goto L_024954DC; else goto L_0249549C;
|
|
L_0249549C: ; // 0x249549c
|
|
/* 0249549C */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 0249549C */ cpu->r[10] = rbrew_read32(cpu->mem, _t103);
|
|
/* 024954A0 */ _t104 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024954A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 024954A4 */ _t105 = cpu->r[1] + 0x00000024u;
|
|
/* 024954A4 */ rbrew_write32(cpu->mem, _t105, cpu->r[10]);
|
|
/* 024954A8 */ _t106 = cpu->r[1] + 0x00000028u;
|
|
/* 024954A8 */ rbrew_write32(cpu->mem, _t106, cpu->r[0]);
|
|
/* 024954AC */ _t107 = cpu->r[1] + 0x00000010u;
|
|
/* 024954AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 024954B0 */ cpu->r[5] = cpu->r[30];
|
|
/* 024954B4 */ _t108 = cpu->r[28] + 0x0000001Cu;
|
|
/* 024954B4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 024954B8 */ _t109 = cpu->r[1] + 0x00000020u;
|
|
/* 024954B8 */ rbrew_write32(cpu->mem, _t109, cpu->r[27]);
|
|
/* 024954BC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 024954C0 */ _t110 = cpu->r[1] + 0x00000030u;
|
|
/* 024954C0 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[8]);
|
|
/* 024954C4 */ cpu->r[4] = cpu->r[29];
|
|
/* 024954C8 */ _t111 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024954C8 */ rbrew_write32(cpu->mem, _t111, cpu->r[0]);
|
|
/* 024954CC */ Gambit_fn_027DEBF0(cpu);
|
|
/* 024954D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024954D4 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024954D4 */ _t113 = _t112 & 0x00000001u;
|
|
/* 024954D4 */ if (_t113) goto L_02495474; else goto L_024954D8;
|
|
L_024954D8: ; // 0x24954d8
|
|
/* 024954D8 */ goto L_0249545C;
|
|
L_024954DC: ; // 0x24954dc
|
|
/* 024954DC */ /* nop */
|
|
/* 024954E0 */ _t114 = cpu->r[1] + 0x0000007Cu;
|
|
/* 024954E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 024954E4 */ cpu->lr = cpu->r[0];
|
|
/* 024954E8 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 024954EC */ cpu->r[3] = 0x00000000u;
|
|
/* 024954F0 */ return;
|
|
}
|
|
|
|
// fn_024954F4 @ 0x24954f4
|
|
void Gambit_fn_024954F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_024954F4: ; // 0x24954f4
|
|
/* 024954F4 */ cpu->r[0] = cpu->lr;
|
|
/* 024954F8 */ _t0 = cpu->r[1] + 0xFFFFFF58u;
|
|
/* 024954F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024954F8 */ cpu->r[1] = _t0;
|
|
/* 024954FC */ _t1 = cpu->r[1] + 0x000000A0u;
|
|
/* 024954FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02495500 */ _t2 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02495500 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02495504 */ _t3 = cpu->r[1] + 0x000000A4u;
|
|
/* 02495504 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02495508 */ cpu->r[6] = 0x101F0000u;
|
|
/* 0249550C */ _t4 = cpu->r[1] + 0x000000ACu;
|
|
/* 0249550C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02495510 */ /* nop */
|
|
/* 02495514 */ cpu->r[6] = cpu->r[6] + 0x00003840u;
|
|
/* 02495518 */ _t5 = cpu->r[5] + 0x00000008u;
|
|
/* 02495518 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0249551C */ /* nop */
|
|
/* 02495520 */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 02495520 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02495524 */ _t7 = cpu->r[6] + 0x00000000u;
|
|
/* 02495524 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02495528 */ cpu->f[12] = cpu->f[13] * cpu->f[1];
|
|
/* 0249552C */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 0249552C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02495530 */ /* nop */
|
|
/* 02495534 */ _t9 = cpu->r[6] + 0x00000004u;
|
|
/* 02495534 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02495538 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249553C */ _t10 = cpu->r[6] + 0x00000008u;
|
|
/* 0249553C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02495540 */ _t11 = cpu->r[1] + 0x00000028u;
|
|
/* 02495540 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02495544 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02495544 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02495548 */ _t13 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02495548 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 0249554C */ _t14 = cpu->r[1] + 0x00000030u;
|
|
/* 0249554C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[12]);
|
|
/* 02495550 */ _t15 = cpu->r[1] + 0x00000030u;
|
|
/* 02495550 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02495554 */ cpu->r[0] = 0x10110000u;
|
|
/* 02495558 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02495558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249555C */ _t17 = cpu->r[1] + 0x00000054u;
|
|
/* 0249555C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02495560 */ _t18 = cpu->r[4] + 0x00000008u;
|
|
/* 02495560 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02495564 */ _t19 = cpu->r[1] + 0x00000050u;
|
|
/* 02495564 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02495568 */ /* nop */
|
|
/* 0249556C */ cpu->r[0] = cpu->r[0] + 0xFFFFEF7Cu;
|
|
/* 02495570 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02495570 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02495574 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02495574 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[11]);
|
|
/* 02495578 */ /* nop */
|
|
/* 0249557C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249557C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02495580 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02495580 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02495584 */ /* nop */
|
|
/* 02495588 */ _t24 = cpu->r[1] + 0x00000054u;
|
|
/* 02495588 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0249558C */ /* nop */
|
|
/* 02495590 */ _t25 = cpu->r[1] + 0x00000038u;
|
|
/* 02495590 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02495594 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02495594 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02495598 */ _t27 = cpu->r[1] + 0x00000034u;
|
|
/* 02495598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0249559C */ cpu->f[10] = cpu->f[13] + cpu->f[0];
|
|
/* 024955A0 */ _t28 = cpu->r[1] + 0x00000044u;
|
|
/* 024955A0 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
/* 024955A4 */ _t29 = cpu->r[1] + 0x00000044u;
|
|
/* 024955A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 024955A8 */ _t30 = cpu->r[1] + 0x00000040u;
|
|
/* 024955A8 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 024955AC */ _t31 = cpu->r[1] + 0x00000040u;
|
|
/* 024955AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 024955B0 */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024955B0 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[10]);
|
|
/* 024955B4 */ _t33 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024955B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 024955B8 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 024955B8 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 024955BC */ cpu->r[12] = 0x101F0000u;
|
|
/* 024955C0 */ _t35 = cpu->r[1] + 0x00000048u;
|
|
/* 024955C0 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 024955C4 */ _t36 = cpu->r[1] + 0x00000048u;
|
|
/* 024955C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 024955C8 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 024955C8 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[2]);
|
|
/* 024955CC */ cpu->r[10] = 0x10110000u;
|
|
/* 024955D0 */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 024955D0 */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
|
|
/* 024955D4 */ cpu->r[10] = cpu->r[10] + 0xFFFFEFACu;
|
|
/* 024955D8 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024955D8 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 024955DC */ cpu->r[12] = cpu->r[12] + 0x000037D8u;
|
|
/* 024955E0 */ _t40 = cpu->r[1] + 0x00000064u;
|
|
/* 024955E0 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 024955E4 */ cpu->r[0] = 0x00000003u;
|
|
/* 024955E8 */ _t41 = cpu->r[1] + 0x00000058u;
|
|
/* 024955E8 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 024955EC */ cpu->r[5] = cpu->r[1] + 0x00000064u;
|
|
/* 024955F0 */ _t42 = cpu->r[1] + 0x00000020u;
|
|
/* 024955F0 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 024955F4 */ _t43 = cpu->r[1] + 0x00000060u;
|
|
/* 024955F4 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
|
|
/* 024955F8 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024955F8 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
/* 024955FC */ cpu->ctr = cpu->r[0];
|
|
/* 02495600 */ _t45 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02495600 */ rbrew_write32(cpu->mem, _t45, cpu->r[29]);
|
|
L_02495604: ; // 0x2495604
|
|
/* 02495604 */ _t46 = cpu->r[12] + 0x00000004u;
|
|
/* 02495604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02495608 */ _t47 = cpu->r[5] + 0x00000004u;
|
|
/* 02495608 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 0249560C */ _t48 = cpu->r[12] + 0x00000008u;
|
|
/* 0249560C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02495610 */ _t49 = cpu->r[5] + 0x00000008u;
|
|
/* 02495610 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02495614 */ _t50 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02495614 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02495614 */ cpu->r[12] = _t50;
|
|
/* 02495618 */ _t51 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02495618 */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
|
|
/* 02495618 */ cpu->r[5] = _t51;
|
|
/* 0249561C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0249561C */ _t52 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0249561C */ _t53 = _t52 >> (0x00000002u & 31u);
|
|
/* 0249561C */ _t54 = _t53 & 0x00000001u;
|
|
/* 0249561C */ if (_t54) goto L_02495604; else goto L_02495620;
|
|
L_02495620: ; // 0x2495620
|
|
/* 02495620 */ _t55 = cpu->r[6] + 0x00000008u;
|
|
/* 02495620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02495624 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495628 */ _t56 = cpu->r[6] + 0x00000004u;
|
|
/* 02495628 */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0249562C */ _t57 = cpu->r[1] + 0x00000094u;
|
|
/* 0249562C */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 02495630 */ _t58 = cpu->r[6] + 0x00000000u;
|
|
/* 02495630 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02495634 */ _t59 = cpu->r[1] + 0x00000090u;
|
|
/* 02495634 */ rbrew_write32(cpu->mem, _t59, cpu->r[10]);
|
|
/* 02495638 */ cpu->r[4] = cpu->r[1] + 0x00000058u;
|
|
/* 0249563C */ _t60 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0249563C */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 02495640 */ Gambit_fn_02494E74(cpu);
|
|
/* 02495644 */ cpu->r[6] = 0x00000000u;
|
|
/* 02495648 */ cpu->r[5] = cpu->r[1] + 0x00000058u;
|
|
/* 0249564C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02495650 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495654 */ Gambit_fn_024951C4(cpu);
|
|
/* 02495658 */ _t61 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02495658 */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0249565C */ _t62 = cpu->r[1] + 0x000000ACu;
|
|
/* 0249565C */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02495660 */ _t63 = cpu->r[1] + 0x000000A0u;
|
|
/* 02495660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02495664 */ cpu->lr = cpu->r[0];
|
|
/* 02495668 */ _t64 = cpu->r[1] + 0x000000A4u;
|
|
/* 02495668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0249566C */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 02495670 */ return;
|
|
}
|
|
|
|
// fn_024954F8 @ 0x24954f8
|
|
void Gambit_fn_024954F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_024954F8: ; // 0x24954f8
|
|
/* 024954F8 */ _t0 = cpu->r[1] + 0xFFFFFF58u;
|
|
/* 024954F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024954F8 */ cpu->r[1] = _t0;
|
|
/* 024954FC */ _t1 = cpu->r[1] + 0x000000A0u;
|
|
/* 024954FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02495500 */ _t2 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02495500 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02495504 */ _t3 = cpu->r[1] + 0x000000A4u;
|
|
/* 02495504 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02495508 */ cpu->r[6] = 0x101F0000u;
|
|
/* 0249550C */ _t4 = cpu->r[1] + 0x000000ACu;
|
|
/* 0249550C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02495510 */ /* nop */
|
|
/* 02495514 */ cpu->r[6] = cpu->r[6] + 0x00003840u;
|
|
/* 02495518 */ _t5 = cpu->r[5] + 0x00000008u;
|
|
/* 02495518 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0249551C */ /* nop */
|
|
/* 02495520 */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 02495520 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02495524 */ _t7 = cpu->r[6] + 0x00000000u;
|
|
/* 02495524 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02495528 */ cpu->f[12] = cpu->f[13] * cpu->f[1];
|
|
/* 0249552C */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 0249552C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02495530 */ /* nop */
|
|
/* 02495534 */ _t9 = cpu->r[6] + 0x00000004u;
|
|
/* 02495534 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02495538 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249553C */ _t10 = cpu->r[6] + 0x00000008u;
|
|
/* 0249553C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02495540 */ _t11 = cpu->r[1] + 0x00000028u;
|
|
/* 02495540 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02495544 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02495544 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02495548 */ _t13 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02495548 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 0249554C */ _t14 = cpu->r[1] + 0x00000030u;
|
|
/* 0249554C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[12]);
|
|
/* 02495550 */ _t15 = cpu->r[1] + 0x00000030u;
|
|
/* 02495550 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02495554 */ cpu->r[0] = 0x10110000u;
|
|
/* 02495558 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02495558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249555C */ _t17 = cpu->r[1] + 0x00000054u;
|
|
/* 0249555C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02495560 */ _t18 = cpu->r[4] + 0x00000008u;
|
|
/* 02495560 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02495564 */ _t19 = cpu->r[1] + 0x00000050u;
|
|
/* 02495564 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02495568 */ /* nop */
|
|
/* 0249556C */ cpu->r[0] = cpu->r[0] + 0xFFFFEF7Cu;
|
|
/* 02495570 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02495570 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02495574 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02495574 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[11]);
|
|
/* 02495578 */ /* nop */
|
|
/* 0249557C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249557C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02495580 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02495580 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02495584 */ /* nop */
|
|
/* 02495588 */ _t24 = cpu->r[1] + 0x00000054u;
|
|
/* 02495588 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0249558C */ /* nop */
|
|
/* 02495590 */ _t25 = cpu->r[1] + 0x00000038u;
|
|
/* 02495590 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02495594 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02495594 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02495598 */ _t27 = cpu->r[1] + 0x00000034u;
|
|
/* 02495598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0249559C */ cpu->f[10] = cpu->f[13] + cpu->f[0];
|
|
/* 024955A0 */ _t28 = cpu->r[1] + 0x00000044u;
|
|
/* 024955A0 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
/* 024955A4 */ _t29 = cpu->r[1] + 0x00000044u;
|
|
/* 024955A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 024955A8 */ _t30 = cpu->r[1] + 0x00000040u;
|
|
/* 024955A8 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 024955AC */ _t31 = cpu->r[1] + 0x00000040u;
|
|
/* 024955AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 024955B0 */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024955B0 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[10]);
|
|
/* 024955B4 */ _t33 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024955B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 024955B8 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 024955B8 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 024955BC */ cpu->r[12] = 0x101F0000u;
|
|
/* 024955C0 */ _t35 = cpu->r[1] + 0x00000048u;
|
|
/* 024955C0 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 024955C4 */ _t36 = cpu->r[1] + 0x00000048u;
|
|
/* 024955C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 024955C8 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 024955C8 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[2]);
|
|
/* 024955CC */ cpu->r[10] = 0x10110000u;
|
|
/* 024955D0 */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 024955D0 */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
|
|
/* 024955D4 */ cpu->r[10] = cpu->r[10] + 0xFFFFEFACu;
|
|
/* 024955D8 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024955D8 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 024955DC */ cpu->r[12] = cpu->r[12] + 0x000037D8u;
|
|
/* 024955E0 */ _t40 = cpu->r[1] + 0x00000064u;
|
|
/* 024955E0 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 024955E4 */ cpu->r[0] = 0x00000003u;
|
|
/* 024955E8 */ _t41 = cpu->r[1] + 0x00000058u;
|
|
/* 024955E8 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 024955EC */ cpu->r[5] = cpu->r[1] + 0x00000064u;
|
|
/* 024955F0 */ _t42 = cpu->r[1] + 0x00000020u;
|
|
/* 024955F0 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 024955F4 */ _t43 = cpu->r[1] + 0x00000060u;
|
|
/* 024955F4 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
|
|
/* 024955F8 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024955F8 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
/* 024955FC */ cpu->ctr = cpu->r[0];
|
|
/* 02495600 */ _t45 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02495600 */ rbrew_write32(cpu->mem, _t45, cpu->r[29]);
|
|
L_02495604: ; // 0x2495604
|
|
/* 02495604 */ _t46 = cpu->r[12] + 0x00000004u;
|
|
/* 02495604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02495608 */ _t47 = cpu->r[5] + 0x00000004u;
|
|
/* 02495608 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 0249560C */ _t48 = cpu->r[12] + 0x00000008u;
|
|
/* 0249560C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02495610 */ _t49 = cpu->r[5] + 0x00000008u;
|
|
/* 02495610 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02495614 */ _t50 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02495614 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02495614 */ cpu->r[12] = _t50;
|
|
/* 02495618 */ _t51 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02495618 */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
|
|
/* 02495618 */ cpu->r[5] = _t51;
|
|
/* 0249561C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0249561C */ _t52 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0249561C */ _t53 = _t52 >> (0x00000002u & 31u);
|
|
/* 0249561C */ _t54 = _t53 & 0x00000001u;
|
|
/* 0249561C */ if (_t54) goto L_02495604; else goto L_02495620;
|
|
L_02495620: ; // 0x2495620
|
|
/* 02495620 */ _t55 = cpu->r[6] + 0x00000008u;
|
|
/* 02495620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02495624 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495628 */ _t56 = cpu->r[6] + 0x00000004u;
|
|
/* 02495628 */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0249562C */ _t57 = cpu->r[1] + 0x00000094u;
|
|
/* 0249562C */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 02495630 */ _t58 = cpu->r[6] + 0x00000000u;
|
|
/* 02495630 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02495634 */ _t59 = cpu->r[1] + 0x00000090u;
|
|
/* 02495634 */ rbrew_write32(cpu->mem, _t59, cpu->r[10]);
|
|
/* 02495638 */ cpu->r[4] = cpu->r[1] + 0x00000058u;
|
|
/* 0249563C */ _t60 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0249563C */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 02495640 */ Gambit_fn_02494E74(cpu);
|
|
/* 02495644 */ cpu->r[6] = 0x00000000u;
|
|
/* 02495648 */ cpu->r[5] = cpu->r[1] + 0x00000058u;
|
|
/* 0249564C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02495650 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495654 */ Gambit_fn_024951C4(cpu);
|
|
/* 02495658 */ _t61 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02495658 */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0249565C */ _t62 = cpu->r[1] + 0x000000ACu;
|
|
/* 0249565C */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02495660 */ _t63 = cpu->r[1] + 0x000000A0u;
|
|
/* 02495660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02495664 */ cpu->lr = cpu->r[0];
|
|
/* 02495668 */ _t64 = cpu->r[1] + 0x000000A4u;
|
|
/* 02495668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0249566C */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 02495670 */ return;
|
|
}
|
|
|
|
// fn_02495674 @ 0x2495674
|
|
void Gambit_fn_02495674(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_024954F4: ; // 0x24954f4
|
|
/* 024954F4 */ cpu->r[0] = cpu->lr;
|
|
/* 024954F8 */ _t0 = cpu->r[1] + 0xFFFFFF58u;
|
|
/* 024954F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024954F8 */ cpu->r[1] = _t0;
|
|
/* 024954FC */ _t1 = cpu->r[1] + 0x000000A0u;
|
|
/* 024954FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02495500 */ _t2 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02495500 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02495504 */ _t3 = cpu->r[1] + 0x000000A4u;
|
|
/* 02495504 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02495508 */ cpu->r[6] = 0x101F0000u;
|
|
/* 0249550C */ _t4 = cpu->r[1] + 0x000000ACu;
|
|
/* 0249550C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02495510 */ /* nop */
|
|
/* 02495514 */ cpu->r[6] = cpu->r[6] + 0x00003840u;
|
|
/* 02495518 */ _t5 = cpu->r[5] + 0x00000008u;
|
|
/* 02495518 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0249551C */ /* nop */
|
|
/* 02495520 */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 02495520 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02495524 */ _t7 = cpu->r[6] + 0x00000000u;
|
|
/* 02495524 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02495528 */ cpu->f[12] = cpu->f[13] * cpu->f[1];
|
|
/* 0249552C */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 0249552C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02495530 */ /* nop */
|
|
/* 02495534 */ _t9 = cpu->r[6] + 0x00000004u;
|
|
/* 02495534 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02495538 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249553C */ _t10 = cpu->r[6] + 0x00000008u;
|
|
/* 0249553C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02495540 */ _t11 = cpu->r[1] + 0x00000028u;
|
|
/* 02495540 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02495544 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02495544 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02495548 */ _t13 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02495548 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 0249554C */ _t14 = cpu->r[1] + 0x00000030u;
|
|
/* 0249554C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[12]);
|
|
/* 02495550 */ _t15 = cpu->r[1] + 0x00000030u;
|
|
/* 02495550 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02495554 */ cpu->r[0] = 0x10110000u;
|
|
/* 02495558 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02495558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249555C */ _t17 = cpu->r[1] + 0x00000054u;
|
|
/* 0249555C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02495560 */ _t18 = cpu->r[4] + 0x00000008u;
|
|
/* 02495560 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02495564 */ _t19 = cpu->r[1] + 0x00000050u;
|
|
/* 02495564 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02495568 */ /* nop */
|
|
/* 0249556C */ cpu->r[0] = cpu->r[0] + 0xFFFFEF7Cu;
|
|
/* 02495570 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02495570 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02495574 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02495574 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[11]);
|
|
/* 02495578 */ /* nop */
|
|
/* 0249557C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249557C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02495580 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02495580 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02495584 */ /* nop */
|
|
/* 02495588 */ _t24 = cpu->r[1] + 0x00000054u;
|
|
/* 02495588 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0249558C */ /* nop */
|
|
/* 02495590 */ _t25 = cpu->r[1] + 0x00000038u;
|
|
/* 02495590 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02495594 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02495594 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02495598 */ _t27 = cpu->r[1] + 0x00000034u;
|
|
/* 02495598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0249559C */ cpu->f[10] = cpu->f[13] + cpu->f[0];
|
|
/* 024955A0 */ _t28 = cpu->r[1] + 0x00000044u;
|
|
/* 024955A0 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
/* 024955A4 */ _t29 = cpu->r[1] + 0x00000044u;
|
|
/* 024955A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 024955A8 */ _t30 = cpu->r[1] + 0x00000040u;
|
|
/* 024955A8 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 024955AC */ _t31 = cpu->r[1] + 0x00000040u;
|
|
/* 024955AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 024955B0 */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024955B0 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[10]);
|
|
/* 024955B4 */ _t33 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024955B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 024955B8 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 024955B8 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 024955BC */ cpu->r[12] = 0x101F0000u;
|
|
/* 024955C0 */ _t35 = cpu->r[1] + 0x00000048u;
|
|
/* 024955C0 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 024955C4 */ _t36 = cpu->r[1] + 0x00000048u;
|
|
/* 024955C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 024955C8 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 024955C8 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[2]);
|
|
/* 024955CC */ cpu->r[10] = 0x10110000u;
|
|
/* 024955D0 */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 024955D0 */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
|
|
/* 024955D4 */ cpu->r[10] = cpu->r[10] + 0xFFFFEFACu;
|
|
/* 024955D8 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024955D8 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 024955DC */ cpu->r[12] = cpu->r[12] + 0x000037D8u;
|
|
/* 024955E0 */ _t40 = cpu->r[1] + 0x00000064u;
|
|
/* 024955E0 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 024955E4 */ cpu->r[0] = 0x00000003u;
|
|
/* 024955E8 */ _t41 = cpu->r[1] + 0x00000058u;
|
|
/* 024955E8 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 024955EC */ cpu->r[5] = cpu->r[1] + 0x00000064u;
|
|
/* 024955F0 */ _t42 = cpu->r[1] + 0x00000020u;
|
|
/* 024955F0 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 024955F4 */ _t43 = cpu->r[1] + 0x00000060u;
|
|
/* 024955F4 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
|
|
/* 024955F8 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024955F8 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
/* 024955FC */ cpu->ctr = cpu->r[0];
|
|
/* 02495600 */ _t45 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02495600 */ rbrew_write32(cpu->mem, _t45, cpu->r[29]);
|
|
L_02495604: ; // 0x2495604
|
|
/* 02495604 */ _t46 = cpu->r[12] + 0x00000004u;
|
|
/* 02495604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02495608 */ _t47 = cpu->r[5] + 0x00000004u;
|
|
/* 02495608 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 0249560C */ _t48 = cpu->r[12] + 0x00000008u;
|
|
/* 0249560C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02495610 */ _t49 = cpu->r[5] + 0x00000008u;
|
|
/* 02495610 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02495614 */ _t50 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02495614 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02495614 */ cpu->r[12] = _t50;
|
|
/* 02495618 */ _t51 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02495618 */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
|
|
/* 02495618 */ cpu->r[5] = _t51;
|
|
/* 0249561C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0249561C */ _t52 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0249561C */ _t53 = _t52 >> (0x00000002u & 31u);
|
|
/* 0249561C */ _t54 = _t53 & 0x00000001u;
|
|
/* 0249561C */ if (_t54) goto L_02495604; else goto L_02495620;
|
|
L_02495620: ; // 0x2495620
|
|
/* 02495620 */ _t55 = cpu->r[6] + 0x00000008u;
|
|
/* 02495620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02495624 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495628 */ _t56 = cpu->r[6] + 0x00000004u;
|
|
/* 02495628 */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0249562C */ _t57 = cpu->r[1] + 0x00000094u;
|
|
/* 0249562C */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 02495630 */ _t58 = cpu->r[6] + 0x00000000u;
|
|
/* 02495630 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02495634 */ _t59 = cpu->r[1] + 0x00000090u;
|
|
/* 02495634 */ rbrew_write32(cpu->mem, _t59, cpu->r[10]);
|
|
/* 02495638 */ cpu->r[4] = cpu->r[1] + 0x00000058u;
|
|
/* 0249563C */ _t60 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0249563C */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 02495640 */ Gambit_fn_02494E74(cpu);
|
|
/* 02495644 */ cpu->r[6] = 0x00000000u;
|
|
/* 02495648 */ cpu->r[5] = cpu->r[1] + 0x00000058u;
|
|
/* 0249564C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02495650 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495654 */ Gambit_fn_024951C4(cpu);
|
|
/* 02495658 */ _t61 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02495658 */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0249565C */ _t62 = cpu->r[1] + 0x000000ACu;
|
|
/* 0249565C */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02495660 */ _t63 = cpu->r[1] + 0x000000A0u;
|
|
/* 02495660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02495664 */ cpu->lr = cpu->r[0];
|
|
/* 02495668 */ _t64 = cpu->r[1] + 0x000000A4u;
|
|
/* 02495668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0249566C */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 02495670 */ return;
|
|
L_02495674: ; // 0x2495674
|
|
/* 02495674 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE50u;
|
|
/* 02495678 */ goto L_024954F4;
|
|
}
|
|
|
|
// fn_02495680 @ 0x2495680
|
|
void Gambit_fn_02495680(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_02495680: ; // 0x2495680
|
|
/* 02495680 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02495680 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02495680 */ cpu->r[1] = _t0;
|
|
/* 02495684 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495684 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02495688 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02495688 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0249568C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0249568C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02495690 */ cpu->r[31] = cpu->r[3];
|
|
/* 02495690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02495694 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495694 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02495698 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495698 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02495698 */ if (_t6) goto L_0249569C; else goto L_024956AC;
|
|
L_0249569C: ; // 0x249569c
|
|
/* 0249569C */ cpu->r[3] = 0x00000204u;
|
|
/* 024956A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 024956A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 024956A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024956A8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024956A8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 024956A8 */ if (_t8) goto L_0249575C; else goto L_024956AC;
|
|
L_024956AC: ; // 0x24956ac
|
|
/* 024956AC */ cpu->r[3] = cpu->r[31];
|
|
/* 024956B0 */ Gambit_fn_024F6F3C(cpu);
|
|
/* 024956B4 */ cpu->r[11] = 0x100B0000u;
|
|
/* 024956B8 */ cpu->r[29] = cpu->r[31] + 0x000001B4u;
|
|
/* 024956B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 024956BC */ cpu->r[11] = cpu->r[11] + 0xFFFFAA70u;
|
|
/* 024956C0 */ cpu->r[12] = 0x100B0000u;
|
|
/* 024956C4 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 024956C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 024956C8 */ cpu->r[12] = cpu->r[12] + 0xFFFFAA30u;
|
|
/* 024956CC */ cpu->r[30] = 0x00000000u;
|
|
/* 024956D0 */ _t10 = cpu->r[31] + 0x000001B0u;
|
|
/* 024956D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 024956D4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024956D4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 024956D4 */ if (_t12) goto L_024956D8; else goto L_024956E8;
|
|
L_024956D8: ; // 0x24956d8
|
|
/* 024956D8 */ cpu->r[3] = 0x00000038u;
|
|
/* 024956DC */ Gambit_fn_02801A78(cpu);
|
|
/* 024956E0 */ cpu->r[29] = cpu->r[3];
|
|
/* 024956E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 024956E4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024956E4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 024956E4 */ if (_t14) goto L_02495718; else goto L_024956E8;
|
|
L_024956E8: ; // 0x24956e8
|
|
/* 024956E8 */ cpu->r[3] = cpu->r[29];
|
|
/* 024956EC */ Gambit_fn_027FC29C(cpu);
|
|
/* 024956F0 */ cpu->r[0] = 0x100B0000u;
|
|
/* 024956F4 */ _t15 = cpu->r[29] + 0x00000030u;
|
|
/* 024956F4 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 024956F8 */ cpu->r[0] = cpu->r[0] + 0xFFFFAA40u;
|
|
/* 024956FC */ _t16 = cpu->r[29] + 0x00000034u;
|
|
/* 024956FC */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02495700 */ _t17 = cpu->r[29] + 0x00000004u;
|
|
/* 02495700 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02495704 */ _t18 = cpu->r[29] + 0x00000024u;
|
|
/* 02495704 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02495708 */ _t19 = cpu->r[29] + 0x00000028u;
|
|
/* 02495708 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 0249570C */ _t20 = cpu->r[29] + 0x0000002Cu;
|
|
/* 0249570C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02495710 */ _t21 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02495710 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02495714 */ _t22 = cpu->r[29] + 0x00000020u;
|
|
/* 02495714 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
L_02495718: ; // 0x2495718
|
|
/* 02495718 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0249571C */ _t23 = cpu->r[31] + 0x000001ECu;
|
|
/* 0249571C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02495720 */ cpu->r[11] = 0x101C0000u;
|
|
/* 02495724 */ _t24 = cpu->r[12] + 0x00007230u;
|
|
/* 02495724 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02495728 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249572C */ _t25 = cpu->r[11] + 0x00004FA8u;
|
|
/* 0249572C */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02495730 */ /* nop */
|
|
/* 02495734 */ _t26 = cpu->r[31] + 0x00000200u;
|
|
/* 02495734 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 02495738 */ /* nop */
|
|
/* 0249573C */ _t27 = cpu->r[31] + 0x000001F8u;
|
|
/* 0249573C */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[30]);
|
|
/* 02495740 */ cpu->r[9] = cpu->r[6] | cpu->r[8];
|
|
/* 02495744 */ _t28 = cpu->r[31] + 0x000001F9u;
|
|
/* 02495744 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[30]);
|
|
/* 02495748 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0249574C */ _t29 = cpu->r[31] + 0x000001F0u;
|
|
/* 0249574C */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02495750 */ _t30 = cpu->r[31] + 0x000001F4u;
|
|
/* 02495750 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02495754 */ _t31 = cpu->r[31] + 0x00000201u;
|
|
/* 02495754 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]);
|
|
/* 02495758 */ _t32 = cpu->r[31] + 0x000001FCu;
|
|
/* 02495758 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
L_0249575C: ; // 0x249575c
|
|
/* 0249575C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249575C */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02495760 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02495764 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495768 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02495768 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0249576C */ cpu->lr = cpu->r[0];
|
|
/* 02495770 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02495770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02495774 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02495778 */ return;
|
|
}
|
|
|
|
// fn_0249577C @ 0x249577c
|
|
void Gambit_fn_0249577C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0249577C: ; // 0x249577c
|
|
/* 0249577C */ cpu->r[0] = cpu->lr;
|
|
/* 02495780 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02495780 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02495780 */ cpu->r[1] = _t0;
|
|
/* 02495784 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02495784 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02495788 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02495788 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249578C */ cpu->r[30] = cpu->r[3];
|
|
/* 02495790 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02495794 */ cpu->r[31] = cpu->r[4];
|
|
/* 02495798 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02495798 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249579C */ Gambit_fn_024F6710(cpu);
|
|
/* 024957A0 */ cpu->r[5] = cpu->r[3];
|
|
/* 024957A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 024957A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 024957AC */ Gambit_fn_024F4798(cpu);
|
|
/* 024957B0 */ _t4 = cpu->r[30] + 0x00000050u;
|
|
/* 024957B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024957B4 */ cpu->r[11] = 0x00000001u;
|
|
/* 024957B8 */ _t5 = cpu->r[30] + 0x0000002Cu;
|
|
/* 024957B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 024957BC */ _t6 = cpu->r[10] + 0x000046E0u;
|
|
/* 024957BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 024957C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 024957C4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024957C4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 024957C4 */ if (_t8) goto L_024957D0; else goto L_024957C8;
|
|
L_024957C8: ; // 0x24957c8
|
|
/* 024957C8 */ _t9 = cpu->r[10] + 0x000046C0u;
|
|
/* 024957C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024957CC */ _t10 = cpu->r[30] + 0x000001F4u;
|
|
/* 024957CC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_024957D0: ; // 0x24957d0
|
|
/* 024957D0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 024957D4 */ Gambit_fn_02173CCC(cpu);
|
|
/* 024957D8 */ cpu->r[31] = 0x00000002u;
|
|
/* 024957DC */ _t11 = cpu->r[30] + 0x000001F4u;
|
|
/* 024957DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024957E0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 024957E4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024957E8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024957E8 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 024957EC */ Gambit_fn_0217408C(cpu);
|
|
/* 024957F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 024957F4 */ _t13 = cpu->r[30] + 0x000001F8u;
|
|
/* 024957F4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[3]);
|
|
/* 024957F8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 024957FC */ Gambit_fn_02173D6C(cpu);
|
|
/* 02495800 */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02495800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02495804 */ _t15 = cpu->r[1] + 0x00000020u;
|
|
/* 02495804 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02495808 */ cpu->lr = cpu->r[0];
|
|
/* 0249580C */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 0249580C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02495810 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02495814 */ return;
|
|
}
|
|
|
|
// fn_02495780 @ 0x2495780
|
|
void Gambit_fn_02495780(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02495780: ; // 0x2495780
|
|
/* 02495780 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02495780 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02495780 */ cpu->r[1] = _t0;
|
|
/* 02495784 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02495784 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02495788 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02495788 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249578C */ cpu->r[30] = cpu->r[3];
|
|
/* 02495790 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02495794 */ cpu->r[31] = cpu->r[4];
|
|
/* 02495798 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02495798 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249579C */ Gambit_fn_024F6710(cpu);
|
|
/* 024957A0 */ cpu->r[5] = cpu->r[3];
|
|
/* 024957A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 024957A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 024957AC */ Gambit_fn_024F4798(cpu);
|
|
/* 024957B0 */ _t4 = cpu->r[30] + 0x00000050u;
|
|
/* 024957B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024957B4 */ cpu->r[11] = 0x00000001u;
|
|
/* 024957B8 */ _t5 = cpu->r[30] + 0x0000002Cu;
|
|
/* 024957B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 024957BC */ _t6 = cpu->r[10] + 0x000046E0u;
|
|
/* 024957BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 024957C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 024957C4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024957C4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 024957C4 */ if (_t8) goto L_024957D0; else goto L_024957C8;
|
|
L_024957C8: ; // 0x24957c8
|
|
/* 024957C8 */ _t9 = cpu->r[10] + 0x000046C0u;
|
|
/* 024957C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024957CC */ _t10 = cpu->r[30] + 0x000001F4u;
|
|
/* 024957CC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_024957D0: ; // 0x24957d0
|
|
/* 024957D0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 024957D4 */ Gambit_fn_02173CCC(cpu);
|
|
/* 024957D8 */ cpu->r[31] = 0x00000002u;
|
|
/* 024957DC */ _t11 = cpu->r[30] + 0x000001F4u;
|
|
/* 024957DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024957E0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 024957E4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024957E8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024957E8 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 024957EC */ Gambit_fn_0217408C(cpu);
|
|
/* 024957F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 024957F4 */ _t13 = cpu->r[30] + 0x000001F8u;
|
|
/* 024957F4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[3]);
|
|
/* 024957F8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 024957FC */ Gambit_fn_02173D6C(cpu);
|
|
/* 02495800 */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02495800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02495804 */ _t15 = cpu->r[1] + 0x00000020u;
|
|
/* 02495804 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02495808 */ cpu->lr = cpu->r[0];
|
|
/* 0249580C */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 0249580C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02495810 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02495814 */ return;
|
|
}
|
|
|
|
// fn_02495818 @ 0x2495818
|
|
void Gambit_fn_02495818(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189;
|
|
|
|
L_02495818: ; // 0x2495818
|
|
/* 02495818 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02495818 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02495818 */ cpu->r[1] = _t0;
|
|
/* 0249581C */ /* nop */
|
|
/* 02495820 */ cpu->r[0] = cpu->lr;
|
|
/* 02495824 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02495824 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02495828 */ cpu->r[28] = cpu->r[3];
|
|
/* 0249582C */ _t2 = cpu->r[28] + 0x000001F8u;
|
|
/* 0249582C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02495830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02495834 */ cpu->r[27] = 0x00000000u;
|
|
/* 02495838 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495838 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02495838 */ if (_t4) goto L_024958BC; else goto L_0249583C;
|
|
L_0249583C: ; // 0x249583c
|
|
/* 0249583C */ cpu->r[11] = 0x00000005u;
|
|
/* 02495840 */ cpu->r[5] = cpu->r[1] + 0x00000009u;
|
|
/* 02495844 */ cpu->r[6] = 0x00000004u;
|
|
/* 02495848 */ cpu->r[4] = cpu->r[28];
|
|
/* 0249584C */ cpu->r[3] = cpu->r[28] + 0x000001B4u;
|
|
/* 02495850 */ _t5 = cpu->r[1] + 0x00000009u;
|
|
/* 02495850 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[11]);
|
|
/* 02495854 */ Gambit_fn_02497934(cpu);
|
|
/* 02495858 */ cpu->r[4] = cpu->r[28] + 0x000001B4u;
|
|
/* 0249585C */ cpu->r[3] = cpu->r[28];
|
|
/* 02495860 */ Gambit_fn_02000834(cpu);
|
|
/* 02495864 */ cpu->r[25] = 0x02490000u;
|
|
/* 02495868 */ cpu->r[26] = 0x100B0000u;
|
|
/* 0249586C */ cpu->r[25] = cpu->r[25] + 0x00007374u;
|
|
/* 02495870 */ cpu->r[26] = cpu->r[26] + 0xFFFFA6E8u;
|
|
/* 02495874 */ _t6 = cpu->r[28] + 0x000001CCu;
|
|
/* 02495874 */ cpu->r[24] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02495878 */ cpu->ctr = cpu->r[25];
|
|
/* 0249587C */ cpu->r[7] = 0x100B0000u;
|
|
/* 02495880 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02495880 */ rbrew_write32(cpu->mem, _t7, cpu->r[26]);
|
|
/* 02495884 */ cpu->r[7] = cpu->r[7] + 0xFFFFA8C0u;
|
|
/* 02495888 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249588C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249588C */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02495890 */ _t9 = cpu->r[24] + 0x00000000u;
|
|
/* 02495890 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02495894 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495898 */ cpu->r[30] = 0x10110000u;
|
|
/* 0249589C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249589C */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024958A0 */ _t11 = cpu->r[30] + 0x00007399u;
|
|
/* 024958A0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t11);
|
|
/* 024958A4 */ _t12 = cpu->r[7] + 0x00000000u;
|
|
/* 024958A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 024958A8 */ cpu->r[31] = 0x00000000u;
|
|
/* 024958AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 024958B0 */ cpu->r[8] = 0x00080000u;
|
|
/* 024958B4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024958B4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 024958B4 */ if (_t14) goto L_024958B8; else goto L_02495938;
|
|
L_024958B8: ; // 0x24958b8
|
|
/* 024958B8 */ goto L_0249595C;
|
|
L_024958BC: ; // 0x24958bc
|
|
/* 024958BC */ cpu->r[0] = 0x00000005u;
|
|
/* 024958C0 */ cpu->r[5] = cpu->r[1] + 0x0000000Au;
|
|
/* 024958C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 024958C8 */ cpu->r[4] = cpu->r[28];
|
|
/* 024958CC */ cpu->r[3] = cpu->r[28] + 0x000001B4u;
|
|
/* 024958D0 */ _t15 = cpu->r[1] + 0x0000000Au;
|
|
/* 024958D0 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 024958D4 */ Gambit_fn_02497934(cpu);
|
|
/* 024958D8 */ cpu->r[4] = cpu->r[28] + 0x000001B4u;
|
|
/* 024958DC */ cpu->r[3] = cpu->r[28];
|
|
/* 024958E0 */ Gambit_fn_02000834(cpu);
|
|
/* 024958E4 */ cpu->r[25] = 0x02490000u;
|
|
/* 024958E8 */ cpu->r[26] = 0x100B0000u;
|
|
/* 024958EC */ cpu->r[25] = cpu->r[25] + 0x00007374u;
|
|
/* 024958F0 */ cpu->r[26] = cpu->r[26] + 0xFFFFA6E8u;
|
|
/* 024958F4 */ _t16 = cpu->r[28] + 0x000001CCu;
|
|
/* 024958F4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024958F8 */ cpu->ctr = cpu->r[25];
|
|
/* 024958FC */ cpu->r[7] = 0x100B0000u;
|
|
/* 02495900 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02495900 */ rbrew_write32(cpu->mem, _t17, cpu->r[26]);
|
|
/* 02495904 */ cpu->r[7] = cpu->r[7] + 0xFFFFA8C0u;
|
|
/* 02495908 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249590C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249590C */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 02495910 */ _t19 = cpu->r[24] + 0x00000000u;
|
|
/* 02495910 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02495914 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495918 */ cpu->r[30] = 0x10110000u;
|
|
/* 0249591C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249591C */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02495920 */ _t21 = cpu->r[30] + 0x00007399u;
|
|
/* 02495920 */ cpu->r[30] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02495924 */ _t22 = cpu->r[7] + 0x00000000u;
|
|
/* 02495924 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02495928 */ cpu->r[31] = 0x00000000u;
|
|
/* 0249592C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02495930 */ cpu->r[8] = 0x00080000u;
|
|
/* 02495934 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495934 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02495934 */ if (_t24) goto L_024958B8; else goto L_02495938;
|
|
L_02495938: ; // 0x2495938
|
|
/* 02495938 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0249593C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 02495940 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02495944 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02495944 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02495944 */ if (_t26) goto L_02495958; else goto L_02495948;
|
|
L_02495948: ; // 0x2495948
|
|
/* 02495948 */ _t27 = cpu->r[7] + 0x00000000u;
|
|
/* 02495948 */ cpu->r[12] = rbrew_read8(cpu->mem, _t27);
|
|
/* 0249594C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02495950 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495950 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02495950 */ if (_t29) goto L_02495954; else goto L_02495938;
|
|
L_02495954: ; // 0x2495954
|
|
/* 02495954 */ goto L_0249595C;
|
|
L_02495958: ; // 0x2495958
|
|
/* 02495958 */ cpu->r[31] = 0x00000000u;
|
|
L_0249595C: ; // 0x249595c
|
|
/* 0249595C */ _t30 = cpu->r[24] + 0x00000008u;
|
|
/* 0249595C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02495960 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02495960 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02495964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02495968 */ _t32 = cpu->r[7] + 0x00000014u;
|
|
/* 02495968 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0249596C */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249596C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0249596C */ if (_t34) goto L_02495974; else goto L_02495970;
|
|
L_02495970: ; // 0x2495970
|
|
/* 02495970 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02495974: ; // 0x2495974
|
|
/* 02495974 */ cpu->ctr = cpu->r[9];
|
|
/* 02495978 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249597C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495980 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495980 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02495984 */ cpu->r[6] = 0x00000000u;
|
|
/* 02495988 */ cpu->r[5] = cpu->r[31];
|
|
/* 0249598C */ cpu->r[3] = cpu->r[29];
|
|
/* 02495990 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02495994 */ cpu->r[0] = 0x02490000u;
|
|
/* 02495998 */ _t36 = cpu->r[29] + cpu->r[31];
|
|
/* 02495998 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[30]);
|
|
/* 0249599C */ cpu->r[0] = cpu->r[0] + 0x0000770Cu;
|
|
/* 024959A0 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 024959A0 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[27]);
|
|
/* 024959A4 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 024959A8 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 024959A8 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 024959AC */ cpu->r[12] = 0x02490000u;
|
|
/* 024959B0 */ _t39 = cpu->r[1] + 0x00000026u;
|
|
/* 024959B0 */ rbrew_write16(cpu->mem, _t39, (uint16_t)cpu->r[27]);
|
|
/* 024959B4 */ cpu->r[12] = cpu->r[12] + 0x00007070u;
|
|
/* 024959B8 */ _t40 = cpu->r[1] + 0x00000016u;
|
|
/* 024959B8 */ rbrew_write16(cpu->mem, _t40, (uint16_t)cpu->r[10]);
|
|
/* 024959BC */ cpu->r[11] = 0x00000000u;
|
|
/* 024959C0 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024959C0 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[27]);
|
|
/* 024959C4 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 024959C8 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 024959C8 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[11]);
|
|
/* 024959CC */ cpu->r[3] = cpu->r[28] + 0x000001B4u;
|
|
/* 024959D0 */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 024959D0 */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[27]);
|
|
/* 024959D4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 024959D8 */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 024959D8 */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
/* 024959DC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 024959E0 */ _t45 = cpu->r[1] + 0x0000001Eu;
|
|
/* 024959E0 */ rbrew_write16(cpu->mem, _t45, (uint16_t)cpu->r[10]);
|
|
/* 024959E4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 024959E8 */ _t46 = cpu->r[1] + 0x00000028u;
|
|
/* 024959E8 */ rbrew_write32(cpu->mem, _t46, cpu->r[27]);
|
|
/* 024959EC */ Gambit_fn_02497BE4(cpu);
|
|
/* 024959F0 */ cpu->r[7] = 0x100B0000u;
|
|
/* 024959F4 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 024959F4 */ rbrew_write32(cpu->mem, _t47, cpu->r[26]);
|
|
/* 024959F8 */ cpu->r[7] = cpu->r[7] + 0xFFFFA8D4u;
|
|
/* 024959FC */ _t48 = cpu->r[28] + 0x000001C8u;
|
|
/* 024959FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02495A00 */ _t49 = cpu->r[28] + 0x000001CCu;
|
|
/* 02495A00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02495A04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000001u);
|
|
/* 02495A08 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495A08 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 02495A0C */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02495A0C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02495A0C */ if (_t52) goto L_02495A10; else goto L_02495A14;
|
|
L_02495A10: ; // 0x2495a10
|
|
/* 02495A10 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
L_02495A14: ; // 0x2495a14
|
|
/* 02495A14 */ cpu->ctr = cpu->r[25];
|
|
/* 02495A18 */ _t53 = cpu->r[29] + 0x00000000u;
|
|
/* 02495A18 */ cpu->r[24] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02495A1C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495A20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495A24 */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495A24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02495A28 */ _t55 = cpu->r[11] + 0x00000000u;
|
|
/* 02495A28 */ cpu->r[10] = rbrew_read8(cpu->mem, _t55);
|
|
/* 02495A2C */ cpu->r[31] = 0x00000000u;
|
|
/* 02495A30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02495A34 */ cpu->r[0] = 0x00080000u;
|
|
/* 02495A38 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495A38 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02495A38 */ if (_t57) goto L_02495A60; else goto L_02495A3C;
|
|
L_02495A3C: ; // 0x2495a3c
|
|
/* 02495A3C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02495A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02495A44 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02495A48 */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02495A48 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02495A48 */ if (_t59) goto L_02495A5C; else goto L_02495A4C;
|
|
L_02495A4C: ; // 0x2495a4c
|
|
/* 02495A4C */ _t60 = cpu->r[11] + 0x00000000u;
|
|
/* 02495A4C */ cpu->r[12] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02495A50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02495A54 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495A54 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02495A54 */ if (_t62) goto L_02495A58; else goto L_02495A3C;
|
|
L_02495A58: ; // 0x2495a58
|
|
/* 02495A58 */ goto L_02495A60;
|
|
L_02495A5C: ; // 0x2495a5c
|
|
/* 02495A5C */ cpu->r[31] = 0x00000000u;
|
|
L_02495A60: ; // 0x2495a60
|
|
/* 02495A60 */ _t63 = cpu->r[29] + 0x00000008u;
|
|
/* 02495A60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02495A64 */ _t64 = cpu->r[1] + 0x00000010u;
|
|
/* 02495A64 */ cpu->r[5] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02495A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02495A6C */ _t65 = cpu->r[5] + 0x00000014u;
|
|
/* 02495A6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02495A70 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02495A70 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02495A70 */ if (_t67) goto L_02495A78; else goto L_02495A74;
|
|
L_02495A74: ; // 0x2495a74
|
|
/* 02495A74 */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02495A78: ; // 0x2495a78
|
|
/* 02495A78 */ cpu->ctr = cpu->r[7];
|
|
/* 02495A7C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495A80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495A84 */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495A84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02495A88 */ cpu->r[3] = cpu->r[24];
|
|
/* 02495A8C */ cpu->r[5] = cpu->r[31];
|
|
/* 02495A90 */ cpu->r[6] = 0x00000000u;
|
|
/* 02495A94 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02495A98 */ _t69 = cpu->r[24] + cpu->r[31];
|
|
/* 02495A98 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[30]);
|
|
/* 02495A9C */ cpu->r[0] = 0x00000001u;
|
|
/* 02495AA0 */ _t70 = cpu->r[1] + 0x00000024u;
|
|
/* 02495AA0 */ rbrew_write16(cpu->mem, _t70, (uint16_t)cpu->r[27]);
|
|
/* 02495AA4 */ cpu->r[6] = 0x02490000u;
|
|
/* 02495AA8 */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 02495AA8 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[0]);
|
|
/* 02495AAC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02495AB0 */ _t72 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495AB0 */ rbrew_write16(cpu->mem, _t72, (uint16_t)cpu->r[27]);
|
|
/* 02495AB4 */ cpu->r[6] = cpu->r[6] + 0x0000709Cu;
|
|
/* 02495AB8 */ _t73 = cpu->r[1] + 0x00000016u;
|
|
/* 02495AB8 */ rbrew_write16(cpu->mem, _t73, (uint16_t)cpu->r[0]);
|
|
/* 02495ABC */ _t74 = cpu->r[1] + 0x00000014u;
|
|
/* 02495ABC */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[27]);
|
|
/* 02495AC0 */ cpu->r[11] = 0x02490000u;
|
|
/* 02495AC4 */ _t75 = cpu->r[1] + 0x00000026u;
|
|
/* 02495AC4 */ rbrew_write16(cpu->mem, _t75, (uint16_t)cpu->r[27]);
|
|
/* 02495AC8 */ cpu->r[11] = cpu->r[11] + 0x00007088u;
|
|
/* 02495ACC */ _t76 = cpu->r[1] + 0x00000018u;
|
|
/* 02495ACC */ rbrew_write32(cpu->mem, _t76, cpu->r[6]);
|
|
/* 02495AD0 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02495AD4 */ _t77 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02495AD4 */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[0]);
|
|
/* 02495AD8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02495ADC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02495AE0 */ _t78 = cpu->r[1] + 0x00000020u;
|
|
/* 02495AE0 */ rbrew_write32(cpu->mem, _t78, cpu->r[11]);
|
|
/* 02495AE4 */ cpu->r[3] = cpu->r[28] + 0x000001B4u;
|
|
/* 02495AE8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495AEC */ _t79 = cpu->r[1] + 0x00000028u;
|
|
/* 02495AEC */ rbrew_write32(cpu->mem, _t79, cpu->r[27]);
|
|
/* 02495AF0 */ Gambit_fn_02497BE4(cpu);
|
|
/* 02495AF4 */ cpu->r[10] = 0x100B0000u;
|
|
/* 02495AF8 */ _t80 = cpu->r[1] + 0x00000010u;
|
|
/* 02495AF8 */ rbrew_write32(cpu->mem, _t80, cpu->r[26]);
|
|
/* 02495AFC */ cpu->r[10] = cpu->r[10] + 0xFFFFA8E4u;
|
|
/* 02495B00 */ _t81 = cpu->r[28] + 0x000001C8u;
|
|
/* 02495B00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02495B04 */ _t82 = cpu->r[28] + 0x000001CCu;
|
|
/* 02495B04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02495B08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 02495B0C */ _t83 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495B0C */ rbrew_write32(cpu->mem, _t83, cpu->r[10]);
|
|
/* 02495B10 */ _t84 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02495B10 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02495B10 */ if (_t85) goto L_02495B14; else goto L_02495B18;
|
|
L_02495B14: ; // 0x2495b14
|
|
/* 02495B14 */ cpu->r[29] = cpu->r[29] + 0x00000048u;
|
|
L_02495B18: ; // 0x2495b18
|
|
/* 02495B18 */ cpu->ctr = cpu->r[25];
|
|
/* 02495B1C */ _t86 = cpu->r[29] + 0x00000000u;
|
|
/* 02495B1C */ cpu->r[24] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02495B20 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495B24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495B28 */ _t87 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495B28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02495B2C */ _t88 = cpu->r[7] + 0x00000000u;
|
|
/* 02495B2C */ cpu->r[5] = rbrew_read8(cpu->mem, _t88);
|
|
/* 02495B30 */ cpu->r[31] = 0x00000000u;
|
|
/* 02495B34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 02495B38 */ cpu->r[9] = 0x00080000u;
|
|
/* 02495B3C */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495B3C */ _t90 = _t89 & 0x00000001u;
|
|
/* 02495B3C */ if (_t90) goto L_02495B64; else goto L_02495B40;
|
|
L_02495B40: ; // 0x2495b40
|
|
/* 02495B40 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02495B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02495B48 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02495B4C */ _t91 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02495B4C */ _t92 = _t91 & 0x00000001u;
|
|
/* 02495B4C */ if (_t92) goto L_02495B60; else goto L_02495B50;
|
|
L_02495B50: ; // 0x2495b50
|
|
/* 02495B50 */ _t93 = cpu->r[7] + 0x00000000u;
|
|
/* 02495B50 */ cpu->r[6] = rbrew_read8(cpu->mem, _t93);
|
|
/* 02495B54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 02495B58 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495B58 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02495B58 */ if (_t95) goto L_02495B5C; else goto L_02495B40;
|
|
L_02495B5C: ; // 0x2495b5c
|
|
/* 02495B5C */ goto L_02495B64;
|
|
L_02495B60: ; // 0x2495b60
|
|
/* 02495B60 */ cpu->r[31] = 0x00000000u;
|
|
L_02495B64: ; // 0x2495b64
|
|
/* 02495B64 */ _t96 = cpu->r[29] + 0x00000008u;
|
|
/* 02495B64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02495B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 02495B6C */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02495B6C */ _t98 = _t97 & 0x00000001u;
|
|
/* 02495B6C */ if (_t98) goto L_02495B74; else goto L_02495B70;
|
|
L_02495B70: ; // 0x2495b70
|
|
/* 02495B70 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02495B74: ; // 0x2495b74
|
|
/* 02495B74 */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 02495B74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02495B78 */ _t100 = cpu->r[8] + 0x00000014u;
|
|
/* 02495B78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02495B7C */ cpu->ctr = cpu->r[10];
|
|
/* 02495B80 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495B84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495B88 */ _t101 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495B88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02495B8C */ cpu->r[3] = cpu->r[24];
|
|
/* 02495B90 */ cpu->r[5] = cpu->r[31];
|
|
/* 02495B94 */ cpu->r[6] = 0x00000000u;
|
|
/* 02495B98 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02495B9C */ _t102 = cpu->r[24] + cpu->r[31];
|
|
/* 02495B9C */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[30]);
|
|
/* 02495BA0 */ cpu->r[11] = 0x00000002u;
|
|
/* 02495BA4 */ _t103 = cpu->r[1] + 0x00000028u;
|
|
/* 02495BA4 */ rbrew_write32(cpu->mem, _t103, cpu->r[27]);
|
|
/* 02495BA8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02495BAC */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 02495BAC */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[11]);
|
|
/* 02495BB0 */ cpu->r[6] = 0x02490000u;
|
|
/* 02495BB4 */ _t105 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495BB4 */ rbrew_write16(cpu->mem, _t105, (uint16_t)cpu->r[27]);
|
|
/* 02495BB8 */ cpu->r[6] = cpu->r[6] + 0x00007188u;
|
|
/* 02495BBC */ _t106 = cpu->r[1] + 0x00000026u;
|
|
/* 02495BBC */ rbrew_write16(cpu->mem, _t106, (uint16_t)cpu->r[27]);
|
|
/* 02495BC0 */ cpu->r[12] = 0x02490000u;
|
|
/* 02495BC4 */ _t107 = cpu->r[1] + 0x00000024u;
|
|
/* 02495BC4 */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[27]);
|
|
/* 02495BC8 */ cpu->r[12] = cpu->r[12] + 0x00007174u;
|
|
/* 02495BCC */ _t108 = cpu->r[1] + 0x00000018u;
|
|
/* 02495BCC */ rbrew_write32(cpu->mem, _t108, cpu->r[6]);
|
|
/* 02495BD0 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02495BD4 */ _t109 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02495BD4 */ rbrew_write16(cpu->mem, _t109, (uint16_t)cpu->r[0]);
|
|
/* 02495BD8 */ cpu->r[3] = cpu->r[28] + 0x000001B4u;
|
|
/* 02495BDC */ _t110 = cpu->r[1] + 0x00000014u;
|
|
/* 02495BDC */ rbrew_write16(cpu->mem, _t110, (uint16_t)cpu->r[27]);
|
|
/* 02495BE0 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02495BE4 */ _t111 = cpu->r[1] + 0x00000020u;
|
|
/* 02495BE4 */ rbrew_write32(cpu->mem, _t111, cpu->r[12]);
|
|
/* 02495BE8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495BEC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02495BF0 */ _t112 = cpu->r[1] + 0x00000016u;
|
|
/* 02495BF0 */ rbrew_write16(cpu->mem, _t112, (uint16_t)cpu->r[0]);
|
|
/* 02495BF4 */ Gambit_fn_02497BE4(cpu);
|
|
/* 02495BF8 */ cpu->r[9] = 0x100B0000u;
|
|
/* 02495BFC */ _t113 = cpu->r[28] + 0x000001C8u;
|
|
/* 02495BFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02495C00 */ cpu->r[9] = cpu->r[9] + 0xFFFFA8F4u;
|
|
/* 02495C04 */ _t114 = cpu->r[28] + 0x000001CCu;
|
|
/* 02495C04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02495C08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000003u);
|
|
/* 02495C0C */ _t115 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495C0C */ rbrew_write32(cpu->mem, _t115, cpu->r[9]);
|
|
/* 02495C10 */ _t116 = cpu->r[1] + 0x00000010u;
|
|
/* 02495C10 */ rbrew_write32(cpu->mem, _t116, cpu->r[26]);
|
|
/* 02495C14 */ _t117 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02495C14 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02495C14 */ if (_t118) goto L_02495C18; else goto L_02495C1C;
|
|
L_02495C18: ; // 0x2495c18
|
|
/* 02495C18 */ cpu->r[31] = cpu->r[31] + 0x0000006Cu;
|
|
L_02495C1C: ; // 0x2495c1c
|
|
/* 02495C1C */ cpu->ctr = cpu->r[25];
|
|
/* 02495C20 */ _t119 = cpu->r[31] + 0x00000000u;
|
|
/* 02495C20 */ cpu->r[24] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02495C24 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495C2C */ _t120 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495C2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02495C30 */ _t121 = cpu->r[12] + 0x00000000u;
|
|
/* 02495C30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t121);
|
|
/* 02495C34 */ cpu->r[29] = 0x00000000u;
|
|
/* 02495C38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02495C3C */ cpu->r[0] = 0x00080000u;
|
|
/* 02495C40 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495C40 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02495C40 */ if (_t123) goto L_02495C68; else goto L_02495C44;
|
|
L_02495C44: ; // 0x2495c44
|
|
/* 02495C44 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02495C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 02495C4C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02495C50 */ _t124 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02495C50 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02495C50 */ if (_t125) goto L_02495C64; else goto L_02495C54;
|
|
L_02495C54: ; // 0x2495c54
|
|
/* 02495C54 */ _t126 = cpu->r[12] + 0x00000000u;
|
|
/* 02495C54 */ cpu->r[5] = rbrew_read8(cpu->mem, _t126);
|
|
/* 02495C58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 02495C5C */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495C5C */ _t128 = _t127 & 0x00000001u;
|
|
/* 02495C5C */ if (_t128) goto L_02495C60; else goto L_02495C44;
|
|
L_02495C60: ; // 0x2495c60
|
|
/* 02495C60 */ goto L_02495C68;
|
|
L_02495C64: ; // 0x2495c64
|
|
/* 02495C64 */ cpu->r[29] = 0x00000000u;
|
|
L_02495C68: ; // 0x2495c68
|
|
/* 02495C68 */ _t129 = cpu->r[31] + 0x00000008u;
|
|
/* 02495C68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02495C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 02495C70 */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02495C70 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02495C70 */ if (_t131) goto L_02495C78; else goto L_02495C74;
|
|
L_02495C74: ; // 0x2495c74
|
|
/* 02495C74 */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02495C78: ; // 0x2495c78
|
|
/* 02495C78 */ _t132 = cpu->r[1] + 0x00000010u;
|
|
/* 02495C78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02495C7C */ _t133 = cpu->r[7] + 0x00000014u;
|
|
/* 02495C7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02495C80 */ cpu->ctr = cpu->r[0];
|
|
/* 02495C84 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495C88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495C8C */ _t134 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495C8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02495C90 */ cpu->r[6] = 0x00000000u;
|
|
/* 02495C94 */ cpu->r[5] = cpu->r[29];
|
|
/* 02495C98 */ cpu->r[3] = cpu->r[24];
|
|
/* 02495C9C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02495CA0 */ _t135 = cpu->r[24] + cpu->r[29];
|
|
/* 02495CA0 */ rbrew_write8(cpu->mem, _t135, (uint8_t)cpu->r[30]);
|
|
/* 02495CA4 */ cpu->r[0] = 0x00000003u;
|
|
/* 02495CA8 */ _t136 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495CA8 */ rbrew_write16(cpu->mem, _t136, (uint16_t)cpu->r[27]);
|
|
/* 02495CAC */ cpu->r[9] = 0x02490000u;
|
|
/* 02495CB0 */ _t137 = cpu->r[1] + 0x00000024u;
|
|
/* 02495CB0 */ rbrew_write16(cpu->mem, _t137, (uint16_t)cpu->r[27]);
|
|
/* 02495CB4 */ cpu->r[9] = cpu->r[9] + 0x000071E0u;
|
|
/* 02495CB8 */ _t138 = cpu->r[1] + 0x00000008u;
|
|
/* 02495CB8 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[0]);
|
|
/* 02495CBC */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02495CC0 */ _t139 = cpu->r[1] + 0x00000018u;
|
|
/* 02495CC0 */ rbrew_write32(cpu->mem, _t139, cpu->r[9]);
|
|
/* 02495CC4 */ cpu->r[12] = 0x02490000u;
|
|
/* 02495CC8 */ _t140 = cpu->r[1] + 0x00000014u;
|
|
/* 02495CC8 */ rbrew_write16(cpu->mem, _t140, (uint16_t)cpu->r[27]);
|
|
/* 02495CCC */ cpu->r[12] = cpu->r[12] + 0x000071CCu;
|
|
/* 02495CD0 */ _t141 = cpu->r[1] + 0x00000028u;
|
|
/* 02495CD0 */ rbrew_write32(cpu->mem, _t141, cpu->r[27]);
|
|
/* 02495CD4 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02495CD8 */ _t142 = cpu->r[1] + 0x00000020u;
|
|
/* 02495CD8 */ rbrew_write32(cpu->mem, _t142, cpu->r[12]);
|
|
/* 02495CDC */ cpu->r[3] = cpu->r[28] + 0x000001B4u;
|
|
/* 02495CE0 */ _t143 = cpu->r[1] + 0x00000016u;
|
|
/* 02495CE0 */ rbrew_write16(cpu->mem, _t143, (uint16_t)cpu->r[8]);
|
|
/* 02495CE4 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495CE8 */ _t144 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02495CE8 */ rbrew_write16(cpu->mem, _t144, (uint16_t)cpu->r[8]);
|
|
/* 02495CEC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02495CF0 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02495CF4 */ _t145 = cpu->r[1] + 0x00000026u;
|
|
/* 02495CF4 */ rbrew_write16(cpu->mem, _t145, (uint16_t)cpu->r[27]);
|
|
/* 02495CF8 */ Gambit_fn_02497BE4(cpu);
|
|
/* 02495CFC */ cpu->r[11] = 0x100B0000u;
|
|
/* 02495D00 */ _t146 = cpu->r[1] + 0x00000010u;
|
|
/* 02495D00 */ rbrew_write32(cpu->mem, _t146, cpu->r[26]);
|
|
/* 02495D04 */ cpu->r[11] = cpu->r[11] + 0xFFFFA904u;
|
|
/* 02495D08 */ _t147 = cpu->r[28] + 0x000001C8u;
|
|
/* 02495D08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02495D0C */ _t148 = cpu->r[28] + 0x000001CCu;
|
|
/* 02495D0C */ cpu->r[29] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02495D10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 02495D14 */ _t149 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495D14 */ rbrew_write32(cpu->mem, _t149, cpu->r[11]);
|
|
/* 02495D18 */ _t150 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02495D18 */ _t151 = _t150 & 0x00000001u;
|
|
/* 02495D18 */ if (_t151) goto L_02495D1C; else goto L_02495D20;
|
|
L_02495D1C: ; // 0x2495d1c
|
|
/* 02495D1C */ cpu->r[29] = cpu->r[29] + 0x00000090u;
|
|
L_02495D20: ; // 0x2495d20
|
|
/* 02495D20 */ cpu->ctr = cpu->r[25];
|
|
/* 02495D24 */ _t152 = cpu->r[29] + 0x00000000u;
|
|
/* 02495D24 */ cpu->r[26] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02495D28 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495D2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495D30 */ _t153 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495D30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02495D34 */ _t154 = cpu->r[8] + 0x00000000u;
|
|
/* 02495D34 */ cpu->r[0] = rbrew_read8(cpu->mem, _t154);
|
|
/* 02495D38 */ cpu->r[31] = 0x00000000u;
|
|
/* 02495D3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02495D40 */ cpu->r[9] = 0x00080000u;
|
|
/* 02495D44 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495D44 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02495D44 */ if (_t156) goto L_02495D6C; else goto L_02495D48;
|
|
L_02495D48: ; // 0x2495d48
|
|
/* 02495D48 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02495D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02495D50 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02495D54 */ _t157 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02495D54 */ _t158 = _t157 & 0x00000001u;
|
|
/* 02495D54 */ if (_t158) goto L_02495D68; else goto L_02495D58;
|
|
L_02495D58: ; // 0x2495d58
|
|
/* 02495D58 */ _t159 = cpu->r[8] + 0x00000000u;
|
|
/* 02495D58 */ cpu->r[5] = rbrew_read8(cpu->mem, _t159);
|
|
/* 02495D5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 02495D60 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495D60 */ _t161 = _t160 & 0x00000001u;
|
|
/* 02495D60 */ if (_t161) goto L_02495D64; else goto L_02495D48;
|
|
L_02495D64: ; // 0x2495d64
|
|
/* 02495D64 */ goto L_02495D6C;
|
|
L_02495D68: ; // 0x2495d68
|
|
/* 02495D68 */ cpu->r[31] = 0x00000000u;
|
|
L_02495D6C: ; // 0x2495d6c
|
|
/* 02495D6C */ _t162 = cpu->r[29] + 0x00000008u;
|
|
/* 02495D6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02495D70 */ _t163 = cpu->r[1] + 0x00000010u;
|
|
/* 02495D70 */ cpu->r[6] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02495D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 02495D78 */ _t164 = cpu->r[6] + 0x00000014u;
|
|
/* 02495D78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02495D7C */ _t165 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02495D7C */ _t166 = _t165 & 0x00000001u;
|
|
/* 02495D7C */ if (_t166) goto L_02495D84; else goto L_02495D80;
|
|
L_02495D80: ; // 0x2495d80
|
|
/* 02495D80 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02495D84: ; // 0x2495d84
|
|
/* 02495D84 */ cpu->ctr = cpu->r[0];
|
|
/* 02495D88 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495D8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495D90 */ _t167 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495D90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02495D94 */ cpu->r[3] = cpu->r[26];
|
|
/* 02495D98 */ cpu->r[5] = cpu->r[31];
|
|
/* 02495D9C */ cpu->r[6] = 0x00000000u;
|
|
/* 02495DA0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02495DA4 */ _t168 = cpu->r[26] + cpu->r[31];
|
|
/* 02495DA4 */ rbrew_write8(cpu->mem, _t168, (uint8_t)cpu->r[30]);
|
|
/* 02495DA8 */ cpu->r[0] = 0x00000004u;
|
|
/* 02495DAC */ _t169 = cpu->r[1] + 0x00000028u;
|
|
/* 02495DAC */ rbrew_write32(cpu->mem, _t169, cpu->r[27]);
|
|
/* 02495DB0 */ _t170 = cpu->r[1] + 0x00000008u;
|
|
/* 02495DB0 */ rbrew_write8(cpu->mem, _t170, (uint8_t)cpu->r[0]);
|
|
/* 02495DB4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02495DB8 */ _t171 = cpu->r[1] + 0x00000024u;
|
|
/* 02495DB8 */ rbrew_write16(cpu->mem, _t171, (uint16_t)cpu->r[27]);
|
|
/* 02495DBC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02495DC0 */ _t172 = cpu->r[1] + 0x00000016u;
|
|
/* 02495DC0 */ rbrew_write16(cpu->mem, _t172, (uint16_t)cpu->r[0]);
|
|
/* 02495DC4 */ cpu->r[8] = 0x02490000u;
|
|
/* 02495DC8 */ _t173 = cpu->r[1] + 0x00000026u;
|
|
/* 02495DC8 */ rbrew_write16(cpu->mem, _t173, (uint16_t)cpu->r[27]);
|
|
/* 02495DCC */ cpu->r[8] = cpu->r[8] + 0x0000722Cu;
|
|
/* 02495DD0 */ _t174 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02495DD0 */ rbrew_write16(cpu->mem, _t174, (uint16_t)cpu->r[0]);
|
|
/* 02495DD4 */ cpu->r[0] = 0x02490000u;
|
|
/* 02495DD8 */ _t175 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495DD8 */ rbrew_write16(cpu->mem, _t175, (uint16_t)cpu->r[27]);
|
|
/* 02495DDC */ cpu->r[0] = cpu->r[0] + 0x00007710u;
|
|
/* 02495DE0 */ cpu->r[3] = cpu->r[28] + 0x000001B4u;
|
|
/* 02495DE4 */ _t176 = cpu->r[1] + 0x00000020u;
|
|
/* 02495DE4 */ rbrew_write32(cpu->mem, _t176, cpu->r[8]);
|
|
/* 02495DE8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02495DEC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02495DF0 */ _t177 = cpu->r[1] + 0x00000018u;
|
|
/* 02495DF0 */ rbrew_write32(cpu->mem, _t177, cpu->r[0]);
|
|
/* 02495DF4 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495DF8 */ _t178 = cpu->r[1] + 0x00000014u;
|
|
/* 02495DF8 */ rbrew_write16(cpu->mem, _t178, (uint16_t)cpu->r[27]);
|
|
/* 02495DFC */ Gambit_fn_02497BE4(cpu);
|
|
/* 02495E00 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02495E04 */ Gambit_fn_02801A78(cpu);
|
|
/* 02495E08 */ cpu->r[31] = cpu->r[3];
|
|
/* 02495E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02495E0C */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495E0C */ _t180 = _t179 & 0x00000001u;
|
|
/* 02495E0C */ if (_t180) goto L_02495E3C; else goto L_02495E10;
|
|
L_02495E10: ; // 0x2495e10
|
|
/* 02495E10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495E14 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02495E18 */ Gambit_fn_02C89380(cpu);
|
|
/* 02495E1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02495E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02495E20 */ _t181 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495E20 */ _t182 = _t181 & 0x00000001u;
|
|
/* 02495E20 */ if (_t182) goto L_02495E24; else goto L_02495E34;
|
|
L_02495E24: ; // 0x2495e24
|
|
/* 02495E24 */ cpu->r[3] = 0x00000008u;
|
|
/* 02495E28 */ Gambit_fn_02801A78(cpu);
|
|
/* 02495E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02495E30 */ _t183 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495E30 */ _t184 = _t183 & 0x00000001u;
|
|
/* 02495E30 */ if (_t184) goto L_02495E3C; else goto L_02495E34;
|
|
L_02495E34: ; // 0x2495e34
|
|
/* 02495E34 */ _t185 = cpu->r[3] + 0x00000004u;
|
|
/* 02495E34 */ rbrew_write32(cpu->mem, _t185, cpu->r[27]);
|
|
/* 02495E38 */ _t186 = cpu->r[3] + 0x00000000u;
|
|
/* 02495E38 */ rbrew_write32(cpu->mem, _t186, cpu->r[27]);
|
|
L_02495E3C: ; // 0x2495e3c
|
|
/* 02495E3C */ _t187 = cpu->r[28] + 0x00000050u;
|
|
/* 02495E3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02495E40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495E44 */ _t188 = cpu->r[28] + 0x000001FCu;
|
|
/* 02495E44 */ rbrew_write32(cpu->mem, _t188, cpu->r[31]);
|
|
/* 02495E48 */ Gambit_fn_024F212C(cpu);
|
|
/* 02495E4C */ /* nop */
|
|
/* 02495E50 */ _t189 = cpu->r[1] + 0x00000054u;
|
|
/* 02495E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02495E54 */ cpu->lr = cpu->r[0];
|
|
/* 02495E58 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02495E5C */ return;
|
|
}
|
|
|
|
// fn_02495E60 @ 0x2495e60
|
|
void Gambit_fn_02495E60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02495E60: ; // 0x2495e60
|
|
/* 02495E60 */ cpu->r[0] = cpu->lr;
|
|
/* 02495E64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02495E64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02495E64 */ cpu->r[1] = _t0;
|
|
/* 02495E68 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02495E68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02495E6C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495E6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02495E70 */ cpu->r[31] = cpu->r[3];
|
|
/* 02495E74 */ cpu->r[30] = 0x00000000u;
|
|
/* 02495E78 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02495E78 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02495E7C */ _t4 = cpu->r[31] + 0x000001FCu;
|
|
/* 02495E7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02495E80 */ _t5 = cpu->r[31] + 0x000001F9u;
|
|
/* 02495E80 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[30]);
|
|
/* 02495E84 */ Gambit_fn_024F21E0(cpu);
|
|
/* 02495E88 */ _t6 = cpu->r[31] + 0x00000201u;
|
|
/* 02495E88 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 02495E8C */ _t7 = cpu->r[31] + 0x00000200u;
|
|
/* 02495E8C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
/* 02495E90 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02495E90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02495E94 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495E94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02495E98 */ cpu->lr = cpu->r[0];
|
|
/* 02495E9C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02495E9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02495EA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02495EA4 */ return;
|
|
}
|
|
|
|
// fn_02495E64 @ 0x2495e64
|
|
void Gambit_fn_02495E64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02495E64: ; // 0x2495e64
|
|
/* 02495E64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02495E64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02495E64 */ cpu->r[1] = _t0;
|
|
/* 02495E68 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02495E68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02495E6C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495E6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02495E70 */ cpu->r[31] = cpu->r[3];
|
|
/* 02495E74 */ cpu->r[30] = 0x00000000u;
|
|
/* 02495E78 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02495E78 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02495E7C */ _t4 = cpu->r[31] + 0x000001FCu;
|
|
/* 02495E7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02495E80 */ _t5 = cpu->r[31] + 0x000001F9u;
|
|
/* 02495E80 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[30]);
|
|
/* 02495E84 */ Gambit_fn_024F21E0(cpu);
|
|
/* 02495E88 */ _t6 = cpu->r[31] + 0x00000201u;
|
|
/* 02495E88 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 02495E8C */ _t7 = cpu->r[31] + 0x00000200u;
|
|
/* 02495E8C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
/* 02495E90 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02495E90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02495E94 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495E94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02495E98 */ cpu->lr = cpu->r[0];
|
|
/* 02495E9C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02495E9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02495EA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02495EA4 */ return;
|
|
}
|
|
|
|
// fn_02495EA8 @ 0x2495ea8
|
|
void Gambit_fn_02495EA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02495EA8: ; // 0x2495ea8
|
|
/* 02495EA8 */ _t0 = cpu->r[3] + 0x00000198u;
|
|
/* 02495EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02495EAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Du);
|
|
/* 02495EB0 */ _t1 = cpu->r[3] + 0x00000198u;
|
|
/* 02495EB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02495EB4 */ return;
|
|
}
|
|
|
|
// fn_02495EB8 @ 0x2495eb8
|
|
void Gambit_fn_02495EB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02495EB8: ; // 0x2495eb8
|
|
/* 02495EB8 */ cpu->r[12] = cpu->r[3];
|
|
/* 02495EBC */ _t0 = cpu->r[12] + 0x000001F9u;
|
|
/* 02495EBC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02495EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02495EC4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495EC4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02495EC4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02495EC4 */ goto L_02495EC8;
|
|
L_02495EC8: ; // 0x2495ec8
|
|
/* 02495EC8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02495ECC */ cpu->r[3] = cpu->r[12] + 0x000001B4u;
|
|
/* 02495ED0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02495ED4 */ _t3 = cpu->r[12] + 0x000001F9u;
|
|
/* 02495ED4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02495ED8 */ goto L_02497D7C;
|
|
L_02497D7C: ; // 0x2497d7c
|
|
/* 02497D7C */ cpu->r[0] = cpu->lr;
|
|
/* 02497D80 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02497D80 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02497D80 */ cpu->r[1] = _t4;
|
|
/* 02497D84 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02497D84 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02497D88 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497D88 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02497D8C */ cpu->r[30] = cpu->r[3];
|
|
/* 02497D90 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02497D90 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02497D94 */ _t8 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02497D94 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02497D98 */ /* nop */
|
|
/* 02497D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02497DA0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02497DA4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497DA4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02497DA4 */ if (_t10) goto L_02497DA8; else goto L_02497DBC;
|
|
L_02497DA8: ; // 0x2497da8
|
|
/* 02497DA8 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 02497DA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02497DAC */ _t12 = cpu->r[11] + 0x00000014u;
|
|
/* 02497DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02497DB0 */ cpu->ctr = cpu->r[0];
|
|
/* 02497DB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02497DB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02497DBC: ; // 0x2497dbc
|
|
/* 02497DBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02497DC0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02497DC4 */ Gambit_fn_02497C6C(cpu);
|
|
/* 02497DC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02497DCC */ /* nop */
|
|
/* 02497DD0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02497DD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02497DD8 */ Gambit_fn_02497CF4(cpu);
|
|
/* 02497DDC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02497DDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02497DE0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02497DE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02497DE4 */ cpu->lr = cpu->r[0];
|
|
/* 02497DE8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497DE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02497DEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497DF0 */ return;
|
|
}
|
|
|
|
// fn_02495EDC @ 0x2495edc
|
|
void Gambit_fn_02495EDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02495EDC: ; // 0x2495edc
|
|
/* 02495EDC */ cpu->r[0] = cpu->lr;
|
|
/* 02495EE0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02495EE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02495EE0 */ cpu->r[1] = _t0;
|
|
/* 02495EE4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495EE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02495EE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02495EEC */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02495EEC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02495EF0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02495EF4 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02495EF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02495EF8 */ _t4 = cpu->r[3] + 0x00006000u;
|
|
/* 02495EF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02495EFC */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02495EFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02495F00 */ _t6 = cpu->r[12] + 0x00000154u;
|
|
/* 02495F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02495F04 */ cpu->ctr = cpu->r[0];
|
|
/* 02495F08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02495F10 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495F10 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02495F10 */ if (_t8) goto L_02495F60; else goto L_02495F14;
|
|
L_02495F14: ; // 0x2495f14
|
|
/* 02495F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 02495F18 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495F18 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02495F18 */ if (_t10) goto L_02495F60; else goto L_02495F1C;
|
|
L_02495F1C: ; // 0x2495f1c
|
|
/* 02495F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000008u);
|
|
/* 02495F20 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495F20 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02495F20 */ if (_t12) goto L_02495F60; else goto L_02495F24;
|
|
L_02495F24: ; // 0x2495f24
|
|
/* 02495F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 02495F28 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495F28 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02495F28 */ if (_t14) goto L_02495F60; else goto L_02495F2C;
|
|
L_02495F2C: ; // 0x2495f2c
|
|
/* 02495F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02495F30 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495F30 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02495F30 */ if (_t16) goto L_02495F60; else goto L_02495F34;
|
|
L_02495F34: ; // 0x2495f34
|
|
/* 02495F34 */ cpu->r[30] = 0x00000000u;
|
|
/* 02495F38 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02495F38 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02495F3C */ cpu->r[4] = cpu->r[30];
|
|
/* 02495F40 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02495F40 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02495F44 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02495F48 */ _t19 = cpu->r[31] + 0x000001FCu;
|
|
/* 02495F48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02495F4C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495F4C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02495F50 */ Gambit_fn_024F2540(cpu);
|
|
/* 02495F54 */ cpu->r[0] = 0x00000001u;
|
|
/* 02495F58 */ _t21 = cpu->r[31] + 0x00000200u;
|
|
/* 02495F58 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02495F5C */ _t22 = cpu->r[31] + 0x00000201u;
|
|
/* 02495F5C */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]);
|
|
L_02495F60: ; // 0x2495f60
|
|
/* 02495F60 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02495F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02495F64 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02495F64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02495F68 */ cpu->lr = cpu->r[0];
|
|
/* 02495F6C */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495F6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02495F70 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02495F74 */ return;
|
|
}
|
|
|
|
// fn_02495EE0 @ 0x2495ee0
|
|
void Gambit_fn_02495EE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02495EE0: ; // 0x2495ee0
|
|
/* 02495EE0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02495EE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02495EE0 */ cpu->r[1] = _t0;
|
|
/* 02495EE4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495EE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02495EE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02495EEC */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02495EEC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02495EF0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02495EF4 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02495EF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02495EF8 */ _t4 = cpu->r[3] + 0x00006000u;
|
|
/* 02495EF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02495EFC */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02495EFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02495F00 */ _t6 = cpu->r[12] + 0x00000154u;
|
|
/* 02495F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02495F04 */ cpu->ctr = cpu->r[0];
|
|
/* 02495F08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02495F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02495F10 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495F10 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02495F10 */ if (_t8) goto L_02495F60; else goto L_02495F14;
|
|
L_02495F14: ; // 0x2495f14
|
|
/* 02495F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 02495F18 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495F18 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02495F18 */ if (_t10) goto L_02495F60; else goto L_02495F1C;
|
|
L_02495F1C: ; // 0x2495f1c
|
|
/* 02495F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000008u);
|
|
/* 02495F20 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495F20 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02495F20 */ if (_t12) goto L_02495F60; else goto L_02495F24;
|
|
L_02495F24: ; // 0x2495f24
|
|
/* 02495F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 02495F28 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495F28 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02495F28 */ if (_t14) goto L_02495F60; else goto L_02495F2C;
|
|
L_02495F2C: ; // 0x2495f2c
|
|
/* 02495F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02495F30 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495F30 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02495F30 */ if (_t16) goto L_02495F60; else goto L_02495F34;
|
|
L_02495F34: ; // 0x2495f34
|
|
/* 02495F34 */ cpu->r[30] = 0x00000000u;
|
|
/* 02495F38 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02495F38 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02495F3C */ cpu->r[4] = cpu->r[30];
|
|
/* 02495F40 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02495F40 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02495F44 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02495F48 */ _t19 = cpu->r[31] + 0x000001FCu;
|
|
/* 02495F48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02495F4C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495F4C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02495F50 */ Gambit_fn_024F2540(cpu);
|
|
/* 02495F54 */ cpu->r[0] = 0x00000001u;
|
|
/* 02495F58 */ _t21 = cpu->r[31] + 0x00000200u;
|
|
/* 02495F58 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02495F5C */ _t22 = cpu->r[31] + 0x00000201u;
|
|
/* 02495F5C */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]);
|
|
L_02495F60: ; // 0x2495f60
|
|
/* 02495F60 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02495F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02495F64 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02495F64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02495F68 */ cpu->lr = cpu->r[0];
|
|
/* 02495F6C */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02495F6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02495F70 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02495F74 */ return;
|
|
}
|
|
|
|
// fn_02495F78 @ 0x2495f78
|
|
void Gambit_fn_02495F78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02495F78: ; // 0x2495f78
|
|
/* 02495F78 */ _t0 = cpu->r[3] + 0x000001C0u;
|
|
/* 02495F78 */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02495F7C */ /* nop */
|
|
/* 02495F80 */ cpu->r[0] = 0x00000001u;
|
|
/* 02495F84 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495F84 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02495F84 */ if (_t2) goto L_02495F94; else goto L_02495F88;
|
|
L_02495F88: ; // 0x2495f88
|
|
/* 02495F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02495F8C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495F8C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02495F8C */ if (_t4) goto L_02495F94; else goto L_02495F90;
|
|
L_02495F90: ; // 0x2495f90
|
|
/* 02495F90 */ cpu->r[0] = 0x00000000u;
|
|
L_02495F94: ; // 0x2495f94
|
|
/* 02495F94 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02495F98 */ return;
|
|
}
|
|
|
|
// fn_02495F9C @ 0x2495f9c
|
|
void Gambit_fn_02495F9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02495F9C: ; // 0x2495f9c
|
|
/* 02495F9C */ cpu->r[0] = cpu->lr;
|
|
/* 02495FA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02495FA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02495FA0 */ cpu->r[1] = _t0;
|
|
/* 02495FA4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495FA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02495FA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02495FAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02495FAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02495FB0 */ Gambit_fn_02495EA8(cpu);
|
|
/* 02495FB4 */ Gambit_fn_02495EB8(cpu);
|
|
/* 02495FB8 */ _t3 = cpu->r[31] + 0x00000200u;
|
|
/* 02495FB8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02495FBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02495FC0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495FC0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02495FC0 */ if (_t5) goto L_02495FD8; else goto L_02495FC4;
|
|
L_02495FC4: ; // 0x2495fc4
|
|
/* 02495FC4 */ _t6 = cpu->r[31] + 0x00000201u;
|
|
/* 02495FC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02495FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02495FCC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495FCC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02495FCC */ if (_t8) goto L_02495FD0; else goto L_02495FD8;
|
|
L_02495FD0: ; // 0x2495fd0
|
|
/* 02495FD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495FD4 */ Gambit_fn_02495EDC(cpu);
|
|
L_02495FD8: ; // 0x2495fd8
|
|
/* 02495FD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495FDC */ Gambit_fn_02495F78(cpu);
|
|
/* 02495FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02495FE4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495FE4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02495FE4 */ if (_t10) goto L_02496000; else goto L_02495FE8;
|
|
L_02495FE8: ; // 0x2495fe8
|
|
/* 02495FE8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02495FEC */ _t11 = cpu->r[3] + 0x00005B90u;
|
|
/* 02495FEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02495FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02495FF4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495FF4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02495FF4 */ if (_t13) goto L_02496000; else goto L_02495FF8;
|
|
L_02495FF8: ; // 0x2495ff8
|
|
/* 02495FF8 */ cpu->r[4] = cpu->r[31] + 0x000001B0u;
|
|
/* 02495FFC */ Gambit_fn_02399E98(cpu);
|
|
L_02496000: ; // 0x2496000
|
|
/* 02496000 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02496000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02496004 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496004 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02496008 */ cpu->lr = cpu->r[0];
|
|
/* 0249600C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02496010 */ return;
|
|
}
|
|
|
|
// fn_02495FA0 @ 0x2495fa0
|
|
void Gambit_fn_02495FA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02495FA0: ; // 0x2495fa0
|
|
/* 02495FA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02495FA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02495FA0 */ cpu->r[1] = _t0;
|
|
/* 02495FA4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02495FA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02495FA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02495FAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02495FAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02495FB0 */ Gambit_fn_02495EA8(cpu);
|
|
/* 02495FB4 */ Gambit_fn_02495EB8(cpu);
|
|
/* 02495FB8 */ _t3 = cpu->r[31] + 0x00000200u;
|
|
/* 02495FB8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02495FBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02495FC0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495FC0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02495FC0 */ if (_t5) goto L_02495FD8; else goto L_02495FC4;
|
|
L_02495FC4: ; // 0x2495fc4
|
|
/* 02495FC4 */ _t6 = cpu->r[31] + 0x00000201u;
|
|
/* 02495FC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02495FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02495FCC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495FCC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02495FCC */ if (_t8) goto L_02495FD0; else goto L_02495FD8;
|
|
L_02495FD0: ; // 0x2495fd0
|
|
/* 02495FD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495FD4 */ Gambit_fn_02495EDC(cpu);
|
|
L_02495FD8: ; // 0x2495fd8
|
|
/* 02495FD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02495FDC */ Gambit_fn_02495F78(cpu);
|
|
/* 02495FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02495FE4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495FE4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02495FE4 */ if (_t10) goto L_02496000; else goto L_02495FE8;
|
|
L_02495FE8: ; // 0x2495fe8
|
|
/* 02495FE8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02495FEC */ _t11 = cpu->r[3] + 0x00005B90u;
|
|
/* 02495FEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02495FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02495FF4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02495FF4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02495FF4 */ if (_t13) goto L_02496000; else goto L_02495FF8;
|
|
L_02495FF8: ; // 0x2495ff8
|
|
/* 02495FF8 */ cpu->r[4] = cpu->r[31] + 0x000001B0u;
|
|
/* 02495FFC */ Gambit_fn_02399E98(cpu);
|
|
L_02496000: ; // 0x2496000
|
|
/* 02496000 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02496000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02496004 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496004 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02496008 */ cpu->lr = cpu->r[0];
|
|
/* 0249600C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02496010 */ return;
|
|
}
|
|
|
|
// fn_02496014 @ 0x2496014
|
|
void Gambit_fn_02496014(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131;
|
|
double _ft48, _ft49;
|
|
|
|
L_02496014: ; // 0x2496014
|
|
/* 02496014 */ _t0 = cpu->r[1] + 0xFFFFFEC8u;
|
|
/* 02496014 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02496014 */ cpu->r[1] = _t0;
|
|
/* 02496018 */ /* nop */
|
|
/* 0249601C */ cpu->r[0] = cpu->lr;
|
|
/* 02496020 */ _t1 = cpu->r[1] + 0x00000128u;
|
|
/* 02496020 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02496024 */ /* nop */
|
|
/* 02496028 */ _t2 = cpu->r[1] + 0x00000130u;
|
|
/* 02496028 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0249602C */ _t3 = cpu->r[1] + 0x0000013Cu;
|
|
/* 0249602C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02496030 */ cpu->r[29] = cpu->r[4];
|
|
/* 02496034 */ cpu->r[31] = cpu->r[3];
|
|
/* 02496038 */ _t4 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02496038 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249603C */ _t5 = cpu->r[29] + 0x00000004u;
|
|
/* 0249603C */ cpu->r[27] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02496040 */ _t6 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02496040 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02496044 */ _t7 = cpu->r[27] + 0x00000254u;
|
|
/* 02496044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02496048 */ cpu->ctr = cpu->r[0];
|
|
/* 0249604C */ cpu->r[3] = cpu->r[29];
|
|
/* 02496050 */ cpu->r[30] = cpu->r[5];
|
|
/* 02496054 */ cpu->r[28] = 0x00000000u;
|
|
/* 02496058 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249605C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0249605C */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 02496060 */ _t9 = cpu->r[27] + 0x0000024Cu;
|
|
/* 02496060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02496064 */ cpu->r[9] = cpu->r[28];
|
|
/* 02496068 */ cpu->r[6] = cpu->r[3];
|
|
/* 0249606C */ cpu->ctr = cpu->r[0];
|
|
/* 02496070 */ cpu->r[7] = 0x0000000Bu;
|
|
/* 02496074 */ cpu->r[8] = cpu->r[1] + 0x0000004Cu;
|
|
/* 02496078 */ cpu->r[10] = cpu->r[9];
|
|
/* 0249607C */ cpu->r[5] = cpu->r[1] + 0x000000C8u;
|
|
/* 02496080 */ cpu->r[4] = cpu->r[31];
|
|
/* 02496084 */ cpu->r[3] = cpu->r[29];
|
|
/* 02496088 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249608C */ _t10 = cpu->r[1] + 0x00000050u;
|
|
/* 0249608C */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 02496090 */ cpu->r[9] = 0x100B0000u;
|
|
/* 02496094 */ _t11 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02496094 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 02496098 */ cpu->r[9] = cpu->r[9] + 0xFFFFA7C8u;
|
|
/* 0249609C */ _t12 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0249609C */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 024960A0 */ cpu->r[0] = 0x100B0000u;
|
|
/* 024960A4 */ _t13 = cpu->r[1] + 0x00000098u;
|
|
/* 024960A4 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 024960A8 */ _t14 = cpu->r[1] + 0x00000054u;
|
|
/* 024960A8 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 024960AC */ _t15 = cpu->r[1] + 0x00000090u;
|
|
/* 024960AC */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 024960B0 */ cpu->r[29] = 0x100B0000u;
|
|
/* 024960B4 */ cpu->r[0] = cpu->r[0] + 0xFFFFA7D8u;
|
|
/* 024960B8 */ cpu->r[29] = cpu->r[29] + 0xFFFFA91Cu;
|
|
/* 024960BC */ _t16 = cpu->r[1] + 0x00000058u;
|
|
/* 024960BC */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 024960C0 */ cpu->r[5] = cpu->r[29];
|
|
/* 024960C4 */ _t17 = cpu->r[31] + 0x00000030u;
|
|
/* 024960C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 024960C8 */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 024960CC */ _t18 = cpu->r[1] + 0x000000A0u;
|
|
/* 024960CC */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 024960D0 */ cpu->r[6] = cpu->r[28];
|
|
/* 024960D4 */ _t19 = cpu->r[1] + 0x00000094u;
|
|
/* 024960D4 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 024960D8 */ Gambit_fn_027B72F0(cpu);
|
|
/* 024960DC */ _t20 = cpu->r[31] + 0x00000030u;
|
|
/* 024960DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 024960E0 */ _t21 = cpu->r[3] + 0x000000E0u;
|
|
/* 024960E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 024960E4 */ _t22 = cpu->r[6] + 0x0000003Cu;
|
|
/* 024960E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 024960E8 */ cpu->ctr = cpu->r[7];
|
|
/* 024960EC */ cpu->r[6] = cpu->r[28];
|
|
/* 024960F0 */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 024960F4 */ cpu->r[5] = cpu->r[29];
|
|
/* 024960F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024960FC */ _t23 = cpu->r[31] + 0x00000030u;
|
|
/* 024960FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02496100 */ _t24 = cpu->r[3] + 0x000000E0u;
|
|
/* 02496100 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02496104 */ _t25 = cpu->r[11] + 0x0000003Cu;
|
|
/* 02496104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02496108 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249610C */ cpu->ctr = cpu->r[0];
|
|
/* 02496110 */ cpu->r[5] = cpu->r[5] + 0xFFFFA924u;
|
|
/* 02496114 */ cpu->r[6] = 0x00000000u;
|
|
/* 02496118 */ cpu->r[4] = cpu->r[1] + 0x00000098u;
|
|
/* 0249611C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02496120 */ cpu->r[11] = 0x00000003u;
|
|
/* 02496124 */ cpu->r[6] = 0x101E0000u;
|
|
/* 02496128 */ cpu->r[8] = cpu->r[1] + 0x00000058u;
|
|
/* 0249612C */ cpu->ctr = cpu->r[11];
|
|
/* 02496130 */ cpu->r[6] = cpu->r[6] + 0xFFFF96F8u;
|
|
L_02496134: ; // 0x2496134
|
|
/* 02496134 */ _t26 = cpu->r[6] + 0x00000004u;
|
|
/* 02496134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02496138 */ _t27 = cpu->r[8] + 0x00000004u;
|
|
/* 02496138 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 0249613C */ _t28 = cpu->r[6] + 0x00000008u;
|
|
/* 0249613C */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02496140 */ _t29 = cpu->r[8] + 0x00000008u;
|
|
/* 02496140 */ rbrew_write32(cpu->mem, _t29, cpu->r[7]);
|
|
/* 02496144 */ _t30 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02496144 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02496148 */ _t31 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02496148 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 0249614C */ _t32 = cpu->r[6] + 0x00000010u;
|
|
/* 0249614C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0249614C */ cpu->r[6] = _t32;
|
|
/* 02496150 */ _t33 = cpu->r[8] + 0x00000010u;
|
|
/* 02496150 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02496150 */ cpu->r[8] = _t33;
|
|
/* 02496154 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02496154 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02496154 */ _t35 = _t34 >> (0x00000002u & 31u);
|
|
/* 02496154 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02496154 */ if (_t36) goto L_02496134; else goto L_02496158;
|
|
L_02496158: ; // 0x2496158
|
|
/* 02496158 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 0249615C */ cpu->r[4] = cpu->r[30];
|
|
/* 02496160 */ cpu->r[5] = cpu->r[1] + 0x000000D8u;
|
|
/* 02496164 */ Gambit_fn_02C692EC(cpu);
|
|
/* 02496168 */ /* nop */
|
|
/* 0249616C */ /* nop */
|
|
/* 02496170 */ _t37 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02496170 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02496174 */ /* nop */
|
|
/* 02496178 */ /* nop */
|
|
/* 0249617C */ _t38 = cpu->r[30] + 0x00000008u;
|
|
/* 0249617C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02496180 */ cpu->r[6] = 0x100B0000u;
|
|
/* 02496184 */ cpu->f[0] = fma(cpu->f[12], cpu->f[13], cpu->f[10]);
|
|
/* 02496188 */ _t39 = cpu->r[6] + 0xFFFFA8BCu;
|
|
/* 02496188 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 0249618C */ cpu->r[12] = 0x100B0000u;
|
|
/* 02496190 */ cpu->f[11] = cpu->f[0] + cpu->f[31];
|
|
/* 02496194 */ _t40 = cpu->r[12] + 0xFFFFA8A8u;
|
|
/* 02496194 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02496198 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249619C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 024961A0 */ _t41 = cpu->r[9] + 0xFFFFA8B8u;
|
|
/* 024961A0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 024961A4 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024961A4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 024961A4 */ if (_t43) goto L_024961A8; else goto L_02496200;
|
|
L_024961A8: ; // 0x24961a8
|
|
/* 024961A8 */ cpu->f[8] = cpu->f[11] + cpu->f[11];
|
|
/* 024961AC */ cpu->r[6] = 0x100B0000u;
|
|
/* 024961B0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[12]);
|
|
/* 024961B4 */ _t44 = cpu->r[6] + 0xFFFFA8A0u;
|
|
/* 024961B4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 024961B8 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024961B8 */ _t46 = _t45 & 0x00000001u;
|
|
/* 024961B8 */ if (_t46) goto L_024961BC; else goto L_024961D8;
|
|
L_024961BC: ; // 0x24961bc
|
|
/* 024961BC */ cpu->r[10] = 0x100B0000u;
|
|
/* 024961C0 */ _t47 = cpu->r[10] + 0xFFFFA918u;
|
|
/* 024961C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 024961C4 */ _ft48 = sqrt(cpu->f[8]);
|
|
/* 024961C4 */ _ft49 = (double)(int32_t)0x00000001u;
|
|
/* 024961C4 */ cpu->f[12] = _ft49 / _ft48;
|
|
/* 024961C8 */ cpu->f[10] = cpu->f[12] * cpu->f[12];
|
|
/* 024961CC */ cpu->f[0] = cpu->f[12] * cpu->f[11];
|
|
/* 024961D0 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[8], -(cpu->f[13]));
|
|
/* 024961D4 */ cpu->f[12] = cpu->f[10] * cpu->f[0];
|
|
L_024961D8: ; // 0x24961d8
|
|
/* 024961D8 */ _t50 = cpu->r[1] + 0x000000E0u;
|
|
/* 024961D8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 024961DC */ cpu->f[10] = cpu->f[8] * cpu->f[12];
|
|
/* 024961E0 */ /* nop */
|
|
/* 024961E4 */ cpu->f[0] = cpu->f[9] * cpu->f[12];
|
|
/* 024961E8 */ /* nop */
|
|
/* 024961EC */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 024961EC */ rbrew_write_f32(cpu->mem, _t51, cpu->f[0]);
|
|
/* 024961F0 */ cpu->f[12] = cpu->f[10] * cpu->f[11];
|
|
/* 024961F4 */ /* nop */
|
|
/* 024961F8 */ _t52 = cpu->r[1] + 0x00000018u;
|
|
/* 024961F8 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[12]);
|
|
/* 024961FC */ goto L_02496210;
|
|
L_02496200: ; // 0x2496200
|
|
/* 02496200 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496200 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[12]);
|
|
/* 02496204 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02496204 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[12]);
|
|
/* 02496208 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 02496208 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[12]);
|
|
/* 0249620C */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 0249620C */ rbrew_write_f32(cpu->mem, _t56, cpu->f[31]);
|
|
L_02496210: ; // 0x2496210
|
|
/* 02496210 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496214 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02496218 */ Gambit_fn_0204D960(cpu);
|
|
/* 0249621C */ _t57 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0249621C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02496220 */ /* nop */
|
|
/* 02496224 */ _t58 = cpu->r[30] + 0x00000018u;
|
|
/* 02496224 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02496228 */ /* nop */
|
|
/* 0249622C */ _t59 = cpu->r[30] + 0x00000008u;
|
|
/* 0249622C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02496230 */ /* nop */
|
|
/* 02496234 */ _t60 = cpu->r[1] + 0x000000A4u;
|
|
/* 02496234 */ cpu->r[5] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02496238 */ cpu->f[9] = cpu->f[10] * cpu->f[12];
|
|
/* 0249623C */ _t61 = cpu->r[1] + 0x000000A8u;
|
|
/* 0249623C */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02496240 */ _t62 = cpu->r[1] + 0x000000CCu;
|
|
/* 02496240 */ rbrew_write32(cpu->mem, _t62, cpu->r[5]);
|
|
/* 02496244 */ _t63 = cpu->r[1] + 0x000000ACu;
|
|
/* 02496244 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[9]);
|
|
/* 02496248 */ _t64 = cpu->r[1] + 0x000000ACu;
|
|
/* 02496248 */ cpu->r[7] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0249624C */ _t65 = cpu->r[1] + 0x000000D0u;
|
|
/* 0249624C */ rbrew_write32(cpu->mem, _t65, cpu->r[6]);
|
|
/* 02496250 */ /* nop */
|
|
/* 02496254 */ /* nop */
|
|
/* 02496258 */ _t66 = cpu->r[1] + 0x000000D4u;
|
|
/* 02496258 */ rbrew_write32(cpu->mem, _t66, cpu->r[7]);
|
|
/* 0249625C */ _t67 = cpu->r[1] + 0x000000D4u;
|
|
/* 0249625C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02496260 */ /* nop */
|
|
/* 02496264 */ _t68 = cpu->r[1] + 0x00000068u;
|
|
/* 02496264 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02496268 */ /* nop */
|
|
/* 0249626C */ _t69 = cpu->r[1] + 0x000000B0u;
|
|
/* 0249626C */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02496270 */ _t70 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02496270 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 02496274 */ _t71 = cpu->r[1] + 0x000000B4u;
|
|
/* 02496274 */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02496278 */ cpu->f[10] = cpu->f[11] + cpu->f[12];
|
|
/* 0249627C */ _t72 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249627C */ rbrew_write_f32(cpu->mem, _t72, cpu->f[13]);
|
|
/* 02496280 */ _t73 = cpu->r[1] + 0x000000C0u;
|
|
/* 02496280 */ rbrew_write32(cpu->mem, _t73, cpu->r[11]);
|
|
/* 02496284 */ _t74 = cpu->r[1] + 0x000000C0u;
|
|
/* 02496284 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 02496288 */ _t75 = cpu->r[1] + 0x000000B8u;
|
|
/* 02496288 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[10]);
|
|
/* 0249628C */ _t76 = cpu->r[1] + 0x000000B8u;
|
|
/* 0249628C */ cpu->r[12] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02496290 */ _t77 = cpu->r[1] + 0x00000074u;
|
|
/* 02496290 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02496294 */ _t78 = cpu->r[1] + 0x000000BCu;
|
|
/* 02496294 */ rbrew_write32(cpu->mem, _t78, cpu->r[10]);
|
|
/* 02496298 */ _t79 = cpu->r[1] + 0x000000BCu;
|
|
/* 02496298 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 0249629C */ _t80 = cpu->r[1] + 0x00000020u;
|
|
/* 0249629C */ rbrew_write_f32(cpu->mem, _t80, cpu->f[0]);
|
|
/* 024962A0 */ _t81 = cpu->r[1] + 0x00000064u;
|
|
/* 024962A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 024962A4 */ _t82 = cpu->r[1] + 0x000000C4u;
|
|
/* 024962A4 */ rbrew_write32(cpu->mem, _t82, cpu->r[12]);
|
|
/* 024962A8 */ _t83 = cpu->r[1] + 0x000000C4u;
|
|
/* 024962A8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 024962AC */ _t84 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024962AC */ rbrew_write_f32(cpu->mem, _t84, cpu->f[0]);
|
|
/* 024962B0 */ _t85 = cpu->r[1] + 0x0000006Cu;
|
|
/* 024962B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 024962B4 */ _t86 = cpu->r[1] + 0x00000048u;
|
|
/* 024962B4 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[6]);
|
|
/* 024962B8 */ _t87 = cpu->r[1] + 0x00000030u;
|
|
/* 024962B8 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[12]);
|
|
/* 024962BC */ _t88 = cpu->r[1] + 0x00000078u;
|
|
/* 024962BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 024962C0 */ _t89 = cpu->r[1] + 0x00000070u;
|
|
/* 024962C0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 024962C4 */ _t90 = cpu->r[1] + 0x00000034u;
|
|
/* 024962C4 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[13]);
|
|
/* 024962C8 */ _t91 = cpu->r[1] + 0x00000040u;
|
|
/* 024962C8 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[9]);
|
|
/* 024962CC */ _t92 = cpu->r[1] + 0x00000060u;
|
|
/* 024962CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 024962D0 */ _t93 = cpu->r[1] + 0x00000038u;
|
|
/* 024962D0 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[7]);
|
|
/* 024962D4 */ _t94 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024962D4 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[11]);
|
|
/* 024962D8 */ cpu->r[10] = cpu->r[1] + 0x000000E0u;
|
|
/* 024962DC */ _t95 = cpu->r[1] + 0x00000028u;
|
|
/* 024962DC */ rbrew_write_f32(cpu->mem, _t95, cpu->f[8]);
|
|
/* 024962E0 */ _t96 = cpu->r[1] + 0x00000024u;
|
|
/* 024962E0 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[10]);
|
|
/* 024962E4 */ _t97 = cpu->r[1] + 0x0000007Cu;
|
|
/* 024962E4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 024962E8 */ _t98 = cpu->r[1] + 0x00000084u;
|
|
/* 024962E8 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[7]);
|
|
/* 024962EC */ cpu->r[8] = cpu->r[1] + 0x00000018u;
|
|
/* 024962F0 */ _t99 = cpu->r[1] + 0x00000044u;
|
|
/* 024962F0 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[10]);
|
|
/* 024962F4 */ cpu->r[12] = 0x00000003u;
|
|
/* 024962F8 */ _t100 = cpu->r[1] + 0x00000088u;
|
|
/* 024962F8 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[6]);
|
|
/* 024962FC */ cpu->ctr = cpu->r[12];
|
|
/* 02496300 */ _t101 = cpu->r[1] + 0x00000080u;
|
|
/* 02496300 */ rbrew_write_f32(cpu->mem, _t101, cpu->f[8]);
|
|
L_02496304: ; // 0x2496304
|
|
/* 02496304 */ _t102 = cpu->r[8] + 0x00000004u;
|
|
/* 02496304 */ cpu->r[5] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02496308 */ _t103 = cpu->r[10] + 0x00000004u;
|
|
/* 02496308 */ rbrew_write32(cpu->mem, _t103, cpu->r[5]);
|
|
/* 0249630C */ _t104 = cpu->r[8] + 0x00000008u;
|
|
/* 0249630C */ cpu->r[7] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02496310 */ _t105 = cpu->r[10] + 0x00000008u;
|
|
/* 02496310 */ rbrew_write32(cpu->mem, _t105, cpu->r[7]);
|
|
/* 02496314 */ _t106 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02496314 */ cpu->r[9] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02496318 */ _t107 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02496318 */ rbrew_write32(cpu->mem, _t107, cpu->r[9]);
|
|
/* 0249631C */ _t108 = cpu->r[8] + 0x00000010u;
|
|
/* 0249631C */ cpu->r[12] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0249631C */ cpu->r[8] = _t108;
|
|
/* 02496320 */ _t109 = cpu->r[10] + 0x00000010u;
|
|
/* 02496320 */ rbrew_write32(cpu->mem, _t109, cpu->r[12]);
|
|
/* 02496320 */ cpu->r[10] = _t109;
|
|
/* 02496324 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02496324 */ _t110 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02496324 */ _t111 = _t110 >> (0x00000002u & 31u);
|
|
/* 02496324 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02496324 */ if (_t112) goto L_02496304; else goto L_02496328;
|
|
L_02496328: ; // 0x2496328
|
|
/* 02496328 */ _t113 = cpu->r[1] + 0x00000050u;
|
|
/* 02496328 */ cpu->r[30] = rbrew_read32(cpu->mem, _t113);
|
|
/* 0249632C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02496330 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496330 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02496330 */ if (_t115) goto L_02496368; else goto L_02496334;
|
|
L_02496334: ; // 0x2496334
|
|
/* 02496334 */ _t116 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02496334 */ cpu->r[5] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02496338 */ _t117 = cpu->r[1] + 0x00000054u;
|
|
/* 02496338 */ cpu->r[8] = rbrew_read32(cpu->mem, _t117);
|
|
/* 0249633C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02496340 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496340 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02496340 */ if (_t119) goto L_02496344; else goto L_02496368;
|
|
L_02496344: ; // 0x2496344
|
|
/* 02496344 */ cpu->r[3] = cpu->r[1] + 0x000000E4u;
|
|
/* 02496348 */ cpu->r[4] = cpu->r[30] + 0x0000007Cu;
|
|
/* 0249634C */ Gambit_fn_02C69510(cpu);
|
|
/* 02496350 */ _t120 = cpu->r[30] + 0x0000012Cu;
|
|
/* 02496350 */ cpu->r[5] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02496354 */ _t121 = cpu->r[30] + 0x00000074u;
|
|
/* 02496354 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[31]);
|
|
/* 02496358 */ cpu->r[5] = cpu->r[5] | 0x00000008u;
|
|
/* 0249635C */ _t122 = cpu->r[30] + 0x00000070u;
|
|
/* 0249635C */ rbrew_write_f32(cpu->mem, _t122, cpu->f[31]);
|
|
/* 02496360 */ _t123 = cpu->r[30] + 0x0000012Cu;
|
|
/* 02496360 */ rbrew_write32(cpu->mem, _t123, cpu->r[5]);
|
|
/* 02496364 */ _t124 = cpu->r[30] + 0x00000078u;
|
|
/* 02496364 */ rbrew_write_f32(cpu->mem, _t124, cpu->f[31]);
|
|
L_02496368: ; // 0x2496368
|
|
/* 02496368 */ cpu->r[3] = cpu->r[1] + 0x0000008Cu;
|
|
/* 0249636C */ cpu->r[4] = cpu->r[1] + 0x00000080u;
|
|
/* 02496370 */ Gambit_fn_028B30F0(cpu);
|
|
/* 02496374 */ cpu->r[3] = cpu->r[1] + 0x00000098u;
|
|
/* 02496378 */ cpu->r[4] = cpu->r[1] + 0x00000080u;
|
|
/* 0249637C */ Gambit_fn_028B30F0(cpu);
|
|
/* 02496380 */ _t125 = cpu->r[31] + 0x00000198u;
|
|
/* 02496380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02496384 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 02496388 */ _t126 = cpu->r[31] + 0x00000198u;
|
|
/* 02496388 */ rbrew_write32(cpu->mem, _t126, cpu->r[0]);
|
|
/* 0249638C */ /* nop */
|
|
/* 02496390 */ _t127 = cpu->r[1] + 0x00000130u;
|
|
/* 02496390 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 02496394 */ _t128 = cpu->r[1] + 0x00000128u;
|
|
/* 02496394 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t128);
|
|
/* 02496398 */ _t129 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02496398 */ _t130 = _t129 & 0x00000001u;
|
|
/* 02496398 */ if (_t130) goto L_0249639C; // else: addr-0 trap, fall-through
|
|
L_0249639C: ; // 0x249639c
|
|
/* 0249639C */ _t131 = cpu->r[1] + 0x0000013Cu;
|
|
/* 0249639C */ cpu->r[0] = rbrew_read32(cpu->mem, _t131);
|
|
/* 024963A0 */ cpu->lr = cpu->r[0];
|
|
/* 024963A4 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 024963A8 */ return;
|
|
}
|
|
|
|
// fn_024963AC @ 0x24963ac
|
|
void Gambit_fn_024963AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_024963AC: ; // 0x24963ac
|
|
/* 024963AC */ _t0 = cpu->r[1] + 0xFFFFFF20u;
|
|
/* 024963AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024963AC */ cpu->r[1] = _t0;
|
|
/* 024963B0 */ /* nop */
|
|
/* 024963B4 */ cpu->r[0] = cpu->lr;
|
|
/* 024963B8 */ _t1 = cpu->r[1] + 0x000000B0u;
|
|
/* 024963B8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 024963BC */ _t2 = cpu->r[1] + 0x000000C0u;
|
|
/* 024963BC */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 024963C0 */ /* nop */
|
|
/* 024963C4 */ _t3 = cpu->r[1] + 0x000000B8u;
|
|
/* 024963C4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
|
|
/* 024963C8 */ /* nop */
|
|
/* 024963CC */ _t4 = cpu->r[1] + 0x000000E4u;
|
|
/* 024963CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 024963D0 */ _t5 = cpu->r[1] + 0x000000D0u;
|
|
/* 024963D0 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 024963D4 */ _t6 = cpu->r[1] + 0x000000C8u;
|
|
/* 024963D4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 024963D8 */ /* nop */
|
|
/* 024963DC */ _t7 = cpu->r[1] + 0x000000D8u;
|
|
/* 024963DC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 024963E0 */ cpu->r[27] = cpu->r[3];
|
|
/* 024963E4 */ _t8 = cpu->r[27] + 0x000001ECu;
|
|
/* 024963E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024963E8 */ _t9 = cpu->r[27] + 0x000001F0u;
|
|
/* 024963E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024963EC */ Gambit_fn_02032EA4(cpu);
|
|
/* 024963F0 */ cpu->r[31] = 0x101C0000u;
|
|
/* 024963F4 */ _t10 = cpu->r[27] + 0x000001ECu;
|
|
/* 024963F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024963F8 */ _t11 = cpu->r[31] + 0x00004FA8u;
|
|
/* 024963F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024963F8 */ cpu->r[31] = _t11;
|
|
/* 024963FC */ _t12 = cpu->r[11] + 0x00000118u;
|
|
/* 024963FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02496400 */ /* nop */
|
|
/* 02496404 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02496404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02496408 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496408 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02496408 */ if (_t14) goto L_0249659C; else goto L_0249640C;
|
|
L_0249640C: ; // 0x249640c
|
|
/* 0249640C */ cpu->r[30] = 0x101F0000u;
|
|
/* 02496410 */ cpu->r[4] = 0x10110000u;
|
|
/* 02496414 */ _t15 = cpu->r[30] + 0x00003840u;
|
|
/* 02496414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02496414 */ cpu->r[30] = _t15;
|
|
/* 02496418 */ cpu->r[4] = cpu->r[4] + 0xFFFFEFACu;
|
|
/* 0249641C */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 0249641C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02496420 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02496424 */ _t17 = cpu->r[1] + 0x00000058u;
|
|
/* 02496424 */ rbrew_write32(cpu->mem, _t17, cpu->r[4]);
|
|
/* 02496428 */ cpu->r[12] = cpu->r[1] + 0x00000064u;
|
|
/* 0249642C */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 0249642C */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02496430 */ cpu->r[11] = cpu->r[11] + 0x000037D8u;
|
|
/* 02496434 */ _t19 = cpu->r[30] + 0x00000008u;
|
|
/* 02496434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02496438 */ cpu->r[7] = 0x00000003u;
|
|
/* 0249643C */ _t20 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0249643C */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 02496440 */ cpu->ctr = cpu->r[7];
|
|
/* 02496444 */ _t21 = cpu->r[1] + 0x00000064u;
|
|
/* 02496444 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_02496448: ; // 0x2496448
|
|
/* 02496448 */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 02496448 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0249644C */ _t23 = cpu->r[12] + 0x00000004u;
|
|
/* 0249644C */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 02496450 */ _t24 = cpu->r[11] + 0x00000008u;
|
|
/* 02496450 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02496454 */ _t25 = cpu->r[12] + 0x00000008u;
|
|
/* 02496454 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
|
|
/* 02496458 */ _t26 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02496458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02496458 */ cpu->r[11] = _t26;
|
|
/* 0249645C */ _t27 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0249645C */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 0249645C */ cpu->r[12] = _t27;
|
|
/* 02496460 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02496460 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02496460 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 02496460 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02496460 */ if (_t30) goto L_02496448; else goto L_02496464;
|
|
L_02496464: ; // 0x2496464
|
|
/* 02496464 */ _t31 = cpu->r[30] + 0x00000008u;
|
|
/* 02496464 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02496468 */ cpu->r[3] = cpu->r[27];
|
|
/* 0249646C */ _t32 = cpu->r[30] + 0x00000004u;
|
|
/* 0249646C */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02496470 */ _t33 = cpu->r[1] + 0x00000094u;
|
|
/* 02496470 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 02496474 */ _t34 = cpu->r[30] + 0x00000000u;
|
|
/* 02496474 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02496478 */ _t35 = cpu->r[1] + 0x00000090u;
|
|
/* 02496478 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 0249647C */ cpu->r[4] = cpu->r[1] + 0x00000058u;
|
|
/* 02496480 */ _t36 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02496480 */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
|
|
/* 02496484 */ Gambit_fn_02494E74(cpu);
|
|
/* 02496488 */ cpu->r[29] = 0x10110000u;
|
|
/* 0249648C */ cpu->r[6] = 0x100B0000u;
|
|
/* 02496490 */ cpu->r[29] = cpu->r[29] + 0xFFFFEF4Cu;
|
|
/* 02496494 */ cpu->r[28] = 0x10110000u;
|
|
/* 02496498 */ _t37 = cpu->r[6] + 0xFFFFA8B8u;
|
|
/* 02496498 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 0249649C */ cpu->r[28] = cpu->r[28] + 0xFFFFEF7Cu;
|
|
L_024964A0: ; // 0x24964a0
|
|
/* 024964A0 */ cpu->f[30] = cpu->f[31];
|
|
L_024964A4: ; // 0x24964a4
|
|
/* 024964A4 */ cpu->f[29] = cpu->f[30];
|
|
L_024964A8: ; // 0x24964a8
|
|
/* 024964A8 */ _t38 = cpu->r[27] + 0x000001ECu;
|
|
/* 024964A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 024964AC */ _t39 = cpu->r[31] + 0x00000000u;
|
|
/* 024964AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 024964B0 */ _t40 = cpu->r[4] + 0x00000108u;
|
|
/* 024964B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 024964B4 */ Gambit_fn_02031DAC(cpu);
|
|
/* 024964B8 */ cpu->r[26] = cpu->r[3];
|
|
/* 024964B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 024964BC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024964BC */ _t42 = _t41 & 0x00000001u;
|
|
/* 024964BC */ if (_t42) goto L_0249659C; else goto L_024964C0;
|
|
L_024964C0: ; // 0x24964c0
|
|
/* 024964C0 */ cpu->r[3] = cpu->r[26];
|
|
/* 024964C4 */ Gambit_fn_021BC86C(cpu);
|
|
/* 024964C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 024964CC */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024964CC */ _t44 = _t43 & 0x00000001u;
|
|
/* 024964CC */ if (_t44) goto L_02496540; else goto L_024964D0;
|
|
L_024964D0: ; // 0x24964d0
|
|
/* 024964D0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024964D0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 024964D0 */ if (_t46) goto L_024964D4; else goto L_02496588;
|
|
L_024964D4: ; // 0x24964d4
|
|
/* 024964D4 */ _t47 = cpu->r[30] + 0x00000000u;
|
|
/* 024964D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 024964D8 */ _t48 = cpu->r[30] + 0x00000008u;
|
|
/* 024964D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 024964DC */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024964DC */ rbrew_write32(cpu->mem, _t49, cpu->r[10]);
|
|
/* 024964E0 */ _t50 = cpu->r[30] + 0x00000004u;
|
|
/* 024964E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 024964E4 */ _t51 = cpu->r[1] + 0x00000020u;
|
|
/* 024964E4 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 024964E8 */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 024964E8 */ rbrew_write32(cpu->mem, _t52, cpu->r[12]);
|
|
/* 024964EC */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 024964EC */ rbrew_write32(cpu->mem, _t53, cpu->r[10]);
|
|
/* 024964F0 */ _t54 = cpu->r[1] + 0x00000024u;
|
|
/* 024964F0 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[29]);
|
|
/* 024964F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 024964F8 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024964F8 */ rbrew_write32(cpu->mem, _t55, cpu->r[12]);
|
|
/* 024964FC */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 024964FC */ rbrew_write32(cpu->mem, _t56, cpu->r[28]);
|
|
/* 02496500 */ cpu->r[5] = cpu->r[27] + 0x00000078u;
|
|
/* 02496504 */ cpu->r[3] = cpu->r[26];
|
|
/* 02496508 */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 02496508 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 0249650C */ Gambit_fn_021BC88C(cpu);
|
|
/* 02496510 */ cpu->r[6] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02496514 */ cpu->r[5] = cpu->r[1] + 0x00000058u;
|
|
/* 02496518 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0249651C */ cpu->r[3] = cpu->r[27];
|
|
/* 02496520 */ Gambit_fn_024951C4(cpu);
|
|
/* 02496524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02496528 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496528 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02496528 */ if (_t59) goto L_024964A8; else goto L_0249652C;
|
|
L_0249652C: ; // 0x249652c
|
|
/* 0249652C */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02496530 */ cpu->r[4] = cpu->r[26];
|
|
/* 02496534 */ cpu->r[3] = cpu->r[27];
|
|
/* 02496538 */ Gambit_fn_02496014(cpu);
|
|
/* 0249653C */ goto L_024964A0;
|
|
L_02496540: ; // 0x2496540
|
|
/* 02496540 */ _t60 = cpu->r[30] + 0x00000000u;
|
|
/* 02496540 */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02496544 */ _t61 = cpu->r[30] + 0x00000008u;
|
|
/* 02496544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02496548 */ _t62 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02496548 */ rbrew_write32(cpu->mem, _t62, cpu->r[11]);
|
|
/* 0249654C */ _t63 = cpu->r[1] + 0x00000034u;
|
|
/* 0249654C */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 02496550 */ _t64 = cpu->r[1] + 0x00000038u;
|
|
/* 02496550 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[30]);
|
|
/* 02496554 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02496558 */ _t65 = cpu->r[30] + 0x00000004u;
|
|
/* 02496558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0249655C */ _t66 = cpu->r[1] + 0x00000028u;
|
|
/* 0249655C */ rbrew_write32(cpu->mem, _t66, cpu->r[29]);
|
|
/* 02496560 */ cpu->r[5] = cpu->r[27] + 0x00000078u;
|
|
/* 02496564 */ cpu->r[3] = cpu->r[26];
|
|
/* 02496568 */ _t67 = cpu->r[1] + 0x00000030u;
|
|
/* 02496568 */ rbrew_write32(cpu->mem, _t67, cpu->r[12]);
|
|
/* 0249656C */ Gambit_fn_021BC87C(cpu);
|
|
/* 02496570 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02496574 */ cpu->r[4] = cpu->r[1] + 0x00000058u;
|
|
/* 02496578 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 0249657C */ Gambit_fn_027DEBF0(cpu);
|
|
/* 02496580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02496584 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496584 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02496584 */ if (_t69) goto L_024964A4; else goto L_02496588;
|
|
L_02496588: ; // 0x2496588
|
|
/* 02496588 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 0249658C */ cpu->r[4] = cpu->r[26];
|
|
/* 02496590 */ cpu->r[3] = cpu->r[27];
|
|
/* 02496594 */ Gambit_fn_02496014(cpu);
|
|
/* 02496598 */ goto L_024964A0;
|
|
L_0249659C: ; // 0x249659c
|
|
/* 0249659C */ /* nop */
|
|
/* 024965A0 */ _t70 = cpu->r[1] + 0x000000B8u;
|
|
/* 024965A0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 024965A4 */ _t71 = cpu->r[1] + 0x000000C8u;
|
|
/* 024965A4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 024965A8 */ _t72 = cpu->r[1] + 0x000000B0u;
|
|
/* 024965A8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 024965AC */ _t73 = cpu->r[1] + 0x000000D8u;
|
|
/* 024965AC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 024965B0 */ _t74 = cpu->r[1] + 0x000000C0u;
|
|
/* 024965B0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t74);
|
|
/* 024965B4 */ _t75 = cpu->r[1] + 0x000000D0u;
|
|
/* 024965B4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t75);
|
|
/* 024965B8 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024965B8 */ _t77 = _t76 & 0x00000001u;
|
|
/* 024965B8 */ if (_t77) goto L_024965BC; // else: addr-0 trap, fall-through
|
|
L_024965BC: ; // 0x24965bc
|
|
/* 024965BC */ _t78 = cpu->r[1] + 0x000000E4u;
|
|
/* 024965BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 024965C0 */ cpu->lr = cpu->r[0];
|
|
/* 024965C4 */ cpu->r[1] = cpu->r[1] + 0x000000E0u;
|
|
/* 024965C8 */ return;
|
|
}
|
|
|
|
// fn_024965CC @ 0x24965cc
|
|
void Gambit_fn_024965CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_024965CC: ; // 0x24965cc
|
|
/* 024965CC */ cpu->r[0] = cpu->lr;
|
|
/* 024965D0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 024965D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 024965D4 */ cpu->r[11] = cpu->r[3];
|
|
/* 024965D8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 024965D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 024965D8 */ cpu->r[1] = _t1;
|
|
/* 024965DC */ Gambit_fn_02495F78(cpu);
|
|
/* 024965E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024965E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024965E4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 024965E4 */ if (_t3) goto L_024965F0; else goto L_024965E8;
|
|
L_024965E8: ; // 0x24965e8
|
|
/* 024965E8 */ cpu->r[3] = cpu->r[11];
|
|
/* 024965EC */ Gambit_fn_024963AC(cpu);
|
|
L_024965F0: ; // 0x24965f0
|
|
/* 024965F0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024965F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024965F4 */ cpu->lr = cpu->r[0];
|
|
/* 024965F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 024965FC */ return;
|
|
}
|
|
|
|
// fn_024965D8 @ 0x24965d8
|
|
void Gambit_fn_024965D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_024965D8: ; // 0x24965d8
|
|
/* 024965D8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 024965D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024965D8 */ cpu->r[1] = _t0;
|
|
/* 024965DC */ Gambit_fn_02495F78(cpu);
|
|
/* 024965E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024965E4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024965E4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 024965E4 */ if (_t2) goto L_024965F0; else goto L_024965E8;
|
|
L_024965E8: ; // 0x24965e8
|
|
/* 024965E8 */ cpu->r[3] = cpu->r[11];
|
|
/* 024965EC */ Gambit_fn_024963AC(cpu);
|
|
L_024965F0: ; // 0x24965f0
|
|
/* 024965F0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024965F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 024965F4 */ cpu->lr = cpu->r[0];
|
|
/* 024965F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 024965FC */ return;
|
|
}
|
|
|
|
// fn_02496600 @ 0x2496600
|
|
void Gambit_fn_02496600(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02496600: ; // 0x2496600
|
|
/* 02496600 */ cpu->r[0] = cpu->lr;
|
|
/* 02496604 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02496604 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02496604 */ cpu->r[1] = _t0;
|
|
/* 02496608 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496608 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249660C */ cpu->r[31] = cpu->r[3];
|
|
/* 02496610 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02496610 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02496614 */ Gambit_fn_024F606C(cpu);
|
|
/* 02496618 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249661C */ Gambit_fn_024F607C(cpu);
|
|
/* 02496620 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02496620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02496624 */ cpu->lr = cpu->r[0];
|
|
/* 02496628 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249662C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02496630 */ return;
|
|
}
|
|
|
|
// fn_02496604 @ 0x2496604
|
|
void Gambit_fn_02496604(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02496604: ; // 0x2496604
|
|
/* 02496604 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02496604 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02496604 */ cpu->r[1] = _t0;
|
|
/* 02496608 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496608 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249660C */ cpu->r[31] = cpu->r[3];
|
|
/* 02496610 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02496610 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02496614 */ Gambit_fn_024F606C(cpu);
|
|
/* 02496618 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249661C */ Gambit_fn_024F607C(cpu);
|
|
/* 02496620 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02496620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02496624 */ cpu->lr = cpu->r[0];
|
|
/* 02496628 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249662C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02496630 */ return;
|
|
}
|
|
|
|
// fn_02496634 @ 0x2496634
|
|
void Gambit_fn_02496634(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02496634: ; // 0x2496634
|
|
/* 02496634 */ cpu->r[0] = cpu->lr;
|
|
/* 02496638 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02496638 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02496638 */ cpu->r[1] = _t0;
|
|
/* 0249663C */ cpu->r[10] = 0x00000003u;
|
|
/* 02496640 */ cpu->ctr = cpu->r[10];
|
|
/* 02496644 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02496644 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02496648 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0249664C */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 0249664C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02496650 */ _t3 = cpu->r[12] + 0x00003840u;
|
|
/* 02496650 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02496650 */ cpu->r[12] = _t3;
|
|
/* 02496654 */ cpu->r[0] = 0x10110000u;
|
|
/* 02496658 */ _t4 = cpu->r[12] + 0x00000008u;
|
|
/* 02496658 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249665C */ cpu->r[0] = cpu->r[0] + 0xFFFFEFACu;
|
|
/* 02496660 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 02496660 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02496664 */ cpu->r[31] = cpu->r[3];
|
|
/* 02496668 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02496668 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0249666C */ cpu->r[8] = 0x101F0000u;
|
|
/* 02496670 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02496670 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 02496674 */ cpu->r[9] = cpu->r[1] + 0x00000014u;
|
|
/* 02496678 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02496678 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0249667C */ cpu->r[8] = cpu->r[8] + 0x000037D8u;
|
|
/* 02496680 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496680 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
L_02496684: ; // 0x2496684
|
|
/* 02496684 */ _t10 = cpu->r[8] + 0x00000004u;
|
|
/* 02496684 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02496688 */ _t11 = cpu->r[9] + 0x00000004u;
|
|
/* 02496688 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0249668C */ _t12 = cpu->r[8] + 0x00000008u;
|
|
/* 0249668C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02496690 */ _t13 = cpu->r[9] + 0x00000008u;
|
|
/* 02496690 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02496694 */ _t14 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02496694 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02496694 */ cpu->r[8] = _t14;
|
|
/* 02496698 */ _t15 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02496698 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 02496698 */ cpu->r[9] = _t15;
|
|
/* 0249669C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0249669C */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0249669C */ _t17 = _t16 >> (0x00000002u & 31u);
|
|
/* 0249669C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0249669C */ if (_t18) goto L_02496684; else goto L_024966A0;
|
|
L_024966A0: ; // 0x24966a0
|
|
/* 024966A0 */ _t19 = cpu->r[12] + 0x00000008u;
|
|
/* 024966A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024966A4 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024966A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 024966A8 */ _t21 = cpu->r[1] + 0x00000044u;
|
|
/* 024966A8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 024966AC */ _t22 = cpu->r[12] + 0x00000000u;
|
|
/* 024966AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 024966B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024966B4 */ _t23 = cpu->r[1] + 0x00000040u;
|
|
/* 024966B4 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 024966B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 024966BC */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024966BC */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 024966C0 */ Gambit_fn_02494E74(cpu);
|
|
/* 024966C4 */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024966C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 024966C8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 024966CC */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 024966CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 024966D0 */ _t27 = cpu->r[3] + 0x00001D14u;
|
|
/* 024966D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 024966D4 */ cpu->f[3] = cpu->f[12] - cpu->f[0];
|
|
/* 024966D8 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024966D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 024966DC */ cpu->f[4] = cpu->f[12] + cpu->f[0];
|
|
/* 024966E0 */ _t29 = cpu->r[31] + 0x000001F0u;
|
|
/* 024966E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 024966E4 */ cpu->f[1] = cpu->f[13] - cpu->f[0];
|
|
/* 024966E8 */ _t30 = cpu->r[3] + 0x00005444u;
|
|
/* 024966E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 024966EC */ cpu->r[4] = 0x101C0000u;
|
|
/* 024966F0 */ cpu->f[2] = cpu->f[13] + cpu->f[0];
|
|
/* 024966F4 */ _t31 = cpu->r[4] + 0x00006648u;
|
|
/* 024966F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 024966F8 */ cpu->r[5] = cpu->r[31];
|
|
/* 024966FC */ Gambit_fn_02031B20(cpu);
|
|
/* 02496700 */ _t32 = cpu->r[31] + 0x000001ECu;
|
|
/* 02496700 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
|
|
/* 02496704 */ _t33 = cpu->r[1] + 0x00000054u;
|
|
/* 02496704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02496708 */ cpu->lr = cpu->r[0];
|
|
/* 0249670C */ _t34 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0249670C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02496710 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02496714 */ return;
|
|
}
|
|
|
|
// fn_02496638 @ 0x2496638
|
|
void Gambit_fn_02496638(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02496638: ; // 0x2496638
|
|
/* 02496638 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02496638 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02496638 */ cpu->r[1] = _t0;
|
|
/* 0249663C */ cpu->r[10] = 0x00000003u;
|
|
/* 02496640 */ cpu->ctr = cpu->r[10];
|
|
/* 02496644 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02496644 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02496648 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0249664C */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 0249664C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02496650 */ _t3 = cpu->r[12] + 0x00003840u;
|
|
/* 02496650 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02496650 */ cpu->r[12] = _t3;
|
|
/* 02496654 */ cpu->r[0] = 0x10110000u;
|
|
/* 02496658 */ _t4 = cpu->r[12] + 0x00000008u;
|
|
/* 02496658 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249665C */ cpu->r[0] = cpu->r[0] + 0xFFFFEFACu;
|
|
/* 02496660 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 02496660 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02496664 */ cpu->r[31] = cpu->r[3];
|
|
/* 02496668 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02496668 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0249666C */ cpu->r[8] = 0x101F0000u;
|
|
/* 02496670 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02496670 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 02496674 */ cpu->r[9] = cpu->r[1] + 0x00000014u;
|
|
/* 02496678 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02496678 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0249667C */ cpu->r[8] = cpu->r[8] + 0x000037D8u;
|
|
/* 02496680 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496680 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
L_02496684: ; // 0x2496684
|
|
/* 02496684 */ _t10 = cpu->r[8] + 0x00000004u;
|
|
/* 02496684 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02496688 */ _t11 = cpu->r[9] + 0x00000004u;
|
|
/* 02496688 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0249668C */ _t12 = cpu->r[8] + 0x00000008u;
|
|
/* 0249668C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02496690 */ _t13 = cpu->r[9] + 0x00000008u;
|
|
/* 02496690 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02496694 */ _t14 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02496694 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02496694 */ cpu->r[8] = _t14;
|
|
/* 02496698 */ _t15 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02496698 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 02496698 */ cpu->r[9] = _t15;
|
|
/* 0249669C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0249669C */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0249669C */ _t17 = _t16 >> (0x00000002u & 31u);
|
|
/* 0249669C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0249669C */ if (_t18) goto L_02496684; else goto L_024966A0;
|
|
L_024966A0: ; // 0x24966a0
|
|
/* 024966A0 */ _t19 = cpu->r[12] + 0x00000008u;
|
|
/* 024966A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024966A4 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024966A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 024966A8 */ _t21 = cpu->r[1] + 0x00000044u;
|
|
/* 024966A8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 024966AC */ _t22 = cpu->r[12] + 0x00000000u;
|
|
/* 024966AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 024966B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024966B4 */ _t23 = cpu->r[1] + 0x00000040u;
|
|
/* 024966B4 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 024966B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 024966BC */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024966BC */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 024966C0 */ Gambit_fn_02494E74(cpu);
|
|
/* 024966C4 */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024966C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 024966C8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 024966CC */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 024966CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 024966D0 */ _t27 = cpu->r[3] + 0x00001D14u;
|
|
/* 024966D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 024966D4 */ cpu->f[3] = cpu->f[12] - cpu->f[0];
|
|
/* 024966D8 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024966D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 024966DC */ cpu->f[4] = cpu->f[12] + cpu->f[0];
|
|
/* 024966E0 */ _t29 = cpu->r[31] + 0x000001F0u;
|
|
/* 024966E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 024966E4 */ cpu->f[1] = cpu->f[13] - cpu->f[0];
|
|
/* 024966E8 */ _t30 = cpu->r[3] + 0x00005444u;
|
|
/* 024966E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 024966EC */ cpu->r[4] = 0x101C0000u;
|
|
/* 024966F0 */ cpu->f[2] = cpu->f[13] + cpu->f[0];
|
|
/* 024966F4 */ _t31 = cpu->r[4] + 0x00006648u;
|
|
/* 024966F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 024966F8 */ cpu->r[5] = cpu->r[31];
|
|
/* 024966FC */ Gambit_fn_02031B20(cpu);
|
|
/* 02496700 */ _t32 = cpu->r[31] + 0x000001ECu;
|
|
/* 02496700 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
|
|
/* 02496704 */ _t33 = cpu->r[1] + 0x00000054u;
|
|
/* 02496704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02496708 */ cpu->lr = cpu->r[0];
|
|
/* 0249670C */ _t34 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0249670C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02496710 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02496714 */ return;
|
|
}
|
|
|
|
// fn_02496718 @ 0x2496718
|
|
void Gambit_fn_02496718(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02496718: ; // 0x2496718
|
|
/* 02496718 */ cpu->r[0] = cpu->lr;
|
|
/* 0249671C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249671C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249671C */ cpu->r[1] = _t0;
|
|
/* 02496720 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496720 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02496724 */ cpu->r[31] = cpu->r[3];
|
|
/* 02496728 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0249672C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249672C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02496730 */ _t3 = cpu->r[3] + 0x00001D14u;
|
|
/* 02496730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02496734 */ cpu->r[4] = cpu->r[31] + 0x000001ECu;
|
|
/* 02496738 */ Gambit_fn_02031BD0(cpu);
|
|
/* 0249673C */ cpu->r[0] = 0x00000000u;
|
|
/* 02496740 */ _t4 = cpu->r[31] + 0x000001ECu;
|
|
/* 02496740 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02496744 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02496744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02496748 */ cpu->lr = cpu->r[0];
|
|
/* 0249674C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249674C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02496750 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02496754 */ return;
|
|
}
|
|
|
|
// fn_0249671C @ 0x249671c
|
|
void Gambit_fn_0249671C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0249671C: ; // 0x249671c
|
|
/* 0249671C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249671C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249671C */ cpu->r[1] = _t0;
|
|
/* 02496720 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496720 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02496724 */ cpu->r[31] = cpu->r[3];
|
|
/* 02496728 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0249672C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249672C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02496730 */ _t3 = cpu->r[3] + 0x00001D14u;
|
|
/* 02496730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02496734 */ cpu->r[4] = cpu->r[31] + 0x000001ECu;
|
|
/* 02496738 */ Gambit_fn_02031BD0(cpu);
|
|
/* 0249673C */ cpu->r[0] = 0x00000000u;
|
|
/* 02496740 */ _t4 = cpu->r[31] + 0x000001ECu;
|
|
/* 02496740 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02496744 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02496744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02496748 */ cpu->lr = cpu->r[0];
|
|
/* 0249674C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249674C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02496750 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02496754 */ return;
|
|
}
|
|
|
|
// fn_02496758 @ 0x2496758
|
|
void Gambit_fn_02496758(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02496758: ; // 0x2496758
|
|
/* 02496758 */ cpu->r[0] = cpu->lr;
|
|
/* 0249675C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249675C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249675C */ cpu->r[1] = _t0;
|
|
/* 02496760 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496760 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02496764 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02496768 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02496768 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249676C */ Gambit_fn_02019890(cpu);
|
|
/* 02496770 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02496770 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02496774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
|
|
/* 02496778 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496778 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02496778 */ if (_t5) goto L_0249677C; else goto L_02496804;
|
|
L_0249677C: ; // 0x249677c
|
|
/* 0249677C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02496780 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02496784 */ _t6 = cpu->r[12] + 0x00006000u;
|
|
/* 02496784 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02496788 */ _t7 = cpu->r[11] + 0x000006C0u;
|
|
/* 02496788 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02496788 */ cpu->r[11] = _t7;
|
|
/* 0249678C */ _t8 = cpu->r[12] + 0x000002A4u;
|
|
/* 0249678C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02496790 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02496794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02496798 */ cpu->r[4] = cpu->r[4] + 0x000006BCu;
|
|
/* 0249679C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249679C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0249679C */ if (_t10) goto L_024967A0; else goto L_024967B4;
|
|
L_024967A0: ; // 0x24967a0
|
|
/* 024967A0 */ cpu->r[10] = 0x100B0000u;
|
|
/* 024967A4 */ cpu->r[0] = 0x00000001u;
|
|
/* 024967A8 */ cpu->r[10] = cpu->r[10] + 0xFFFFA7A8u;
|
|
/* 024967AC */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 024967AC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 024967B0 */ _t12 = cpu->r[4] + 0x00000000u;
|
|
/* 024967B0 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
L_024967B4: ; // 0x24967b4
|
|
/* 024967B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024967B8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024967B8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 024967B8 */ if (_t14) goto L_024967D8; else goto L_024967BC;
|
|
L_024967BC: ; // 0x24967bc
|
|
/* 024967BC */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 024967BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 024967C0 */ _t16 = cpu->r[12] + 0x00000014u;
|
|
/* 024967C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024967C4 */ cpu->ctr = cpu->r[9];
|
|
/* 024967C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024967CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024967D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024967D4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024967D4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024967D4 */ if (_t18) goto L_024967D8; else goto L_024967DC;
|
|
L_024967D8: ; // 0x24967d8
|
|
/* 024967D8 */ cpu->r[31] = 0x00000000u;
|
|
L_024967DC: ; // 0x24967dc
|
|
/* 024967DC */ _t19 = cpu->r[31] + 0x00000254u;
|
|
/* 024967DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 024967E0 */ /* nop */
|
|
/* 024967E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000007u);
|
|
/* 024967E8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024967E8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 024967E8 */ if (_t21) goto L_024967EC; else goto L_02496804;
|
|
L_024967EC: ; // 0x24967ec
|
|
/* 024967EC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 024967EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 024967F0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024967F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 024967F4 */ cpu->lr = cpu->r[0];
|
|
/* 024967F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024967FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02496800 */ return;
|
|
L_02496804: ; // 0x2496804
|
|
/* 02496804 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02496804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02496808 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0249680C */ cpu->lr = cpu->r[0];
|
|
/* 02496810 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02496814 */ cpu->r[3] = 0x00000001u;
|
|
/* 02496818 */ return;
|
|
}
|
|
|
|
// fn_0249675C @ 0x249675c
|
|
void Gambit_fn_0249675C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0249675C: ; // 0x249675c
|
|
/* 0249675C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249675C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249675C */ cpu->r[1] = _t0;
|
|
/* 02496760 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496760 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02496764 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02496768 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02496768 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249676C */ Gambit_fn_02019890(cpu);
|
|
/* 02496770 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02496770 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02496774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
|
|
/* 02496778 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496778 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02496778 */ if (_t5) goto L_0249677C; else goto L_02496804;
|
|
L_0249677C: ; // 0x249677c
|
|
/* 0249677C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02496780 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02496784 */ _t6 = cpu->r[12] + 0x00006000u;
|
|
/* 02496784 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02496788 */ _t7 = cpu->r[11] + 0x000006C0u;
|
|
/* 02496788 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02496788 */ cpu->r[11] = _t7;
|
|
/* 0249678C */ _t8 = cpu->r[12] + 0x000002A4u;
|
|
/* 0249678C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02496790 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02496794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02496798 */ cpu->r[4] = cpu->r[4] + 0x000006BCu;
|
|
/* 0249679C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249679C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0249679C */ if (_t10) goto L_024967A0; else goto L_024967B4;
|
|
L_024967A0: ; // 0x24967a0
|
|
/* 024967A0 */ cpu->r[10] = 0x100B0000u;
|
|
/* 024967A4 */ cpu->r[0] = 0x00000001u;
|
|
/* 024967A8 */ cpu->r[10] = cpu->r[10] + 0xFFFFA7A8u;
|
|
/* 024967AC */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 024967AC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 024967B0 */ _t12 = cpu->r[4] + 0x00000000u;
|
|
/* 024967B0 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
L_024967B4: ; // 0x24967b4
|
|
/* 024967B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024967B8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024967B8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 024967B8 */ if (_t14) goto L_024967D8; else goto L_024967BC;
|
|
L_024967BC: ; // 0x24967bc
|
|
/* 024967BC */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 024967BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 024967C0 */ _t16 = cpu->r[12] + 0x00000014u;
|
|
/* 024967C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024967C4 */ cpu->ctr = cpu->r[9];
|
|
/* 024967C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024967CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024967D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024967D4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024967D4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024967D4 */ if (_t18) goto L_024967D8; else goto L_024967DC;
|
|
L_024967D8: ; // 0x24967d8
|
|
/* 024967D8 */ cpu->r[31] = 0x00000000u;
|
|
L_024967DC: ; // 0x24967dc
|
|
/* 024967DC */ _t19 = cpu->r[31] + 0x00000254u;
|
|
/* 024967DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 024967E0 */ /* nop */
|
|
/* 024967E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000007u);
|
|
/* 024967E8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024967E8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 024967E8 */ if (_t21) goto L_024967EC; else goto L_02496804;
|
|
L_024967EC: ; // 0x24967ec
|
|
/* 024967EC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 024967EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 024967F0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024967F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 024967F4 */ cpu->lr = cpu->r[0];
|
|
/* 024967F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024967FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02496800 */ return;
|
|
L_02496804: ; // 0x2496804
|
|
/* 02496804 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02496804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02496808 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0249680C */ cpu->lr = cpu->r[0];
|
|
/* 02496810 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02496814 */ cpu->r[3] = 0x00000001u;
|
|
/* 02496818 */ return;
|
|
}
|
|
|
|
// fn_0249681C @ 0x249681c
|
|
void Gambit_fn_0249681C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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, _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, _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;
|
|
double _ft66, _ft67, _ft129, _ft130;
|
|
|
|
L_0249681C: ; // 0x249681c
|
|
/* 0249681C */ _t0 = cpu->r[1] + 0xFFFFFE18u;
|
|
/* 0249681C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249681C */ cpu->r[1] = _t0;
|
|
/* 02496820 */ _t1 = cpu->r[1] + 0x000001A8u;
|
|
/* 02496820 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 02496824 */ /* nop */
|
|
/* 02496828 */ _t2 = cpu->r[1] + 0x000001C8u;
|
|
/* 02496828 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 0249682C */ cpu->r[0] = cpu->lr;
|
|
/* 02496830 */ _t3 = cpu->r[1] + 0x000001B0u;
|
|
/* 02496830 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[28]);
|
|
/* 02496834 */ /* nop */
|
|
/* 02496838 */ _t4 = cpu->r[1] + 0x000001D8u;
|
|
/* 02496838 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0249683C */ _t5 = cpu->r[1] + 0x000001D0u;
|
|
/* 0249683C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
|
|
/* 02496840 */ /* nop */
|
|
/* 02496844 */ _t6 = cpu->r[1] + 0x000001B8u;
|
|
/* 02496844 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[29]);
|
|
/* 02496848 */ _t7 = cpu->r[1] + 0x000001E0u;
|
|
/* 02496848 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 0249684C */ /* nop */
|
|
/* 02496850 */ _t8 = cpu->r[1] + 0x000001ECu;
|
|
/* 02496850 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02496854 */ _t9 = cpu->r[1] + 0x000001C0u;
|
|
/* 02496854 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
|
|
/* 02496858 */ /* nop */
|
|
/* 0249685C */ cpu->r[29] = cpu->r[4];
|
|
/* 02496860 */ cpu->r[30] = cpu->r[3];
|
|
/* 02496864 */ Gambit_fn_02495F78(cpu);
|
|
/* 02496868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249686C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249686C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249686C */ if (_t11) goto L_02496DAC; else goto L_02496870;
|
|
L_02496870: ; // 0x2496870
|
|
/* 02496870 */ _t12 = cpu->r[29] + 0x0000065Cu;
|
|
/* 02496870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02496874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02496878 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496878 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02496878 */ if (_t14) goto L_02496DAC; else goto L_0249687C;
|
|
L_0249687C: ; // 0x249687c
|
|
/* 0249687C */ cpu->r[31] = 0x101F0000u;
|
|
/* 02496880 */ cpu->r[5] = 0x10110000u;
|
|
/* 02496884 */ _t15 = cpu->r[31] + 0x00003840u;
|
|
/* 02496884 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02496884 */ cpu->r[31] = _t15;
|
|
/* 02496888 */ cpu->r[5] = cpu->r[5] + 0xFFFFEFACu;
|
|
/* 0249688C */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 0249688C */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02496890 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02496894 */ _t17 = cpu->r[1] + 0x00000118u;
|
|
/* 02496894 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 02496898 */ cpu->r[5] = 0x00000003u;
|
|
/* 0249689C */ _t18 = cpu->r[31] + 0x00000008u;
|
|
/* 0249689C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 024968A0 */ cpu->r[11] = cpu->r[11] + 0x000037D8u;
|
|
/* 024968A4 */ _t19 = cpu->r[1] + 0x0000011Cu;
|
|
/* 024968A4 */ rbrew_write32(cpu->mem, _t19, cpu->r[6]);
|
|
/* 024968A8 */ cpu->r[12] = cpu->r[1] + 0x00000124u;
|
|
/* 024968AC */ _t20 = cpu->r[1] + 0x00000120u;
|
|
/* 024968AC */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 024968B0 */ cpu->ctr = cpu->r[5];
|
|
/* 024968B4 */ _t21 = cpu->r[1] + 0x00000124u;
|
|
/* 024968B4 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_024968B8: ; // 0x24968b8
|
|
/* 024968B8 */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 024968B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 024968BC */ _t23 = cpu->r[12] + 0x00000004u;
|
|
/* 024968BC */ rbrew_write32(cpu->mem, _t23, cpu->r[7]);
|
|
/* 024968C0 */ _t24 = cpu->r[11] + 0x00000008u;
|
|
/* 024968C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 024968C4 */ _t25 = cpu->r[12] + 0x00000008u;
|
|
/* 024968C4 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
|
|
/* 024968C8 */ _t26 = cpu->r[11] + 0x0000000Cu;
|
|
/* 024968C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024968C8 */ cpu->r[11] = _t26;
|
|
/* 024968CC */ _t27 = cpu->r[12] + 0x0000000Cu;
|
|
/* 024968CC */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 024968CC */ cpu->r[12] = _t27;
|
|
/* 024968D0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 024968D0 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 024968D0 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 024968D0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 024968D0 */ if (_t30) goto L_024968B8; else goto L_024968D4;
|
|
L_024968D4: ; // 0x24968d4
|
|
/* 024968D4 */ _t31 = cpu->r[31] + 0x00000000u;
|
|
/* 024968D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 024968D8 */ _t32 = cpu->r[31] + 0x00000004u;
|
|
/* 024968D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 024968DC */ _t33 = cpu->r[1] + 0x0000014Cu;
|
|
/* 024968DC */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 024968E0 */ _t34 = cpu->r[31] + 0x00000008u;
|
|
/* 024968E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 024968E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 024968E8 */ _t35 = cpu->r[1] + 0x00000150u;
|
|
/* 024968E8 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 024968EC */ cpu->r[4] = cpu->r[1] + 0x00000118u;
|
|
/* 024968F0 */ _t36 = cpu->r[1] + 0x00000154u;
|
|
/* 024968F0 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 024968F4 */ Gambit_fn_02494E74(cpu);
|
|
/* 024968F8 */ cpu->r[9] = 0x100B0000u;
|
|
/* 024968FC */ _t37 = cpu->r[31] + 0x00000008u;
|
|
/* 024968FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02496900 */ _t38 = cpu->r[9] + 0xFFFFA8B8u;
|
|
/* 02496900 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02496904 */ _t39 = cpu->r[31] + 0x00000000u;
|
|
/* 02496904 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02496908 */ _t40 = cpu->r[31] + 0x00000004u;
|
|
/* 02496908 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0249690C */ _t41 = cpu->r[1] + 0x00000104u;
|
|
/* 0249690C */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 02496910 */ _t42 = cpu->r[1] + 0x00000100u;
|
|
/* 02496910 */ rbrew_write32(cpu->mem, _t42, cpu->r[9]);
|
|
/* 02496914 */ _t43 = cpu->r[1] + 0x00000114u;
|
|
/* 02496914 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[29]);
|
|
/* 02496918 */ cpu->r[8] = 0x10110000u;
|
|
/* 0249691C */ _t44 = cpu->r[1] + 0x00000108u;
|
|
/* 0249691C */ rbrew_write32(cpu->mem, _t44, cpu->r[7]);
|
|
/* 02496920 */ cpu->r[8] = cpu->r[8] + 0xFFFFEF7Cu;
|
|
/* 02496924 */ _t45 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02496924 */ rbrew_write32(cpu->mem, _t45, cpu->r[9]);
|
|
/* 02496928 */ cpu->r[3] = cpu->r[29];
|
|
/* 0249692C */ _t46 = cpu->r[1] + 0x000000F8u;
|
|
/* 0249692C */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 02496930 */ cpu->r[4] = cpu->r[1] + 0x000000F8u;
|
|
/* 02496934 */ _t47 = cpu->r[1] + 0x000000FCu;
|
|
/* 02496934 */ rbrew_write32(cpu->mem, _t47, cpu->r[7]);
|
|
/* 02496938 */ _t48 = cpu->r[1] + 0x00000110u;
|
|
/* 02496938 */ rbrew_write32(cpu->mem, _t48, cpu->r[10]);
|
|
/* 0249693C */ Gambit_fn_025C65E8(cpu);
|
|
/* 02496940 */ cpu->r[3] = cpu->r[30];
|
|
/* 02496944 */ cpu->r[4] = cpu->r[1] + 0x000000F8u;
|
|
/* 02496948 */ cpu->r[5] = cpu->r[1] + 0x00000118u;
|
|
/* 0249694C */ cpu->r[6] = cpu->r[1] + 0x00000064u;
|
|
/* 02496950 */ Gambit_fn_024951C4(cpu);
|
|
/* 02496954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02496958 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496958 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02496958 */ if (_t50) goto L_02496DAC; else goto L_0249695C;
|
|
L_0249695C: ; // 0x249695c
|
|
/* 0249695C */ /* nop */
|
|
/* 02496960 */ _t51 = cpu->r[1] + 0x00000070u;
|
|
/* 02496960 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02496964 */ _t52 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02496964 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02496968 */ /* nop */
|
|
/* 0249696C */ /* nop */
|
|
/* 02496970 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496970 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02496974 */ cpu->f[9] = cpu->f[11] * cpu->f[9];
|
|
/* 02496978 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[13]);
|
|
/* 0249697C */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 0249697C */ rbrew_write_f32(cpu->mem, _t54, cpu->f[9]);
|
|
/* 02496980 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02496980 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02496980 */ if (_t56) goto L_02496984; else goto L_02496988;
|
|
L_02496984: ; // 0x2496984
|
|
/* 02496984 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496984 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[29]);
|
|
L_02496988: ; // 0x2496988
|
|
/* 02496988 */ cpu->r[3] = cpu->r[29];
|
|
/* 0249698C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02496990 */ Gambit_fn_025C6600(cpu);
|
|
/* 02496994 */ _t58 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496994 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02496998 */ cpu->f[0] = cpu->f[12] * cpu->f[12];
|
|
/* 0249699C */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 0249699C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 024969A0 */ cpu->r[6] = 0x100B0000u;
|
|
/* 024969A4 */ _t60 = cpu->r[6] + 0xFFFFA8A0u;
|
|
/* 024969A4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 024969A8 */ cpu->f[13] = fma(cpu->f[13], cpu->f[13], cpu->f[0]);
|
|
/* 024969AC */ _t61 = cpu->r[1] + 0x00000010u;
|
|
/* 024969AC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 024969B0 */ cpu->r[8] = 0x100B0000u;
|
|
/* 024969B4 */ cpu->f[11] = fma(cpu->f[10], cpu->f[10], cpu->f[13]);
|
|
/* 024969B8 */ _t62 = cpu->r[8] + 0xFFFFA8BCu;
|
|
/* 024969B8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 024969BC */ cpu->r[12] = 0x100B0000u;
|
|
/* 024969C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[29]);
|
|
/* 024969C4 */ _t63 = cpu->r[12] + 0xFFFFA918u;
|
|
/* 024969C4 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 024969C8 */ cpu->r[28] = 0x00000000u;
|
|
/* 024969CC */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024969CC */ _t65 = _t64 & 0x00000001u;
|
|
/* 024969CC */ if (_t65) goto L_024969D0; else goto L_02496B08;
|
|
L_024969D0: ; // 0x24969d0
|
|
/* 024969D0 */ _ft66 = sqrt(cpu->f[11]);
|
|
/* 024969D0 */ _ft67 = (double)(int32_t)0x00000001u;
|
|
/* 024969D0 */ cpu->f[13] = _ft67 / _ft66;
|
|
/* 024969D4 */ cpu->f[7] = cpu->f[13] * cpu->f[13];
|
|
/* 024969D8 */ cpu->f[8] = cpu->f[13] * cpu->f[30];
|
|
/* 024969DC */ cpu->f[7] = -fma(cpu->f[7], cpu->f[11], -(cpu->f[28]));
|
|
/* 024969E0 */ cpu->f[13] = cpu->f[7] * cpu->f[8];
|
|
/* 024969E4 */ /* nop */
|
|
/* 024969E8 */ cpu->f[11] = cpu->f[11] * cpu->f[13];
|
|
/* 024969EC */ /* nop */
|
|
/* 024969F0 */ _t68 = cpu->r[1] + 0x00000010u;
|
|
/* 024969F0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 024969F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[29]);
|
|
/* 024969F8 */ cpu->f[8] = cpu->f[8] * cpu->f[13];
|
|
/* 024969FC */ /* nop */
|
|
/* 02496A00 */ _t69 = cpu->r[1] + 0x00000010u;
|
|
/* 02496A00 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[8]);
|
|
/* 02496A04 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02496A04 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02496A04 */ if (_t71) goto L_02496A08; else goto L_02496B08;
|
|
L_02496A08: ; // 0x2496a08
|
|
/* 02496A08 */ cpu->r[3] = cpu->r[30];
|
|
/* 02496A0C */ Gambit_fn_024F65FC(cpu);
|
|
/* 02496A10 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02496A14 */ cpu->r[25] = 0x101D0000u;
|
|
/* 02496A18 */ _t72 = cpu->r[26] + 0x000006B4u;
|
|
/* 02496A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02496A18 */ cpu->r[26] = _t72;
|
|
/* 02496A1C */ cpu->r[25] = cpu->r[25] + 0x000006B0u;
|
|
/* 02496A20 */ cpu->r[31] = cpu->r[3];
|
|
/* 02496A24 */ cpu->r[27] = 0x100B0000u;
|
|
/* 02496A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02496A2C */ cpu->r[27] = cpu->r[27] + 0xFFFFA788u;
|
|
/* 02496A30 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496A30 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02496A30 */ if (_t74) goto L_02496A34; else goto L_02496A40;
|
|
L_02496A34: ; // 0x2496a34
|
|
/* 02496A34 */ _t75 = cpu->r[25] + 0x00000000u;
|
|
/* 02496A34 */ rbrew_write32(cpu->mem, _t75, cpu->r[27]);
|
|
/* 02496A38 */ cpu->r[0] = 0x00000001u;
|
|
/* 02496A3C */ _t76 = cpu->r[26] + 0x00000000u;
|
|
/* 02496A3C */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
L_02496A40: ; // 0x2496a40
|
|
/* 02496A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02496A44 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496A44 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02496A44 */ if (_t78) goto L_02496A68; else goto L_02496A48;
|
|
L_02496A48: ; // 0x2496a48
|
|
/* 02496A48 */ _t79 = cpu->r[31] + 0x00000000u;
|
|
/* 02496A48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02496A4C */ _t80 = cpu->r[6] + 0x0000006Cu;
|
|
/* 02496A4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02496A50 */ cpu->ctr = cpu->r[7];
|
|
/* 02496A54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02496A58 */ cpu->r[4] = cpu->r[25];
|
|
/* 02496A5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02496A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02496A64 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496A64 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02496A64 */ if (_t82) goto L_02496A68; else goto L_02496A6C;
|
|
L_02496A68: ; // 0x2496a68
|
|
/* 02496A68 */ cpu->r[31] = 0x00000000u;
|
|
L_02496A6C: ; // 0x2496a6c
|
|
/* 02496A6C */ _t83 = cpu->r[1] + 0x00000010u;
|
|
/* 02496A6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02496A70 */ _t84 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02496A70 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 02496A74 */ /* nop */
|
|
/* 02496A78 */ cpu->f[0] = cpu->f[0] * cpu->f[11];
|
|
/* 02496A7C */ /* nop */
|
|
/* 02496A80 */ _t85 = cpu->r[1] + 0x00000010u;
|
|
/* 02496A80 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[0]);
|
|
/* 02496A84 */ cpu->r[3] = cpu->r[30];
|
|
/* 02496A88 */ /* nop */
|
|
/* 02496A8C */ Gambit_fn_024F65FC(cpu);
|
|
/* 02496A90 */ _t86 = cpu->r[26] + 0x00000000u;
|
|
/* 02496A90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02496A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02496A98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02496A9C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496A9C */ _t88 = _t87 & 0x00000001u;
|
|
/* 02496A9C */ if (_t88) goto L_02496AA0; else goto L_02496AAC;
|
|
L_02496AA0: ; // 0x2496aa0
|
|
/* 02496AA0 */ _t89 = cpu->r[25] + 0x00000000u;
|
|
/* 02496AA0 */ rbrew_write32(cpu->mem, _t89, cpu->r[27]);
|
|
/* 02496AA4 */ cpu->r[9] = 0x00000001u;
|
|
/* 02496AA8 */ _t90 = cpu->r[26] + 0x00000000u;
|
|
/* 02496AA8 */ rbrew_write32(cpu->mem, _t90, cpu->r[9]);
|
|
L_02496AAC: ; // 0x2496aac
|
|
/* 02496AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02496AB0 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496AB0 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02496AB0 */ if (_t92) goto L_02496AD4; else goto L_02496AB4;
|
|
L_02496AB4: ; // 0x2496ab4
|
|
/* 02496AB4 */ _t93 = cpu->r[31] + 0x00000000u;
|
|
/* 02496AB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02496AB8 */ _t94 = cpu->r[10] + 0x0000006Cu;
|
|
/* 02496AB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02496ABC */ cpu->ctr = cpu->r[11];
|
|
/* 02496AC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02496AC4 */ cpu->r[4] = cpu->r[25];
|
|
/* 02496AC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02496ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02496AD0 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496AD0 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02496AD0 */ if (_t96) goto L_02496AD4; else goto L_02496AD8;
|
|
L_02496AD4: ; // 0x2496ad4
|
|
/* 02496AD4 */ cpu->r[31] = 0x00000000u;
|
|
L_02496AD8: ; // 0x2496ad8
|
|
/* 02496AD8 */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496AD8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 02496ADC */ cpu->f[1] = cpu->f[31];
|
|
/* 02496AE0 */ _t98 = cpu->r[31] + 0x000002FCu;
|
|
/* 02496AE0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02496AE4 */ cpu->f[2] = cpu->f[31];
|
|
/* 02496AE8 */ cpu->r[12] = 0x00000002u;
|
|
/* 02496AEC */ cpu->f[9] = cpu->f[9] + cpu->f[10];
|
|
/* 02496AF0 */ cpu->r[5] = cpu->r[1] + 0x00000054u;
|
|
/* 02496AF4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02496AF8 */ _t99 = cpu->r[1] + 0x00000054u;
|
|
/* 02496AF8 */ rbrew_write32(cpu->mem, _t99, cpu->r[12]);
|
|
/* 02496AFC */ cpu->r[3] = cpu->r[29];
|
|
/* 02496B00 */ _t100 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496B00 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[9]);
|
|
/* 02496B04 */ Gambit_fn_025BD378(cpu);
|
|
L_02496B08: ; // 0x2496b08
|
|
/* 02496B08 */ _t101 = cpu->r[1] + 0x00000058u;
|
|
/* 02496B08 */ rbrew_write32(cpu->mem, _t101, cpu->r[28]);
|
|
/* 02496B0C */ cpu->r[5] = 0x100B0000u;
|
|
/* 02496B10 */ _t102 = cpu->r[1] + 0x00000080u;
|
|
/* 02496B10 */ rbrew_write32(cpu->mem, _t102, cpu->r[28]);
|
|
/* 02496B14 */ cpu->r[0] = 0x100B0000u;
|
|
/* 02496B18 */ _t103 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02496B18 */ rbrew_write32(cpu->mem, _t103, cpu->r[28]);
|
|
/* 02496B1C */ cpu->r[5] = cpu->r[5] + 0xFFFFA7C8u;
|
|
/* 02496B20 */ _t104 = cpu->r[1] + 0x00000084u;
|
|
/* 02496B20 */ rbrew_write32(cpu->mem, _t104, cpu->r[28]);
|
|
/* 02496B24 */ cpu->r[0] = cpu->r[0] + 0xFFFFA7D8u;
|
|
/* 02496B28 */ _t105 = cpu->r[1] + 0x00000088u;
|
|
/* 02496B28 */ rbrew_write32(cpu->mem, _t105, cpu->r[5]);
|
|
/* 02496B2C */ cpu->r[5] = 0x100B0000u;
|
|
/* 02496B30 */ cpu->r[6] = 0x00000000u;
|
|
/* 02496B34 */ _t106 = cpu->r[30] + 0x00000030u;
|
|
/* 02496B34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02496B38 */ cpu->r[5] = cpu->r[5] + 0xFFFFA934u;
|
|
/* 02496B3C */ cpu->r[4] = cpu->r[1] + 0x00000058u;
|
|
/* 02496B40 */ _t107 = cpu->r[1] + 0x00000060u;
|
|
/* 02496B40 */ rbrew_write32(cpu->mem, _t107, cpu->r[0]);
|
|
/* 02496B44 */ Gambit_fn_027B72F0(cpu);
|
|
/* 02496B48 */ _t108 = cpu->r[30] + 0x00000030u;
|
|
/* 02496B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02496B4C */ _t109 = cpu->r[3] + 0x000000E0u;
|
|
/* 02496B4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02496B50 */ _t110 = cpu->r[7] + 0x0000003Cu;
|
|
/* 02496B50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02496B54 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02496B58 */ cpu->ctr = cpu->r[9];
|
|
/* 02496B5C */ cpu->r[6] = 0x00000000u;
|
|
/* 02496B60 */ cpu->r[5] = cpu->r[5] + 0xFFFFA92Cu;
|
|
/* 02496B64 */ cpu->r[4] = cpu->r[1] + 0x00000080u;
|
|
/* 02496B68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02496B6C */ cpu->r[7] = 0x00000003u;
|
|
/* 02496B70 */ cpu->r[12] = cpu->r[1] + 0x00000088u;
|
|
/* 02496B74 */ cpu->r[10] = 0x101E0000u;
|
|
/* 02496B78 */ cpu->ctr = cpu->r[7];
|
|
/* 02496B7C */ cpu->r[10] = cpu->r[10] + 0xFFFF96F8u;
|
|
L_02496B80: ; // 0x2496b80
|
|
/* 02496B80 */ _t111 = cpu->r[10] + 0x00000004u;
|
|
/* 02496B80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02496B84 */ _t112 = cpu->r[12] + 0x00000004u;
|
|
/* 02496B84 */ rbrew_write32(cpu->mem, _t112, cpu->r[9]);
|
|
/* 02496B88 */ _t113 = cpu->r[10] + 0x00000008u;
|
|
/* 02496B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02496B8C */ _t114 = cpu->r[12] + 0x00000008u;
|
|
/* 02496B8C */ rbrew_write32(cpu->mem, _t114, cpu->r[0]);
|
|
/* 02496B90 */ _t115 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02496B90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02496B94 */ _t116 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02496B94 */ rbrew_write32(cpu->mem, _t116, cpu->r[5]);
|
|
/* 02496B98 */ _t117 = cpu->r[10] + 0x00000010u;
|
|
/* 02496B98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02496B98 */ cpu->r[10] = _t117;
|
|
/* 02496B9C */ _t118 = cpu->r[12] + 0x00000010u;
|
|
/* 02496B9C */ rbrew_write32(cpu->mem, _t118, cpu->r[7]);
|
|
/* 02496B9C */ cpu->r[12] = _t118;
|
|
/* 02496BA0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02496BA0 */ _t119 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02496BA0 */ _t120 = _t119 >> (0x00000002u & 31u);
|
|
/* 02496BA0 */ _t121 = _t120 & 0x00000001u;
|
|
/* 02496BA0 */ if (_t121) goto L_02496B80; else goto L_02496BA4;
|
|
L_02496BA4: ; // 0x2496ba4
|
|
/* 02496BA4 */ cpu->r[3] = cpu->r[1] + 0x000000A4u;
|
|
/* 02496BA8 */ cpu->r[4] = cpu->r[1] + 0x00000064u;
|
|
/* 02496BAC */ cpu->r[5] = cpu->r[1] + 0x000000ECu;
|
|
/* 02496BB0 */ Gambit_fn_02C692EC(cpu);
|
|
/* 02496BB4 */ /* nop */
|
|
/* 02496BB8 */ /* nop */
|
|
/* 02496BBC */ _t122 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02496BBC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 02496BC0 */ /* nop */
|
|
/* 02496BC4 */ _t123 = cpu->r[1] + 0x000000ACu;
|
|
/* 02496BC4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 02496BC8 */ /* nop */
|
|
/* 02496BCC */ cpu->f[11] = fma(cpu->f[9], cpu->f[10], cpu->f[7]);
|
|
/* 02496BD0 */ cpu->r[8] = 0x100B0000u;
|
|
/* 02496BD4 */ cpu->f[12] = cpu->f[11] + cpu->f[31];
|
|
/* 02496BD8 */ _t124 = cpu->r[8] + 0xFFFFA8A8u;
|
|
/* 02496BD8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 02496BDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 02496BE0 */ _t125 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02496BE0 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02496BE0 */ if (_t126) goto L_02496BE4; else goto L_02496C2C;
|
|
L_02496BE4: ; // 0x2496be4
|
|
/* 02496BE4 */ cpu->f[13] = cpu->f[12] + cpu->f[12];
|
|
/* 02496BE8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[29]);
|
|
/* 02496BEC */ _t127 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02496BEC */ _t128 = _t127 & 0x00000001u;
|
|
/* 02496BEC */ if (_t128) goto L_02496BF0; else goto L_02496C04;
|
|
L_02496BF0: ; // 0x2496bf0
|
|
/* 02496BF0 */ _ft129 = sqrt(cpu->f[13]);
|
|
/* 02496BF0 */ _ft130 = (double)(int32_t)0x00000001u;
|
|
/* 02496BF0 */ cpu->f[29] = _ft130 / _ft129;
|
|
/* 02496BF4 */ cpu->f[0] = cpu->f[29] * cpu->f[29];
|
|
/* 02496BF8 */ cpu->f[7] = cpu->f[29] * cpu->f[30];
|
|
/* 02496BFC */ cpu->f[0] = -fma(cpu->f[0], cpu->f[13], -(cpu->f[28]));
|
|
/* 02496C00 */ cpu->f[29] = cpu->f[0] * cpu->f[7];
|
|
L_02496C04: ; // 0x2496c04
|
|
/* 02496C04 */ _t131 = cpu->r[1] + 0x000000F4u;
|
|
/* 02496C04 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 02496C08 */ cpu->f[12] = cpu->f[13] * cpu->f[29];
|
|
/* 02496C0C */ /* nop */
|
|
/* 02496C10 */ cpu->f[10] = cpu->f[11] * cpu->f[29];
|
|
/* 02496C14 */ /* nop */
|
|
/* 02496C18 */ _t132 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02496C18 */ rbrew_write_f32(cpu->mem, _t132, cpu->f[10]);
|
|
/* 02496C1C */ cpu->f[13] = cpu->f[12] * cpu->f[30];
|
|
/* 02496C20 */ /* nop */
|
|
/* 02496C24 */ _t133 = cpu->r[1] + 0x00000020u;
|
|
/* 02496C24 */ rbrew_write_f32(cpu->mem, _t133, cpu->f[13]);
|
|
/* 02496C28 */ goto L_02496C3C;
|
|
L_02496C2C: ; // 0x2496c2c
|
|
/* 02496C2C */ _t134 = cpu->r[1] + 0x00000014u;
|
|
/* 02496C2C */ rbrew_write_f32(cpu->mem, _t134, cpu->f[29]);
|
|
/* 02496C30 */ _t135 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02496C30 */ rbrew_write_f32(cpu->mem, _t135, cpu->f[29]);
|
|
/* 02496C34 */ _t136 = cpu->r[1] + 0x00000018u;
|
|
/* 02496C34 */ rbrew_write_f32(cpu->mem, _t136, cpu->f[29]);
|
|
/* 02496C38 */ _t137 = cpu->r[1] + 0x00000020u;
|
|
/* 02496C38 */ rbrew_write_f32(cpu->mem, _t137, cpu->f[31]);
|
|
L_02496C3C: ; // 0x2496c3c
|
|
/* 02496C3C */ cpu->r[3] = cpu->r[1] + 0x0000008Cu;
|
|
/* 02496C40 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02496C44 */ Gambit_fn_0204D960(cpu);
|
|
/* 02496C48 */ /* nop */
|
|
/* 02496C4C */ /* nop */
|
|
/* 02496C50 */ _t138 = cpu->r[1] + 0x00000070u;
|
|
/* 02496C50 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 02496C54 */ _t139 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02496C54 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 02496C58 */ /* nop */
|
|
/* 02496C5C */ _t140 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02496C5C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 02496C60 */ cpu->f[10] = cpu->f[11] * cpu->f[12];
|
|
/* 02496C64 */ /* nop */
|
|
/* 02496C68 */ _t141 = cpu->r[1] + 0x000000C0u;
|
|
/* 02496C68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02496C6C */ _t142 = cpu->r[1] + 0x000000BCu;
|
|
/* 02496C6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02496C70 */ _t143 = cpu->r[1] + 0x000000C4u;
|
|
/* 02496C70 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[10]);
|
|
/* 02496C74 */ _t144 = cpu->r[1] + 0x000000C4u;
|
|
/* 02496C74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02496C78 */ _t145 = cpu->r[1] + 0x000000E4u;
|
|
/* 02496C78 */ rbrew_write32(cpu->mem, _t145, cpu->r[8]);
|
|
/* 02496C7C */ _t146 = cpu->r[1] + 0x000000E0u;
|
|
/* 02496C7C */ rbrew_write32(cpu->mem, _t146, cpu->r[7]);
|
|
/* 02496C80 */ /* nop */
|
|
/* 02496C84 */ _t147 = cpu->r[1] + 0x00000098u;
|
|
/* 02496C84 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 02496C88 */ /* nop */
|
|
/* 02496C8C */ _t148 = cpu->r[1] + 0x000000E8u;
|
|
/* 02496C8C */ rbrew_write32(cpu->mem, _t148, cpu->r[0]);
|
|
/* 02496C90 */ _t149 = cpu->r[1] + 0x000000E8u;
|
|
/* 02496C90 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 02496C94 */ _t150 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02496C94 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t150);
|
|
/* 02496C98 */ cpu->f[12] = cpu->f[0] + cpu->f[7];
|
|
/* 02496C9C */ /* nop */
|
|
/* 02496CA0 */ _t151 = cpu->r[1] + 0x000000CCu;
|
|
/* 02496CA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02496CA4 */ _t152 = cpu->r[1] + 0x000000C8u;
|
|
/* 02496CA4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02496CA8 */ _t153 = cpu->r[1] + 0x000000D0u;
|
|
/* 02496CA8 */ rbrew_write_f32(cpu->mem, _t153, cpu->f[12]);
|
|
/* 02496CAC */ _t154 = cpu->r[1] + 0x000000D0u;
|
|
/* 02496CAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02496CB0 */ _t155 = cpu->r[1] + 0x000000D8u;
|
|
/* 02496CB0 */ rbrew_write32(cpu->mem, _t155, cpu->r[6]);
|
|
/* 02496CB4 */ _t156 = cpu->r[1] + 0x000000D8u;
|
|
/* 02496CB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t156);
|
|
/* 02496CB8 */ _t157 = cpu->r[1] + 0x000000DCu;
|
|
/* 02496CB8 */ rbrew_write32(cpu->mem, _t157, cpu->r[0]);
|
|
/* 02496CBC */ _t158 = cpu->r[1] + 0x000000DCu;
|
|
/* 02496CBC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 02496CC0 */ _t159 = cpu->r[1] + 0x000000D4u;
|
|
/* 02496CC0 */ rbrew_write32(cpu->mem, _t159, cpu->r[5]);
|
|
/* 02496CC4 */ _t160 = cpu->r[1] + 0x000000D4u;
|
|
/* 02496CC4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t160);
|
|
/* 02496CC8 */ _t161 = cpu->r[1] + 0x00000028u;
|
|
/* 02496CC8 */ rbrew_write_f32(cpu->mem, _t161, cpu->f[10]);
|
|
/* 02496CCC */ _t162 = cpu->r[1] + 0x000000A8u;
|
|
/* 02496CCC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t162);
|
|
/* 02496CD0 */ _t163 = cpu->r[1] + 0x000000A4u;
|
|
/* 02496CD0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t163);
|
|
/* 02496CD4 */ _t164 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02496CD4 */ rbrew_write_f32(cpu->mem, _t164, cpu->f[10]);
|
|
/* 02496CD8 */ _t165 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02496CD8 */ rbrew_write_f32(cpu->mem, _t165, cpu->f[13]);
|
|
/* 02496CDC */ _t166 = cpu->r[1] + 0x000000ACu;
|
|
/* 02496CDC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t166);
|
|
/* 02496CE0 */ _t167 = cpu->r[1] + 0x000000A0u;
|
|
/* 02496CE0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t167);
|
|
/* 02496CE4 */ _t168 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02496CE4 */ rbrew_write_f32(cpu->mem, _t168, cpu->f[13]);
|
|
/* 02496CE8 */ _t169 = cpu->r[1] + 0x00000048u;
|
|
/* 02496CE8 */ rbrew_write_f32(cpu->mem, _t169, cpu->f[12]);
|
|
/* 02496CEC */ _t170 = cpu->r[1] + 0x00000030u;
|
|
/* 02496CEC */ rbrew_write_f32(cpu->mem, _t170, cpu->f[7]);
|
|
/* 02496CF0 */ _t171 = cpu->r[1] + 0x00000024u;
|
|
/* 02496CF0 */ rbrew_write_f32(cpu->mem, _t171, cpu->f[8]);
|
|
/* 02496CF4 */ _t172 = cpu->r[1] + 0x00000090u;
|
|
/* 02496CF4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t172);
|
|
/* 02496CF8 */ _t173 = cpu->r[1] + 0x00000040u;
|
|
/* 02496CF8 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[0]);
|
|
/* 02496CFC */ _t174 = cpu->r[1] + 0x00000034u;
|
|
/* 02496CFC */ rbrew_write_f32(cpu->mem, _t174, cpu->f[8]);
|
|
/* 02496D00 */ _t175 = cpu->r[1] + 0x000000B4u;
|
|
/* 02496D00 */ rbrew_write_f32(cpu->mem, _t175, cpu->f[0]);
|
|
/* 02496D04 */ _t176 = cpu->r[1] + 0x00000094u;
|
|
/* 02496D04 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t176);
|
|
/* 02496D08 */ _t177 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02496D08 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t177);
|
|
/* 02496D0C */ cpu->r[12] = cpu->r[1] + 0x00000154u;
|
|
/* 02496D10 */ _t178 = cpu->r[1] + 0x00000044u;
|
|
/* 02496D10 */ rbrew_write_f32(cpu->mem, _t178, cpu->f[11]);
|
|
/* 02496D14 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 02496D18 */ _t179 = cpu->r[1] + 0x000000B8u;
|
|
/* 02496D18 */ rbrew_write_f32(cpu->mem, _t179, cpu->f[6]);
|
|
/* 02496D1C */ _t180 = cpu->r[1] + 0x00000050u;
|
|
/* 02496D1C */ rbrew_write_f32(cpu->mem, _t180, cpu->f[6]);
|
|
/* 02496D20 */ cpu->r[6] = 0x00000003u;
|
|
/* 02496D24 */ _t181 = cpu->r[1] + 0x000000B0u;
|
|
/* 02496D24 */ rbrew_write_f32(cpu->mem, _t181, cpu->f[7]);
|
|
/* 02496D28 */ cpu->ctr = cpu->r[6];
|
|
/* 02496D2C */ _t182 = cpu->r[1] + 0x00000038u;
|
|
/* 02496D2C */ rbrew_write_f32(cpu->mem, _t182, cpu->f[9]);
|
|
L_02496D30: ; // 0x2496d30
|
|
/* 02496D30 */ _t183 = cpu->r[11] + 0x00000004u;
|
|
/* 02496D30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02496D34 */ _t184 = cpu->r[12] + 0x00000004u;
|
|
/* 02496D34 */ rbrew_write32(cpu->mem, _t184, cpu->r[7]);
|
|
/* 02496D38 */ _t185 = cpu->r[11] + 0x00000008u;
|
|
/* 02496D38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t185);
|
|
/* 02496D3C */ _t186 = cpu->r[12] + 0x00000008u;
|
|
/* 02496D3C */ rbrew_write32(cpu->mem, _t186, cpu->r[9]);
|
|
/* 02496D40 */ _t187 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02496D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02496D44 */ _t188 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02496D44 */ rbrew_write32(cpu->mem, _t188, cpu->r[0]);
|
|
/* 02496D48 */ _t189 = cpu->r[11] + 0x00000010u;
|
|
/* 02496D48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02496D48 */ cpu->r[11] = _t189;
|
|
/* 02496D4C */ _t190 = cpu->r[12] + 0x00000010u;
|
|
/* 02496D4C */ rbrew_write32(cpu->mem, _t190, cpu->r[5]);
|
|
/* 02496D4C */ cpu->r[12] = _t190;
|
|
/* 02496D50 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02496D50 */ _t191 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02496D50 */ _t192 = _t191 >> (0x00000002u & 31u);
|
|
/* 02496D50 */ _t193 = _t192 & 0x00000001u;
|
|
/* 02496D50 */ if (_t193) goto L_02496D30; else goto L_02496D54;
|
|
L_02496D54: ; // 0x2496d54
|
|
/* 02496D54 */ _t194 = cpu->r[1] + 0x00000058u;
|
|
/* 02496D54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02496D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02496D5C */ _t195 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496D5C */ _t196 = _t195 & 0x00000001u;
|
|
/* 02496D5C */ if (_t196) goto L_02496D94; else goto L_02496D60;
|
|
L_02496D60: ; // 0x2496d60
|
|
/* 02496D60 */ _t197 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02496D60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t197);
|
|
/* 02496D64 */ _t198 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02496D64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t198);
|
|
/* 02496D68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02496D6C */ _t199 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496D6C */ _t200 = _t199 & 0x00000001u;
|
|
/* 02496D6C */ if (_t200) goto L_02496D70; else goto L_02496D94;
|
|
L_02496D70: ; // 0x2496d70
|
|
/* 02496D70 */ cpu->r[3] = cpu->r[1] + 0x00000158u;
|
|
/* 02496D74 */ cpu->r[4] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02496D78 */ Gambit_fn_02C69510(cpu);
|
|
/* 02496D7C */ _t201 = cpu->r[31] + 0x0000012Cu;
|
|
/* 02496D7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02496D80 */ _t202 = cpu->r[31] + 0x00000074u;
|
|
/* 02496D80 */ rbrew_write_f32(cpu->mem, _t202, cpu->f[31]);
|
|
/* 02496D84 */ cpu->r[11] = cpu->r[11] | 0x00000008u;
|
|
/* 02496D88 */ _t203 = cpu->r[31] + 0x00000070u;
|
|
/* 02496D88 */ rbrew_write_f32(cpu->mem, _t203, cpu->f[31]);
|
|
/* 02496D8C */ _t204 = cpu->r[31] + 0x0000012Cu;
|
|
/* 02496D8C */ rbrew_write32(cpu->mem, _t204, cpu->r[11]);
|
|
/* 02496D90 */ _t205 = cpu->r[31] + 0x00000078u;
|
|
/* 02496D90 */ rbrew_write_f32(cpu->mem, _t205, cpu->f[31]);
|
|
L_02496D94: ; // 0x2496d94
|
|
/* 02496D94 */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 02496D98 */ cpu->r[4] = cpu->r[1] + 0x000000B0u;
|
|
/* 02496D9C */ Gambit_fn_028B30F0(cpu);
|
|
/* 02496DA0 */ _t206 = cpu->r[30] + 0x00000198u;
|
|
/* 02496DA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t206);
|
|
/* 02496DA4 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 02496DA8 */ _t207 = cpu->r[30] + 0x00000198u;
|
|
/* 02496DA8 */ rbrew_write32(cpu->mem, _t207, cpu->r[0]);
|
|
L_02496DAC: ; // 0x2496dac
|
|
/* 02496DAC */ /* nop */
|
|
/* 02496DB0 */ _t208 = cpu->r[1] + 0x000001C0u;
|
|
/* 02496DB0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t208);
|
|
/* 02496DB4 */ _t209 = cpu->r[1] + 0x000001D0u;
|
|
/* 02496DB4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t209);
|
|
/* 02496DB8 */ _t210 = cpu->r[1] + 0x000001B8u;
|
|
/* 02496DB8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t210);
|
|
/* 02496DBC */ _t211 = cpu->r[1] + 0x000001C8u;
|
|
/* 02496DBC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t211);
|
|
/* 02496DC0 */ _t212 = cpu->r[1] + 0x000001B0u;
|
|
/* 02496DC0 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t212);
|
|
/* 02496DC4 */ _t213 = cpu->r[1] + 0x000001E0u;
|
|
/* 02496DC4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t213);
|
|
/* 02496DC8 */ _t214 = cpu->r[1] + 0x000001A8u;
|
|
/* 02496DC8 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t214);
|
|
/* 02496DCC */ _t215 = cpu->r[1] + 0x000001D8u;
|
|
/* 02496DCC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t215);
|
|
/* 02496DD0 */ _t216 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02496DD0 */ _t217 = _t216 & 0x00000001u;
|
|
/* 02496DD0 */ if (_t217) goto L_02496DD4; // else: addr-0 trap, fall-through
|
|
L_02496DD4: ; // 0x2496dd4
|
|
/* 02496DD4 */ _t218 = cpu->r[1] + 0x000001ECu;
|
|
/* 02496DD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02496DD8 */ cpu->lr = cpu->r[0];
|
|
/* 02496DDC */ cpu->r[1] = cpu->r[1] + 0x000001E8u;
|
|
/* 02496DE0 */ return;
|
|
}
|
|
|
|
// fn_02496DE4 @ 0x2496de4
|
|
void Gambit_fn_02496DE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_02496DE4: ; // 0x2496de4
|
|
/* 02496DE4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02496DE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02496DE4 */ cpu->r[1] = _t0;
|
|
/* 02496DE8 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02496DE8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02496DEC */ /* nop */
|
|
/* 02496DF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02496DF4 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02496DF4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02496DF8 */ /* nop */
|
|
/* 02496DFC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02496DFC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02496E00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02496E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02496E04 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02496E04 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02496E08 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02496E08 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
|
|
/* 02496E0C */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02496E0C */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02496E10 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02496E10 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 02496E14 */ _t8 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02496E14 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02496E18 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496E18 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02496E18 */ if (_t10) goto L_02496E1C; else goto L_02496E2C;
|
|
L_02496E1C: ; // 0x2496e1c
|
|
/* 02496E1C */ cpu->r[3] = 0x00000368u;
|
|
/* 02496E20 */ Gambit_fn_02801A78(cpu);
|
|
/* 02496E24 */ cpu->r[31] = cpu->r[3];
|
|
/* 02496E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02496E28 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496E28 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02496E28 */ if (_t12) goto L_02497010; else goto L_02496E2C;
|
|
L_02496E2C: ; // 0x2496e2c
|
|
/* 02496E2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02496E30 */ Gambit_fn_025015D0(cpu);
|
|
/* 02496E34 */ cpu->r[29] = 0x10110000u;
|
|
/* 02496E38 */ cpu->r[11] = 0x100B0000u;
|
|
/* 02496E3C */ cpu->r[29] = cpu->r[29] + 0x00000A2Cu;
|
|
/* 02496E40 */ cpu->r[0] = 0x100B0000u;
|
|
/* 02496E44 */ cpu->r[12] = 0x100B0000u;
|
|
/* 02496E48 */ _t13 = cpu->r[11] + 0xFFFFA93Cu;
|
|
/* 02496E48 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02496E4C */ cpu->r[0] = cpu->r[0] + 0xFFFFA800u;
|
|
/* 02496E50 */ _t14 = cpu->r[12] + 0xFFFFA8B8u;
|
|
/* 02496E50 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02496E54 */ cpu->r[30] = cpu->r[31] + 0x00000188u;
|
|
/* 02496E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02496E58 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02496E58 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02496E5C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496E5C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02496E5C */ if (_t17) goto L_02496E60; else goto L_02496E70;
|
|
L_02496E60: ; // 0x2496e60
|
|
/* 02496E60 */ cpu->r[3] = 0x00000060u;
|
|
/* 02496E64 */ Gambit_fn_02801A78(cpu);
|
|
/* 02496E68 */ cpu->r[30] = cpu->r[3];
|
|
/* 02496E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02496E6C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496E6C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02496E6C */ if (_t19) goto L_02496EAC; else goto L_02496E70;
|
|
L_02496E70: ; // 0x2496e70
|
|
/* 02496E70 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02496E74 */ cpu->r[4] = cpu->r[31];
|
|
/* 02496E78 */ cpu->r[6] = 0x100B0000u;
|
|
/* 02496E7C */ cpu->r[5] = cpu->r[5] + 0xFFFFA964u;
|
|
/* 02496E80 */ cpu->r[8] = 0x00000000u;
|
|
/* 02496E84 */ cpu->r[6] = cpu->r[6] + 0xFFFFA99Cu;
|
|
/* 02496E88 */ cpu->r[7] = cpu->r[5];
|
|
/* 02496E8C */ cpu->r[3] = cpu->r[30];
|
|
/* 02496E90 */ Gambit_fn_027F84F0(cpu);
|
|
/* 02496E94 */ _t20 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02496E94 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[31]);
|
|
/* 02496E98 */ cpu->r[10] = 0x100B0000u;
|
|
/* 02496E9C */ _t21 = cpu->r[30] + 0x00000058u;
|
|
/* 02496E9C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[30]);
|
|
/* 02496EA0 */ _t22 = cpu->r[10] + 0xFFFFA940u;
|
|
/* 02496EA0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02496EA4 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 02496EA4 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 02496EA8 */ _t24 = cpu->r[30] + 0x00000054u;
|
|
/* 02496EA8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]);
|
|
L_02496EAC: ; // 0x2496eac
|
|
/* 02496EAC */ cpu->r[30] = cpu->r[31] + 0x000001E8u;
|
|
/* 02496EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02496EB0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496EB0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02496EB0 */ if (_t26) goto L_02496EB4; else goto L_02496EC4;
|
|
L_02496EB4: ; // 0x2496eb4
|
|
/* 02496EB4 */ cpu->r[3] = 0x00000060u;
|
|
/* 02496EB8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02496EBC */ cpu->r[30] = cpu->r[3];
|
|
/* 02496EBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02496EC0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496EC0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02496EC0 */ if (_t28) goto L_02496F00; else goto L_02496EC4;
|
|
L_02496EC4: ; // 0x2496ec4
|
|
/* 02496EC4 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02496EC8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02496ECC */ cpu->r[6] = 0x100B0000u;
|
|
/* 02496ED0 */ cpu->r[5] = cpu->r[5] + 0xFFFFA9A8u;
|
|
/* 02496ED4 */ cpu->r[8] = 0x00000000u;
|
|
/* 02496ED8 */ cpu->r[6] = cpu->r[6] + 0xFFFFA9B8u;
|
|
/* 02496EDC */ cpu->r[7] = cpu->r[5];
|
|
/* 02496EE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02496EE4 */ Gambit_fn_027F84F0(cpu);
|
|
/* 02496EE8 */ _t29 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02496EE8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]);
|
|
/* 02496EEC */ cpu->r[12] = 0x100B0000u;
|
|
/* 02496EF0 */ _t30 = cpu->r[30] + 0x00000058u;
|
|
/* 02496EF0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[30]);
|
|
/* 02496EF4 */ _t31 = cpu->r[12] + 0xFFFFA944u;
|
|
/* 02496EF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02496EF8 */ _t32 = cpu->r[30] + 0x00000000u;
|
|
/* 02496EF8 */ rbrew_write32(cpu->mem, _t32, cpu->r[29]);
|
|
/* 02496EFC */ _t33 = cpu->r[30] + 0x00000054u;
|
|
/* 02496EFC */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
L_02496F00: ; // 0x2496f00
|
|
/* 02496F00 */ cpu->r[9] = 0x100B0000u;
|
|
/* 02496F04 */ cpu->r[30] = cpu->r[31] + 0x00000248u;
|
|
/* 02496F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02496F08 */ _t34 = cpu->r[9] + 0xFFFFA948u;
|
|
/* 02496F08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02496F0C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496F0C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02496F0C */ if (_t36) goto L_02496F10; else goto L_02496F20;
|
|
L_02496F10: ; // 0x2496f10
|
|
/* 02496F10 */ cpu->r[3] = 0x00000060u;
|
|
/* 02496F14 */ Gambit_fn_02801A78(cpu);
|
|
/* 02496F18 */ cpu->r[30] = cpu->r[3];
|
|
/* 02496F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02496F1C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496F1C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02496F1C */ if (_t38) goto L_02496F5C; else goto L_02496F20;
|
|
L_02496F20: ; // 0x2496f20
|
|
/* 02496F20 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02496F24 */ cpu->r[4] = cpu->r[31];
|
|
/* 02496F28 */ cpu->r[6] = 0x100B0000u;
|
|
/* 02496F2C */ cpu->r[5] = cpu->r[5] + 0xFFFFA950u;
|
|
/* 02496F30 */ cpu->r[8] = 0x00000000u;
|
|
/* 02496F34 */ cpu->r[6] = cpu->r[6] + 0xFFFFA9C4u;
|
|
/* 02496F38 */ cpu->r[7] = cpu->r[5];
|
|
/* 02496F3C */ cpu->r[3] = cpu->r[30];
|
|
/* 02496F40 */ Gambit_fn_027F84F0(cpu);
|
|
/* 02496F44 */ _t39 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02496F44 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[31]);
|
|
/* 02496F48 */ cpu->r[8] = 0x100B0000u;
|
|
/* 02496F4C */ _t40 = cpu->r[30] + 0x00000058u;
|
|
/* 02496F4C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[30]);
|
|
/* 02496F50 */ _t41 = cpu->r[8] + 0xFFFFA918u;
|
|
/* 02496F50 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02496F54 */ _t42 = cpu->r[30] + 0x00000000u;
|
|
/* 02496F54 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
/* 02496F58 */ _t43 = cpu->r[30] + 0x00000054u;
|
|
/* 02496F58 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
L_02496F5C: ; // 0x2496f5c
|
|
/* 02496F5C */ cpu->r[30] = cpu->r[31] + 0x000002A8u;
|
|
/* 02496F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02496F60 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496F60 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02496F60 */ if (_t45) goto L_02496F64; else goto L_02496F74;
|
|
L_02496F64: ; // 0x2496f64
|
|
/* 02496F64 */ cpu->r[3] = 0x00000060u;
|
|
/* 02496F68 */ Gambit_fn_02801A78(cpu);
|
|
/* 02496F6C */ cpu->r[30] = cpu->r[3];
|
|
/* 02496F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02496F70 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496F70 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02496F70 */ if (_t47) goto L_02496FB0; else goto L_02496F74;
|
|
L_02496F74: ; // 0x2496f74
|
|
/* 02496F74 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02496F78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02496F7C */ cpu->r[6] = 0x100B0000u;
|
|
/* 02496F80 */ cpu->r[5] = cpu->r[5] + 0xFFFFA974u;
|
|
/* 02496F84 */ cpu->r[8] = 0x00000000u;
|
|
/* 02496F88 */ cpu->r[6] = cpu->r[6] + 0xFFFFA9D4u;
|
|
/* 02496F8C */ cpu->r[7] = cpu->r[5];
|
|
/* 02496F90 */ cpu->r[3] = cpu->r[30];
|
|
/* 02496F94 */ Gambit_fn_027F84F0(cpu);
|
|
/* 02496F98 */ _t48 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02496F98 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[31]);
|
|
/* 02496F9C */ cpu->r[12] = 0x100B0000u;
|
|
/* 02496FA0 */ _t49 = cpu->r[30] + 0x00000058u;
|
|
/* 02496FA0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[30]);
|
|
/* 02496FA4 */ _t50 = cpu->r[12] + 0xFFFFA94Cu;
|
|
/* 02496FA4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02496FA8 */ _t51 = cpu->r[30] + 0x00000000u;
|
|
/* 02496FA8 */ rbrew_write32(cpu->mem, _t51, cpu->r[29]);
|
|
/* 02496FAC */ _t52 = cpu->r[30] + 0x00000054u;
|
|
/* 02496FAC */ rbrew_write_f32(cpu->mem, _t52, cpu->f[11]);
|
|
L_02496FB0: ; // 0x2496fb0
|
|
/* 02496FB0 */ cpu->r[30] = cpu->r[31] + 0x00000308u;
|
|
/* 02496FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02496FB4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496FB4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02496FB4 */ if (_t54) goto L_02496FB8; else goto L_02496FC8;
|
|
L_02496FB8: ; // 0x2496fb8
|
|
/* 02496FB8 */ cpu->r[3] = 0x00000060u;
|
|
/* 02496FBC */ Gambit_fn_02801A78(cpu);
|
|
/* 02496FC0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02496FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02496FC4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02496FC4 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02496FC4 */ if (_t56) goto L_02497010; else goto L_02496FC8;
|
|
L_02496FC8: ; // 0x2496fc8
|
|
/* 02496FC8 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02496FCC */ cpu->r[4] = cpu->r[31];
|
|
/* 02496FD0 */ cpu->r[6] = 0x100B0000u;
|
|
/* 02496FD4 */ cpu->r[5] = cpu->r[5] + 0xFFFFA988u;
|
|
/* 02496FD8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02496FDC */ cpu->r[3] = cpu->r[30];
|
|
/* 02496FE0 */ cpu->r[7] = cpu->r[5];
|
|
/* 02496FE4 */ cpu->r[6] = cpu->r[6] + 0xFFFFA9ECu;
|
|
/* 02496FE8 */ Gambit_fn_027F84F0(cpu);
|
|
/* 02496FEC */ cpu->r[10] = 0x10110000u;
|
|
/* 02496FF0 */ cpu->r[0] = 0x0000000Cu;
|
|
/* 02496FF4 */ cpu->r[10] = cpu->r[10] + 0x0000095Cu;
|
|
/* 02496FF8 */ _t57 = cpu->r[30] + 0x00000054u;
|
|
/* 02496FF8 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 02496FFC */ cpu->r[0] = 0x0000003Cu;
|
|
/* 02497000 */ _t58 = cpu->r[30] + 0x00000000u;
|
|
/* 02497000 */ rbrew_write32(cpu->mem, _t58, cpu->r[10]);
|
|
/* 02497004 */ cpu->r[8] = 0x00000000u;
|
|
/* 02497008 */ _t59 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02497008 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 0249700C */ _t60 = cpu->r[30] + 0x00000058u;
|
|
/* 0249700C */ rbrew_write32(cpu->mem, _t60, cpu->r[8]);
|
|
L_02497010: ; // 0x2497010
|
|
/* 02497010 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497010 */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02497014 */ _t62 = cpu->r[1] + 0x00000030u;
|
|
/* 02497014 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02497018 */ _t63 = cpu->r[1] + 0x00000020u;
|
|
/* 02497018 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0249701C */ _t64 = cpu->r[1] + 0x00000028u;
|
|
/* 0249701C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 02497020 */ _t65 = cpu->r[1] + 0x00000018u;
|
|
/* 02497020 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 02497024 */ cpu->r[3] = cpu->r[31];
|
|
/* 02497028 */ _t66 = cpu->r[1] + 0x00000014u;
|
|
/* 02497028 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0249702C */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 0249702C */ cpu->r[30] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02497030 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02497030 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02497030 */ if (_t69) goto L_02497034; // else: addr-0 trap, fall-through
|
|
L_02497034: ; // 0x2497034
|
|
/* 02497034 */ _t70 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02497034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02497038 */ cpu->lr = cpu->r[0];
|
|
/* 0249703C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02497040 */ return;
|
|
}
|
|
|
|
// fn_02497044 @ 0x2497044
|
|
void Gambit_fn_02497044(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02497044: ; // 0x2497044
|
|
/* 02497044 */ cpu->r[0] = cpu->lr;
|
|
/* 02497048 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02497048 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0249704C */ cpu->r[3] = 0x00000368u;
|
|
/* 02497050 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02497050 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02497050 */ cpu->r[1] = _t1;
|
|
/* 02497054 */ Gambit_fn_02801A78(cpu);
|
|
/* 02497058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249705C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249705C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249705C */ rbrew_dispatch(cpu, (_t3) ? 0x02497060u : 0x02496de4u); return;
|
|
/* 02497060 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02497064 */ cpu->lr = cpu->r[0];
|
|
/* 02497068 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0249706C */ return;
|
|
}
|
|
|
|
// fn_02497050 @ 0x2497050
|
|
void Gambit_fn_02497050(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02497050: ; // 0x2497050
|
|
/* 02497050 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02497050 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497050 */ cpu->r[1] = _t0;
|
|
/* 02497054 */ Gambit_fn_02801A78(cpu);
|
|
/* 02497058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249705C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249705C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249705C */ rbrew_dispatch(cpu, (_t2) ? 0x02497060u : 0x02496de4u); return;
|
|
/* 02497060 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02497064 */ cpu->lr = cpu->r[0];
|
|
/* 02497068 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0249706C */ return;
|
|
}
|
|
|
|
// fn_024970A0 @ 0x24970a0
|
|
void Gambit_fn_024970A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_024970A0: ; // 0x24970a0
|
|
/* 024970A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024970A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024970A0 */ cpu->r[1] = _t0;
|
|
/* 024970A4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024970A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024970A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024970A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024970AC */ cpu->r[30] = cpu->r[3];
|
|
/* 024970B0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024970B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024970B4 */ _t4 = cpu->r[30] + 0x00000198u;
|
|
/* 024970B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024970B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024970B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024970BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024970BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 024970BC */ if (_t6) goto L_02497140; else goto L_024970C0;
|
|
L_024970C0: ; // 0x24970c0
|
|
/* 024970C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 024970C4 */ Gambit_fn_024F65FC(cpu);
|
|
/* 024970C8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 024970CC */ _t7 = cpu->r[9] + 0x000006B4u;
|
|
/* 024970CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024970CC */ cpu->r[9] = _t7;
|
|
/* 024970D0 */ cpu->r[4] = 0x101D0000u;
|
|
/* 024970D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 024970D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 024970DC */ cpu->r[4] = cpu->r[4] + 0x000006B0u;
|
|
/* 024970E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024970E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 024970E0 */ if (_t9) goto L_024970E4; else goto L_024970F8;
|
|
L_024970E4: ; // 0x24970e4
|
|
/* 024970E4 */ cpu->r[0] = 0x100B0000u;
|
|
/* 024970E8 */ cpu->r[10] = 0x00000001u;
|
|
/* 024970EC */ cpu->r[0] = cpu->r[0] + 0xFFFFA788u;
|
|
/* 024970F0 */ _t10 = cpu->r[9] + 0x00000000u;
|
|
/* 024970F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 024970F4 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 024970F4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_024970F8: ; // 0x24970f8
|
|
/* 024970F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024970FC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024970FC */ _t13 = _t12 & 0x00000001u;
|
|
/* 024970FC */ if (_t13) goto L_0249711C; else goto L_02497100;
|
|
L_02497100: ; // 0x2497100
|
|
/* 02497100 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 02497100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02497104 */ _t15 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02497104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02497108 */ cpu->ctr = cpu->r[0];
|
|
/* 0249710C */ cpu->r[3] = cpu->r[31];
|
|
/* 02497110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02497114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02497118 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497118 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02497118 */ if (_t17) goto L_0249711C; else goto L_02497120;
|
|
L_0249711C: ; // 0x249711c
|
|
/* 0249711C */ cpu->r[31] = 0x00000000u;
|
|
L_02497120: ; // 0x2497120
|
|
/* 02497120 */ _t18 = cpu->r[30] + 0x000001BCu;
|
|
/* 02497120 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02497124 */ _t19 = cpu->r[31] + 0x0000035Cu;
|
|
/* 02497124 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02497128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[11]);
|
|
/* 0249712C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249712C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0249712C */ if (_t21) goto L_02497140; else goto L_02497130;
|
|
L_02497130: ; // 0x2497130
|
|
/* 02497130 */ cpu->r[3] = cpu->r[30] + 0x000001B4u;
|
|
/* 02497134 */ cpu->r[4] = 0x00000001u;
|
|
/* 02497138 */ Gambit_fn_02497D7C(cpu);
|
|
/* 0249713C */ goto L_0249715C;
|
|
L_02497140: ; // 0x2497140
|
|
/* 02497140 */ _t22 = cpu->r[30] + 0x00000130u;
|
|
/* 02497140 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02497144 */ Gambit_fn_02398FA8(cpu);
|
|
/* 02497148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249714C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249714C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0249714C */ if (_t24) goto L_0249715C; else goto L_02497150;
|
|
L_02497150: ; // 0x2497150
|
|
/* 02497150 */ cpu->r[3] = cpu->r[30] + 0x000001B4u;
|
|
/* 02497154 */ cpu->r[4] = 0x00000000u;
|
|
/* 02497158 */ Gambit_fn_02497D7C(cpu);
|
|
L_0249715C: ; // 0x249715c
|
|
/* 0249715C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0249715C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02497160 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02497160 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02497164 */ cpu->lr = cpu->r[0];
|
|
/* 02497168 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0249716C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497170 */ return;
|
|
}
|
|
|
|
// fn_0249718C @ 0x249718c
|
|
void Gambit_fn_0249718C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0249718C: ; // 0x249718c
|
|
/* 0249718C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249718C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249718C */ cpu->r[1] = _t0;
|
|
/* 02497190 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497190 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02497194 */ cpu->r[31] = cpu->r[3];
|
|
/* 02497198 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02497198 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249719C */ _t3 = cpu->r[31] + 0x00000130u;
|
|
/* 0249719C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 024971A0 */ Gambit_fn_02398FA8(cpu);
|
|
/* 024971A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024971A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024971A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 024971A8 */ if (_t5) goto L_024971B8; else goto L_024971AC;
|
|
L_024971AC: ; // 0x24971ac
|
|
/* 024971AC */ cpu->r[3] = cpu->r[31] + 0x000001B4u;
|
|
/* 024971B0 */ cpu->r[4] = 0x00000003u;
|
|
/* 024971B4 */ Gambit_fn_02497D7C(cpu);
|
|
L_024971B8: ; // 0x24971b8
|
|
/* 024971B8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 024971B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024971BC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024971BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024971C0 */ cpu->lr = cpu->r[0];
|
|
/* 024971C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024971C8 */ return;
|
|
}
|
|
|
|
// fn_024971E4 @ 0x24971e4
|
|
void Gambit_fn_024971E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_024971E4: ; // 0x24971e4
|
|
/* 024971E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024971E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024971E4 */ cpu->r[1] = _t0;
|
|
/* 024971E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024971E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024971EC */ cpu->r[31] = cpu->r[3];
|
|
/* 024971F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024971F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024971F4 */ _t3 = cpu->r[31] + 0x00000130u;
|
|
/* 024971F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 024971F8 */ Gambit_fn_02398FA8(cpu);
|
|
/* 024971FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02497200 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497200 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02497200 */ if (_t5) goto L_02497218; else goto L_02497204;
|
|
L_02497204: ; // 0x2497204
|
|
/* 02497204 */ cpu->r[0] = 0x00000001u;
|
|
/* 02497208 */ cpu->r[3] = cpu->r[31] + 0x000001B4u;
|
|
/* 0249720C */ cpu->r[4] = 0x00000004u;
|
|
/* 02497210 */ _t6 = cpu->r[31] + 0x00000200u;
|
|
/* 02497210 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 02497214 */ Gambit_fn_02497D7C(cpu);
|
|
L_02497218: ; // 0x2497218
|
|
/* 02497218 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02497218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249721C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249721C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02497220 */ cpu->lr = cpu->r[0];
|
|
/* 02497224 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497228 */ return;
|
|
}
|
|
|
|
// fn_02497230 @ 0x2497230
|
|
void Gambit_fn_02497230(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02497230: ; // 0x2497230
|
|
/* 02497230 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02497230 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497230 */ cpu->r[1] = _t0;
|
|
/* 02497234 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497234 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02497238 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02497238 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249723C */ cpu->r[31] = cpu->r[3];
|
|
/* 02497240 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02497240 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02497244 */ _t4 = cpu->r[31] + 0x00000130u;
|
|
/* 02497244 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02497248 */ _t5 = cpu->r[30] + 0x00000018u;
|
|
/* 02497248 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0249724C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02497250 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497250 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02497250 */ if (_t7) goto L_02497254; else goto L_0249727C;
|
|
L_02497254: ; // 0x2497254
|
|
/* 02497254 */ cpu->r[4] = 0x100B0000u;
|
|
/* 02497258 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249725C */ cpu->r[5] = 0x00000001u;
|
|
/* 02497260 */ cpu->r[4] = cpu->r[4] + 0xFFFFAA18u;
|
|
/* 02497264 */ Gambit_fn_02398850(cpu);
|
|
/* 02497268 */ _t8 = cpu->r[31] + 0x00000130u;
|
|
/* 02497268 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249726C */ cpu->r[3] = cpu->r[30];
|
|
/* 02497270 */ Gambit_fn_02398D60(cpu);
|
|
/* 02497274 */ cpu->r[3] = cpu->r[30];
|
|
/* 02497278 */ Gambit_fn_02398CF8(cpu);
|
|
L_0249727C: ; // 0x249727c
|
|
/* 0249727C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0249727C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02497280 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02497280 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02497284 */ cpu->lr = cpu->r[0];
|
|
/* 02497288 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497288 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249728C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497290 */ return;
|
|
}
|
|
|
|
// fn_02497294 @ 0x2497294
|
|
void Gambit_fn_02497294(CPUState* 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_02497294: ; // 0x2497294
|
|
/* 02497294 */ cpu->r[0] = cpu->lr;
|
|
/* 02497298 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0249729C */ cpu->r[3] = cpu->r[3] + 0xFFFF8178u;
|
|
/* 024972A0 */ cpu->r[6] = 0x101F0000u;
|
|
/* 024972A4 */ cpu->r[9] = 0x100B0000u;
|
|
/* 024972A8 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 024972AC */ cpu->r[12] = 0x101F0000u;
|
|
/* 024972B0 */ cpu->r[8] = 0x101F0000u;
|
|
/* 024972B4 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 024972B8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 024972B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 024972BC */ cpu->r[9] = cpu->r[9] + 0xFFFFA7E8u;
|
|
/* 024972C0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024972C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 024972C0 */ cpu->r[1] = _t1;
|
|
/* 024972C4 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 024972C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 024972C8 */ cpu->r[12] = cpu->r[12] + 0xFFFF8164u;
|
|
/* 024972CC */ _t3 = cpu->r[8] + 0xFFFF814Cu;
|
|
/* 024972CC */ rbrew_write32(cpu->mem, _t3, cpu->r[5]);
|
|
/* 024972CC */ cpu->r[8] = _t3;
|
|
/* 024972D0 */ cpu->r[10] = 0x100B0000u;
|
|
/* 024972D4 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 024972D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 024972D8 */ cpu->r[7] = 0x100B0000u;
|
|
/* 024972DC */ cpu->r[11] = 0x101F0000u;
|
|
/* 024972E0 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 024972E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 024972E4 */ cpu->r[7] = cpu->r[7] + 0xFFFFAA20u;
|
|
/* 024972E8 */ _t6 = cpu->r[11] + 0xFFFF815Cu;
|
|
/* 024972E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 024972E8 */ cpu->r[11] = _t6;
|
|
/* 024972EC */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 024972F0 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 024972F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 024972F4 */ cpu->r[8] = 0x00000002u;
|
|
/* 024972F8 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 024972F8 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 024972FC */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 024972FC */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02497300 */ cpu->r[10] = cpu->r[10] + 0xFFFFA6E8u;
|
|
/* 02497304 */ _t10 = cpu->r[6] + 0xFFFF8154u;
|
|
/* 02497304 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02497304 */ cpu->r[6] = _t10;
|
|
/* 02497308 */ cpu->r[11] = 0x02490000u;
|
|
/* 0249730C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0249730C */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 02497310 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02497310 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02497314 */ cpu->r[11] = cpu->r[11] + 0x00007EECu;
|
|
/* 02497318 */ _t13 = cpu->r[6] + 0x00000004u;
|
|
/* 02497318 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 0249731C */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 0249731C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02497320 */ _t15 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02497320 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02497324 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02497328 */ _t16 = cpu->r[6] + 0xFFFF816Cu;
|
|
/* 02497328 */ rbrew_write32(cpu->mem, _t16, cpu->r[5]);
|
|
/* 02497328 */ cpu->r[6] = _t16;
|
|
/* 0249732C */ cpu->r[0] = 0x00000004u;
|
|
/* 02497330 */ _t17 = cpu->r[6] + 0x00000004u;
|
|
/* 02497330 */ rbrew_write32(cpu->mem, _t17, cpu->r[4]);
|
|
/* 02497334 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02497338 */ _t18 = cpu->r[3] + 0x00000010u;
|
|
/* 02497338 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 0249733C */ _t19 = cpu->r[12] + 0xFFFF8174u;
|
|
/* 0249733C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02497340 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02497344 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02497348 */ cpu->r[3] = cpu->r[3] + 0x00006230u;
|
|
/* 0249734C */ Gambit_fn_02C83090(cpu);
|
|
/* 02497350 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02497350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02497354 */ cpu->lr = cpu->r[0];
|
|
/* 02497358 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249735C */ return;
|
|
}
|
|
|
|
// fn_024972C0 @ 0x24972c0
|
|
void Gambit_fn_024972C0(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_024972C0: ; // 0x24972c0
|
|
/* 024972C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024972C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024972C0 */ cpu->r[1] = _t0;
|
|
/* 024972C4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 024972C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 024972C8 */ cpu->r[12] = cpu->r[12] + 0xFFFF8164u;
|
|
/* 024972CC */ _t2 = cpu->r[8] + 0xFFFF814Cu;
|
|
/* 024972CC */ rbrew_write32(cpu->mem, _t2, cpu->r[5]);
|
|
/* 024972CC */ cpu->r[8] = _t2;
|
|
/* 024972D0 */ cpu->r[10] = 0x100B0000u;
|
|
/* 024972D4 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 024972D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 024972D8 */ cpu->r[7] = 0x100B0000u;
|
|
/* 024972DC */ cpu->r[11] = 0x101F0000u;
|
|
/* 024972E0 */ _t4 = cpu->r[8] + 0x00000004u;
|
|
/* 024972E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 024972E4 */ cpu->r[7] = cpu->r[7] + 0xFFFFAA20u;
|
|
/* 024972E8 */ _t5 = cpu->r[11] + 0xFFFF815Cu;
|
|
/* 024972E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 024972E8 */ cpu->r[11] = _t5;
|
|
/* 024972EC */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 024972F0 */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 024972F0 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
|
|
/* 024972F4 */ cpu->r[8] = 0x00000002u;
|
|
/* 024972F8 */ _t7 = cpu->r[11] + 0x00000004u;
|
|
/* 024972F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 024972FC */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 024972FC */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02497300 */ cpu->r[10] = cpu->r[10] + 0xFFFFA6E8u;
|
|
/* 02497304 */ _t9 = cpu->r[6] + 0xFFFF8154u;
|
|
/* 02497304 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02497304 */ cpu->r[6] = _t9;
|
|
/* 02497308 */ cpu->r[11] = 0x02490000u;
|
|
/* 0249730C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0249730C */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02497310 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02497310 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02497314 */ cpu->r[11] = cpu->r[11] + 0x00007EECu;
|
|
/* 02497318 */ _t12 = cpu->r[6] + 0x00000004u;
|
|
/* 02497318 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 0249731C */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 0249731C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02497320 */ _t14 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02497320 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02497324 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02497328 */ _t15 = cpu->r[6] + 0xFFFF816Cu;
|
|
/* 02497328 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 02497328 */ cpu->r[6] = _t15;
|
|
/* 0249732C */ cpu->r[0] = 0x00000004u;
|
|
/* 02497330 */ _t16 = cpu->r[6] + 0x00000004u;
|
|
/* 02497330 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 02497334 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02497338 */ _t17 = cpu->r[3] + 0x00000010u;
|
|
/* 02497338 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 0249733C */ _t18 = cpu->r[12] + 0xFFFF8174u;
|
|
/* 0249733C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02497340 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02497344 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02497348 */ cpu->r[3] = cpu->r[3] + 0x00006230u;
|
|
/* 0249734C */ Gambit_fn_02C83090(cpu);
|
|
/* 02497350 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02497350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02497354 */ cpu->lr = cpu->r[0];
|
|
/* 02497358 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249735C */ return;
|
|
}
|
|
|
|
// fn_02497360 @ 0x2497360
|
|
void Gambit_fn_02497360(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_02497360: ; // 0x2497360
|
|
/* 02497360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02497364 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497364 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02497364 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02497364 */ goto L_02497368;
|
|
L_02497368: ; // 0x2497368
|
|
/* 02497368 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02497368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249736C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249736C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249736C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249736C */ goto L_02497370;
|
|
L_02497370: ; // 0x2497370
|
|
/* 02497370 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02497374 @ 0x2497374
|
|
void Gambit_fn_02497374(CPUState* cpu) {
|
|
L_02497374: ; // 0x2497374
|
|
/* 02497374 */ return;
|
|
}
|
|
|
|
// fn_02497378 @ 0x2497378
|
|
void Gambit_fn_02497378(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_02497378: ; // 0x2497378
|
|
/* 02497378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249737C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249737C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249737C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249737C */ goto L_02497380;
|
|
L_02497380: ; // 0x2497380
|
|
/* 02497380 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02497380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02497384 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497384 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02497384 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02497384 */ goto L_02497388;
|
|
L_02497388: ; // 0x2497388
|
|
/* 02497388 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249738C @ 0x249738c
|
|
void Gambit_fn_0249738C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0249738C: ; // 0x249738c
|
|
/* 0249738C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0249738C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02497390 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02497390 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02497394 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02497398 */ cpu->r[11] = 0x10110000u;
|
|
/* 0249739C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0249739C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 024973A0 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 024973A0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 024973A4 */ return;
|
|
}
|
|
|
|
// fn_024973A8 @ 0x24973a8
|
|
void Gambit_fn_024973A8(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_024973A8: ; // 0x24973a8
|
|
/* 024973A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024973AC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024973AC */ _t1 = _t0 & 0x00000001u;
|
|
/* 024973AC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024973AC */ goto L_024973B0;
|
|
L_024973B0: ; // 0x24973b0
|
|
/* 024973B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024973B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024973B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024973B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 024973B4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024973B4 */ goto L_024973B8;
|
|
L_024973B8: ; // 0x24973b8
|
|
/* 024973B8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_024973BC @ 0x24973bc
|
|
void Gambit_fn_024973BC(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_024973BC: ; // 0x24973bc
|
|
/* 024973BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024973C0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024973C0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 024973C0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024973C0 */ goto L_024973C4;
|
|
L_024973C4: ; // 0x24973c4
|
|
/* 024973C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024973C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024973C8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024973C8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 024973C8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024973C8 */ goto L_024973CC;
|
|
L_024973CC: ; // 0x24973cc
|
|
/* 024973CC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_024973D0 @ 0x24973d0
|
|
void Gambit_fn_024973D0(CPUState* cpu) {
|
|
L_024973D0: ; // 0x24973d0
|
|
/* 024973D0 */ return;
|
|
}
|
|
|
|
// fn_024973D4 @ 0x24973d4
|
|
void Gambit_fn_024973D4(CPUState* cpu) {
|
|
L_024973D4: ; // 0x24973d4
|
|
/* 024973D4 */ return;
|
|
}
|
|
|
|
// fn_024973D8 @ 0x24973d8
|
|
void Gambit_fn_024973D8(CPUState* cpu) {
|
|
L_024973D8: ; // 0x24973d8
|
|
/* 024973D8 */ return;
|
|
}
|
|
|
|
// fn_024973DC @ 0x24973dc
|
|
void Gambit_fn_024973DC(CPUState* cpu) {
|
|
L_024973DC: ; // 0x24973dc
|
|
/* 024973DC */ return;
|
|
}
|
|
|
|
// fn_024973E0 @ 0x24973e0
|
|
void Gambit_fn_024973E0(CPUState* cpu) {
|
|
L_024973E0: ; // 0x24973e0
|
|
/* 024973E0 */ return;
|
|
}
|
|
|
|
// fn_024973E4 @ 0x24973e4
|
|
void Gambit_fn_024973E4(CPUState* cpu) {
|
|
L_024973E4: ; // 0x24973e4
|
|
/* 024973E4 */ return;
|
|
}
|
|
|
|
// fn_024973E8 @ 0x24973e8
|
|
void Gambit_fn_024973E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_024973E8: ; // 0x24973e8
|
|
/* 024973E8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 024973E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 024973EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 024973F0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024973F0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 024973F0 */ if (_t2) goto L_024973FC; else goto L_024973F4;
|
|
L_024973F4: ; // 0x24973f4
|
|
/* 024973F4 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 024973F8 */ return;
|
|
L_024973FC: ; // 0x24973fc
|
|
/* 024973FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02497400 */ return;
|
|
}
|
|
|
|
// fn_02497404 @ 0x2497404
|
|
void Gambit_fn_02497404(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02497404: ; // 0x2497404
|
|
/* 02497404 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02497404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02497408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249740C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249740C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249740C */ if (_t2) goto L_02497418; else goto L_02497410;
|
|
L_02497410: ; // 0x2497410
|
|
/* 02497410 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02497414 */ return;
|
|
L_02497418: ; // 0x2497418
|
|
/* 02497418 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249741C */ return;
|
|
}
|
|
|
|
// fn_02497420 @ 0x2497420
|
|
void Gambit_fn_02497420(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02497420: ; // 0x2497420
|
|
/* 02497420 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02497420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02497424 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02497424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02497428 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497428 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02497428 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02497428 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02497428 */ goto L_0249742C;
|
|
L_0249742C: ; // 0x249742c
|
|
/* 0249742C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0249742C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02497430 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02497430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02497434 */ cpu->ctr = cpu->r[0];
|
|
/* 02497438 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249743C @ 0x249743c
|
|
void Gambit_fn_0249743C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249743C: ; // 0x249743c
|
|
/* 0249743C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249743C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02497440 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02497440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02497444 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497444 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02497444 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02497444 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02497444 */ goto L_02497448;
|
|
L_02497448: ; // 0x2497448
|
|
/* 02497448 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02497448 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249744C */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0249744C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02497450 */ cpu->ctr = cpu->r[0];
|
|
/* 02497454 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02497458 @ 0x2497458
|
|
void Gambit_fn_02497458(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02497458: ; // 0x2497458
|
|
/* 02497458 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02497458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249745C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249745C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02497460 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497460 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02497460 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02497460 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02497460 */ goto L_02497464;
|
|
L_02497464: ; // 0x2497464
|
|
/* 02497464 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02497464 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02497468 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02497468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249746C */ cpu->ctr = cpu->r[0];
|
|
/* 02497470 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02497474 @ 0x2497474
|
|
void Gambit_fn_02497474(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02497474: ; // 0x2497474
|
|
/* 02497474 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02497474 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02497478 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02497478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249747C */ cpu->ctr = cpu->r[0];
|
|
/* 02497480 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02497484 @ 0x2497484
|
|
void Gambit_fn_02497484(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02497484: ; // 0x2497484
|
|
/* 02497484 */ cpu->r[0] = cpu->lr;
|
|
/* 02497488 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02497488 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497488 */ cpu->r[1] = _t0;
|
|
/* 0249748C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249748C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02497490 */ cpu->r[31] = cpu->r[3];
|
|
/* 02497494 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02497494 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02497498 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02497498 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249749C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 024974A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024974A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 024974A0 */ if (_t5) goto L_024974A4; else goto L_024974C0;
|
|
L_024974A4: ; // 0x24974a4
|
|
/* 024974A4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 024974A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024974A8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 024974A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024974AC */ cpu->ctr = cpu->r[0];
|
|
/* 024974B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024974B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024974B8 */ cpu->r[0] = 0x00000002u;
|
|
/* 024974BC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 024974BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_024974C0: ; // 0x24974c0
|
|
/* 024974C0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 024974C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024974C4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024974C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024974C8 */ cpu->lr = cpu->r[0];
|
|
/* 024974CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024974D0 */ return;
|
|
}
|
|
|
|
// fn_02497488 @ 0x2497488
|
|
void Gambit_fn_02497488(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02497488: ; // 0x2497488
|
|
/* 02497488 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02497488 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497488 */ cpu->r[1] = _t0;
|
|
/* 0249748C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249748C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02497490 */ cpu->r[31] = cpu->r[3];
|
|
/* 02497494 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02497494 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02497498 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02497498 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249749C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 024974A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024974A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 024974A0 */ if (_t5) goto L_024974A4; else goto L_024974C0;
|
|
L_024974A4: ; // 0x24974a4
|
|
/* 024974A4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 024974A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024974A8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 024974A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024974AC */ cpu->ctr = cpu->r[0];
|
|
/* 024974B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024974B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024974B8 */ cpu->r[0] = 0x00000002u;
|
|
/* 024974BC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 024974BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_024974C0: ; // 0x24974c0
|
|
/* 024974C0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 024974C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024974C4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024974C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024974C8 */ cpu->lr = cpu->r[0];
|
|
/* 024974CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024974D0 */ return;
|
|
}
|
|
|
|
// fn_024974DC @ 0x24974dc
|
|
void Gambit_fn_024974DC(CPUState* cpu) {
|
|
L_024974DC: ; // 0x24974dc
|
|
/* 024974DC */ return;
|
|
}
|
|
|
|
// fn_024974E0 @ 0x24974e0
|
|
void Gambit_fn_024974E0(CPUState* cpu) {
|
|
L_024974E0: ; // 0x24974e0
|
|
/* 024974E0 */ return;
|
|
}
|
|
|
|
// fn_024974E4 @ 0x24974e4
|
|
void Gambit_fn_024974E4(CPUState* cpu) {
|
|
L_024974E4: ; // 0x24974e4
|
|
/* 024974E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 024974E8 */ return;
|
|
}
|
|
|
|
// fn_024974EC @ 0x24974ec
|
|
void Gambit_fn_024974EC(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_024974EC: ; // 0x24974ec
|
|
/* 024974EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024974F0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024974F0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 024974F0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024974F0 */ goto L_024974F4;
|
|
L_024974F4: ; // 0x24974f4
|
|
/* 024974F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024974F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024974F8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024974F8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 024974F8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024974F8 */ goto L_024974FC;
|
|
L_024974FC: ; // 0x24974fc
|
|
/* 024974FC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02497500 @ 0x2497500
|
|
void Gambit_fn_02497500(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02497500: ; // 0x2497500
|
|
/* 02497500 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02497504 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 02497504 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02497504 */ cpu->r[10] = _t0;
|
|
/* 02497508 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02497508 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 0249750C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0249750C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02497510 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02497510 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02497514 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 02497514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02497518 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02497518 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0249751C */ return;
|
|
}
|
|
|
|
// fn_02497520 @ 0x2497520
|
|
void Gambit_fn_02497520(CPUState* cpu) {
|
|
L_02497520: ; // 0x2497520
|
|
/* 02497520 */ return;
|
|
}
|
|
|
|
// fn_02497524 @ 0x2497524
|
|
void Gambit_fn_02497524(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02497524: ; // 0x2497524
|
|
/* 02497524 */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 02497524 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02497528 */ return;
|
|
}
|
|
|
|
// fn_0249752C @ 0x249752c
|
|
void Gambit_fn_0249752C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249752C: ; // 0x249752c
|
|
/* 0249752C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249752C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02497530 */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 02497530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02497534 */ cpu->ctr = cpu->r[0];
|
|
/* 02497538 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249753C @ 0x249753c
|
|
void Gambit_fn_0249753C(CPUState* cpu) {
|
|
L_0249753C: ; // 0x249753c
|
|
/* 0249753C */ return;
|
|
}
|
|
|
|
// fn_02497540 @ 0x2497540
|
|
void Gambit_fn_02497540(CPUState* cpu) {
|
|
L_02497540: ; // 0x2497540
|
|
/* 02497540 */ return;
|
|
}
|
|
|
|
// fn_02497544 @ 0x2497544
|
|
void Gambit_fn_02497544(CPUState* cpu) {
|
|
L_02497544: ; // 0x2497544
|
|
/* 02497544 */ return;
|
|
}
|
|
|
|
// fn_02497548 @ 0x2497548
|
|
void Gambit_fn_02497548(CPUState* cpu) {
|
|
L_02497548: ; // 0x2497548
|
|
/* 02497548 */ return;
|
|
}
|
|
|
|
// fn_0249754C @ 0x249754c
|
|
void Gambit_fn_0249754C(CPUState* cpu) {
|
|
L_0249754C: ; // 0x249754c
|
|
/* 0249754C */ return;
|
|
}
|
|
|
|
// fn_02497550 @ 0x2497550
|
|
void Gambit_fn_02497550(CPUState* cpu) {
|
|
L_02497550: ; // 0x2497550
|
|
/* 02497550 */ return;
|
|
}
|
|
|
|
// fn_02497554 @ 0x2497554
|
|
void Gambit_fn_02497554(CPUState* cpu) {
|
|
L_02497554: ; // 0x2497554
|
|
/* 02497554 */ return;
|
|
}
|
|
|
|
// fn_02497558 @ 0x2497558
|
|
void Gambit_fn_02497558(CPUState* cpu) {
|
|
L_02497558: ; // 0x2497558
|
|
/* 02497558 */ return;
|
|
}
|
|
|
|
// fn_0249755C @ 0x249755c
|
|
void Gambit_fn_0249755C(CPUState* cpu) {
|
|
L_0249755C: ; // 0x249755c
|
|
/* 0249755C */ return;
|
|
}
|
|
|
|
// fn_02497560 @ 0x2497560
|
|
void Gambit_fn_02497560(CPUState* cpu) {
|
|
L_02497560: ; // 0x2497560
|
|
/* 02497560 */ return;
|
|
}
|
|
|
|
// fn_02497564 @ 0x2497564
|
|
void Gambit_fn_02497564(CPUState* cpu) {
|
|
L_02497564: ; // 0x2497564
|
|
/* 02497564 */ cpu->r[3] = 0x00000000u;
|
|
/* 02497568 */ return;
|
|
}
|
|
|
|
// fn_0249756C @ 0x249756c
|
|
void Gambit_fn_0249756C(CPUState* cpu) {
|
|
L_0249756C: ; // 0x249756c
|
|
/* 0249756C */ return;
|
|
}
|
|
|
|
// fn_02497570 @ 0x2497570
|
|
void Gambit_fn_02497570(CPUState* cpu) {
|
|
L_02497570: ; // 0x2497570
|
|
/* 02497570 */ return;
|
|
}
|
|
|
|
// fn_02497574 @ 0x2497574
|
|
void Gambit_fn_02497574(CPUState* cpu) {
|
|
L_02497574: ; // 0x2497574
|
|
/* 02497574 */ cpu->r[3] = 0x00000001u;
|
|
/* 02497578 */ return;
|
|
}
|
|
|
|
// fn_0249757C @ 0x249757c
|
|
void Gambit_fn_0249757C(CPUState* cpu) {
|
|
L_0249757C: ; // 0x249757c
|
|
/* 0249757C */ cpu->r[3] = 0x00000000u;
|
|
/* 02497580 */ return;
|
|
}
|
|
|
|
// fn_02497584 @ 0x2497584
|
|
void Gambit_fn_02497584(CPUState* cpu) {
|
|
L_02497584: ; // 0x2497584
|
|
/* 02497584 */ cpu->r[3] = 0x00000000u;
|
|
/* 02497588 */ return;
|
|
}
|
|
|
|
// fn_0249758C @ 0x249758c
|
|
void Gambit_fn_0249758C(CPUState* cpu) {
|
|
L_0249758C: ; // 0x249758c
|
|
/* 0249758C */ cpu->r[3] = 0x00000000u;
|
|
/* 02497590 */ return;
|
|
}
|
|
|
|
// fn_02497594 @ 0x2497594
|
|
void Gambit_fn_02497594(CPUState* cpu) {
|
|
L_02497594: ; // 0x2497594
|
|
/* 02497594 */ cpu->r[3] = 0x00000000u;
|
|
/* 02497598 */ return;
|
|
}
|
|
|
|
// fn_0249759C @ 0x249759c
|
|
void Gambit_fn_0249759C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0249759C: ; // 0x249759c
|
|
/* 0249759C */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 0249759C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 024975A0 */ return;
|
|
}
|
|
|
|
// fn_024975A4 @ 0x24975a4
|
|
void Gambit_fn_024975A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024975A4: ; // 0x24975a4
|
|
/* 024975A4 */ _t0 = cpu->r[4] + 0x00000078u;
|
|
/* 024975A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 024975A8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 024975A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 024975AC */ _t2 = cpu->r[4] + 0x0000007Cu;
|
|
/* 024975AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024975B0 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 024975B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024975B4 */ _t4 = cpu->r[4] + 0x00000080u;
|
|
/* 024975B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024975B8 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 024975B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 024975BC */ return;
|
|
}
|
|
|
|
// fn_024975C0 @ 0x24975c0
|
|
void Gambit_fn_024975C0(CPUState* cpu) {
|
|
L_024975C0: ; // 0x24975c0
|
|
/* 024975C0 */ cpu->r[3] = 0x100B0000u;
|
|
/* 024975C4 */ cpu->r[3] = cpu->r[3] + 0xFFFFA7F4u;
|
|
/* 024975C8 */ return;
|
|
}
|
|
|
|
// fn_024975CC @ 0x24975cc
|
|
void Gambit_fn_024975CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_024975CC: ; // 0x24975cc
|
|
/* 024975CC */ cpu->r[10] = 0x101D0000u;
|
|
/* 024975D0 */ _t0 = cpu->r[10] + 0x000006ACu;
|
|
/* 024975D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 024975D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024975D8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 024975DC */ cpu->r[10] = cpu->r[10] + 0x000006A8u;
|
|
/* 024975E0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024975E0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 024975E0 */ if (_t2) goto L_024975E4; else goto L_024975FC;
|
|
L_024975E4: ; // 0x24975e4
|
|
/* 024975E4 */ cpu->r[0] = 0x100B0000u;
|
|
/* 024975E8 */ cpu->r[9] = 0x00000001u;
|
|
/* 024975EC */ cpu->r[11] = 0x101D0000u;
|
|
/* 024975F0 */ cpu->r[0] = cpu->r[0] + 0xFFFFA798u;
|
|
/* 024975F4 */ _t3 = cpu->r[11] + 0x000006ACu;
|
|
/* 024975F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 024975F8 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 024975F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_024975FC: ; // 0x24975fc
|
|
/* 024975FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02497600 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497600 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02497600 */ if (_t6) goto L_02497604; else goto L_0249760C;
|
|
L_02497604: ; // 0x2497604
|
|
/* 02497604 */ cpu->r[3] = 0x00000001u;
|
|
/* 02497608 */ return;
|
|
L_0249760C: ; // 0x249760c
|
|
/* 0249760C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02497610 */ _t7 = cpu->r[9] + 0xFFFFDDF0u;
|
|
/* 02497610 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02497614 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02497618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0249761C */ cpu->r[11] = cpu->r[11] + 0xFFFFFF40u;
|
|
/* 02497620 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497620 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02497620 */ if (_t9) goto L_02497624; else goto L_0249763C;
|
|
L_02497624: ; // 0x2497624
|
|
/* 02497624 */ cpu->r[9] = 0x100B0000u;
|
|
/* 02497628 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249762C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02497630 */ cpu->r[9] = cpu->r[9] + 0xFFFFA768u;
|
|
/* 02497634 */ _t10 = cpu->r[10] + 0xFFFFDDF0u;
|
|
/* 02497634 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02497638 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02497638 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_0249763C: ; // 0x249763c
|
|
/* 0249763C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02497640 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497640 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02497640 */ if (_t13) goto L_02497644; else goto L_0249764C;
|
|
L_02497644: ; // 0x2497644
|
|
/* 02497644 */ cpu->r[0] = 0x00000001u;
|
|
/* 02497648 */ goto L_02497704;
|
|
L_0249764C: ; // 0x249764c
|
|
/* 0249764C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02497650 */ _t14 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 02497650 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02497654 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02497658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0249765C */ cpu->r[9] = cpu->r[9] + 0xFFFFFBBCu;
|
|
/* 02497660 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497660 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02497660 */ if (_t16) goto L_02497664; else goto L_0249767C;
|
|
L_02497664: ; // 0x2497664
|
|
/* 02497664 */ cpu->r[11] = 0x100B0000u;
|
|
/* 02497668 */ cpu->r[10] = 0x00000001u;
|
|
/* 0249766C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02497670 */ cpu->r[11] = cpu->r[11] + 0xFFFFA758u;
|
|
/* 02497674 */ _t17 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 02497674 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02497678 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 02497678 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_0249767C: ; // 0x249767c
|
|
/* 0249767C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 02497680 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497680 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02497680 */ if (_t20) goto L_02497684; else goto L_0249768C;
|
|
L_02497684: ; // 0x2497684
|
|
/* 02497684 */ cpu->r[0] = 0x00000001u;
|
|
/* 02497688 */ goto L_02497700;
|
|
L_0249768C: ; // 0x249768c
|
|
/* 0249768C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02497690 */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 02497690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02497690 */ cpu->r[9] = _t21;
|
|
/* 02497694 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02497698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249769C */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 024976A0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024976A0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 024976A0 */ if (_t23) goto L_024976A4; else goto L_024976B8;
|
|
L_024976A4: ; // 0x24976a4
|
|
/* 024976A4 */ cpu->r[0] = 0x100B0000u;
|
|
/* 024976A8 */ cpu->r[11] = 0x00000001u;
|
|
/* 024976AC */ cpu->r[0] = cpu->r[0] + 0xFFFFA748u;
|
|
/* 024976B0 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 024976B0 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 024976B4 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 024976B4 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_024976B8: ; // 0x24976b8
|
|
/* 024976B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 024976BC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024976BC */ _t27 = _t26 & 0x00000001u;
|
|
/* 024976BC */ if (_t27) goto L_024976C0; else goto L_024976C8;
|
|
L_024976C0: ; // 0x24976c0
|
|
/* 024976C0 */ cpu->r[0] = 0x00000001u;
|
|
/* 024976C4 */ goto L_02497700;
|
|
L_024976C8: ; // 0x24976c8
|
|
/* 024976C8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 024976CC */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 024976CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 024976CC */ cpu->r[10] = _t28;
|
|
/* 024976D0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 024976D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 024976D8 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 024976DC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024976DC */ _t30 = _t29 & 0x00000001u;
|
|
/* 024976DC */ if (_t30) goto L_024976E0; else goto L_024976F4;
|
|
L_024976E0: ; // 0x24976e0
|
|
/* 024976E0 */ cpu->r[9] = 0x100B0000u;
|
|
/* 024976E4 */ cpu->r[0] = 0x00000001u;
|
|
/* 024976E8 */ cpu->r[9] = cpu->r[9] + 0xFFFFA6D8u;
|
|
/* 024976EC */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 024976EC */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 024976F0 */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 024976F0 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_024976F4: ; // 0x24976f4
|
|
/* 024976F4 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 024976F8 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 024976FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02497700: ; // 0x2497700
|
|
/* 02497700 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02497704: ; // 0x2497704
|
|
/* 02497704 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02497708 */ return;
|
|
}
|
|
|
|
// fn_02497714 @ 0x2497714
|
|
void Gambit_fn_02497714(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02497714: ; // 0x2497714
|
|
/* 02497714 */ cpu->r[3] = cpu->r[3] + 0x000001B4u;
|
|
/* 02497718 */ goto L_02497E7C;
|
|
L_02497E7C: ; // 0x2497e7c
|
|
/* 02497E7C */ cpu->r[0] = cpu->lr;
|
|
/* 02497E80 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02497E80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497E80 */ cpu->r[1] = _t0;
|
|
/* 02497E84 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497E84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02497E88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02497E8C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02497E8C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02497E90 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02497E90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02497E94 */ cpu->r[12] = 0x00000000u;
|
|
/* 02497E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02497E9C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02497E9C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02497EA0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497EA0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02497EA0 */ if (_t6) goto L_02497EC8; else goto L_02497EA4;
|
|
L_02497EA4: ; // 0x2497ea4
|
|
/* 02497EA4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02497EA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02497EA8 */ /* nop */
|
|
/* 02497EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02497EB0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497EB0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02497EB0 */ if (_t9) goto L_02497EB4; else goto L_02497EC8;
|
|
L_02497EB4: ; // 0x2497eb4
|
|
/* 02497EB4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02497EB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02497EB8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02497EB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02497EBC */ cpu->ctr = cpu->r[0];
|
|
/* 02497EC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02497EC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02497EC8: ; // 0x2497ec8
|
|
/* 02497EC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02497ECC */ Gambit_fn_02497DF4(cpu);
|
|
/* 02497ED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02497ED4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02497ED8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02497ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02497EDC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497EDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02497EE0 */ cpu->lr = cpu->r[0];
|
|
/* 02497EE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497EE8 */ return;
|
|
}
|
|
|
|
// fn_0249771C @ 0x249771c
|
|
void Gambit_fn_0249771C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249771C: ; // 0x249771c
|
|
/* 0249771C */ cpu->r[0] = cpu->lr;
|
|
/* 02497720 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02497720 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497720 */ cpu->r[1] = _t0;
|
|
/* 02497724 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497724 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02497728 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02497728 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249772C */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0249772C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02497730 */ cpu->r[31] = cpu->r[3];
|
|
/* 02497734 */ /* nop */
|
|
/* 02497738 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0249773C */ cpu->r[3] = cpu->r[31];
|
|
/* 02497740 */ Gambit_fn_02497CF4(cpu);
|
|
/* 02497744 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02497744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02497748 */ cpu->lr = cpu->r[0];
|
|
/* 0249774C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249774C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02497750 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497754 */ return;
|
|
}
|
|
|
|
// fn_02497720 @ 0x2497720
|
|
void Gambit_fn_02497720(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02497720: ; // 0x2497720
|
|
/* 02497720 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02497720 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497720 */ cpu->r[1] = _t0;
|
|
/* 02497724 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497724 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02497728 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02497728 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249772C */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0249772C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02497730 */ cpu->r[31] = cpu->r[3];
|
|
/* 02497734 */ /* nop */
|
|
/* 02497738 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0249773C */ cpu->r[3] = cpu->r[31];
|
|
/* 02497740 */ Gambit_fn_02497CF4(cpu);
|
|
/* 02497744 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02497744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02497748 */ cpu->lr = cpu->r[0];
|
|
/* 0249774C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249774C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02497750 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497754 */ return;
|
|
}
|
|
|
|
// fn_02497758 @ 0x2497758
|
|
void Gambit_fn_02497758(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02497758: ; // 0x2497758
|
|
/* 02497758 */ cpu->r[0] = cpu->lr;
|
|
/* 0249775C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249775C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249775C */ cpu->r[1] = _t0;
|
|
/* 02497760 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497760 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02497764 */ cpu->r[31] = cpu->r[3];
|
|
/* 02497768 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02497768 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249776C */ _t3 = cpu->r[31] + 0x000001C2u;
|
|
/* 0249776C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02497770 */ cpu->r[3] = cpu->r[31] + 0x000001B4u;
|
|
/* 02497774 */ /* nop */
|
|
/* 02497778 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0249777C */ cpu->r[3] = cpu->r[31] + 0x000001B4u;
|
|
/* 02497780 */ Gambit_fn_02497CF4(cpu);
|
|
/* 02497784 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02497784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02497788 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249778C */ cpu->lr = cpu->r[0];
|
|
/* 02497790 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497794 */ return;
|
|
}
|
|
|
|
// fn_0249775C @ 0x249775c
|
|
void Gambit_fn_0249775C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249775C: ; // 0x249775c
|
|
/* 0249775C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249775C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249775C */ cpu->r[1] = _t0;
|
|
/* 02497760 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497760 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02497764 */ cpu->r[31] = cpu->r[3];
|
|
/* 02497768 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02497768 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249776C */ _t3 = cpu->r[31] + 0x000001C2u;
|
|
/* 0249776C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02497770 */ cpu->r[3] = cpu->r[31] + 0x000001B4u;
|
|
/* 02497774 */ /* nop */
|
|
/* 02497778 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0249777C */ cpu->r[3] = cpu->r[31] + 0x000001B4u;
|
|
/* 02497780 */ Gambit_fn_02497CF4(cpu);
|
|
/* 02497784 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02497784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02497788 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249778C */ cpu->lr = cpu->r[0];
|
|
/* 02497790 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497794 */ return;
|
|
}
|
|
|
|
// fn_02497798 @ 0x2497798
|
|
void Gambit_fn_02497798(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02497798: ; // 0x2497798
|
|
/* 02497798 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249779C */ _t0 = cpu->r[12] + 0x000006B4u;
|
|
/* 0249779C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 024977A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 024977A4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 024977A8 */ cpu->r[12] = cpu->r[12] + 0x000006B0u;
|
|
/* 024977AC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024977AC */ _t2 = _t1 & 0x00000001u;
|
|
/* 024977AC */ if (_t2) goto L_024977B0; else goto L_024977C8;
|
|
L_024977B0: ; // 0x24977b0
|
|
/* 024977B0 */ cpu->r[0] = 0x100B0000u;
|
|
/* 024977B4 */ cpu->r[9] = 0x00000001u;
|
|
/* 024977B8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 024977BC */ cpu->r[0] = cpu->r[0] + 0xFFFFA788u;
|
|
/* 024977C0 */ _t3 = cpu->r[8] + 0x000006B4u;
|
|
/* 024977C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 024977C4 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 024977C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_024977C8: ; // 0x24977c8
|
|
/* 024977C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 024977CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024977CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 024977CC */ if (_t6) goto L_024977D0; else goto L_024977D8;
|
|
L_024977D0: ; // 0x24977d0
|
|
/* 024977D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 024977D4 */ return;
|
|
L_024977D8: ; // 0x24977d8
|
|
/* 024977D8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 024977DC */ _t7 = cpu->r[11] + 0xFFFFE6D4u;
|
|
/* 024977DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024977DC */ cpu->r[11] = _t7;
|
|
/* 024977E0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 024977E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 024977E8 */ cpu->r[10] = cpu->r[10] + 0x000006A4u;
|
|
/* 024977EC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024977EC */ _t9 = _t8 & 0x00000001u;
|
|
/* 024977EC */ if (_t9) goto L_024977F0; else goto L_02497804;
|
|
L_024977F0: ; // 0x24977f0
|
|
/* 024977F0 */ cpu->r[12] = 0x100B0000u;
|
|
/* 024977F4 */ cpu->r[9] = 0x00000001u;
|
|
/* 024977F8 */ cpu->r[12] = cpu->r[12] + 0xFFFFA778u;
|
|
/* 024977FC */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 024977FC */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02497800 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 02497800 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_02497804: ; // 0x2497804
|
|
/* 02497804 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02497808 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497808 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02497808 */ if (_t13) goto L_0249780C; else goto L_02497814;
|
|
L_0249780C: ; // 0x249780c
|
|
/* 0249780C */ cpu->r[0] = 0x00000001u;
|
|
/* 02497810 */ goto L_0249784C;
|
|
L_02497814: ; // 0x2497814
|
|
/* 02497814 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02497818 */ _t14 = cpu->r[8] + 0xFFFFDA34u;
|
|
/* 02497818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02497818 */ cpu->r[8] = _t14;
|
|
/* 0249781C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02497820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02497824 */ cpu->r[11] = cpu->r[11] + 0xFFFFDDE4u;
|
|
/* 02497828 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497828 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02497828 */ if (_t16) goto L_0249782C; else goto L_02497840;
|
|
L_0249782C: ; // 0x249782c
|
|
/* 0249782C */ cpu->r[10] = 0x100B0000u;
|
|
/* 02497830 */ cpu->r[9] = 0x00000001u;
|
|
/* 02497834 */ cpu->r[10] = cpu->r[10] + 0xFFFFA6D8u;
|
|
/* 02497838 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02497838 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 0249783C */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 0249783C */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_02497840: ; // 0x2497840
|
|
/* 02497840 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02497844 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02497848 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0249784C: ; // 0x249784c
|
|
/* 0249784C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02497850 */ return;
|
|
}
|
|
|
|
// fn_02497854 @ 0x2497854
|
|
void Gambit_fn_02497854(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02497854: ; // 0x2497854
|
|
/* 02497854 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02497854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02497858 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02497858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249785C */ cpu->ctr = cpu->r[0];
|
|
/* 02497860 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02497864 @ 0x2497864
|
|
void Gambit_fn_02497864(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02497864: ; // 0x2497864
|
|
/* 02497864 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02497864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02497868 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02497868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249786C */ cpu->ctr = cpu->r[0];
|
|
/* 02497870 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02497874 @ 0x2497874
|
|
void Gambit_fn_02497874(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02497874: ; // 0x2497874
|
|
/* 02497874 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02497874 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02497878 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02497878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249787C */ cpu->ctr = cpu->r[0];
|
|
/* 02497880 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02497884 @ 0x2497884
|
|
void Gambit_fn_02497884(CPUState* cpu) {
|
|
L_02497884: ; // 0x2497884
|
|
/* 02497884 */ cpu->r[3] = 0x00000001u;
|
|
/* 02497888 */ return;
|
|
}
|
|
|
|
// fn_0249788C @ 0x249788c
|
|
void Gambit_fn_0249788C(CPUState* cpu) {
|
|
L_0249788C: ; // 0x249788c
|
|
/* 0249788C */ return;
|
|
}
|
|
|
|
// fn_02497890 @ 0x2497890
|
|
void Gambit_fn_02497890(CPUState* cpu) {
|
|
L_02497890: ; // 0x2497890
|
|
/* 02497890 */ return;
|
|
}
|
|
|
|
// fn_02497894 @ 0x2497894
|
|
void Gambit_fn_02497894(CPUState* cpu) {
|
|
L_02497894: ; // 0x2497894
|
|
/* 02497894 */ return;
|
|
}
|
|
|
|
// fn_02497898 @ 0x2497898
|
|
void Gambit_fn_02497898(CPUState* cpu) {
|
|
L_02497898: ; // 0x2497898
|
|
/* 02497898 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249789C */ return;
|
|
}
|
|
|
|
// fn_024978A0 @ 0x24978a0
|
|
void Gambit_fn_024978A0(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_024978A0: ; // 0x24978a0
|
|
/* 024978A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024978A4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024978A4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 024978A4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024978A4 */ goto L_024978A8;
|
|
L_024978A8: ; // 0x24978a8
|
|
/* 024978A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024978A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024978AC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024978AC */ _t3 = _t2 & 0x00000001u;
|
|
/* 024978AC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024978AC */ goto L_024978B0;
|
|
L_024978B0: ; // 0x24978b0
|
|
/* 024978B0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_024978B4 @ 0x24978b4
|
|
void Gambit_fn_024978B4(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_024978B4: ; // 0x24978b4
|
|
/* 024978B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024978B8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024978B8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 024978B8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024978B8 */ goto L_024978BC;
|
|
L_024978BC: ; // 0x24978bc
|
|
/* 024978BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024978BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024978C0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024978C0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 024978C0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024978C0 */ goto L_024978C4;
|
|
L_024978C4: ; // 0x24978c4
|
|
/* 024978C4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_024978C8 @ 0x24978c8
|
|
void Gambit_fn_024978C8(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_024978C8: ; // 0x24978c8
|
|
/* 024978C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024978CC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024978CC */ _t1 = _t0 & 0x00000001u;
|
|
/* 024978CC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024978CC */ goto L_024978D0;
|
|
L_024978D0: ; // 0x24978d0
|
|
/* 024978D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024978D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024978D4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024978D4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 024978D4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024978D4 */ goto L_024978D8;
|
|
L_024978D8: ; // 0x24978d8
|
|
/* 024978D8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_024978DC @ 0x24978dc
|
|
void Gambit_fn_024978DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024978DC: ; // 0x24978dc
|
|
/* 024978DC */ cpu->r[0] = cpu->lr;
|
|
/* 024978E0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 024978E4 */ cpu->r[7] = 0x02490000u;
|
|
/* 024978E8 */ cpu->r[6] = 0x02490000u;
|
|
/* 024978EC */ cpu->r[10] = 0x101C0000u;
|
|
/* 024978F0 */ cpu->r[7] = cpu->r[7] + 0x000074D4u;
|
|
/* 024978F4 */ cpu->r[6] = cpu->r[6] + 0x000074D4u;
|
|
/* 024978F8 */ cpu->r[10] = cpu->r[10] + 0x00006240u;
|
|
/* 024978FC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 024978FC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02497900 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02497904 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02497904 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02497904 */ cpu->r[1] = _t1;
|
|
/* 02497908 */ cpu->r[0] = cpu->r[0] + 0x0000623Cu;
|
|
/* 0249790C */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0249790C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02497910 */ cpu->r[8] = 0x00000000u;
|
|
/* 02497914 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02497914 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02497918 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249791C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249791C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02497920 */ Gambit_fn_02791B10(cpu);
|
|
/* 02497924 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02497924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02497928 */ cpu->lr = cpu->r[0];
|
|
/* 0249792C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497930 */ return;
|
|
}
|
|
|
|
// fn_02497904 @ 0x2497904
|
|
void Gambit_fn_02497904(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02497904: ; // 0x2497904
|
|
/* 02497904 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02497904 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497904 */ cpu->r[1] = _t0;
|
|
/* 02497908 */ cpu->r[0] = cpu->r[0] + 0x0000623Cu;
|
|
/* 0249790C */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0249790C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02497910 */ cpu->r[8] = 0x00000000u;
|
|
/* 02497914 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02497914 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02497918 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249791C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249791C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02497920 */ Gambit_fn_02791B10(cpu);
|
|
/* 02497924 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02497924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02497928 */ cpu->lr = cpu->r[0];
|
|
/* 0249792C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497930 */ return;
|
|
}
|
|
|
|
// fn_02497934 @ 0x2497934
|
|
void Gambit_fn_02497934(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_02497934: ; // 0x2497934
|
|
/* 02497934 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02497934 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497934 */ cpu->r[1] = _t0;
|
|
/* 02497938 */ /* nop */
|
|
/* 0249793C */ cpu->r[0] = cpu->lr;
|
|
/* 02497940 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02497940 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02497944 */ cpu->r[29] = cpu->r[6];
|
|
/* 02497948 */ cpu->r[28] = cpu->r[3];
|
|
/* 0249794C */ cpu->r[30] = cpu->r[5];
|
|
/* 02497950 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02497950 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02497954 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02497958 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02497958 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0249795C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02497960 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02497960 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02497964 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497964 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02497964 */ if (_t6) goto L_024979A8; else goto L_02497968;
|
|
L_02497968: ; // 0x2497968
|
|
/* 02497968 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02497968 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249796C */ Gambit_fn_02826F20(cpu);
|
|
/* 02497970 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02497970 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02497974 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02497974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02497978 */ cpu->ctr = cpu->r[0];
|
|
/* 0249797C */ cpu->r[5] = 0x00000004u;
|
|
/* 02497980 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497984 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02497988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0249798C */ cpu->r[0] = cpu->r[27];
|
|
/* 02497990 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02497990 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02497990 */ if (_t11) goto L_02497998; else goto L_02497994;
|
|
L_02497994: ; // 0x2497994
|
|
/* 02497994 */ cpu->r[0] = 0x00000001u;
|
|
L_02497998: ; // 0x2497998
|
|
/* 02497998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249799C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249799C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249799C */ if (_t13) goto L_024979A8; else goto L_024979A0;
|
|
L_024979A0: ; // 0x24979a0
|
|
/* 024979A0 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 024979A0 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 024979A4 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 024979A4 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_024979A8: ; // 0x24979a8
|
|
/* 024979A8 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 024979A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024979AC */ cpu->r[0] = 0x00000000u;
|
|
/* 024979B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 024979B4 */ cpu->r[12] = cpu->r[0];
|
|
/* 024979B8 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024979B8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024979B8 */ if (_t18) goto L_024979BC; else goto L_024979E0;
|
|
L_024979BC: ; // 0x24979bc
|
|
/* 024979BC */ cpu->ctr = cpu->r[7];
|
|
/* 024979C0 */ cpu->r[10] = 0x00000000u;
|
|
L_024979C4: ; // 0x24979c4
|
|
/* 024979C4 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 024979C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024979C8 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 024979C8 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 024979CC */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 024979D0 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 024979D0 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 024979D4 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 024979D8 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 024979D8 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 024979DC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 024979DC */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 024979DC */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 024979DC */ _t25 = _t24 & 0x00000001u;
|
|
/* 024979DC */ if (_t25) goto L_024979C4; else goto L_024979E0;
|
|
L_024979E0: ; // 0x24979e0
|
|
/* 024979E0 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 024979E0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 024979E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 024979E8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024979E8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 024979E8 */ if (_t28) goto L_02497A2C; else goto L_024979EC;
|
|
L_024979EC: ; // 0x24979ec
|
|
/* 024979EC */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 024979EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 024979F0 */ Gambit_fn_02826F20(cpu);
|
|
/* 024979F4 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024979F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 024979F8 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 024979F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 024979FC */ cpu->ctr = cpu->r[0];
|
|
/* 02497A00 */ cpu->r[5] = 0x00000004u;
|
|
/* 02497A04 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497A08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02497A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02497A10 */ cpu->r[11] = cpu->r[27];
|
|
/* 02497A14 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02497A14 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02497A14 */ if (_t33) goto L_02497A1C; else goto L_02497A18;
|
|
L_02497A18: ; // 0x2497a18
|
|
/* 02497A18 */ cpu->r[11] = 0x00000001u;
|
|
L_02497A1C: ; // 0x2497a1c
|
|
/* 02497A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02497A20 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497A20 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02497A20 */ if (_t35) goto L_02497A2C; else goto L_02497A24;
|
|
L_02497A24: ; // 0x2497a24
|
|
/* 02497A24 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02497A24 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02497A28 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02497A28 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02497A2C: ; // 0x2497a2c
|
|
/* 02497A2C */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02497A2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02497A30 */ cpu->r[0] = 0x00000000u;
|
|
/* 02497A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02497A38 */ cpu->r[12] = cpu->r[0];
|
|
/* 02497A3C */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02497A3C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02497A3C */ if (_t40) goto L_02497A40; else goto L_02497A64;
|
|
L_02497A40: ; // 0x2497a40
|
|
/* 02497A40 */ cpu->ctr = cpu->r[6];
|
|
/* 02497A44 */ cpu->r[9] = 0x00000000u;
|
|
L_02497A48: ; // 0x2497a48
|
|
/* 02497A48 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02497A48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02497A4C */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 02497A4C */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02497A50 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02497A54 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02497A54 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02497A58 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02497A5C */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 02497A5C */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02497A60 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02497A60 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02497A60 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02497A60 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02497A60 */ if (_t47) goto L_02497A48; else goto L_02497A64;
|
|
L_02497A64: ; // 0x2497a64
|
|
/* 02497A64 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02497A64 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02497A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02497A6C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497A6C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02497A6C */ if (_t50) goto L_02497AB0; else goto L_02497A70;
|
|
L_02497A70: ; // 0x2497a70
|
|
/* 02497A70 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02497A70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02497A74 */ Gambit_fn_02826F20(cpu);
|
|
/* 02497A78 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02497A78 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02497A7C */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 02497A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02497A80 */ cpu->ctr = cpu->r[0];
|
|
/* 02497A84 */ cpu->r[5] = 0x00000004u;
|
|
/* 02497A88 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497A8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02497A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02497A94 */ cpu->r[10] = cpu->r[27];
|
|
/* 02497A98 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02497A98 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02497A98 */ if (_t55) goto L_02497AA0; else goto L_02497A9C;
|
|
L_02497A9C: ; // 0x2497a9c
|
|
/* 02497A9C */ cpu->r[10] = 0x00000001u;
|
|
L_02497AA0: ; // 0x2497aa0
|
|
/* 02497AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02497AA4 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497AA4 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02497AA4 */ if (_t57) goto L_02497AB0; else goto L_02497AA8;
|
|
L_02497AA8: ; // 0x2497aa8
|
|
/* 02497AA8 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02497AA8 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02497AAC */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 02497AAC */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02497AB0: ; // 0x2497ab0
|
|
/* 02497AB0 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02497AB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02497AB4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02497AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02497ABC */ cpu->r[5] = cpu->r[0];
|
|
/* 02497AC0 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02497AC0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02497AC0 */ if (_t62) goto L_02497AC4; else goto L_02497AE8;
|
|
L_02497AC4: ; // 0x2497ac4
|
|
/* 02497AC4 */ cpu->ctr = cpu->r[12];
|
|
/* 02497AC8 */ cpu->r[8] = 0x00000000u;
|
|
L_02497ACC: ; // 0x2497acc
|
|
/* 02497ACC */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 02497ACC */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02497AD0 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 02497AD0 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 02497AD4 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 02497AD8 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02497AD8 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 02497ADC */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 02497AE0 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 02497AE0 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 02497AE4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02497AE4 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02497AE4 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02497AE4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02497AE4 */ if (_t69) goto L_02497ACC; else goto L_02497AE8;
|
|
L_02497AE8: ; // 0x2497ae8
|
|
/* 02497AE8 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02497AE8 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02497AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02497AF0 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497AF0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02497AF0 */ if (_t72) goto L_02497BCC; else goto L_02497AF4;
|
|
L_02497AF4: ; // 0x2497af4
|
|
/* 02497AF4 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02497AF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02497AF8 */ Gambit_fn_02826F20(cpu);
|
|
/* 02497AFC */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02497AFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02497B00 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02497B00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02497B04 */ cpu->ctr = cpu->r[12];
|
|
/* 02497B08 */ cpu->r[5] = 0x00000004u;
|
|
/* 02497B0C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02497B10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02497B14 */ cpu->r[24] = cpu->r[3];
|
|
/* 02497B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02497B1C */ cpu->r[30] = cpu->r[25];
|
|
/* 02497B20 */ cpu->r[7] = 0x00000000u;
|
|
/* 02497B24 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02497B24 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02497B24 */ if (_t77) goto L_02497B2C; else goto L_02497B28;
|
|
L_02497B28: ; // 0x2497b28
|
|
/* 02497B28 */ cpu->r[30] = 0x00000001u;
|
|
L_02497B2C: ; // 0x2497b2c
|
|
/* 02497B2C */ cpu->r[31] = 0x10110000u;
|
|
/* 02497B30 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02497B34 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02497B34 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02497B38 */ cpu->r[23] = 0x00000018u;
|
|
L_02497B3C: ; // 0x2497b3c
|
|
/* 02497B3C */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 02497B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02497B40 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497B40 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02497B40 */ if (_t80) goto L_02497BB0; else goto L_02497B44;
|
|
L_02497B44: ; // 0x2497b44
|
|
/* 02497B44 */ cpu->r[26] = cpu->r[27];
|
|
/* 02497B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02497B48 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497B48 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02497B48 */ if (_t82) goto L_02497B4C; else goto L_02497B5C;
|
|
L_02497B4C: ; // 0x2497b4c
|
|
/* 02497B4C */ cpu->r[3] = 0x00000024u;
|
|
/* 02497B50 */ Gambit_fn_02801A78(cpu);
|
|
/* 02497B54 */ cpu->r[26] = cpu->r[3];
|
|
/* 02497B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02497B58 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497B58 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02497B58 */ if (_t84) goto L_02497BA4; else goto L_02497B5C;
|
|
L_02497B5C: ; // 0x2497b5c
|
|
/* 02497B5C */ cpu->r[11] = cpu->r[26];
|
|
/* 02497B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02497B60 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497B60 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02497B60 */ if (_t86) goto L_02497B64; else goto L_02497B74;
|
|
L_02497B64: ; // 0x2497b64
|
|
/* 02497B64 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02497B68 */ Gambit_fn_02801A78(cpu);
|
|
/* 02497B6C */ cpu->r[11] = cpu->r[3];
|
|
/* 02497B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02497B70 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497B70 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02497B70 */ if (_t88) goto L_02497B90; else goto L_02497B74;
|
|
L_02497B74: ; // 0x2497b74
|
|
/* 02497B74 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02497B78 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02497B78 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 02497B7C */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02497B80 */ cpu->r[5] = cpu->r[5] + 0xFFFFA700u;
|
|
/* 02497B84 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02497B84 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02497B88 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02497B88 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 02497B8C */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 02497B8C */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02497B90: ; // 0x2497b90
|
|
/* 02497B90 */ cpu->r[6] = 0x100B0000u;
|
|
/* 02497B94 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02497B94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02497B98 */ cpu->r[6] = cpu->r[6] + 0xFFFFA718u;
|
|
/* 02497B9C */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 02497B9C */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02497BA0 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02497BA0 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02497BA4: ; // 0x2497ba4
|
|
/* 02497BA4 */ cpu->r[0] = 0x100B0000u;
|
|
/* 02497BA8 */ cpu->r[0] = cpu->r[0] + 0xFFFFA730u;
|
|
/* 02497BAC */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 02497BAC */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_02497BB0: ; // 0x2497bb0
|
|
/* 02497BB0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02497BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02497BB4 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 02497BB8 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497BB8 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02497BB8 */ if (_t98) goto L_02497BBC; else goto L_02497B3C;
|
|
L_02497BBC: ; // 0x2497bbc
|
|
/* 02497BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02497BC0 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497BC0 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02497BC0 */ if (_t100) goto L_02497BCC; else goto L_02497BC4;
|
|
L_02497BC4: ; // 0x2497bc4
|
|
/* 02497BC4 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02497BC4 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 02497BC8 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 02497BC8 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_02497BCC: ; // 0x2497bcc
|
|
/* 02497BCC */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 02497BCC */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 02497BD0 */ /* nop */
|
|
/* 02497BD4 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 02497BD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02497BD8 */ cpu->lr = cpu->r[0];
|
|
/* 02497BDC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02497BE0 */ return;
|
|
}
|
|
|
|
// fn_02497BE4 @ 0x2497be4
|
|
void Gambit_fn_02497BE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02497BE4: ; // 0x2497be4
|
|
/* 02497BE4 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 02497BE4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02497BE8 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02497BE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02497BEC */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02497BEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02497BF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02497BF4 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02497BF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02497BF8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02497BF8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02497BF8 */ if (_t5) goto L_02497BFC; else goto L_02497C04;
|
|
L_02497BFC: ; // 0x2497bfc
|
|
/* 02497BFC */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497C00 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_02497C04: ; // 0x2497c04
|
|
/* 02497C04 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02497C04 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02497C08 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02497C08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02497C0C */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02497C0C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02497C10 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02497C10 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02497C14 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02497C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02497C18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02497C1C */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02497C1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02497C20 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02497C20 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02497C20 */ if (_t13) goto L_02497C24; else goto L_02497C2C;
|
|
L_02497C24: ; // 0x2497c24
|
|
/* 02497C24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497C28 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02497C2C: ; // 0x2497c2c
|
|
/* 02497C2C */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02497C2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02497C30 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02497C30 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02497C34 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02497C34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02497C38 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02497C38 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02497C3C */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 02497C3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02497C40 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02497C40 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02497C44 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02497C44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02497C48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02497C4C */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 02497C4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02497C50 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02497C50 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02497C50 */ if (_t23) goto L_02497C54; else goto L_02497C5C;
|
|
L_02497C54: ; // 0x2497c54
|
|
/* 02497C54 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497C58 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02497C5C: ; // 0x2497c5c
|
|
/* 02497C5C */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02497C5C */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02497C60 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02497C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02497C64 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02497C64 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02497C68 */ return;
|
|
}
|
|
|
|
// fn_02497C6C @ 0x2497c6c
|
|
void Gambit_fn_02497C6C(CPUState* 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_02497C6C: ; // 0x2497c6c
|
|
/* 02497C6C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02497C6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02497C70 */ /* nop */
|
|
/* 02497C74 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 02497C74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02497C78 */ cpu->r[7] = cpu->r[0];
|
|
/* 02497C7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02497C80 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 02497C80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02497C84 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02497C84 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02497C84 */ if (_t4) goto L_02497C88; else goto L_02497CA0;
|
|
L_02497C88: ; // 0x2497c88
|
|
/* 02497C88 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497C8C */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 02497C90 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02497C90 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02497C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02497C98 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497C98 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02497C98 */ if (_t7) goto L_02497C9C; else goto L_02497CAC;
|
|
L_02497C9C: ; // 0x2497c9c
|
|
/* 02497C9C */ return;
|
|
L_02497CA0: ; // 0x2497ca0
|
|
/* 02497CA0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02497CA0 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02497CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02497CA8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497CA8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02497CA8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02497CA8 */ goto L_02497CAC;
|
|
L_02497CAC: ; // 0x2497cac
|
|
/* 02497CAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02497CB0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02497CB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02497CB4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02497CB4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02497CB4 */ if (_t13) goto L_02497CB8; else goto L_02497CC0;
|
|
L_02497CB8: ; // 0x2497cb8
|
|
/* 02497CB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497CBC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02497CC0: ; // 0x2497cc0
|
|
/* 02497CC0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02497CC0 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02497CC4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02497CC4 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02497CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02497CCC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02497CCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02497CD0 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 02497CD4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02497CD4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02497CD4 */ if (_t18) goto L_02497CEC; else goto L_02497CD8;
|
|
L_02497CD8: ; // 0x2497cd8
|
|
/* 02497CD8 */ /* nop */
|
|
/* 02497CDC */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02497CDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02497CE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497CE4 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02497CE8 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02497CE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02497CEC: ; // 0x2497cec
|
|
/* 02497CEC */ cpu->ctr = cpu->r[11];
|
|
/* 02497CF0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02497CF4 @ 0x2497cf4
|
|
void Gambit_fn_02497CF4(CPUState* 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_02497CF4: ; // 0x2497cf4
|
|
/* 02497CF4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02497CF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02497CF8 */ /* nop */
|
|
/* 02497CFC */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02497CFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02497D00 */ cpu->r[8] = cpu->r[0];
|
|
/* 02497D04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02497D08 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02497D08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02497D0C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02497D0C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02497D0C */ if (_t4) goto L_02497D10; else goto L_02497D28;
|
|
L_02497D10: ; // 0x2497d10
|
|
/* 02497D10 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497D14 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02497D18 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02497D18 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02497D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02497D20 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497D20 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02497D20 */ if (_t7) goto L_02497D24; else goto L_02497D34;
|
|
L_02497D24: ; // 0x2497d24
|
|
/* 02497D24 */ return;
|
|
L_02497D28: ; // 0x2497d28
|
|
/* 02497D28 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02497D28 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02497D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02497D30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497D30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02497D30 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02497D30 */ goto L_02497D34;
|
|
L_02497D34: ; // 0x2497d34
|
|
/* 02497D34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02497D38 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02497D38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02497D3C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02497D3C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02497D3C */ if (_t13) goto L_02497D40; else goto L_02497D48;
|
|
L_02497D40: ; // 0x2497d40
|
|
/* 02497D40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497D44 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02497D48: ; // 0x2497d48
|
|
/* 02497D48 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02497D48 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02497D4C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02497D4C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02497D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02497D54 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02497D54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02497D58 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02497D5C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02497D5C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02497D5C */ if (_t18) goto L_02497D74; else goto L_02497D60;
|
|
L_02497D60: ; // 0x2497d60
|
|
/* 02497D60 */ /* nop */
|
|
/* 02497D64 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02497D64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02497D68 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497D6C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02497D70 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02497D70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02497D74: ; // 0x2497d74
|
|
/* 02497D74 */ cpu->ctr = cpu->r[11];
|
|
/* 02497D78 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02497D7C @ 0x2497d7c
|
|
void Gambit_fn_02497D7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02497D7C: ; // 0x2497d7c
|
|
/* 02497D7C */ cpu->r[0] = cpu->lr;
|
|
/* 02497D80 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02497D80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497D80 */ cpu->r[1] = _t0;
|
|
/* 02497D84 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02497D84 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02497D88 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497D88 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02497D8C */ cpu->r[30] = cpu->r[3];
|
|
/* 02497D90 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02497D90 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02497D94 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02497D94 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02497D98 */ /* nop */
|
|
/* 02497D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02497DA0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02497DA4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497DA4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02497DA4 */ if (_t6) goto L_02497DA8; else goto L_02497DBC;
|
|
L_02497DA8: ; // 0x2497da8
|
|
/* 02497DA8 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02497DA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02497DAC */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02497DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02497DB0 */ cpu->ctr = cpu->r[0];
|
|
/* 02497DB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02497DB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02497DBC: ; // 0x2497dbc
|
|
/* 02497DBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02497DC0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02497DC4 */ Gambit_fn_02497C6C(cpu);
|
|
/* 02497DC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02497DCC */ /* nop */
|
|
/* 02497DD0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02497DD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02497DD8 */ Gambit_fn_02497CF4(cpu);
|
|
/* 02497DDC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02497DDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02497DE0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02497DE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02497DE4 */ cpu->lr = cpu->r[0];
|
|
/* 02497DE8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497DE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02497DEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497DF0 */ return;
|
|
}
|
|
|
|
// fn_02497D80 @ 0x2497d80
|
|
void Gambit_fn_02497D80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02497D80: ; // 0x2497d80
|
|
/* 02497D80 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02497D80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497D80 */ cpu->r[1] = _t0;
|
|
/* 02497D84 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02497D84 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02497D88 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497D88 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02497D8C */ cpu->r[30] = cpu->r[3];
|
|
/* 02497D90 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02497D90 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02497D94 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02497D94 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02497D98 */ /* nop */
|
|
/* 02497D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02497DA0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02497DA4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497DA4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02497DA4 */ if (_t6) goto L_02497DA8; else goto L_02497DBC;
|
|
L_02497DA8: ; // 0x2497da8
|
|
/* 02497DA8 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02497DA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02497DAC */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02497DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02497DB0 */ cpu->ctr = cpu->r[0];
|
|
/* 02497DB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02497DB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02497DBC: ; // 0x2497dbc
|
|
/* 02497DBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02497DC0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02497DC4 */ Gambit_fn_02497C6C(cpu);
|
|
/* 02497DC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02497DCC */ /* nop */
|
|
/* 02497DD0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02497DD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02497DD8 */ Gambit_fn_02497CF4(cpu);
|
|
/* 02497DDC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02497DDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02497DE0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02497DE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02497DE4 */ cpu->lr = cpu->r[0];
|
|
/* 02497DE8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497DE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02497DEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497DF0 */ return;
|
|
}
|
|
|
|
// fn_02497DF4 @ 0x2497df4
|
|
void Gambit_fn_02497DF4(CPUState* 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_02497DF4: ; // 0x2497df4
|
|
/* 02497DF4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02497DF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02497DF8 */ /* nop */
|
|
/* 02497DFC */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 02497DFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02497E00 */ cpu->r[8] = cpu->r[0];
|
|
/* 02497E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02497E08 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02497E08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02497E0C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02497E0C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02497E0C */ if (_t4) goto L_02497E10; else goto L_02497E28;
|
|
L_02497E10: ; // 0x2497e10
|
|
/* 02497E10 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497E14 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02497E18 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02497E18 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02497E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02497E20 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497E20 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02497E20 */ if (_t7) goto L_02497E24; else goto L_02497E34;
|
|
L_02497E24: ; // 0x2497e24
|
|
/* 02497E24 */ return;
|
|
L_02497E28: ; // 0x2497e28
|
|
/* 02497E28 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02497E28 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02497E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02497E30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497E30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02497E30 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02497E30 */ goto L_02497E34;
|
|
L_02497E34: ; // 0x2497e34
|
|
/* 02497E34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02497E38 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02497E38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02497E3C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02497E3C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02497E3C */ if (_t13) goto L_02497E40; else goto L_02497E48;
|
|
L_02497E40: ; // 0x2497e40
|
|
/* 02497E40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497E44 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02497E48: ; // 0x2497e48
|
|
/* 02497E48 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02497E48 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02497E4C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02497E4C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02497E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02497E54 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02497E54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02497E58 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02497E5C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02497E5C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02497E5C */ if (_t18) goto L_02497E74; else goto L_02497E60;
|
|
L_02497E60: ; // 0x2497e60
|
|
/* 02497E60 */ /* nop */
|
|
/* 02497E64 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02497E64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02497E68 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02497E6C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02497E70 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02497E70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02497E74: ; // 0x2497e74
|
|
/* 02497E74 */ cpu->ctr = cpu->r[11];
|
|
/* 02497E78 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02497E7C @ 0x2497e7c
|
|
void Gambit_fn_02497E7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02497E7C: ; // 0x2497e7c
|
|
/* 02497E7C */ cpu->r[0] = cpu->lr;
|
|
/* 02497E80 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02497E80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497E80 */ cpu->r[1] = _t0;
|
|
/* 02497E84 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497E84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02497E88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02497E8C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02497E8C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02497E90 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02497E90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02497E94 */ cpu->r[12] = 0x00000000u;
|
|
/* 02497E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02497E9C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02497E9C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02497EA0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497EA0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02497EA0 */ if (_t6) goto L_02497EC8; else goto L_02497EA4;
|
|
L_02497EA4: ; // 0x2497ea4
|
|
/* 02497EA4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02497EA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02497EA8 */ /* nop */
|
|
/* 02497EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02497EB0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497EB0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02497EB0 */ if (_t9) goto L_02497EB4; else goto L_02497EC8;
|
|
L_02497EB4: ; // 0x2497eb4
|
|
/* 02497EB4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02497EB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02497EB8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02497EB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02497EBC */ cpu->ctr = cpu->r[0];
|
|
/* 02497EC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02497EC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02497EC8: ; // 0x2497ec8
|
|
/* 02497EC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02497ECC */ Gambit_fn_02497DF4(cpu);
|
|
/* 02497ED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02497ED4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02497ED8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02497ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02497EDC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497EDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02497EE0 */ cpu->lr = cpu->r[0];
|
|
/* 02497EE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497EE8 */ return;
|
|
}
|
|
|
|
// fn_02497E80 @ 0x2497e80
|
|
void Gambit_fn_02497E80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02497E80: ; // 0x2497e80
|
|
/* 02497E80 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02497E80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497E80 */ cpu->r[1] = _t0;
|
|
/* 02497E84 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497E84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02497E88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02497E8C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02497E8C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02497E90 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02497E90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02497E94 */ cpu->r[12] = 0x00000000u;
|
|
/* 02497E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02497E9C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02497E9C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02497EA0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497EA0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02497EA0 */ if (_t6) goto L_02497EC8; else goto L_02497EA4;
|
|
L_02497EA4: ; // 0x2497ea4
|
|
/* 02497EA4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02497EA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02497EA8 */ /* nop */
|
|
/* 02497EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02497EB0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497EB0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02497EB0 */ if (_t9) goto L_02497EB4; else goto L_02497EC8;
|
|
L_02497EB4: ; // 0x2497eb4
|
|
/* 02497EB4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02497EB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02497EB8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02497EB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02497EBC */ cpu->ctr = cpu->r[0];
|
|
/* 02497EC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02497EC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02497EC8: ; // 0x2497ec8
|
|
/* 02497EC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02497ECC */ Gambit_fn_02497DF4(cpu);
|
|
/* 02497ED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02497ED4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02497ED8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02497ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02497EDC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02497EDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02497EE0 */ cpu->lr = cpu->r[0];
|
|
/* 02497EE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02497EE8 */ return;
|
|
}
|
|
|
|
// fn_02497EEC @ 0x2497eec
|
|
void Gambit_fn_02497EEC(CPUState* cpu) {
|
|
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_02497EEC: ; // 0x2497eec
|
|
/* 02497EEC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02497EEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497EEC */ cpu->r[1] = _t0;
|
|
/* 02497EF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02497EF4 */ /* nop */
|
|
/* 02497EF8 */ cpu->r[30] = cpu->r[5];
|
|
/* 02497EFC */ cpu->r[26] = cpu->r[3];
|
|
/* 02497F00 */ cpu->r[27] = cpu->r[7];
|
|
/* 02497F04 */ cpu->r[3] = cpu->r[30];
|
|
/* 02497F08 */ cpu->r[31] = cpu->r[6];
|
|
/* 02497F0C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02497F0C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02497F10 */ cpu->r[29] = cpu->r[4];
|
|
/* 02497F14 */ cpu->r[4] = cpu->r[27];
|
|
/* 02497F18 */ Gambit_fn_027DB318(cpu);
|
|
/* 02497F1C */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 02497F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02497F20 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497F20 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02497F20 */ if (_t3) goto L_02497FB4; else goto L_02497F24;
|
|
L_02497F24: ; // 0x2497f24
|
|
/* 02497F24 */ cpu->r[5] = cpu->r[28];
|
|
/* 02497F28 */ cpu->r[4] = cpu->r[29];
|
|
/* 02497F2C */ cpu->r[3] = cpu->r[26];
|
|
/* 02497F30 */ Gambit_fn_024978DC(cpu);
|
|
/* 02497F34 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02497F34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02497F38 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02497F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02497F3C */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 02497F40 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02497F44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02497F48 */ cpu->r[25] = 0x00000000u;
|
|
/* 02497F4C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497F4C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02497F4C */ if (_t7) goto L_02497FB4; else goto L_02497F50;
|
|
L_02497F50: ; // 0x2497f50
|
|
/* 02497F50 */ cpu->r[24] = 0x101C0000u;
|
|
L_02497F54: ; // 0x2497f54
|
|
/* 02497F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02497F58 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497F58 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02497F58 */ if (_t9) goto L_02497F70; else goto L_02497F5C;
|
|
L_02497F5C: ; // 0x2497f5c
|
|
/* 02497F5C */ cpu->ctr = cpu->r[27];
|
|
/* 02497F60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02497F64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02497F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02497F6C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497F6C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02497F6C */ if (_t11) goto L_02497FA0; else goto L_02497F70;
|
|
L_02497F70: ; // 0x2497f70
|
|
/* 02497F70 */ _t12 = cpu->r[24] + 0x0000623Cu;
|
|
/* 02497F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02497F74 */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 02497F78 */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 02497F78 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02497F7C */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 02497F7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02497F80 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02497F84 */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 02497F84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02497F88 */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02497F8C */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02497F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02497F90 */ cpu->r[4] = cpu->r[31];
|
|
/* 02497F94 */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 02497F94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02497F98 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02497F9C */ Gambit_fn_0249577C(cpu);
|
|
L_02497FA0: ; // 0x2497fa0
|
|
/* 02497FA0 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 02497FA4 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 02497FA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02497FA8 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02497FAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02497FB0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02497FB0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02497FB0 */ if (_t20) goto L_02497FB4; else goto L_02497F54;
|
|
L_02497FB4: ; // 0x2497fb4
|
|
/* 02497FB4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02497FB8 */ /* nop */
|
|
/* 02497FBC */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02497FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02497FC0 */ cpu->lr = cpu->r[0];
|
|
/* 02497FC4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02497FC8 */ return;
|
|
}
|
|
|
|
// fn_02497FCC @ 0x2497fcc
|
|
void Gambit_fn_02497FCC(CPUState* cpu) {
|
|
L_02497FCC: ; // 0x2497fcc
|
|
/* 02497FCC */ cpu->r[3] = cpu->r[3] + 0xFFFFFE50u;
|
|
/* 02497FD0 */ goto L_0249A194;
|
|
L_0249A194: ; // 0x249a194
|
|
/* 0249A194 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249A198 */ return;
|
|
}
|
|
|
|
// fn_02497FD4 @ 0x2497fd4
|
|
void Gambit_fn_02497FD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_02497FD4: ; // 0x2497fd4
|
|
/* 02497FD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02497FD8 */ cpu->r[12] = 0x10110000u;
|
|
/* 02497FDC */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02497FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497FDC */ cpu->r[1] = _t0;
|
|
/* 02497FE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFEF7Cu;
|
|
/* 02497FE4 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02497FE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02497FE8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02497FE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02497FEC */ cpu->r[12] = 0x100B0000u;
|
|
/* 02497FF0 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02497FF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02497FF4 */ _t4 = cpu->r[12] + 0xFFFFAF64u;
|
|
/* 02497FF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02497FF8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02497FFC */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02497FFC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02498000 */ _t6 = cpu->r[8] + 0x00003840u;
|
|
/* 02498000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02498000 */ cpu->r[8] = _t6;
|
|
/* 02498004 */ _t7 = cpu->r[1] + 0x00000038u;
|
|
/* 02498004 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02498008 */ _t8 = cpu->r[8] + 0x00000008u;
|
|
/* 02498008 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249800C */ _t9 = cpu->r[8] + 0x00000004u;
|
|
/* 0249800C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02498010 */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 02498010 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02498014 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02498014 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02498018 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249801C */ cpu->r[3] = cpu->r[4];
|
|
/* 02498020 */ _t12 = cpu->r[1] + 0x00000028u;
|
|
/* 02498020 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02498024 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498028 */ _t13 = cpu->r[1] + 0x00000030u;
|
|
/* 02498028 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 0249802C */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 0249802C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02498030 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498030 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02498034 */ Gambit_fn_025C65E8(cpu);
|
|
/* 02498038 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249803C */ Gambit_fn_024F65FC(cpu);
|
|
/* 02498040 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02498044 */ _t16 = cpu->r[11] + 0x000000A0u;
|
|
/* 02498044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02498044 */ cpu->r[11] = _t16;
|
|
/* 02498048 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249804C */ cpu->r[4] = 0x101D0000u;
|
|
/* 02498050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498054 */ cpu->r[4] = cpu->r[4] + 0x000006D0u;
|
|
/* 02498058 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498058 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02498058 */ if (_t18) goto L_0249805C; else goto L_02498070;
|
|
L_0249805C: ; // 0x249805c
|
|
/* 0249805C */ cpu->r[6] = 0x100B0000u;
|
|
/* 02498060 */ cpu->r[5] = 0x00000001u;
|
|
/* 02498064 */ cpu->r[6] = cpu->r[6] + 0xFFFFAE64u;
|
|
/* 02498068 */ _t19 = cpu->r[11] + 0x00000000u;
|
|
/* 02498068 */ rbrew_write32(cpu->mem, _t19, cpu->r[5]);
|
|
/* 0249806C */ _t20 = cpu->r[4] + 0x00000000u;
|
|
/* 0249806C */ rbrew_write32(cpu->mem, _t20, cpu->r[6]);
|
|
L_02498070: ; // 0x2498070
|
|
/* 02498070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498074 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498074 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02498074 */ if (_t22) goto L_02498094; else goto L_02498078;
|
|
L_02498078: ; // 0x2498078
|
|
/* 02498078 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 02498078 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0249807C */ _t24 = cpu->r[7] + 0x0000006Cu;
|
|
/* 0249807C */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02498080 */ cpu->ctr = cpu->r[9];
|
|
/* 02498084 */ cpu->r[3] = cpu->r[31];
|
|
/* 02498088 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249808C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498090 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498090 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02498090 */ if (_t26) goto L_02498094; else goto L_02498098;
|
|
L_02498094: ; // 0x2498094
|
|
/* 02498094 */ cpu->r[31] = 0x00000000u;
|
|
L_02498098: ; // 0x2498098
|
|
/* 02498098 */ _t27 = cpu->r[30] + 0x00000078u;
|
|
/* 02498098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0249809C */ _t28 = cpu->r[31] + 0x000003BCu;
|
|
/* 0249809C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 024980A0 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024980A0 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 024980A4 */ cpu->r[0] = 0x10110000u;
|
|
/* 024980A8 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 024980A8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 024980AC */ cpu->r[0] = cpu->r[0] + 0xFFFFEF4Cu;
|
|
/* 024980B0 */ _t31 = cpu->r[30] + 0x0000007Cu;
|
|
/* 024980B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 024980B4 */ _t32 = cpu->r[30] + 0x00000080u;
|
|
/* 024980B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 024980B8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 024980BC */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 024980BC */ rbrew_write32(cpu->mem, _t33, cpu->r[5]);
|
|
/* 024980C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 024980C4 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 024980C4 */ rbrew_write32(cpu->mem, _t34, cpu->r[6]);
|
|
/* 024980C8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 024980CC */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 024980CC */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 024980D0 */ Gambit_fn_027DE3CC(cpu);
|
|
/* 024980D4 */ _t36 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024980D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 024980D8 */ _t37 = cpu->r[1] + 0x00000044u;
|
|
/* 024980D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 024980DC */ cpu->lr = cpu->r[0];
|
|
/* 024980E0 */ _t38 = cpu->r[1] + 0x00000040u;
|
|
/* 024980E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 024980E4 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 024980E8 */ return;
|
|
}
|
|
|
|
// fn_02497FDC @ 0x2497fdc
|
|
void Gambit_fn_02497FDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_02497FDC: ; // 0x2497fdc
|
|
/* 02497FDC */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02497FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497FDC */ cpu->r[1] = _t0;
|
|
/* 02497FE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFEF7Cu;
|
|
/* 02497FE4 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02497FE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02497FE8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02497FE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02497FEC */ cpu->r[12] = 0x100B0000u;
|
|
/* 02497FF0 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02497FF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02497FF4 */ _t4 = cpu->r[12] + 0xFFFFAF64u;
|
|
/* 02497FF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02497FF8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02497FFC */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02497FFC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02498000 */ _t6 = cpu->r[8] + 0x00003840u;
|
|
/* 02498000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02498000 */ cpu->r[8] = _t6;
|
|
/* 02498004 */ _t7 = cpu->r[1] + 0x00000038u;
|
|
/* 02498004 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02498008 */ _t8 = cpu->r[8] + 0x00000008u;
|
|
/* 02498008 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249800C */ _t9 = cpu->r[8] + 0x00000004u;
|
|
/* 0249800C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02498010 */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 02498010 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02498014 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02498014 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02498018 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249801C */ cpu->r[3] = cpu->r[4];
|
|
/* 02498020 */ _t12 = cpu->r[1] + 0x00000028u;
|
|
/* 02498020 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02498024 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498028 */ _t13 = cpu->r[1] + 0x00000030u;
|
|
/* 02498028 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 0249802C */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 0249802C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02498030 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498030 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02498034 */ Gambit_fn_025C65E8(cpu);
|
|
/* 02498038 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249803C */ Gambit_fn_024F65FC(cpu);
|
|
/* 02498040 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02498044 */ _t16 = cpu->r[11] + 0x000000A0u;
|
|
/* 02498044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02498044 */ cpu->r[11] = _t16;
|
|
/* 02498048 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249804C */ cpu->r[4] = 0x101D0000u;
|
|
/* 02498050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498054 */ cpu->r[4] = cpu->r[4] + 0x000006D0u;
|
|
/* 02498058 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498058 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02498058 */ if (_t18) goto L_0249805C; else goto L_02498070;
|
|
L_0249805C: ; // 0x249805c
|
|
/* 0249805C */ cpu->r[6] = 0x100B0000u;
|
|
/* 02498060 */ cpu->r[5] = 0x00000001u;
|
|
/* 02498064 */ cpu->r[6] = cpu->r[6] + 0xFFFFAE64u;
|
|
/* 02498068 */ _t19 = cpu->r[11] + 0x00000000u;
|
|
/* 02498068 */ rbrew_write32(cpu->mem, _t19, cpu->r[5]);
|
|
/* 0249806C */ _t20 = cpu->r[4] + 0x00000000u;
|
|
/* 0249806C */ rbrew_write32(cpu->mem, _t20, cpu->r[6]);
|
|
L_02498070: ; // 0x2498070
|
|
/* 02498070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498074 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498074 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02498074 */ if (_t22) goto L_02498094; else goto L_02498078;
|
|
L_02498078: ; // 0x2498078
|
|
/* 02498078 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 02498078 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0249807C */ _t24 = cpu->r[7] + 0x0000006Cu;
|
|
/* 0249807C */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02498080 */ cpu->ctr = cpu->r[9];
|
|
/* 02498084 */ cpu->r[3] = cpu->r[31];
|
|
/* 02498088 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249808C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498090 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498090 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02498090 */ if (_t26) goto L_02498094; else goto L_02498098;
|
|
L_02498094: ; // 0x2498094
|
|
/* 02498094 */ cpu->r[31] = 0x00000000u;
|
|
L_02498098: ; // 0x2498098
|
|
/* 02498098 */ _t27 = cpu->r[30] + 0x00000078u;
|
|
/* 02498098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0249809C */ _t28 = cpu->r[31] + 0x000003BCu;
|
|
/* 0249809C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 024980A0 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024980A0 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 024980A4 */ cpu->r[0] = 0x10110000u;
|
|
/* 024980A8 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 024980A8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 024980AC */ cpu->r[0] = cpu->r[0] + 0xFFFFEF4Cu;
|
|
/* 024980B0 */ _t31 = cpu->r[30] + 0x0000007Cu;
|
|
/* 024980B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 024980B4 */ _t32 = cpu->r[30] + 0x00000080u;
|
|
/* 024980B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 024980B8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 024980BC */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 024980BC */ rbrew_write32(cpu->mem, _t33, cpu->r[5]);
|
|
/* 024980C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 024980C4 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 024980C4 */ rbrew_write32(cpu->mem, _t34, cpu->r[6]);
|
|
/* 024980C8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 024980CC */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 024980CC */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 024980D0 */ Gambit_fn_027DE3CC(cpu);
|
|
/* 024980D4 */ _t36 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024980D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 024980D8 */ _t37 = cpu->r[1] + 0x00000044u;
|
|
/* 024980D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 024980DC */ cpu->lr = cpu->r[0];
|
|
/* 024980E0 */ _t38 = cpu->r[1] + 0x00000040u;
|
|
/* 024980E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 024980E4 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 024980E8 */ return;
|
|
}
|
|
|
|
// fn_024980EC @ 0x24980ec
|
|
void Gambit_fn_024980EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_02497FD4: ; // 0x2497fd4
|
|
/* 02497FD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02497FD8 */ cpu->r[12] = 0x10110000u;
|
|
/* 02497FDC */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02497FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02497FDC */ cpu->r[1] = _t0;
|
|
/* 02497FE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFEF7Cu;
|
|
/* 02497FE4 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02497FE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02497FE8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02497FE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02497FEC */ cpu->r[12] = 0x100B0000u;
|
|
/* 02497FF0 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02497FF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02497FF4 */ _t4 = cpu->r[12] + 0xFFFFAF64u;
|
|
/* 02497FF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02497FF8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02497FFC */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02497FFC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02498000 */ _t6 = cpu->r[8] + 0x00003840u;
|
|
/* 02498000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02498000 */ cpu->r[8] = _t6;
|
|
/* 02498004 */ _t7 = cpu->r[1] + 0x00000038u;
|
|
/* 02498004 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02498008 */ _t8 = cpu->r[8] + 0x00000008u;
|
|
/* 02498008 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249800C */ _t9 = cpu->r[8] + 0x00000004u;
|
|
/* 0249800C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02498010 */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 02498010 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02498014 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02498014 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02498018 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249801C */ cpu->r[3] = cpu->r[4];
|
|
/* 02498020 */ _t12 = cpu->r[1] + 0x00000028u;
|
|
/* 02498020 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02498024 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498028 */ _t13 = cpu->r[1] + 0x00000030u;
|
|
/* 02498028 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 0249802C */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 0249802C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02498030 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498030 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02498034 */ Gambit_fn_025C65E8(cpu);
|
|
/* 02498038 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249803C */ Gambit_fn_024F65FC(cpu);
|
|
/* 02498040 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02498044 */ _t16 = cpu->r[11] + 0x000000A0u;
|
|
/* 02498044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02498044 */ cpu->r[11] = _t16;
|
|
/* 02498048 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249804C */ cpu->r[4] = 0x101D0000u;
|
|
/* 02498050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498054 */ cpu->r[4] = cpu->r[4] + 0x000006D0u;
|
|
/* 02498058 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498058 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02498058 */ if (_t18) goto L_0249805C; else goto L_02498070;
|
|
L_0249805C: ; // 0x249805c
|
|
/* 0249805C */ cpu->r[6] = 0x100B0000u;
|
|
/* 02498060 */ cpu->r[5] = 0x00000001u;
|
|
/* 02498064 */ cpu->r[6] = cpu->r[6] + 0xFFFFAE64u;
|
|
/* 02498068 */ _t19 = cpu->r[11] + 0x00000000u;
|
|
/* 02498068 */ rbrew_write32(cpu->mem, _t19, cpu->r[5]);
|
|
/* 0249806C */ _t20 = cpu->r[4] + 0x00000000u;
|
|
/* 0249806C */ rbrew_write32(cpu->mem, _t20, cpu->r[6]);
|
|
L_02498070: ; // 0x2498070
|
|
/* 02498070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498074 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498074 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02498074 */ if (_t22) goto L_02498094; else goto L_02498078;
|
|
L_02498078: ; // 0x2498078
|
|
/* 02498078 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 02498078 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0249807C */ _t24 = cpu->r[7] + 0x0000006Cu;
|
|
/* 0249807C */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02498080 */ cpu->ctr = cpu->r[9];
|
|
/* 02498084 */ cpu->r[3] = cpu->r[31];
|
|
/* 02498088 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249808C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498090 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498090 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02498090 */ if (_t26) goto L_02498094; else goto L_02498098;
|
|
L_02498094: ; // 0x2498094
|
|
/* 02498094 */ cpu->r[31] = 0x00000000u;
|
|
L_02498098: ; // 0x2498098
|
|
/* 02498098 */ _t27 = cpu->r[30] + 0x00000078u;
|
|
/* 02498098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0249809C */ _t28 = cpu->r[31] + 0x000003BCu;
|
|
/* 0249809C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 024980A0 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024980A0 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 024980A4 */ cpu->r[0] = 0x10110000u;
|
|
/* 024980A8 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 024980A8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 024980AC */ cpu->r[0] = cpu->r[0] + 0xFFFFEF4Cu;
|
|
/* 024980B0 */ _t31 = cpu->r[30] + 0x0000007Cu;
|
|
/* 024980B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 024980B4 */ _t32 = cpu->r[30] + 0x00000080u;
|
|
/* 024980B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 024980B8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 024980BC */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 024980BC */ rbrew_write32(cpu->mem, _t33, cpu->r[5]);
|
|
/* 024980C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 024980C4 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 024980C4 */ rbrew_write32(cpu->mem, _t34, cpu->r[6]);
|
|
/* 024980C8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 024980CC */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 024980CC */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 024980D0 */ Gambit_fn_027DE3CC(cpu);
|
|
/* 024980D4 */ _t36 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024980D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 024980D8 */ _t37 = cpu->r[1] + 0x00000044u;
|
|
/* 024980D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 024980DC */ cpu->lr = cpu->r[0];
|
|
/* 024980E0 */ _t38 = cpu->r[1] + 0x00000040u;
|
|
/* 024980E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 024980E4 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 024980E8 */ return;
|
|
L_024980EC: ; // 0x24980ec
|
|
/* 024980EC */ cpu->r[3] = cpu->r[3] + 0xFFFFFE50u;
|
|
/* 024980F0 */ goto L_02497FD4;
|
|
}
|
|
|
|
// fn_024980F4 @ 0x24980f4
|
|
void Gambit_fn_024980F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43;
|
|
|
|
L_024980F4: ; // 0x24980f4
|
|
/* 024980F4 */ cpu->r[0] = cpu->lr;
|
|
/* 024980F8 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 024980F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024980F8 */ cpu->r[1] = _t0;
|
|
/* 024980FC */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 024980FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02498100 */ cpu->r[30] = cpu->r[4];
|
|
/* 02498104 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02498104 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02498108 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02498108 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0249810C */ _t4 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0249810C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02498110 */ cpu->r[29] = cpu->r[3];
|
|
/* 02498114 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02498118 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249811C */ _t5 = cpu->r[8] + 0x000000A0u;
|
|
/* 0249811C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249811C */ cpu->r[8] = _t5;
|
|
/* 02498120 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02498124 */ cpu->r[31] = cpu->r[3];
|
|
/* 02498128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0249812C */ cpu->r[4] = cpu->r[4] + 0x000006D0u;
|
|
/* 02498130 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498130 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02498130 */ if (_t7) goto L_02498134; else goto L_02498148;
|
|
L_02498134: ; // 0x2498134
|
|
/* 02498134 */ cpu->r[0] = 0x100B0000u;
|
|
/* 02498138 */ cpu->r[10] = 0x00000001u;
|
|
/* 0249813C */ cpu->r[0] = cpu->r[0] + 0xFFFFAE64u;
|
|
/* 02498140 */ _t8 = cpu->r[8] + 0x00000000u;
|
|
/* 02498140 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02498144 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02498144 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02498148: ; // 0x2498148
|
|
/* 02498148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249814C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249814C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249814C */ if (_t11) goto L_0249816C; else goto L_02498150;
|
|
L_02498150: ; // 0x2498150
|
|
/* 02498150 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02498150 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02498154 */ _t13 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02498154 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02498158 */ cpu->ctr = cpu->r[6];
|
|
/* 0249815C */ cpu->r[3] = cpu->r[31];
|
|
/* 02498160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02498164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498168 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498168 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02498168 */ if (_t15) goto L_0249816C; else goto L_02498170;
|
|
L_0249816C: ; // 0x249816c
|
|
/* 0249816C */ cpu->r[31] = 0x00000000u;
|
|
L_02498170: ; // 0x2498170
|
|
/* 02498170 */ _t16 = cpu->r[31] + 0x0000041Cu;
|
|
/* 02498170 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02498174 */ /* nop */
|
|
/* 02498178 */ /* nop */
|
|
/* 0249817C */ /* nop */
|
|
/* 02498180 */ /* nop */
|
|
/* 02498184 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02498184 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02498188 */ _t18 = cpu->r[29] + 0x00000068u;
|
|
/* 02498188 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0249818C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249818C */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02498190 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498190 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 02498194 */ cpu->f[0] = cpu->f[11] * cpu->f[12];
|
|
/* 02498198 */ _t21 = cpu->r[29] + 0x00000080u;
|
|
/* 02498198 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0249819C */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 0249819C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 024981A0 */ /* nop */
|
|
/* 024981A4 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 024981A4 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 024981A8 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 024981A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 024981AC */ /* nop */
|
|
/* 024981B0 */ /* nop */
|
|
/* 024981B4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 024981B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 024981B8 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 024981B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024981BC */ _t27 = cpu->r[1] + 0x00000020u;
|
|
/* 024981BC */ rbrew_write32(cpu->mem, _t27, cpu->r[6]);
|
|
/* 024981C0 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 024981C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 024981C4 */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 024981C4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 024981C8 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 024981C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 024981CC */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 024981CC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
|
|
/* 024981D0 */ cpu->f[0] = cpu->f[11] + cpu->f[13];
|
|
/* 024981D4 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 024981D4 */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
|
|
/* 024981D8 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 024981D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 024981DC */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024981DC */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 024981E0 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024981E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 024981E4 */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 024981E4 */ rbrew_write32(cpu->mem, _t36, cpu->r[8]);
|
|
/* 024981E8 */ _t37 = cpu->r[1] + 0x00000028u;
|
|
/* 024981E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 024981EC */ _t38 = cpu->r[30] + 0x00000004u;
|
|
/* 024981EC */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 024981F0 */ _t39 = cpu->r[30] + 0x00000008u;
|
|
/* 024981F0 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[11]);
|
|
/* 024981F4 */ _t40 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024981F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 024981F8 */ _t41 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024981F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 024981FC */ _t42 = cpu->r[1] + 0x00000044u;
|
|
/* 024981FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02498200 */ cpu->lr = cpu->r[0];
|
|
/* 02498204 */ _t43 = cpu->r[1] + 0x00000040u;
|
|
/* 02498204 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02498208 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 0249820C */ return;
|
|
}
|
|
|
|
// fn_024980F8 @ 0x24980f8
|
|
void Gambit_fn_024980F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43;
|
|
|
|
L_024980F8: ; // 0x24980f8
|
|
/* 024980F8 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 024980F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024980F8 */ cpu->r[1] = _t0;
|
|
/* 024980FC */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 024980FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02498100 */ cpu->r[30] = cpu->r[4];
|
|
/* 02498104 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02498104 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02498108 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02498108 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0249810C */ _t4 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0249810C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02498110 */ cpu->r[29] = cpu->r[3];
|
|
/* 02498114 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02498118 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249811C */ _t5 = cpu->r[8] + 0x000000A0u;
|
|
/* 0249811C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249811C */ cpu->r[8] = _t5;
|
|
/* 02498120 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02498124 */ cpu->r[31] = cpu->r[3];
|
|
/* 02498128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0249812C */ cpu->r[4] = cpu->r[4] + 0x000006D0u;
|
|
/* 02498130 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498130 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02498130 */ if (_t7) goto L_02498134; else goto L_02498148;
|
|
L_02498134: ; // 0x2498134
|
|
/* 02498134 */ cpu->r[0] = 0x100B0000u;
|
|
/* 02498138 */ cpu->r[10] = 0x00000001u;
|
|
/* 0249813C */ cpu->r[0] = cpu->r[0] + 0xFFFFAE64u;
|
|
/* 02498140 */ _t8 = cpu->r[8] + 0x00000000u;
|
|
/* 02498140 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02498144 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02498144 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02498148: ; // 0x2498148
|
|
/* 02498148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249814C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249814C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249814C */ if (_t11) goto L_0249816C; else goto L_02498150;
|
|
L_02498150: ; // 0x2498150
|
|
/* 02498150 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02498150 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02498154 */ _t13 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02498154 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02498158 */ cpu->ctr = cpu->r[6];
|
|
/* 0249815C */ cpu->r[3] = cpu->r[31];
|
|
/* 02498160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02498164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498168 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498168 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02498168 */ if (_t15) goto L_0249816C; else goto L_02498170;
|
|
L_0249816C: ; // 0x249816c
|
|
/* 0249816C */ cpu->r[31] = 0x00000000u;
|
|
L_02498170: ; // 0x2498170
|
|
/* 02498170 */ _t16 = cpu->r[31] + 0x0000041Cu;
|
|
/* 02498170 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02498174 */ /* nop */
|
|
/* 02498178 */ /* nop */
|
|
/* 0249817C */ /* nop */
|
|
/* 02498180 */ /* nop */
|
|
/* 02498184 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02498184 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02498188 */ _t18 = cpu->r[29] + 0x00000068u;
|
|
/* 02498188 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0249818C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249818C */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02498190 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498190 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 02498194 */ cpu->f[0] = cpu->f[11] * cpu->f[12];
|
|
/* 02498198 */ _t21 = cpu->r[29] + 0x00000080u;
|
|
/* 02498198 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0249819C */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 0249819C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 024981A0 */ /* nop */
|
|
/* 024981A4 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 024981A4 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 024981A8 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 024981A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 024981AC */ /* nop */
|
|
/* 024981B0 */ /* nop */
|
|
/* 024981B4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 024981B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 024981B8 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 024981B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024981BC */ _t27 = cpu->r[1] + 0x00000020u;
|
|
/* 024981BC */ rbrew_write32(cpu->mem, _t27, cpu->r[6]);
|
|
/* 024981C0 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 024981C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 024981C4 */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 024981C4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 024981C8 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 024981C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 024981CC */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 024981CC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
|
|
/* 024981D0 */ cpu->f[0] = cpu->f[11] + cpu->f[13];
|
|
/* 024981D4 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 024981D4 */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
|
|
/* 024981D8 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 024981D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 024981DC */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024981DC */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 024981E0 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024981E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 024981E4 */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 024981E4 */ rbrew_write32(cpu->mem, _t36, cpu->r[8]);
|
|
/* 024981E8 */ _t37 = cpu->r[1] + 0x00000028u;
|
|
/* 024981E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 024981EC */ _t38 = cpu->r[30] + 0x00000004u;
|
|
/* 024981EC */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 024981F0 */ _t39 = cpu->r[30] + 0x00000008u;
|
|
/* 024981F0 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[11]);
|
|
/* 024981F4 */ _t40 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024981F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 024981F8 */ _t41 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024981F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 024981FC */ _t42 = cpu->r[1] + 0x00000044u;
|
|
/* 024981FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02498200 */ cpu->lr = cpu->r[0];
|
|
/* 02498204 */ _t43 = cpu->r[1] + 0x00000040u;
|
|
/* 02498204 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02498208 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 0249820C */ return;
|
|
}
|
|
|
|
// fn_02498210 @ 0x2498210
|
|
void Gambit_fn_02498210(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43;
|
|
|
|
L_024980F4: ; // 0x24980f4
|
|
/* 024980F4 */ cpu->r[0] = cpu->lr;
|
|
/* 024980F8 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 024980F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024980F8 */ cpu->r[1] = _t0;
|
|
/* 024980FC */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 024980FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02498100 */ cpu->r[30] = cpu->r[4];
|
|
/* 02498104 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02498104 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02498108 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02498108 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0249810C */ _t4 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0249810C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02498110 */ cpu->r[29] = cpu->r[3];
|
|
/* 02498114 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02498118 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249811C */ _t5 = cpu->r[8] + 0x000000A0u;
|
|
/* 0249811C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249811C */ cpu->r[8] = _t5;
|
|
/* 02498120 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02498124 */ cpu->r[31] = cpu->r[3];
|
|
/* 02498128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0249812C */ cpu->r[4] = cpu->r[4] + 0x000006D0u;
|
|
/* 02498130 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498130 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02498130 */ if (_t7) goto L_02498134; else goto L_02498148;
|
|
L_02498134: ; // 0x2498134
|
|
/* 02498134 */ cpu->r[0] = 0x100B0000u;
|
|
/* 02498138 */ cpu->r[10] = 0x00000001u;
|
|
/* 0249813C */ cpu->r[0] = cpu->r[0] + 0xFFFFAE64u;
|
|
/* 02498140 */ _t8 = cpu->r[8] + 0x00000000u;
|
|
/* 02498140 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02498144 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02498144 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02498148: ; // 0x2498148
|
|
/* 02498148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249814C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249814C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249814C */ if (_t11) goto L_0249816C; else goto L_02498150;
|
|
L_02498150: ; // 0x2498150
|
|
/* 02498150 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02498150 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02498154 */ _t13 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02498154 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02498158 */ cpu->ctr = cpu->r[6];
|
|
/* 0249815C */ cpu->r[3] = cpu->r[31];
|
|
/* 02498160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02498164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498168 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498168 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02498168 */ if (_t15) goto L_0249816C; else goto L_02498170;
|
|
L_0249816C: ; // 0x249816c
|
|
/* 0249816C */ cpu->r[31] = 0x00000000u;
|
|
L_02498170: ; // 0x2498170
|
|
/* 02498170 */ _t16 = cpu->r[31] + 0x0000041Cu;
|
|
/* 02498170 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02498174 */ /* nop */
|
|
/* 02498178 */ /* nop */
|
|
/* 0249817C */ /* nop */
|
|
/* 02498180 */ /* nop */
|
|
/* 02498184 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02498184 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02498188 */ _t18 = cpu->r[29] + 0x00000068u;
|
|
/* 02498188 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0249818C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249818C */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02498190 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498190 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 02498194 */ cpu->f[0] = cpu->f[11] * cpu->f[12];
|
|
/* 02498198 */ _t21 = cpu->r[29] + 0x00000080u;
|
|
/* 02498198 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0249819C */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 0249819C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 024981A0 */ /* nop */
|
|
/* 024981A4 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 024981A4 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 024981A8 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 024981A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 024981AC */ /* nop */
|
|
/* 024981B0 */ /* nop */
|
|
/* 024981B4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 024981B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 024981B8 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 024981B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024981BC */ _t27 = cpu->r[1] + 0x00000020u;
|
|
/* 024981BC */ rbrew_write32(cpu->mem, _t27, cpu->r[6]);
|
|
/* 024981C0 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 024981C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 024981C4 */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 024981C4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 024981C8 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 024981C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 024981CC */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 024981CC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
|
|
/* 024981D0 */ cpu->f[0] = cpu->f[11] + cpu->f[13];
|
|
/* 024981D4 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 024981D4 */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
|
|
/* 024981D8 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 024981D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 024981DC */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024981DC */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 024981E0 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024981E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 024981E4 */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 024981E4 */ rbrew_write32(cpu->mem, _t36, cpu->r[8]);
|
|
/* 024981E8 */ _t37 = cpu->r[1] + 0x00000028u;
|
|
/* 024981E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 024981EC */ _t38 = cpu->r[30] + 0x00000004u;
|
|
/* 024981EC */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 024981F0 */ _t39 = cpu->r[30] + 0x00000008u;
|
|
/* 024981F0 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[11]);
|
|
/* 024981F4 */ _t40 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024981F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 024981F8 */ _t41 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024981F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 024981FC */ _t42 = cpu->r[1] + 0x00000044u;
|
|
/* 024981FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02498200 */ cpu->lr = cpu->r[0];
|
|
/* 02498204 */ _t43 = cpu->r[1] + 0x00000040u;
|
|
/* 02498204 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02498208 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 0249820C */ return;
|
|
L_02498210: ; // 0x2498210
|
|
/* 02498210 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE50u;
|
|
/* 02498214 */ goto L_024980F4;
|
|
}
|
|
|
|
// fn_0249821C @ 0x249821c
|
|
void Gambit_fn_0249821C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_0249821C: ; // 0x249821c
|
|
/* 0249821C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0249821C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249821C */ cpu->r[1] = _t0;
|
|
/* 02498220 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498220 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02498224 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02498224 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02498228 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02498228 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0249822C */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0249822C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02498230 */ cpu->r[31] = cpu->r[3];
|
|
/* 02498230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498234 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498234 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02498238 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498238 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02498238 */ if (_t7) goto L_0249823C; else goto L_0249824C;
|
|
L_0249823C: ; // 0x249823c
|
|
/* 0249823C */ cpu->r[3] = 0x00000324u;
|
|
/* 02498240 */ Gambit_fn_02801A78(cpu);
|
|
/* 02498244 */ cpu->r[31] = cpu->r[3];
|
|
/* 02498244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498248 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498248 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02498248 */ if (_t9) goto L_024983D8; else goto L_0249824C;
|
|
L_0249824C: ; // 0x249824c
|
|
/* 0249824C */ cpu->r[3] = cpu->r[31];
|
|
/* 02498250 */ Gambit_fn_024F2B00(cpu);
|
|
/* 02498254 */ cpu->r[11] = 0x100B0000u;
|
|
/* 02498258 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249825C */ cpu->r[11] = cpu->r[11] + 0xFFFFB158u;
|
|
/* 02498260 */ cpu->r[12] = cpu->r[12] + 0xFFFFB138u;
|
|
/* 02498264 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02498264 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02498268 */ cpu->r[28] = cpu->r[31] + 0x000001B4u;
|
|
/* 02498268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0249826C */ _t11 = cpu->r[31] + 0x000001B0u;
|
|
/* 0249826C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02498270 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498270 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02498270 */ if (_t13) goto L_02498274; else goto L_02498284;
|
|
L_02498274: ; // 0x2498274
|
|
/* 02498274 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02498278 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249827C */ cpu->r[28] = cpu->r[3];
|
|
/* 0249827C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02498280 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498280 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02498280 */ if (_t15) goto L_02498318; else goto L_02498284;
|
|
L_02498284: ; // 0x2498284
|
|
/* 02498284 */ cpu->r[29] = cpu->r[28];
|
|
/* 02498284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02498288 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498288 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02498288 */ if (_t17) goto L_0249828C; else goto L_0249829C;
|
|
L_0249828C: ; // 0x249828c
|
|
/* 0249828C */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02498290 */ Gambit_fn_02801A78(cpu);
|
|
/* 02498294 */ cpu->r[29] = cpu->r[3];
|
|
/* 02498294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02498298 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498298 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02498298 */ if (_t19) goto L_0249830C; else goto L_0249829C;
|
|
L_0249829C: ; // 0x249829c
|
|
/* 0249829C */ cpu->r[3] = cpu->r[29];
|
|
/* 0249829C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024982A0 */ cpu->r[30] = 0x10110000u;
|
|
/* 024982A4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024982A4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 024982A4 */ if (_t21) goto L_024982A8; else goto L_024982D4;
|
|
L_024982A8: ; // 0x24982a8
|
|
/* 024982A8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 024982AC */ Gambit_fn_02801A78(cpu);
|
|
/* 024982B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024982B4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024982B4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 024982B4 */ if (_t23) goto L_024982B8; else goto L_024982D4;
|
|
L_024982B8: ; // 0x24982b8
|
|
/* 024982B8 */ cpu->r[10] = 0x100B0000u;
|
|
/* 024982BC */ _t24 = cpu->r[30] + 0x00007399u;
|
|
/* 024982BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 024982C0 */ cpu->r[10] = cpu->r[10] + 0xFFFFAE04u;
|
|
/* 024982C4 */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 024982C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 024982C8 */ _t26 = cpu->r[29] + 0x00000004u;
|
|
/* 024982C8 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 024982CC */ _t27 = cpu->r[11] + 0x00000000u;
|
|
/* 024982CC */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
|
|
/* 024982D0 */ goto L_0249830C;
|
|
L_024982D4: ; // 0x24982d4
|
|
/* 024982D4 */ cpu->r[7] = 0x100B0000u;
|
|
/* 024982D8 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 024982DC */ cpu->r[7] = cpu->r[7] + 0xFFFFADECu;
|
|
/* 024982E0 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 024982E0 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 024982E4 */ cpu->r[8] = 0x00000100u;
|
|
/* 024982E8 */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 024982E8 */ rbrew_write32(cpu->mem, _t29, cpu->r[7]);
|
|
/* 024982EC */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 024982EC */ rbrew_write32(cpu->mem, _t30, cpu->r[8]);
|
|
/* 024982F0 */ _t31 = cpu->r[30] + 0x00007399u;
|
|
/* 024982F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 024982F4 */ cpu->r[10] = 0x100B0000u;
|
|
/* 024982F8 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 024982F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 024982FC */ cpu->r[10] = cpu->r[10] + 0xFFFFAE04u;
|
|
/* 02498300 */ _t33 = cpu->r[29] + 0x0000010Bu;
|
|
/* 02498300 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
/* 02498304 */ _t34 = cpu->r[29] + 0x00000004u;
|
|
/* 02498304 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
|
|
/* 02498308 */ _t35 = cpu->r[11] + 0x00000000u;
|
|
/* 02498308 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[0]);
|
|
L_0249830C: ; // 0x249830c
|
|
/* 0249830C */ cpu->r[12] = 0x100B0000u;
|
|
/* 02498310 */ cpu->r[12] = cpu->r[12] + 0xFFFFAE1Cu;
|
|
/* 02498314 */ _t36 = cpu->r[28] + 0x00000004u;
|
|
/* 02498314 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
L_02498318: ; // 0x2498318
|
|
/* 02498318 */ cpu->r[0] = cpu->r[31] + 0x000002C0u;
|
|
/* 02498318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249831C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249831C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0249831C */ if (_t38) goto L_02498320; else goto L_02498328;
|
|
L_02498320: ; // 0x2498320
|
|
/* 02498320 */ cpu->r[3] = 0x00000030u;
|
|
/* 02498324 */ Gambit_fn_02801A78(cpu);
|
|
L_02498328: ; // 0x2498328
|
|
/* 02498328 */ cpu->r[3] = cpu->r[31] + 0x000002F0u;
|
|
/* 02498328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249832C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249832C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0249832C */ if (_t40) goto L_02498330; else goto L_02498340;
|
|
L_02498330: ; // 0x2498330
|
|
/* 02498330 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02498334 */ Gambit_fn_02801A78(cpu);
|
|
/* 02498338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249833C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249833C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0249833C */ if (_t42) goto L_0249836C; else goto L_02498340;
|
|
L_02498340: ; // 0x2498340
|
|
/* 02498340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498344 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498344 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02498344 */ if (_t44) goto L_02498348; else goto L_02498358;
|
|
L_02498348: ; // 0x2498348
|
|
/* 02498348 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0249834C */ Gambit_fn_02801A78(cpu);
|
|
/* 02498350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498354 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498354 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02498354 */ if (_t46) goto L_0249836C; else goto L_02498358;
|
|
L_02498358: ; // 0x2498358
|
|
/* 02498358 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249835C */ _t47 = cpu->r[9] + 0xFFFFAF68u;
|
|
/* 0249835C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02498360 */ _t48 = cpu->r[3] + 0x00000000u;
|
|
/* 02498360 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 02498364 */ _t49 = cpu->r[3] + 0x00000008u;
|
|
/* 02498364 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
|
|
/* 02498368 */ _t50 = cpu->r[3] + 0x00000004u;
|
|
/* 02498368 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
L_0249836C: ; // 0x249836c
|
|
/* 0249836C */ cpu->r[30] = 0x00000000u;
|
|
/* 02498370 */ _t51 = cpu->r[31] + 0x00000300u;
|
|
/* 02498370 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[30]);
|
|
/* 02498374 */ _t52 = cpu->r[31] + 0x00000304u;
|
|
/* 02498374 */ rbrew_write32(cpu->mem, _t52, cpu->r[30]);
|
|
/* 02498378 */ _t53 = cpu->r[31] + 0x00000301u;
|
|
/* 02498378 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[30]);
|
|
/* 0249837C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02498380 */ _t54 = cpu->r[31] + 0x000002FCu;
|
|
/* 02498380 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
|
|
/* 02498384 */ _t55 = cpu->r[12] + 0x00007230u;
|
|
/* 02498384 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02498388 */ cpu->r[8] = 0x00000001u;
|
|
/* 0249838C */ /* nop */
|
|
/* 02498390 */ cpu->r[3] = cpu->r[31] + 0x0000030Cu;
|
|
/* 02498390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498394 */ _t56 = cpu->r[31] + 0x00000308u;
|
|
/* 02498394 */ rbrew_write32(cpu->mem, _t56, cpu->r[7]);
|
|
/* 02498398 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498398 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02498398 */ if (_t58) goto L_0249839C; else goto L_024983AC;
|
|
L_0249839C: ; // 0x249839c
|
|
/* 0249839C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 024983A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 024983A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024983A8 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024983A8 */ _t60 = _t59 & 0x00000001u;
|
|
/* 024983A8 */ if (_t60) goto L_024983C0; else goto L_024983AC;
|
|
L_024983AC: ; // 0x24983ac
|
|
/* 024983AC */ cpu->r[9] = 0x100B0000u;
|
|
/* 024983B0 */ _t61 = cpu->r[3] + 0x00000004u;
|
|
/* 024983B0 */ rbrew_write32(cpu->mem, _t61, cpu->r[30]);
|
|
/* 024983B4 */ cpu->r[9] = cpu->r[9] + 0xFFFFAE74u;
|
|
/* 024983B8 */ _t62 = cpu->r[3] + 0x00000000u;
|
|
/* 024983B8 */ rbrew_write32(cpu->mem, _t62, cpu->r[30]);
|
|
/* 024983BC */ _t63 = cpu->r[3] + 0x00000008u;
|
|
/* 024983BC */ rbrew_write32(cpu->mem, _t63, cpu->r[9]);
|
|
L_024983C0: ; // 0x24983c0
|
|
/* 024983C0 */ cpu->r[10] = 0x100B0000u;
|
|
/* 024983C4 */ _t64 = cpu->r[31] + 0x00000318u;
|
|
/* 024983C4 */ rbrew_write32(cpu->mem, _t64, cpu->r[30]);
|
|
/* 024983C8 */ cpu->r[10] = cpu->r[10] + 0xFFFFAE84u;
|
|
/* 024983CC */ _t65 = cpu->r[31] + 0x00000320u;
|
|
/* 024983CC */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[30]);
|
|
/* 024983D0 */ _t66 = cpu->r[31] + 0x00000314u;
|
|
/* 024983D0 */ rbrew_write32(cpu->mem, _t66, cpu->r[10]);
|
|
/* 024983D4 */ _t67 = cpu->r[31] + 0x0000031Cu;
|
|
/* 024983D4 */ rbrew_write32(cpu->mem, _t67, cpu->r[30]);
|
|
L_024983D8: ; // 0x24983d8
|
|
/* 024983D8 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 024983D8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t68);
|
|
/* 024983DC */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024983DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t69);
|
|
/* 024983E0 */ _t70 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024983E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 024983E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 024983E8 */ _t71 = cpu->r[1] + 0x00000010u;
|
|
/* 024983E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
|
|
/* 024983EC */ cpu->lr = cpu->r[0];
|
|
/* 024983F0 */ _t72 = cpu->r[1] + 0x00000014u;
|
|
/* 024983F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
|
|
/* 024983F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 024983F8 */ return;
|
|
}
|
|
|
|
// fn_024983FC @ 0x24983fc
|
|
void Gambit_fn_024983FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60;
|
|
|
|
L_024983FC: ; // 0x24983fc
|
|
/* 024983FC */ cpu->r[0] = cpu->lr;
|
|
/* 02498400 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02498400 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02498400 */ cpu->r[1] = _t0;
|
|
/* 02498404 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02498404 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02498408 */ cpu->r[28] = cpu->r[3];
|
|
/* 0249840C */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 0249840C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02498410 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498410 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02498414 */ cpu->r[31] = cpu->r[4];
|
|
/* 02498418 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0249841C */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 0249841C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02498420 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02498420 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02498424 */ Gambit_fn_024F6710(cpu);
|
|
/* 02498428 */ cpu->r[5] = cpu->r[3];
|
|
/* 0249842C */ cpu->r[4] = cpu->r[31];
|
|
/* 02498430 */ cpu->r[3] = cpu->r[28];
|
|
/* 02498434 */ Gambit_fn_024F4798(cpu);
|
|
/* 02498438 */ _t6 = cpu->r[28] + 0x00000050u;
|
|
/* 02498438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249843C */ cpu->r[30] = 0x100B0000u;
|
|
/* 02498440 */ _t7 = cpu->r[3] + 0x000023B8u;
|
|
/* 02498440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02498444 */ cpu->r[30] = cpu->r[30] + 0xFFFFADD4u;
|
|
/* 02498448 */ cpu->r[31] = 0x100B0000u;
|
|
/* 0249844C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498450 */ cpu->r[31] = cpu->r[31] + 0xFFFFAF74u;
|
|
/* 02498454 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498454 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02498454 */ if (_t9) goto L_02498480; else goto L_02498458;
|
|
L_02498458: ; // 0x2498458
|
|
/* 02498458 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02498458 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 0249845C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02498460 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02498460 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02498464 */ Gambit_fn_020F0AA8(cpu);
|
|
/* 02498468 */ cpu->r[9] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 0249846C */ cpu->r[12] = cpu->r[3] - cpu->r[9];
|
|
/* 0249846C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02498470 */ _t12 = cpu->r[28] + 0x00000050u;
|
|
/* 02498470 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02498474 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498474 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02498474 */ if (_t14) goto L_02498480; else goto L_02498478;
|
|
L_02498478: ; // 0x2498478
|
|
/* 02498478 */ cpu->r[10] = 0x00000001u;
|
|
/* 0249847C */ _t15 = cpu->r[28] + 0x00000300u;
|
|
/* 0249847C */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[10]);
|
|
L_02498480: ; // 0x2498480
|
|
/* 02498480 */ _t16 = cpu->r[3] + 0x000000A4u;
|
|
/* 02498480 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02498484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02498488 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498488 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02498488 */ if (_t18) goto L_024984B0; else goto L_0249848C;
|
|
L_0249848C: ; // 0x249848c
|
|
/* 0249848C */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 0249848C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02498490 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498494 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498494 */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
|
|
/* 02498498 */ Gambit_fn_020F08E8(cpu);
|
|
/* 0249849C */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 024984A0 */ cpu->r[11] = cpu->r[3] - cpu->r[0];
|
|
/* 024984A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024984A4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024984A4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 024984A4 */ if (_t22) goto L_024984B0; else goto L_024984A8;
|
|
L_024984A8: ; // 0x24984a8
|
|
/* 024984A8 */ cpu->r[7] = 0x00000001u;
|
|
/* 024984AC */ _t23 = cpu->r[28] + 0x00000301u;
|
|
/* 024984AC */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[7]);
|
|
L_024984B0: ; // 0x24984b0
|
|
/* 024984B0 */ _t24 = cpu->r[28] + 0x00000004u;
|
|
/* 024984B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 024984B4 */ _t25 = cpu->r[28] + 0x00000300u;
|
|
/* 024984B4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t25);
|
|
/* 024984B8 */ _t26 = cpu->r[8] + 0x0000008Cu;
|
|
/* 024984B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024984BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 024984C0 */ cpu->r[3] = cpu->r[28];
|
|
/* 024984C4 */ cpu->ctr = cpu->r[0];
|
|
/* 024984C8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024984C8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 024984C8 */ if (_t28) goto L_02498584; else goto L_024984CC;
|
|
L_024984CC: ; // 0x24984cc
|
|
/* 024984CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024984D0 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024984D0 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
/* 024984D4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024984D8 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 024984D8 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 024984DC */ _t31 = cpu->r[28] + 0x000001B4u;
|
|
/* 024984DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 024984E0 */ Gambit_fn_0249A19C(cpu);
|
|
/* 024984E4 */ cpu->r[31] = 0x10110000u;
|
|
/* 024984E8 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024984E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 024984EC */ _t33 = cpu->r[31] + 0x00007399u;
|
|
/* 024984EC */ cpu->r[31] = rbrew_read8(cpu->mem, _t33);
|
|
/* 024984F0 */ _t34 = cpu->r[12] + 0x00000000u;
|
|
/* 024984F0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t34);
|
|
/* 024984F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 024984F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 024984FC */ cpu->r[0] = 0x00080000u;
|
|
/* 02498500 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498500 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02498500 */ if (_t36) goto L_02498528; else goto L_02498504;
|
|
L_02498504: ; // 0x2498504
|
|
/* 02498504 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02498508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0249850C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02498510 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02498510 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02498510 */ if (_t38) goto L_02498524; else goto L_02498514;
|
|
L_02498514: ; // 0x2498514
|
|
/* 02498514 */ _t39 = cpu->r[12] + 0x00000000u;
|
|
/* 02498514 */ cpu->r[8] = rbrew_read8(cpu->mem, _t39);
|
|
/* 02498518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0249851C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249851C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0249851C */ if (_t41) goto L_02498520; else goto L_02498504;
|
|
L_02498520: ; // 0x2498520
|
|
/* 02498520 */ goto L_02498528;
|
|
L_02498524: ; // 0x2498524
|
|
/* 02498524 */ cpu->r[30] = 0x00000000u;
|
|
L_02498528: ; // 0x2498528
|
|
/* 02498528 */ _t42 = cpu->r[28] + 0x000001BCu;
|
|
/* 02498528 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0249852C */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 0249852C */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02498530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 02498534 */ _t44 = cpu->r[10] + 0x00000014u;
|
|
/* 02498534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02498538 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02498538 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02498538 */ if (_t46) goto L_02498540; else goto L_0249853C;
|
|
L_0249853C: ; // 0x249853c
|
|
/* 0249853C */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02498540: ; // 0x2498540
|
|
/* 02498540 */ cpu->ctr = cpu->r[0];
|
|
/* 02498544 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498548 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249854C */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249854C */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02498550 */ cpu->r[6] = 0x00000000u;
|
|
/* 02498554 */ cpu->r[5] = cpu->r[30];
|
|
/* 02498558 */ cpu->r[3] = cpu->r[29];
|
|
/* 0249855C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02498560 */ _t48 = cpu->r[29] + cpu->r[30];
|
|
/* 02498560 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[31]);
|
|
/* 02498564 */ _t49 = cpu->r[1] + 0x00000028u;
|
|
/* 02498564 */ cpu->r[28] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02498568 */ _t50 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498568 */ cpu->r[29] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0249856C */ _t51 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0249856C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02498570 */ _t52 = cpu->r[1] + 0x00000030u;
|
|
/* 02498570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02498574 */ cpu->lr = cpu->r[0];
|
|
/* 02498578 */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 02498578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0249857C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02498580 */ return;
|
|
L_02498584: ; // 0x2498584
|
|
/* 02498584 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02498588 */ cpu->r[4] = 0x100B0000u;
|
|
/* 0249858C */ cpu->r[5] = cpu->r[3];
|
|
/* 02498590 */ cpu->r[3] = cpu->r[28] + 0x000001B4u;
|
|
/* 02498594 */ cpu->r[4] = cpu->r[4] + 0xFFFFAF6Cu;
|
|
/* 02498598 */ _t54 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02498598 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02498598 */ if (_t55) goto L_0249859C; // else: addr-0 trap, fall-through
|
|
L_0249859C: ; // 0x249859c
|
|
/* 0249859C */ Gambit_fn_0282A5F4(cpu);
|
|
/* 024985A0 */ _t56 = cpu->r[1] + 0x00000028u;
|
|
/* 024985A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t56);
|
|
/* 024985A4 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024985A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 024985A8 */ _t58 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024985A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 024985AC */ _t59 = cpu->r[1] + 0x00000034u;
|
|
/* 024985AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 024985B0 */ cpu->lr = cpu->r[0];
|
|
/* 024985B4 */ _t60 = cpu->r[1] + 0x00000030u;
|
|
/* 024985B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 024985B8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 024985BC */ return;
|
|
}
|
|
|
|
// fn_02498400 @ 0x2498400
|
|
void Gambit_fn_02498400(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60;
|
|
|
|
L_02498400: ; // 0x2498400
|
|
/* 02498400 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02498400 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02498400 */ cpu->r[1] = _t0;
|
|
/* 02498404 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02498404 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02498408 */ cpu->r[28] = cpu->r[3];
|
|
/* 0249840C */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 0249840C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02498410 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498410 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02498414 */ cpu->r[31] = cpu->r[4];
|
|
/* 02498418 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0249841C */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 0249841C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02498420 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02498420 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02498424 */ Gambit_fn_024F6710(cpu);
|
|
/* 02498428 */ cpu->r[5] = cpu->r[3];
|
|
/* 0249842C */ cpu->r[4] = cpu->r[31];
|
|
/* 02498430 */ cpu->r[3] = cpu->r[28];
|
|
/* 02498434 */ Gambit_fn_024F4798(cpu);
|
|
/* 02498438 */ _t6 = cpu->r[28] + 0x00000050u;
|
|
/* 02498438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249843C */ cpu->r[30] = 0x100B0000u;
|
|
/* 02498440 */ _t7 = cpu->r[3] + 0x000023B8u;
|
|
/* 02498440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02498444 */ cpu->r[30] = cpu->r[30] + 0xFFFFADD4u;
|
|
/* 02498448 */ cpu->r[31] = 0x100B0000u;
|
|
/* 0249844C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498450 */ cpu->r[31] = cpu->r[31] + 0xFFFFAF74u;
|
|
/* 02498454 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498454 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02498454 */ if (_t9) goto L_02498480; else goto L_02498458;
|
|
L_02498458: ; // 0x2498458
|
|
/* 02498458 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02498458 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 0249845C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02498460 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02498460 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02498464 */ Gambit_fn_020F0AA8(cpu);
|
|
/* 02498468 */ cpu->r[9] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 0249846C */ cpu->r[12] = cpu->r[3] - cpu->r[9];
|
|
/* 0249846C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02498470 */ _t12 = cpu->r[28] + 0x00000050u;
|
|
/* 02498470 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02498474 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498474 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02498474 */ if (_t14) goto L_02498480; else goto L_02498478;
|
|
L_02498478: ; // 0x2498478
|
|
/* 02498478 */ cpu->r[10] = 0x00000001u;
|
|
/* 0249847C */ _t15 = cpu->r[28] + 0x00000300u;
|
|
/* 0249847C */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[10]);
|
|
L_02498480: ; // 0x2498480
|
|
/* 02498480 */ _t16 = cpu->r[3] + 0x000000A4u;
|
|
/* 02498480 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02498484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02498488 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498488 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02498488 */ if (_t18) goto L_024984B0; else goto L_0249848C;
|
|
L_0249848C: ; // 0x249848c
|
|
/* 0249848C */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 0249848C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02498490 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498494 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498494 */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
|
|
/* 02498498 */ Gambit_fn_020F08E8(cpu);
|
|
/* 0249849C */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 024984A0 */ cpu->r[11] = cpu->r[3] - cpu->r[0];
|
|
/* 024984A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024984A4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024984A4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 024984A4 */ if (_t22) goto L_024984B0; else goto L_024984A8;
|
|
L_024984A8: ; // 0x24984a8
|
|
/* 024984A8 */ cpu->r[7] = 0x00000001u;
|
|
/* 024984AC */ _t23 = cpu->r[28] + 0x00000301u;
|
|
/* 024984AC */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[7]);
|
|
L_024984B0: ; // 0x24984b0
|
|
/* 024984B0 */ _t24 = cpu->r[28] + 0x00000004u;
|
|
/* 024984B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 024984B4 */ _t25 = cpu->r[28] + 0x00000300u;
|
|
/* 024984B4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t25);
|
|
/* 024984B8 */ _t26 = cpu->r[8] + 0x0000008Cu;
|
|
/* 024984B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024984BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 024984C0 */ cpu->r[3] = cpu->r[28];
|
|
/* 024984C4 */ cpu->ctr = cpu->r[0];
|
|
/* 024984C8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024984C8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 024984C8 */ if (_t28) goto L_02498584; else goto L_024984CC;
|
|
L_024984CC: ; // 0x24984cc
|
|
/* 024984CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024984D0 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024984D0 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
/* 024984D4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024984D8 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 024984D8 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 024984DC */ _t31 = cpu->r[28] + 0x000001B4u;
|
|
/* 024984DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 024984E0 */ Gambit_fn_0249A19C(cpu);
|
|
/* 024984E4 */ cpu->r[31] = 0x10110000u;
|
|
/* 024984E8 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024984E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 024984EC */ _t33 = cpu->r[31] + 0x00007399u;
|
|
/* 024984EC */ cpu->r[31] = rbrew_read8(cpu->mem, _t33);
|
|
/* 024984F0 */ _t34 = cpu->r[12] + 0x00000000u;
|
|
/* 024984F0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t34);
|
|
/* 024984F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 024984F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 024984FC */ cpu->r[0] = 0x00080000u;
|
|
/* 02498500 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498500 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02498500 */ if (_t36) goto L_02498528; else goto L_02498504;
|
|
L_02498504: ; // 0x2498504
|
|
/* 02498504 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02498508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0249850C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02498510 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02498510 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02498510 */ if (_t38) goto L_02498524; else goto L_02498514;
|
|
L_02498514: ; // 0x2498514
|
|
/* 02498514 */ _t39 = cpu->r[12] + 0x00000000u;
|
|
/* 02498514 */ cpu->r[8] = rbrew_read8(cpu->mem, _t39);
|
|
/* 02498518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0249851C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249851C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0249851C */ if (_t41) goto L_02498520; else goto L_02498504;
|
|
L_02498520: ; // 0x2498520
|
|
/* 02498520 */ goto L_02498528;
|
|
L_02498524: ; // 0x2498524
|
|
/* 02498524 */ cpu->r[30] = 0x00000000u;
|
|
L_02498528: ; // 0x2498528
|
|
/* 02498528 */ _t42 = cpu->r[28] + 0x000001BCu;
|
|
/* 02498528 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0249852C */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 0249852C */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02498530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 02498534 */ _t44 = cpu->r[10] + 0x00000014u;
|
|
/* 02498534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02498538 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02498538 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02498538 */ if (_t46) goto L_02498540; else goto L_0249853C;
|
|
L_0249853C: ; // 0x249853c
|
|
/* 0249853C */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02498540: ; // 0x2498540
|
|
/* 02498540 */ cpu->ctr = cpu->r[0];
|
|
/* 02498544 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498548 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249854C */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249854C */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02498550 */ cpu->r[6] = 0x00000000u;
|
|
/* 02498554 */ cpu->r[5] = cpu->r[30];
|
|
/* 02498558 */ cpu->r[3] = cpu->r[29];
|
|
/* 0249855C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02498560 */ _t48 = cpu->r[29] + cpu->r[30];
|
|
/* 02498560 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[31]);
|
|
/* 02498564 */ _t49 = cpu->r[1] + 0x00000028u;
|
|
/* 02498564 */ cpu->r[28] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02498568 */ _t50 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498568 */ cpu->r[29] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0249856C */ _t51 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0249856C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02498570 */ _t52 = cpu->r[1] + 0x00000030u;
|
|
/* 02498570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02498574 */ cpu->lr = cpu->r[0];
|
|
/* 02498578 */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 02498578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0249857C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02498580 */ return;
|
|
L_02498584: ; // 0x2498584
|
|
/* 02498584 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02498588 */ cpu->r[4] = 0x100B0000u;
|
|
/* 0249858C */ cpu->r[5] = cpu->r[3];
|
|
/* 02498590 */ cpu->r[3] = cpu->r[28] + 0x000001B4u;
|
|
/* 02498594 */ cpu->r[4] = cpu->r[4] + 0xFFFFAF6Cu;
|
|
/* 02498598 */ _t54 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02498598 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02498598 */ if (_t55) goto L_0249859C; // else: addr-0 trap, fall-through
|
|
L_0249859C: ; // 0x249859c
|
|
/* 0249859C */ Gambit_fn_0282A5F4(cpu);
|
|
/* 024985A0 */ _t56 = cpu->r[1] + 0x00000028u;
|
|
/* 024985A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t56);
|
|
/* 024985A4 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024985A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 024985A8 */ _t58 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024985A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 024985AC */ _t59 = cpu->r[1] + 0x00000034u;
|
|
/* 024985AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 024985B0 */ cpu->lr = cpu->r[0];
|
|
/* 024985B4 */ _t60 = cpu->r[1] + 0x00000030u;
|
|
/* 024985B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 024985B8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 024985BC */ return;
|
|
}
|
|
|
|
// fn_024985C0 @ 0x24985c0
|
|
void Gambit_fn_024985C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_024985C0: ; // 0x24985c0
|
|
/* 024985C0 */ cpu->r[0] = cpu->lr;
|
|
/* 024985C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 024985C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024985C4 */ cpu->r[1] = _t0;
|
|
/* 024985C8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 024985C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024985CC */ cpu->r[31] = cpu->r[3];
|
|
/* 024985D0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024985D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024985D4 */ _t3 = cpu->r[31] + 0x00000300u;
|
|
/* 024985D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024985D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 024985DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024985DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 024985DC */ if (_t5) goto L_02498634; else goto L_024985E0;
|
|
L_024985E0: ; // 0x24985e0
|
|
/* 024985E0 */ cpu->r[10] = 0x100B0000u;
|
|
/* 024985E4 */ _t6 = cpu->r[31] + 0x00000050u;
|
|
/* 024985E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024985E8 */ cpu->r[10] = cpu->r[10] + 0xFFFFADD4u;
|
|
/* 024985EC */ cpu->r[0] = 0x100B0000u;
|
|
/* 024985F0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024985F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 024985F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFAF88u;
|
|
/* 024985F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 024985FC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 024985FC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02498600 */ Gambit_fn_020F0AA8(cpu);
|
|
/* 02498604 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02498608 */ _t9 = cpu->r[12] + 0x00006000u;
|
|
/* 02498608 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249860C */ cpu->r[9] = cpu->r[3];
|
|
/* 02498610 */ _t10 = cpu->r[12] + 0x00000264u;
|
|
/* 02498610 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02498614 */ cpu->r[4] = cpu->r[9] + 0x0000008Cu;
|
|
/* 02498618 */ Gambit_fn_0249A6AC(cpu);
|
|
/* 0249861C */ _t11 = cpu->r[31] + 0x00000300u;
|
|
/* 0249861C */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02498620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498624 */ _t12 = cpu->r[31] + 0x000002FCu;
|
|
/* 02498624 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02498628 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498628 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02498628 */ if (_t14) goto L_02498634; else goto L_0249862C;
|
|
L_0249862C: ; // 0x249862c
|
|
/* 0249862C */ cpu->r[0] = cpu->r[31] + 0x000001B0u;
|
|
/* 02498630 */ _t15 = cpu->r[31] + 0x00000160u;
|
|
/* 02498630 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_02498634: ; // 0x2498634
|
|
/* 02498634 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02498638 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02498638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249863C */ cpu->lr = cpu->r[0];
|
|
/* 02498640 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02498644 */ return;
|
|
}
|
|
|
|
// fn_024985C4 @ 0x24985c4
|
|
void Gambit_fn_024985C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_024985C4: ; // 0x24985c4
|
|
/* 024985C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 024985C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024985C4 */ cpu->r[1] = _t0;
|
|
/* 024985C8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 024985C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024985CC */ cpu->r[31] = cpu->r[3];
|
|
/* 024985D0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024985D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024985D4 */ _t3 = cpu->r[31] + 0x00000300u;
|
|
/* 024985D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024985D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 024985DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024985DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 024985DC */ if (_t5) goto L_02498634; else goto L_024985E0;
|
|
L_024985E0: ; // 0x24985e0
|
|
/* 024985E0 */ cpu->r[10] = 0x100B0000u;
|
|
/* 024985E4 */ _t6 = cpu->r[31] + 0x00000050u;
|
|
/* 024985E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024985E8 */ cpu->r[10] = cpu->r[10] + 0xFFFFADD4u;
|
|
/* 024985EC */ cpu->r[0] = 0x100B0000u;
|
|
/* 024985F0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024985F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 024985F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFAF88u;
|
|
/* 024985F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 024985FC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 024985FC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02498600 */ Gambit_fn_020F0AA8(cpu);
|
|
/* 02498604 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02498608 */ _t9 = cpu->r[12] + 0x00006000u;
|
|
/* 02498608 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249860C */ cpu->r[9] = cpu->r[3];
|
|
/* 02498610 */ _t10 = cpu->r[12] + 0x00000264u;
|
|
/* 02498610 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02498614 */ cpu->r[4] = cpu->r[9] + 0x0000008Cu;
|
|
/* 02498618 */ Gambit_fn_0249A6AC(cpu);
|
|
/* 0249861C */ _t11 = cpu->r[31] + 0x00000300u;
|
|
/* 0249861C */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02498620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498624 */ _t12 = cpu->r[31] + 0x000002FCu;
|
|
/* 02498624 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02498628 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498628 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02498628 */ if (_t14) goto L_02498634; else goto L_0249862C;
|
|
L_0249862C: ; // 0x249862c
|
|
/* 0249862C */ cpu->r[0] = cpu->r[31] + 0x000001B0u;
|
|
/* 02498630 */ _t15 = cpu->r[31] + 0x00000160u;
|
|
/* 02498630 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_02498634: ; // 0x2498634
|
|
/* 02498634 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02498638 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02498638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249863C */ cpu->lr = cpu->r[0];
|
|
/* 02498640 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02498644 */ return;
|
|
}
|
|
|
|
// fn_02498648 @ 0x2498648
|
|
void Gambit_fn_02498648(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02498648: ; // 0x2498648
|
|
/* 02498648 */ _t0 = cpu->r[3] + 0x00000068u;
|
|
/* 02498648 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0249864C */ _t1 = cpu->r[3] + 0x00000070u;
|
|
/* 0249864C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02498650 */ _t2 = cpu->r[3] + 0x000002E4u;
|
|
/* 02498650 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]);
|
|
/* 02498654 */ _t3 = cpu->r[3] + 0x00000080u;
|
|
/* 02498654 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02498658 */ _t4 = cpu->r[3] + 0x000002D8u;
|
|
/* 02498658 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
|
|
/* 0249865C */ _t5 = cpu->r[3] + 0x0000005Cu;
|
|
/* 0249865C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02498660 */ _t6 = cpu->r[3] + 0x000002ECu;
|
|
/* 02498660 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02498664 */ _t7 = cpu->r[3] + 0x000002E0u;
|
|
/* 02498664 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 02498668 */ _t8 = cpu->r[3] + 0x00000060u;
|
|
/* 02498668 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0249866C */ _t9 = cpu->r[3] + 0x00000074u;
|
|
/* 0249866C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02498670 */ _t10 = cpu->r[3] + 0x000002C4u;
|
|
/* 02498670 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02498674 */ _t11 = cpu->r[3] + 0x000002E8u;
|
|
/* 02498674 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02498678 */ _t12 = cpu->r[3] + 0x00000054u;
|
|
/* 02498678 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0249867C */ _t13 = cpu->r[3] + 0x0000006Cu;
|
|
/* 0249867C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02498680 */ _t14 = cpu->r[3] + 0x000002C0u;
|
|
/* 02498680 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02498684 */ _t15 = cpu->r[3] + 0x000002C8u;
|
|
/* 02498684 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02498688 */ _t16 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02498688 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0249868C */ _t17 = cpu->r[3] + 0x00000064u;
|
|
/* 0249868C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02498690 */ _t18 = cpu->r[3] + 0x000002DCu;
|
|
/* 02498690 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02498694 */ _t19 = cpu->r[3] + 0x00000058u;
|
|
/* 02498694 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02498698 */ _t20 = cpu->r[3] + 0x000002D4u;
|
|
/* 02498698 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 0249869C */ _t21 = cpu->r[3] + 0x00000078u;
|
|
/* 0249869C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 024986A0 */ _t22 = cpu->r[3] + 0x000002D0u;
|
|
/* 024986A0 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 024986A4 */ cpu->r[12] = 0x101F0000u;
|
|
/* 024986A8 */ _t23 = cpu->r[3] + 0x000002CCu;
|
|
/* 024986A8 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 024986AC */ _t24 = cpu->r[12] + 0x00006368u;
|
|
/* 024986AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 024986AC */ cpu->r[12] = _t24;
|
|
/* 024986B0 */ _t25 = cpu->r[3] + 0x000002F0u;
|
|
/* 024986B0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 024986B4 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 024986B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 024986B8 */ cpu->r[11] = 0x00000000u;
|
|
/* 024986BC */ _t27 = cpu->r[3] + 0x000002F4u;
|
|
/* 024986BC */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 024986C0 */ _t28 = cpu->r[12] + 0x00000008u;
|
|
/* 024986C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 024986C4 */ _t29 = cpu->r[3] + 0x0000031Cu;
|
|
/* 024986C4 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
/* 024986C8 */ _t30 = cpu->r[3] + 0x000002F8u;
|
|
/* 024986C8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 024986CC */ _t31 = cpu->r[3] + 0x00000320u;
|
|
/* 024986CC */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[11]);
|
|
/* 024986D0 */ return;
|
|
}
|
|
|
|
// fn_024986D4 @ 0x24986d4
|
|
void Gambit_fn_024986D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_024986D4: ; // 0x24986d4
|
|
/* 024986D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 024986D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024986D4 */ cpu->r[1] = _t0;
|
|
/* 024986D8 */ /* nop */
|
|
/* 024986DC */ cpu->r[0] = cpu->lr;
|
|
/* 024986E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024986E4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 024986E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 024986E8 */ Gambit_fn_024F65FC(cpu);
|
|
/* 024986EC */ cpu->r[29] = 0x101D0000u;
|
|
/* 024986F0 */ _t2 = cpu->r[29] + 0x000000A0u;
|
|
/* 024986F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024986F0 */ cpu->r[29] = _t2;
|
|
/* 024986F4 */ cpu->r[28] = 0x101D0000u;
|
|
/* 024986F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 024986FC */ cpu->r[27] = 0x100B0000u;
|
|
/* 02498700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02498704 */ cpu->r[27] = cpu->r[27] + 0xFFFFAE64u;
|
|
/* 02498708 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498708 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02498708 */ if (_t4) goto L_0249870C; else goto L_02498718;
|
|
L_0249870C: ; // 0x249870c
|
|
/* 0249870C */ _t5 = cpu->r[28] + 0x000006D0u;
|
|
/* 0249870C */ rbrew_write32(cpu->mem, _t5, cpu->r[27]);
|
|
/* 02498710 */ cpu->r[7] = 0x00000001u;
|
|
/* 02498714 */ _t6 = cpu->r[29] + 0x00000000u;
|
|
/* 02498714 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
L_02498718: ; // 0x2498718
|
|
/* 02498718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249871C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249871C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0249871C */ if (_t8) goto L_02498740; else goto L_02498720;
|
|
L_02498720: ; // 0x2498720
|
|
/* 02498720 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02498720 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02498724 */ _t10 = cpu->r[8] + 0x0000006Cu;
|
|
/* 02498724 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02498728 */ cpu->ctr = cpu->r[9];
|
|
/* 0249872C */ cpu->r[3] = cpu->r[30];
|
|
/* 02498730 */ cpu->r[4] = cpu->r[28] + 0x000006D0u;
|
|
/* 02498734 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02498738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249873C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249873C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0249873C */ if (_t12) goto L_02498740; else goto L_02498744;
|
|
L_02498740: ; // 0x2498740
|
|
/* 02498740 */ cpu->r[30] = 0x00000000u;
|
|
L_02498744: ; // 0x2498744
|
|
/* 02498744 */ cpu->r[3] = cpu->r[31];
|
|
/* 02498748 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0249874C */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 0249874C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02498750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498754 */ cpu->r[31] = cpu->r[3];
|
|
/* 02498758 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498758 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02498758 */ if (_t15) goto L_0249875C; else goto L_02498768;
|
|
L_0249875C: ; // 0x249875c
|
|
/* 0249875C */ _t16 = cpu->r[28] + 0x000006D0u;
|
|
/* 0249875C */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 02498760 */ cpu->r[0] = 0x00000001u;
|
|
/* 02498764 */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 02498764 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_02498768: ; // 0x2498768
|
|
/* 02498768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249876C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249876C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0249876C */ if (_t19) goto L_02498790; else goto L_02498770;
|
|
L_02498770: ; // 0x2498770
|
|
/* 02498770 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02498770 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02498774 */ _t21 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02498774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02498778 */ cpu->ctr = cpu->r[0];
|
|
/* 0249877C */ cpu->r[3] = cpu->r[31];
|
|
/* 02498780 */ cpu->r[4] = cpu->r[28] + 0x000006D0u;
|
|
/* 02498784 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02498788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249878C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249878C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0249878C */ if (_t23) goto L_02498790; else goto L_02498794;
|
|
L_02498790: ; // 0x2498790
|
|
/* 02498790 */ cpu->r[31] = 0x00000000u;
|
|
L_02498794: ; // 0x2498794
|
|
/* 02498794 */ _t24 = cpu->r[31] + 0x000003BCu;
|
|
/* 02498794 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02498798 */ _t25 = cpu->r[30] + 0x0000023Cu;
|
|
/* 02498798 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0249879C */ /* nop */
|
|
/* 024987A0 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 024987A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024987A4 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 024987A8 */ cpu->lr = cpu->r[0];
|
|
/* 024987AC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 024987B0 */ /* nop */
|
|
/* 024987B4 */ return;
|
|
}
|
|
|
|
// fn_024987BC @ 0x24987bc
|
|
void Gambit_fn_024987BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_024987BC: ; // 0x24987bc
|
|
/* 024987BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024987BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024987BC */ cpu->r[1] = _t0;
|
|
/* 024987C0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024987C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024987C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 024987C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024987C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024987CC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024987CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024987D0 */ _t4 = cpu->r[3] + 0x00000304u;
|
|
/* 024987D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024987D4 */ Gambit_fn_024986D4(cpu);
|
|
/* 024987D8 */ _t5 = cpu->r[30] + 0x00000078u;
|
|
/* 024987D8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 024987DC */ _t6 = cpu->r[30] + 0x00000080u;
|
|
/* 024987DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 024987E0 */ cpu->f[2] = cpu->f[12] + cpu->f[1];
|
|
/* 024987E4 */ cpu->f[3] = cpu->f[0] - cpu->f[1];
|
|
/* 024987E8 */ cpu->f[4] = cpu->f[0] + cpu->f[1];
|
|
/* 024987EC */ cpu->r[12] = 0x100B0000u;
|
|
/* 024987F0 */ cpu->f[1] = cpu->f[12] - cpu->f[1];
|
|
/* 024987F4 */ _t7 = cpu->r[12] + 0xFFFFAF68u;
|
|
/* 024987F4 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 024987F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024987FC */ Gambit_fn_02031EFC(cpu);
|
|
/* 02498800 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02498800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02498804 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498804 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02498808 */ cpu->lr = cpu->r[0];
|
|
/* 0249880C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0249880C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02498810 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02498814 */ return;
|
|
}
|
|
|
|
// fn_02498818 @ 0x2498818
|
|
void Gambit_fn_02498818(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_024987B8: ; // 0x24987b8
|
|
/* 024987B8 */ cpu->r[0] = cpu->lr;
|
|
/* 024987BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024987BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024987BC */ cpu->r[1] = _t0;
|
|
/* 024987C0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024987C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024987C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 024987C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024987C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024987CC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024987CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024987D0 */ _t4 = cpu->r[3] + 0x00000304u;
|
|
/* 024987D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024987D4 */ Gambit_fn_024986D4(cpu);
|
|
/* 024987D8 */ _t5 = cpu->r[30] + 0x00000078u;
|
|
/* 024987D8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 024987DC */ _t6 = cpu->r[30] + 0x00000080u;
|
|
/* 024987DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 024987E0 */ cpu->f[2] = cpu->f[12] + cpu->f[1];
|
|
/* 024987E4 */ cpu->f[3] = cpu->f[0] - cpu->f[1];
|
|
/* 024987E8 */ cpu->f[4] = cpu->f[0] + cpu->f[1];
|
|
/* 024987EC */ cpu->r[12] = 0x100B0000u;
|
|
/* 024987F0 */ cpu->f[1] = cpu->f[12] - cpu->f[1];
|
|
/* 024987F4 */ _t7 = cpu->r[12] + 0xFFFFAF68u;
|
|
/* 024987F4 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 024987F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024987FC */ Gambit_fn_02031EFC(cpu);
|
|
/* 02498800 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02498800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02498804 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498804 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02498808 */ cpu->lr = cpu->r[0];
|
|
/* 0249880C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0249880C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02498810 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02498814 */ return;
|
|
L_02498818: ; // 0x2498818
|
|
/* 02498818 */ _t11 = cpu->r[3] + 0x00000304u;
|
|
/* 02498818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249881C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498820 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498820 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02498820 */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02498820 */ goto L_02498824;
|
|
L_02498824: ; // 0x2498824
|
|
/* 02498824 */ goto L_024987B8;
|
|
}
|
|
|
|
// fn_0249882C @ 0x249882c
|
|
void Gambit_fn_0249882C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_0249882C: ; // 0x249882c
|
|
/* 0249882C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0249882C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249882C */ cpu->r[1] = _t0;
|
|
/* 02498830 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02498830 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02498834 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02498834 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02498838 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249883C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249883C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02498840 */ _t4 = cpu->r[30] + 0x00000318u;
|
|
/* 02498840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02498844 */ _t5 = cpu->r[12] + 0x0000065Cu;
|
|
/* 02498844 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02498848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 0249884C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249884C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0249884C */ if (_t7) goto L_02498858; else goto L_02498850;
|
|
L_02498850: ; // 0x2498850
|
|
/* 02498850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02498854 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498854 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02498854 */ if (_t9) goto L_02498858; else goto L_02498918;
|
|
L_02498858: ; // 0x2498858
|
|
/* 02498858 */ /* nop */
|
|
/* 0249885C */ /* nop */
|
|
/* 02498860 */ /* nop */
|
|
/* 02498864 */ _t10 = cpu->r[30] + 0x00000080u;
|
|
/* 02498864 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02498868 */ /* nop */
|
|
/* 0249886C */ _t11 = cpu->r[12] + 0x0000024Cu;
|
|
/* 0249886C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02498870 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02498870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02498874 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 02498878 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02498878 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249887C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0249887C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02498880 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498880 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 02498884 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498884 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02498888 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498888 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0249888C */ cpu->r[3] = cpu->r[30];
|
|
/* 02498890 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02498890 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02498894 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02498898 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0249889C */ _t19 = cpu->r[7] + 0x000000A0u;
|
|
/* 0249889C */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0249889C */ cpu->r[7] = _t19;
|
|
/* 024988A0 */ cpu->r[4] = 0x101D0000u;
|
|
/* 024988A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 024988A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024988AC */ cpu->r[4] = cpu->r[4] + 0x000006D0u;
|
|
/* 024988B0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024988B0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 024988B0 */ if (_t21) goto L_024988B4; else goto L_024988C8;
|
|
L_024988B4: ; // 0x24988b4
|
|
/* 024988B4 */ cpu->r[0] = 0x100B0000u;
|
|
/* 024988B8 */ cpu->r[12] = 0x00000001u;
|
|
/* 024988BC */ cpu->r[0] = cpu->r[0] + 0xFFFFAE64u;
|
|
/* 024988C0 */ _t22 = cpu->r[7] + 0x00000000u;
|
|
/* 024988C0 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 024988C4 */ _t23 = cpu->r[4] + 0x00000000u;
|
|
/* 024988C4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_024988C8: ; // 0x24988c8
|
|
/* 024988C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024988CC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024988CC */ _t25 = _t24 & 0x00000001u;
|
|
/* 024988CC */ if (_t25) goto L_024988EC; else goto L_024988D0;
|
|
L_024988D0: ; // 0x24988d0
|
|
/* 024988D0 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 024988D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024988D4 */ _t27 = cpu->r[7] + 0x0000006Cu;
|
|
/* 024988D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 024988D8 */ cpu->ctr = cpu->r[8];
|
|
/* 024988DC */ cpu->r[3] = cpu->r[31];
|
|
/* 024988E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024988E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024988E8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024988E8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 024988E8 */ if (_t29) goto L_024988EC; else goto L_024988F0;
|
|
L_024988EC: ; // 0x24988ec
|
|
/* 024988EC */ cpu->r[31] = 0x00000000u;
|
|
L_024988F0: ; // 0x24988f0
|
|
/* 024988F0 */ /* nop */
|
|
/* 024988F4 */ _t30 = cpu->r[31] + 0x0000053Cu;
|
|
/* 024988F4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 024988F8 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 024988F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 024988FC */ /* nop */
|
|
/* 02498900 */ _t32 = cpu->r[30] + 0x00000318u;
|
|
/* 02498900 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02498904 */ cpu->f[0] = cpu->f[0] * cpu->f[11];
|
|
/* 02498908 */ /* nop */
|
|
/* 0249890C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02498910 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02498910 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 02498914 */ Gambit_fn_025C6600(cpu);
|
|
L_02498918: ; // 0x2498918
|
|
/* 02498918 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0249891C */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 0249891C */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02498920 */ cpu->lr = cpu->r[0];
|
|
/* 02498924 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02498924 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02498928 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0249892C */ return;
|
|
}
|
|
|
|
// fn_02498930 @ 0x2498930
|
|
void Gambit_fn_02498930(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42;
|
|
|
|
L_02498828: ; // 0x2498828
|
|
/* 02498828 */ cpu->r[0] = cpu->lr;
|
|
/* 0249882C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0249882C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249882C */ cpu->r[1] = _t0;
|
|
/* 02498830 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02498830 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02498834 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02498834 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02498838 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249883C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249883C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02498840 */ _t4 = cpu->r[30] + 0x00000318u;
|
|
/* 02498840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02498844 */ _t5 = cpu->r[12] + 0x0000065Cu;
|
|
/* 02498844 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02498848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 0249884C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249884C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0249884C */ if (_t7) goto L_02498858; else goto L_02498850;
|
|
L_02498850: ; // 0x2498850
|
|
/* 02498850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02498854 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498854 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02498854 */ if (_t9) goto L_02498858; else goto L_02498918;
|
|
L_02498858: ; // 0x2498858
|
|
/* 02498858 */ /* nop */
|
|
/* 0249885C */ /* nop */
|
|
/* 02498860 */ /* nop */
|
|
/* 02498864 */ _t10 = cpu->r[30] + 0x00000080u;
|
|
/* 02498864 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02498868 */ /* nop */
|
|
/* 0249886C */ _t11 = cpu->r[12] + 0x0000024Cu;
|
|
/* 0249886C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02498870 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02498870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02498874 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 02498878 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02498878 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249887C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0249887C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02498880 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498880 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 02498884 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498884 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02498888 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498888 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0249888C */ cpu->r[3] = cpu->r[30];
|
|
/* 02498890 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02498890 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02498894 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02498898 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0249889C */ _t19 = cpu->r[7] + 0x000000A0u;
|
|
/* 0249889C */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0249889C */ cpu->r[7] = _t19;
|
|
/* 024988A0 */ cpu->r[4] = 0x101D0000u;
|
|
/* 024988A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 024988A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024988AC */ cpu->r[4] = cpu->r[4] + 0x000006D0u;
|
|
/* 024988B0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024988B0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 024988B0 */ if (_t21) goto L_024988B4; else goto L_024988C8;
|
|
L_024988B4: ; // 0x24988b4
|
|
/* 024988B4 */ cpu->r[0] = 0x100B0000u;
|
|
/* 024988B8 */ cpu->r[12] = 0x00000001u;
|
|
/* 024988BC */ cpu->r[0] = cpu->r[0] + 0xFFFFAE64u;
|
|
/* 024988C0 */ _t22 = cpu->r[7] + 0x00000000u;
|
|
/* 024988C0 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 024988C4 */ _t23 = cpu->r[4] + 0x00000000u;
|
|
/* 024988C4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_024988C8: ; // 0x24988c8
|
|
/* 024988C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024988CC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024988CC */ _t25 = _t24 & 0x00000001u;
|
|
/* 024988CC */ if (_t25) goto L_024988EC; else goto L_024988D0;
|
|
L_024988D0: ; // 0x24988d0
|
|
/* 024988D0 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 024988D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024988D4 */ _t27 = cpu->r[7] + 0x0000006Cu;
|
|
/* 024988D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 024988D8 */ cpu->ctr = cpu->r[8];
|
|
/* 024988DC */ cpu->r[3] = cpu->r[31];
|
|
/* 024988E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024988E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024988E8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024988E8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 024988E8 */ if (_t29) goto L_024988EC; else goto L_024988F0;
|
|
L_024988EC: ; // 0x24988ec
|
|
/* 024988EC */ cpu->r[31] = 0x00000000u;
|
|
L_024988F0: ; // 0x24988f0
|
|
/* 024988F0 */ /* nop */
|
|
/* 024988F4 */ _t30 = cpu->r[31] + 0x0000053Cu;
|
|
/* 024988F4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 024988F8 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 024988F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 024988FC */ /* nop */
|
|
/* 02498900 */ _t32 = cpu->r[30] + 0x00000318u;
|
|
/* 02498900 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02498904 */ cpu->f[0] = cpu->f[0] * cpu->f[11];
|
|
/* 02498908 */ /* nop */
|
|
/* 0249890C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02498910 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02498910 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 02498914 */ Gambit_fn_025C6600(cpu);
|
|
L_02498918: ; // 0x2498918
|
|
/* 02498918 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0249891C */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 0249891C */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02498920 */ cpu->lr = cpu->r[0];
|
|
/* 02498924 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02498924 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02498928 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0249892C */ return;
|
|
L_02498930: ; // 0x2498930
|
|
/* 02498930 */ _t37 = cpu->r[3] + 0x00000300u;
|
|
/* 02498930 */ cpu->r[12] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02498934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02498938 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498938 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02498938 */ if (_t39) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02498938 */ goto L_0249893C;
|
|
L_0249893C: ; // 0x249893c
|
|
/* 0249893C */ _t40 = cpu->r[3] + 0x00000318u;
|
|
/* 0249893C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02498940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498944 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498944 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02498944 */ if (_t42) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02498944 */ goto L_02498948;
|
|
L_02498948: ; // 0x2498948
|
|
/* 02498948 */ goto L_02498828;
|
|
}
|
|
|
|
// fn_0249894C @ 0x249894c
|
|
void Gambit_fn_0249894C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0249894C: ; // 0x249894c
|
|
/* 0249894C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0249894C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249894C */ cpu->r[1] = _t0;
|
|
/* 02498950 */ /* nop */
|
|
/* 02498954 */ cpu->r[0] = cpu->lr;
|
|
/* 02498958 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498958 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0249895C */ cpu->r[26] = cpu->r[3];
|
|
/* 02498960 */ _t2 = cpu->r[26] + 0x00000318u;
|
|
/* 02498960 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02498964 */ _t3 = cpu->r[11] + 0x0000065Cu;
|
|
/* 02498964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02498968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0249896C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249896C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249896C */ if (_t5) goto L_02498A58; else goto L_02498970;
|
|
L_02498970: ; // 0x2498970
|
|
/* 02498970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02498974 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498974 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02498974 */ if (_t7) goto L_02498A58; else goto L_02498978;
|
|
L_02498978: ; // 0x2498978
|
|
/* 02498978 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249897C */ _t8 = cpu->r[10] + 0x0000009Cu;
|
|
/* 0249897C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249897C */ cpu->r[10] = _t8;
|
|
/* 02498980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498984 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02498988 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498988 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02498988 */ if (_t10) goto L_0249898C; else goto L_024989A8;
|
|
L_0249898C: ; // 0x249898c
|
|
/* 0249898C */ cpu->r[9] = 0x00000001u;
|
|
/* 02498990 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02498994 */ cpu->r[3] = cpu->r[31] + 0x00005063u;
|
|
/* 02498998 */ cpu->r[5] = 0x00000006u;
|
|
/* 0249899C */ cpu->r[4] = cpu->r[4] + 0x00006244u;
|
|
/* 024989A0 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 024989A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 024989A4 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_024989A8: ; // 0x24989a8
|
|
/* 024989A8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 024989AC */ _t12 = cpu->r[12] + 0x00000098u;
|
|
/* 024989AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024989AC */ cpu->r[12] = _t12;
|
|
/* 024989B0 */ cpu->r[29] = 0x101D0000u;
|
|
/* 024989B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024989B8 */ cpu->r[30] = 0x00000000u;
|
|
/* 024989BC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024989BC */ _t14 = _t13 & 0x00000001u;
|
|
/* 024989BC */ if (_t14) goto L_024989C0; else goto L_024989E8;
|
|
L_024989C0: ; // 0x24989c0
|
|
/* 024989C0 */ _t15 = cpu->r[29] + 0x000006C8u;
|
|
/* 024989C0 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 024989C4 */ cpu->r[11] = 0x00000001u;
|
|
/* 024989C8 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 024989C8 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 024989CC */ Gambit_fn_0282A450(cpu);
|
|
/* 024989D0 */ cpu->r[27] = cpu->r[3];
|
|
/* 024989D4 */ Gambit_fn_02836FFC(cpu);
|
|
/* 024989D8 */ _t17 = cpu->r[29] + 0x000006C8u;
|
|
/* 024989D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 024989DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024989E0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024989E0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 024989E0 */ if (_t19) goto L_02498A0C; else goto L_024989E4;
|
|
L_024989E4: ; // 0x24989e4
|
|
/* 024989E4 */ goto L_02498A28;
|
|
L_024989E8: ; // 0x24989e8
|
|
/* 024989E8 */ _t20 = cpu->r[29] + 0x000006C8u;
|
|
/* 024989E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 024989EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024989F0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024989F0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 024989F0 */ if (_t22) goto L_024989F4; else goto L_02498A34;
|
|
L_024989F4: ; // 0x24989f4
|
|
/* 024989F4 */ Gambit_fn_0282A450(cpu);
|
|
/* 024989F8 */ cpu->r[27] = cpu->r[3];
|
|
/* 024989FC */ Gambit_fn_02836FFC(cpu);
|
|
/* 02498A00 */ _t23 = cpu->r[29] + 0x000006C8u;
|
|
/* 02498A00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02498A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498A08 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498A08 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02498A08 */ if (_t25) goto L_02498A0C; else goto L_02498A28;
|
|
L_02498A0C: ; // 0x2498a0c
|
|
/* 02498A0C */ cpu->r[28] = 0x101D0000u;
|
|
/* 02498A10 */ cpu->r[4] = cpu->r[31] + 0x00005063u;
|
|
/* 02498A14 */ cpu->r[28] = cpu->r[28] + 0x000006CCu;
|
|
/* 02498A18 */ cpu->r[5] = 0x00000001u;
|
|
/* 02498A1C */ cpu->r[3] = cpu->r[28];
|
|
/* 02498A20 */ Gambit_fn_0282A374(cpu);
|
|
/* 02498A24 */ _t26 = cpu->r[29] + 0x000006C8u;
|
|
/* 02498A24 */ rbrew_write32(cpu->mem, _t26, cpu->r[28]);
|
|
L_02498A28: ; // 0x2498a28
|
|
/* 02498A28 */ cpu->r[3] = cpu->r[27];
|
|
/* 02498A2C */ Gambit_fn_02837030(cpu);
|
|
/* 02498A30 */ _t27 = cpu->r[29] + 0x000006C8u;
|
|
/* 02498A30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
L_02498A34: ; // 0x2498a34
|
|
/* 02498A34 */ cpu->r[0] = 0x100B0000u;
|
|
/* 02498A38 */ _t28 = cpu->r[26] + 0x00000030u;
|
|
/* 02498A38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02498A3C */ cpu->r[0] = cpu->r[0] + 0xFFFFADD4u;
|
|
/* 02498A40 */ _t29 = cpu->r[10] + 0x00000000u;
|
|
/* 02498A40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02498A44 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498A44 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02498A48 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02498A4C */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02498A4C */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02498A50 */ Gambit_fn_027B70F0(cpu);
|
|
/* 02498A54 */ _t32 = cpu->r[26] + 0x00000318u;
|
|
/* 02498A54 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
L_02498A58: ; // 0x2498a58
|
|
/* 02498A58 */ /* nop */
|
|
/* 02498A5C */ _t33 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02498A60 */ cpu->lr = cpu->r[0];
|
|
/* 02498A64 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02498A68 */ return;
|
|
}
|
|
|
|
// fn_02498A6C @ 0x2498a6c
|
|
void Gambit_fn_02498A6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77;
|
|
|
|
L_02498A6C: ; // 0x2498a6c
|
|
/* 02498A6C */ cpu->r[0] = cpu->lr;
|
|
/* 02498A70 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02498A70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02498A70 */ cpu->r[1] = _t0;
|
|
/* 02498A74 */ _t1 = cpu->r[1] + 0x00000068u;
|
|
/* 02498A74 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02498A78 */ _t2 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02498A78 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02498A7C */ cpu->r[30] = cpu->r[3];
|
|
/* 02498A80 */ _t3 = cpu->r[1] + 0x00000074u;
|
|
/* 02498A80 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02498A84 */ _t4 = cpu->r[30] + 0x0000030Cu;
|
|
/* 02498A84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02498A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498A8C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498A8C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02498A8C */ if (_t6) goto L_02498B6C; else goto L_02498A90;
|
|
L_02498A90: ; // 0x2498a90
|
|
/* 02498A90 */ _t7 = cpu->r[30] + 0x00000310u;
|
|
/* 02498A90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02498A94 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02498A94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02498A98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
|
|
/* 02498A9C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498A9C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02498A9C */ if (_t10) goto L_02498AA0; else goto L_02498B6C;
|
|
L_02498AA0: ; // 0x2498aa0
|
|
/* 02498AA0 */ _t11 = cpu->r[30] + 0x00000054u;
|
|
/* 02498AA0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02498AA4 */ _t12 = cpu->r[30] + 0x00000060u;
|
|
/* 02498AA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02498AA8 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02498AA8 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 02498AAC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498AAC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02498AB0 */ _t15 = cpu->r[30] + 0x00000058u;
|
|
/* 02498AB0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02498AB4 */ _t16 = cpu->r[30] + 0x00000068u;
|
|
/* 02498AB4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02498AB8 */ _t17 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02498AB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02498ABC */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02498ABC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 02498AC0 */ _t19 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02498AC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02498AC4 */ _t20 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02498AC4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02498AC8 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02498AC8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02498ACC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02498ACC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02498AD0 */ _t23 = cpu->r[30] + 0x00000064u;
|
|
/* 02498AD0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02498AD4 */ _t24 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498AD4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[10]);
|
|
/* 02498AD8 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498AD8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02498ADC */ _t26 = cpu->r[30] + 0x00000078u;
|
|
/* 02498ADC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02498AE0 */ _t27 = cpu->r[30] + 0x00000074u;
|
|
/* 02498AE0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02498AE4 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02498AE4 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 02498AE8 */ _t29 = cpu->r[30] + 0x00000070u;
|
|
/* 02498AE8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02498AEC */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02498AEC */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]);
|
|
/* 02498AF0 */ _t31 = cpu->r[1] + 0x00000020u;
|
|
/* 02498AF0 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
|
|
/* 02498AF4 */ cpu->r[0] = 0x00000003u;
|
|
/* 02498AF8 */ _t32 = cpu->r[30] + 0x00000080u;
|
|
/* 02498AF8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02498AFC */ cpu->ctr = cpu->r[0];
|
|
/* 02498B00 */ cpu->r[12] = cpu->r[1] + 0x00000034u;
|
|
/* 02498B04 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 02498B04 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[12]);
|
|
/* 02498B08 */ cpu->r[11] = cpu->r[1] + 0x00000004u;
|
|
/* 02498B0C */ _t34 = cpu->r[1] + 0x00000028u;
|
|
/* 02498B0C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
L_02498B10: ; // 0x2498b10
|
|
/* 02498B10 */ _t35 = cpu->r[11] + 0x00000004u;
|
|
/* 02498B10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02498B14 */ _t36 = cpu->r[12] + 0x00000004u;
|
|
/* 02498B14 */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
|
|
/* 02498B18 */ _t37 = cpu->r[11] + 0x00000008u;
|
|
/* 02498B18 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02498B1C */ _t38 = cpu->r[12] + 0x00000008u;
|
|
/* 02498B1C */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 02498B20 */ _t39 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02498B20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02498B24 */ _t40 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02498B24 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 02498B28 */ _t41 = cpu->r[11] + 0x00000010u;
|
|
/* 02498B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02498B28 */ cpu->r[11] = _t41;
|
|
/* 02498B2C */ _t42 = cpu->r[12] + 0x00000010u;
|
|
/* 02498B2C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02498B2C */ cpu->r[12] = _t42;
|
|
/* 02498B30 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02498B30 */ _t43 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02498B30 */ _t44 = _t43 >> (0x00000002u & 31u);
|
|
/* 02498B30 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02498B30 */ if (_t45) goto L_02498B10; else goto L_02498B34;
|
|
L_02498B34: ; // 0x2498b34
|
|
/* 02498B34 */ _t46 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02498B34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02498B38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02498B3C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498B3C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02498B3C */ if (_t48) goto L_02498B40; else goto L_02498B6C;
|
|
L_02498B40: ; // 0x2498b40
|
|
/* 02498B40 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02498B44 */ cpu->r[4] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02498B48 */ Gambit_fn_02C69510(cpu);
|
|
/* 02498B4C */ cpu->r[12] = 0x100B0000u;
|
|
/* 02498B50 */ _t49 = cpu->r[12] + 0xFFFFAF68u;
|
|
/* 02498B50 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02498B54 */ _t50 = cpu->r[31] + 0x0000012Cu;
|
|
/* 02498B54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02498B58 */ _t51 = cpu->r[31] + 0x00000078u;
|
|
/* 02498B58 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[0]);
|
|
/* 02498B5C */ cpu->r[12] = cpu->r[12] | 0x00000008u;
|
|
/* 02498B60 */ _t52 = cpu->r[31] + 0x00000074u;
|
|
/* 02498B60 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 02498B64 */ _t53 = cpu->r[31] + 0x0000012Cu;
|
|
/* 02498B64 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 02498B68 */ _t54 = cpu->r[31] + 0x00000070u;
|
|
/* 02498B68 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[0]);
|
|
L_02498B6C: ; // 0x2498b6c
|
|
/* 02498B6C */ _t55 = cpu->r[30] + 0x00000318u;
|
|
/* 02498B6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02498B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02498B74 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498B74 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02498B74 */ if (_t57) goto L_02498BD0; else goto L_02498B78;
|
|
L_02498B78: ; // 0x2498b78
|
|
/* 02498B78 */ _t58 = cpu->r[8] + 0x0000065Cu;
|
|
/* 02498B78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02498B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498B80 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498B80 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02498B80 */ if (_t60) goto L_02498B84; else goto L_02498BD0;
|
|
L_02498B84: ; // 0x2498b84
|
|
/* 02498B84 */ _t61 = cpu->r[30] + 0x0000030Cu;
|
|
/* 02498B84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02498B88 */ cpu->r[7] = 0x00000000u;
|
|
/* 02498B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498B90 */ _t62 = cpu->r[30] + 0x00000318u;
|
|
/* 02498B90 */ rbrew_write32(cpu->mem, _t62, cpu->r[7]);
|
|
/* 02498B94 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498B94 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02498B94 */ if (_t64) goto L_02498BD0; else goto L_02498B98;
|
|
L_02498B98: ; // 0x2498b98
|
|
/* 02498B98 */ _t65 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02498B98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02498B9C */ _t66 = cpu->r[30] + 0x00000310u;
|
|
/* 02498B9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02498BA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02498BA4 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498BA4 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02498BA4 */ if (_t68) goto L_02498BA8; else goto L_02498BD0;
|
|
L_02498BA8: ; // 0x2498ba8
|
|
/* 02498BA8 */ _t69 = cpu->r[31] + 0x00000028u;
|
|
/* 02498BA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02498BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498BB0 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498BB0 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02498BB0 */ if (_t71) goto L_02498BC8; else goto L_02498BB4;
|
|
L_02498BB4: ; // 0x2498bb4
|
|
/* 02498BB4 */ _t72 = cpu->r[3] + 0x00000050u;
|
|
/* 02498BB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02498BB8 */ _t73 = cpu->r[11] + 0x00000024u;
|
|
/* 02498BB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02498BBC */ cpu->ctr = cpu->r[12];
|
|
/* 02498BC0 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02498BC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02498BC8: ; // 0x2498bc8
|
|
/* 02498BC8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02498BCC */ _t74 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02498BCC */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[0]);
|
|
L_02498BD0: ; // 0x2498bd0
|
|
/* 02498BD0 */ _t75 = cpu->r[1] + 0x00000074u;
|
|
/* 02498BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02498BD4 */ _t76 = cpu->r[1] + 0x00000068u;
|
|
/* 02498BD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02498BD8 */ cpu->lr = cpu->r[0];
|
|
/* 02498BDC */ _t77 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02498BDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02498BE0 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02498BE4 */ return;
|
|
}
|
|
|
|
// fn_02498A70 @ 0x2498a70
|
|
void Gambit_fn_02498A70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77;
|
|
|
|
L_02498A70: ; // 0x2498a70
|
|
/* 02498A70 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02498A70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02498A70 */ cpu->r[1] = _t0;
|
|
/* 02498A74 */ _t1 = cpu->r[1] + 0x00000068u;
|
|
/* 02498A74 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02498A78 */ _t2 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02498A78 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02498A7C */ cpu->r[30] = cpu->r[3];
|
|
/* 02498A80 */ _t3 = cpu->r[1] + 0x00000074u;
|
|
/* 02498A80 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02498A84 */ _t4 = cpu->r[30] + 0x0000030Cu;
|
|
/* 02498A84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02498A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498A8C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498A8C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02498A8C */ if (_t6) goto L_02498B6C; else goto L_02498A90;
|
|
L_02498A90: ; // 0x2498a90
|
|
/* 02498A90 */ _t7 = cpu->r[30] + 0x00000310u;
|
|
/* 02498A90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02498A94 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02498A94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02498A98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
|
|
/* 02498A9C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498A9C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02498A9C */ if (_t10) goto L_02498AA0; else goto L_02498B6C;
|
|
L_02498AA0: ; // 0x2498aa0
|
|
/* 02498AA0 */ _t11 = cpu->r[30] + 0x00000054u;
|
|
/* 02498AA0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02498AA4 */ _t12 = cpu->r[30] + 0x00000060u;
|
|
/* 02498AA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02498AA8 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02498AA8 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 02498AAC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498AAC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02498AB0 */ _t15 = cpu->r[30] + 0x00000058u;
|
|
/* 02498AB0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02498AB4 */ _t16 = cpu->r[30] + 0x00000068u;
|
|
/* 02498AB4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02498AB8 */ _t17 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02498AB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02498ABC */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02498ABC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 02498AC0 */ _t19 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02498AC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02498AC4 */ _t20 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02498AC4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02498AC8 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02498AC8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02498ACC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02498ACC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02498AD0 */ _t23 = cpu->r[30] + 0x00000064u;
|
|
/* 02498AD0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02498AD4 */ _t24 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498AD4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[10]);
|
|
/* 02498AD8 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498AD8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02498ADC */ _t26 = cpu->r[30] + 0x00000078u;
|
|
/* 02498ADC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02498AE0 */ _t27 = cpu->r[30] + 0x00000074u;
|
|
/* 02498AE0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02498AE4 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02498AE4 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 02498AE8 */ _t29 = cpu->r[30] + 0x00000070u;
|
|
/* 02498AE8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02498AEC */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02498AEC */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]);
|
|
/* 02498AF0 */ _t31 = cpu->r[1] + 0x00000020u;
|
|
/* 02498AF0 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
|
|
/* 02498AF4 */ cpu->r[0] = 0x00000003u;
|
|
/* 02498AF8 */ _t32 = cpu->r[30] + 0x00000080u;
|
|
/* 02498AF8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02498AFC */ cpu->ctr = cpu->r[0];
|
|
/* 02498B00 */ cpu->r[12] = cpu->r[1] + 0x00000034u;
|
|
/* 02498B04 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 02498B04 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[12]);
|
|
/* 02498B08 */ cpu->r[11] = cpu->r[1] + 0x00000004u;
|
|
/* 02498B0C */ _t34 = cpu->r[1] + 0x00000028u;
|
|
/* 02498B0C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
L_02498B10: ; // 0x2498b10
|
|
/* 02498B10 */ _t35 = cpu->r[11] + 0x00000004u;
|
|
/* 02498B10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02498B14 */ _t36 = cpu->r[12] + 0x00000004u;
|
|
/* 02498B14 */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
|
|
/* 02498B18 */ _t37 = cpu->r[11] + 0x00000008u;
|
|
/* 02498B18 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02498B1C */ _t38 = cpu->r[12] + 0x00000008u;
|
|
/* 02498B1C */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 02498B20 */ _t39 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02498B20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02498B24 */ _t40 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02498B24 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 02498B28 */ _t41 = cpu->r[11] + 0x00000010u;
|
|
/* 02498B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02498B28 */ cpu->r[11] = _t41;
|
|
/* 02498B2C */ _t42 = cpu->r[12] + 0x00000010u;
|
|
/* 02498B2C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02498B2C */ cpu->r[12] = _t42;
|
|
/* 02498B30 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02498B30 */ _t43 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02498B30 */ _t44 = _t43 >> (0x00000002u & 31u);
|
|
/* 02498B30 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02498B30 */ if (_t45) goto L_02498B10; else goto L_02498B34;
|
|
L_02498B34: ; // 0x2498b34
|
|
/* 02498B34 */ _t46 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02498B34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02498B38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02498B3C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498B3C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02498B3C */ if (_t48) goto L_02498B40; else goto L_02498B6C;
|
|
L_02498B40: ; // 0x2498b40
|
|
/* 02498B40 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02498B44 */ cpu->r[4] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02498B48 */ Gambit_fn_02C69510(cpu);
|
|
/* 02498B4C */ cpu->r[12] = 0x100B0000u;
|
|
/* 02498B50 */ _t49 = cpu->r[12] + 0xFFFFAF68u;
|
|
/* 02498B50 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02498B54 */ _t50 = cpu->r[31] + 0x0000012Cu;
|
|
/* 02498B54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02498B58 */ _t51 = cpu->r[31] + 0x00000078u;
|
|
/* 02498B58 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[0]);
|
|
/* 02498B5C */ cpu->r[12] = cpu->r[12] | 0x00000008u;
|
|
/* 02498B60 */ _t52 = cpu->r[31] + 0x00000074u;
|
|
/* 02498B60 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 02498B64 */ _t53 = cpu->r[31] + 0x0000012Cu;
|
|
/* 02498B64 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 02498B68 */ _t54 = cpu->r[31] + 0x00000070u;
|
|
/* 02498B68 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[0]);
|
|
L_02498B6C: ; // 0x2498b6c
|
|
/* 02498B6C */ _t55 = cpu->r[30] + 0x00000318u;
|
|
/* 02498B6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02498B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02498B74 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498B74 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02498B74 */ if (_t57) goto L_02498BD0; else goto L_02498B78;
|
|
L_02498B78: ; // 0x2498b78
|
|
/* 02498B78 */ _t58 = cpu->r[8] + 0x0000065Cu;
|
|
/* 02498B78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02498B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498B80 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498B80 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02498B80 */ if (_t60) goto L_02498B84; else goto L_02498BD0;
|
|
L_02498B84: ; // 0x2498b84
|
|
/* 02498B84 */ _t61 = cpu->r[30] + 0x0000030Cu;
|
|
/* 02498B84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02498B88 */ cpu->r[7] = 0x00000000u;
|
|
/* 02498B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498B90 */ _t62 = cpu->r[30] + 0x00000318u;
|
|
/* 02498B90 */ rbrew_write32(cpu->mem, _t62, cpu->r[7]);
|
|
/* 02498B94 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498B94 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02498B94 */ if (_t64) goto L_02498BD0; else goto L_02498B98;
|
|
L_02498B98: ; // 0x2498b98
|
|
/* 02498B98 */ _t65 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02498B98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02498B9C */ _t66 = cpu->r[30] + 0x00000310u;
|
|
/* 02498B9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02498BA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02498BA4 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498BA4 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02498BA4 */ if (_t68) goto L_02498BA8; else goto L_02498BD0;
|
|
L_02498BA8: ; // 0x2498ba8
|
|
/* 02498BA8 */ _t69 = cpu->r[31] + 0x00000028u;
|
|
/* 02498BA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02498BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498BB0 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498BB0 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02498BB0 */ if (_t71) goto L_02498BC8; else goto L_02498BB4;
|
|
L_02498BB4: ; // 0x2498bb4
|
|
/* 02498BB4 */ _t72 = cpu->r[3] + 0x00000050u;
|
|
/* 02498BB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02498BB8 */ _t73 = cpu->r[11] + 0x00000024u;
|
|
/* 02498BB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02498BBC */ cpu->ctr = cpu->r[12];
|
|
/* 02498BC0 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02498BC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02498BC8: ; // 0x2498bc8
|
|
/* 02498BC8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02498BCC */ _t74 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02498BCC */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[0]);
|
|
L_02498BD0: ; // 0x2498bd0
|
|
/* 02498BD0 */ _t75 = cpu->r[1] + 0x00000074u;
|
|
/* 02498BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02498BD4 */ _t76 = cpu->r[1] + 0x00000068u;
|
|
/* 02498BD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02498BD8 */ cpu->lr = cpu->r[0];
|
|
/* 02498BDC */ _t77 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02498BDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02498BE0 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02498BE4 */ return;
|
|
}
|
|
|
|
// fn_02498BE8 @ 0x2498be8
|
|
void Gambit_fn_02498BE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69;
|
|
|
|
L_02498BE8: ; // 0x2498be8
|
|
/* 02498BE8 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 02498BE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02498BE8 */ cpu->r[1] = _t0;
|
|
/* 02498BEC */ cpu->r[0] = cpu->lr;
|
|
/* 02498BF0 */ _t1 = cpu->r[1] + 0x00000088u;
|
|
/* 02498BF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02498BF4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02498BF8 */ _t2 = cpu->r[1] + 0x00000090u;
|
|
/* 02498BF8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02498BFC */ /* nop */
|
|
/* 02498C00 */ _t3 = cpu->r[1] + 0x00000080u;
|
|
/* 02498C00 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02498C04 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02498C08 */ _t4 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02498C08 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02498C0C */ _t5 = cpu->r[1] + 0x00000098u;
|
|
/* 02498C0C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 02498C10 */ _t6 = cpu->r[1] + 0x00000084u;
|
|
/* 02498C10 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 02498C14 */ _t7 = cpu->r[1] + 0x000000A4u;
|
|
/* 02498C14 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02498C18 */ Gambit_fn_02043AC4(cpu);
|
|
/* 02498C1C */ /* nop */
|
|
/* 02498C20 */ _t8 = cpu->r[30] + 0x00000074u;
|
|
/* 02498C20 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02498C24 */ /* nop */
|
|
/* 02498C28 */ /* nop */
|
|
/* 02498C2C */ /* nop */
|
|
/* 02498C30 */ _t9 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02498C30 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02498C34 */ /* nop */
|
|
/* 02498C38 */ cpu->f[12] = fma(cpu->f[8], cpu->f[10], cpu->f[12]);
|
|
/* 02498C3C */ /* nop */
|
|
/* 02498C40 */ cpu->f[13] = fma(cpu->f[10], cpu->f[10], cpu->f[9]);
|
|
/* 02498C44 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02498C44 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]);
|
|
/* 02498C48 */ cpu->r[3] = cpu->r[30];
|
|
/* 02498C4C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498C4C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 02498C50 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02498C54 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02498C58 */ _t12 = cpu->r[7] + 0x000000A0u;
|
|
/* 02498C58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02498C58 */ cpu->r[7] = _t12;
|
|
/* 02498C5C */ cpu->r[4] = 0x101D0000u;
|
|
/* 02498C60 */ cpu->r[31] = cpu->r[3];
|
|
/* 02498C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02498C68 */ cpu->r[4] = cpu->r[4] + 0x000006D0u;
|
|
/* 02498C6C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498C6C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02498C6C */ if (_t14) goto L_02498C70; else goto L_02498C84;
|
|
L_02498C70: ; // 0x2498c70
|
|
/* 02498C70 */ cpu->r[0] = 0x100B0000u;
|
|
/* 02498C74 */ cpu->r[12] = 0x00000001u;
|
|
/* 02498C78 */ cpu->r[0] = cpu->r[0] + 0xFFFFAE64u;
|
|
/* 02498C7C */ _t15 = cpu->r[7] + 0x00000000u;
|
|
/* 02498C7C */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02498C80 */ _t16 = cpu->r[4] + 0x00000000u;
|
|
/* 02498C80 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
L_02498C84: ; // 0x2498c84
|
|
/* 02498C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498C88 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498C88 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02498C88 */ if (_t18) goto L_02498CA8; else goto L_02498C8C;
|
|
L_02498C8C: ; // 0x2498c8c
|
|
/* 02498C8C */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02498C8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02498C90 */ _t20 = cpu->r[5] + 0x0000006Cu;
|
|
/* 02498C90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02498C94 */ cpu->ctr = cpu->r[6];
|
|
/* 02498C98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02498C9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02498CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498CA4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498CA4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02498CA4 */ if (_t22) goto L_02498CA8; else goto L_02498CAC;
|
|
L_02498CA8: ; // 0x2498ca8
|
|
/* 02498CA8 */ cpu->r[31] = 0x00000000u;
|
|
L_02498CAC: ; // 0x2498cac
|
|
/* 02498CAC */ _t23 = cpu->r[30] + 0x00000080u;
|
|
/* 02498CAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02498CB0 */ _t24 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02498CB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02498CB4 */ _t25 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02498CB4 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02498CB8 */ _t26 = cpu->r[1] + 0x00000058u;
|
|
/* 02498CB8 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 02498CBC */ _t27 = cpu->r[30] + 0x00000078u;
|
|
/* 02498CBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02498CC0 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02498CC4 */ _t29 = cpu->r[1] + 0x00000054u;
|
|
/* 02498CC4 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02498CC8 */ cpu->r[7] = 0x00000001u;
|
|
/* 02498CCC */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02498CCC */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02498CD0 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02498CD0 */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
|
|
/* 02498CD4 */ _t32 = cpu->r[31] + 0x0000047Cu;
|
|
/* 02498CD4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02498CD8 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02498CD8 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02498CDC */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02498CDC */ rbrew_write32(cpu->mem, _t34, cpu->r[6]);
|
|
/* 02498CE0 */ Gambit_fn_023F79E8(cpu);
|
|
/* 02498CE4 */ _t35 = cpu->r[30] + 0x00000060u;
|
|
/* 02498CE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02498CE8 */ _t36 = cpu->r[30] + 0x00000068u;
|
|
/* 02498CE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02498CEC */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02498CEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02498CF0 */ _t38 = cpu->r[1] + 0x00000054u;
|
|
/* 02498CF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02498CF4 */ _t39 = cpu->r[1] + 0x00000034u;
|
|
/* 02498CF4 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02498CF8 */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 02498CF8 */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
|
|
/* 02498CFC */ _t41 = cpu->r[1] + 0x00000038u;
|
|
/* 02498CFC */ rbrew_write_f32(cpu->mem, _t41, cpu->f[31]);
|
|
/* 02498D00 */ cpu->r[0] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02498D04 */ _t42 = cpu->r[1] + 0x00000058u;
|
|
/* 02498D04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02498D08 */ cpu->r[12] = 0x00000008u;
|
|
/* 02498D0C */ _t43 = cpu->r[1] + 0x00000044u;
|
|
/* 02498D0C */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 02498D10 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498D10 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02498D14 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02498D18 */ _t45 = cpu->r[1] + 0x00000028u;
|
|
/* 02498D18 */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 02498D1C */ cpu->r[11] = 0x00000000u;
|
|
/* 02498D20 */ _t46 = cpu->r[1] + 0x00000060u;
|
|
/* 02498D20 */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 02498D24 */ _t47 = cpu->r[1] + 0x00000068u;
|
|
/* 02498D24 */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
|
|
/* 02498D28 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02498D28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02498D2C */ _t49 = cpu->r[1] + 0x00000048u;
|
|
/* 02498D2C */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
/* 02498D30 */ _t50 = cpu->r[1] + 0x00000030u;
|
|
/* 02498D30 */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 02498D34 */ _t51 = cpu->r[1] + 0x00000050u;
|
|
/* 02498D34 */ rbrew_write32(cpu->mem, _t51, cpu->r[29]);
|
|
/* 02498D38 */ _t52 = cpu->r[30] + 0x00000064u;
|
|
/* 02498D38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02498D3C */ _t53 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02498D3C */ cpu->r[5] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02498D40 */ _t54 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02498D40 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
/* 02498D44 */ _t55 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02498D44 */ rbrew_write32(cpu->mem, _t55, cpu->r[5]);
|
|
/* 02498D48 */ _t56 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02498D48 */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 02498D4C */ _t57 = cpu->r[1] + 0x00000064u;
|
|
/* 02498D4C */ rbrew_write32(cpu->mem, _t57, cpu->r[9]);
|
|
/* 02498D50 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 02498D50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02498D54 */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 02498D54 */ rbrew_write32(cpu->mem, _t59, cpu->r[11]);
|
|
/* 02498D58 */ _t60 = cpu->r[1] + 0x00000040u;
|
|
/* 02498D58 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 02498D5C */ Gambit_fn_023945F8(cpu);
|
|
/* 02498D60 */ _t61 = cpu->r[1] + 0x00000080u;
|
|
/* 02498D60 */ cpu->r[28] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02498D64 */ _t62 = cpu->r[1] + 0x00000084u;
|
|
/* 02498D64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02498D68 */ _t63 = cpu->r[1] + 0x00000098u;
|
|
/* 02498D68 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02498D6C */ _t64 = cpu->r[1] + 0x00000088u;
|
|
/* 02498D6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02498D70 */ _t65 = cpu->r[1] + 0x00000090u;
|
|
/* 02498D70 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 02498D74 */ _t66 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02498D74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02498D78 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02498D78 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02498D78 */ if (_t68) goto L_02498D7C; // else: addr-0 trap, fall-through
|
|
L_02498D7C: ; // 0x2498d7c
|
|
/* 02498D7C */ _t69 = cpu->r[1] + 0x000000A4u;
|
|
/* 02498D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02498D80 */ cpu->lr = cpu->r[0];
|
|
/* 02498D84 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02498D88 */ return;
|
|
}
|
|
|
|
// fn_02498D8C @ 0x2498d8c
|
|
void Gambit_fn_02498D8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02498D8C: ; // 0x2498d8c
|
|
/* 02498D8C */ cpu->r[0] = cpu->lr;
|
|
/* 02498D90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02498D90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02498D90 */ cpu->r[1] = _t0;
|
|
/* 02498D94 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02498D94 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02498D98 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498D98 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02498D9C */ cpu->r[30] = cpu->r[3];
|
|
/* 02498DA0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02498DA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02498DA4 */ _t4 = cpu->r[30] + 0x00000300u;
|
|
/* 02498DA4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02498DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02498DAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498DAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02498DAC */ if (_t6) goto L_02498DC4; else goto L_02498DB0;
|
|
L_02498DB0: ; // 0x2498db0
|
|
/* 02498DB0 */ _t7 = cpu->r[30] + 0x00000318u;
|
|
/* 02498DB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02498DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02498DB8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498DB8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02498DB8 */ if (_t9) goto L_02498DC4; else goto L_02498DBC;
|
|
L_02498DBC: ; // 0x2498dbc
|
|
/* 02498DBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02498DC0 */ Gambit_fn_0249894C(cpu);
|
|
L_02498DC4: ; // 0x2498dc4
|
|
/* 02498DC4 */ _t10 = cpu->r[30] + 0x00000301u;
|
|
/* 02498DC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02498DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02498DCC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498DCC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02498DCC */ if (_t12) goto L_02498DD8; else goto L_02498DD0;
|
|
L_02498DD0: ; // 0x2498dd0
|
|
/* 02498DD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02498DD4 */ Gambit_fn_02498A6C(cpu);
|
|
L_02498DD8: ; // 0x2498dd8
|
|
/* 02498DD8 */ _t13 = cpu->r[30] + 0x00000300u;
|
|
/* 02498DD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02498DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498DE0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498DE0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02498DE0 */ if (_t15) goto L_02498E5C; else goto L_02498DE4;
|
|
L_02498DE4: ; // 0x2498de4
|
|
/* 02498DE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02498DE8 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02498DEC */ cpu->r[10] = 0x101D0000u;
|
|
/* 02498DF0 */ _t16 = cpu->r[10] + 0x000000A0u;
|
|
/* 02498DF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02498DF0 */ cpu->r[10] = _t16;
|
|
/* 02498DF4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02498DF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02498DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02498E00 */ cpu->r[4] = cpu->r[4] + 0x000006D0u;
|
|
/* 02498E04 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498E04 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02498E04 */ if (_t18) goto L_02498E08; else goto L_02498E1C;
|
|
L_02498E08: ; // 0x2498e08
|
|
/* 02498E08 */ cpu->r[8] = 0x100B0000u;
|
|
/* 02498E0C */ cpu->r[0] = 0x00000001u;
|
|
/* 02498E10 */ cpu->r[8] = cpu->r[8] + 0xFFFFAE64u;
|
|
/* 02498E14 */ _t19 = cpu->r[10] + 0x00000000u;
|
|
/* 02498E14 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02498E18 */ _t20 = cpu->r[4] + 0x00000000u;
|
|
/* 02498E18 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
L_02498E1C: ; // 0x2498e1c
|
|
/* 02498E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498E20 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498E20 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02498E20 */ if (_t22) goto L_02498E40; else goto L_02498E24;
|
|
L_02498E24: ; // 0x2498e24
|
|
/* 02498E24 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 02498E24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02498E28 */ _t24 = cpu->r[9] + 0x0000006Cu;
|
|
/* 02498E28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02498E2C */ cpu->ctr = cpu->r[0];
|
|
/* 02498E30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02498E34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02498E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498E3C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498E3C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02498E3C */ if (_t26) goto L_02498E40; else goto L_02498E44;
|
|
L_02498E40: ; // 0x2498e40
|
|
/* 02498E40 */ cpu->r[31] = 0x00000000u;
|
|
L_02498E44: ; // 0x2498e44
|
|
/* 02498E44 */ _t27 = cpu->r[30] + 0x0000031Cu;
|
|
/* 02498E44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02498E48 */ _t28 = cpu->r[31] + 0x000004DCu;
|
|
/* 02498E48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02498E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02498E50 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498E50 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02498E50 */ if (_t30) goto L_02498E54; else goto L_02498E5C;
|
|
L_02498E54: ; // 0x2498e54
|
|
/* 02498E54 */ cpu->r[3] = cpu->r[30];
|
|
/* 02498E58 */ Gambit_fn_02498BE8(cpu);
|
|
L_02498E5C: ; // 0x2498e5c
|
|
/* 02498E5C */ _t31 = cpu->r[30] + 0x00000064u;
|
|
/* 02498E5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02498E60 */ _t32 = cpu->r[30] + 0x00000060u;
|
|
/* 02498E60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02498E64 */ _t33 = cpu->r[30] + 0x000002D4u;
|
|
/* 02498E64 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
/* 02498E68 */ _t34 = cpu->r[30] + 0x000002C4u;
|
|
/* 02498E68 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 02498E6C */ _t35 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02498E6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02498E70 */ _t36 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02498E70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02498E74 */ _t37 = cpu->r[30] + 0x000002C8u;
|
|
/* 02498E74 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 02498E78 */ _t38 = cpu->r[30] + 0x000002DCu;
|
|
/* 02498E78 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 02498E7C */ _t39 = cpu->r[30] + 0x00000058u;
|
|
/* 02498E7C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02498E80 */ _t40 = cpu->r[30] + 0x00000068u;
|
|
/* 02498E80 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02498E84 */ _t41 = cpu->r[30] + 0x000002D0u;
|
|
/* 02498E84 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 02498E88 */ _t42 = cpu->r[30] + 0x00000070u;
|
|
/* 02498E88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02498E8C */ _t43 = cpu->r[30] + 0x000002E4u;
|
|
/* 02498E8C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 02498E90 */ _t44 = cpu->r[30] + 0x00000080u;
|
|
/* 02498E90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02498E94 */ _t45 = cpu->r[30] + 0x000002D8u;
|
|
/* 02498E94 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[13]);
|
|
/* 02498E98 */ _t46 = cpu->r[30] + 0x000002ECu;
|
|
/* 02498E98 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
/* 02498E9C */ _t47 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02498E9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02498EA0 */ _t48 = cpu->r[30] + 0x00000074u;
|
|
/* 02498EA0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02498EA4 */ _t49 = cpu->r[30] + 0x000002E0u;
|
|
/* 02498EA4 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
|
|
/* 02498EA8 */ _t50 = cpu->r[30] + 0x000002E8u;
|
|
/* 02498EA8 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[13]);
|
|
/* 02498EAC */ _t51 = cpu->r[30] + 0x00000054u;
|
|
/* 02498EAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02498EB0 */ _t52 = cpu->r[30] + 0x0000031Cu;
|
|
/* 02498EB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02498EB4 */ _t53 = cpu->r[30] + 0x000002C0u;
|
|
/* 02498EB4 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]);
|
|
/* 02498EB8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02498EBC */ _t54 = cpu->r[30] + 0x00000078u;
|
|
/* 02498EBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02498EC0 */ _t55 = cpu->r[30] + 0x0000031Cu;
|
|
/* 02498EC0 */ rbrew_write32(cpu->mem, _t55, cpu->r[12]);
|
|
/* 02498EC4 */ _t56 = cpu->r[30] + 0x000002CCu;
|
|
/* 02498EC4 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[0]);
|
|
/* 02498EC8 */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 02498EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02498ECC */ _t58 = cpu->r[1] + 0x00000008u;
|
|
/* 02498ECC */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02498ED0 */ cpu->lr = cpu->r[0];
|
|
/* 02498ED4 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498ED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02498ED8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02498EDC */ return;
|
|
}
|
|
|
|
// fn_02498D90 @ 0x2498d90
|
|
void Gambit_fn_02498D90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02498D90: ; // 0x2498d90
|
|
/* 02498D90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02498D90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02498D90 */ cpu->r[1] = _t0;
|
|
/* 02498D94 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02498D94 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02498D98 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498D98 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02498D9C */ cpu->r[30] = cpu->r[3];
|
|
/* 02498DA0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02498DA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02498DA4 */ _t4 = cpu->r[30] + 0x00000300u;
|
|
/* 02498DA4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02498DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02498DAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498DAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02498DAC */ if (_t6) goto L_02498DC4; else goto L_02498DB0;
|
|
L_02498DB0: ; // 0x2498db0
|
|
/* 02498DB0 */ _t7 = cpu->r[30] + 0x00000318u;
|
|
/* 02498DB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02498DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02498DB8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498DB8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02498DB8 */ if (_t9) goto L_02498DC4; else goto L_02498DBC;
|
|
L_02498DBC: ; // 0x2498dbc
|
|
/* 02498DBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02498DC0 */ Gambit_fn_0249894C(cpu);
|
|
L_02498DC4: ; // 0x2498dc4
|
|
/* 02498DC4 */ _t10 = cpu->r[30] + 0x00000301u;
|
|
/* 02498DC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02498DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02498DCC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498DCC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02498DCC */ if (_t12) goto L_02498DD8; else goto L_02498DD0;
|
|
L_02498DD0: ; // 0x2498dd0
|
|
/* 02498DD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02498DD4 */ Gambit_fn_02498A6C(cpu);
|
|
L_02498DD8: ; // 0x2498dd8
|
|
/* 02498DD8 */ _t13 = cpu->r[30] + 0x00000300u;
|
|
/* 02498DD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02498DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02498DE0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498DE0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02498DE0 */ if (_t15) goto L_02498E5C; else goto L_02498DE4;
|
|
L_02498DE4: ; // 0x2498de4
|
|
/* 02498DE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02498DE8 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02498DEC */ cpu->r[10] = 0x101D0000u;
|
|
/* 02498DF0 */ _t16 = cpu->r[10] + 0x000000A0u;
|
|
/* 02498DF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02498DF0 */ cpu->r[10] = _t16;
|
|
/* 02498DF4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02498DF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02498DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02498E00 */ cpu->r[4] = cpu->r[4] + 0x000006D0u;
|
|
/* 02498E04 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498E04 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02498E04 */ if (_t18) goto L_02498E08; else goto L_02498E1C;
|
|
L_02498E08: ; // 0x2498e08
|
|
/* 02498E08 */ cpu->r[8] = 0x100B0000u;
|
|
/* 02498E0C */ cpu->r[0] = 0x00000001u;
|
|
/* 02498E10 */ cpu->r[8] = cpu->r[8] + 0xFFFFAE64u;
|
|
/* 02498E14 */ _t19 = cpu->r[10] + 0x00000000u;
|
|
/* 02498E14 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02498E18 */ _t20 = cpu->r[4] + 0x00000000u;
|
|
/* 02498E18 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
L_02498E1C: ; // 0x2498e1c
|
|
/* 02498E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498E20 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498E20 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02498E20 */ if (_t22) goto L_02498E40; else goto L_02498E24;
|
|
L_02498E24: ; // 0x2498e24
|
|
/* 02498E24 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 02498E24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02498E28 */ _t24 = cpu->r[9] + 0x0000006Cu;
|
|
/* 02498E28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02498E2C */ cpu->ctr = cpu->r[0];
|
|
/* 02498E30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02498E34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02498E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02498E3C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498E3C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02498E3C */ if (_t26) goto L_02498E40; else goto L_02498E44;
|
|
L_02498E40: ; // 0x2498e40
|
|
/* 02498E40 */ cpu->r[31] = 0x00000000u;
|
|
L_02498E44: ; // 0x2498e44
|
|
/* 02498E44 */ _t27 = cpu->r[30] + 0x0000031Cu;
|
|
/* 02498E44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02498E48 */ _t28 = cpu->r[31] + 0x000004DCu;
|
|
/* 02498E48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02498E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02498E50 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498E50 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02498E50 */ if (_t30) goto L_02498E54; else goto L_02498E5C;
|
|
L_02498E54: ; // 0x2498e54
|
|
/* 02498E54 */ cpu->r[3] = cpu->r[30];
|
|
/* 02498E58 */ Gambit_fn_02498BE8(cpu);
|
|
L_02498E5C: ; // 0x2498e5c
|
|
/* 02498E5C */ _t31 = cpu->r[30] + 0x00000064u;
|
|
/* 02498E5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02498E60 */ _t32 = cpu->r[30] + 0x00000060u;
|
|
/* 02498E60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02498E64 */ _t33 = cpu->r[30] + 0x000002D4u;
|
|
/* 02498E64 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
/* 02498E68 */ _t34 = cpu->r[30] + 0x000002C4u;
|
|
/* 02498E68 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 02498E6C */ _t35 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02498E6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02498E70 */ _t36 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02498E70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02498E74 */ _t37 = cpu->r[30] + 0x000002C8u;
|
|
/* 02498E74 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 02498E78 */ _t38 = cpu->r[30] + 0x000002DCu;
|
|
/* 02498E78 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 02498E7C */ _t39 = cpu->r[30] + 0x00000058u;
|
|
/* 02498E7C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02498E80 */ _t40 = cpu->r[30] + 0x00000068u;
|
|
/* 02498E80 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02498E84 */ _t41 = cpu->r[30] + 0x000002D0u;
|
|
/* 02498E84 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 02498E88 */ _t42 = cpu->r[30] + 0x00000070u;
|
|
/* 02498E88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02498E8C */ _t43 = cpu->r[30] + 0x000002E4u;
|
|
/* 02498E8C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 02498E90 */ _t44 = cpu->r[30] + 0x00000080u;
|
|
/* 02498E90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02498E94 */ _t45 = cpu->r[30] + 0x000002D8u;
|
|
/* 02498E94 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[13]);
|
|
/* 02498E98 */ _t46 = cpu->r[30] + 0x000002ECu;
|
|
/* 02498E98 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
/* 02498E9C */ _t47 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02498E9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02498EA0 */ _t48 = cpu->r[30] + 0x00000074u;
|
|
/* 02498EA0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02498EA4 */ _t49 = cpu->r[30] + 0x000002E0u;
|
|
/* 02498EA4 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
|
|
/* 02498EA8 */ _t50 = cpu->r[30] + 0x000002E8u;
|
|
/* 02498EA8 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[13]);
|
|
/* 02498EAC */ _t51 = cpu->r[30] + 0x00000054u;
|
|
/* 02498EAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02498EB0 */ _t52 = cpu->r[30] + 0x0000031Cu;
|
|
/* 02498EB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02498EB4 */ _t53 = cpu->r[30] + 0x000002C0u;
|
|
/* 02498EB4 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]);
|
|
/* 02498EB8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02498EBC */ _t54 = cpu->r[30] + 0x00000078u;
|
|
/* 02498EBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02498EC0 */ _t55 = cpu->r[30] + 0x0000031Cu;
|
|
/* 02498EC0 */ rbrew_write32(cpu->mem, _t55, cpu->r[12]);
|
|
/* 02498EC4 */ _t56 = cpu->r[30] + 0x000002CCu;
|
|
/* 02498EC4 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[0]);
|
|
/* 02498EC8 */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 02498EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02498ECC */ _t58 = cpu->r[1] + 0x00000008u;
|
|
/* 02498ECC */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02498ED0 */ cpu->lr = cpu->r[0];
|
|
/* 02498ED4 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498ED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02498ED8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02498EDC */ return;
|
|
}
|
|
|
|
// fn_02498EE0 @ 0x2498ee0
|
|
void Gambit_fn_02498EE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02498EE0: ; // 0x2498ee0
|
|
/* 02498EE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02498EE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02498EE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02498EE4 */ cpu->r[1] = _t0;
|
|
/* 02498EE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498EE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02498EEC */ cpu->r[31] = cpu->r[3];
|
|
/* 02498EF0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02498EF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02498EF4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02498EF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02498EF8 */ _t4 = cpu->r[3] + 0x00000308u;
|
|
/* 02498EF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02498EFC */ Gambit_fn_024986D4(cpu);
|
|
/* 02498F00 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02498F04 */ _t5 = cpu->r[31] + 0x00000078u;
|
|
/* 02498F04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02498F08 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02498F0C */ _t6 = cpu->r[31] + 0x00000080u;
|
|
/* 02498F0C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02498F10 */ cpu->f[2] = cpu->f[13] + cpu->f[1];
|
|
/* 02498F14 */ _t7 = cpu->r[3] + 0x00001D14u;
|
|
/* 02498F14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02498F18 */ cpu->f[4] = cpu->f[12] + cpu->f[1];
|
|
/* 02498F1C */ _t8 = cpu->r[4] + 0x00006648u;
|
|
/* 02498F1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02498F20 */ cpu->f[3] = cpu->f[12] - cpu->f[1];
|
|
/* 02498F24 */ _t9 = cpu->r[3] + 0x00005444u;
|
|
/* 02498F24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02498F28 */ cpu->f[1] = cpu->f[13] - cpu->f[1];
|
|
/* 02498F2C */ cpu->r[5] = cpu->r[31];
|
|
/* 02498F30 */ cpu->r[6] = cpu->r[30];
|
|
/* 02498F34 */ Gambit_fn_02031B20(cpu);
|
|
/* 02498F38 */ _t10 = cpu->r[31] + 0x00000304u;
|
|
/* 02498F38 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02498F3C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02498F3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02498F40 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498F40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02498F44 */ cpu->lr = cpu->r[0];
|
|
/* 02498F48 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02498F48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02498F4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02498F50 */ return;
|
|
}
|
|
|
|
// fn_02498EE4 @ 0x2498ee4
|
|
void Gambit_fn_02498EE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02498EE4: ; // 0x2498ee4
|
|
/* 02498EE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02498EE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02498EE4 */ cpu->r[1] = _t0;
|
|
/* 02498EE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498EE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02498EEC */ cpu->r[31] = cpu->r[3];
|
|
/* 02498EF0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02498EF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02498EF4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02498EF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02498EF8 */ _t4 = cpu->r[3] + 0x00000308u;
|
|
/* 02498EF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02498EFC */ Gambit_fn_024986D4(cpu);
|
|
/* 02498F00 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02498F04 */ _t5 = cpu->r[31] + 0x00000078u;
|
|
/* 02498F04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02498F08 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02498F0C */ _t6 = cpu->r[31] + 0x00000080u;
|
|
/* 02498F0C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02498F10 */ cpu->f[2] = cpu->f[13] + cpu->f[1];
|
|
/* 02498F14 */ _t7 = cpu->r[3] + 0x00001D14u;
|
|
/* 02498F14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02498F18 */ cpu->f[4] = cpu->f[12] + cpu->f[1];
|
|
/* 02498F1C */ _t8 = cpu->r[4] + 0x00006648u;
|
|
/* 02498F1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02498F20 */ cpu->f[3] = cpu->f[12] - cpu->f[1];
|
|
/* 02498F24 */ _t9 = cpu->r[3] + 0x00005444u;
|
|
/* 02498F24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02498F28 */ cpu->f[1] = cpu->f[13] - cpu->f[1];
|
|
/* 02498F2C */ cpu->r[5] = cpu->r[31];
|
|
/* 02498F30 */ cpu->r[6] = cpu->r[30];
|
|
/* 02498F34 */ Gambit_fn_02031B20(cpu);
|
|
/* 02498F38 */ _t10 = cpu->r[31] + 0x00000304u;
|
|
/* 02498F38 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02498F3C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02498F3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02498F40 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498F40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02498F44 */ cpu->lr = cpu->r[0];
|
|
/* 02498F48 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02498F48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02498F4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02498F50 */ return;
|
|
}
|
|
|
|
// fn_02498F54 @ 0x2498f54
|
|
void Gambit_fn_02498F54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02498F54: ; // 0x2498f54
|
|
/* 02498F54 */ cpu->r[0] = cpu->lr;
|
|
/* 02498F58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02498F58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02498F58 */ cpu->r[1] = _t0;
|
|
/* 02498F5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498F5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02498F60 */ cpu->r[31] = cpu->r[3];
|
|
/* 02498F64 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02498F68 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02498F68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02498F6C */ _t3 = cpu->r[3] + 0x00001D14u;
|
|
/* 02498F6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02498F70 */ cpu->r[4] = cpu->r[31] + 0x00000304u;
|
|
/* 02498F74 */ Gambit_fn_02031BD0(cpu);
|
|
/* 02498F78 */ cpu->r[0] = 0x00000000u;
|
|
/* 02498F7C */ _t4 = cpu->r[31] + 0x00000304u;
|
|
/* 02498F7C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02498F80 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02498F80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02498F84 */ cpu->lr = cpu->r[0];
|
|
/* 02498F88 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498F88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02498F8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02498F90 */ return;
|
|
}
|
|
|
|
// fn_02498F58 @ 0x2498f58
|
|
void Gambit_fn_02498F58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02498F58: ; // 0x2498f58
|
|
/* 02498F58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02498F58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02498F58 */ cpu->r[1] = _t0;
|
|
/* 02498F5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498F5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02498F60 */ cpu->r[31] = cpu->r[3];
|
|
/* 02498F64 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02498F68 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02498F68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02498F6C */ _t3 = cpu->r[3] + 0x00001D14u;
|
|
/* 02498F6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02498F70 */ cpu->r[4] = cpu->r[31] + 0x00000304u;
|
|
/* 02498F74 */ Gambit_fn_02031BD0(cpu);
|
|
/* 02498F78 */ cpu->r[0] = 0x00000000u;
|
|
/* 02498F7C */ _t4 = cpu->r[31] + 0x00000304u;
|
|
/* 02498F7C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02498F80 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02498F80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02498F84 */ cpu->lr = cpu->r[0];
|
|
/* 02498F88 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498F88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02498F8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02498F90 */ return;
|
|
}
|
|
|
|
// fn_02498F94 @ 0x2498f94
|
|
void Gambit_fn_02498F94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123;
|
|
|
|
L_02498F94: ; // 0x2498f94
|
|
/* 02498F94 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02498F94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02498F94 */ cpu->r[1] = _t0;
|
|
/* 02498F98 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02498F98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02498F9C */ cpu->r[0] = cpu->lr;
|
|
/* 02498FA0 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02498FA0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02498FA4 */ /* nop */
|
|
/* 02498FA8 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02498FA8 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
|
|
/* 02498FAC */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 02498FAC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02498FB0 */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 02498FB0 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[30]);
|
|
/* 02498FB4 */ /* nop */
|
|
/* 02498FB8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02498FB8 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 02498FBC */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 02498FBC */ rbrew_write_f64(cpu->mem, _t7, cpu->f[28]);
|
|
/* 02498FC0 */ _t8 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02498FC0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02498FC4 */ /* nop */
|
|
/* 02498FC8 */ _t9 = cpu->r[1] + 0x00000030u;
|
|
/* 02498FC8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
|
|
/* 02498FCC */ /* nop */
|
|
/* 02498FD0 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02498FD0 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02498FD4 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02498FD4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[28]);
|
|
/* 02498FD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02498FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498FDC */ _t12 = cpu->r[1] + 0x00000040u;
|
|
/* 02498FDC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[30]);
|
|
/* 02498FE0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498FE0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02498FE0 */ if (_t14) goto L_02498FE4; else goto L_02498FF4;
|
|
L_02498FE4: ; // 0x2498fe4
|
|
/* 02498FE4 */ cpu->r[3] = 0x00000548u;
|
|
/* 02498FE8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02498FEC */ cpu->r[31] = cpu->r[3];
|
|
/* 02498FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02498FF0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02498FF0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02498FF0 */ if (_t16) goto L_0249937C; else goto L_02498FF4;
|
|
L_02498FF4: ; // 0x2498ff4
|
|
/* 02498FF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02498FF8 */ Gambit_fn_025015D0(cpu);
|
|
/* 02498FFC */ cpu->r[29] = 0x10110000u;
|
|
/* 02499000 */ cpu->r[12] = 0x100B0000u;
|
|
/* 02499004 */ cpu->r[29] = cpu->r[29] + 0x00000A2Cu;
|
|
/* 02499008 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249900C */ cpu->r[7] = 0x100B0000u;
|
|
/* 02499010 */ _t17 = cpu->r[12] + 0xFFFFAF9Cu;
|
|
/* 02499010 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02499014 */ cpu->r[0] = cpu->r[0] + 0xFFFFAEC4u;
|
|
/* 02499018 */ _t18 = cpu->r[7] + 0xFFFFAF64u;
|
|
/* 02499018 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0249901C */ cpu->r[30] = cpu->r[31] + 0x00000188u;
|
|
/* 0249901C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499020 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02499020 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02499024 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499024 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02499024 */ if (_t21) goto L_02499028; else goto L_02499038;
|
|
L_02499028: ; // 0x2499028
|
|
/* 02499028 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249902C */ Gambit_fn_02801A78(cpu);
|
|
/* 02499030 */ cpu->r[30] = cpu->r[3];
|
|
/* 02499030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499034 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499034 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02499034 */ if (_t23) goto L_02499074; else goto L_02499038;
|
|
L_02499038: ; // 0x2499038
|
|
/* 02499038 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249903C */ cpu->r[4] = cpu->r[31];
|
|
/* 02499040 */ cpu->r[6] = 0x100B0000u;
|
|
/* 02499044 */ cpu->r[5] = cpu->r[5] + 0xFFFFAFD4u;
|
|
/* 02499048 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249904C */ cpu->r[6] = cpu->r[6] + 0xFFFFB038u;
|
|
/* 02499050 */ cpu->r[7] = cpu->r[5];
|
|
/* 02499054 */ cpu->r[3] = cpu->r[30];
|
|
/* 02499058 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249905C */ _t24 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249905C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[28]);
|
|
/* 02499060 */ cpu->r[11] = 0x100B0000u;
|
|
/* 02499064 */ _t25 = cpu->r[30] + 0x00000058u;
|
|
/* 02499064 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[29]);
|
|
/* 02499068 */ _t26 = cpu->r[11] + 0xFFFFAFA0u;
|
|
/* 02499068 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 0249906C */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 0249906C */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 02499070 */ _t28 = cpu->r[30] + 0x00000054u;
|
|
/* 02499070 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]);
|
|
L_02499074: ; // 0x2499074
|
|
/* 02499074 */ cpu->r[9] = 0x100B0000u;
|
|
/* 02499078 */ cpu->r[8] = 0x100B0000u;
|
|
/* 0249907C */ _t29 = cpu->r[9] + 0xFFFFAFA4u;
|
|
/* 0249907C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02499080 */ cpu->r[30] = cpu->r[31] + 0x000001E8u;
|
|
/* 02499080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499084 */ _t30 = cpu->r[8] + 0xFFFFAFA8u;
|
|
/* 02499084 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02499088 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499088 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02499088 */ if (_t32) goto L_0249908C; else goto L_0249909C;
|
|
L_0249908C: ; // 0x249908c
|
|
/* 0249908C */ cpu->r[3] = 0x00000060u;
|
|
/* 02499090 */ Gambit_fn_02801A78(cpu);
|
|
/* 02499094 */ cpu->r[30] = cpu->r[3];
|
|
/* 02499094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499098 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499098 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02499098 */ if (_t34) goto L_024990D0; else goto L_0249909C;
|
|
L_0249909C: ; // 0x249909c
|
|
/* 0249909C */ cpu->r[5] = 0x100B0000u;
|
|
/* 024990A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 024990A4 */ cpu->r[6] = 0x100B0000u;
|
|
/* 024990A8 */ cpu->r[5] = cpu->r[5] + 0xFFFFAFE0u;
|
|
/* 024990AC */ cpu->r[8] = 0x00000000u;
|
|
/* 024990B0 */ cpu->r[6] = cpu->r[6] + 0xFFFFB04Cu;
|
|
/* 024990B4 */ cpu->r[7] = cpu->r[5];
|
|
/* 024990B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 024990BC */ Gambit_fn_027F84F0(cpu);
|
|
/* 024990C0 */ _t35 = cpu->r[30] + 0x00000058u;
|
|
/* 024990C0 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[29]);
|
|
/* 024990C4 */ _t36 = cpu->r[30] + 0x00000054u;
|
|
/* 024990C4 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]);
|
|
/* 024990C8 */ _t37 = cpu->r[30] + 0x0000005Cu;
|
|
/* 024990C8 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[30]);
|
|
/* 024990CC */ _t38 = cpu->r[30] + 0x00000000u;
|
|
/* 024990CC */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
|
|
L_024990D0: ; // 0x24990d0
|
|
/* 024990D0 */ cpu->r[30] = cpu->r[31] + 0x00000248u;
|
|
/* 024990D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 024990D4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024990D4 */ _t40 = _t39 & 0x00000001u;
|
|
/* 024990D4 */ if (_t40) goto L_024990D8; else goto L_024990E8;
|
|
L_024990D8: ; // 0x24990d8
|
|
/* 024990D8 */ cpu->r[3] = 0x00000060u;
|
|
/* 024990DC */ Gambit_fn_02801A78(cpu);
|
|
/* 024990E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 024990E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 024990E4 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024990E4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 024990E4 */ if (_t42) goto L_0249911C; else goto L_024990E8;
|
|
L_024990E8: ; // 0x24990e8
|
|
/* 024990E8 */ cpu->r[5] = 0x100B0000u;
|
|
/* 024990EC */ cpu->r[4] = cpu->r[31];
|
|
/* 024990F0 */ cpu->r[6] = 0x100B0000u;
|
|
/* 024990F4 */ cpu->r[5] = cpu->r[5] + 0xFFFFAFECu;
|
|
/* 024990F8 */ cpu->r[8] = 0x00000000u;
|
|
/* 024990FC */ cpu->r[6] = cpu->r[6] + 0xFFFFB060u;
|
|
/* 02499100 */ cpu->r[7] = cpu->r[5];
|
|
/* 02499104 */ cpu->r[3] = cpu->r[30];
|
|
/* 02499108 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249910C */ _t43 = cpu->r[30] + 0x00000058u;
|
|
/* 0249910C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[29]);
|
|
/* 02499110 */ _t44 = cpu->r[30] + 0x00000054u;
|
|
/* 02499110 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[28]);
|
|
/* 02499114 */ _t45 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02499114 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[30]);
|
|
/* 02499118 */ _t46 = cpu->r[30] + 0x00000000u;
|
|
/* 02499118 */ rbrew_write32(cpu->mem, _t46, cpu->r[29]);
|
|
L_0249911C: ; // 0x249911c
|
|
/* 0249911C */ cpu->r[30] = cpu->r[31] + 0x000002A8u;
|
|
/* 0249911C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499120 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499120 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02499120 */ if (_t48) goto L_02499124; else goto L_02499134;
|
|
L_02499124: ; // 0x2499124
|
|
/* 02499124 */ cpu->r[3] = 0x00000060u;
|
|
/* 02499128 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249912C */ cpu->r[30] = cpu->r[3];
|
|
/* 0249912C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499130 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499130 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02499130 */ if (_t50) goto L_02499170; else goto L_02499134;
|
|
L_02499134: ; // 0x2499134
|
|
/* 02499134 */ cpu->r[5] = 0x100B0000u;
|
|
/* 02499138 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249913C */ cpu->r[6] = 0x100B0000u;
|
|
/* 02499140 */ cpu->r[5] = cpu->r[5] + 0xFFFFB074u;
|
|
/* 02499144 */ cpu->r[8] = 0x00000000u;
|
|
/* 02499148 */ cpu->r[6] = cpu->r[6] + 0xFFFFB080u;
|
|
/* 0249914C */ cpu->r[7] = cpu->r[5];
|
|
/* 02499150 */ cpu->r[3] = cpu->r[30];
|
|
/* 02499154 */ Gambit_fn_027F84F0(cpu);
|
|
/* 02499158 */ _t51 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02499158 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[30]);
|
|
/* 0249915C */ cpu->r[12] = 0x100B0000u;
|
|
/* 02499160 */ _t52 = cpu->r[30] + 0x00000058u;
|
|
/* 02499160 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[29]);
|
|
/* 02499164 */ _t53 = cpu->r[12] + 0xFFFFAFACu;
|
|
/* 02499164 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02499168 */ _t54 = cpu->r[30] + 0x00000000u;
|
|
/* 02499168 */ rbrew_write32(cpu->mem, _t54, cpu->r[29]);
|
|
/* 0249916C */ _t55 = cpu->r[30] + 0x00000054u;
|
|
/* 0249916C */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]);
|
|
L_02499170: ; // 0x2499170
|
|
/* 02499170 */ cpu->r[30] = cpu->r[31] + 0x00000308u;
|
|
/* 02499170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499174 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499174 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02499174 */ if (_t57) goto L_02499178; else goto L_02499188;
|
|
L_02499178: ; // 0x2499178
|
|
/* 02499178 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249917C */ Gambit_fn_02801A78(cpu);
|
|
/* 02499180 */ cpu->r[30] = cpu->r[3];
|
|
/* 02499180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499184 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499184 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02499184 */ if (_t59) goto L_024991C4; else goto L_02499188;
|
|
L_02499188: ; // 0x2499188
|
|
/* 02499188 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249918C */ cpu->r[4] = cpu->r[31];
|
|
/* 02499190 */ cpu->r[6] = 0x100B0000u;
|
|
/* 02499194 */ cpu->r[5] = cpu->r[5] + 0xFFFFB024u;
|
|
/* 02499198 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249919C */ cpu->r[6] = cpu->r[6] + 0xFFFFB090u;
|
|
/* 024991A0 */ cpu->r[7] = cpu->r[5];
|
|
/* 024991A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 024991A8 */ Gambit_fn_027F84F0(cpu);
|
|
/* 024991AC */ _t60 = cpu->r[30] + 0x00000058u;
|
|
/* 024991AC */ rbrew_write_f32(cpu->mem, _t60, cpu->f[29]);
|
|
/* 024991B0 */ cpu->r[10] = 0x100B0000u;
|
|
/* 024991B4 */ _t61 = cpu->r[30] + 0x00000000u;
|
|
/* 024991B4 */ rbrew_write32(cpu->mem, _t61, cpu->r[29]);
|
|
/* 024991B8 */ _t62 = cpu->r[10] + 0xFFFFAFB0u;
|
|
/* 024991B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 024991BC */ _t63 = cpu->r[30] + 0x00000054u;
|
|
/* 024991BC */ rbrew_write_f32(cpu->mem, _t63, cpu->f[28]);
|
|
/* 024991C0 */ _t64 = cpu->r[30] + 0x0000005Cu;
|
|
/* 024991C0 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[12]);
|
|
L_024991C4: ; // 0x24991c4
|
|
/* 024991C4 */ cpu->r[30] = cpu->r[31] + 0x00000368u;
|
|
/* 024991C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 024991C8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024991C8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 024991C8 */ if (_t66) goto L_024991CC; else goto L_024991DC;
|
|
L_024991CC: ; // 0x24991cc
|
|
/* 024991CC */ cpu->r[3] = 0x00000060u;
|
|
/* 024991D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 024991D4 */ cpu->r[30] = cpu->r[3];
|
|
/* 024991D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 024991D8 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024991D8 */ _t68 = _t67 & 0x00000001u;
|
|
/* 024991D8 */ if (_t68) goto L_02499220; else goto L_024991DC;
|
|
L_024991DC: ; // 0x24991dc
|
|
/* 024991DC */ cpu->r[5] = 0x100B0000u;
|
|
/* 024991E0 */ cpu->r[4] = cpu->r[31];
|
|
/* 024991E4 */ cpu->r[6] = 0x100B0000u;
|
|
/* 024991E8 */ cpu->r[5] = cpu->r[5] + 0xFFFFB0A8u;
|
|
/* 024991EC */ cpu->r[8] = 0x00000000u;
|
|
/* 024991F0 */ cpu->r[6] = cpu->r[6] + 0xFFFFB0BCu;
|
|
/* 024991F4 */ cpu->r[7] = cpu->r[5];
|
|
/* 024991F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 024991FC */ Gambit_fn_027F84F0(cpu);
|
|
/* 02499200 */ cpu->r[9] = 0x100B0000u;
|
|
/* 02499204 */ _t69 = cpu->r[30] + 0x00000000u;
|
|
/* 02499204 */ rbrew_write32(cpu->mem, _t69, cpu->r[29]);
|
|
/* 02499208 */ cpu->r[8] = 0x100B0000u;
|
|
/* 0249920C */ _t70 = cpu->r[9] + 0xFFFFAFB4u;
|
|
/* 0249920C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 02499210 */ _t71 = cpu->r[8] + 0xFFFFAFB8u;
|
|
/* 02499210 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02499214 */ _t72 = cpu->r[30] + 0x00000054u;
|
|
/* 02499214 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[13]);
|
|
/* 02499218 */ _t73 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02499218 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[0]);
|
|
/* 0249921C */ _t74 = cpu->r[30] + 0x00000058u;
|
|
/* 0249921C */ rbrew_write_f32(cpu->mem, _t74, cpu->f[29]);
|
|
L_02499220: ; // 0x2499220
|
|
/* 02499220 */ cpu->r[30] = cpu->r[31] + 0x000003C8u;
|
|
/* 02499220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499224 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499224 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02499224 */ if (_t76) goto L_02499228; else goto L_02499238;
|
|
L_02499228: ; // 0x2499228
|
|
/* 02499228 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249922C */ Gambit_fn_02801A78(cpu);
|
|
/* 02499230 */ cpu->r[30] = cpu->r[3];
|
|
/* 02499230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499234 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499234 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02499234 */ if (_t78) goto L_02499274; else goto L_02499238;
|
|
L_02499238: ; // 0x2499238
|
|
/* 02499238 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249923C */ cpu->r[4] = cpu->r[31];
|
|
/* 02499240 */ cpu->r[6] = 0x100B0000u;
|
|
/* 02499244 */ cpu->r[5] = cpu->r[5] + 0xFFFFAFF8u;
|
|
/* 02499248 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249924C */ cpu->r[6] = cpu->r[6] + 0xFFFFB0D4u;
|
|
/* 02499250 */ cpu->r[7] = cpu->r[5];
|
|
/* 02499254 */ cpu->r[3] = cpu->r[30];
|
|
/* 02499258 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249925C */ _t79 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249925C */ rbrew_write_f32(cpu->mem, _t79, cpu->f[30]);
|
|
/* 02499260 */ cpu->r[11] = 0x100B0000u;
|
|
/* 02499264 */ _t80 = cpu->r[30] + 0x00000058u;
|
|
/* 02499264 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[29]);
|
|
/* 02499268 */ _t81 = cpu->r[11] + 0xFFFFAFBCu;
|
|
/* 02499268 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 0249926C */ _t82 = cpu->r[30] + 0x00000000u;
|
|
/* 0249926C */ rbrew_write32(cpu->mem, _t82, cpu->r[29]);
|
|
/* 02499270 */ _t83 = cpu->r[30] + 0x00000054u;
|
|
/* 02499270 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[12]);
|
|
L_02499274: ; // 0x2499274
|
|
/* 02499274 */ cpu->r[30] = cpu->r[31] + 0x00000428u;
|
|
/* 02499274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499278 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499278 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02499278 */ if (_t85) goto L_0249927C; else goto L_0249928C;
|
|
L_0249927C: ; // 0x249927c
|
|
/* 0249927C */ cpu->r[3] = 0x00000060u;
|
|
/* 02499280 */ Gambit_fn_02801A78(cpu);
|
|
/* 02499284 */ cpu->r[30] = cpu->r[3];
|
|
/* 02499284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499288 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499288 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02499288 */ if (_t87) goto L_024992C0; else goto L_0249928C;
|
|
L_0249928C: ; // 0x249928c
|
|
/* 0249928C */ cpu->r[5] = 0x100B0000u;
|
|
/* 02499290 */ cpu->r[4] = cpu->r[31];
|
|
/* 02499294 */ cpu->r[6] = 0x100B0000u;
|
|
/* 02499298 */ cpu->r[5] = cpu->r[5] + 0xFFFFB0F4u;
|
|
/* 0249929C */ cpu->r[8] = 0x00000000u;
|
|
/* 024992A0 */ cpu->r[6] = cpu->r[6] + 0xFFFFB104u;
|
|
/* 024992A4 */ cpu->r[7] = cpu->r[5];
|
|
/* 024992A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 024992AC */ Gambit_fn_027F84F0(cpu);
|
|
/* 024992B0 */ _t88 = cpu->r[30] + 0x00000058u;
|
|
/* 024992B0 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[29]);
|
|
/* 024992B4 */ _t89 = cpu->r[30] + 0x00000054u;
|
|
/* 024992B4 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[31]);
|
|
/* 024992B8 */ _t90 = cpu->r[30] + 0x0000005Cu;
|
|
/* 024992B8 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[30]);
|
|
/* 024992BC */ _t91 = cpu->r[30] + 0x00000000u;
|
|
/* 024992BC */ rbrew_write32(cpu->mem, _t91, cpu->r[29]);
|
|
L_024992C0: ; // 0x24992c0
|
|
/* 024992C0 */ cpu->r[30] = cpu->r[31] + 0x00000488u;
|
|
/* 024992C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 024992C4 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024992C4 */ _t93 = _t92 & 0x00000001u;
|
|
/* 024992C4 */ if (_t93) goto L_024992C8; else goto L_024992D8;
|
|
L_024992C8: ; // 0x24992c8
|
|
/* 024992C8 */ cpu->r[3] = 0x00000060u;
|
|
/* 024992CC */ Gambit_fn_02801A78(cpu);
|
|
/* 024992D0 */ cpu->r[30] = cpu->r[3];
|
|
/* 024992D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 024992D4 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024992D4 */ _t95 = _t94 & 0x00000001u;
|
|
/* 024992D4 */ if (_t95) goto L_02499320; else goto L_024992D8;
|
|
L_024992D8: ; // 0x24992d8
|
|
/* 024992D8 */ cpu->r[5] = 0x100B0000u;
|
|
/* 024992DC */ cpu->r[4] = cpu->r[31];
|
|
/* 024992E0 */ cpu->r[6] = 0x100B0000u;
|
|
/* 024992E4 */ cpu->r[5] = cpu->r[5] + 0xFFFFB00Cu;
|
|
/* 024992E8 */ cpu->r[8] = 0x00000000u;
|
|
/* 024992EC */ cpu->r[3] = cpu->r[30];
|
|
/* 024992F0 */ cpu->r[7] = cpu->r[5];
|
|
/* 024992F4 */ cpu->r[6] = cpu->r[6] + 0xFFFFAFC4u;
|
|
/* 024992F8 */ Gambit_fn_027F84F0(cpu);
|
|
/* 024992FC */ cpu->r[9] = 0x10110000u;
|
|
/* 02499300 */ cpu->r[0] = 0x0000000Fu;
|
|
/* 02499304 */ cpu->r[9] = cpu->r[9] + 0x0000095Cu;
|
|
/* 02499308 */ _t96 = cpu->r[30] + 0x00000054u;
|
|
/* 02499308 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 0249930C */ cpu->r[0] = 0x0000003Cu;
|
|
/* 02499310 */ _t97 = cpu->r[30] + 0x00000000u;
|
|
/* 02499310 */ rbrew_write32(cpu->mem, _t97, cpu->r[9]);
|
|
/* 02499314 */ cpu->r[12] = 0x00000000u;
|
|
/* 02499318 */ _t98 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02499318 */ rbrew_write32(cpu->mem, _t98, cpu->r[0]);
|
|
/* 0249931C */ _t99 = cpu->r[30] + 0x00000058u;
|
|
/* 0249931C */ rbrew_write32(cpu->mem, _t99, cpu->r[12]);
|
|
L_02499320: ; // 0x2499320
|
|
/* 02499320 */ cpu->r[30] = cpu->r[31] + 0x000004E8u;
|
|
/* 02499320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499324 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499324 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02499324 */ if (_t101) goto L_02499328; else goto L_02499338;
|
|
L_02499328: ; // 0x2499328
|
|
/* 02499328 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249932C */ Gambit_fn_02801A78(cpu);
|
|
/* 02499330 */ cpu->r[30] = cpu->r[3];
|
|
/* 02499330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499334 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499334 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02499334 */ if (_t103) goto L_0249937C; else goto L_02499338;
|
|
L_02499338: ; // 0x2499338
|
|
/* 02499338 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249933C */ cpu->r[4] = cpu->r[31];
|
|
/* 02499340 */ cpu->r[6] = 0x100B0000u;
|
|
/* 02499344 */ cpu->r[5] = cpu->r[5] + 0xFFFFB018u;
|
|
/* 02499348 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249934C */ cpu->r[6] = cpu->r[6] + 0xFFFFAFCCu;
|
|
/* 02499350 */ cpu->r[7] = cpu->r[5];
|
|
/* 02499354 */ cpu->r[3] = cpu->r[30];
|
|
/* 02499358 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249935C */ cpu->r[8] = 0x100B0000u;
|
|
/* 02499360 */ _t104 = cpu->r[30] + 0x00000000u;
|
|
/* 02499360 */ rbrew_write32(cpu->mem, _t104, cpu->r[29]);
|
|
/* 02499364 */ cpu->r[11] = 0x100B0000u;
|
|
/* 02499368 */ _t105 = cpu->r[8] + 0xFFFFAFC0u;
|
|
/* 02499368 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 0249936C */ _t106 = cpu->r[11] + 0xFFFFAF68u;
|
|
/* 0249936C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 02499370 */ _t107 = cpu->r[30] + 0x00000054u;
|
|
/* 02499370 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[13]);
|
|
/* 02499374 */ _t108 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02499374 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[0]);
|
|
/* 02499378 */ _t109 = cpu->r[30] + 0x00000058u;
|
|
/* 02499378 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[29]);
|
|
L_0249937C: ; // 0x249937c
|
|
/* 0249937C */ _t110 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249937C */ cpu->r[29] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02499380 */ _t111 = cpu->r[1] + 0x00000050u;
|
|
/* 02499380 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 02499384 */ _t112 = cpu->r[1] + 0x00000030u;
|
|
/* 02499384 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t112);
|
|
/* 02499388 */ _t113 = cpu->r[1] + 0x00000048u;
|
|
/* 02499388 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t113);
|
|
/* 0249938C */ _t114 = cpu->r[1] + 0x00000040u;
|
|
/* 0249938C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 02499390 */ _t115 = cpu->r[1] + 0x00000028u;
|
|
/* 02499390 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t115);
|
|
/* 02499394 */ _t116 = cpu->r[1] + 0x00000038u;
|
|
/* 02499394 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t116);
|
|
/* 02499398 */ _t117 = cpu->r[1] + 0x00000020u;
|
|
/* 02499398 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 0249939C */ cpu->r[3] = cpu->r[31];
|
|
/* 024993A0 */ _t118 = cpu->r[1] + 0x00000014u;
|
|
/* 024993A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t118);
|
|
/* 024993A4 */ _t119 = cpu->r[1] + 0x00000018u;
|
|
/* 024993A4 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t119);
|
|
/* 024993A8 */ _t120 = cpu->r[1] + 0x00000010u;
|
|
/* 024993A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t120);
|
|
/* 024993AC */ _t121 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024993AC */ _t122 = _t121 & 0x00000001u;
|
|
/* 024993AC */ if (_t122) goto L_024993B0; // else: addr-0 trap, fall-through
|
|
L_024993B0: ; // 0x24993b0
|
|
/* 024993B0 */ _t123 = cpu->r[1] + 0x0000005Cu;
|
|
/* 024993B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 024993B4 */ cpu->lr = cpu->r[0];
|
|
/* 024993B8 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 024993BC */ return;
|
|
}
|
|
|
|
// fn_024993C0 @ 0x24993c0
|
|
void Gambit_fn_024993C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_024993C0: ; // 0x24993c0
|
|
/* 024993C0 */ cpu->r[0] = cpu->lr;
|
|
/* 024993C4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 024993C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 024993C8 */ cpu->r[3] = 0x00000548u;
|
|
/* 024993CC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 024993CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 024993CC */ cpu->r[1] = _t1;
|
|
/* 024993D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 024993D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024993D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024993D8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 024993D8 */ rbrew_dispatch(cpu, (_t3) ? 0x024993dcu : 0x02498f94u); return;
|
|
/* 024993DC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024993DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024993E0 */ cpu->lr = cpu->r[0];
|
|
/* 024993E4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 024993E8 */ return;
|
|
}
|
|
|
|
// fn_024993CC @ 0x24993cc
|
|
void Gambit_fn_024993CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_024993CC: ; // 0x24993cc
|
|
/* 024993CC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 024993CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024993CC */ cpu->r[1] = _t0;
|
|
/* 024993D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 024993D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024993D8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024993D8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 024993D8 */ rbrew_dispatch(cpu, (_t2) ? 0x024993dcu : 0x02498f94u); return;
|
|
/* 024993DC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024993DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 024993E0 */ cpu->lr = cpu->r[0];
|
|
/* 024993E4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 024993E8 */ return;
|
|
}
|
|
|
|
// fn_024993EC @ 0x24993ec
|
|
void Gambit_fn_024993EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_024993EC: ; // 0x24993ec
|
|
/* 024993EC */ cpu->r[0] = cpu->lr;
|
|
/* 024993F0 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 024993F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024993F0 */ cpu->r[1] = _t0;
|
|
/* 024993F4 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024993F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024993F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 024993FC */ cpu->r[5] = 0x100B0000u;
|
|
/* 02499400 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02499400 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02499404 */ cpu->r[6] = 0x00000000u;
|
|
/* 02499408 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02499408 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249940C */ _t4 = cpu->r[31] + 0x00000030u;
|
|
/* 0249940C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02499410 */ cpu->r[5] = cpu->r[5] + 0xFFFFB110u;
|
|
/* 02499414 */ _t5 = cpu->r[31] + 0x00000318u;
|
|
/* 02499414 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 02499418 */ cpu->r[4] = cpu->r[31] + 0x0000030Cu;
|
|
/* 0249941C */ Gambit_fn_027B72F0(cpu);
|
|
/* 02499420 */ _t6 = cpu->r[31] + 0x00000078u;
|
|
/* 02499420 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02499424 */ _t7 = cpu->r[31] + 0x00000054u;
|
|
/* 02499424 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02499428 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02499428 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[11]);
|
|
/* 0249942C */ _t9 = cpu->r[31] + 0x00000060u;
|
|
/* 0249942C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02499430 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02499430 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]);
|
|
/* 02499434 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02499434 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 02499438 */ _t12 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02499438 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0249943C */ _t13 = cpu->r[31] + 0x00000058u;
|
|
/* 0249943C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02499440 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02499440 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[11]);
|
|
/* 02499444 */ _t15 = cpu->r[31] + 0x00000064u;
|
|
/* 02499444 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02499448 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02499448 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 0249944C */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249944C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 02499450 */ _t18 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02499450 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02499454 */ _t19 = cpu->r[31] + 0x00000080u;
|
|
/* 02499454 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02499458 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02499458 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 0249945C */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 0249945C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[10]);
|
|
/* 02499460 */ _t22 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02499460 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02499464 */ _t23 = cpu->r[31] + 0x00000074u;
|
|
/* 02499464 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02499468 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02499468 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 0249946C */ _t25 = cpu->r[1] + 0x00000030u;
|
|
/* 0249946C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02499470 */ _t26 = cpu->r[31] + 0x0000030Cu;
|
|
/* 02499470 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02499474 */ _t27 = cpu->r[31] + 0x00000070u;
|
|
/* 02499474 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02499478 */ _t28 = cpu->r[31] + 0x00000068u;
|
|
/* 02499478 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0249947C */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 0249947C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 02499480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499484 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02499484 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02499488 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499488 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02499488 */ if (_t32) goto L_024994C8; else goto L_0249948C;
|
|
L_0249948C: ; // 0x249948c
|
|
/* 0249948C */ _t33 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0249948C */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02499490 */ _t34 = cpu->r[31] + 0x00000310u;
|
|
/* 02499490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02499494 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02499498 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499498 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02499498 */ if (_t36) goto L_0249949C; else goto L_024994C8;
|
|
L_0249949C: ; // 0x249949c
|
|
/* 0249949C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 024994A0 */ cpu->r[4] = cpu->r[30] + 0x0000007Cu;
|
|
/* 024994A4 */ Gambit_fn_02C69510(cpu);
|
|
/* 024994A8 */ cpu->r[12] = 0x100B0000u;
|
|
/* 024994AC */ _t37 = cpu->r[12] + 0xFFFFAF68u;
|
|
/* 024994AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 024994B0 */ _t38 = cpu->r[30] + 0x0000012Cu;
|
|
/* 024994B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 024994B4 */ _t39 = cpu->r[30] + 0x00000078u;
|
|
/* 024994B4 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
|
|
/* 024994B8 */ cpu->r[12] = cpu->r[12] | 0x00000008u;
|
|
/* 024994BC */ _t40 = cpu->r[30] + 0x00000074u;
|
|
/* 024994BC */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 024994C0 */ _t41 = cpu->r[30] + 0x0000012Cu;
|
|
/* 024994C0 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 024994C4 */ _t42 = cpu->r[30] + 0x00000070u;
|
|
/* 024994C4 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
L_024994C8: ; // 0x24994c8
|
|
/* 024994C8 */ _t43 = cpu->r[1] + 0x00000044u;
|
|
/* 024994C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 024994CC */ _t44 = cpu->r[1] + 0x00000038u;
|
|
/* 024994CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 024994D0 */ cpu->lr = cpu->r[0];
|
|
/* 024994D4 */ _t45 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024994D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 024994D8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 024994DC */ return;
|
|
}
|
|
|
|
// fn_024993F0 @ 0x24993f0
|
|
void Gambit_fn_024993F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_024993F0: ; // 0x24993f0
|
|
/* 024993F0 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 024993F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024993F0 */ cpu->r[1] = _t0;
|
|
/* 024993F4 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024993F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024993F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 024993FC */ cpu->r[5] = 0x100B0000u;
|
|
/* 02499400 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02499400 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02499404 */ cpu->r[6] = 0x00000000u;
|
|
/* 02499408 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02499408 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249940C */ _t4 = cpu->r[31] + 0x00000030u;
|
|
/* 0249940C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02499410 */ cpu->r[5] = cpu->r[5] + 0xFFFFB110u;
|
|
/* 02499414 */ _t5 = cpu->r[31] + 0x00000318u;
|
|
/* 02499414 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 02499418 */ cpu->r[4] = cpu->r[31] + 0x0000030Cu;
|
|
/* 0249941C */ Gambit_fn_027B72F0(cpu);
|
|
/* 02499420 */ _t6 = cpu->r[31] + 0x00000078u;
|
|
/* 02499420 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02499424 */ _t7 = cpu->r[31] + 0x00000054u;
|
|
/* 02499424 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02499428 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02499428 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[11]);
|
|
/* 0249942C */ _t9 = cpu->r[31] + 0x00000060u;
|
|
/* 0249942C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02499430 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02499430 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]);
|
|
/* 02499434 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02499434 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 02499438 */ _t12 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02499438 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0249943C */ _t13 = cpu->r[31] + 0x00000058u;
|
|
/* 0249943C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02499440 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02499440 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[11]);
|
|
/* 02499444 */ _t15 = cpu->r[31] + 0x00000064u;
|
|
/* 02499444 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02499448 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02499448 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 0249944C */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249944C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 02499450 */ _t18 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02499450 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02499454 */ _t19 = cpu->r[31] + 0x00000080u;
|
|
/* 02499454 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02499458 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02499458 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 0249945C */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 0249945C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[10]);
|
|
/* 02499460 */ _t22 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02499460 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02499464 */ _t23 = cpu->r[31] + 0x00000074u;
|
|
/* 02499464 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02499468 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02499468 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 0249946C */ _t25 = cpu->r[1] + 0x00000030u;
|
|
/* 0249946C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02499470 */ _t26 = cpu->r[31] + 0x0000030Cu;
|
|
/* 02499470 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02499474 */ _t27 = cpu->r[31] + 0x00000070u;
|
|
/* 02499474 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02499478 */ _t28 = cpu->r[31] + 0x00000068u;
|
|
/* 02499478 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0249947C */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 0249947C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 02499480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02499484 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02499484 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02499488 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499488 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02499488 */ if (_t32) goto L_024994C8; else goto L_0249948C;
|
|
L_0249948C: ; // 0x249948c
|
|
/* 0249948C */ _t33 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0249948C */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02499490 */ _t34 = cpu->r[31] + 0x00000310u;
|
|
/* 02499490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02499494 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02499498 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499498 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02499498 */ if (_t36) goto L_0249949C; else goto L_024994C8;
|
|
L_0249949C: ; // 0x249949c
|
|
/* 0249949C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 024994A0 */ cpu->r[4] = cpu->r[30] + 0x0000007Cu;
|
|
/* 024994A4 */ Gambit_fn_02C69510(cpu);
|
|
/* 024994A8 */ cpu->r[12] = 0x100B0000u;
|
|
/* 024994AC */ _t37 = cpu->r[12] + 0xFFFFAF68u;
|
|
/* 024994AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 024994B0 */ _t38 = cpu->r[30] + 0x0000012Cu;
|
|
/* 024994B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 024994B4 */ _t39 = cpu->r[30] + 0x00000078u;
|
|
/* 024994B4 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
|
|
/* 024994B8 */ cpu->r[12] = cpu->r[12] | 0x00000008u;
|
|
/* 024994BC */ _t40 = cpu->r[30] + 0x00000074u;
|
|
/* 024994BC */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 024994C0 */ _t41 = cpu->r[30] + 0x0000012Cu;
|
|
/* 024994C0 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 024994C4 */ _t42 = cpu->r[30] + 0x00000070u;
|
|
/* 024994C4 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
L_024994C8: ; // 0x24994c8
|
|
/* 024994C8 */ _t43 = cpu->r[1] + 0x00000044u;
|
|
/* 024994C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 024994CC */ _t44 = cpu->r[1] + 0x00000038u;
|
|
/* 024994CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 024994D0 */ cpu->lr = cpu->r[0];
|
|
/* 024994D4 */ _t45 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024994D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 024994D8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 024994DC */ return;
|
|
}
|
|
|
|
// fn_024994E0 @ 0x24994e0
|
|
void Gambit_fn_024994E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_024994E0: ; // 0x24994e0
|
|
/* 024994E0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 024994E4 */ _t0 = cpu->r[12] + 0x00006000u;
|
|
/* 024994E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 024994E8 */ _t1 = cpu->r[12] + 0x00000030u;
|
|
/* 024994E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024994EC */ _t2 = cpu->r[11] + 0x00000020u;
|
|
/* 024994EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024994F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024994F4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024994F4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 024994F4 */ if (_t4) goto L_024995B8; else goto L_024994F8;
|
|
L_024994F8: ; // 0x24994f8
|
|
/* 024994F8 */ cpu->r[11] = 0x101C0000u;
|
|
/* 024994FC */ _t5 = cpu->r[12] + 0x00000264u;
|
|
/* 024994FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02499500 */ _t6 = cpu->r[11] + 0x00006258u;
|
|
/* 02499500 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02499504 */ cpu->r[11] = cpu->r[12] + cpu->r[11];
|
|
/* 02499508 */ _t7 = cpu->r[11] + 0x00000104u;
|
|
/* 02499508 */ cpu->r[11] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0249950C */ _t8 = cpu->r[12] + 0x00000030u;
|
|
/* 0249950C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02499510 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02499514 */ _t9 = cpu->r[11] + cpu->r[12];
|
|
/* 02499514 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02499518 */ _t10 = cpu->r[12] + 0x00000008u;
|
|
/* 02499518 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249951C */ _t11 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0249951C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02499520 */ _t12 = cpu->r[12] + 0x00000004u;
|
|
/* 02499520 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02499524 */ cpu->r[11] = cpu->r[12] - cpu->r[10];
|
|
/* 02499528 */ cpu->r[6] = 0x00000000u;
|
|
/* 0249952C */ cpu->r[12] = cpu->r[9] - cpu->r[10];
|
|
/* 02499530 */ goto L_02499540;
|
|
L_02499534: ; // 0x2499534
|
|
/* 02499534 */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
/* 02499538 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 02499538 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249953C */ cpu->r[12] = cpu->r[9] - cpu->r[10];
|
|
L_02499540: ; // 0x2499540
|
|
/* 02499540 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02499544 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499544 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02499544 */ if (_t15) goto L_0249955C; else goto L_02499548;
|
|
L_02499548: ; // 0x2499548
|
|
/* 02499548 */ _t16 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02499548 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249954C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 02499550 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499550 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02499550 */ if (_t18) goto L_0249955C; else goto L_02499554;
|
|
L_02499554: ; // 0x2499554
|
|
/* 02499554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 02499558 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499558 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02499558 */ if (_t20) goto L_0249955C; else goto L_02499534;
|
|
L_0249955C: ; // 0x249955c
|
|
/* 0249955C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02499560 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499560 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02499560 */ if (_t22) goto L_024995B8; else goto L_02499564;
|
|
L_02499564: ; // 0x2499564
|
|
/* 02499564 */ cpu->r[8] = cpu->r[10];
|
|
/* 02499568 */ cpu->r[9] = cpu->r[11];
|
|
L_0249956C: ; // 0x249956c
|
|
/* 0249956C */ _t23 = cpu->r[12] + 0x00000300u;
|
|
/* 0249956C */ cpu->r[7] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02499570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02499574 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499574 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02499574 */ if (_t25) goto L_02499584; else goto L_02499578;
|
|
L_02499578: ; // 0x2499578
|
|
/* 02499578 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[3]);
|
|
/* 0249957C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249957C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0249957C */ if (_t27) goto L_024995BC; else goto L_02499580;
|
|
L_02499580: ; // 0x2499580
|
|
/* 02499580 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
L_02499584: ; // 0x2499584
|
|
/* 02499584 */ cpu->r[12] = cpu->r[12] + cpu->r[8];
|
|
/* 02499588 */ _t28 = cpu->r[12] + 0x00000004u;
|
|
/* 02499588 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0249958C */ cpu->r[12] = cpu->r[7] - cpu->r[8];
|
|
/* 02499590 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 02499594 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499594 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02499594 */ if (_t30) goto L_024995B8; else goto L_02499598;
|
|
L_02499598: ; // 0x2499598
|
|
/* 02499598 */ _t31 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02499598 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0249959C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u);
|
|
/* 024995A0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024995A0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 024995A0 */ if (_t33) goto L_024995B0; else goto L_024995A4;
|
|
L_024995A4: ; // 0x24995a4
|
|
/* 024995A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u);
|
|
/* 024995A8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024995A8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 024995A8 */ if (_t35) goto L_024995AC; else goto L_02499584;
|
|
L_024995AC: ; // 0x24995ac
|
|
/* 024995AC */ goto L_0249955C;
|
|
L_024995B0: ; // 0x24995b0
|
|
/* 024995B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 024995B4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024995B4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 024995B4 */ if (_t37) goto L_024995B8; else goto L_0249956C;
|
|
L_024995B8: ; // 0x24995b8
|
|
/* 024995B8 */ cpu->r[12] = 0x00000000u;
|
|
L_024995BC: ; // 0x24995bc
|
|
/* 024995BC */ cpu->r[3] = cpu->r[12];
|
|
/* 024995C0 */ return;
|
|
}
|
|
|
|
// fn_024995C4 @ 0x24995c4
|
|
void Gambit_fn_024995C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_024995C4: ; // 0x24995c4
|
|
/* 024995C4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 024995C8 */ _t0 = cpu->r[12] + 0x00006000u;
|
|
/* 024995C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 024995CC */ _t1 = cpu->r[12] + 0x00000030u;
|
|
/* 024995CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024995D0 */ _t2 = cpu->r[11] + 0x00000020u;
|
|
/* 024995D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024995D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024995D8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024995D8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 024995D8 */ if (_t4) goto L_0249969C; else goto L_024995DC;
|
|
L_024995DC: ; // 0x24995dc
|
|
/* 024995DC */ cpu->r[11] = 0x101C0000u;
|
|
/* 024995E0 */ _t5 = cpu->r[12] + 0x00000264u;
|
|
/* 024995E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024995E4 */ _t6 = cpu->r[11] + 0x00006258u;
|
|
/* 024995E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024995E8 */ cpu->r[11] = cpu->r[12] + cpu->r[11];
|
|
/* 024995EC */ _t7 = cpu->r[11] + 0x00000104u;
|
|
/* 024995EC */ cpu->r[11] = rbrew_read8(cpu->mem, _t7);
|
|
/* 024995F0 */ _t8 = cpu->r[12] + 0x00000030u;
|
|
/* 024995F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024995F4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 024995F8 */ _t9 = cpu->r[11] + cpu->r[12];
|
|
/* 024995F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024995FC */ _t10 = cpu->r[12] + 0x00000008u;
|
|
/* 024995FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02499600 */ _t11 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02499600 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02499604 */ _t12 = cpu->r[12] + 0x00000004u;
|
|
/* 02499604 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02499608 */ cpu->r[11] = cpu->r[12] - cpu->r[10];
|
|
/* 0249960C */ cpu->r[6] = 0x00000000u;
|
|
/* 02499610 */ cpu->r[12] = cpu->r[9] - cpu->r[10];
|
|
/* 02499614 */ goto L_02499624;
|
|
L_02499618: ; // 0x2499618
|
|
/* 02499618 */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
/* 0249961C */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 0249961C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02499620 */ cpu->r[12] = cpu->r[9] - cpu->r[10];
|
|
L_02499624: ; // 0x2499624
|
|
/* 02499624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02499628 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499628 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02499628 */ if (_t15) goto L_02499640; else goto L_0249962C;
|
|
L_0249962C: ; // 0x249962c
|
|
/* 0249962C */ _t16 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0249962C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02499630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 02499634 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499634 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02499634 */ if (_t18) goto L_02499640; else goto L_02499638;
|
|
L_02499638: ; // 0x2499638
|
|
/* 02499638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 0249963C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249963C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0249963C */ if (_t20) goto L_02499640; else goto L_02499618;
|
|
L_02499640: ; // 0x2499640
|
|
/* 02499640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02499644 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499644 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02499644 */ if (_t22) goto L_0249969C; else goto L_02499648;
|
|
L_02499648: ; // 0x2499648
|
|
/* 02499648 */ cpu->r[8] = cpu->r[10];
|
|
/* 0249964C */ cpu->r[9] = cpu->r[11];
|
|
L_02499650: ; // 0x2499650
|
|
/* 02499650 */ _t23 = cpu->r[12] + 0x00000301u;
|
|
/* 02499650 */ cpu->r[7] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02499654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02499658 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499658 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02499658 */ if (_t25) goto L_02499668; else goto L_0249965C;
|
|
L_0249965C: ; // 0x249965c
|
|
/* 0249965C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[3]);
|
|
/* 02499660 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499660 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02499660 */ if (_t27) goto L_024996A0; else goto L_02499664;
|
|
L_02499664: ; // 0x2499664
|
|
/* 02499664 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
L_02499668: ; // 0x2499668
|
|
/* 02499668 */ cpu->r[12] = cpu->r[12] + cpu->r[8];
|
|
/* 0249966C */ _t28 = cpu->r[12] + 0x00000004u;
|
|
/* 0249966C */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02499670 */ cpu->r[12] = cpu->r[7] - cpu->r[8];
|
|
/* 02499674 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 02499678 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499678 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02499678 */ if (_t30) goto L_0249969C; else goto L_0249967C;
|
|
L_0249967C: ; // 0x249967c
|
|
/* 0249967C */ _t31 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0249967C */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02499680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u);
|
|
/* 02499684 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499684 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02499684 */ if (_t33) goto L_02499694; else goto L_02499688;
|
|
L_02499688: ; // 0x2499688
|
|
/* 02499688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u);
|
|
/* 0249968C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249968C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0249968C */ if (_t35) goto L_02499690; else goto L_02499668;
|
|
L_02499690: ; // 0x2499690
|
|
/* 02499690 */ goto L_02499640;
|
|
L_02499694: ; // 0x2499694
|
|
/* 02499694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 02499698 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499698 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02499698 */ if (_t37) goto L_0249969C; else goto L_02499650;
|
|
L_0249969C: ; // 0x249969c
|
|
/* 0249969C */ cpu->r[12] = 0x00000000u;
|
|
L_024996A0: ; // 0x24996a0
|
|
/* 024996A0 */ cpu->r[3] = cpu->r[12];
|
|
/* 024996A4 */ return;
|
|
}
|
|
|
|
// fn_024996A8 @ 0x24996a8
|
|
void Gambit_fn_024996A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_024996A8: ; // 0x24996a8
|
|
/* 024996A8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 024996A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024996A8 */ cpu->r[1] = _t0;
|
|
/* 024996AC */ /* nop */
|
|
/* 024996B0 */ cpu->r[0] = cpu->lr;
|
|
/* 024996B4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024996B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 024996B8 */ cpu->r[7] = 0x101D0000u;
|
|
/* 024996BC */ _t2 = cpu->r[7] + 0x0000009Cu;
|
|
/* 024996BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024996BC */ cpu->r[7] = _t2;
|
|
/* 024996C0 */ _t3 = cpu->r[3] + 0x00000030u;
|
|
/* 024996C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t3);
|
|
/* 024996C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 024996C8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 024996CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024996CC */ _t5 = _t4 & 0x00000001u;
|
|
/* 024996CC */ if (_t5) goto L_024996D0; else goto L_024996EC;
|
|
L_024996D0: ; // 0x24996d0
|
|
/* 024996D0 */ cpu->r[0] = 0x00000001u;
|
|
/* 024996D4 */ cpu->r[4] = 0x101C0000u;
|
|
/* 024996D8 */ cpu->r[3] = cpu->r[30] + 0x00005063u;
|
|
/* 024996DC */ cpu->r[5] = 0x00000006u;
|
|
/* 024996E0 */ cpu->r[4] = cpu->r[4] + 0x00006244u;
|
|
/* 024996E4 */ _t6 = cpu->r[7] + 0x00000000u;
|
|
/* 024996E4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 024996E8 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_024996EC: ; // 0x24996ec
|
|
/* 024996EC */ cpu->r[12] = 0x101D0000u;
|
|
/* 024996F0 */ _t7 = cpu->r[12] + 0x00000098u;
|
|
/* 024996F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024996F0 */ cpu->r[12] = _t7;
|
|
/* 024996F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024996F8 */ cpu->r[29] = 0x101D0000u;
|
|
/* 024996FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024996FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 024996FC */ if (_t9) goto L_02499700; else goto L_0249972C;
|
|
L_02499700: ; // 0x2499700
|
|
/* 02499700 */ cpu->r[0] = 0x00000001u;
|
|
/* 02499704 */ cpu->r[10] = 0x00000000u;
|
|
/* 02499708 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 02499708 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0249970C */ _t11 = cpu->r[29] + 0x000006C8u;
|
|
/* 0249970C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02499710 */ Gambit_fn_0282A450(cpu);
|
|
/* 02499714 */ cpu->r[31] = cpu->r[3];
|
|
/* 02499718 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0249971C */ _t12 = cpu->r[29] + 0x000006C8u;
|
|
/* 0249971C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02499720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02499724 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499724 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02499724 */ if (_t14) goto L_02499750; else goto L_02499728;
|
|
L_02499728: ; // 0x2499728
|
|
/* 02499728 */ goto L_0249976C;
|
|
L_0249972C: ; // 0x249972c
|
|
/* 0249972C */ _t15 = cpu->r[29] + 0x000006C8u;
|
|
/* 0249972C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02499730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02499734 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499734 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02499734 */ if (_t17) goto L_02499738; else goto L_02499778;
|
|
L_02499738: ; // 0x2499738
|
|
/* 02499738 */ Gambit_fn_0282A450(cpu);
|
|
/* 0249973C */ cpu->r[31] = cpu->r[3];
|
|
/* 02499740 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02499744 */ _t18 = cpu->r[29] + 0x000006C8u;
|
|
/* 02499744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02499748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249974C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249974C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0249974C */ if (_t20) goto L_02499750; else goto L_0249976C;
|
|
L_02499750: ; // 0x2499750
|
|
/* 02499750 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02499754 */ cpu->r[4] = cpu->r[30] + 0x00005063u;
|
|
/* 02499758 */ cpu->r[27] = cpu->r[27] + 0x000006CCu;
|
|
/* 0249975C */ cpu->r[5] = 0x00000001u;
|
|
/* 02499760 */ cpu->r[3] = cpu->r[27];
|
|
/* 02499764 */ Gambit_fn_0282A374(cpu);
|
|
/* 02499768 */ _t21 = cpu->r[29] + 0x000006C8u;
|
|
/* 02499768 */ rbrew_write32(cpu->mem, _t21, cpu->r[27]);
|
|
L_0249976C: ; // 0x249976c
|
|
/* 0249976C */ cpu->r[3] = cpu->r[31];
|
|
/* 02499770 */ Gambit_fn_02837030(cpu);
|
|
/* 02499774 */ _t22 = cpu->r[29] + 0x000006C8u;
|
|
/* 02499774 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
L_02499778: ; // 0x2499778
|
|
/* 02499778 */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249977C */ _t23 = cpu->r[12] + 0x00000000u;
|
|
/* 0249977C */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02499780 */ cpu->r[6] = cpu->r[6] + 0xFFFFADD4u;
|
|
/* 02499784 */ cpu->r[3] = cpu->r[28];
|
|
/* 02499788 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02499788 */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 0249978C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02499790 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02499790 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
|
|
/* 02499794 */ Gambit_fn_027B70B8(cpu);
|
|
/* 02499798 */ /* nop */
|
|
/* 0249979C */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249979C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024997A0 */ cpu->lr = cpu->r[0];
|
|
/* 024997A4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 024997A8 */ return;
|
|
}
|
|
|
|
// fn_024997AC @ 0x24997ac
|
|
void Gambit_fn_024997AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_024997AC: ; // 0x24997ac
|
|
/* 024997AC */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 024997AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024997AC */ cpu->r[1] = _t0;
|
|
/* 024997B0 */ /* nop */
|
|
/* 024997B4 */ cpu->r[0] = cpu->lr;
|
|
/* 024997B8 */ _t1 = cpu->r[1] + 0x00000060u;
|
|
/* 024997B8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 024997BC */ /* nop */
|
|
/* 024997C0 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 024997C0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 024997C4 */ /* nop */
|
|
/* 024997C8 */ _t3 = cpu->r[1] + 0x00000068u;
|
|
/* 024997C8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 024997CC */ cpu->f[30] = cpu->f[1];
|
|
/* 024997D0 */ _t4 = cpu->r[1] + 0x00000070u;
|
|
/* 024997D0 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 024997D4 */ _t5 = cpu->r[1] + 0x00000058u;
|
|
/* 024997D4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[29]);
|
|
/* 024997D8 */ /* nop */
|
|
/* 024997DC */ _t6 = cpu->r[1] + 0x00000078u;
|
|
/* 024997DC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 024997E0 */ cpu->r[30] = cpu->r[4];
|
|
/* 024997E4 */ cpu->r[26] = cpu->r[3];
|
|
/* 024997E8 */ _t7 = cpu->r[1] + 0x00000084u;
|
|
/* 024997E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 024997EC */ Gambit_fn_024F65FC(cpu);
|
|
/* 024997F0 */ cpu->r[28] = 0x101D0000u;
|
|
/* 024997F4 */ _t8 = cpu->r[28] + 0x000000A0u;
|
|
/* 024997F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024997F4 */ cpu->r[28] = _t8;
|
|
/* 024997F8 */ cpu->r[27] = 0x101D0000u;
|
|
/* 024997FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02499800 */ cpu->r[29] = 0x100B0000u;
|
|
/* 02499804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02499808 */ cpu->r[29] = cpu->r[29] + 0xFFFFAE64u;
|
|
/* 0249980C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249980C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0249980C */ if (_t10) goto L_02499810; else goto L_0249981C;
|
|
L_02499810: ; // 0x2499810
|
|
/* 02499810 */ _t11 = cpu->r[27] + 0x000006D0u;
|
|
/* 02499810 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02499814 */ cpu->r[9] = 0x00000001u;
|
|
/* 02499818 */ _t12 = cpu->r[28] + 0x00000000u;
|
|
/* 02499818 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
L_0249981C: ; // 0x249981c
|
|
/* 0249981C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02499820 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499820 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02499820 */ if (_t14) goto L_02499844; else goto L_02499824;
|
|
L_02499824: ; // 0x2499824
|
|
/* 02499824 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02499824 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02499828 */ _t16 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02499828 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249982C */ cpu->ctr = cpu->r[7];
|
|
/* 02499830 */ cpu->r[3] = cpu->r[31];
|
|
/* 02499834 */ cpu->r[4] = cpu->r[27] + 0x000006D0u;
|
|
/* 02499838 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249983C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02499840 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499840 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02499840 */ if (_t18) goto L_02499844; else goto L_02499848;
|
|
L_02499844: ; // 0x2499844
|
|
/* 02499844 */ cpu->r[31] = 0x00000000u;
|
|
L_02499848: ; // 0x2499848
|
|
/* 02499848 */ _t19 = cpu->r[31] + 0x0000023Cu;
|
|
/* 02499848 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0249984C */ cpu->r[3] = cpu->r[26];
|
|
/* 02499850 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02499854 */ _t20 = cpu->r[28] + 0x00000000u;
|
|
/* 02499854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02499858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0249985C */ cpu->r[31] = cpu->r[3];
|
|
/* 02499860 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499860 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02499860 */ if (_t22) goto L_02499864; else goto L_02499870;
|
|
L_02499864: ; // 0x2499864
|
|
/* 02499864 */ _t23 = cpu->r[27] + 0x000006D0u;
|
|
/* 02499864 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 02499868 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249986C */ _t24 = cpu->r[28] + 0x00000000u;
|
|
/* 0249986C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
L_02499870: ; // 0x2499870
|
|
/* 02499870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02499874 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499874 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02499874 */ if (_t26) goto L_02499898; else goto L_02499878;
|
|
L_02499878: ; // 0x2499878
|
|
/* 02499878 */ _t27 = cpu->r[31] + 0x00000000u;
|
|
/* 02499878 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0249987C */ _t28 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0249987C */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02499880 */ cpu->ctr = cpu->r[6];
|
|
/* 02499884 */ cpu->r[3] = cpu->r[31];
|
|
/* 02499888 */ cpu->r[4] = cpu->r[27] + 0x000006D0u;
|
|
/* 0249988C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02499890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02499894 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499894 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02499894 */ if (_t30) goto L_02499898; else goto L_0249989C;
|
|
L_02499898: ; // 0x2499898
|
|
/* 02499898 */ cpu->r[31] = 0x00000000u;
|
|
L_0249989C: ; // 0x249989c
|
|
/* 0249989C */ _t31 = cpu->r[31] + 0x0000029Cu;
|
|
/* 0249989C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 024998A0 */ cpu->r[3] = cpu->r[26];
|
|
/* 024998A4 */ Gambit_fn_024F65FC(cpu);
|
|
/* 024998A8 */ _t32 = cpu->r[28] + 0x00000000u;
|
|
/* 024998A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 024998AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 024998B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024998B4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024998B4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 024998B4 */ if (_t34) goto L_024998B8; else goto L_024998C4;
|
|
L_024998B8: ; // 0x24998b8
|
|
/* 024998B8 */ _t35 = cpu->r[27] + 0x000006D0u;
|
|
/* 024998B8 */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
|
|
/* 024998BC */ cpu->r[9] = 0x00000001u;
|
|
/* 024998C0 */ _t36 = cpu->r[28] + 0x00000000u;
|
|
/* 024998C0 */ rbrew_write32(cpu->mem, _t36, cpu->r[9]);
|
|
L_024998C4: ; // 0x24998c4
|
|
/* 024998C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024998C8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024998C8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 024998C8 */ if (_t38) goto L_024998EC; else goto L_024998CC;
|
|
L_024998CC: ; // 0x24998cc
|
|
/* 024998CC */ _t39 = cpu->r[31] + 0x00000000u;
|
|
/* 024998CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 024998D0 */ _t40 = cpu->r[11] + 0x0000006Cu;
|
|
/* 024998D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 024998D4 */ cpu->ctr = cpu->r[12];
|
|
/* 024998D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024998DC */ cpu->r[4] = cpu->r[27] + 0x000006D0u;
|
|
/* 024998E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024998E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024998E8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024998E8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 024998E8 */ if (_t42) goto L_024998EC; else goto L_024998F0;
|
|
L_024998EC: ; // 0x24998ec
|
|
/* 024998EC */ cpu->r[31] = 0x00000000u;
|
|
L_024998F0: ; // 0x24998f0
|
|
/* 024998F0 */ cpu->r[6] = 0x100B0000u;
|
|
/* 024998F4 */ _t43 = cpu->r[31] + 0x000001DCu;
|
|
/* 024998F4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 024998F8 */ _t44 = cpu->r[6] + 0xFFFFAF64u;
|
|
/* 024998F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 024998FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 02499900 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499900 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02499900 */ if (_t46) goto L_02499914; else goto L_02499904;
|
|
L_02499904: ; // 0x2499904
|
|
/* 02499904 */ cpu->f[0] = cpu->f[29] - cpu->f[31];
|
|
/* 02499908 */ cpu->f[10] = cpu->f[0] * cpu->f[30];
|
|
/* 0249990C */ cpu->f[13] = cpu->f[10] / cpu->f[11];
|
|
/* 02499910 */ cpu->f[31] = cpu->f[13] + cpu->f[31];
|
|
L_02499914: ; // 0x2499914
|
|
/* 02499914 */ cpu->r[3] = cpu->r[26];
|
|
/* 02499918 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0249991C */ _t47 = cpu->r[28] + 0x00000000u;
|
|
/* 0249991C */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02499920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02499924 */ cpu->r[31] = cpu->r[3];
|
|
/* 02499928 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499928 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02499928 */ if (_t49) goto L_0249992C; else goto L_02499938;
|
|
L_0249992C: ; // 0x249992c
|
|
/* 0249992C */ _t50 = cpu->r[27] + 0x000006D0u;
|
|
/* 0249992C */ rbrew_write32(cpu->mem, _t50, cpu->r[29]);
|
|
/* 02499930 */ cpu->r[9] = 0x00000001u;
|
|
/* 02499934 */ _t51 = cpu->r[28] + 0x00000000u;
|
|
/* 02499934 */ rbrew_write32(cpu->mem, _t51, cpu->r[9]);
|
|
L_02499938: ; // 0x2499938
|
|
/* 02499938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249993C */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249993C */ _t53 = _t52 & 0x00000001u;
|
|
/* 0249993C */ if (_t53) goto L_02499960; else goto L_02499940;
|
|
L_02499940: ; // 0x2499940
|
|
/* 02499940 */ _t54 = cpu->r[31] + 0x00000000u;
|
|
/* 02499940 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02499944 */ _t55 = cpu->r[10] + 0x0000006Cu;
|
|
/* 02499944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02499948 */ cpu->ctr = cpu->r[0];
|
|
/* 0249994C */ cpu->r[3] = cpu->r[31];
|
|
/* 02499950 */ cpu->r[4] = cpu->r[27] + 0x000006D0u;
|
|
/* 02499954 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02499958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249995C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249995C */ _t57 = _t56 & 0x00000001u;
|
|
/* 0249995C */ if (_t57) goto L_02499960; else goto L_02499964;
|
|
L_02499960: ; // 0x2499960
|
|
/* 02499960 */ cpu->r[31] = 0x00000000u;
|
|
L_02499964: ; // 0x2499964
|
|
/* 02499964 */ _t58 = cpu->r[31] + 0x000002FCu;
|
|
/* 02499964 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02499968 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249996C */ /* nop */
|
|
/* 02499970 */ _t59 = cpu->r[12] + 0xFFFFB11Cu;
|
|
/* 02499970 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02499974 */ /* nop */
|
|
/* 02499978 */ cpu->f[12] = cpu->f[0] * cpu->f[30];
|
|
/* 0249997C */ _t60 = cpu->r[26] + 0x00000080u;
|
|
/* 0249997C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02499980 */ /* nop */
|
|
/* 02499984 */ _t61 = cpu->r[26] + 0x00000068u;
|
|
/* 02499984 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02499988 */ /* nop */
|
|
/* 0249998C */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249998C */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02499990 */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 02499990 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02499994 */ cpu->f[9] = cpu->f[13] * cpu->f[12];
|
|
/* 02499998 */ _t64 = cpu->r[1] + 0x00000030u;
|
|
/* 02499998 */ rbrew_write32(cpu->mem, _t64, cpu->r[8]);
|
|
/* 0249999C */ _t65 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249999C */ rbrew_write32(cpu->mem, _t65, cpu->r[6]);
|
|
/* 024999A0 */ /* nop */
|
|
/* 024999A4 */ _t66 = cpu->r[1] + 0x00000010u;
|
|
/* 024999A4 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[9]);
|
|
/* 024999A8 */ /* nop */
|
|
/* 024999AC */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 024999AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t67);
|
|
/* 024999B0 */ /* nop */
|
|
/* 024999B4 */ _t68 = cpu->r[1] + 0x00000014u;
|
|
/* 024999B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 024999B8 */ _t69 = cpu->r[1] + 0x00000034u;
|
|
/* 024999B8 */ rbrew_write32(cpu->mem, _t69, cpu->r[9]);
|
|
/* 024999BC */ _t70 = cpu->r[1] + 0x00000034u;
|
|
/* 024999BC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 024999C0 */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 024999C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t71);
|
|
/* 024999C4 */ _t72 = cpu->r[1] + 0x00000020u;
|
|
/* 024999C4 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 024999C8 */ _t73 = cpu->r[1] + 0x00000020u;
|
|
/* 024999C8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 024999CC */ cpu->f[13] = cpu->f[0] + cpu->f[10];
|
|
/* 024999D0 */ _t74 = cpu->r[1] + 0x00000024u;
|
|
/* 024999D0 */ rbrew_write32(cpu->mem, _t74, cpu->r[6]);
|
|
/* 024999D4 */ _t75 = cpu->r[1] + 0x00000024u;
|
|
/* 024999D4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 024999D8 */ _t76 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024999D8 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[13]);
|
|
/* 024999DC */ _t77 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024999DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t77);
|
|
/* 024999E0 */ _t78 = cpu->r[30] + 0x00000004u;
|
|
/* 024999E0 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[12]);
|
|
/* 024999E4 */ _t79 = cpu->r[1] + 0x00000028u;
|
|
/* 024999E4 */ rbrew_write32(cpu->mem, _t79, cpu->r[7]);
|
|
/* 024999E8 */ _t80 = cpu->r[1] + 0x00000028u;
|
|
/* 024999E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 024999EC */ _t81 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024999EC */ rbrew_write_f32(cpu->mem, _t81, cpu->f[11]);
|
|
/* 024999F0 */ _t82 = cpu->r[30] + 0x00000008u;
|
|
/* 024999F0 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[9]);
|
|
/* 024999F4 */ _t83 = cpu->r[26] + 0x00000054u;
|
|
/* 024999F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 024999F8 */ _t84 = cpu->r[30] + 0x00000010u;
|
|
/* 024999F8 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[0]);
|
|
/* 024999FC */ _t85 = cpu->r[26] + 0x00000058u;
|
|
/* 024999FC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02499A00 */ _t86 = cpu->r[30] + 0x00000014u;
|
|
/* 02499A00 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[9]);
|
|
/* 02499A04 */ _t87 = cpu->r[26] + 0x0000005Cu;
|
|
/* 02499A04 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02499A08 */ _t88 = cpu->r[30] + 0x00000018u;
|
|
/* 02499A08 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[10]);
|
|
/* 02499A0C */ _t89 = cpu->r[26] + 0x00000060u;
|
|
/* 02499A0C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 02499A10 */ _t90 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02499A10 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[11]);
|
|
/* 02499A14 */ _t91 = cpu->r[26] + 0x00000064u;
|
|
/* 02499A14 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 02499A18 */ _t92 = cpu->r[30] + 0x00000020u;
|
|
/* 02499A18 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[12]);
|
|
/* 02499A1C */ _t93 = cpu->r[26] + 0x00000068u;
|
|
/* 02499A1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02499A20 */ _t94 = cpu->r[30] + 0x00000024u;
|
|
/* 02499A20 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[13]);
|
|
/* 02499A24 */ _t95 = cpu->r[26] + 0x0000006Cu;
|
|
/* 02499A24 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02499A28 */ _t96 = cpu->r[30] + 0x00000028u;
|
|
/* 02499A28 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[9]);
|
|
/* 02499A2C */ _t97 = cpu->r[26] + 0x00000070u;
|
|
/* 02499A2C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 02499A30 */ _t98 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02499A30 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[12]);
|
|
/* 02499A34 */ _t99 = cpu->r[26] + 0x00000074u;
|
|
/* 02499A34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02499A38 */ _t100 = cpu->r[30] + 0x00000034u;
|
|
/* 02499A38 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[31]);
|
|
/* 02499A3C */ cpu->r[3] = cpu->r[26];
|
|
/* 02499A40 */ _t101 = cpu->r[30] + 0x00000030u;
|
|
/* 02499A40 */ rbrew_write_f32(cpu->mem, _t101, cpu->f[0]);
|
|
/* 02499A44 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02499A48 */ _t102 = cpu->r[28] + 0x00000000u;
|
|
/* 02499A48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02499A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02499A50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02499A54 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499A54 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02499A54 */ if (_t104) goto L_02499A58; else goto L_02499A64;
|
|
L_02499A58: ; // 0x2499a58
|
|
/* 02499A58 */ _t105 = cpu->r[27] + 0x000006D0u;
|
|
/* 02499A58 */ rbrew_write32(cpu->mem, _t105, cpu->r[29]);
|
|
/* 02499A5C */ cpu->r[8] = 0x00000001u;
|
|
/* 02499A60 */ _t106 = cpu->r[28] + 0x00000000u;
|
|
/* 02499A60 */ rbrew_write32(cpu->mem, _t106, cpu->r[8]);
|
|
L_02499A64: ; // 0x2499a64
|
|
/* 02499A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02499A68 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499A68 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02499A68 */ if (_t108) goto L_02499A8C; else goto L_02499A6C;
|
|
L_02499A6C: ; // 0x2499a6c
|
|
/* 02499A6C */ _t109 = cpu->r[31] + 0x00000000u;
|
|
/* 02499A6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02499A70 */ _t110 = cpu->r[10] + 0x0000006Cu;
|
|
/* 02499A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02499A74 */ cpu->ctr = cpu->r[0];
|
|
/* 02499A78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02499A7C */ cpu->r[4] = cpu->r[27] + 0x000006D0u;
|
|
/* 02499A80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02499A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02499A88 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499A88 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02499A88 */ if (_t112) goto L_02499A8C; else goto L_02499A90;
|
|
L_02499A8C: ; // 0x2499a8c
|
|
/* 02499A8C */ cpu->r[31] = 0x00000000u;
|
|
L_02499A90: ; // 0x2499a90
|
|
/* 02499A90 */ _t113 = cpu->r[31] + 0x000002FCu;
|
|
/* 02499A90 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 02499A94 */ cpu->f[0] = cpu->f[9] * cpu->f[30];
|
|
/* 02499A98 */ _t114 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02499A98 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[31]);
|
|
/* 02499A9C */ _t115 = cpu->r[30] + 0x00000038u;
|
|
/* 02499A9C */ rbrew_write_f32(cpu->mem, _t115, cpu->f[0]);
|
|
/* 02499AA0 */ /* nop */
|
|
/* 02499AA4 */ _t116 = cpu->r[1] + 0x00000058u;
|
|
/* 02499AA4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02499AA8 */ _t117 = cpu->r[1] + 0x00000068u;
|
|
/* 02499AA8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02499AAC */ _t118 = cpu->r[1] + 0x00000050u;
|
|
/* 02499AAC */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t118);
|
|
/* 02499AB0 */ _t119 = cpu->r[1] + 0x00000078u;
|
|
/* 02499AB0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02499AB4 */ _t120 = cpu->r[1] + 0x00000060u;
|
|
/* 02499AB4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t120);
|
|
/* 02499AB8 */ _t121 = cpu->r[1] + 0x00000070u;
|
|
/* 02499AB8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t121);
|
|
/* 02499ABC */ _t122 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02499ABC */ _t123 = _t122 & 0x00000001u;
|
|
/* 02499ABC */ if (_t123) goto L_02499AC0; // else: addr-0 trap, fall-through
|
|
L_02499AC0: ; // 0x2499ac0
|
|
/* 02499AC0 */ _t124 = cpu->r[1] + 0x00000084u;
|
|
/* 02499AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02499AC4 */ cpu->lr = cpu->r[0];
|
|
/* 02499AC8 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02499ACC */ return;
|
|
}
|
|
|
|
// fn_02499AD0 @ 0x2499ad0
|
|
void Gambit_fn_02499AD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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, _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;
|
|
double _ft118, _ft119;
|
|
|
|
L_02499AD0: ; // 0x2499ad0
|
|
/* 02499AD0 */ _t0 = cpu->r[1] + 0xFFFFFEB0u;
|
|
/* 02499AD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02499AD0 */ cpu->r[1] = _t0;
|
|
/* 02499AD4 */ /* nop */
|
|
/* 02499AD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02499ADC */ _t1 = cpu->r[1] + 0x00000130u;
|
|
/* 02499ADC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02499AE0 */ _t2 = cpu->r[1] + 0x00000140u;
|
|
/* 02499AE0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02499AE4 */ /* nop */
|
|
/* 02499AE8 */ _t3 = cpu->r[1] + 0x00000154u;
|
|
/* 02499AE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02499AEC */ /* nop */
|
|
/* 02499AF0 */ _t4 = cpu->r[1] + 0x00000138u;
|
|
/* 02499AF0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02499AF4 */ _t5 = cpu->r[1] + 0x00000148u;
|
|
/* 02499AF4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 02499AF8 */ cpu->r[29] = cpu->r[4];
|
|
/* 02499AFC */ cpu->r[30] = cpu->r[3];
|
|
/* 02499B00 */ _t6 = cpu->r[30] + 0x00000300u;
|
|
/* 02499B00 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02499B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02499B08 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499B08 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02499B08 */ if (_t8) goto L_0249A0F4; else goto L_02499B0C;
|
|
L_02499B0C: ; // 0x2499b0c
|
|
/* 02499B0C */ _t9 = cpu->r[30] + 0x000002FCu;
|
|
/* 02499B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02499B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02499B14 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499B14 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02499B14 */ if (_t11) goto L_0249A0F4; else goto L_02499B18;
|
|
L_02499B18: ; // 0x2499b18
|
|
/* 02499B18 */ cpu->r[3] = cpu->r[29];
|
|
/* 02499B1C */ Gambit_fn_025A6194(cpu);
|
|
/* 02499B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02499B24 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499B24 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02499B24 */ if (_t13) goto L_02499B28; else goto L_0249A0F4;
|
|
L_02499B28: ; // 0x2499b28
|
|
/* 02499B28 */ _t14 = cpu->r[29] + 0x0000065Cu;
|
|
/* 02499B28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02499B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02499B30 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499B30 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02499B30 */ if (_t16) goto L_02499B34; else goto L_0249A0F4;
|
|
L_02499B34: ; // 0x2499b34
|
|
/* 02499B34 */ cpu->r[3] = cpu->r[29];
|
|
/* 02499B38 */ Gambit_fn_025AD3E8(cpu);
|
|
/* 02499B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02499B40 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499B40 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02499B40 */ if (_t18) goto L_02499B44; else goto L_0249A0F4;
|
|
L_02499B44: ; // 0x2499b44
|
|
/* 02499B44 */ cpu->r[3] = cpu->r[29];
|
|
/* 02499B48 */ Gambit_fn_025A9CC4(cpu);
|
|
/* 02499B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02499B50 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499B50 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02499B50 */ if (_t20) goto L_0249A0F4; else goto L_02499B54;
|
|
L_02499B54: ; // 0x2499b54
|
|
/* 02499B54 */ cpu->r[31] = 0x101F0000u;
|
|
/* 02499B58 */ _t21 = cpu->r[31] + 0x00003840u;
|
|
/* 02499B58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02499B58 */ cpu->r[31] = _t21;
|
|
/* 02499B5C */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 02499B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02499B60 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02499B60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02499B64 */ cpu->r[12] = 0x100B0000u;
|
|
/* 02499B68 */ _t24 = cpu->r[1] + 0x00000094u;
|
|
/* 02499B68 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02499B6C */ _t25 = cpu->r[12] + 0xFFFFAF64u;
|
|
/* 02499B6C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02499B70 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 02499B70 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
|
|
/* 02499B74 */ _t27 = cpu->r[1] + 0x00000098u;
|
|
/* 02499B74 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[31]);
|
|
/* 02499B78 */ _t28 = cpu->r[1] + 0x00000090u;
|
|
/* 02499B78 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
/* 02499B7C */ cpu->r[9] = 0x10110000u;
|
|
/* 02499B80 */ _t29 = cpu->r[1] + 0x00000030u;
|
|
/* 02499B80 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]);
|
|
/* 02499B84 */ cpu->r[9] = cpu->r[9] + 0xFFFFEF4Cu;
|
|
/* 02499B88 */ _t30 = cpu->r[1] + 0x00000088u;
|
|
/* 02499B88 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02499B8C */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02499B8C */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 02499B90 */ cpu->r[6] = 0x10110000u;
|
|
/* 02499B94 */ _t32 = cpu->r[1] + 0x00000080u;
|
|
/* 02499B94 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 02499B98 */ cpu->r[6] = cpu->r[6] + 0xFFFFEF7Cu;
|
|
/* 02499B9C */ _t33 = cpu->r[1] + 0x00000020u;
|
|
/* 02499B9C */ rbrew_write32(cpu->mem, _t33, cpu->r[9]);
|
|
/* 02499BA0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02499BA4 */ _t34 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02499BA4 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
|
|
/* 02499BA8 */ cpu->r[4] = cpu->r[1] + 0x0000007Cu;
|
|
/* 02499BAC */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02499BAC */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02499BB0 */ _t36 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02499BB0 */ rbrew_write32(cpu->mem, _t36, cpu->r[6]);
|
|
/* 02499BB4 */ _t37 = cpu->r[1] + 0x00000084u;
|
|
/* 02499BB4 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 02499BB8 */ Gambit_fn_025C65E8(cpu);
|
|
/* 02499BBC */ /* nop */
|
|
/* 02499BC0 */ /* nop */
|
|
/* 02499BC4 */ _t38 = cpu->r[1] + 0x00000088u;
|
|
/* 02499BC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02499BC8 */ /* nop */
|
|
/* 02499BCC */ _t39 = cpu->r[1] + 0x00000094u;
|
|
/* 02499BCC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02499BD0 */ /* nop */
|
|
/* 02499BD4 */ _t40 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02499BD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02499BD8 */ cpu->r[11] = 0x100B0000u;
|
|
/* 02499BDC */ _t41 = cpu->r[1] + 0x00000050u;
|
|
/* 02499BDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02499BE0 */ cpu->f[13] = cpu->f[0] + cpu->f[7];
|
|
/* 02499BE4 */ _t42 = cpu->r[1] + 0x000000A8u;
|
|
/* 02499BE4 */ rbrew_write32(cpu->mem, _t42, cpu->r[7]);
|
|
/* 02499BE8 */ _t43 = cpu->r[1] + 0x000000A8u;
|
|
/* 02499BE8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02499BEC */ _t44 = cpu->r[11] + 0xFFFFB11Cu;
|
|
/* 02499BEC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02499BF0 */ _t45 = cpu->r[1] + 0x000000ACu;
|
|
/* 02499BF0 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 02499BF4 */ cpu->f[7] = cpu->f[10] * cpu->f[30];
|
|
/* 02499BF8 */ _t46 = cpu->r[1] + 0x00000054u;
|
|
/* 02499BF8 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[13]);
|
|
/* 02499BFC */ _t47 = cpu->r[1] + 0x00000054u;
|
|
/* 02499BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02499C00 */ _t48 = cpu->r[1] + 0x00000034u;
|
|
/* 02499C00 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[7]);
|
|
/* 02499C04 */ _t49 = cpu->r[1] + 0x000000B0u;
|
|
/* 02499C04 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02499C08 */ _t50 = cpu->r[1] + 0x000000B0u;
|
|
/* 02499C08 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02499C0C */ _t51 = cpu->r[1] + 0x000000ACu;
|
|
/* 02499C0C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02499C10 */ cpu->f[9] = cpu->f[12] * cpu->f[30];
|
|
/* 02499C14 */ _t52 = cpu->r[1] + 0x00000034u;
|
|
/* 02499C14 */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02499C18 */ cpu->f[12] = cpu->f[7] * cpu->f[30];
|
|
/* 02499C1C */ _t53 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02499C1C */ rbrew_write32(cpu->mem, _t53, cpu->r[5]);
|
|
/* 02499C20 */ _t54 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02499C20 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02499C24 */ _t55 = cpu->r[1] + 0x00000038u;
|
|
/* 02499C24 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[12]);
|
|
/* 02499C28 */ _t56 = cpu->r[1] + 0x00000038u;
|
|
/* 02499C28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02499C2C */ _t57 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02499C2C */ rbrew_write_f32(cpu->mem, _t57, cpu->f[9]);
|
|
/* 02499C30 */ _t58 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02499C30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02499C34 */ _t59 = cpu->r[1] + 0x000000A0u;
|
|
/* 02499C34 */ rbrew_write32(cpu->mem, _t59, cpu->r[6]);
|
|
/* 02499C38 */ _t60 = cpu->r[1] + 0x000000A0u;
|
|
/* 02499C38 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02499C3C */ _t61 = cpu->r[1] + 0x000000A4u;
|
|
/* 02499C3C */ rbrew_write32(cpu->mem, _t61, cpu->r[7]);
|
|
/* 02499C40 */ _t62 = cpu->r[1] + 0x000000A4u;
|
|
/* 02499C40 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02499C44 */ _t63 = cpu->r[1] + 0x00000028u;
|
|
/* 02499C44 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02499C48 */ _t64 = cpu->r[1] + 0x00000024u;
|
|
/* 02499C48 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[8]);
|
|
/* 02499C4C */ cpu->r[3] = cpu->r[29];
|
|
/* 02499C50 */ _t65 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02499C50 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[11]);
|
|
/* 02499C54 */ Gambit_fn_025A9CC4(cpu);
|
|
/* 02499C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02499C5C */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499C5C */ _t67 = _t66 & 0x00000001u;
|
|
/* 02499C5C */ if (_t67) goto L_02499CA4; else goto L_02499C60;
|
|
L_02499C60: ; // 0x2499c60
|
|
/* 02499C60 */ _t68 = cpu->r[1] + 0x00000098u;
|
|
/* 02499C60 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02499C64 */ cpu->r[8] = 0x10110000u;
|
|
/* 02499C68 */ _t69 = cpu->r[31] + 0x00000008u;
|
|
/* 02499C68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02499C6C */ cpu->r[8] = cpu->r[8] + 0xFFFFEFDCu;
|
|
/* 02499C70 */ _t70 = cpu->r[1] + 0x00000030u;
|
|
/* 02499C70 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[12]);
|
|
/* 02499C74 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02499C78 */ _t71 = cpu->r[31] + 0x00000000u;
|
|
/* 02499C78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02499C7C */ cpu->r[6] = cpu->r[1] + 0x000000E4u;
|
|
/* 02499C80 */ _t72 = cpu->r[1] + 0x000000E4u;
|
|
/* 02499C80 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 02499C84 */ cpu->r[5] = cpu->r[5] + 0x000037D8u;
|
|
/* 02499C88 */ _t73 = cpu->r[31] + 0x00000004u;
|
|
/* 02499C88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02499C8C */ _t74 = cpu->r[1] + 0x000000D8u;
|
|
/* 02499C8C */ rbrew_write32(cpu->mem, _t74, cpu->r[8]);
|
|
/* 02499C90 */ cpu->r[7] = 0x00000003u;
|
|
/* 02499C94 */ _t75 = cpu->r[1] + 0x000000DCu;
|
|
/* 02499C94 */ rbrew_write32(cpu->mem, _t75, cpu->r[10]);
|
|
/* 02499C98 */ cpu->ctr = cpu->r[7];
|
|
/* 02499C9C */ _t76 = cpu->r[1] + 0x000000E0u;
|
|
/* 02499C9C */ rbrew_write32(cpu->mem, _t76, cpu->r[12]);
|
|
/* 02499CA0 */ goto L_02499CF0;
|
|
L_02499CA4: ; // 0x2499ca4
|
|
/* 02499CA4 */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 02499CA8 */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 02499CAC */ Gambit_fn_02C693A4(cpu);
|
|
/* 02499CB0 */ _t77 = cpu->r[31] + 0x00000008u;
|
|
/* 02499CB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02499CB4 */ _t78 = cpu->r[31] + 0x00000004u;
|
|
/* 02499CB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02499CB8 */ cpu->r[8] = 0x10110000u;
|
|
/* 02499CBC */ _t79 = cpu->r[1] + 0x000000E4u;
|
|
/* 02499CBC */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
|
|
/* 02499CC0 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02499CC4 */ _t80 = cpu->r[1] + 0x000000E0u;
|
|
/* 02499CC4 */ rbrew_write32(cpu->mem, _t80, cpu->r[12]);
|
|
/* 02499CC8 */ cpu->r[7] = 0x00000003u;
|
|
/* 02499CCC */ _t81 = cpu->r[31] + 0x00000000u;
|
|
/* 02499CCC */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02499CD0 */ cpu->r[8] = cpu->r[8] + 0xFFFFEFDCu;
|
|
/* 02499CD4 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02499CD8 */ _t82 = cpu->r[1] + 0x00000030u;
|
|
/* 02499CD8 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[12]);
|
|
/* 02499CDC */ cpu->r[6] = cpu->r[1] + 0x000000E4u;
|
|
/* 02499CE0 */ cpu->r[5] = cpu->r[5] + 0x000037D8u;
|
|
/* 02499CE4 */ _t83 = cpu->r[1] + 0x000000DCu;
|
|
/* 02499CE4 */ rbrew_write32(cpu->mem, _t83, cpu->r[10]);
|
|
/* 02499CE8 */ cpu->ctr = cpu->r[7];
|
|
/* 02499CEC */ _t84 = cpu->r[1] + 0x000000D8u;
|
|
/* 02499CEC */ rbrew_write32(cpu->mem, _t84, cpu->r[8]);
|
|
L_02499CF0: ; // 0x2499cf0
|
|
/* 02499CF0 */ _t85 = cpu->r[5] + 0x00000004u;
|
|
/* 02499CF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02499CF4 */ _t86 = cpu->r[6] + 0x00000004u;
|
|
/* 02499CF4 */ rbrew_write32(cpu->mem, _t86, cpu->r[10]);
|
|
/* 02499CF8 */ _t87 = cpu->r[5] + 0x00000008u;
|
|
/* 02499CF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02499CFC */ _t88 = cpu->r[6] + 0x00000008u;
|
|
/* 02499CFC */ rbrew_write32(cpu->mem, _t88, cpu->r[0]);
|
|
/* 02499D00 */ _t89 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02499D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02499D00 */ cpu->r[5] = _t89;
|
|
/* 02499D04 */ _t90 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02499D04 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02499D04 */ cpu->r[6] = _t90;
|
|
/* 02499D08 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02499D08 */ _t91 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02499D08 */ _t92 = _t91 >> (0x00000002u & 31u);
|
|
/* 02499D08 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02499D08 */ if (_t93) goto L_02499CF0; else goto L_02499D0C;
|
|
L_02499D0C: ; // 0x2499d0c
|
|
/* 02499D0C */ _t94 = cpu->r[29] + 0x0000024Cu;
|
|
/* 02499D0C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02499D10 */ _t95 = cpu->r[30] + 0x00000080u;
|
|
/* 02499D10 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02499D14 */ /* nop */
|
|
/* 02499D18 */ cpu->f[10] = cpu->f[11] - cpu->f[12];
|
|
/* 02499D1C */ /* nop */
|
|
/* 02499D20 */ _t96 = cpu->r[31] + 0x00000004u;
|
|
/* 02499D20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02499D24 */ /* nop */
|
|
/* 02499D28 */ _t97 = cpu->r[1] + 0x00000060u;
|
|
/* 02499D28 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[10]);
|
|
/* 02499D2C */ _t98 = cpu->r[1] + 0x00000060u;
|
|
/* 02499D2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02499D30 */ /* nop */
|
|
/* 02499D34 */ _t99 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02499D34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02499D38 */ _t100 = cpu->r[1] + 0x00000058u;
|
|
/* 02499D38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02499D3C */ _t101 = cpu->r[1] + 0x00000018u;
|
|
/* 02499D3C */ rbrew_write32(cpu->mem, _t101, cpu->r[11]);
|
|
/* 02499D40 */ _t102 = cpu->r[1] + 0x00000018u;
|
|
/* 02499D40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 02499D44 */ _t103 = cpu->r[1] + 0x00000014u;
|
|
/* 02499D44 */ rbrew_write32(cpu->mem, _t103, cpu->r[10]);
|
|
/* 02499D48 */ _t104 = cpu->r[1] + 0x00000014u;
|
|
/* 02499D48 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 02499D4C */ cpu->f[13] = cpu->f[13] * cpu->f[13];
|
|
/* 02499D50 */ _t105 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02499D50 */ rbrew_write32(cpu->mem, _t105, cpu->r[12]);
|
|
/* 02499D54 */ _t106 = cpu->r[31] + 0x00000000u;
|
|
/* 02499D54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02499D58 */ cpu->f[0] = fma(cpu->f[9], cpu->f[9], cpu->f[13]);
|
|
/* 02499D5C */ _t107 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02499D5C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02499D60 */ _t108 = cpu->r[31] + 0x00000008u;
|
|
/* 02499D60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02499D64 */ cpu->f[7] = fma(cpu->f[8], cpu->f[8], cpu->f[0]);
|
|
/* 02499D68 */ _t109 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02499D68 */ rbrew_write32(cpu->mem, _t109, cpu->r[12]);
|
|
/* 02499D6C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]);
|
|
/* 02499D70 */ _t110 = cpu->r[1] + 0x00000114u;
|
|
/* 02499D70 */ rbrew_write32(cpu->mem, _t110, cpu->r[0]);
|
|
/* 02499D74 */ _t111 = cpu->r[1] + 0x00000110u;
|
|
/* 02499D74 */ rbrew_write32(cpu->mem, _t111, cpu->r[6]);
|
|
/* 02499D78 */ _t112 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02499D78 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02499D78 */ if (_t113) goto L_02499DBC; else goto L_02499D7C;
|
|
L_02499D7C: ; // 0x2499d7c
|
|
/* 02499D7C */ /* nop */
|
|
/* 02499D80 */ /* nop */
|
|
/* 02499D84 */ /* nop */
|
|
/* 02499D88 */ _t114 = cpu->r[29] + 0x00000308u;
|
|
/* 02499D88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 02499D8C */ /* nop */
|
|
/* 02499D90 */ cpu->f[1] = fma(cpu->f[0], cpu->f[8], cpu->f[11]);
|
|
/* 02499D94 */ cpu->r[4] = cpu->r[1] + 0x000000D8u;
|
|
/* 02499D98 */ cpu->r[3] = cpu->r[30];
|
|
/* 02499D9C */ Gambit_fn_024997AC(cpu);
|
|
/* 02499DA0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02499DA4 */ cpu->r[4] = cpu->r[1] + 0x000000D8u;
|
|
/* 02499DA8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02499DAC */ Gambit_fn_027DE678(cpu);
|
|
/* 02499DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02499DB4 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499DB4 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02499DB4 */ if (_t116) goto L_0249A0F4; else goto L_02499DB8;
|
|
L_02499DB8: ; // 0x2499db8
|
|
/* 02499DB8 */ goto L_02499E24;
|
|
L_02499DBC: ; // 0x2499dbc
|
|
/* 02499DBC */ cpu->r[10] = 0x100B0000u;
|
|
/* 02499DC0 */ _t117 = cpu->r[10] + 0xFFFFB120u;
|
|
/* 02499DC0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02499DC4 */ _ft118 = sqrt(cpu->f[7]);
|
|
/* 02499DC4 */ _ft119 = (double)(int32_t)0x00000001u;
|
|
/* 02499DC4 */ cpu->f[9] = _ft119 / _ft118;
|
|
/* 02499DC8 */ cpu->f[10] = cpu->f[9] * cpu->f[9];
|
|
/* 02499DCC */ cpu->f[11] = cpu->f[9] * cpu->f[30];
|
|
/* 02499DD0 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[7], -(cpu->f[12]));
|
|
/* 02499DD4 */ cpu->f[9] = cpu->f[10] * cpu->f[11];
|
|
/* 02499DD8 */ _t120 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02499DD8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 02499DDC */ /* nop */
|
|
/* 02499DE0 */ cpu->f[8] = cpu->f[8] * cpu->f[9];
|
|
/* 02499DE4 */ /* nop */
|
|
/* 02499DE8 */ /* nop */
|
|
/* 02499DEC */ /* nop */
|
|
/* 02499DF0 */ _t121 = cpu->r[29] + 0x00000308u;
|
|
/* 02499DF0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 02499DF4 */ /* nop */
|
|
/* 02499DF8 */ cpu->f[1] = fma(cpu->f[0], cpu->f[8], cpu->f[11]);
|
|
/* 02499DFC */ _t122 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02499DFC */ rbrew_write_f32(cpu->mem, _t122, cpu->f[8]);
|
|
/* 02499E00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02499E04 */ cpu->r[4] = cpu->r[1] + 0x000000D8u;
|
|
/* 02499E08 */ Gambit_fn_024997AC(cpu);
|
|
/* 02499E0C */ cpu->r[5] = 0x00000000u;
|
|
/* 02499E10 */ cpu->r[4] = cpu->r[1] + 0x000000D8u;
|
|
/* 02499E14 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02499E18 */ Gambit_fn_027DE678(cpu);
|
|
/* 02499E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02499E20 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499E20 */ _t124 = _t123 & 0x00000001u;
|
|
/* 02499E20 */ if (_t124) goto L_0249A0F4; else goto L_02499E24;
|
|
L_02499E24: ; // 0x2499e24
|
|
/* 02499E24 */ _t125 = cpu->r[30] + 0x000002FCu;
|
|
/* 02499E24 */ cpu->r[28] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02499E28 */ cpu->r[3] = cpu->r[30];
|
|
/* 02499E2C */ cpu->r[27] = cpu->r[28] + 0x00000054u;
|
|
/* 02499E30 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02499E34 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02499E38 */ _t126 = cpu->r[8] + 0x000000A0u;
|
|
/* 02499E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02499E38 */ cpu->r[8] = _t126;
|
|
/* 02499E3C */ cpu->r[4] = 0x101D0000u;
|
|
/* 02499E40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02499E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02499E48 */ cpu->r[4] = cpu->r[4] + 0x000006D0u;
|
|
/* 02499E4C */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499E4C */ _t128 = _t127 & 0x00000001u;
|
|
/* 02499E4C */ if (_t128) goto L_02499E50; else goto L_02499E64;
|
|
L_02499E50: ; // 0x2499e50
|
|
/* 02499E50 */ cpu->r[6] = 0x100B0000u;
|
|
/* 02499E54 */ cpu->r[5] = 0x00000001u;
|
|
/* 02499E58 */ cpu->r[6] = cpu->r[6] + 0xFFFFAE64u;
|
|
/* 02499E5C */ _t129 = cpu->r[8] + 0x00000000u;
|
|
/* 02499E5C */ rbrew_write32(cpu->mem, _t129, cpu->r[5]);
|
|
/* 02499E60 */ _t130 = cpu->r[4] + 0x00000000u;
|
|
/* 02499E60 */ rbrew_write32(cpu->mem, _t130, cpu->r[6]);
|
|
L_02499E64: ; // 0x2499e64
|
|
/* 02499E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02499E68 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499E68 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02499E68 */ if (_t132) goto L_02499E88; else goto L_02499E6C;
|
|
L_02499E6C: ; // 0x2499e6c
|
|
/* 02499E6C */ _t133 = cpu->r[31] + 0x00000000u;
|
|
/* 02499E6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02499E70 */ _t134 = cpu->r[8] + 0x0000006Cu;
|
|
/* 02499E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02499E74 */ cpu->ctr = cpu->r[0];
|
|
/* 02499E78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02499E7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02499E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02499E84 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499E84 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02499E84 */ if (_t136) goto L_02499E88; else goto L_02499E8C;
|
|
L_02499E88: ; // 0x2499e88
|
|
/* 02499E88 */ cpu->r[31] = 0x00000000u;
|
|
L_02499E8C: ; // 0x2499e8c
|
|
/* 02499E8C */ _t137 = cpu->r[31] + 0x0000035Cu;
|
|
/* 02499E8C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 02499E90 */ /* nop */
|
|
/* 02499E94 */ /* nop */
|
|
/* 02499E98 */ /* nop */
|
|
/* 02499E9C */ _t138 = cpu->r[27] + 0x00000014u;
|
|
/* 02499E9C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 02499EA0 */ _t139 = cpu->r[1] + 0x00000064u;
|
|
/* 02499EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02499EA4 */ _t140 = cpu->r[1] + 0x00000068u;
|
|
/* 02499EA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02499EA8 */ cpu->f[0] = cpu->f[7] * cpu->f[8];
|
|
/* 02499EAC */ _t141 = cpu->r[1] + 0x000000B4u;
|
|
/* 02499EAC */ rbrew_write32(cpu->mem, _t141, cpu->r[0]);
|
|
/* 02499EB0 */ _t142 = cpu->r[1] + 0x000000B8u;
|
|
/* 02499EB0 */ rbrew_write32(cpu->mem, _t142, cpu->r[8]);
|
|
/* 02499EB4 */ _t143 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02499EB4 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[0]);
|
|
/* 02499EB8 */ _t144 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02499EB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02499EBC */ /* nop */
|
|
/* 02499EC0 */ _t145 = cpu->r[1] + 0x000000BCu;
|
|
/* 02499EC0 */ rbrew_write32(cpu->mem, _t145, cpu->r[9]);
|
|
/* 02499EC4 */ /* nop */
|
|
/* 02499EC8 */ _t146 = cpu->r[30] + 0x00000050u;
|
|
/* 02499EC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02499ECC */ /* nop */
|
|
/* 02499ED0 */ /* nop */
|
|
/* 02499ED4 */ _t147 = cpu->r[28] + 0x00000080u;
|
|
/* 02499ED4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 02499ED8 */ _t148 = cpu->r[1] + 0x000000BCu;
|
|
/* 02499ED8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 02499EDC */ _t149 = cpu->r[1] + 0x00000070u;
|
|
/* 02499EDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02499EE0 */ cpu->f[12] = cpu->f[13] + cpu->f[0];
|
|
/* 02499EE4 */ _t150 = cpu->r[1] + 0x00000074u;
|
|
/* 02499EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02499EE8 */ _t151 = cpu->r[1] + 0x00000040u;
|
|
/* 02499EE8 */ rbrew_write32(cpu->mem, _t151, cpu->r[11]);
|
|
/* 02499EEC */ _t152 = cpu->r[1] + 0x00000078u;
|
|
/* 02499EEC */ rbrew_write_f32(cpu->mem, _t152, cpu->f[12]);
|
|
/* 02499EF0 */ _t153 = cpu->r[1] + 0x00000078u;
|
|
/* 02499EF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02499EF4 */ _t154 = cpu->r[1] + 0x00000044u;
|
|
/* 02499EF4 */ rbrew_write32(cpu->mem, _t154, cpu->r[12]);
|
|
/* 02499EF8 */ _t155 = cpu->r[1] + 0x00000048u;
|
|
/* 02499EF8 */ rbrew_write32(cpu->mem, _t155, cpu->r[0]);
|
|
/* 02499EFC */ _t156 = cpu->r[5] + 0x000046C0u;
|
|
/* 02499EFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02499F00 */ _t157 = cpu->r[30] + 0x000002FCu;
|
|
/* 02499F00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02499F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 02499F08 */ cpu->r[31] = 0x00000000u;
|
|
/* 02499F0C */ _t158 = cpu->r[9] + 0x000001A8u;
|
|
/* 02499F0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02499F10 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499F10 */ _t160 = _t159 & 0x00000001u;
|
|
/* 02499F10 */ if (_t160) goto L_02499F14; else goto L_02499F18;
|
|
L_02499F14: ; // 0x2499f14
|
|
/* 02499F14 */ cpu->r[31] = 0x00000004u;
|
|
L_02499F18: ; // 0x2499f18
|
|
/* 02499F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02499F1C */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499F1C */ _t162 = _t161 & 0x00000001u;
|
|
/* 02499F1C */ if (_t162) goto L_0249A0C4; else goto L_02499F20;
|
|
L_02499F20: ; // 0x2499f20
|
|
/* 02499F20 */ _t163 = cpu->r[9] + 0x000001A8u;
|
|
/* 02499F20 */ cpu->r[5] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02499F24 */ _t164 = cpu->r[5] + 0x00000000u;
|
|
/* 02499F24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02499F28 */ _t165 = cpu->r[11] + 0x00000134u;
|
|
/* 02499F28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02499F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02499F30 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499F30 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02499F30 */ if (_t167) goto L_0249A0C4; else goto L_02499F34;
|
|
L_02499F34: ; // 0x2499f34
|
|
/* 02499F34 */ _t168 = cpu->r[9] + 0x000001A8u;
|
|
/* 02499F34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02499F38 */ _t169 = cpu->r[12] + 0x00000000u;
|
|
/* 02499F38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02499F3C */ _t170 = cpu->r[8] + 0x00000134u;
|
|
/* 02499F3C */ cpu->r[5] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02499F40 */ _t171 = cpu->r[5] + 0x00000000u;
|
|
/* 02499F40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02499F44 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02499F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02499F48 */ /* nop */
|
|
/* 02499F4C */ _t172 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02499F4C */ _t173 = _t172 & 0x00000001u;
|
|
/* 02499F4C */ if (_t173) goto L_0249A028; else goto L_02499F50;
|
|
L_02499F50: ; // 0x2499f50
|
|
/* 02499F50 */ _t174 = cpu->r[5] + 0x00000030u;
|
|
/* 02499F50 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t174);
|
|
/* 02499F54 */ _t175 = cpu->r[1] + 0x00000048u;
|
|
/* 02499F54 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t175);
|
|
/* 02499F58 */ cpu->f[13] = cpu->f[0] - cpu->f[8];
|
|
/* 02499F5C */ /* nop */
|
|
/* 02499F60 */ _t176 = cpu->r[1] + 0x000000D4u;
|
|
/* 02499F60 */ rbrew_write_f32(cpu->mem, _t176, cpu->f[13]);
|
|
/* 02499F64 */ /* nop */
|
|
/* 02499F68 */ /* nop */
|
|
/* 02499F6C */ /* nop */
|
|
/* 02499F70 */ /* nop */
|
|
/* 02499F74 */ /* nop */
|
|
/* 02499F78 */ cpu->f[6] = cpu->f[12];
|
|
/* 02499F7C */ /* nop */
|
|
/* 02499F80 */ /* nop */
|
|
/* 02499F84 */ /* nop */
|
|
/* 02499F88 */ cpu->f[0] = cpu->f[11];
|
|
/* 02499F8C */ cpu->r[7] = 0x100B0000u;
|
|
/* 02499F90 */ /* nop */
|
|
/* 02499F94 */ _t177 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02499F94 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t177);
|
|
/* 02499F98 */ /* nop */
|
|
/* 02499F9C */ _t178 = cpu->r[5] + 0x00000024u;
|
|
/* 02499F9C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t178);
|
|
/* 02499FA0 */ cpu->f[11] = fma(cpu->f[13], cpu->f[8], cpu->f[6]);
|
|
/* 02499FA4 */ _t179 = cpu->r[5] + 0x00000018u;
|
|
/* 02499FA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t179);
|
|
/* 02499FA8 */ cpu->f[8] = fma(cpu->f[13], cpu->f[10], cpu->f[0]);
|
|
/* 02499FAC */ _t180 = cpu->r[7] + 0xFFFFAF68u;
|
|
/* 02499FAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t180);
|
|
/* 02499FB0 */ cpu->f[7] = fma(cpu->f[13], cpu->f[12], cpu->f[7]);
|
|
/* 02499FB4 */ _t181 = cpu->r[5] + 0x00000034u;
|
|
/* 02499FB4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t181);
|
|
/* 02499FB8 */ cpu->f[13] = cpu->f[0] / cpu->f[13];
|
|
/* 02499FBC */ cpu->f[0] = cpu->f[11] * cpu->f[13];
|
|
/* 02499FC0 */ cpu->f[7] = cpu->f[7] * cpu->f[13];
|
|
/* 02499FC4 */ _t182 = cpu->r[1] + 0x00000008u;
|
|
/* 02499FC4 */ rbrew_write_f32(cpu->mem, _t182, cpu->f[0]);
|
|
/* 02499FC8 */ _t183 = cpu->r[1] + 0x00000008u;
|
|
/* 02499FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02499FCC */ cpu->f[9] = cpu->f[8] * cpu->f[13];
|
|
/* 02499FD0 */ _t184 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02499FD0 */ rbrew_write_f32(cpu->mem, _t184, cpu->f[7]);
|
|
/* 02499FD4 */ _t185 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02499FD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t185);
|
|
/* 02499FD8 */ _t186 = cpu->r[1] + 0x00000010u;
|
|
/* 02499FD8 */ rbrew_write_f32(cpu->mem, _t186, cpu->f[9]);
|
|
/* 02499FDC */ _t187 = cpu->r[1] + 0x00000010u;
|
|
/* 02499FDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02499FE0 */ _t188 = cpu->r[1] + 0x000000C4u;
|
|
/* 02499FE0 */ rbrew_write32(cpu->mem, _t188, cpu->r[6]);
|
|
/* 02499FE4 */ _t189 = cpu->r[1] + 0x000000C8u;
|
|
/* 02499FE4 */ rbrew_write32(cpu->mem, _t189, cpu->r[7]);
|
|
/* 02499FE8 */ _t190 = cpu->r[1] + 0x000000C0u;
|
|
/* 02499FE8 */ rbrew_write32(cpu->mem, _t190, cpu->r[0]);
|
|
/* 02499FEC */ _t191 = cpu->r[8] + 0x00000134u;
|
|
/* 02499FEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t191);
|
|
/* 02499FF0 */ Gambit_fn_02043A74(cpu);
|
|
/* 02499FF4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02499FF8 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02499FFC */ cpu->r[4] = cpu->r[1] + 0x000000C0u;
|
|
/* 0249A000 */ cpu->r[7] = cpu->r[31];
|
|
/* 0249A004 */ cpu->r[3] = cpu->r[29];
|
|
/* 0249A008 */ Gambit_fn_025C7E9C(cpu);
|
|
/* 0249A00C */ _t192 = cpu->r[30] + 0x000002FCu;
|
|
/* 0249A00C */ cpu->r[3] = rbrew_read32(cpu->mem, _t192);
|
|
/* 0249A010 */ cpu->r[4] = cpu->r[29];
|
|
/* 0249A014 */ _t193 = cpu->r[30] + 0x00000318u;
|
|
/* 0249A014 */ rbrew_write32(cpu->mem, _t193, cpu->r[29]);
|
|
/* 0249A018 */ Gambit_fn_024993EC(cpu);
|
|
/* 0249A01C */ cpu->r[11] = 0x00000001u;
|
|
/* 0249A020 */ _t194 = cpu->r[30] + 0x00000320u;
|
|
/* 0249A020 */ rbrew_write8(cpu->mem, _t194, (uint8_t)cpu->r[11]);
|
|
/* 0249A024 */ goto L_0249A0F4;
|
|
L_0249A028: ; // 0x249a028
|
|
/* 0249A028 */ /* nop */
|
|
/* 0249A02C */ /* nop */
|
|
/* 0249A030 */ cpu->r[7] = 0x100B0000u;
|
|
/* 0249A034 */ /* nop */
|
|
/* 0249A038 */ _t195 = cpu->r[5] + 0x00000034u;
|
|
/* 0249A038 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t195);
|
|
/* 0249A03C */ _t196 = cpu->r[7] + 0xFFFFAF68u;
|
|
/* 0249A03C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t196);
|
|
/* 0249A040 */ _t197 = cpu->r[5] + 0x00000030u;
|
|
/* 0249A040 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t197);
|
|
/* 0249A044 */ cpu->f[13] = cpu->f[0] / cpu->f[13];
|
|
/* 0249A048 */ _t198 = cpu->r[1] + 0x00000008u;
|
|
/* 0249A048 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t198);
|
|
/* 0249A04C */ _t199 = cpu->r[1] + 0x00000048u;
|
|
/* 0249A04C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t199);
|
|
/* 0249A050 */ cpu->f[0] = cpu->f[11] * cpu->f[13];
|
|
/* 0249A054 */ _t200 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A054 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t200);
|
|
/* 0249A058 */ cpu->f[8] = cpu->f[10] - cpu->f[12];
|
|
/* 0249A05C */ cpu->f[7] = cpu->f[7] * cpu->f[13];
|
|
/* 0249A060 */ _t201 = cpu->r[1] + 0x00000008u;
|
|
/* 0249A060 */ rbrew_write_f32(cpu->mem, _t201, cpu->f[0]);
|
|
/* 0249A064 */ _t202 = cpu->r[1] + 0x00000008u;
|
|
/* 0249A064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t202);
|
|
/* 0249A068 */ _t203 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A068 */ rbrew_write_f32(cpu->mem, _t203, cpu->f[7]);
|
|
/* 0249A06C */ cpu->f[9] = cpu->f[8] * cpu->f[13];
|
|
/* 0249A070 */ _t204 = cpu->r[1] + 0x000000C0u;
|
|
/* 0249A070 */ rbrew_write32(cpu->mem, _t204, cpu->r[0]);
|
|
/* 0249A074 */ _t205 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A074 */ cpu->r[6] = rbrew_read32(cpu->mem, _t205);
|
|
/* 0249A078 */ _t206 = cpu->r[1] + 0x00000010u;
|
|
/* 0249A078 */ rbrew_write_f32(cpu->mem, _t206, cpu->f[9]);
|
|
/* 0249A07C */ _t207 = cpu->r[1] + 0x00000010u;
|
|
/* 0249A07C */ cpu->r[7] = rbrew_read32(cpu->mem, _t207);
|
|
/* 0249A080 */ _t208 = cpu->r[1] + 0x000000C4u;
|
|
/* 0249A080 */ rbrew_write32(cpu->mem, _t208, cpu->r[6]);
|
|
/* 0249A084 */ _t209 = cpu->r[1] + 0x000000C8u;
|
|
/* 0249A084 */ rbrew_write32(cpu->mem, _t209, cpu->r[7]);
|
|
/* 0249A088 */ _t210 = cpu->r[8] + 0x00000134u;
|
|
/* 0249A088 */ cpu->r[3] = rbrew_read32(cpu->mem, _t210);
|
|
/* 0249A08C */ Gambit_fn_02043A74(cpu);
|
|
/* 0249A090 */ cpu->r[5] = cpu->r[3];
|
|
/* 0249A094 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 0249A098 */ cpu->r[4] = cpu->r[1] + 0x000000C0u;
|
|
/* 0249A09C */ cpu->r[7] = cpu->r[31];
|
|
/* 0249A0A0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0249A0A4 */ Gambit_fn_025C7E9C(cpu);
|
|
/* 0249A0A8 */ _t211 = cpu->r[30] + 0x000002FCu;
|
|
/* 0249A0A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t211);
|
|
/* 0249A0AC */ cpu->r[4] = cpu->r[29];
|
|
/* 0249A0B0 */ _t212 = cpu->r[30] + 0x00000318u;
|
|
/* 0249A0B0 */ rbrew_write32(cpu->mem, _t212, cpu->r[29]);
|
|
/* 0249A0B4 */ Gambit_fn_024993EC(cpu);
|
|
/* 0249A0B8 */ cpu->r[11] = 0x00000001u;
|
|
/* 0249A0BC */ _t213 = cpu->r[30] + 0x00000320u;
|
|
/* 0249A0BC */ rbrew_write8(cpu->mem, _t213, (uint8_t)cpu->r[11]);
|
|
/* 0249A0C0 */ goto L_0249A0F4;
|
|
L_0249A0C4: ; // 0x249a0c4
|
|
/* 0249A0C4 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 0249A0C8 */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 0249A0CC */ cpu->r[7] = cpu->r[31];
|
|
/* 0249A0D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0249A0D4 */ cpu->r[5] = cpu->r[9] + 0x0000006Cu;
|
|
/* 0249A0D8 */ Gambit_fn_025C7EF8(cpu);
|
|
/* 0249A0DC */ _t214 = cpu->r[30] + 0x000002FCu;
|
|
/* 0249A0DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t214);
|
|
/* 0249A0E0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0249A0E4 */ _t215 = cpu->r[30] + 0x00000318u;
|
|
/* 0249A0E4 */ rbrew_write32(cpu->mem, _t215, cpu->r[29]);
|
|
/* 0249A0E8 */ Gambit_fn_024993EC(cpu);
|
|
/* 0249A0EC */ cpu->r[11] = 0x00000001u;
|
|
/* 0249A0F0 */ _t216 = cpu->r[30] + 0x00000320u;
|
|
/* 0249A0F0 */ rbrew_write8(cpu->mem, _t216, (uint8_t)cpu->r[11]);
|
|
L_0249A0F4: ; // 0x249a0f4
|
|
/* 0249A0F4 */ /* nop */
|
|
/* 0249A0F8 */ _t217 = cpu->r[1] + 0x00000138u;
|
|
/* 0249A0F8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t217);
|
|
/* 0249A0FC */ _t218 = cpu->r[1] + 0x00000148u;
|
|
/* 0249A0FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t218);
|
|
/* 0249A100 */ _t219 = cpu->r[1] + 0x00000130u;
|
|
/* 0249A100 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t219);
|
|
/* 0249A104 */ _t220 = cpu->r[1] + 0x00000140u;
|
|
/* 0249A104 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t220);
|
|
/* 0249A108 */ _t221 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249A108 */ _t222 = _t221 & 0x00000001u;
|
|
/* 0249A108 */ if (_t222) goto L_0249A10C; // else: addr-0 trap, fall-through
|
|
L_0249A10C: ; // 0x249a10c
|
|
/* 0249A10C */ _t223 = cpu->r[1] + 0x00000154u;
|
|
/* 0249A10C */ cpu->r[0] = rbrew_read32(cpu->mem, _t223);
|
|
/* 0249A110 */ cpu->lr = cpu->r[0];
|
|
/* 0249A114 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 0249A118 */ return;
|
|
}
|
|
|
|
// fn_0249A11C @ 0x249a11c
|
|
void Gambit_fn_0249A11C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0249A11C: ; // 0x249a11c
|
|
/* 0249A11C */ cpu->r[0] = cpu->lr;
|
|
/* 0249A120 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249A124 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249A128 */ cpu->r[12] = cpu->r[12] + 0xFFFFB124u;
|
|
/* 0249A12C */ cpu->r[11] = cpu->r[11] + 0xFFFFADD4u;
|
|
/* 0249A130 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0249A134 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0249A134 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0249A138 */ cpu->r[0] = 0x024A0000u;
|
|
/* 0249A13C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0249A13C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0249A13C */ cpu->r[1] = _t1;
|
|
/* 0249A140 */ cpu->r[0] = cpu->r[0] + 0xFFFFA800u;
|
|
/* 0249A144 */ _t2 = cpu->r[3] + 0xFFFF818Cu;
|
|
/* 0249A144 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0249A144 */ cpu->r[3] = _t2;
|
|
/* 0249A148 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249A14C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0249A14C */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0249A150 */ cpu->r[12] = cpu->r[12] + 0xFFFFAEA4u;
|
|
/* 0249A154 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 0249A154 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0249A158 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0249A158 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0249A15C */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249A15C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0249A160 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0249A164 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0249A168 */ cpu->r[3] = cpu->r[3] + 0x0000624Cu;
|
|
/* 0249A16C */ Gambit_fn_02C83090(cpu);
|
|
/* 0249A170 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249A174 */ cpu->lr = cpu->r[0];
|
|
/* 0249A178 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0249A17C */ return;
|
|
}
|
|
|
|
// fn_0249A13C @ 0x249a13c
|
|
void Gambit_fn_0249A13C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0249A13C: ; // 0x249a13c
|
|
/* 0249A13C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0249A13C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249A13C */ cpu->r[1] = _t0;
|
|
/* 0249A140 */ cpu->r[0] = cpu->r[0] + 0xFFFFA800u;
|
|
/* 0249A144 */ _t1 = cpu->r[3] + 0xFFFF818Cu;
|
|
/* 0249A144 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0249A144 */ cpu->r[3] = _t1;
|
|
/* 0249A148 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249A14C */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 0249A14C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0249A150 */ cpu->r[12] = cpu->r[12] + 0xFFFFAEA4u;
|
|
/* 0249A154 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 0249A154 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249A158 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 0249A158 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0249A15C */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249A15C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0249A160 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0249A164 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0249A168 */ cpu->r[3] = cpu->r[3] + 0x0000624Cu;
|
|
/* 0249A16C */ Gambit_fn_02C83090(cpu);
|
|
/* 0249A170 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249A174 */ cpu->lr = cpu->r[0];
|
|
/* 0249A178 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0249A17C */ return;
|
|
}
|
|
|
|
// fn_0249A180 @ 0x249a180
|
|
void Gambit_fn_0249A180(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_0249A180: ; // 0x249a180
|
|
/* 0249A180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249A184 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A184 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249A184 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A184 */ goto L_0249A188;
|
|
L_0249A188: ; // 0x249a188
|
|
/* 0249A188 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249A188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249A18C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A18C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249A18C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A18C */ goto L_0249A190;
|
|
L_0249A190: ; // 0x249a190
|
|
/* 0249A190 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249A194 @ 0x249a194
|
|
void Gambit_fn_0249A194(CPUState* cpu) {
|
|
L_0249A194: ; // 0x249a194
|
|
/* 0249A194 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249A198 */ return;
|
|
}
|
|
|
|
// fn_0249A19C @ 0x249a19c
|
|
void Gambit_fn_0249A19C(CPUState* cpu) {
|
|
L_0249A19C: ; // 0x249a19c
|
|
/* 0249A19C */ return;
|
|
}
|
|
|
|
// fn_0249A1A0 @ 0x249a1a0
|
|
void Gambit_fn_0249A1A0(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_0249A1A0: ; // 0x249a1a0
|
|
/* 0249A1A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249A1A4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A1A4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249A1A4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A1A4 */ goto L_0249A1A8;
|
|
L_0249A1A8: ; // 0x249a1a8
|
|
/* 0249A1A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249A1A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249A1AC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A1AC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249A1AC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A1AC */ goto L_0249A1B0;
|
|
L_0249A1B0: ; // 0x249a1b0
|
|
/* 0249A1B0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249A1B4 @ 0x249a1b4
|
|
void Gambit_fn_0249A1B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0249A1B4: ; // 0x249a1b4
|
|
/* 0249A1B4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0249A1B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249A1B8 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0249A1B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249A1BC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0249A1C0 */ cpu->r[11] = 0x10110000u;
|
|
/* 0249A1C4 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0249A1C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0249A1C8 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0249A1C8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0249A1CC */ return;
|
|
}
|
|
|
|
// fn_0249A1D0 @ 0x249a1d0
|
|
void Gambit_fn_0249A1D0(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_0249A1D0: ; // 0x249a1d0
|
|
/* 0249A1D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249A1D4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A1D4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249A1D4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A1D4 */ goto L_0249A1D8;
|
|
L_0249A1D8: ; // 0x249a1d8
|
|
/* 0249A1D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249A1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249A1DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A1DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249A1DC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A1DC */ goto L_0249A1E0;
|
|
L_0249A1E0: ; // 0x249a1e0
|
|
/* 0249A1E0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249A1E4 @ 0x249a1e4
|
|
void Gambit_fn_0249A1E4(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_0249A1E4: ; // 0x249a1e4
|
|
/* 0249A1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249A1E8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A1E8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249A1E8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A1E8 */ goto L_0249A1EC;
|
|
L_0249A1EC: ; // 0x249a1ec
|
|
/* 0249A1EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249A1EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249A1F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A1F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249A1F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A1F0 */ goto L_0249A1F4;
|
|
L_0249A1F4: ; // 0x249a1f4
|
|
/* 0249A1F4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249A1F8 @ 0x249a1f8
|
|
void Gambit_fn_0249A1F8(CPUState* cpu) {
|
|
L_0249A1F8: ; // 0x249a1f8
|
|
/* 0249A1F8 */ return;
|
|
}
|
|
|
|
// fn_0249A1FC @ 0x249a1fc
|
|
void Gambit_fn_0249A1FC(CPUState* cpu) {
|
|
L_0249A1FC: ; // 0x249a1fc
|
|
/* 0249A1FC */ return;
|
|
}
|
|
|
|
// fn_0249A200 @ 0x249a200
|
|
void Gambit_fn_0249A200(CPUState* cpu) {
|
|
L_0249A200: ; // 0x249a200
|
|
/* 0249A200 */ return;
|
|
}
|
|
|
|
// fn_0249A204 @ 0x249a204
|
|
void Gambit_fn_0249A204(CPUState* cpu) {
|
|
L_0249A204: ; // 0x249a204
|
|
/* 0249A204 */ return;
|
|
}
|
|
|
|
// fn_0249A208 @ 0x249a208
|
|
void Gambit_fn_0249A208(CPUState* cpu) {
|
|
L_0249A208: ; // 0x249a208
|
|
/* 0249A208 */ return;
|
|
}
|
|
|
|
// fn_0249A20C @ 0x249a20c
|
|
void Gambit_fn_0249A20C(CPUState* cpu) {
|
|
L_0249A20C: ; // 0x249a20c
|
|
/* 0249A20C */ return;
|
|
}
|
|
|
|
// fn_0249A210 @ 0x249a210
|
|
void Gambit_fn_0249A210(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249A210: ; // 0x249a210
|
|
/* 0249A210 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249A210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249A214 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249A214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249A218 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A218 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249A218 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0249A218 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A218 */ goto L_0249A21C;
|
|
L_0249A21C: ; // 0x249a21c
|
|
/* 0249A21C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0249A21C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249A220 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0249A220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249A224 */ cpu->ctr = cpu->r[0];
|
|
/* 0249A228 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249A22C @ 0x249a22c
|
|
void Gambit_fn_0249A22C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249A22C: ; // 0x249a22c
|
|
/* 0249A22C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249A22C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249A230 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249A230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249A234 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A234 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249A234 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0249A234 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A234 */ goto L_0249A238;
|
|
L_0249A238: ; // 0x249a238
|
|
/* 0249A238 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0249A238 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249A23C */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0249A23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249A240 */ cpu->ctr = cpu->r[0];
|
|
/* 0249A244 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249A248 @ 0x249a248
|
|
void Gambit_fn_0249A248(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249A248: ; // 0x249a248
|
|
/* 0249A248 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249A248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249A24C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249A24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249A250 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A250 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249A250 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0249A250 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A250 */ goto L_0249A254;
|
|
L_0249A254: ; // 0x249a254
|
|
/* 0249A254 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0249A254 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249A258 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0249A258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249A25C */ cpu->ctr = cpu->r[0];
|
|
/* 0249A260 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249A264 @ 0x249a264
|
|
void Gambit_fn_0249A264(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249A264: ; // 0x249a264
|
|
/* 0249A264 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249A264 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249A268 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0249A268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249A26C */ cpu->ctr = cpu->r[0];
|
|
/* 0249A270 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249A274 @ 0x249a274
|
|
void Gambit_fn_0249A274(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0249A274: ; // 0x249a274
|
|
/* 0249A274 */ cpu->r[0] = cpu->lr;
|
|
/* 0249A278 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249A278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249A278 */ cpu->r[1] = _t0;
|
|
/* 0249A27C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A27C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249A280 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249A284 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249A284 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249A288 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249A288 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249A28C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0249A290 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A290 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249A290 */ if (_t5) goto L_0249A294; else goto L_0249A2B0;
|
|
L_0249A294: ; // 0x249a294
|
|
/* 0249A294 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0249A294 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249A298 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0249A298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249A29C */ cpu->ctr = cpu->r[0];
|
|
/* 0249A2A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249A2A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249A2A8 */ cpu->r[0] = 0x00000002u;
|
|
/* 0249A2AC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249A2AC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0249A2B0: ; // 0x249a2b0
|
|
/* 0249A2B0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0249A2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249A2B4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A2B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249A2B8 */ cpu->lr = cpu->r[0];
|
|
/* 0249A2BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249A2C0 */ return;
|
|
}
|
|
|
|
// fn_0249A278 @ 0x249a278
|
|
void Gambit_fn_0249A278(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0249A278: ; // 0x249a278
|
|
/* 0249A278 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249A278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249A278 */ cpu->r[1] = _t0;
|
|
/* 0249A27C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A27C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249A280 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249A284 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249A284 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249A288 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249A288 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249A28C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0249A290 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A290 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249A290 */ if (_t5) goto L_0249A294; else goto L_0249A2B0;
|
|
L_0249A294: ; // 0x249a294
|
|
/* 0249A294 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0249A294 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249A298 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0249A298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249A29C */ cpu->ctr = cpu->r[0];
|
|
/* 0249A2A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249A2A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249A2A8 */ cpu->r[0] = 0x00000002u;
|
|
/* 0249A2AC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249A2AC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0249A2B0: ; // 0x249a2b0
|
|
/* 0249A2B0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0249A2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249A2B4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A2B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249A2B8 */ cpu->lr = cpu->r[0];
|
|
/* 0249A2BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249A2C0 */ return;
|
|
}
|
|
|
|
// fn_0249A2CC @ 0x249a2cc
|
|
void Gambit_fn_0249A2CC(CPUState* cpu) {
|
|
L_0249A2CC: ; // 0x249a2cc
|
|
/* 0249A2CC */ return;
|
|
}
|
|
|
|
// fn_0249A2D0 @ 0x249a2d0
|
|
void Gambit_fn_0249A2D0(CPUState* cpu) {
|
|
L_0249A2D0: ; // 0x249a2d0
|
|
/* 0249A2D0 */ return;
|
|
}
|
|
|
|
// fn_0249A2D4 @ 0x249a2d4
|
|
void Gambit_fn_0249A2D4(CPUState* cpu) {
|
|
L_0249A2D4: ; // 0x249a2d4
|
|
/* 0249A2D4 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249A2D8 */ return;
|
|
}
|
|
|
|
// fn_0249A2DC @ 0x249a2dc
|
|
void Gambit_fn_0249A2DC(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_0249A2DC: ; // 0x249a2dc
|
|
/* 0249A2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249A2E0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A2E0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249A2E0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A2E0 */ goto L_0249A2E4;
|
|
L_0249A2E4: ; // 0x249a2e4
|
|
/* 0249A2E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249A2E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249A2E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A2E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249A2E8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A2E8 */ goto L_0249A2EC;
|
|
L_0249A2EC: ; // 0x249a2ec
|
|
/* 0249A2EC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249A2F0 @ 0x249a2f0
|
|
void Gambit_fn_0249A2F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249A2F0: ; // 0x249a2f0
|
|
/* 0249A2F0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249A2F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249A2F4 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0249A2F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249A2F8 */ cpu->ctr = cpu->r[0];
|
|
/* 0249A2FC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249A300 @ 0x249a300
|
|
void Gambit_fn_0249A300(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249A300: ; // 0x249a300
|
|
/* 0249A300 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249A300 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249A304 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0249A304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249A308 */ cpu->ctr = cpu->r[0];
|
|
/* 0249A30C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249A310 @ 0x249a310
|
|
void Gambit_fn_0249A310(CPUState* cpu) {
|
|
L_0249A310: ; // 0x249a310
|
|
/* 0249A310 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249A314 */ return;
|
|
}
|
|
|
|
// fn_0249A318 @ 0x249a318
|
|
void Gambit_fn_0249A318(CPUState* cpu) {
|
|
L_0249A318: ; // 0x249a318
|
|
/* 0249A318 */ return;
|
|
}
|
|
|
|
// fn_0249A31C @ 0x249a31c
|
|
void Gambit_fn_0249A31C(CPUState* cpu) {
|
|
L_0249A31C: ; // 0x249a31c
|
|
/* 0249A31C */ return;
|
|
}
|
|
|
|
// fn_0249A320 @ 0x249a320
|
|
void Gambit_fn_0249A320(CPUState* cpu) {
|
|
L_0249A320: ; // 0x249a320
|
|
/* 0249A320 */ return;
|
|
}
|
|
|
|
// fn_0249A324 @ 0x249a324
|
|
void Gambit_fn_0249A324(CPUState* cpu) {
|
|
L_0249A324: ; // 0x249a324
|
|
/* 0249A324 */ return;
|
|
}
|
|
|
|
// fn_0249A328 @ 0x249a328
|
|
void Gambit_fn_0249A328(CPUState* cpu) {
|
|
L_0249A328: ; // 0x249a328
|
|
/* 0249A328 */ return;
|
|
}
|
|
|
|
// fn_0249A32C @ 0x249a32c
|
|
void Gambit_fn_0249A32C(CPUState* cpu) {
|
|
L_0249A32C: ; // 0x249a32c
|
|
/* 0249A32C */ cpu->r[3] = 0x00000001u;
|
|
/* 0249A330 */ return;
|
|
}
|
|
|
|
// fn_0249A334 @ 0x249a334
|
|
void Gambit_fn_0249A334(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249A334: ; // 0x249a334
|
|
/* 0249A334 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0249A338 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 0249A338 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249A338 */ cpu->r[10] = _t0;
|
|
/* 0249A33C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0249A33C */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 0249A340 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0249A340 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0249A344 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0249A344 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0249A348 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 0249A348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249A34C */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0249A34C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0249A350 */ return;
|
|
}
|
|
|
|
// fn_0249A354 @ 0x249a354
|
|
void Gambit_fn_0249A354(CPUState* cpu) {
|
|
L_0249A354: ; // 0x249a354
|
|
/* 0249A354 */ return;
|
|
}
|
|
|
|
// fn_0249A358 @ 0x249a358
|
|
void Gambit_fn_0249A358(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0249A358: ; // 0x249a358
|
|
/* 0249A358 */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 0249A358 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0249A35C */ return;
|
|
}
|
|
|
|
// fn_0249A360 @ 0x249a360
|
|
void Gambit_fn_0249A360(CPUState* cpu) {
|
|
L_0249A360: ; // 0x249a360
|
|
/* 0249A360 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249A364 */ return;
|
|
}
|
|
|
|
// fn_0249A368 @ 0x249a368
|
|
void Gambit_fn_0249A368(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249A368: ; // 0x249a368
|
|
/* 0249A368 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249A368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249A36C */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 0249A36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249A370 */ cpu->ctr = cpu->r[0];
|
|
/* 0249A374 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249A378 @ 0x249a378
|
|
void Gambit_fn_0249A378(CPUState* cpu) {
|
|
L_0249A378: ; // 0x249a378
|
|
/* 0249A378 */ return;
|
|
}
|
|
|
|
// fn_0249A37C @ 0x249a37c
|
|
void Gambit_fn_0249A37C(CPUState* cpu) {
|
|
L_0249A37C: ; // 0x249a37c
|
|
/* 0249A37C */ return;
|
|
}
|
|
|
|
// fn_0249A380 @ 0x249a380
|
|
void Gambit_fn_0249A380(CPUState* cpu) {
|
|
L_0249A380: ; // 0x249a380
|
|
/* 0249A380 */ return;
|
|
}
|
|
|
|
// fn_0249A384 @ 0x249a384
|
|
void Gambit_fn_0249A384(CPUState* cpu) {
|
|
L_0249A384: ; // 0x249a384
|
|
/* 0249A384 */ return;
|
|
}
|
|
|
|
// fn_0249A388 @ 0x249a388
|
|
void Gambit_fn_0249A388(CPUState* cpu) {
|
|
L_0249A388: ; // 0x249a388
|
|
/* 0249A388 */ return;
|
|
}
|
|
|
|
// fn_0249A38C @ 0x249a38c
|
|
void Gambit_fn_0249A38C(CPUState* cpu) {
|
|
L_0249A38C: ; // 0x249a38c
|
|
/* 0249A38C */ return;
|
|
}
|
|
|
|
// fn_0249A390 @ 0x249a390
|
|
void Gambit_fn_0249A390(CPUState* cpu) {
|
|
L_0249A390: ; // 0x249a390
|
|
/* 0249A390 */ return;
|
|
}
|
|
|
|
// fn_0249A394 @ 0x249a394
|
|
void Gambit_fn_0249A394(CPUState* cpu) {
|
|
L_0249A394: ; // 0x249a394
|
|
/* 0249A394 */ return;
|
|
}
|
|
|
|
// fn_0249A398 @ 0x249a398
|
|
void Gambit_fn_0249A398(CPUState* cpu) {
|
|
L_0249A398: ; // 0x249a398
|
|
/* 0249A398 */ return;
|
|
}
|
|
|
|
// fn_0249A39C @ 0x249a39c
|
|
void Gambit_fn_0249A39C(CPUState* cpu) {
|
|
L_0249A39C: ; // 0x249a39c
|
|
/* 0249A39C */ return;
|
|
}
|
|
|
|
// fn_0249A3A0 @ 0x249a3a0
|
|
void Gambit_fn_0249A3A0(CPUState* cpu) {
|
|
L_0249A3A0: ; // 0x249a3a0
|
|
/* 0249A3A0 */ return;
|
|
}
|
|
|
|
// fn_0249A3A4 @ 0x249a3a4
|
|
void Gambit_fn_0249A3A4(CPUState* cpu) {
|
|
L_0249A3A4: ; // 0x249a3a4
|
|
/* 0249A3A4 */ return;
|
|
}
|
|
|
|
// fn_0249A3A8 @ 0x249a3a8
|
|
void Gambit_fn_0249A3A8(CPUState* cpu) {
|
|
L_0249A3A8: ; // 0x249a3a8
|
|
/* 0249A3A8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249A3AC */ return;
|
|
}
|
|
|
|
// fn_0249A3B0 @ 0x249a3b0
|
|
void Gambit_fn_0249A3B0(CPUState* cpu) {
|
|
L_0249A3B0: ; // 0x249a3b0
|
|
/* 0249A3B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249A3B4 */ return;
|
|
}
|
|
|
|
// fn_0249A3B8 @ 0x249a3b8
|
|
void Gambit_fn_0249A3B8(CPUState* cpu) {
|
|
L_0249A3B8: ; // 0x249a3b8
|
|
/* 0249A3B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249A3BC */ return;
|
|
}
|
|
|
|
// fn_0249A3C0 @ 0x249a3c0
|
|
void Gambit_fn_0249A3C0(CPUState* cpu) {
|
|
L_0249A3C0: ; // 0x249a3c0
|
|
/* 0249A3C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249A3C4 */ return;
|
|
}
|
|
|
|
// fn_0249A3C8 @ 0x249a3c8
|
|
void Gambit_fn_0249A3C8(CPUState* cpu) {
|
|
L_0249A3C8: ; // 0x249a3c8
|
|
/* 0249A3C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249A3CC */ return;
|
|
}
|
|
|
|
// fn_0249A3D0 @ 0x249a3d0
|
|
void Gambit_fn_0249A3D0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0249A3D0: ; // 0x249a3d0
|
|
/* 0249A3D0 */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 0249A3D0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0249A3D4 */ return;
|
|
}
|
|
|
|
// fn_0249A3D8 @ 0x249a3d8
|
|
void Gambit_fn_0249A3D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249A3D8: ; // 0x249a3d8
|
|
/* 0249A3D8 */ _t0 = cpu->r[4] + 0x00000078u;
|
|
/* 0249A3D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249A3DC */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0249A3DC */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0249A3E0 */ _t2 = cpu->r[4] + 0x0000007Cu;
|
|
/* 0249A3E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0249A3E4 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0249A3E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249A3E8 */ _t4 = cpu->r[4] + 0x00000080u;
|
|
/* 0249A3E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249A3EC */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0249A3EC */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0249A3F0 */ return;
|
|
}
|
|
|
|
// fn_0249A3F4 @ 0x249a3f4
|
|
void Gambit_fn_0249A3F4(CPUState* cpu) {
|
|
L_0249A3F4: ; // 0x249a3f4
|
|
/* 0249A3F4 */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249A3F8 */ cpu->r[3] = cpu->r[3] + 0xFFFFAEB4u;
|
|
/* 0249A3FC */ return;
|
|
}
|
|
|
|
// fn_0249A400 @ 0x249a400
|
|
void Gambit_fn_0249A400(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0249A400: ; // 0x249a400
|
|
/* 0249A400 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0249A404 */ _t0 = cpu->r[9] + 0x00000094u;
|
|
/* 0249A404 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249A408 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0249A40C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0249A410 */ cpu->r[11] = cpu->r[11] + 0x000006C4u;
|
|
/* 0249A414 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A414 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249A414 */ if (_t2) goto L_0249A418; else goto L_0249A430;
|
|
L_0249A418: ; // 0x249a418
|
|
/* 0249A418 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249A41C */ cpu->r[0] = 0x00000001u;
|
|
/* 0249A420 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249A424 */ cpu->r[9] = cpu->r[9] + 0xFFFFAE94u;
|
|
/* 0249A428 */ _t3 = cpu->r[12] + 0x00000094u;
|
|
/* 0249A428 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249A42C */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 0249A42C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_0249A430: ; // 0x249a430
|
|
/* 0249A430 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 0249A434 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A434 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0249A434 */ if (_t6) goto L_0249A438; else goto L_0249A440;
|
|
L_0249A438: ; // 0x249a438
|
|
/* 0249A438 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249A43C */ return;
|
|
L_0249A440: ; // 0x249a440
|
|
/* 0249A440 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249A444 */ _t7 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 0249A444 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249A448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249A44C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249A450 */ cpu->r[12] = cpu->r[12] + 0xFFFFFBBCu;
|
|
/* 0249A454 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A454 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0249A454 */ if (_t9) goto L_0249A458; else goto L_0249A470;
|
|
L_0249A458: ; // 0x249a458
|
|
/* 0249A458 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249A45C */ cpu->r[10] = 0x00000001u;
|
|
/* 0249A460 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0249A464 */ cpu->r[11] = cpu->r[11] + 0xFFFFAE44u;
|
|
/* 0249A468 */ _t10 = cpu->r[9] + 0xFFFFDA10u;
|
|
/* 0249A468 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0249A46C */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 0249A46C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_0249A470: ; // 0x249a470
|
|
/* 0249A470 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0249A474 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A474 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249A474 */ if (_t13) goto L_0249A478; else goto L_0249A480;
|
|
L_0249A478: ; // 0x249a478
|
|
/* 0249A478 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249A47C */ goto L_0249A4F4;
|
|
L_0249A480: ; // 0x249a480
|
|
/* 0249A480 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249A484 */ _t14 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 0249A484 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249A484 */ cpu->r[10] = _t14;
|
|
/* 0249A488 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0249A48C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249A490 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4ECu;
|
|
/* 0249A494 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A494 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0249A494 */ if (_t16) goto L_0249A498; else goto L_0249A4AC;
|
|
L_0249A498: ; // 0x249a498
|
|
/* 0249A498 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249A49C */ cpu->r[0] = 0x00000001u;
|
|
/* 0249A4A0 */ cpu->r[9] = cpu->r[9] + 0xFFFFAE34u;
|
|
/* 0249A4A4 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 0249A4A4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 0249A4A8 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 0249A4A8 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_0249A4AC: ; // 0x249a4ac
|
|
/* 0249A4AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 0249A4B0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A4B0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0249A4B0 */ if (_t20) goto L_0249A4B4; else goto L_0249A4BC;
|
|
L_0249A4B4: ; // 0x249a4b4
|
|
/* 0249A4B4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249A4B8 */ goto L_0249A4F4;
|
|
L_0249A4BC: ; // 0x249a4bc
|
|
/* 0249A4BC */ cpu->r[9] = 0x101D0000u;
|
|
/* 0249A4C0 */ _t21 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 0249A4C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249A4C0 */ cpu->r[9] = _t21;
|
|
/* 0249A4C4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249A4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0249A4CC */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 0249A4D0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A4D0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0249A4D0 */ if (_t23) goto L_0249A4D4; else goto L_0249A4E8;
|
|
L_0249A4D4: ; // 0x249a4d4
|
|
/* 0249A4D4 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249A4D8 */ cpu->r[11] = 0x00000001u;
|
|
/* 0249A4DC */ cpu->r[0] = cpu->r[0] + 0xFFFFADC4u;
|
|
/* 0249A4E0 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 0249A4E0 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0249A4E4 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 0249A4E4 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_0249A4E8: ; // 0x249a4e8
|
|
/* 0249A4E8 */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 0249A4EC */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 0249A4F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0249A4F4: ; // 0x249a4f4
|
|
/* 0249A4F4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0249A4F8 */ return;
|
|
}
|
|
|
|
// fn_0249A4FC @ 0x249a4fc
|
|
void Gambit_fn_0249A4FC(CPUState* cpu) {
|
|
L_0249A4FC: ; // 0x249a4fc
|
|
/* 0249A4FC */ cpu->r[3] = cpu->r[3] + 0x000002C0u;
|
|
/* 0249A500 */ return;
|
|
}
|
|
|
|
// fn_0249A504 @ 0x249a504
|
|
void Gambit_fn_0249A504(CPUState* cpu) {
|
|
L_0249A504: ; // 0x249a504
|
|
/* 0249A504 */ cpu->r[3] = cpu->r[3] + 0x000002F0u;
|
|
/* 0249A508 */ return;
|
|
}
|
|
|
|
// fn_0249A50C @ 0x249a50c
|
|
void Gambit_fn_0249A50C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0249A50C: ; // 0x249a50c
|
|
/* 0249A50C */ cpu->r[0] = cpu->lr;
|
|
/* 0249A510 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249A510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249A510 */ cpu->r[1] = _t0;
|
|
/* 0249A514 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A514 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249A518 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249A51C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249A51C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249A520 */ _t3 = cpu->r[31] + 0x000001B8u;
|
|
/* 0249A520 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249A524 */ _t4 = cpu->r[12] + 0x00000014u;
|
|
/* 0249A524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249A528 */ cpu->ctr = cpu->r[0];
|
|
/* 0249A52C */ cpu->r[3] = cpu->r[31] + 0x000001B4u;
|
|
/* 0249A530 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249A534 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249A534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249A538 */ _t6 = cpu->r[31] + 0x000001B4u;
|
|
/* 0249A538 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249A53C */ cpu->lr = cpu->r[0];
|
|
/* 0249A540 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249A544 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249A548 */ return;
|
|
}
|
|
|
|
// fn_0249A510 @ 0x249a510
|
|
void Gambit_fn_0249A510(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0249A510: ; // 0x249a510
|
|
/* 0249A510 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249A510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249A510 */ cpu->r[1] = _t0;
|
|
/* 0249A514 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A514 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249A518 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249A51C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249A51C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249A520 */ _t3 = cpu->r[31] + 0x000001B8u;
|
|
/* 0249A520 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249A524 */ _t4 = cpu->r[12] + 0x00000014u;
|
|
/* 0249A524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249A528 */ cpu->ctr = cpu->r[0];
|
|
/* 0249A52C */ cpu->r[3] = cpu->r[31] + 0x000001B4u;
|
|
/* 0249A530 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249A534 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249A534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249A538 */ _t6 = cpu->r[31] + 0x000001B4u;
|
|
/* 0249A538 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249A53C */ cpu->lr = cpu->r[0];
|
|
/* 0249A540 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249A544 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249A548 */ return;
|
|
}
|
|
|
|
// fn_0249A54C @ 0x249a54c
|
|
void Gambit_fn_0249A54C(CPUState* cpu) {
|
|
L_0249A54C: ; // 0x249a54c
|
|
/* 0249A54C */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249A550 */ cpu->r[3] = cpu->r[3] + 0xFFFFADC0u;
|
|
/* 0249A554 */ return;
|
|
}
|
|
|
|
// fn_0249A558 @ 0x249a558
|
|
void Gambit_fn_0249A558(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249A558: ; // 0x249a558
|
|
/* 0249A558 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249A558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249A55C */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 0249A55C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249A560 */ cpu->ctr = cpu->r[0];
|
|
/* 0249A564 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249A568 @ 0x249a568
|
|
void Gambit_fn_0249A568(CPUState* cpu) {
|
|
L_0249A568: ; // 0x249a568
|
|
/* 0249A568 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249A56C */ return;
|
|
}
|
|
|
|
// fn_0249A570 @ 0x249a570
|
|
void Gambit_fn_0249A570(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0249A570: ; // 0x249a570
|
|
/* 0249A570 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249A574 */ _t0 = cpu->r[12] + 0x000000A0u;
|
|
/* 0249A574 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249A578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249A57C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249A580 */ cpu->r[12] = cpu->r[12] + 0x000006D0u;
|
|
/* 0249A584 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A584 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249A584 */ if (_t2) goto L_0249A588; else goto L_0249A5A0;
|
|
L_0249A588: ; // 0x249a588
|
|
/* 0249A588 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249A58C */ cpu->r[9] = 0x00000001u;
|
|
/* 0249A590 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249A594 */ cpu->r[0] = cpu->r[0] + 0xFFFFAE64u;
|
|
/* 0249A598 */ _t3 = cpu->r[8] + 0x000000A0u;
|
|
/* 0249A598 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0249A59C */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0249A59C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_0249A5A0: ; // 0x249a5a0
|
|
/* 0249A5A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0249A5A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A5A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0249A5A4 */ if (_t6) goto L_0249A5A8; else goto L_0249A5B0;
|
|
L_0249A5A8: ; // 0x249a5a8
|
|
/* 0249A5A8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249A5AC */ return;
|
|
L_0249A5B0: ; // 0x249a5b0
|
|
/* 0249A5B0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0249A5B4 */ _t7 = cpu->r[11] + 0xFFFFE6D4u;
|
|
/* 0249A5B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249A5B4 */ cpu->r[11] = _t7;
|
|
/* 0249A5B8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249A5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0249A5C0 */ cpu->r[10] = cpu->r[10] + 0x000006A4u;
|
|
/* 0249A5C4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A5C4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0249A5C4 */ if (_t9) goto L_0249A5C8; else goto L_0249A5DC;
|
|
L_0249A5C8: ; // 0x249a5c8
|
|
/* 0249A5C8 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249A5CC */ cpu->r[9] = 0x00000001u;
|
|
/* 0249A5D0 */ cpu->r[12] = cpu->r[12] + 0xFFFFAE54u;
|
|
/* 0249A5D4 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 0249A5D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0249A5D8 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 0249A5D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_0249A5DC: ; // 0x249a5dc
|
|
/* 0249A5DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0249A5E0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A5E0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249A5E0 */ if (_t13) goto L_0249A5E4; else goto L_0249A5EC;
|
|
L_0249A5E4: ; // 0x249a5e4
|
|
/* 0249A5E4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249A5E8 */ goto L_0249A624;
|
|
L_0249A5EC: ; // 0x249a5ec
|
|
/* 0249A5EC */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249A5F0 */ _t14 = cpu->r[8] + 0xFFFFDA34u;
|
|
/* 0249A5F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249A5F0 */ cpu->r[8] = _t14;
|
|
/* 0249A5F4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0249A5F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249A5FC */ cpu->r[11] = cpu->r[11] + 0xFFFFDDE4u;
|
|
/* 0249A600 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A600 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0249A600 */ if (_t16) goto L_0249A604; else goto L_0249A618;
|
|
L_0249A604: ; // 0x249a604
|
|
/* 0249A604 */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249A608 */ cpu->r[9] = 0x00000001u;
|
|
/* 0249A60C */ cpu->r[10] = cpu->r[10] + 0xFFFFADC4u;
|
|
/* 0249A610 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 0249A610 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 0249A614 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 0249A614 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_0249A618: ; // 0x249a618
|
|
/* 0249A618 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0249A61C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 0249A620 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0249A624: ; // 0x249a624
|
|
/* 0249A624 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0249A628 */ return;
|
|
}
|
|
|
|
// fn_0249A62C @ 0x249a62c
|
|
void Gambit_fn_0249A62C(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_0249A62C: ; // 0x249a62c
|
|
/* 0249A62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249A630 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A630 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249A630 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A630 */ goto L_0249A634;
|
|
L_0249A634: ; // 0x249a634
|
|
/* 0249A634 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249A634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249A638 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A638 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249A638 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A638 */ goto L_0249A63C;
|
|
L_0249A63C: ; // 0x249a63c
|
|
/* 0249A63C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249A640 @ 0x249a640
|
|
void Gambit_fn_0249A640(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_0249A640: ; // 0x249a640
|
|
/* 0249A640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249A644 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A644 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249A644 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A644 */ goto L_0249A648;
|
|
L_0249A648: ; // 0x249a648
|
|
/* 0249A648 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249A648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249A64C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A64C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249A64C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249A64C */ goto L_0249A650;
|
|
L_0249A650: ; // 0x249a650
|
|
/* 0249A650 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249A654 @ 0x249a654
|
|
void Gambit_fn_0249A654(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249A654: ; // 0x249a654
|
|
/* 0249A654 */ cpu->r[0] = cpu->lr;
|
|
/* 0249A658 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249A65C */ cpu->r[7] = 0x024A0000u;
|
|
/* 0249A660 */ cpu->r[6] = 0x024A0000u;
|
|
/* 0249A664 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0249A668 */ cpu->r[7] = cpu->r[7] + 0xFFFFA2C4u;
|
|
/* 0249A66C */ cpu->r[6] = cpu->r[6] + 0xFFFFA2C4u;
|
|
/* 0249A670 */ cpu->r[10] = cpu->r[10] + 0x0000625Cu;
|
|
/* 0249A674 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0249A674 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0249A678 */ cpu->r[0] = 0x101C0000u;
|
|
/* 0249A67C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249A67C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0249A67C */ cpu->r[1] = _t1;
|
|
/* 0249A680 */ cpu->r[0] = cpu->r[0] + 0x00006258u;
|
|
/* 0249A684 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0249A684 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0249A688 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249A68C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0249A68C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249A690 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A694 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A694 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0249A698 */ Gambit_fn_02791B10(cpu);
|
|
/* 0249A69C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249A69C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249A6A0 */ cpu->lr = cpu->r[0];
|
|
/* 0249A6A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249A6A8 */ return;
|
|
}
|
|
|
|
// fn_0249A67C @ 0x249a67c
|
|
void Gambit_fn_0249A67C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0249A67C: ; // 0x249a67c
|
|
/* 0249A67C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249A67C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249A67C */ cpu->r[1] = _t0;
|
|
/* 0249A680 */ cpu->r[0] = cpu->r[0] + 0x00006258u;
|
|
/* 0249A684 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0249A684 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249A688 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249A68C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0249A68C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249A690 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A694 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A694 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0249A698 */ Gambit_fn_02791B10(cpu);
|
|
/* 0249A69C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0249A69C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249A6A0 */ cpu->lr = cpu->r[0];
|
|
/* 0249A6A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249A6A8 */ return;
|
|
}
|
|
|
|
// fn_0249A6AC @ 0x249a6ac
|
|
void Gambit_fn_0249A6AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0249A6AC: ; // 0x249a6ac
|
|
/* 0249A6AC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0249A6AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249A6AC */ cpu->r[1] = _t0;
|
|
/* 0249A6B0 */ /* nop */
|
|
/* 0249A6B4 */ cpu->r[0] = cpu->lr;
|
|
/* 0249A6B8 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0249A6B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0249A6BC */ cpu->r[26] = cpu->r[3];
|
|
/* 0249A6C0 */ cpu->r[25] = 0x101C0000u;
|
|
/* 0249A6C4 */ _t2 = cpu->r[25] + 0x00006258u;
|
|
/* 0249A6C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0249A6C4 */ cpu->r[25] = _t2;
|
|
/* 0249A6C8 */ cpu->r[24] = cpu->r[26] + 0x00000104u;
|
|
/* 0249A6CC */ _t3 = cpu->r[24] + cpu->r[0];
|
|
/* 0249A6CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0249A6D0 */ cpu->r[27] = cpu->r[4];
|
|
/* 0249A6D4 */ _t4 = cpu->r[26] + 0x00000030u;
|
|
/* 0249A6D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249A6D8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249A6DC */ _t5 = cpu->r[4] + cpu->r[10];
|
|
/* 0249A6DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249A6E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0249A6E4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A6E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0249A6E4 */ if (_t7) goto L_0249A7BC; else goto L_0249A6E8;
|
|
L_0249A6E8: ; // 0x249a6e8
|
|
/* 0249A6E8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249A6EC */ _t8 = cpu->r[6] + cpu->r[10];
|
|
/* 0249A6EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249A6F0 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0249A6F0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249A6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0249A6F8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249A6F8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249A6F8 */ if (_t11) goto L_0249A6FC; else goto L_0249A7BC;
|
|
L_0249A6FC: ; // 0x249a6fc
|
|
/* 0249A6FC */ cpu->r[31] = 0x10110000u;
|
|
/* 0249A700 */ cpu->r[22] = 0x00080000u;
|
|
/* 0249A704 */ cpu->r[28] = 0x00000000u;
|
|
/* 0249A708 */ _t12 = cpu->r[31] + 0x00007399u;
|
|
/* 0249A708 */ cpu->r[31] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0249A70C */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
L_0249A710: ; // 0x249a710
|
|
/* 0249A710 */ _t13 = cpu->r[25] + 0x00000000u;
|
|
/* 0249A710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249A714 */ _t14 = cpu->r[24] + cpu->r[0];
|
|
/* 0249A714 */ cpu->r[12] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0249A718 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249A71C */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 0249A71C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249A720 */ _t16 = cpu->r[10] + 0x00000004u;
|
|
/* 0249A720 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249A724 */ _t17 = cpu->r[11] + cpu->r[28];
|
|
/* 0249A724 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249A728 */ _t18 = cpu->r[30] + 0x00000050u;
|
|
/* 0249A728 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0249A72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0249A730 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A730 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0249A730 */ if (_t20) goto L_0249A7EC; else goto L_0249A734;
|
|
L_0249A734: ; // 0x249a734
|
|
/* 0249A734 */ _t21 = cpu->r[29] + 0x00000008u;
|
|
/* 0249A734 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249A738 */ _t22 = cpu->r[12] + 0x00000014u;
|
|
/* 0249A738 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0249A73C */ cpu->ctr = cpu->r[5];
|
|
/* 0249A740 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 0249A744 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249A748 */ _t23 = cpu->r[29] + 0x00000008u;
|
|
/* 0249A748 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0249A74C */ _t24 = cpu->r[4] + 0x00000014u;
|
|
/* 0249A74C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0249A750 */ cpu->ctr = cpu->r[0];
|
|
/* 0249A754 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 0249A758 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249A75C */ _t25 = cpu->r[27] + 0x00000004u;
|
|
/* 0249A75C */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0249A760 */ _t26 = cpu->r[7] + 0x00000014u;
|
|
/* 0249A760 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0249A764 */ cpu->ctr = cpu->r[8];
|
|
/* 0249A768 */ _t27 = cpu->r[29] + 0x00000004u;
|
|
/* 0249A768 */ cpu->r[21] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0249A76C */ cpu->r[3] = cpu->r[27];
|
|
/* 0249A770 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249A774 */ _t28 = cpu->r[27] + 0x00000000u;
|
|
/* 0249A774 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0249A778 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[9]);
|
|
/* 0249A77C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A77C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0249A77C */ if (_t30) goto L_0249A7D4; else goto L_0249A780;
|
|
L_0249A780: ; // 0x249a780
|
|
/* 0249A780 */ _t31 = cpu->r[29] + 0x00000004u;
|
|
/* 0249A780 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0249A784 */ _t32 = cpu->r[27] + 0x00000000u;
|
|
/* 0249A784 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0249A788 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0249A78C */ cpu->ctr = cpu->r[22];
|
|
/* 0249A790 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0249A794: ; // 0x249a794
|
|
/* 0249A794 */ _t33 = cpu->r[12] + 0x00000001u;
|
|
/* 0249A794 */ cpu->r[11] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0249A794 */ cpu->r[12] = _t33;
|
|
/* 0249A798 */ _t34 = cpu->r[10] + 0x00000001u;
|
|
/* 0249A798 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 0249A798 */ cpu->r[10] = _t34;
|
|
/* 0249A79C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0249A7A0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A7A0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0249A7A0 */ if (_t36) goto L_0249A7A4; else goto L_0249A7EC;
|
|
L_0249A7A4: ; // 0x249a7a4
|
|
/* 0249A7A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0249A7A8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A7A8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0249A7A8 */ if (_t38) goto L_0249A7D4; else goto L_0249A7AC;
|
|
L_0249A7AC: ; // 0x249a7ac
|
|
/* 0249A7AC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0249A7AC */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0249A7AC */ _t40 = _t39 >> (0x00000002u & 31u);
|
|
/* 0249A7AC */ _t41 = _t40 & 0x00000001u;
|
|
/* 0249A7AC */ if (_t41) goto L_0249A794; else goto L_0249A7B0;
|
|
L_0249A7B0: ; // 0x249a7b0
|
|
/* 0249A7B0 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 0249A7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0249A7B4 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 0249A7B8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A7B8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0249A7B8 */ if (_t43) goto L_0249A7BC; else goto L_0249A7F8;
|
|
L_0249A7BC: ; // 0x249a7bc
|
|
/* 0249A7BC */ /* nop */
|
|
/* 0249A7C0 */ _t44 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0249A7C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0249A7C4 */ cpu->lr = cpu->r[0];
|
|
/* 0249A7C8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0249A7CC */ cpu->r[3] = 0x00000000u;
|
|
/* 0249A7D0 */ return;
|
|
L_0249A7D4: ; // 0x249a7d4
|
|
/* 0249A7D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249A7D8 */ /* nop */
|
|
/* 0249A7DC */ _t45 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0249A7DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0249A7E0 */ cpu->lr = cpu->r[0];
|
|
/* 0249A7E4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0249A7E8 */ return;
|
|
L_0249A7EC: ; // 0x249a7ec
|
|
/* 0249A7EC */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 0249A7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0249A7F0 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 0249A7F4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A7F4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0249A7F4 */ if (_t47) goto L_0249A7BC; else goto L_0249A7F8;
|
|
L_0249A7F8: ; // 0x249a7f8
|
|
/* 0249A7F8 */ _t48 = cpu->r[26] + 0x00000030u;
|
|
/* 0249A7F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0249A7FC */ goto L_0249A710;
|
|
}
|
|
|
|
// fn_0249A800 @ 0x249a800
|
|
void Gambit_fn_0249A800(CPUState* cpu) {
|
|
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_0249A800: ; // 0x249a800
|
|
/* 0249A800 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0249A800 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249A800 */ cpu->r[1] = _t0;
|
|
/* 0249A804 */ cpu->r[0] = cpu->lr;
|
|
/* 0249A808 */ /* nop */
|
|
/* 0249A80C */ cpu->r[30] = cpu->r[5];
|
|
/* 0249A810 */ cpu->r[26] = cpu->r[3];
|
|
/* 0249A814 */ cpu->r[27] = cpu->r[7];
|
|
/* 0249A818 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249A81C */ cpu->r[31] = cpu->r[6];
|
|
/* 0249A820 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249A820 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0249A824 */ cpu->r[29] = cpu->r[4];
|
|
/* 0249A828 */ cpu->r[4] = cpu->r[27];
|
|
/* 0249A82C */ Gambit_fn_027DB318(cpu);
|
|
/* 0249A830 */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 0249A830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0249A834 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A834 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249A834 */ if (_t3) goto L_0249A8C8; else goto L_0249A838;
|
|
L_0249A838: ; // 0x249a838
|
|
/* 0249A838 */ cpu->r[5] = cpu->r[28];
|
|
/* 0249A83C */ cpu->r[4] = cpu->r[29];
|
|
/* 0249A840 */ cpu->r[3] = cpu->r[26];
|
|
/* 0249A844 */ Gambit_fn_0249A654(cpu);
|
|
/* 0249A848 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0249A848 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249A84C */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 0249A84C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249A850 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 0249A854 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0249A858 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 0249A85C */ cpu->r[25] = 0x00000000u;
|
|
/* 0249A860 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A860 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0249A860 */ if (_t7) goto L_0249A8C8; else goto L_0249A864;
|
|
L_0249A864: ; // 0x249a864
|
|
/* 0249A864 */ cpu->r[24] = 0x101C0000u;
|
|
L_0249A868: ; // 0x249a868
|
|
/* 0249A868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0249A86C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A86C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0249A86C */ if (_t9) goto L_0249A884; else goto L_0249A870;
|
|
L_0249A870: ; // 0x249a870
|
|
/* 0249A870 */ cpu->ctr = cpu->r[27];
|
|
/* 0249A874 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249A878 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249A87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249A880 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A880 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249A880 */ if (_t11) goto L_0249A8B4; else goto L_0249A884;
|
|
L_0249A884: ; // 0x249a884
|
|
/* 0249A884 */ _t12 = cpu->r[24] + 0x00006258u;
|
|
/* 0249A884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249A888 */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 0249A88C */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 0249A88C */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0249A890 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 0249A890 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249A894 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249A898 */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 0249A898 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249A89C */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249A8A0 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 0249A8A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249A8A4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249A8A8 */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 0249A8A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249A8AC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0249A8B0 */ Gambit_fn_024983FC(cpu);
|
|
L_0249A8B4: ; // 0x249a8b4
|
|
/* 0249A8B4 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 0249A8B8 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 0249A8B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0249A8BC */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0249A8C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 0249A8C4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A8C4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0249A8C4 */ if (_t20) goto L_0249A8C8; else goto L_0249A868;
|
|
L_0249A8C8: ; // 0x249a8c8
|
|
/* 0249A8C8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0249A8CC */ /* nop */
|
|
/* 0249A8D0 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249A8D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249A8D4 */ cpu->lr = cpu->r[0];
|
|
/* 0249A8D8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0249A8DC */ return;
|
|
}
|
|
|
|
// fn_0249A8E0 @ 0x249a8e0
|
|
void Gambit_fn_0249A8E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122;
|
|
|
|
L_0249A8E0: ; // 0x249a8e0
|
|
/* 0249A8E0 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0249A8E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249A8E0 */ cpu->r[1] = _t0;
|
|
/* 0249A8E4 */ cpu->r[0] = cpu->lr;
|
|
/* 0249A8E8 */ /* nop */
|
|
/* 0249A8EC */ cpu->r[28] = cpu->r[3];
|
|
/* 0249A8EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0249A8F0 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0249A8F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0249A8F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A8F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249A8F4 */ if (_t3) goto L_0249A8F8; else goto L_0249A908;
|
|
L_0249A8F8: ; // 0x249a8f8
|
|
/* 0249A8F8 */ cpu->r[3] = 0x000001FCu;
|
|
/* 0249A8FC */ Gambit_fn_02801A78(cpu);
|
|
/* 0249A900 */ cpu->r[28] = cpu->r[3];
|
|
/* 0249A900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0249A904 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A904 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249A904 */ if (_t5) goto L_0249ACA0; else goto L_0249A908;
|
|
L_0249A908: ; // 0x249a908
|
|
/* 0249A908 */ cpu->r[3] = cpu->r[28];
|
|
/* 0249A90C */ Gambit_fn_024F6F3C(cpu);
|
|
/* 0249A910 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249A914 */ cpu->r[31] = cpu->r[28] + 0x000001B0u;
|
|
/* 0249A914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249A918 */ cpu->r[0] = cpu->r[0] + 0xFFFFBC88u;
|
|
/* 0249A91C */ cpu->r[27] = 0x00000000u;
|
|
/* 0249A920 */ _t6 = cpu->r[28] + 0x00000004u;
|
|
/* 0249A920 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0249A924 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A924 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0249A924 */ if (_t8) goto L_0249A928; else goto L_0249A938;
|
|
L_0249A928: ; // 0x249a928
|
|
/* 0249A928 */ cpu->r[3] = 0x00000038u;
|
|
/* 0249A92C */ Gambit_fn_02801A78(cpu);
|
|
/* 0249A930 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249A930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249A934 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A934 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0249A934 */ if (_t10) goto L_0249A968; else goto L_0249A938;
|
|
L_0249A938: ; // 0x249a938
|
|
/* 0249A938 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249A93C */ Gambit_fn_027FC29C(cpu);
|
|
/* 0249A940 */ cpu->r[5] = 0x10060000u;
|
|
/* 0249A944 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 0249A944 */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
|
|
/* 0249A948 */ cpu->r[5] = cpu->r[5] + 0xFFFF8990u;
|
|
/* 0249A94C */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 0249A94C */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 0249A950 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 0249A950 */ rbrew_write32(cpu->mem, _t13, cpu->r[5]);
|
|
/* 0249A954 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 0249A954 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 0249A958 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 0249A958 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 0249A95C */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0249A95C */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 0249A960 */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249A960 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 0249A964 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 0249A964 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
L_0249A968: ; // 0x249a968
|
|
/* 0249A968 */ _t19 = cpu->r[28] + 0x000001E8u;
|
|
/* 0249A968 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 0249A96C */ cpu->r[0] = 0x00000003u;
|
|
/* 0249A970 */ _t20 = cpu->r[28] + 0x000001F4u;
|
|
/* 0249A970 */ rbrew_write32(cpu->mem, _t20, cpu->r[27]);
|
|
/* 0249A974 */ cpu->r[6] = 0x00000000u;
|
|
/* 0249A978 */ _t21 = cpu->r[28] + 0x000001F0u;
|
|
/* 0249A978 */ rbrew_write32(cpu->mem, _t21, cpu->r[27]);
|
|
/* 0249A97C */ cpu->r[4] = cpu->r[28];
|
|
/* 0249A980 */ _t22 = cpu->r[28] + 0x000001F8u;
|
|
/* 0249A980 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
/* 0249A984 */ cpu->r[3] = cpu->r[28] + 0x000001B0u;
|
|
/* 0249A988 */ _t23 = cpu->r[28] + 0x000001ECu;
|
|
/* 0249A988 */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 0249A98C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0249A990 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0249A990 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 0249A994 */ Gambit_fn_0249C644(cpu);
|
|
/* 0249A998 */ cpu->r[4] = cpu->r[28] + 0x000001B0u;
|
|
/* 0249A99C */ cpu->r[3] = cpu->r[28];
|
|
/* 0249A9A0 */ Gambit_fn_02000834(cpu);
|
|
/* 0249A9A4 */ cpu->r[25] = 0x100B0000u;
|
|
/* 0249A9A8 */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249A9AC */ cpu->r[26] = 0x024A0000u;
|
|
/* 0249A9B0 */ cpu->r[6] = cpu->r[6] + 0xFFFFBB78u;
|
|
/* 0249A9B4 */ cpu->r[26] = cpu->r[26] + 0xFFFFBB84u;
|
|
/* 0249A9B8 */ cpu->r[25] = cpu->r[25] + 0xFFFFB4B0u;
|
|
/* 0249A9BC */ cpu->ctr = cpu->r[26];
|
|
/* 0249A9C0 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0249A9C0 */ rbrew_write32(cpu->mem, _t25, cpu->r[25]);
|
|
/* 0249A9C4 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A9C4 */ rbrew_write32(cpu->mem, _t26, cpu->r[6]);
|
|
/* 0249A9C8 */ _t27 = cpu->r[28] + 0x000001C8u;
|
|
/* 0249A9C8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0249A9CC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A9D0 */ _t28 = cpu->r[24] + 0x00000000u;
|
|
/* 0249A9D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0249A9D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249A9D8 */ cpu->r[29] = 0x10110000u;
|
|
/* 0249A9DC */ _t29 = cpu->r[29] + 0x00007399u;
|
|
/* 0249A9DC */ cpu->r[29] = rbrew_read8(cpu->mem, _t29);
|
|
/* 0249A9E0 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249A9E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0249A9E4 */ _t31 = cpu->r[8] + 0x00000000u;
|
|
/* 0249A9E4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0249A9E8 */ cpu->r[31] = 0x00000000u;
|
|
/* 0249A9EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 0249A9F0 */ cpu->r[9] = 0x00080000u;
|
|
/* 0249A9F4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249A9F4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0249A9F4 */ if (_t33) goto L_0249AA1C; else goto L_0249A9F8;
|
|
L_0249A9F8: ; // 0x249a9f8
|
|
/* 0249A9F8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0249A9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 0249AA00 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0249AA04 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249AA04 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0249AA04 */ if (_t35) goto L_0249AA18; else goto L_0249AA08;
|
|
L_0249AA08: ; // 0x249aa08
|
|
/* 0249AA08 */ _t36 = cpu->r[8] + 0x00000000u;
|
|
/* 0249AA08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0249AA0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0249AA10 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249AA10 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0249AA10 */ if (_t38) goto L_0249AA14; else goto L_0249A9F8;
|
|
L_0249AA14: ; // 0x249aa14
|
|
/* 0249AA14 */ goto L_0249AA1C;
|
|
L_0249AA18: ; // 0x249aa18
|
|
/* 0249AA18 */ cpu->r[31] = 0x00000000u;
|
|
L_0249AA1C: ; // 0x249aa1c
|
|
/* 0249AA1C */ _t39 = cpu->r[24] + 0x00000008u;
|
|
/* 0249AA1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0249AA20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 0249AA24 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 0249AA24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0249AA28 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249AA28 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0249AA28 */ if (_t42) goto L_0249AA30; else goto L_0249AA2C;
|
|
L_0249AA2C: ; // 0x249aa2c
|
|
/* 0249AA2C */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0249AA30: ; // 0x249aa30
|
|
/* 0249AA30 */ _t43 = cpu->r[9] + 0x00000014u;
|
|
/* 0249AA30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0249AA34 */ cpu->ctr = cpu->r[10];
|
|
/* 0249AA38 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AA3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AA40 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AA40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0249AA44 */ cpu->r[6] = 0x00000000u;
|
|
/* 0249AA48 */ cpu->r[5] = cpu->r[31];
|
|
/* 0249AA4C */ cpu->r[3] = cpu->r[30];
|
|
/* 0249AA50 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0249AA54 */ cpu->r[11] = 0x024A0000u;
|
|
/* 0249AA58 */ _t45 = cpu->r[30] + cpu->r[31];
|
|
/* 0249AA58 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[29]);
|
|
/* 0249AA5C */ cpu->r[11] = cpu->r[11] + 0xFFFFC1A4u;
|
|
/* 0249AA60 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249AA60 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[27]);
|
|
/* 0249AA64 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0249AA68 */ _t47 = cpu->r[1] + 0x00000016u;
|
|
/* 0249AA68 */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[27]);
|
|
/* 0249AA6C */ cpu->r[12] = 0x00000000u;
|
|
/* 0249AA70 */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 0249AA70 */ rbrew_write16(cpu->mem, _t48, (uint16_t)cpu->r[27]);
|
|
/* 0249AA74 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0249AA78 */ _t49 = cpu->r[1] + 0x00000018u;
|
|
/* 0249AA78 */ rbrew_write32(cpu->mem, _t49, cpu->r[27]);
|
|
/* 0249AA7C */ cpu->r[3] = cpu->r[28] + 0x000001B0u;
|
|
/* 0249AA80 */ _t50 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0249AA80 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[0]);
|
|
/* 0249AA84 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249AA88 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AA88 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[27]);
|
|
/* 0249AA8C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0249AA90 */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 0249AA90 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
/* 0249AA94 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0249AA98 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 0249AA98 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[12]);
|
|
/* 0249AA9C */ _t54 = cpu->r[1] + 0x00000028u;
|
|
/* 0249AA9C */ rbrew_write32(cpu->mem, _t54, cpu->r[27]);
|
|
/* 0249AAA0 */ _t55 = cpu->r[1] + 0x00000026u;
|
|
/* 0249AAA0 */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[27]);
|
|
/* 0249AAA4 */ Gambit_fn_0249C8F4(cpu);
|
|
/* 0249AAA8 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249AAAC */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 0249AAAC */ rbrew_write32(cpu->mem, _t56, cpu->r[25]);
|
|
/* 0249AAB0 */ cpu->r[12] = cpu->r[12] + 0xFFFFBB64u;
|
|
/* 0249AAB4 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AAB4 */ rbrew_write32(cpu->mem, _t57, cpu->r[12]);
|
|
/* 0249AAB8 */ _t58 = cpu->r[28] + 0x000001C4u;
|
|
/* 0249AAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0249AABC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0249AAC0 */ _t59 = cpu->r[28] + 0x000001C8u;
|
|
/* 0249AAC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0249AAC4 */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249AAC4 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0249AAC4 */ if (_t61) goto L_0249AAC8; else goto L_0249AACC;
|
|
L_0249AAC8: ; // 0x249aac8
|
|
/* 0249AAC8 */ cpu->r[31] = cpu->r[31] + 0x00000024u;
|
|
L_0249AACC: ; // 0x249aacc
|
|
/* 0249AACC */ cpu->ctr = cpu->r[26];
|
|
/* 0249AAD0 */ _t62 = cpu->r[31] + 0x00000000u;
|
|
/* 0249AAD0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0249AAD4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AAD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AADC */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AADC */ cpu->r[5] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0249AAE0 */ _t64 = cpu->r[5] + 0x00000000u;
|
|
/* 0249AAE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t64);
|
|
/* 0249AAE4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0249AAE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0249AAEC */ cpu->r[0] = 0x00080000u;
|
|
/* 0249AAF0 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249AAF0 */ _t66 = _t65 & 0x00000001u;
|
|
/* 0249AAF0 */ if (_t66) goto L_0249AB18; else goto L_0249AAF4;
|
|
L_0249AAF4: ; // 0x249aaf4
|
|
/* 0249AAF4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0249AAF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0249AAFC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0249AB00 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249AB00 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0249AB00 */ if (_t68) goto L_0249AB14; else goto L_0249AB04;
|
|
L_0249AB04: ; // 0x249ab04
|
|
/* 0249AB04 */ _t69 = cpu->r[5] + 0x00000000u;
|
|
/* 0249AB04 */ cpu->r[6] = rbrew_read8(cpu->mem, _t69);
|
|
/* 0249AB08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[29]);
|
|
/* 0249AB0C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249AB0C */ _t71 = _t70 & 0x00000001u;
|
|
/* 0249AB0C */ if (_t71) goto L_0249AB10; else goto L_0249AAF4;
|
|
L_0249AB10: ; // 0x249ab10
|
|
/* 0249AB10 */ goto L_0249AB18;
|
|
L_0249AB14: ; // 0x249ab14
|
|
/* 0249AB14 */ cpu->r[30] = 0x00000000u;
|
|
L_0249AB18: ; // 0x249ab18
|
|
/* 0249AB18 */ _t72 = cpu->r[31] + 0x00000008u;
|
|
/* 0249AB18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0249AB1C */ _t73 = cpu->r[1] + 0x00000010u;
|
|
/* 0249AB1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0249AB20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 0249AB24 */ _t74 = cpu->r[7] + 0x00000014u;
|
|
/* 0249AB24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0249AB28 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249AB28 */ _t76 = _t75 & 0x00000001u;
|
|
/* 0249AB28 */ if (_t76) goto L_0249AB30; else goto L_0249AB2C;
|
|
L_0249AB2C: ; // 0x249ab2c
|
|
/* 0249AB2C */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0249AB30: ; // 0x249ab30
|
|
/* 0249AB30 */ cpu->ctr = cpu->r[8];
|
|
/* 0249AB34 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AB38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AB3C */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AB3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0249AB40 */ cpu->r[3] = cpu->r[24];
|
|
/* 0249AB44 */ cpu->r[5] = cpu->r[30];
|
|
/* 0249AB48 */ cpu->r[6] = 0x00000000u;
|
|
/* 0249AB4C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0249AB50 */ _t78 = cpu->r[24] + cpu->r[30];
|
|
/* 0249AB50 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[29]);
|
|
/* 0249AB54 */ cpu->r[12] = 0x00000001u;
|
|
/* 0249AB58 */ _t79 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0249AB58 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[27]);
|
|
/* 0249AB5C */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0249AB60 */ _t80 = cpu->r[1] + 0x00000024u;
|
|
/* 0249AB60 */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[27]);
|
|
/* 0249AB64 */ cpu->r[9] = 0x024A0000u;
|
|
/* 0249AB68 */ _t81 = cpu->r[1] + 0x00000016u;
|
|
/* 0249AB68 */ rbrew_write16(cpu->mem, _t81, (uint16_t)cpu->r[11]);
|
|
/* 0249AB6C */ cpu->r[9] = cpu->r[9] + 0xFFFFC1A8u;
|
|
/* 0249AB70 */ _t82 = cpu->r[1] + 0x00000020u;
|
|
/* 0249AB70 */ rbrew_write32(cpu->mem, _t82, cpu->r[27]);
|
|
/* 0249AB74 */ _t83 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AB74 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[27]);
|
|
/* 0249AB78 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0249AB7C */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 0249AB7C */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[12]);
|
|
/* 0249AB80 */ cpu->r[3] = cpu->r[28] + 0x000001B0u;
|
|
/* 0249AB84 */ _t85 = cpu->r[1] + 0x00000028u;
|
|
/* 0249AB84 */ rbrew_write32(cpu->mem, _t85, cpu->r[27]);
|
|
/* 0249AB88 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0249AB8C */ _t86 = cpu->r[1] + 0x00000026u;
|
|
/* 0249AB8C */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[27]);
|
|
/* 0249AB90 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249AB94 */ _t87 = cpu->r[1] + 0x00000018u;
|
|
/* 0249AB94 */ rbrew_write32(cpu->mem, _t87, cpu->r[9]);
|
|
/* 0249AB98 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0249AB9C */ _t88 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249AB9C */ rbrew_write16(cpu->mem, _t88, (uint16_t)cpu->r[27]);
|
|
/* 0249ABA0 */ Gambit_fn_0249C8F4(cpu);
|
|
/* 0249ABA4 */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249ABA8 */ _t89 = cpu->r[1] + 0x00000010u;
|
|
/* 0249ABA8 */ rbrew_write32(cpu->mem, _t89, cpu->r[25]);
|
|
/* 0249ABAC */ cpu->r[10] = cpu->r[10] + 0xFFFFBB88u;
|
|
/* 0249ABB0 */ _t90 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249ABB0 */ rbrew_write32(cpu->mem, _t90, cpu->r[10]);
|
|
/* 0249ABB4 */ _t91 = cpu->r[28] + 0x000001C4u;
|
|
/* 0249ABB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0249ABB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 0249ABBC */ _t92 = cpu->r[28] + 0x000001C8u;
|
|
/* 0249ABBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0249ABC0 */ _t93 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249ABC0 */ _t94 = _t93 & 0x00000001u;
|
|
/* 0249ABC0 */ if (_t94) goto L_0249ABC4; else goto L_0249ABC8;
|
|
L_0249ABC4: ; // 0x249abc4
|
|
/* 0249ABC4 */ cpu->r[30] = cpu->r[30] + 0x00000048u;
|
|
L_0249ABC8: ; // 0x249abc8
|
|
/* 0249ABC8 */ cpu->ctr = cpu->r[26];
|
|
/* 0249ABCC */ _t95 = cpu->r[30] + 0x00000000u;
|
|
/* 0249ABCC */ cpu->r[25] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0249ABD0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249ABD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249ABD8 */ _t96 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249ABD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t96);
|
|
/* 0249ABDC */ _t97 = cpu->r[12] + 0x00000000u;
|
|
/* 0249ABDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t97);
|
|
/* 0249ABE0 */ cpu->r[31] = 0x00000000u;
|
|
/* 0249ABE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0249ABE8 */ cpu->r[0] = 0x00080000u;
|
|
/* 0249ABEC */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249ABEC */ _t99 = _t98 & 0x00000001u;
|
|
/* 0249ABEC */ if (_t99) goto L_0249AC14; else goto L_0249ABF0;
|
|
L_0249ABF0: ; // 0x249abf0
|
|
/* 0249ABF0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0249ABF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0249ABF8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0249ABFC */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249ABFC */ _t101 = _t100 & 0x00000001u;
|
|
/* 0249ABFC */ if (_t101) goto L_0249AC10; else goto L_0249AC00;
|
|
L_0249AC00: ; // 0x249ac00
|
|
/* 0249AC00 */ _t102 = cpu->r[12] + 0x00000000u;
|
|
/* 0249AC00 */ cpu->r[5] = rbrew_read8(cpu->mem, _t102);
|
|
/* 0249AC04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[29]);
|
|
/* 0249AC08 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249AC08 */ _t104 = _t103 & 0x00000001u;
|
|
/* 0249AC08 */ if (_t104) goto L_0249AC0C; else goto L_0249ABF0;
|
|
L_0249AC0C: ; // 0x249ac0c
|
|
/* 0249AC0C */ goto L_0249AC14;
|
|
L_0249AC10: ; // 0x249ac10
|
|
/* 0249AC10 */ cpu->r[31] = 0x00000000u;
|
|
L_0249AC14: ; // 0x249ac14
|
|
/* 0249AC14 */ _t105 = cpu->r[30] + 0x00000008u;
|
|
/* 0249AC14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0249AC18 */ _t106 = cpu->r[1] + 0x00000010u;
|
|
/* 0249AC18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0249AC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0249AC20 */ _t107 = cpu->r[6] + 0x00000014u;
|
|
/* 0249AC20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0249AC24 */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249AC24 */ _t109 = _t108 & 0x00000001u;
|
|
/* 0249AC24 */ if (_t109) goto L_0249AC2C; else goto L_0249AC28;
|
|
L_0249AC28: ; // 0x249ac28
|
|
/* 0249AC28 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0249AC2C: ; // 0x249ac2c
|
|
/* 0249AC2C */ cpu->ctr = cpu->r[7];
|
|
/* 0249AC30 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AC34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AC38 */ _t110 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AC38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0249AC3C */ cpu->r[6] = 0x00000000u;
|
|
/* 0249AC40 */ cpu->r[5] = cpu->r[31];
|
|
/* 0249AC44 */ cpu->r[3] = cpu->r[25];
|
|
/* 0249AC48 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0249AC4C */ _t111 = cpu->r[25] + cpu->r[31];
|
|
/* 0249AC4C */ rbrew_write8(cpu->mem, _t111, (uint8_t)cpu->r[29]);
|
|
/* 0249AC50 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0249AC54 */ _t112 = cpu->r[1] + 0x00000026u;
|
|
/* 0249AC54 */ rbrew_write16(cpu->mem, _t112, (uint16_t)cpu->r[27]);
|
|
/* 0249AC58 */ cpu->r[11] = 0x024A0000u;
|
|
/* 0249AC5C */ _t113 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0249AC5C */ rbrew_write16(cpu->mem, _t113, (uint16_t)cpu->r[27]);
|
|
/* 0249AC60 */ cpu->r[0] = 0x00000002u;
|
|
/* 0249AC64 */ _t114 = cpu->r[1] + 0x00000016u;
|
|
/* 0249AC64 */ rbrew_write16(cpu->mem, _t114, (uint16_t)cpu->r[8]);
|
|
/* 0249AC68 */ cpu->r[11] = cpu->r[11] + 0xFFFFC1ACu;
|
|
/* 0249AC6C */ _t115 = cpu->r[1] + 0x00000020u;
|
|
/* 0249AC6C */ rbrew_write32(cpu->mem, _t115, cpu->r[27]);
|
|
/* 0249AC70 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0249AC74 */ _t116 = cpu->r[1] + 0x00000018u;
|
|
/* 0249AC74 */ rbrew_write32(cpu->mem, _t116, cpu->r[11]);
|
|
/* 0249AC78 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0249AC7C */ _t117 = cpu->r[1] + 0x00000024u;
|
|
/* 0249AC7C */ rbrew_write16(cpu->mem, _t117, (uint16_t)cpu->r[27]);
|
|
/* 0249AC80 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0249AC84 */ _t118 = cpu->r[1] + 0x00000008u;
|
|
/* 0249AC84 */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[0]);
|
|
/* 0249AC88 */ cpu->r[3] = cpu->r[28] + 0x000001B0u;
|
|
/* 0249AC8C */ _t119 = cpu->r[1] + 0x00000028u;
|
|
/* 0249AC8C */ rbrew_write32(cpu->mem, _t119, cpu->r[27]);
|
|
/* 0249AC90 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249AC94 */ _t120 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AC94 */ rbrew_write16(cpu->mem, _t120, (uint16_t)cpu->r[27]);
|
|
/* 0249AC98 */ _t121 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249AC98 */ rbrew_write16(cpu->mem, _t121, (uint16_t)cpu->r[27]);
|
|
/* 0249AC9C */ Gambit_fn_0249C8F4(cpu);
|
|
L_0249ACA0: ; // 0x249aca0
|
|
/* 0249ACA0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0249ACA4 */ /* nop */
|
|
/* 0249ACA8 */ _t122 = cpu->r[1] + 0x00000054u;
|
|
/* 0249ACA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0249ACAC */ cpu->lr = cpu->r[0];
|
|
/* 0249ACB0 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0249ACB4 */ return;
|
|
}
|
|
|
|
// fn_0249ACBC @ 0x249acbc
|
|
void Gambit_fn_0249ACBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0249ACBC: ; // 0x249acbc
|
|
/* 0249ACBC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249ACBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249ACBC */ cpu->r[1] = _t0;
|
|
/* 0249ACC0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249ACC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249ACC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249ACC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249ACC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249ACC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249ACCC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249ACCC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0249ACCC */ if (_t4) goto L_0249ACD0; else goto L_0249ACE0;
|
|
L_0249ACD0: ; // 0x249acd0
|
|
/* 0249ACD0 */ cpu->r[3] = 0x00000204u;
|
|
/* 0249ACD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249ACD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249ACD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249ACDC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249ACDC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0249ACDC */ if (_t6) goto L_0249AD08; else goto L_0249ACE0;
|
|
L_0249ACE0: ; // 0x249ace0
|
|
/* 0249ACE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249ACE4 */ Gambit_fn_0249A8E0(cpu);
|
|
/* 0249ACE8 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249ACEC */ cpu->r[0] = 0x00000001u;
|
|
/* 0249ACF0 */ _t7 = cpu->r[12] + 0xFFFFBB98u;
|
|
/* 0249ACF0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0249ACF4 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249ACF8 */ _t8 = cpu->r[31] + 0x00000200u;
|
|
/* 0249ACF8 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 0249ACFC */ cpu->r[12] = cpu->r[12] + 0xFFFFC010u;
|
|
/* 0249AD00 */ _t9 = cpu->r[31] + 0x000001FCu;
|
|
/* 0249AD00 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 0249AD04 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0249AD04 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
L_0249AD08: ; // 0x249ad08
|
|
/* 0249AD08 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AD08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249AD0C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249AD10 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AD10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249AD14 */ cpu->lr = cpu->r[0];
|
|
/* 0249AD18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249AD1C */ return;
|
|
}
|
|
|
|
// fn_0249AD20 @ 0x249ad20
|
|
void Gambit_fn_0249AD20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0249AD20: ; // 0x249ad20
|
|
/* 0249AD20 */ cpu->r[0] = cpu->lr;
|
|
/* 0249AD24 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0249AD24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249AD24 */ cpu->r[1] = _t0;
|
|
/* 0249AD28 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AD28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249AD2C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0249AD2C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249AD30 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249AD34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0249AD38 */ cpu->r[31] = cpu->r[4];
|
|
/* 0249AD3C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249AD3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249AD40 */ Gambit_fn_024F6710(cpu);
|
|
/* 0249AD44 */ cpu->r[5] = cpu->r[3];
|
|
/* 0249AD48 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249AD4C */ cpu->r[3] = cpu->r[30];
|
|
/* 0249AD50 */ Gambit_fn_024F4798(cpu);
|
|
/* 0249AD54 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249AD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249AD58 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AD58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249AD5C */ cpu->lr = cpu->r[0];
|
|
/* 0249AD60 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0249AD60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249AD64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0249AD68 */ return;
|
|
}
|
|
|
|
// fn_0249AD24 @ 0x249ad24
|
|
void Gambit_fn_0249AD24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0249AD24: ; // 0x249ad24
|
|
/* 0249AD24 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0249AD24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249AD24 */ cpu->r[1] = _t0;
|
|
/* 0249AD28 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AD28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249AD2C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0249AD2C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249AD30 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249AD34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0249AD38 */ cpu->r[31] = cpu->r[4];
|
|
/* 0249AD3C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249AD3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249AD40 */ Gambit_fn_024F6710(cpu);
|
|
/* 0249AD44 */ cpu->r[5] = cpu->r[3];
|
|
/* 0249AD48 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249AD4C */ cpu->r[3] = cpu->r[30];
|
|
/* 0249AD50 */ Gambit_fn_024F4798(cpu);
|
|
/* 0249AD54 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249AD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249AD58 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AD58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249AD5C */ cpu->lr = cpu->r[0];
|
|
/* 0249AD60 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0249AD60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249AD64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0249AD68 */ return;
|
|
}
|
|
|
|
// fn_0249AD6C @ 0x249ad6c
|
|
void Gambit_fn_0249AD6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0249AD6C: ; // 0x249ad6c
|
|
/* 0249AD6C */ cpu->r[0] = cpu->lr;
|
|
/* 0249AD70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249AD70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249AD70 */ cpu->r[1] = _t0;
|
|
/* 0249AD74 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AD74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249AD78 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249AD7C */ cpu->r[3] = 0x00000028u;
|
|
/* 0249AD80 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AD80 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249AD84 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249AD88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249AD8C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249AD8C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0249AD8C */ if (_t4) goto L_0249AD9C; else goto L_0249AD90;
|
|
L_0249AD90: ; // 0x249ad90
|
|
/* 0249AD90 */ cpu->r[5] = 0x00000000u;
|
|
/* 0249AD94 */ cpu->r[4] = 0x00000003u;
|
|
/* 0249AD98 */ Gambit_fn_02398200(cpu);
|
|
L_0249AD9C: ; // 0x249ad9c
|
|
/* 0249AD9C */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 0249AD9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249ADA0 */ _t6 = cpu->r[31] + 0x000001F0u;
|
|
/* 0249ADA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 0249ADA4 */ _t7 = cpu->r[3] + 0x00000014u;
|
|
/* 0249ADA4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0249ADA8 */ _t8 = cpu->r[31] + 0x000001F0u;
|
|
/* 0249ADA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249ADAC */ cpu->r[4] = 0x00000002u;
|
|
/* 0249ADB0 */ Gambit_fn_023982F0(cpu);
|
|
/* 0249ADB4 */ _t9 = cpu->r[31] + 0x000001F0u;
|
|
/* 0249ADB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249ADB8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0249ADBC */ Gambit_fn_02398484(cpu);
|
|
/* 0249ADC0 */ cpu->r[3] = 0x00000028u;
|
|
/* 0249ADC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249ADC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249ADCC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249ADCC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249ADCC */ if (_t11) goto L_0249ADDC; else goto L_0249ADD0;
|
|
L_0249ADD0: ; // 0x249add0
|
|
/* 0249ADD0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0249ADD4 */ cpu->r[4] = 0x00000003u;
|
|
/* 0249ADD8 */ Gambit_fn_02398200(cpu);
|
|
L_0249ADDC: ; // 0x249addc
|
|
/* 0249ADDC */ _t12 = cpu->r[31] + 0x00000144u;
|
|
/* 0249ADDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249ADE0 */ _t13 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249ADE0 */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 0249ADE4 */ _t14 = cpu->r[3] + 0x00000014u;
|
|
/* 0249ADE4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0249ADE8 */ _t15 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249ADE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249ADEC */ cpu->r[4] = 0x00000002u;
|
|
/* 0249ADF0 */ Gambit_fn_023982F0(cpu);
|
|
/* 0249ADF4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0249ADF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249ADF8 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249ADF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249ADFC */ cpu->lr = cpu->r[0];
|
|
/* 0249AE00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249AE04 */ return;
|
|
}
|
|
|
|
// fn_0249AD70 @ 0x249ad70
|
|
void Gambit_fn_0249AD70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0249AD70: ; // 0x249ad70
|
|
/* 0249AD70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249AD70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249AD70 */ cpu->r[1] = _t0;
|
|
/* 0249AD74 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AD74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249AD78 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249AD7C */ cpu->r[3] = 0x00000028u;
|
|
/* 0249AD80 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AD80 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249AD84 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249AD88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249AD8C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249AD8C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0249AD8C */ if (_t4) goto L_0249AD9C; else goto L_0249AD90;
|
|
L_0249AD90: ; // 0x249ad90
|
|
/* 0249AD90 */ cpu->r[5] = 0x00000000u;
|
|
/* 0249AD94 */ cpu->r[4] = 0x00000003u;
|
|
/* 0249AD98 */ Gambit_fn_02398200(cpu);
|
|
L_0249AD9C: ; // 0x249ad9c
|
|
/* 0249AD9C */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 0249AD9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249ADA0 */ _t6 = cpu->r[31] + 0x000001F0u;
|
|
/* 0249ADA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 0249ADA4 */ _t7 = cpu->r[3] + 0x00000014u;
|
|
/* 0249ADA4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0249ADA8 */ _t8 = cpu->r[31] + 0x000001F0u;
|
|
/* 0249ADA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249ADAC */ cpu->r[4] = 0x00000002u;
|
|
/* 0249ADB0 */ Gambit_fn_023982F0(cpu);
|
|
/* 0249ADB4 */ _t9 = cpu->r[31] + 0x000001F0u;
|
|
/* 0249ADB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249ADB8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0249ADBC */ Gambit_fn_02398484(cpu);
|
|
/* 0249ADC0 */ cpu->r[3] = 0x00000028u;
|
|
/* 0249ADC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249ADC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249ADCC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249ADCC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249ADCC */ if (_t11) goto L_0249ADDC; else goto L_0249ADD0;
|
|
L_0249ADD0: ; // 0x249add0
|
|
/* 0249ADD0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0249ADD4 */ cpu->r[4] = 0x00000003u;
|
|
/* 0249ADD8 */ Gambit_fn_02398200(cpu);
|
|
L_0249ADDC: ; // 0x249addc
|
|
/* 0249ADDC */ _t12 = cpu->r[31] + 0x00000144u;
|
|
/* 0249ADDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249ADE0 */ _t13 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249ADE0 */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 0249ADE4 */ _t14 = cpu->r[3] + 0x00000014u;
|
|
/* 0249ADE4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0249ADE8 */ _t15 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249ADE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249ADEC */ cpu->r[4] = 0x00000002u;
|
|
/* 0249ADF0 */ Gambit_fn_023982F0(cpu);
|
|
/* 0249ADF4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0249ADF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249ADF8 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249ADF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249ADFC */ cpu->lr = cpu->r[0];
|
|
/* 0249AE00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249AE04 */ return;
|
|
}
|
|
|
|
// fn_0249AE08 @ 0x249ae08
|
|
void Gambit_fn_0249AE08(CPUState* cpu) {
|
|
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_0249AE08: ; // 0x249ae08
|
|
/* 0249AE08 */ cpu->r[0] = cpu->lr;
|
|
/* 0249AE0C */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 0249AE0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249AE0C */ cpu->r[1] = _t0;
|
|
/* 0249AE10 */ _t1 = cpu->r[1] + 0x000000ACu;
|
|
/* 0249AE10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249AE14 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249AE18 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249AE1C */ cpu->r[3] = 0x00000000u;
|
|
/* 0249AE20 */ _t2 = cpu->r[1] + 0x000000A8u;
|
|
/* 0249AE20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249AE24 */ _t3 = cpu->r[1] + 0x000000B4u;
|
|
/* 0249AE24 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249AE28 */ Gambit_fn_024F7A74(cpu);
|
|
/* 0249AE2C */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 0249AE2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249AE30 */ _t5 = cpu->r[31] + 0x000001ECu;
|
|
/* 0249AE30 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0249AE34 */ _t6 = cpu->r[12] + 0x00000234u;
|
|
/* 0249AE34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249AE38 */ cpu->ctr = cpu->r[10];
|
|
/* 0249AE3C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249AE40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AE44 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249AE48 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0249AE48 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0249AE4C */ cpu->r[12] = cpu->r[12] + 0xFFFFB4B0u;
|
|
/* 0249AE50 */ cpu->r[5] = 0x00000000u;
|
|
/* 0249AE54 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0249AE58 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0249AE5C */ cpu->r[6] = cpu->r[5];
|
|
/* 0249AE60 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AE60 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 0249AE64 */ Gambit_fn_027C6980(cpu);
|
|
/* 0249AE68 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 0249AE68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249AE6C */ _t10 = cpu->r[10] + 0x00000384u;
|
|
/* 0249AE6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249AE70 */ cpu->ctr = cpu->r[0];
|
|
/* 0249AE74 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249AE78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AE7C */ cpu->r[5] = cpu->r[3];
|
|
/* 0249AE80 */ cpu->r[4] = 0x100B0000u;
|
|
/* 0249AE84 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0249AE88 */ cpu->r[4] = cpu->r[4] + 0xFFFFBB9Cu;
|
|
/* 0249AE8C */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0249AE8C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0249AE8C */ if (_t12) goto L_0249AE90; // else: addr-0 trap, fall-through
|
|
L_0249AE90: ; // 0x249ae90
|
|
/* 0249AE90 */ Gambit_fn_0249BBE0(cpu);
|
|
/* 0249AE94 */ cpu->r[5] = 0x00000000u;
|
|
/* 0249AE98 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0249AE9C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0249AEA0 */ Gambit_fn_027C6C00(cpu);
|
|
/* 0249AEA4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249AEA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249AEA8 */ _t14 = cpu->r[12] + 0x00000014u;
|
|
/* 0249AEA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249AEAC */ cpu->r[30] = cpu->r[3];
|
|
/* 0249AEB0 */ cpu->ctr = cpu->r[11];
|
|
/* 0249AEB4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0249AEB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AEBC */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 0249AEBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249AEC0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0249AEC4 */ _t16 = cpu->r[31] + 0x000001ECu;
|
|
/* 0249AEC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249AEC8 */ Gambit_fn_0204049C(cpu);
|
|
/* 0249AECC */ _t17 = cpu->r[31] + 0x00000134u;
|
|
/* 0249AECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249AED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249AED4 */ _t18 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249AED4 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0249AED8 */ Gambit_fn_0249AD6C(cpu);
|
|
/* 0249AEDC */ _t19 = cpu->r[1] + 0x000000B4u;
|
|
/* 0249AEDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0249AEE0 */ _t20 = cpu->r[1] + 0x000000A8u;
|
|
/* 0249AEE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249AEE4 */ cpu->lr = cpu->r[0];
|
|
/* 0249AEE8 */ _t21 = cpu->r[1] + 0x000000ACu;
|
|
/* 0249AEE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249AEEC */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 0249AEF0 */ return;
|
|
}
|
|
|
|
// fn_0249AE0C @ 0x249ae0c
|
|
void Gambit_fn_0249AE0C(CPUState* cpu) {
|
|
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_0249AE0C: ; // 0x249ae0c
|
|
/* 0249AE0C */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 0249AE0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249AE0C */ cpu->r[1] = _t0;
|
|
/* 0249AE10 */ _t1 = cpu->r[1] + 0x000000ACu;
|
|
/* 0249AE10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249AE14 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249AE18 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249AE1C */ cpu->r[3] = 0x00000000u;
|
|
/* 0249AE20 */ _t2 = cpu->r[1] + 0x000000A8u;
|
|
/* 0249AE20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249AE24 */ _t3 = cpu->r[1] + 0x000000B4u;
|
|
/* 0249AE24 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249AE28 */ Gambit_fn_024F7A74(cpu);
|
|
/* 0249AE2C */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 0249AE2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249AE30 */ _t5 = cpu->r[31] + 0x000001ECu;
|
|
/* 0249AE30 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0249AE34 */ _t6 = cpu->r[12] + 0x00000234u;
|
|
/* 0249AE34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249AE38 */ cpu->ctr = cpu->r[10];
|
|
/* 0249AE3C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249AE40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AE44 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249AE48 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0249AE48 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0249AE4C */ cpu->r[12] = cpu->r[12] + 0xFFFFB4B0u;
|
|
/* 0249AE50 */ cpu->r[5] = 0x00000000u;
|
|
/* 0249AE54 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0249AE58 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0249AE5C */ cpu->r[6] = cpu->r[5];
|
|
/* 0249AE60 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AE60 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 0249AE64 */ Gambit_fn_027C6980(cpu);
|
|
/* 0249AE68 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 0249AE68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249AE6C */ _t10 = cpu->r[10] + 0x00000384u;
|
|
/* 0249AE6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249AE70 */ cpu->ctr = cpu->r[0];
|
|
/* 0249AE74 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249AE78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AE7C */ cpu->r[5] = cpu->r[3];
|
|
/* 0249AE80 */ cpu->r[4] = 0x100B0000u;
|
|
/* 0249AE84 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0249AE88 */ cpu->r[4] = cpu->r[4] + 0xFFFFBB9Cu;
|
|
/* 0249AE8C */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0249AE8C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0249AE8C */ if (_t12) goto L_0249AE90; // else: addr-0 trap, fall-through
|
|
L_0249AE90: ; // 0x249ae90
|
|
/* 0249AE90 */ Gambit_fn_0249BBE0(cpu);
|
|
/* 0249AE94 */ cpu->r[5] = 0x00000000u;
|
|
/* 0249AE98 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0249AE9C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0249AEA0 */ Gambit_fn_027C6C00(cpu);
|
|
/* 0249AEA4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249AEA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249AEA8 */ _t14 = cpu->r[12] + 0x00000014u;
|
|
/* 0249AEA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249AEAC */ cpu->r[30] = cpu->r[3];
|
|
/* 0249AEB0 */ cpu->ctr = cpu->r[11];
|
|
/* 0249AEB4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0249AEB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AEBC */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 0249AEBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249AEC0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0249AEC4 */ _t16 = cpu->r[31] + 0x000001ECu;
|
|
/* 0249AEC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249AEC8 */ Gambit_fn_0204049C(cpu);
|
|
/* 0249AECC */ _t17 = cpu->r[31] + 0x00000134u;
|
|
/* 0249AECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249AED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249AED4 */ _t18 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249AED4 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0249AED8 */ Gambit_fn_0249AD6C(cpu);
|
|
/* 0249AEDC */ _t19 = cpu->r[1] + 0x000000B4u;
|
|
/* 0249AEDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0249AEE0 */ _t20 = cpu->r[1] + 0x000000A8u;
|
|
/* 0249AEE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249AEE4 */ cpu->lr = cpu->r[0];
|
|
/* 0249AEE8 */ _t21 = cpu->r[1] + 0x000000ACu;
|
|
/* 0249AEE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249AEEC */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 0249AEF0 */ return;
|
|
}
|
|
|
|
// fn_0249AEF4 @ 0x249aef4
|
|
void Gambit_fn_0249AEF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0249AEF4: ; // 0x249aef4
|
|
/* 0249AEF4 */ cpu->r[0] = cpu->lr;
|
|
/* 0249AEF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249AEF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249AEF8 */ cpu->r[1] = _t0;
|
|
/* 0249AEFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AEFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249AF00 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AF00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249AF04 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0249AF04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249AF08 */ _t4 = cpu->r[11] + 0x00000364u;
|
|
/* 0249AF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249AF0C */ cpu->ctr = cpu->r[0];
|
|
/* 0249AF10 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249AF14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AF18 */ cpu->r[12] = 0x00000000u;
|
|
/* 0249AF1C */ _t5 = cpu->r[31] + 0x000001F8u;
|
|
/* 0249AF1C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0249AF20 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AF20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249AF24 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AF24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249AF28 */ cpu->lr = cpu->r[0];
|
|
/* 0249AF2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249AF30 */ return;
|
|
}
|
|
|
|
// fn_0249AEF8 @ 0x249aef8
|
|
void Gambit_fn_0249AEF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0249AEF8: ; // 0x249aef8
|
|
/* 0249AEF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249AEF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249AEF8 */ cpu->r[1] = _t0;
|
|
/* 0249AEFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AEFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249AF00 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AF00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249AF04 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0249AF04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249AF08 */ _t4 = cpu->r[11] + 0x00000364u;
|
|
/* 0249AF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249AF0C */ cpu->ctr = cpu->r[0];
|
|
/* 0249AF10 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249AF14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AF18 */ cpu->r[12] = 0x00000000u;
|
|
/* 0249AF1C */ _t5 = cpu->r[31] + 0x000001F8u;
|
|
/* 0249AF1C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0249AF20 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0249AF20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249AF24 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249AF24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249AF28 */ cpu->lr = cpu->r[0];
|
|
/* 0249AF2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249AF30 */ return;
|
|
}
|
|
|
|
// fn_0249AF34 @ 0x249af34
|
|
void Gambit_fn_0249AF34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0249AF34: ; // 0x249af34
|
|
/* 0249AF34 */ cpu->r[0] = cpu->lr;
|
|
/* 0249AF38 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 0249AF38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249AF38 */ cpu->r[1] = _t0;
|
|
/* 0249AF3C */ _t1 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0249AF3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249AF40 */ cpu->r[31] = cpu->r[4];
|
|
/* 0249AF44 */ _t2 = cpu->r[1] + 0x00000068u;
|
|
/* 0249AF44 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249AF48 */ _t3 = cpu->r[1] + 0x00000074u;
|
|
/* 0249AF48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249AF4C */ _t4 = cpu->r[31] + 0x000001CCu;
|
|
/* 0249AF4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249AF50 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249AF54 */ _t5 = cpu->r[8] + 0x00000044u;
|
|
/* 0249AF54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249AF58 */ _t6 = cpu->r[30] + 0x000000E4u;
|
|
/* 0249AF58 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0249AF5C */ cpu->ctr = cpu->r[10];
|
|
/* 0249AF60 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249AF64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AF68 */ _t7 = cpu->r[31] + 0x000001CCu;
|
|
/* 0249AF68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249AF6C */ _t8 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0249AF6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249AF70 */ cpu->ctr = cpu->r[0];
|
|
/* 0249AF74 */ cpu->r[4] = cpu->r[30] + 0x00000054u;
|
|
/* 0249AF78 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249AF7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AF80 */ _t9 = cpu->r[31] + 0x000001CCu;
|
|
/* 0249AF80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249AF84 */ _t10 = cpu->r[7] + 0x00000024u;
|
|
/* 0249AF84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249AF88 */ cpu->ctr = cpu->r[0];
|
|
/* 0249AF8C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249AF90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AF94 */ cpu->r[11] = 0x00000003u;
|
|
/* 0249AF98 */ cpu->r[9] = cpu->r[30] + 0x00000050u;
|
|
/* 0249AF9C */ cpu->ctr = cpu->r[11];
|
|
/* 0249AFA0 */ cpu->r[10] = cpu->r[1] + 0x00000004u;
|
|
L_0249AFA4: ; // 0x249afa4
|
|
/* 0249AFA4 */ _t11 = cpu->r[9] + 0x00000004u;
|
|
/* 0249AFA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249AFA8 */ _t12 = cpu->r[10] + 0x00000004u;
|
|
/* 0249AFA8 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0249AFAC */ _t13 = cpu->r[9] + 0x00000008u;
|
|
/* 0249AFAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249AFB0 */ _t14 = cpu->r[10] + 0x00000008u;
|
|
/* 0249AFB0 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0249AFB4 */ _t15 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0249AFB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249AFB8 */ _t16 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0249AFB8 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 0249AFBC */ _t17 = cpu->r[9] + 0x00000010u;
|
|
/* 0249AFBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249AFBC */ cpu->r[9] = _t17;
|
|
/* 0249AFC0 */ _t18 = cpu->r[10] + 0x00000010u;
|
|
/* 0249AFC0 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 0249AFC0 */ cpu->r[10] = _t18;
|
|
/* 0249AFC4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0249AFC4 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0249AFC4 */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 0249AFC4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0249AFC4 */ if (_t21) goto L_0249AFA4; else goto L_0249AFC8;
|
|
L_0249AFC8: ; // 0x249afc8
|
|
/* 0249AFC8 */ cpu->r[0] = 0x00000003u;
|
|
/* 0249AFCC */ cpu->r[9] = cpu->r[30] + 0x00000080u;
|
|
/* 0249AFD0 */ cpu->ctr = cpu->r[0];
|
|
/* 0249AFD4 */ cpu->r[10] = cpu->r[1] + 0x00000034u;
|
|
L_0249AFD8: ; // 0x249afd8
|
|
/* 0249AFD8 */ _t22 = cpu->r[9] + 0x00000004u;
|
|
/* 0249AFD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0249AFDC */ _t23 = cpu->r[10] + 0x00000004u;
|
|
/* 0249AFDC */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 0249AFE0 */ _t24 = cpu->r[9] + 0x00000008u;
|
|
/* 0249AFE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0249AFE4 */ _t25 = cpu->r[10] + 0x00000008u;
|
|
/* 0249AFE4 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 0249AFE8 */ _t26 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0249AFE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0249AFEC */ _t27 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0249AFEC */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 0249AFF0 */ _t28 = cpu->r[9] + 0x00000010u;
|
|
/* 0249AFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0249AFF0 */ cpu->r[9] = _t28;
|
|
/* 0249AFF4 */ _t29 = cpu->r[10] + 0x00000010u;
|
|
/* 0249AFF4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0249AFF4 */ cpu->r[10] = _t29;
|
|
/* 0249AFF8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0249AFF8 */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0249AFF8 */ _t31 = _t30 >> (0x00000002u & 31u);
|
|
/* 0249AFF8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0249AFF8 */ if (_t32) goto L_0249AFD8; else goto L_0249AFFC;
|
|
L_0249AFFC: ; // 0x249affc
|
|
/* 0249AFFC */ _t33 = cpu->r[30] + 0x000000E4u;
|
|
/* 0249AFFC */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0249B000 */ /* nop */
|
|
/* 0249B004 */ _t34 = cpu->r[1] + 0x00000028u;
|
|
/* 0249B004 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0249B008 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B008 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0249B00C */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249B00C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0249B010 */ cpu->f[4] = cpu->f[4] * cpu->f[2];
|
|
/* 0249B014 */ _t37 = cpu->r[1] + 0x00000040u;
|
|
/* 0249B014 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 0249B018 */ _t38 = cpu->r[30] + 0x000000E8u;
|
|
/* 0249B018 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0249B01C */ cpu->f[9] = cpu->f[9] * cpu->f[2];
|
|
/* 0249B020 */ _t39 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0249B020 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 0249B024 */ /* nop */
|
|
/* 0249B028 */ cpu->f[5] = cpu->f[5] * cpu->f[3];
|
|
/* 0249B02C */ /* nop */
|
|
/* 0249B030 */ /* nop */
|
|
/* 0249B034 */ /* nop */
|
|
/* 0249B038 */ /* nop */
|
|
/* 0249B03C */ /* nop */
|
|
/* 0249B040 */ /* nop */
|
|
/* 0249B044 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B044 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 0249B048 */ /* nop */
|
|
/* 0249B04C */ /* nop */
|
|
/* 0249B050 */ /* nop */
|
|
/* 0249B054 */ _t41 = cpu->r[1] + 0x00000058u;
|
|
/* 0249B054 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0249B058 */ cpu->f[1] = cpu->f[1] * cpu->f[2];
|
|
/* 0249B05C */ /* nop */
|
|
/* 0249B060 */ /* nop */
|
|
/* 0249B064 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B064 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 0249B068 */ /* nop */
|
|
/* 0249B06C */ _t43 = cpu->r[31] + 0x00000224u;
|
|
/* 0249B06C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[5]);
|
|
/* 0249B070 */ cpu->f[13] = cpu->f[13] * cpu->f[3];
|
|
/* 0249B074 */ /* nop */
|
|
/* 0249B078 */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249B078 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 0249B07C */ _t45 = cpu->r[31] + 0x00000230u;
|
|
/* 0249B07C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[13]);
|
|
/* 0249B080 */ /* nop */
|
|
/* 0249B084 */ _t46 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B084 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0249B088 */ _t47 = cpu->r[31] + 0x000001ECu;
|
|
/* 0249B088 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[8]);
|
|
/* 0249B08C */ _t48 = cpu->r[1] + 0x00000030u;
|
|
/* 0249B08C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 0249B090 */ _t49 = cpu->r[31] + 0x000001F0u;
|
|
/* 0249B090 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[10]);
|
|
/* 0249B094 */ _t50 = cpu->r[31] + 0x00000204u;
|
|
/* 0249B094 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[13]);
|
|
/* 0249B098 */ /* nop */
|
|
/* 0249B09C */ _t51 = cpu->r[31] + 0x00000214u;
|
|
/* 0249B09C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[8]);
|
|
/* 0249B0A0 */ /* nop */
|
|
/* 0249B0A4 */ _t52 = cpu->r[1] + 0x00000044u;
|
|
/* 0249B0A4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 0249B0A8 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 0249B0A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 0249B0AC */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 0249B0AC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 0249B0B0 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B0B0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 0249B0B4 */ _t56 = cpu->r[31] + 0x00000218u;
|
|
/* 0249B0B4 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[10]);
|
|
/* 0249B0B8 */ _t57 = cpu->r[31] + 0x000001F8u;
|
|
/* 0249B0B8 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[11]);
|
|
/* 0249B0BC */ _t58 = cpu->r[31] + 0x00000210u;
|
|
/* 0249B0BC */ rbrew_write_f32(cpu->mem, _t58, cpu->f[7]);
|
|
/* 0249B0C0 */ _t59 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0249B0C0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 0249B0C4 */ _t60 = cpu->r[1] + 0x00000038u;
|
|
/* 0249B0C4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 0249B0C8 */ _t61 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0249B0C8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 0249B0CC */ _t62 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0249B0CC */ rbrew_write_f32(cpu->mem, _t62, cpu->f[11]);
|
|
/* 0249B0D0 */ _t63 = cpu->r[1] + 0x00000060u;
|
|
/* 0249B0D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0249B0D4 */ _t64 = cpu->r[31] + 0x00000208u;
|
|
/* 0249B0D4 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 0249B0D8 */ _t65 = cpu->r[31] + 0x00000244u;
|
|
/* 0249B0D8 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[11]);
|
|
/* 0249B0DC */ _t66 = cpu->r[1] + 0x00000054u;
|
|
/* 0249B0DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 0249B0E0 */ _t67 = cpu->r[31] + 0x00000240u;
|
|
/* 0249B0E0 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[10]);
|
|
/* 0249B0E4 */ _t68 = cpu->r[31] + 0x00000238u;
|
|
/* 0249B0E4 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]);
|
|
/* 0249B0E8 */ _t69 = cpu->r[31] + 0x0000020Cu;
|
|
/* 0249B0E8 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[4]);
|
|
/* 0249B0EC */ _t70 = cpu->r[31] + 0x00000200u;
|
|
/* 0249B0EC */ rbrew_write_f32(cpu->mem, _t70, cpu->f[1]);
|
|
/* 0249B0F0 */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B0F0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 0249B0F4 */ _t72 = cpu->r[1] + 0x00000064u;
|
|
/* 0249B0F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 0249B0F8 */ _t73 = cpu->r[31] + 0x00000228u;
|
|
/* 0249B0F8 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[8]);
|
|
/* 0249B0FC */ cpu->f[6] = cpu->f[6] * cpu->f[3];
|
|
/* 0249B100 */ _t74 = cpu->r[31] + 0x000001FCu;
|
|
/* 0249B100 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[12]);
|
|
/* 0249B104 */ _t75 = cpu->r[1] + 0x00000050u;
|
|
/* 0249B104 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 0249B108 */ _t76 = cpu->r[31] + 0x0000023Cu;
|
|
/* 0249B108 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[6]);
|
|
/* 0249B10C */ _t77 = cpu->r[31] + 0x00000234u;
|
|
/* 0249B10C */ rbrew_write_f32(cpu->mem, _t77, cpu->f[12]);
|
|
/* 0249B110 */ _t78 = cpu->r[31] + 0x00000248u;
|
|
/* 0249B110 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[13]);
|
|
/* 0249B114 */ _t79 = cpu->r[1] + 0x00000048u;
|
|
/* 0249B114 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 0249B118 */ _t80 = cpu->r[31] + 0x00000220u;
|
|
/* 0249B118 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[7]);
|
|
/* 0249B11C */ _t81 = cpu->r[31] + 0x0000022Cu;
|
|
/* 0249B11C */ rbrew_write_f32(cpu->mem, _t81, cpu->f[11]);
|
|
/* 0249B120 */ _t82 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249B120 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[9]);
|
|
/* 0249B124 */ _t83 = cpu->r[1] + 0x00000074u;
|
|
/* 0249B124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0249B128 */ _t84 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0249B128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0249B12C */ cpu->lr = cpu->r[0];
|
|
/* 0249B130 */ _t85 = cpu->r[1] + 0x00000068u;
|
|
/* 0249B130 */ cpu->r[30] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0249B134 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 0249B138 */ return;
|
|
}
|
|
|
|
// fn_0249AF38 @ 0x249af38
|
|
void Gambit_fn_0249AF38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0249AF38: ; // 0x249af38
|
|
/* 0249AF38 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 0249AF38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249AF38 */ cpu->r[1] = _t0;
|
|
/* 0249AF3C */ _t1 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0249AF3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249AF40 */ cpu->r[31] = cpu->r[4];
|
|
/* 0249AF44 */ _t2 = cpu->r[1] + 0x00000068u;
|
|
/* 0249AF44 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249AF48 */ _t3 = cpu->r[1] + 0x00000074u;
|
|
/* 0249AF48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249AF4C */ _t4 = cpu->r[31] + 0x000001CCu;
|
|
/* 0249AF4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249AF50 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249AF54 */ _t5 = cpu->r[8] + 0x00000044u;
|
|
/* 0249AF54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249AF58 */ _t6 = cpu->r[30] + 0x000000E4u;
|
|
/* 0249AF58 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0249AF5C */ cpu->ctr = cpu->r[10];
|
|
/* 0249AF60 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249AF64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AF68 */ _t7 = cpu->r[31] + 0x000001CCu;
|
|
/* 0249AF68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249AF6C */ _t8 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0249AF6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249AF70 */ cpu->ctr = cpu->r[0];
|
|
/* 0249AF74 */ cpu->r[4] = cpu->r[30] + 0x00000054u;
|
|
/* 0249AF78 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249AF7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AF80 */ _t9 = cpu->r[31] + 0x000001CCu;
|
|
/* 0249AF80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249AF84 */ _t10 = cpu->r[7] + 0x00000024u;
|
|
/* 0249AF84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249AF88 */ cpu->ctr = cpu->r[0];
|
|
/* 0249AF8C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249AF90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249AF94 */ cpu->r[11] = 0x00000003u;
|
|
/* 0249AF98 */ cpu->r[9] = cpu->r[30] + 0x00000050u;
|
|
/* 0249AF9C */ cpu->ctr = cpu->r[11];
|
|
/* 0249AFA0 */ cpu->r[10] = cpu->r[1] + 0x00000004u;
|
|
L_0249AFA4: ; // 0x249afa4
|
|
/* 0249AFA4 */ _t11 = cpu->r[9] + 0x00000004u;
|
|
/* 0249AFA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249AFA8 */ _t12 = cpu->r[10] + 0x00000004u;
|
|
/* 0249AFA8 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0249AFAC */ _t13 = cpu->r[9] + 0x00000008u;
|
|
/* 0249AFAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249AFB0 */ _t14 = cpu->r[10] + 0x00000008u;
|
|
/* 0249AFB0 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0249AFB4 */ _t15 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0249AFB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249AFB8 */ _t16 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0249AFB8 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 0249AFBC */ _t17 = cpu->r[9] + 0x00000010u;
|
|
/* 0249AFBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249AFBC */ cpu->r[9] = _t17;
|
|
/* 0249AFC0 */ _t18 = cpu->r[10] + 0x00000010u;
|
|
/* 0249AFC0 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 0249AFC0 */ cpu->r[10] = _t18;
|
|
/* 0249AFC4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0249AFC4 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0249AFC4 */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 0249AFC4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0249AFC4 */ if (_t21) goto L_0249AFA4; else goto L_0249AFC8;
|
|
L_0249AFC8: ; // 0x249afc8
|
|
/* 0249AFC8 */ cpu->r[0] = 0x00000003u;
|
|
/* 0249AFCC */ cpu->r[9] = cpu->r[30] + 0x00000080u;
|
|
/* 0249AFD0 */ cpu->ctr = cpu->r[0];
|
|
/* 0249AFD4 */ cpu->r[10] = cpu->r[1] + 0x00000034u;
|
|
L_0249AFD8: ; // 0x249afd8
|
|
/* 0249AFD8 */ _t22 = cpu->r[9] + 0x00000004u;
|
|
/* 0249AFD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0249AFDC */ _t23 = cpu->r[10] + 0x00000004u;
|
|
/* 0249AFDC */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 0249AFE0 */ _t24 = cpu->r[9] + 0x00000008u;
|
|
/* 0249AFE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0249AFE4 */ _t25 = cpu->r[10] + 0x00000008u;
|
|
/* 0249AFE4 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 0249AFE8 */ _t26 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0249AFE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0249AFEC */ _t27 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0249AFEC */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 0249AFF0 */ _t28 = cpu->r[9] + 0x00000010u;
|
|
/* 0249AFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0249AFF0 */ cpu->r[9] = _t28;
|
|
/* 0249AFF4 */ _t29 = cpu->r[10] + 0x00000010u;
|
|
/* 0249AFF4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0249AFF4 */ cpu->r[10] = _t29;
|
|
/* 0249AFF8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0249AFF8 */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0249AFF8 */ _t31 = _t30 >> (0x00000002u & 31u);
|
|
/* 0249AFF8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0249AFF8 */ if (_t32) goto L_0249AFD8; else goto L_0249AFFC;
|
|
L_0249AFFC: ; // 0x249affc
|
|
/* 0249AFFC */ _t33 = cpu->r[30] + 0x000000E4u;
|
|
/* 0249AFFC */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0249B000 */ /* nop */
|
|
/* 0249B004 */ _t34 = cpu->r[1] + 0x00000028u;
|
|
/* 0249B004 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0249B008 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B008 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0249B00C */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249B00C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0249B010 */ cpu->f[4] = cpu->f[4] * cpu->f[2];
|
|
/* 0249B014 */ _t37 = cpu->r[1] + 0x00000040u;
|
|
/* 0249B014 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 0249B018 */ _t38 = cpu->r[30] + 0x000000E8u;
|
|
/* 0249B018 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0249B01C */ cpu->f[9] = cpu->f[9] * cpu->f[2];
|
|
/* 0249B020 */ _t39 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0249B020 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 0249B024 */ /* nop */
|
|
/* 0249B028 */ cpu->f[5] = cpu->f[5] * cpu->f[3];
|
|
/* 0249B02C */ /* nop */
|
|
/* 0249B030 */ /* nop */
|
|
/* 0249B034 */ /* nop */
|
|
/* 0249B038 */ /* nop */
|
|
/* 0249B03C */ /* nop */
|
|
/* 0249B040 */ /* nop */
|
|
/* 0249B044 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B044 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 0249B048 */ /* nop */
|
|
/* 0249B04C */ /* nop */
|
|
/* 0249B050 */ /* nop */
|
|
/* 0249B054 */ _t41 = cpu->r[1] + 0x00000058u;
|
|
/* 0249B054 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0249B058 */ cpu->f[1] = cpu->f[1] * cpu->f[2];
|
|
/* 0249B05C */ /* nop */
|
|
/* 0249B060 */ /* nop */
|
|
/* 0249B064 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B064 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 0249B068 */ /* nop */
|
|
/* 0249B06C */ _t43 = cpu->r[31] + 0x00000224u;
|
|
/* 0249B06C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[5]);
|
|
/* 0249B070 */ cpu->f[13] = cpu->f[13] * cpu->f[3];
|
|
/* 0249B074 */ /* nop */
|
|
/* 0249B078 */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249B078 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 0249B07C */ _t45 = cpu->r[31] + 0x00000230u;
|
|
/* 0249B07C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[13]);
|
|
/* 0249B080 */ /* nop */
|
|
/* 0249B084 */ _t46 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B084 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0249B088 */ _t47 = cpu->r[31] + 0x000001ECu;
|
|
/* 0249B088 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[8]);
|
|
/* 0249B08C */ _t48 = cpu->r[1] + 0x00000030u;
|
|
/* 0249B08C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 0249B090 */ _t49 = cpu->r[31] + 0x000001F0u;
|
|
/* 0249B090 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[10]);
|
|
/* 0249B094 */ _t50 = cpu->r[31] + 0x00000204u;
|
|
/* 0249B094 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[13]);
|
|
/* 0249B098 */ /* nop */
|
|
/* 0249B09C */ _t51 = cpu->r[31] + 0x00000214u;
|
|
/* 0249B09C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[8]);
|
|
/* 0249B0A0 */ /* nop */
|
|
/* 0249B0A4 */ _t52 = cpu->r[1] + 0x00000044u;
|
|
/* 0249B0A4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 0249B0A8 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 0249B0A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 0249B0AC */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 0249B0AC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 0249B0B0 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B0B0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 0249B0B4 */ _t56 = cpu->r[31] + 0x00000218u;
|
|
/* 0249B0B4 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[10]);
|
|
/* 0249B0B8 */ _t57 = cpu->r[31] + 0x000001F8u;
|
|
/* 0249B0B8 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[11]);
|
|
/* 0249B0BC */ _t58 = cpu->r[31] + 0x00000210u;
|
|
/* 0249B0BC */ rbrew_write_f32(cpu->mem, _t58, cpu->f[7]);
|
|
/* 0249B0C0 */ _t59 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0249B0C0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 0249B0C4 */ _t60 = cpu->r[1] + 0x00000038u;
|
|
/* 0249B0C4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 0249B0C8 */ _t61 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0249B0C8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 0249B0CC */ _t62 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0249B0CC */ rbrew_write_f32(cpu->mem, _t62, cpu->f[11]);
|
|
/* 0249B0D0 */ _t63 = cpu->r[1] + 0x00000060u;
|
|
/* 0249B0D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0249B0D4 */ _t64 = cpu->r[31] + 0x00000208u;
|
|
/* 0249B0D4 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 0249B0D8 */ _t65 = cpu->r[31] + 0x00000244u;
|
|
/* 0249B0D8 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[11]);
|
|
/* 0249B0DC */ _t66 = cpu->r[1] + 0x00000054u;
|
|
/* 0249B0DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 0249B0E0 */ _t67 = cpu->r[31] + 0x00000240u;
|
|
/* 0249B0E0 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[10]);
|
|
/* 0249B0E4 */ _t68 = cpu->r[31] + 0x00000238u;
|
|
/* 0249B0E4 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]);
|
|
/* 0249B0E8 */ _t69 = cpu->r[31] + 0x0000020Cu;
|
|
/* 0249B0E8 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[4]);
|
|
/* 0249B0EC */ _t70 = cpu->r[31] + 0x00000200u;
|
|
/* 0249B0EC */ rbrew_write_f32(cpu->mem, _t70, cpu->f[1]);
|
|
/* 0249B0F0 */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B0F0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 0249B0F4 */ _t72 = cpu->r[1] + 0x00000064u;
|
|
/* 0249B0F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 0249B0F8 */ _t73 = cpu->r[31] + 0x00000228u;
|
|
/* 0249B0F8 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[8]);
|
|
/* 0249B0FC */ cpu->f[6] = cpu->f[6] * cpu->f[3];
|
|
/* 0249B100 */ _t74 = cpu->r[31] + 0x000001FCu;
|
|
/* 0249B100 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[12]);
|
|
/* 0249B104 */ _t75 = cpu->r[1] + 0x00000050u;
|
|
/* 0249B104 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 0249B108 */ _t76 = cpu->r[31] + 0x0000023Cu;
|
|
/* 0249B108 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[6]);
|
|
/* 0249B10C */ _t77 = cpu->r[31] + 0x00000234u;
|
|
/* 0249B10C */ rbrew_write_f32(cpu->mem, _t77, cpu->f[12]);
|
|
/* 0249B110 */ _t78 = cpu->r[31] + 0x00000248u;
|
|
/* 0249B110 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[13]);
|
|
/* 0249B114 */ _t79 = cpu->r[1] + 0x00000048u;
|
|
/* 0249B114 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 0249B118 */ _t80 = cpu->r[31] + 0x00000220u;
|
|
/* 0249B118 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[7]);
|
|
/* 0249B11C */ _t81 = cpu->r[31] + 0x0000022Cu;
|
|
/* 0249B11C */ rbrew_write_f32(cpu->mem, _t81, cpu->f[11]);
|
|
/* 0249B120 */ _t82 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249B120 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[9]);
|
|
/* 0249B124 */ _t83 = cpu->r[1] + 0x00000074u;
|
|
/* 0249B124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0249B128 */ _t84 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0249B128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0249B12C */ cpu->lr = cpu->r[0];
|
|
/* 0249B130 */ _t85 = cpu->r[1] + 0x00000068u;
|
|
/* 0249B130 */ cpu->r[30] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0249B134 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 0249B138 */ return;
|
|
}
|
|
|
|
// fn_0249B140 @ 0x249b140
|
|
void Gambit_fn_0249B140(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0249B140: ; // 0x249b140
|
|
/* 0249B140 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B140 */ cpu->r[1] = _t0;
|
|
/* 0249B144 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B144 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249B148 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B148 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249B14C */ _t3 = cpu->r[3] + 0x000001E8u;
|
|
/* 0249B14C */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249B150 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B154 */ Gambit_fn_0249AF34(cpu);
|
|
/* 0249B158 */ _t4 = cpu->r[31] + 0x000001ECu;
|
|
/* 0249B158 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249B15C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B160 */ Gambit_fn_0249AF34(cpu);
|
|
/* 0249B164 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249B168 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249B16C */ cpu->lr = cpu->r[0];
|
|
/* 0249B170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B174 */ return;
|
|
}
|
|
|
|
// fn_0249B178 @ 0x249b178
|
|
void Gambit_fn_0249B178(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0249B13C: ; // 0x249b13c
|
|
/* 0249B13C */ cpu->r[0] = cpu->lr;
|
|
/* 0249B140 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B140 */ cpu->r[1] = _t0;
|
|
/* 0249B144 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B144 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249B148 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B148 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249B14C */ _t3 = cpu->r[3] + 0x000001E8u;
|
|
/* 0249B14C */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249B150 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B154 */ Gambit_fn_0249AF34(cpu);
|
|
/* 0249B158 */ _t4 = cpu->r[31] + 0x000001ECu;
|
|
/* 0249B158 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249B15C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B160 */ Gambit_fn_0249AF34(cpu);
|
|
/* 0249B164 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249B168 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249B16C */ cpu->lr = cpu->r[0];
|
|
/* 0249B170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B174 */ return;
|
|
L_0249B178: ; // 0x249b178
|
|
/* 0249B178 */ goto L_0249B13C;
|
|
}
|
|
|
|
// fn_0249B17C @ 0x249b17c
|
|
void Gambit_fn_0249B17C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0249B17C: ; // 0x249b17c
|
|
/* 0249B17C */ cpu->r[0] = cpu->lr;
|
|
/* 0249B180 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B180 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B180 */ cpu->r[1] = _t0;
|
|
/* 0249B184 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B184 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249B188 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B18C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B18C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249B190 */ Gambit_fn_024F606C(cpu);
|
|
/* 0249B194 */ _t3 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249B194 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249B198 */ Gambit_fn_0239859C(cpu);
|
|
/* 0249B19C */ _t4 = cpu->r[31] + 0x000001F0u;
|
|
/* 0249B19C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249B1A0 */ Gambit_fn_0239859C(cpu);
|
|
/* 0249B1A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B1A8 */ Gambit_fn_024F607C(cpu);
|
|
/* 0249B1AC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B1AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249B1B0 */ cpu->lr = cpu->r[0];
|
|
/* 0249B1B4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B1B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249B1B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B1BC */ return;
|
|
}
|
|
|
|
// fn_0249B180 @ 0x249b180
|
|
void Gambit_fn_0249B180(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0249B180: ; // 0x249b180
|
|
/* 0249B180 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B180 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B180 */ cpu->r[1] = _t0;
|
|
/* 0249B184 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B184 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249B188 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B18C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B18C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249B190 */ Gambit_fn_024F606C(cpu);
|
|
/* 0249B194 */ _t3 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249B194 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249B198 */ Gambit_fn_0239859C(cpu);
|
|
/* 0249B19C */ _t4 = cpu->r[31] + 0x000001F0u;
|
|
/* 0249B19C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249B1A0 */ Gambit_fn_0239859C(cpu);
|
|
/* 0249B1A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B1A8 */ Gambit_fn_024F607C(cpu);
|
|
/* 0249B1AC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B1AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249B1B0 */ cpu->lr = cpu->r[0];
|
|
/* 0249B1B4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B1B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249B1B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B1BC */ return;
|
|
}
|
|
|
|
// fn_0249B1C0 @ 0x249b1c0
|
|
void Gambit_fn_0249B1C0(CPUState* cpu) {
|
|
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_0249B1C0: ; // 0x249b1c0
|
|
/* 0249B1C0 */ cpu->r[0] = cpu->lr;
|
|
/* 0249B1C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B1C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B1C4 */ cpu->r[1] = _t0;
|
|
/* 0249B1C8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B1C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0249B1CC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B1CC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0249B1D0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249B1D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B1D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249B1D8 */ _t4 = cpu->r[30] + 0x000001E8u;
|
|
/* 0249B1D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249B1DC */ _t5 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B1DC */ cpu->r[8] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0249B1E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0249B1E4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B1E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0249B1E4 */ if (_t7) goto L_0249B1E8; else goto L_0249B1F8;
|
|
L_0249B1E8: ; // 0x249b1e8
|
|
/* 0249B1E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B1EC */ Gambit_fn_0203F288(cpu);
|
|
/* 0249B1F0 */ cpu->r[9] = 0x00000001u;
|
|
/* 0249B1F4 */ _t8 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B1F4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[9]);
|
|
L_0249B1F8: ; // 0x249b1f8
|
|
/* 0249B1F8 */ _t9 = cpu->r[30] + 0x000001ECu;
|
|
/* 0249B1F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249B1FC */ _t10 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B1FC */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0249B200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0249B204 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B204 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0249B204 */ if (_t12) goto L_0249B208; else goto L_0249B21C;
|
|
L_0249B208: ; // 0x249b208
|
|
/* 0249B208 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B20C */ Gambit_fn_0203F288(cpu);
|
|
/* 0249B210 */ cpu->r[11] = 0x00000001u;
|
|
/* 0249B214 */ _t13 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B214 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[11]);
|
|
/* 0249B218 */ _t14 = cpu->r[30] + 0x000001ECu;
|
|
/* 0249B218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
L_0249B21C: ; // 0x249b21c
|
|
/* 0249B21C */ _t15 = cpu->r[30] + 0x00000134u;
|
|
/* 0249B21C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249B220 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0249B224 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B224 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0249B224 */ if (_t17) goto L_0249B230; else goto L_0249B228;
|
|
L_0249B228: ; // 0x249b228
|
|
/* 0249B228 */ cpu->r[0] = 0x00000000u;
|
|
/* 0249B22C */ _t18 = cpu->r[31] + 0x000001C8u;
|
|
/* 0249B22C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
L_0249B230: ; // 0x249b230
|
|
/* 0249B230 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0249B234 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B234 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249B238 */ cpu->lr = cpu->r[0];
|
|
/* 0249B23C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B23C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249B240 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B244 */ return;
|
|
}
|
|
|
|
// fn_0249B1C4 @ 0x249b1c4
|
|
void Gambit_fn_0249B1C4(CPUState* cpu) {
|
|
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_0249B1C4: ; // 0x249b1c4
|
|
/* 0249B1C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B1C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B1C4 */ cpu->r[1] = _t0;
|
|
/* 0249B1C8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B1C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0249B1CC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B1CC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0249B1D0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249B1D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B1D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249B1D8 */ _t4 = cpu->r[30] + 0x000001E8u;
|
|
/* 0249B1D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249B1DC */ _t5 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B1DC */ cpu->r[8] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0249B1E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0249B1E4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B1E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0249B1E4 */ if (_t7) goto L_0249B1E8; else goto L_0249B1F8;
|
|
L_0249B1E8: ; // 0x249b1e8
|
|
/* 0249B1E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B1EC */ Gambit_fn_0203F288(cpu);
|
|
/* 0249B1F0 */ cpu->r[9] = 0x00000001u;
|
|
/* 0249B1F4 */ _t8 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B1F4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[9]);
|
|
L_0249B1F8: ; // 0x249b1f8
|
|
/* 0249B1F8 */ _t9 = cpu->r[30] + 0x000001ECu;
|
|
/* 0249B1F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249B1FC */ _t10 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B1FC */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0249B200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0249B204 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B204 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0249B204 */ if (_t12) goto L_0249B208; else goto L_0249B21C;
|
|
L_0249B208: ; // 0x249b208
|
|
/* 0249B208 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B20C */ Gambit_fn_0203F288(cpu);
|
|
/* 0249B210 */ cpu->r[11] = 0x00000001u;
|
|
/* 0249B214 */ _t13 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B214 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[11]);
|
|
/* 0249B218 */ _t14 = cpu->r[30] + 0x000001ECu;
|
|
/* 0249B218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
L_0249B21C: ; // 0x249b21c
|
|
/* 0249B21C */ _t15 = cpu->r[30] + 0x00000134u;
|
|
/* 0249B21C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249B220 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0249B224 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B224 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0249B224 */ if (_t17) goto L_0249B230; else goto L_0249B228;
|
|
L_0249B228: ; // 0x249b228
|
|
/* 0249B228 */ cpu->r[0] = 0x00000000u;
|
|
/* 0249B22C */ _t18 = cpu->r[31] + 0x000001C8u;
|
|
/* 0249B22C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
L_0249B230: ; // 0x249b230
|
|
/* 0249B230 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0249B234 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B234 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249B238 */ cpu->lr = cpu->r[0];
|
|
/* 0249B23C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B23C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249B240 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B244 */ return;
|
|
}
|
|
|
|
// fn_0249B248 @ 0x249b248
|
|
void Gambit_fn_0249B248(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0249B248: ; // 0x249b248
|
|
/* 0249B248 */ cpu->r[0] = cpu->lr;
|
|
/* 0249B24C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0249B24C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B24C */ cpu->r[1] = _t0;
|
|
/* 0249B250 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B250 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0249B254 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B254 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249B258 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B258 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0249B25C */ cpu->r[30] = cpu->r[3];
|
|
/* 0249B260 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249B260 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0249B264 */ _t5 = cpu->r[30] + 0x000001E8u;
|
|
/* 0249B264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249B268 */ _t6 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B268 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0249B26C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249B270 */ cpu->r[29] = 0x00000000u;
|
|
/* 0249B274 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B274 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0249B274 */ if (_t8) goto L_0249B284; else goto L_0249B278;
|
|
L_0249B278: ; // 0x249b278
|
|
/* 0249B278 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B27C */ Gambit_fn_0203F2A4(cpu);
|
|
/* 0249B280 */ _t9 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B280 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[29]);
|
|
L_0249B284: ; // 0x249b284
|
|
/* 0249B284 */ _t10 = cpu->r[30] + 0x000001ECu;
|
|
/* 0249B284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249B288 */ _t11 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B288 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0249B28C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249B290 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B290 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249B290 */ if (_t13) goto L_0249B2A0; else goto L_0249B294;
|
|
L_0249B294: ; // 0x249b294
|
|
/* 0249B294 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B298 */ Gambit_fn_0203F2A4(cpu);
|
|
/* 0249B29C */ _t14 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B29C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[29]);
|
|
L_0249B2A0: ; // 0x249b2a0
|
|
/* 0249B2A0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B2A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249B2A4 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249B2A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249B2A8 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B2A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249B2AC */ cpu->lr = cpu->r[0];
|
|
/* 0249B2B0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B2B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0249B2B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0249B2B8 */ return;
|
|
}
|
|
|
|
// fn_0249B24C @ 0x249b24c
|
|
void Gambit_fn_0249B24C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0249B24C: ; // 0x249b24c
|
|
/* 0249B24C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0249B24C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B24C */ cpu->r[1] = _t0;
|
|
/* 0249B250 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B250 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0249B254 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B254 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249B258 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B258 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0249B25C */ cpu->r[30] = cpu->r[3];
|
|
/* 0249B260 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249B260 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0249B264 */ _t5 = cpu->r[30] + 0x000001E8u;
|
|
/* 0249B264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249B268 */ _t6 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B268 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0249B26C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249B270 */ cpu->r[29] = 0x00000000u;
|
|
/* 0249B274 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B274 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0249B274 */ if (_t8) goto L_0249B284; else goto L_0249B278;
|
|
L_0249B278: ; // 0x249b278
|
|
/* 0249B278 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B27C */ Gambit_fn_0203F2A4(cpu);
|
|
/* 0249B280 */ _t9 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B280 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[29]);
|
|
L_0249B284: ; // 0x249b284
|
|
/* 0249B284 */ _t10 = cpu->r[30] + 0x000001ECu;
|
|
/* 0249B284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249B288 */ _t11 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B288 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0249B28C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249B290 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B290 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249B290 */ if (_t13) goto L_0249B2A0; else goto L_0249B294;
|
|
L_0249B294: ; // 0x249b294
|
|
/* 0249B294 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B298 */ Gambit_fn_0203F2A4(cpu);
|
|
/* 0249B29C */ _t14 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B29C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[29]);
|
|
L_0249B2A0: ; // 0x249b2a0
|
|
/* 0249B2A0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B2A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249B2A4 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249B2A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249B2A8 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B2A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249B2AC */ cpu->lr = cpu->r[0];
|
|
/* 0249B2B0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B2B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0249B2B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0249B2B8 */ return;
|
|
}
|
|
|
|
// fn_0249B2BC @ 0x249b2bc
|
|
void Gambit_fn_0249B2BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40;
|
|
|
|
L_0249B2BC: ; // 0x249b2bc
|
|
/* 0249B2BC */ cpu->r[0] = cpu->lr;
|
|
/* 0249B2C0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0249B2C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B2C0 */ cpu->r[1] = _t0;
|
|
/* 0249B2C4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B2C4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0249B2C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B2C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0249B2CC */ /* nop */
|
|
/* 0249B2D0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B2D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0249B2D4 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B2D4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0249B2D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249B2DC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B2DC */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 0249B2E0 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249B2E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0249B2E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B2E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0249B2E4 */ if (_t8) goto L_0249B2E8; else goto L_0249B2F8;
|
|
L_0249B2E8: ; // 0x249b2e8
|
|
/* 0249B2E8 */ cpu->r[3] = 0x00000248u;
|
|
/* 0249B2EC */ Gambit_fn_02801A78(cpu);
|
|
/* 0249B2F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B2F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249B2F4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B2F4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0249B2F4 */ if (_t10) goto L_0249B3D4; else goto L_0249B2F8;
|
|
L_0249B2F8: ; // 0x249b2f8
|
|
/* 0249B2F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B2FC */ Gambit_fn_025015D0(cpu);
|
|
/* 0249B300 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249B304 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249B308 */ cpu->r[0] = cpu->r[0] + 0xFFFFBAC4u;
|
|
/* 0249B30C */ _t11 = cpu->r[12] + 0xFFFFBB98u;
|
|
/* 0249B30C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0249B310 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 0249B310 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0249B314 */ cpu->r[29] = 0x10110000u;
|
|
/* 0249B318 */ cpu->r[30] = cpu->r[31] + 0x00000188u;
|
|
/* 0249B318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249B31C */ cpu->r[29] = cpu->r[29] + 0x00000A2Cu;
|
|
/* 0249B320 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B320 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0249B320 */ if (_t14) goto L_0249B324; else goto L_0249B334;
|
|
L_0249B324: ; // 0x249b324
|
|
/* 0249B324 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249B328 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249B32C */ cpu->r[30] = cpu->r[3];
|
|
/* 0249B32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249B330 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B330 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0249B330 */ if (_t16) goto L_0249B378; else goto L_0249B334;
|
|
L_0249B334: ; // 0x249b334
|
|
/* 0249B334 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249B338 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249B33C */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249B340 */ cpu->r[5] = cpu->r[5] + 0xFFFFBBBCu;
|
|
/* 0249B344 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249B348 */ cpu->r[6] = cpu->r[6] + 0xFFFFBBC8u;
|
|
/* 0249B34C */ cpu->r[7] = cpu->r[5];
|
|
/* 0249B350 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B354 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249B358 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249B35C */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 0249B35C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0249B360 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249B364 */ _t18 = cpu->r[12] + 0xFFFFBBA4u;
|
|
/* 0249B364 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0249B368 */ _t19 = cpu->r[11] + 0xFFFFBBA8u;
|
|
/* 0249B368 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0249B36C */ _t20 = cpu->r[30] + 0x00000054u;
|
|
/* 0249B36C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 0249B370 */ _t21 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249B370 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 0249B374 */ _t22 = cpu->r[30] + 0x00000058u;
|
|
/* 0249B374 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[31]);
|
|
L_0249B378: ; // 0x249b378
|
|
/* 0249B378 */ cpu->r[30] = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249B37C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B37C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0249B37C */ if (_t24) goto L_0249B380; else goto L_0249B390;
|
|
L_0249B380: ; // 0x249b380
|
|
/* 0249B380 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249B384 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249B388 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249B388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249B38C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B38C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0249B38C */ if (_t26) goto L_0249B3D4; else goto L_0249B390;
|
|
L_0249B390: ; // 0x249b390
|
|
/* 0249B390 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249B394 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249B398 */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249B39C */ cpu->r[5] = cpu->r[5] + 0xFFFFBBB4u;
|
|
/* 0249B3A0 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249B3A4 */ cpu->r[6] = cpu->r[6] + 0xFFFFBBDCu;
|
|
/* 0249B3A8 */ cpu->r[7] = cpu->r[5];
|
|
/* 0249B3AC */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B3B0 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249B3B4 */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249B3B8 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 0249B3B8 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 0249B3BC */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249B3C0 */ _t28 = cpu->r[10] + 0xFFFFBBACu;
|
|
/* 0249B3C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0249B3C4 */ _t29 = cpu->r[9] + 0xFFFFBBB0u;
|
|
/* 0249B3C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0249B3C8 */ _t30 = cpu->r[30] + 0x00000054u;
|
|
/* 0249B3C8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 0249B3CC */ _t31 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249B3CC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]);
|
|
/* 0249B3D0 */ _t32 = cpu->r[30] + 0x00000058u;
|
|
/* 0249B3D0 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
|
|
L_0249B3D4: ; // 0x249b3d4
|
|
/* 0249B3D4 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B3D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0249B3D8 */ _t34 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B3D8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0249B3DC */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B3DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0249B3E0 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B3E0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 0249B3E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B3E8 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B3E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0249B3EC */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249B3EC */ _t39 = _t38 & 0x00000001u;
|
|
/* 0249B3EC */ if (_t39) goto L_0249B3F0; // else: addr-0 trap, fall-through
|
|
L_0249B3F0: ; // 0x249b3f0
|
|
/* 0249B3F0 */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249B3F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0249B3F4 */ cpu->lr = cpu->r[0];
|
|
/* 0249B3F8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0249B3FC */ return;
|
|
}
|
|
|
|
// fn_0249B2C0 @ 0x249b2c0
|
|
void Gambit_fn_0249B2C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40;
|
|
|
|
L_0249B2C0: ; // 0x249b2c0
|
|
/* 0249B2C0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0249B2C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B2C0 */ cpu->r[1] = _t0;
|
|
/* 0249B2C4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B2C4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0249B2C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B2C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0249B2CC */ /* nop */
|
|
/* 0249B2D0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B2D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0249B2D4 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B2D4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0249B2D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249B2DC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B2DC */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 0249B2E0 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249B2E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0249B2E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B2E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0249B2E4 */ if (_t8) goto L_0249B2E8; else goto L_0249B2F8;
|
|
L_0249B2E8: ; // 0x249b2e8
|
|
/* 0249B2E8 */ cpu->r[3] = 0x00000248u;
|
|
/* 0249B2EC */ Gambit_fn_02801A78(cpu);
|
|
/* 0249B2F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B2F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249B2F4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B2F4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0249B2F4 */ if (_t10) goto L_0249B3D4; else goto L_0249B2F8;
|
|
L_0249B2F8: ; // 0x249b2f8
|
|
/* 0249B2F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B2FC */ Gambit_fn_025015D0(cpu);
|
|
/* 0249B300 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249B304 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249B308 */ cpu->r[0] = cpu->r[0] + 0xFFFFBAC4u;
|
|
/* 0249B30C */ _t11 = cpu->r[12] + 0xFFFFBB98u;
|
|
/* 0249B30C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0249B310 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 0249B310 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0249B314 */ cpu->r[29] = 0x10110000u;
|
|
/* 0249B318 */ cpu->r[30] = cpu->r[31] + 0x00000188u;
|
|
/* 0249B318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249B31C */ cpu->r[29] = cpu->r[29] + 0x00000A2Cu;
|
|
/* 0249B320 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B320 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0249B320 */ if (_t14) goto L_0249B324; else goto L_0249B334;
|
|
L_0249B324: ; // 0x249b324
|
|
/* 0249B324 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249B328 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249B32C */ cpu->r[30] = cpu->r[3];
|
|
/* 0249B32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249B330 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B330 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0249B330 */ if (_t16) goto L_0249B378; else goto L_0249B334;
|
|
L_0249B334: ; // 0x249b334
|
|
/* 0249B334 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249B338 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249B33C */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249B340 */ cpu->r[5] = cpu->r[5] + 0xFFFFBBBCu;
|
|
/* 0249B344 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249B348 */ cpu->r[6] = cpu->r[6] + 0xFFFFBBC8u;
|
|
/* 0249B34C */ cpu->r[7] = cpu->r[5];
|
|
/* 0249B350 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B354 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249B358 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249B35C */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 0249B35C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0249B360 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249B364 */ _t18 = cpu->r[12] + 0xFFFFBBA4u;
|
|
/* 0249B364 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0249B368 */ _t19 = cpu->r[11] + 0xFFFFBBA8u;
|
|
/* 0249B368 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0249B36C */ _t20 = cpu->r[30] + 0x00000054u;
|
|
/* 0249B36C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 0249B370 */ _t21 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249B370 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 0249B374 */ _t22 = cpu->r[30] + 0x00000058u;
|
|
/* 0249B374 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[31]);
|
|
L_0249B378: ; // 0x249b378
|
|
/* 0249B378 */ cpu->r[30] = cpu->r[31] + 0x000001E8u;
|
|
/* 0249B378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249B37C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B37C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0249B37C */ if (_t24) goto L_0249B380; else goto L_0249B390;
|
|
L_0249B380: ; // 0x249b380
|
|
/* 0249B380 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249B384 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249B388 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249B388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249B38C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B38C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0249B38C */ if (_t26) goto L_0249B3D4; else goto L_0249B390;
|
|
L_0249B390: ; // 0x249b390
|
|
/* 0249B390 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249B394 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249B398 */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249B39C */ cpu->r[5] = cpu->r[5] + 0xFFFFBBB4u;
|
|
/* 0249B3A0 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249B3A4 */ cpu->r[6] = cpu->r[6] + 0xFFFFBBDCu;
|
|
/* 0249B3A8 */ cpu->r[7] = cpu->r[5];
|
|
/* 0249B3AC */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B3B0 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249B3B4 */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249B3B8 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 0249B3B8 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 0249B3BC */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249B3C0 */ _t28 = cpu->r[10] + 0xFFFFBBACu;
|
|
/* 0249B3C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0249B3C4 */ _t29 = cpu->r[9] + 0xFFFFBBB0u;
|
|
/* 0249B3C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0249B3C8 */ _t30 = cpu->r[30] + 0x00000054u;
|
|
/* 0249B3C8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 0249B3CC */ _t31 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249B3CC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]);
|
|
/* 0249B3D0 */ _t32 = cpu->r[30] + 0x00000058u;
|
|
/* 0249B3D0 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
|
|
L_0249B3D4: ; // 0x249b3d4
|
|
/* 0249B3D4 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B3D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0249B3D8 */ _t34 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B3D8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0249B3DC */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B3DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0249B3E0 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B3E0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 0249B3E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B3E8 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B3E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0249B3EC */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249B3EC */ _t39 = _t38 & 0x00000001u;
|
|
/* 0249B3EC */ if (_t39) goto L_0249B3F0; // else: addr-0 trap, fall-through
|
|
L_0249B3F0: ; // 0x249b3f0
|
|
/* 0249B3F0 */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249B3F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0249B3F4 */ cpu->lr = cpu->r[0];
|
|
/* 0249B3F8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0249B3FC */ return;
|
|
}
|
|
|
|
// fn_0249B400 @ 0x249b400
|
|
void Gambit_fn_0249B400(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0249B400: ; // 0x249b400
|
|
/* 0249B400 */ cpu->r[0] = cpu->lr;
|
|
/* 0249B404 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0249B404 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0249B408 */ cpu->r[3] = 0x00000248u;
|
|
/* 0249B40C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0249B40C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0249B40C */ cpu->r[1] = _t1;
|
|
/* 0249B410 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249B414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249B418 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B418 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249B418 */ if (_t3) goto L_0249B420; else goto L_0249B41C;
|
|
L_0249B41C: ; // 0x249b41c
|
|
/* 0249B41C */ Gambit_fn_0249B2BC(cpu);
|
|
L_0249B420: ; // 0x249b420
|
|
/* 0249B420 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249B424 */ cpu->lr = cpu->r[0];
|
|
/* 0249B428 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0249B42C */ return;
|
|
}
|
|
|
|
// fn_0249B40C @ 0x249b40c
|
|
void Gambit_fn_0249B40C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0249B40C: ; // 0x249b40c
|
|
/* 0249B40C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0249B40C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B40C */ cpu->r[1] = _t0;
|
|
/* 0249B410 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249B414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249B418 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B418 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249B418 */ if (_t2) goto L_0249B420; else goto L_0249B41C;
|
|
L_0249B41C: ; // 0x249b41c
|
|
/* 0249B41C */ Gambit_fn_0249B2BC(cpu);
|
|
L_0249B420: ; // 0x249b420
|
|
/* 0249B420 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249B424 */ cpu->lr = cpu->r[0];
|
|
/* 0249B428 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0249B42C */ return;
|
|
}
|
|
|
|
// fn_0249B434 @ 0x249b434
|
|
void Gambit_fn_0249B434(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
|
|
|
|
L_0249B434: ; // 0x249b434
|
|
/* 0249B434 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0249B434 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B434 */ cpu->r[1] = _t0;
|
|
/* 0249B438 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B438 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0249B43C */ /* nop */
|
|
/* 0249B440 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B440 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0249B444 */ /* nop */
|
|
/* 0249B448 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B448 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0249B44C */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 0249B44C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0249B450 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B450 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 0249B454 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 0249B454 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0249B458 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249B45C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B45C */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 0249B460 */ _t8 = cpu->r[30] + 0x000001F8u;
|
|
/* 0249B460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249B464 */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249B468 */ _t9 = cpu->r[10] + 0xFFFFBB98u;
|
|
/* 0249B468 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0249B46C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
|
|
/* 0249B470 */ cpu->r[31] = 0x00000000u;
|
|
/* 0249B474 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B474 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249B474 */ if (_t11) goto L_0249B4AC; else goto L_0249B478;
|
|
L_0249B478: ; // 0x249b478
|
|
/* 0249B478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0249B47C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B47C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249B47C */ if (_t13) goto L_0249B578; else goto L_0249B480;
|
|
L_0249B480: ; // 0x249b480
|
|
/* 0249B480 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249B484 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 0249B484 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0249B488 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B488 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0249B48C */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B48C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 0249B490 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B490 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 0249B494 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B494 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0249B498 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249B498 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0249B498 */ if (_t21) goto L_0249B49C; // else: addr-0 trap, fall-through
|
|
L_0249B49C: ; // 0x249b49c
|
|
/* 0249B49C */ _t22 = cpu->r[1] + 0x00000034u;
|
|
/* 0249B49C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0249B4A0 */ cpu->lr = cpu->r[0];
|
|
/* 0249B4A4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0249B4A8 */ return;
|
|
L_0249B4AC: ; // 0x249b4ac
|
|
/* 0249B4AC */ _t23 = cpu->r[30] + 0x00000134u;
|
|
/* 0249B4AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0249B4B0 */ _t24 = cpu->r[9] + 0x000001C8u;
|
|
/* 0249B4B0 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]);
|
|
/* 0249B4B4 */ _t25 = cpu->r[30] + 0x000001E8u;
|
|
/* 0249B4B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0249B4B8 */ cpu->r[31] = 0x00000001u;
|
|
/* 0249B4BC */ _t26 = cpu->r[30] + 0x00000134u;
|
|
/* 0249B4BC */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 0249B4C0 */ _t27 = cpu->r[10] + 0x000001C8u;
|
|
/* 0249B4C0 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[31]);
|
|
/* 0249B4C4 */ _t28 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B4C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0249B4C8 */ Gambit_fn_02398534(cpu);
|
|
/* 0249B4CC */ _t29 = cpu->r[30] + 0x00000004u;
|
|
/* 0249B4CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0249B4D0 */ _t30 = cpu->r[12] + 0x00000374u;
|
|
/* 0249B4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0249B4D4 */ cpu->ctr = cpu->r[0];
|
|
/* 0249B4D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B4DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249B4E0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0249B4E4 */ _t31 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B4E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0249B4E8 */ cpu->r[5] = cpu->r[31];
|
|
/* 0249B4EC */ Gambit_fn_02398850(cpu);
|
|
/* 0249B4F0 */ cpu->f[1] = cpu->f[30];
|
|
/* 0249B4F4 */ _t32 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B4F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0249B4F8 */ Gambit_fn_023988E0(cpu);
|
|
/* 0249B4FC */ cpu->f[1] = cpu->f[30];
|
|
/* 0249B500 */ _t33 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B500 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0249B504 */ Gambit_fn_02398CF8(cpu);
|
|
/* 0249B508 */ _t34 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B508 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0249B50C */ Gambit_fn_02398534(cpu);
|
|
/* 0249B510 */ _t35 = cpu->r[30] + 0x00000004u;
|
|
/* 0249B510 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0249B514 */ _t36 = cpu->r[11] + 0x0000037Cu;
|
|
/* 0249B514 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0249B518 */ cpu->ctr = cpu->r[9];
|
|
/* 0249B51C */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B520 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249B524 */ cpu->r[4] = cpu->r[3];
|
|
/* 0249B528 */ _t37 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B528 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0249B52C */ cpu->r[5] = cpu->r[31];
|
|
/* 0249B530 */ Gambit_fn_02398850(cpu);
|
|
/* 0249B534 */ cpu->f[1] = cpu->f[30];
|
|
/* 0249B538 */ _t38 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B538 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0249B53C */ Gambit_fn_023988E0(cpu);
|
|
/* 0249B540 */ cpu->f[1] = cpu->f[30];
|
|
/* 0249B544 */ _t39 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B544 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0249B548 */ Gambit_fn_02398CF8(cpu);
|
|
/* 0249B54C */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B54C */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0249B550 */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B550 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0249B554 */ _t42 = cpu->r[1] + 0x00000028u;
|
|
/* 0249B554 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 0249B558 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B558 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 0249B55C */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B55C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t44);
|
|
/* 0249B560 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B560 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0249B564 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249B564 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0249B564 */ if (_t47) goto L_0249B568; // else: addr-0 trap, fall-through
|
|
L_0249B568: ; // 0x249b568
|
|
/* 0249B568 */ _t48 = cpu->r[1] + 0x00000034u;
|
|
/* 0249B568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0249B56C */ cpu->lr = cpu->r[0];
|
|
/* 0249B570 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0249B574 */ return;
|
|
L_0249B578: ; // 0x249b578
|
|
/* 0249B578 */ _t49 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B578 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0249B57C */ Gambit_fn_02398534(cpu);
|
|
/* 0249B580 */ _t50 = cpu->r[30] + 0x00000004u;
|
|
/* 0249B580 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0249B584 */ _t51 = cpu->r[10] + 0x00000374u;
|
|
/* 0249B584 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0249B588 */ cpu->ctr = cpu->r[11];
|
|
/* 0249B58C */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B590 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249B594 */ cpu->r[4] = cpu->r[3];
|
|
/* 0249B598 */ _t52 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B598 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0249B59C */ cpu->r[5] = 0x00000001u;
|
|
/* 0249B5A0 */ Gambit_fn_02398850(cpu);
|
|
/* 0249B5A4 */ cpu->f[1] = cpu->f[30];
|
|
/* 0249B5A8 */ _t53 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B5A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0249B5AC */ Gambit_fn_023988E0(cpu);
|
|
/* 0249B5B0 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249B5B4 */ _t54 = cpu->r[12] + 0xFFFFBBECu;
|
|
/* 0249B5B4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 0249B5B8 */ cpu->f[1] = cpu->f[31];
|
|
/* 0249B5BC */ _t55 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B5BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0249B5C0 */ Gambit_fn_02398CF8(cpu);
|
|
/* 0249B5C4 */ _t56 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B5C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0249B5C8 */ Gambit_fn_02398534(cpu);
|
|
/* 0249B5CC */ _t57 = cpu->r[30] + 0x00000004u;
|
|
/* 0249B5CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0249B5D0 */ _t58 = cpu->r[12] + 0x0000037Cu;
|
|
/* 0249B5D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0249B5D4 */ cpu->ctr = cpu->r[0];
|
|
/* 0249B5D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B5DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249B5E0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0249B5E4 */ _t59 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B5E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0249B5E8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0249B5EC */ Gambit_fn_02398850(cpu);
|
|
/* 0249B5F0 */ cpu->f[1] = cpu->f[30];
|
|
/* 0249B5F4 */ _t60 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B5F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0249B5F8 */ Gambit_fn_023988E0(cpu);
|
|
/* 0249B5FC */ cpu->f[1] = cpu->f[31];
|
|
/* 0249B600 */ _t61 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B600 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0249B604 */ Gambit_fn_02398CF8(cpu);
|
|
/* 0249B608 */ _t62 = cpu->r[30] + 0x00000134u;
|
|
/* 0249B608 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0249B60C */ _t63 = cpu->r[12] + 0x000001C8u;
|
|
/* 0249B60C */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[31]);
|
|
/* 0249B610 */ _t64 = cpu->r[30] + 0x000001ECu;
|
|
/* 0249B610 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0249B614 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249B618 */ _t65 = cpu->r[30] + 0x00000134u;
|
|
/* 0249B618 */ rbrew_write32(cpu->mem, _t65, cpu->r[10]);
|
|
/* 0249B61C */ _t66 = cpu->r[10] + 0x000001C8u;
|
|
/* 0249B61C */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[0]);
|
|
/* 0249B620 */ _t67 = cpu->r[1] + 0x00000028u;
|
|
/* 0249B620 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 0249B624 */ _t68 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B624 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 0249B628 */ _t69 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B628 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 0249B62C */ _t70 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B62C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t70);
|
|
/* 0249B630 */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B630 */ cpu->r[31] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0249B634 */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B634 */ cpu->r[30] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0249B638 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249B638 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0249B638 */ if (_t74) goto L_0249B63C; // else: addr-0 trap, fall-through
|
|
L_0249B63C: ; // 0x249b63c
|
|
/* 0249B63C */ _t75 = cpu->r[1] + 0x00000034u;
|
|
/* 0249B63C */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0249B640 */ cpu->lr = cpu->r[0];
|
|
/* 0249B644 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0249B648 */ return;
|
|
}
|
|
|
|
// fn_0249B64C @ 0x249b64c
|
|
void Gambit_fn_0249B64C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_0249B430: ; // 0x249b430
|
|
/* 0249B430 */ cpu->r[0] = cpu->lr;
|
|
/* 0249B434 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0249B434 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B434 */ cpu->r[1] = _t0;
|
|
/* 0249B438 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B438 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0249B43C */ /* nop */
|
|
/* 0249B440 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B440 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0249B444 */ /* nop */
|
|
/* 0249B448 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B448 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0249B44C */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 0249B44C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0249B450 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B450 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 0249B454 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 0249B454 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0249B458 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249B45C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B45C */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 0249B460 */ _t8 = cpu->r[30] + 0x000001F8u;
|
|
/* 0249B460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249B464 */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249B468 */ _t9 = cpu->r[10] + 0xFFFFBB98u;
|
|
/* 0249B468 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0249B46C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
|
|
/* 0249B470 */ cpu->r[31] = 0x00000000u;
|
|
/* 0249B474 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B474 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249B474 */ if (_t11) goto L_0249B4AC; else goto L_0249B478;
|
|
L_0249B478: ; // 0x249b478
|
|
/* 0249B478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0249B47C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B47C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249B47C */ if (_t13) goto L_0249B578; else goto L_0249B480;
|
|
L_0249B480: ; // 0x249b480
|
|
/* 0249B480 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249B484 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 0249B484 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0249B488 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B488 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0249B48C */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B48C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 0249B490 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B490 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 0249B494 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B494 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0249B498 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249B498 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0249B498 */ if (_t21) goto L_0249B49C; // else: addr-0 trap, fall-through
|
|
L_0249B49C: ; // 0x249b49c
|
|
/* 0249B49C */ _t22 = cpu->r[1] + 0x00000034u;
|
|
/* 0249B49C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0249B4A0 */ cpu->lr = cpu->r[0];
|
|
/* 0249B4A4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0249B4A8 */ return;
|
|
L_0249B4AC: ; // 0x249b4ac
|
|
/* 0249B4AC */ _t23 = cpu->r[30] + 0x00000134u;
|
|
/* 0249B4AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0249B4B0 */ _t24 = cpu->r[9] + 0x000001C8u;
|
|
/* 0249B4B0 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]);
|
|
/* 0249B4B4 */ _t25 = cpu->r[30] + 0x000001E8u;
|
|
/* 0249B4B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0249B4B8 */ cpu->r[31] = 0x00000001u;
|
|
/* 0249B4BC */ _t26 = cpu->r[30] + 0x00000134u;
|
|
/* 0249B4BC */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 0249B4C0 */ _t27 = cpu->r[10] + 0x000001C8u;
|
|
/* 0249B4C0 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[31]);
|
|
/* 0249B4C4 */ _t28 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B4C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0249B4C8 */ Gambit_fn_02398534(cpu);
|
|
/* 0249B4CC */ _t29 = cpu->r[30] + 0x00000004u;
|
|
/* 0249B4CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0249B4D0 */ _t30 = cpu->r[12] + 0x00000374u;
|
|
/* 0249B4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0249B4D4 */ cpu->ctr = cpu->r[0];
|
|
/* 0249B4D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B4DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249B4E0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0249B4E4 */ _t31 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B4E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0249B4E8 */ cpu->r[5] = cpu->r[31];
|
|
/* 0249B4EC */ Gambit_fn_02398850(cpu);
|
|
/* 0249B4F0 */ cpu->f[1] = cpu->f[30];
|
|
/* 0249B4F4 */ _t32 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B4F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0249B4F8 */ Gambit_fn_023988E0(cpu);
|
|
/* 0249B4FC */ cpu->f[1] = cpu->f[30];
|
|
/* 0249B500 */ _t33 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B500 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0249B504 */ Gambit_fn_02398CF8(cpu);
|
|
/* 0249B508 */ _t34 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B508 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0249B50C */ Gambit_fn_02398534(cpu);
|
|
/* 0249B510 */ _t35 = cpu->r[30] + 0x00000004u;
|
|
/* 0249B510 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0249B514 */ _t36 = cpu->r[11] + 0x0000037Cu;
|
|
/* 0249B514 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0249B518 */ cpu->ctr = cpu->r[9];
|
|
/* 0249B51C */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B520 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249B524 */ cpu->r[4] = cpu->r[3];
|
|
/* 0249B528 */ _t37 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B528 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0249B52C */ cpu->r[5] = cpu->r[31];
|
|
/* 0249B530 */ Gambit_fn_02398850(cpu);
|
|
/* 0249B534 */ cpu->f[1] = cpu->f[30];
|
|
/* 0249B538 */ _t38 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B538 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0249B53C */ Gambit_fn_023988E0(cpu);
|
|
/* 0249B540 */ cpu->f[1] = cpu->f[30];
|
|
/* 0249B544 */ _t39 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B544 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0249B548 */ Gambit_fn_02398CF8(cpu);
|
|
/* 0249B54C */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B54C */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0249B550 */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B550 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0249B554 */ _t42 = cpu->r[1] + 0x00000028u;
|
|
/* 0249B554 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 0249B558 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B558 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 0249B55C */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B55C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t44);
|
|
/* 0249B560 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B560 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0249B564 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249B564 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0249B564 */ if (_t47) goto L_0249B568; // else: addr-0 trap, fall-through
|
|
L_0249B568: ; // 0x249b568
|
|
/* 0249B568 */ _t48 = cpu->r[1] + 0x00000034u;
|
|
/* 0249B568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0249B56C */ cpu->lr = cpu->r[0];
|
|
/* 0249B570 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0249B574 */ return;
|
|
L_0249B578: ; // 0x249b578
|
|
/* 0249B578 */ _t49 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B578 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0249B57C */ Gambit_fn_02398534(cpu);
|
|
/* 0249B580 */ _t50 = cpu->r[30] + 0x00000004u;
|
|
/* 0249B580 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0249B584 */ _t51 = cpu->r[10] + 0x00000374u;
|
|
/* 0249B584 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0249B588 */ cpu->ctr = cpu->r[11];
|
|
/* 0249B58C */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B590 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249B594 */ cpu->r[4] = cpu->r[3];
|
|
/* 0249B598 */ _t52 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B598 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0249B59C */ cpu->r[5] = 0x00000001u;
|
|
/* 0249B5A0 */ Gambit_fn_02398850(cpu);
|
|
/* 0249B5A4 */ cpu->f[1] = cpu->f[30];
|
|
/* 0249B5A8 */ _t53 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B5A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0249B5AC */ Gambit_fn_023988E0(cpu);
|
|
/* 0249B5B0 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249B5B4 */ _t54 = cpu->r[12] + 0xFFFFBBECu;
|
|
/* 0249B5B4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 0249B5B8 */ cpu->f[1] = cpu->f[31];
|
|
/* 0249B5BC */ _t55 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249B5BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0249B5C0 */ Gambit_fn_02398CF8(cpu);
|
|
/* 0249B5C4 */ _t56 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B5C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0249B5C8 */ Gambit_fn_02398534(cpu);
|
|
/* 0249B5CC */ _t57 = cpu->r[30] + 0x00000004u;
|
|
/* 0249B5CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0249B5D0 */ _t58 = cpu->r[12] + 0x0000037Cu;
|
|
/* 0249B5D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0249B5D4 */ cpu->ctr = cpu->r[0];
|
|
/* 0249B5D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B5DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249B5E0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0249B5E4 */ _t59 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B5E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0249B5E8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0249B5EC */ Gambit_fn_02398850(cpu);
|
|
/* 0249B5F0 */ cpu->f[1] = cpu->f[30];
|
|
/* 0249B5F4 */ _t60 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B5F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0249B5F8 */ Gambit_fn_023988E0(cpu);
|
|
/* 0249B5FC */ cpu->f[1] = cpu->f[31];
|
|
/* 0249B600 */ _t61 = cpu->r[30] + 0x000001F4u;
|
|
/* 0249B600 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0249B604 */ Gambit_fn_02398CF8(cpu);
|
|
/* 0249B608 */ _t62 = cpu->r[30] + 0x00000134u;
|
|
/* 0249B608 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0249B60C */ _t63 = cpu->r[12] + 0x000001C8u;
|
|
/* 0249B60C */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[31]);
|
|
/* 0249B610 */ _t64 = cpu->r[30] + 0x000001ECu;
|
|
/* 0249B610 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0249B614 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249B618 */ _t65 = cpu->r[30] + 0x00000134u;
|
|
/* 0249B618 */ rbrew_write32(cpu->mem, _t65, cpu->r[10]);
|
|
/* 0249B61C */ _t66 = cpu->r[10] + 0x000001C8u;
|
|
/* 0249B61C */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[0]);
|
|
/* 0249B620 */ _t67 = cpu->r[1] + 0x00000028u;
|
|
/* 0249B620 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 0249B624 */ _t68 = cpu->r[1] + 0x00000018u;
|
|
/* 0249B624 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 0249B628 */ _t69 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B628 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 0249B62C */ _t70 = cpu->r[1] + 0x00000010u;
|
|
/* 0249B62C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t70);
|
|
/* 0249B630 */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B630 */ cpu->r[31] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0249B634 */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 0249B634 */ cpu->r[30] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0249B638 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249B638 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0249B638 */ if (_t74) goto L_0249B63C; // else: addr-0 trap, fall-through
|
|
L_0249B63C: ; // 0x249b63c
|
|
/* 0249B63C */ _t75 = cpu->r[1] + 0x00000034u;
|
|
/* 0249B63C */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0249B640 */ cpu->lr = cpu->r[0];
|
|
/* 0249B644 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0249B648 */ return;
|
|
L_0249B64C: ; // 0x249b64c
|
|
/* 0249B64C */ _t76 = cpu->r[3] + 0x000001F8u;
|
|
/* 0249B64C */ rbrew_write32(cpu->mem, _t76, cpu->r[4]);
|
|
/* 0249B650 */ goto L_0249B430;
|
|
}
|
|
|
|
// fn_0249B654 @ 0x249b654
|
|
void Gambit_fn_0249B654(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0249B654: ; // 0x249b654
|
|
/* 0249B654 */ _t0 = cpu->r[3] + 0x000000B8u;
|
|
/* 0249B654 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0249B658 */ _t1 = cpu->r[3] + 0x000000C4u;
|
|
/* 0249B658 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0249B65C */ _t2 = cpu->r[3] + 0x00000058u;
|
|
/* 0249B65C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]);
|
|
/* 0249B660 */ _t3 = cpu->r[3] + 0x00000064u;
|
|
/* 0249B660 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[13]);
|
|
/* 0249B664 */ _t4 = cpu->r[3] + 0x000000CCu;
|
|
/* 0249B664 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0249B668 */ _t5 = cpu->r[3] + 0x000000D0u;
|
|
/* 0249B668 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0249B66C */ _t6 = cpu->r[3] + 0x0000006Cu;
|
|
/* 0249B66C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 0249B670 */ _t7 = cpu->r[3] + 0x00000070u;
|
|
/* 0249B670 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 0249B674 */ _t8 = cpu->r[3] + 0x000000C8u;
|
|
/* 0249B674 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0249B678 */ _t9 = cpu->r[3] + 0x000000C0u;
|
|
/* 0249B678 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0249B67C */ _t10 = cpu->r[3] + 0x00000068u;
|
|
/* 0249B67C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 0249B680 */ _t11 = cpu->r[3] + 0x00000060u;
|
|
/* 0249B680 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 0249B684 */ _t12 = cpu->r[3] + 0x000000D4u;
|
|
/* 0249B684 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0249B688 */ _t13 = cpu->r[3] + 0x000000B4u;
|
|
/* 0249B688 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0249B68C */ _t14 = cpu->r[3] + 0x00000074u;
|
|
/* 0249B68C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 0249B690 */ _t15 = cpu->r[3] + 0x000000BCu;
|
|
/* 0249B690 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0249B694 */ _t16 = cpu->r[3] + 0x00000054u;
|
|
/* 0249B694 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 0249B698 */ _t17 = cpu->r[3] + 0x0000005Cu;
|
|
/* 0249B698 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 0249B69C */ return;
|
|
}
|
|
|
|
// fn_0249B6A0 @ 0x249b6a0
|
|
void Gambit_fn_0249B6A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0249B6A0: ; // 0x249b6a0
|
|
/* 0249B6A0 */ cpu->r[0] = cpu->lr;
|
|
/* 0249B6A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B6A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B6A4 */ cpu->r[1] = _t0;
|
|
/* 0249B6A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B6A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249B6AC */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B6B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B6B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249B6B4 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249B6B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249B6B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0249B6BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B6BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249B6BC */ if (_t5) goto L_0249B6F8; else goto L_0249B6C0;
|
|
L_0249B6C0: ; // 0x249b6c0
|
|
/* 0249B6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0249B6C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B6C4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0249B6C4 */ if (_t7) goto L_0249B6F8; else goto L_0249B6C8;
|
|
L_0249B6C8: ; // 0x249b6c8
|
|
/* 0249B6C8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0249B6CC */ _t8 = cpu->r[12] + 0x00006000u;
|
|
/* 0249B6CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249B6D0 */ _t9 = cpu->r[12] + 0x00000264u;
|
|
/* 0249B6D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249B6D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249B6D8 */ Gambit_fn_027912FC(cpu);
|
|
/* 0249B6DC */ cpu->r[10] = 0x00000001u;
|
|
/* 0249B6E0 */ _t10 = cpu->r[31] + 0x0000003Au;
|
|
/* 0249B6E0 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[10]);
|
|
/* 0249B6E4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B6E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249B6E8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B6E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249B6EC */ cpu->lr = cpu->r[0];
|
|
/* 0249B6F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B6F4 */ return;
|
|
L_0249B6F8: ; // 0x249b6f8
|
|
/* 0249B6F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B6FC */ Gambit_fn_02790488(cpu);
|
|
/* 0249B700 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249B704 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B704 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249B708 */ cpu->lr = cpu->r[0];
|
|
/* 0249B70C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B710 */ return;
|
|
}
|
|
|
|
// fn_0249B6A4 @ 0x249b6a4
|
|
void Gambit_fn_0249B6A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0249B6A4: ; // 0x249b6a4
|
|
/* 0249B6A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B6A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B6A4 */ cpu->r[1] = _t0;
|
|
/* 0249B6A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B6A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249B6AC */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B6B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B6B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249B6B4 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249B6B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249B6B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0249B6BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B6BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249B6BC */ if (_t5) goto L_0249B6F8; else goto L_0249B6C0;
|
|
L_0249B6C0: ; // 0x249b6c0
|
|
/* 0249B6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0249B6C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B6C4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0249B6C4 */ if (_t7) goto L_0249B6F8; else goto L_0249B6C8;
|
|
L_0249B6C8: ; // 0x249b6c8
|
|
/* 0249B6C8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0249B6CC */ _t8 = cpu->r[12] + 0x00006000u;
|
|
/* 0249B6CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249B6D0 */ _t9 = cpu->r[12] + 0x00000264u;
|
|
/* 0249B6D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249B6D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249B6D8 */ Gambit_fn_027912FC(cpu);
|
|
/* 0249B6DC */ cpu->r[10] = 0x00000001u;
|
|
/* 0249B6E0 */ _t10 = cpu->r[31] + 0x0000003Au;
|
|
/* 0249B6E0 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[10]);
|
|
/* 0249B6E4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B6E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249B6E8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B6E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249B6EC */ cpu->lr = cpu->r[0];
|
|
/* 0249B6F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B6F4 */ return;
|
|
L_0249B6F8: ; // 0x249b6f8
|
|
/* 0249B6F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B6FC */ Gambit_fn_02790488(cpu);
|
|
/* 0249B700 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249B704 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B704 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249B708 */ cpu->lr = cpu->r[0];
|
|
/* 0249B70C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B710 */ return;
|
|
}
|
|
|
|
// fn_0249B714 @ 0x249b714
|
|
void Gambit_fn_0249B714(CPUState* 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_02398850: ; // 0x2398850
|
|
/* 02398850 */ cpu->r[0] = cpu->lr;
|
|
/* 02398854 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02398854 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02398854 */ cpu->r[1] = _t0;
|
|
/* 02398858 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02398858 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0239885C */ cpu->r[30] = cpu->r[3];
|
|
/* 02398860 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02398860 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02398864 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02398864 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02398868 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02398868 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0239886C */ cpu->r[29] = cpu->r[5];
|
|
/* 02398870 */ _t5 = cpu->r[30] + 0x00000020u;
|
|
/* 02398870 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02398874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02398878 */ cpu->r[31] = cpu->r[4];
|
|
/* 0239887C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0239887C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0239887C */ if (_t7) goto L_023988AC; else goto L_02398880;
|
|
L_02398880: ; // 0x2398880
|
|
/* 02398880 */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 02398880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02398884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02398888 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02398888 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02398888 */ if (_t10) goto L_023988AC; else goto L_0239888C;
|
|
L_0239888C: ; // 0x239888c
|
|
/* 0239888C */ _t11 = cpu->r[30] + 0x00000014u;
|
|
/* 0239888C */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02398890 */ cpu->r[5] = cpu->r[31];
|
|
/* 02398894 */ Gambit_fn_02397F10(cpu);
|
|
/* 02398898 */ cpu->r[5] = cpu->r[29];
|
|
/* 0239889C */ cpu->r[4] = cpu->r[31];
|
|
/* 023988A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 023988A4 */ Gambit_fn_02398664(cpu);
|
|
/* 023988A8 */ goto L_023988C4;
|
|
L_023988AC: ; // 0x23988ac
|
|
/* 023988AC */ cpu->r[12] = 0x10080000u;
|
|
/* 023988B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 023988B4 */ _t12 = cpu->r[12] + 0x00006D88u;
|
|
/* 023988B4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 023988B8 */ cpu->r[4] = cpu->r[31];
|
|
/* 023988BC */ cpu->r[5] = cpu->r[29];
|
|
/* 023988C0 */ Gambit_fn_02398664(cpu);
|
|
L_023988C4: ; // 0x23988c4
|
|
/* 023988C4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023988C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023988C8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023988C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023988CC */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 023988CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023988D0 */ cpu->lr = cpu->r[0];
|
|
/* 023988D4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 023988D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023988D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023988DC */ return;
|
|
L_0249B714: ; // 0x249b714
|
|
/* 0249B714 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249B718 */ cpu->r[11] = cpu->r[3];
|
|
/* 0249B71C */ _t17 = cpu->r[12] + 0xFFFFBB98u;
|
|
/* 0249B71C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0249B720 */ cpu->r[4] = 0x100B0000u;
|
|
/* 0249B724 */ _t18 = cpu->r[11] + 0x00000130u;
|
|
/* 0249B724 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0249B728 */ cpu->r[4] = cpu->r[4] + 0xFFFFBBF0u;
|
|
/* 0249B72C */ cpu->r[0] = 0x00000000u;
|
|
/* 0249B730 */ _t19 = cpu->r[11] + 0x000001FCu;
|
|
/* 0249B730 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 0249B734 */ cpu->r[5] = 0x00000001u;
|
|
/* 0249B738 */ _t20 = cpu->r[11] + 0x00000200u;
|
|
/* 0249B738 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 0249B73C */ goto L_02398850;
|
|
}
|
|
|
|
// fn_0249B740 @ 0x249b740
|
|
void Gambit_fn_0249B740(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69;
|
|
|
|
L_0249B740: ; // 0x249b740
|
|
/* 0249B740 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0249B740 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B740 */ cpu->r[1] = _t0;
|
|
/* 0249B744 */ /* nop */
|
|
/* 0249B748 */ cpu->r[0] = cpu->lr;
|
|
/* 0249B74C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B74C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 0249B750 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 0249B750 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 0249B754 */ /* nop */
|
|
/* 0249B758 */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 0249B758 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0249B75C */ _t4 = cpu->r[1] + 0x00000054u;
|
|
/* 0249B75C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0249B760 */ /* nop */
|
|
/* 0249B764 */ _t5 = cpu->r[1] + 0x00000028u;
|
|
/* 0249B764 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[29]);
|
|
/* 0249B768 */ _t6 = cpu->r[1] + 0x00000038u;
|
|
/* 0249B768 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 0249B76C */ /* nop */
|
|
/* 0249B770 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249B774 */ _t7 = cpu->r[1] + 0x00000048u;
|
|
/* 0249B774 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 0249B778 */ _t8 = cpu->r[30] + 0x00000200u;
|
|
/* 0249B778 */ cpu->r[9] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0249B77C */ cpu->r[8] = 0x100B0000u;
|
|
/* 0249B780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0249B784 */ _t9 = cpu->r[8] + 0xFFFFBB98u;
|
|
/* 0249B784 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0249B788 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B788 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249B788 */ if (_t11) goto L_0249B8D8; else goto L_0249B78C;
|
|
L_0249B78C: ; // 0x249b78c
|
|
/* 0249B78C */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B790 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0249B794 */ cpu->r[28] = 0x101D0000u;
|
|
/* 0249B798 */ _t12 = cpu->r[28] + 0x0000006Cu;
|
|
/* 0249B798 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249B798 */ cpu->r[28] = _t12;
|
|
/* 0249B79C */ cpu->r[29] = 0x100B0000u;
|
|
/* 0249B7A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B7A4 */ cpu->r[27] = 0x101D0000u;
|
|
/* 0249B7A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0249B7AC */ cpu->r[29] = cpu->r[29] + 0xFFFFB580u;
|
|
/* 0249B7B0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B7B0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0249B7B0 */ if (_t14) goto L_0249B7B4; else goto L_0249B7C0;
|
|
L_0249B7B4: ; // 0x249b7b4
|
|
/* 0249B7B4 */ _t15 = cpu->r[27] + 0x000006D4u;
|
|
/* 0249B7B4 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 0249B7B8 */ cpu->r[11] = 0x00000001u;
|
|
/* 0249B7BC */ _t16 = cpu->r[28] + 0x00000000u;
|
|
/* 0249B7BC */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
L_0249B7C0: ; // 0x249b7c0
|
|
/* 0249B7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249B7C4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B7C4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0249B7C4 */ if (_t18) goto L_0249B7E8; else goto L_0249B7C8;
|
|
L_0249B7C8: ; // 0x249b7c8
|
|
/* 0249B7C8 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 0249B7C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0249B7CC */ _t20 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0249B7CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249B7D0 */ cpu->ctr = cpu->r[0];
|
|
/* 0249B7D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B7D8 */ cpu->r[4] = cpu->r[27] + 0x000006D4u;
|
|
/* 0249B7DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249B7E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249B7E4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B7E4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0249B7E4 */ if (_t22) goto L_0249B7E8; else goto L_0249B7EC;
|
|
L_0249B7E8: ; // 0x249b7e8
|
|
/* 0249B7E8 */ cpu->r[31] = 0x00000000u;
|
|
L_0249B7EC: ; // 0x249b7ec
|
|
/* 0249B7EC */ _t23 = cpu->r[31] + 0x000001DCu;
|
|
/* 0249B7EC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0249B7F0 */ cpu->r[7] = 0x100B0000u;
|
|
/* 0249B7F4 */ _t24 = cpu->r[7] + 0xFFFFBBFCu;
|
|
/* 0249B7F4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0249B7F8 */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249B7FC */ cpu->f[10] = cpu->f[11] / cpu->f[12];
|
|
/* 0249B800 */ _t25 = cpu->r[6] + 0xFFFFBBF8u;
|
|
/* 0249B800 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0249B804 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249B808 */ cpu->f[29] = cpu->f[10] * cpu->f[30];
|
|
/* 0249B80C */ Gambit_fn_024F65FC(cpu);
|
|
/* 0249B810 */ _t26 = cpu->r[28] + 0x00000000u;
|
|
/* 0249B810 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0249B814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0249B818 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B81C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B81C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0249B81C */ if (_t28) goto L_0249B820; else goto L_0249B82C;
|
|
L_0249B820: ; // 0x249b820
|
|
/* 0249B820 */ _t29 = cpu->r[27] + 0x000006D4u;
|
|
/* 0249B820 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 0249B824 */ cpu->r[10] = 0x00000001u;
|
|
/* 0249B828 */ _t30 = cpu->r[28] + 0x00000000u;
|
|
/* 0249B828 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
L_0249B82C: ; // 0x249b82c
|
|
/* 0249B82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249B830 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B830 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0249B830 */ if (_t32) goto L_0249B854; else goto L_0249B834;
|
|
L_0249B834: ; // 0x249b834
|
|
/* 0249B834 */ _t33 = cpu->r[31] + 0x00000000u;
|
|
/* 0249B834 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0249B838 */ _t34 = cpu->r[11] + 0x0000006Cu;
|
|
/* 0249B838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0249B83C */ cpu->ctr = cpu->r[0];
|
|
/* 0249B840 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B844 */ cpu->r[4] = cpu->r[27] + 0x000006D4u;
|
|
/* 0249B848 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249B84C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249B850 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B850 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0249B850 */ if (_t36) goto L_0249B854; else goto L_0249B858;
|
|
L_0249B854: ; // 0x249b854
|
|
/* 0249B854 */ cpu->r[31] = 0x00000000u;
|
|
L_0249B858: ; // 0x249b858
|
|
/* 0249B858 */ _t37 = cpu->r[30] + 0x000001FCu;
|
|
/* 0249B858 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 0249B85C */ _t38 = cpu->r[31] + 0x0000023Cu;
|
|
/* 0249B85C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0249B860 */ cpu->f[0] = cpu->f[1];
|
|
/* 0249B864 */ cpu->f[1] = fma(cpu->f[9], cpu->f[30], cpu->f[1]);
|
|
/* 0249B868 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[1]);
|
|
/* 0249B86C */ cpu->f[11] = cpu->f[1];
|
|
/* 0249B870 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249B870 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0249B870 */ if (_t40) goto L_0249B874; else goto L_0249B888;
|
|
L_0249B874: ; // 0x249b874
|
|
/* 0249B874 */ cpu->f[1] = cpu->f[29];
|
|
/* 0249B878 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[29]);
|
|
/* 0249B87C */ _t41 = cpu->r[30] + 0x000001FCu;
|
|
/* 0249B87C */ rbrew_write_f32(cpu->mem, _t41, cpu->f[1]);
|
|
/* 0249B880 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249B880 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0249B880 */ if (_t43) goto L_0249B89C; else goto L_0249B884;
|
|
L_0249B884: ; // 0x249b884
|
|
/* 0249B884 */ goto L_0249B8E4;
|
|
L_0249B888: ; // 0x249b888
|
|
/* 0249B888 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[29]);
|
|
/* 0249B88C */ _t44 = cpu->r[30] + 0x000001FCu;
|
|
/* 0249B88C */ rbrew_write_f32(cpu->mem, _t44, cpu->f[11]);
|
|
/* 0249B890 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B890 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0249B890 */ if (_t46) goto L_0249B894; else goto L_0249B8E4;
|
|
L_0249B894: ; // 0x249b894
|
|
/* 0249B894 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[29]);
|
|
/* 0249B898 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249B898 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0249B898 */ if (_t48) goto L_0249B89C; else goto L_0249B8E4;
|
|
L_0249B89C: ; // 0x249b89c
|
|
/* 0249B89C */ cpu->r[4] = 0x00000002u;
|
|
/* 0249B8A0 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 0249B8A4 */ Gambit_fn_0226E8C4(cpu);
|
|
/* 0249B8A8 */ _t49 = cpu->r[30] + 0x000001FCu;
|
|
/* 0249B8A8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 0249B8AC */ cpu->r[3] = cpu->r[30] + 0x00000054u;
|
|
/* 0249B8B0 */ Gambit_fn_0204E43C(cpu);
|
|
/* 0249B8B4 */ cpu->r[4] = 0x100B0000u;
|
|
/* 0249B8B8 */ cpu->r[3] = cpu->r[30] + 0x00000054u;
|
|
/* 0249B8BC */ cpu->r[5] = 0x0000013Eu;
|
|
/* 0249B8C0 */ cpu->r[4] = cpu->r[4] + 0xFFFFBC08u;
|
|
/* 0249B8C4 */ Gambit_fn_0204C3D0(cpu);
|
|
/* 0249B8C8 */ _t50 = cpu->r[30] + 0x000001FCu;
|
|
/* 0249B8C8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 0249B8CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 0249B8D0 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249B8D0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0249B8D0 */ if (_t52) goto L_0249B8D4; else goto L_0249B930;
|
|
L_0249B8D4: ; // 0x249b8d4
|
|
/* 0249B8D4 */ goto L_0249B90C;
|
|
L_0249B8D8: ; // 0x249b8d8
|
|
/* 0249B8D8 */ _t53 = cpu->r[30] + 0x000001FCu;
|
|
/* 0249B8D8 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[31]);
|
|
/* 0249B8DC */ cpu->f[1] = cpu->f[31];
|
|
/* 0249B8E0 */ goto L_0249B934;
|
|
L_0249B8E4: ; // 0x249b8e4
|
|
/* 0249B8E4 */ cpu->r[3] = cpu->r[30] + 0x00000054u;
|
|
/* 0249B8E8 */ Gambit_fn_0204E43C(cpu);
|
|
/* 0249B8EC */ cpu->r[4] = 0x100B0000u;
|
|
/* 0249B8F0 */ cpu->r[3] = cpu->r[30] + 0x00000054u;
|
|
/* 0249B8F4 */ cpu->r[5] = 0x0000013Eu;
|
|
/* 0249B8F8 */ cpu->r[4] = cpu->r[4] + 0xFFFFBC08u;
|
|
/* 0249B8FC */ Gambit_fn_0204C3D0(cpu);
|
|
/* 0249B900 */ _t54 = cpu->r[30] + 0x000001FCu;
|
|
/* 0249B900 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 0249B904 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 0249B908 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249B908 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0249B908 */ if (_t56) goto L_0249B90C; else goto L_0249B930;
|
|
L_0249B90C: ; // 0x249b90c
|
|
/* 0249B90C */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249B910 */ _t57 = cpu->r[5] + 0xFFFFBC04u;
|
|
/* 0249B910 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 0249B914 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249B918 */ cpu->f[12] = cpu->f[0] / cpu->f[1];
|
|
/* 0249B91C */ _t58 = cpu->r[12] + 0xFFFFBC00u;
|
|
/* 0249B91C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 0249B920 */ cpu->f[1] = cpu->f[13] / cpu->f[12];
|
|
/* 0249B924 */ _t59 = cpu->r[30] + 0x00000130u;
|
|
/* 0249B924 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0249B928 */ Gambit_fn_023988E0(cpu);
|
|
/* 0249B92C */ goto L_0249B93C;
|
|
L_0249B930: ; // 0x249b930
|
|
/* 0249B930 */ cpu->f[1] = cpu->f[31];
|
|
L_0249B934: ; // 0x249b934
|
|
/* 0249B934 */ _t60 = cpu->r[30] + 0x00000130u;
|
|
/* 0249B934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0249B938 */ Gambit_fn_023988E0(cpu);
|
|
L_0249B93C: ; // 0x249b93c
|
|
/* 0249B93C */ /* nop */
|
|
/* 0249B940 */ _t61 = cpu->r[1] + 0x00000028u;
|
|
/* 0249B940 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 0249B944 */ _t62 = cpu->r[1] + 0x00000038u;
|
|
/* 0249B944 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 0249B948 */ _t63 = cpu->r[1] + 0x00000020u;
|
|
/* 0249B948 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 0249B94C */ _t64 = cpu->r[1] + 0x00000048u;
|
|
/* 0249B94C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 0249B950 */ _t65 = cpu->r[1] + 0x00000030u;
|
|
/* 0249B950 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 0249B954 */ _t66 = cpu->r[1] + 0x00000040u;
|
|
/* 0249B954 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t66);
|
|
/* 0249B958 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249B958 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0249B958 */ if (_t68) goto L_0249B95C; // else: addr-0 trap, fall-through
|
|
L_0249B95C: ; // 0x249b95c
|
|
/* 0249B95C */ _t69 = cpu->r[1] + 0x00000054u;
|
|
/* 0249B95C */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0249B960 */ cpu->lr = cpu->r[0];
|
|
/* 0249B964 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0249B968 */ return;
|
|
}
|
|
|
|
// fn_0249B96C @ 0x249b96c
|
|
void Gambit_fn_0249B96C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0249B96C: ; // 0x249b96c
|
|
/* 0249B96C */ cpu->r[0] = cpu->lr;
|
|
/* 0249B970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B970 */ cpu->r[1] = _t0;
|
|
/* 0249B974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249B978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B97C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B97C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249B980 */ Gambit_fn_0249B740(cpu);
|
|
/* 0249B984 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B988 */ Gambit_fn_0249B178(cpu);
|
|
/* 0249B98C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249B990 */ cpu->lr = cpu->r[0];
|
|
/* 0249B994 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249B998 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B99C */ return;
|
|
}
|
|
|
|
// fn_0249B970 @ 0x249b970
|
|
void Gambit_fn_0249B970(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0249B970: ; // 0x249b970
|
|
/* 0249B970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B970 */ cpu->r[1] = _t0;
|
|
/* 0249B974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249B978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B97C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B97C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249B980 */ Gambit_fn_0249B740(cpu);
|
|
/* 0249B984 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249B988 */ Gambit_fn_0249B178(cpu);
|
|
/* 0249B98C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249B990 */ cpu->lr = cpu->r[0];
|
|
/* 0249B994 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249B998 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B99C */ return;
|
|
}
|
|
|
|
// fn_0249B9A0 @ 0x249b9a0
|
|
void Gambit_fn_0249B9A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0249B9A0: ; // 0x249b9a0
|
|
/* 0249B9A0 */ cpu->r[0] = cpu->lr;
|
|
/* 0249B9A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B9A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B9A4 */ cpu->r[1] = _t0;
|
|
/* 0249B9A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B9A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249B9AC */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249B9B0 */ _t2 = cpu->r[12] + 0xFFFFBBECu;
|
|
/* 0249B9B0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0249B9B4 */ cpu->r[12] = 0x00000001u;
|
|
/* 0249B9B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B9BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B9BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249B9C0 */ _t4 = cpu->r[31] + 0x00000130u;
|
|
/* 0249B9C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249B9C4 */ _t5 = cpu->r[31] + 0x00000200u;
|
|
/* 0249B9C4 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[12]);
|
|
/* 0249B9C8 */ Gambit_fn_023988E0(cpu);
|
|
/* 0249B9CC */ _t6 = cpu->r[31] + 0x000001BCu;
|
|
/* 0249B9CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0249B9D0 */ /* nop */
|
|
/* 0249B9D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B9D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0249B9D4 */ if (_t8) goto L_0249B9D8; else goto L_0249B9E4;
|
|
L_0249B9D8: ; // 0x249b9d8
|
|
/* 0249B9D8 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 0249B9DC */ cpu->r[4] = 0x00000001u;
|
|
/* 0249B9E0 */ Gambit_fn_0226E8C4(cpu);
|
|
L_0249B9E4: ; // 0x249b9e4
|
|
/* 0249B9E4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B9E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249B9E8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B9E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249B9EC */ cpu->lr = cpu->r[0];
|
|
/* 0249B9F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B9F4 */ return;
|
|
}
|
|
|
|
// fn_0249B9A4 @ 0x249b9a4
|
|
void Gambit_fn_0249B9A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0249B9A4: ; // 0x249b9a4
|
|
/* 0249B9A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B9A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B9A4 */ cpu->r[1] = _t0;
|
|
/* 0249B9A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B9A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249B9AC */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249B9B0 */ _t2 = cpu->r[12] + 0xFFFFBBECu;
|
|
/* 0249B9B0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0249B9B4 */ cpu->r[12] = 0x00000001u;
|
|
/* 0249B9B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249B9BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B9BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249B9C0 */ _t4 = cpu->r[31] + 0x00000130u;
|
|
/* 0249B9C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249B9C4 */ _t5 = cpu->r[31] + 0x00000200u;
|
|
/* 0249B9C4 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[12]);
|
|
/* 0249B9C8 */ Gambit_fn_023988E0(cpu);
|
|
/* 0249B9CC */ _t6 = cpu->r[31] + 0x000001BCu;
|
|
/* 0249B9CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0249B9D0 */ /* nop */
|
|
/* 0249B9D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249B9D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0249B9D4 */ if (_t8) goto L_0249B9D8; else goto L_0249B9E4;
|
|
L_0249B9D8: ; // 0x249b9d8
|
|
/* 0249B9D8 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 0249B9DC */ cpu->r[4] = 0x00000001u;
|
|
/* 0249B9E0 */ Gambit_fn_0226E8C4(cpu);
|
|
L_0249B9E4: ; // 0x249b9e4
|
|
/* 0249B9E4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0249B9E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249B9E8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249B9E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249B9EC */ cpu->lr = cpu->r[0];
|
|
/* 0249B9F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249B9F4 */ return;
|
|
}
|
|
|
|
// fn_0249B9F8 @ 0x249b9f8
|
|
void Gambit_fn_0249B9F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0249B9F8: ; // 0x249b9f8
|
|
/* 0249B9F8 */ cpu->r[0] = cpu->lr;
|
|
/* 0249B9FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B9FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B9FC */ cpu->r[1] = _t0;
|
|
/* 0249BA00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BA00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249BA04 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0249BA04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249BA08 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249BA0C */ _t3 = cpu->r[12] + 0xFFFFBB98u;
|
|
/* 0249BA0C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 0249BA10 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249BA14 */ cpu->r[30] = 0x00000000u;
|
|
/* 0249BA18 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BA18 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0249BA1C */ _t5 = cpu->r[31] + 0x00000130u;
|
|
/* 0249BA1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249BA20 */ _t6 = cpu->r[31] + 0x00000200u;
|
|
/* 0249BA20 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 0249BA24 */ Gambit_fn_023988E0(cpu);
|
|
/* 0249BA28 */ cpu->r[4] = cpu->r[30];
|
|
/* 0249BA2C */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 0249BA30 */ Gambit_fn_0226E8C4(cpu);
|
|
/* 0249BA34 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BA34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249BA38 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BA38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249BA3C */ cpu->lr = cpu->r[0];
|
|
/* 0249BA40 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0249BA40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249BA44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249BA48 */ return;
|
|
}
|
|
|
|
// fn_0249B9FC @ 0x249b9fc
|
|
void Gambit_fn_0249B9FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0249B9FC: ; // 0x249b9fc
|
|
/* 0249B9FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249B9FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249B9FC */ cpu->r[1] = _t0;
|
|
/* 0249BA00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BA00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249BA04 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0249BA04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249BA08 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249BA0C */ _t3 = cpu->r[12] + 0xFFFFBB98u;
|
|
/* 0249BA0C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 0249BA10 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249BA14 */ cpu->r[30] = 0x00000000u;
|
|
/* 0249BA18 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BA18 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0249BA1C */ _t5 = cpu->r[31] + 0x00000130u;
|
|
/* 0249BA1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249BA20 */ _t6 = cpu->r[31] + 0x00000200u;
|
|
/* 0249BA20 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 0249BA24 */ Gambit_fn_023988E0(cpu);
|
|
/* 0249BA28 */ cpu->r[4] = cpu->r[30];
|
|
/* 0249BA2C */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 0249BA30 */ Gambit_fn_0226E8C4(cpu);
|
|
/* 0249BA34 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BA34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249BA38 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BA38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249BA3C */ cpu->lr = cpu->r[0];
|
|
/* 0249BA40 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0249BA40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249BA44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249BA48 */ return;
|
|
}
|
|
|
|
// fn_0249BA4C @ 0x249ba4c
|
|
void Gambit_fn_0249BA4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0249BA4C: ; // 0x249ba4c
|
|
/* 0249BA4C */ cpu->r[0] = cpu->lr;
|
|
/* 0249BA50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249BA50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249BA50 */ cpu->r[1] = _t0;
|
|
/* 0249BA54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BA54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249BA58 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249BA5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BA5C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249BA60 */ Gambit_fn_0249B654(cpu);
|
|
/* 0249BA64 */ _t3 = cpu->r[31] + 0x00000130u;
|
|
/* 0249BA64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249BA68 */ Gambit_fn_02398534(cpu);
|
|
/* 0249BA6C */ cpu->r[4] = 0x100B0000u;
|
|
/* 0249BA70 */ _t4 = cpu->r[31] + 0x00000130u;
|
|
/* 0249BA70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249BA74 */ cpu->r[4] = cpu->r[4] + 0xFFFFBC4Cu;
|
|
/* 0249BA78 */ cpu->r[5] = 0x00000001u;
|
|
/* 0249BA7C */ Gambit_fn_02398850(cpu);
|
|
/* 0249BA80 */ _t5 = cpu->r[31] + 0x00000200u;
|
|
/* 0249BA80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0249BA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249BA88 */ _t6 = cpu->r[31] + 0x00000130u;
|
|
/* 0249BA88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249BA8C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BA8C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0249BA8C */ if (_t8) goto L_0249BAA0; else goto L_0249BA90;
|
|
L_0249BA90: ; // 0x249ba90
|
|
/* 0249BA90 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249BA94 */ _t9 = cpu->r[12] + 0xFFFFBBECu;
|
|
/* 0249BA94 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0249BA98 */ Gambit_fn_023988E0(cpu);
|
|
/* 0249BA9C */ goto L_0249BAAC;
|
|
L_0249BAA0: ; // 0x249baa0
|
|
/* 0249BAA0 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249BAA4 */ _t10 = cpu->r[12] + 0xFFFFBB98u;
|
|
/* 0249BAA4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0249BAA8 */ Gambit_fn_023988E0(cpu);
|
|
L_0249BAAC: ; // 0x249baac
|
|
/* 0249BAAC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249BAB0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BAB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249BAB4 */ cpu->lr = cpu->r[0];
|
|
/* 0249BAB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249BABC */ return;
|
|
}
|
|
|
|
// fn_0249BA50 @ 0x249ba50
|
|
void Gambit_fn_0249BA50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0249BA50: ; // 0x249ba50
|
|
/* 0249BA50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249BA50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249BA50 */ cpu->r[1] = _t0;
|
|
/* 0249BA54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BA54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249BA58 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249BA5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BA5C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249BA60 */ Gambit_fn_0249B654(cpu);
|
|
/* 0249BA64 */ _t3 = cpu->r[31] + 0x00000130u;
|
|
/* 0249BA64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249BA68 */ Gambit_fn_02398534(cpu);
|
|
/* 0249BA6C */ cpu->r[4] = 0x100B0000u;
|
|
/* 0249BA70 */ _t4 = cpu->r[31] + 0x00000130u;
|
|
/* 0249BA70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249BA74 */ cpu->r[4] = cpu->r[4] + 0xFFFFBC4Cu;
|
|
/* 0249BA78 */ cpu->r[5] = 0x00000001u;
|
|
/* 0249BA7C */ Gambit_fn_02398850(cpu);
|
|
/* 0249BA80 */ _t5 = cpu->r[31] + 0x00000200u;
|
|
/* 0249BA80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0249BA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249BA88 */ _t6 = cpu->r[31] + 0x00000130u;
|
|
/* 0249BA88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249BA8C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BA8C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0249BA8C */ if (_t8) goto L_0249BAA0; else goto L_0249BA90;
|
|
L_0249BA90: ; // 0x249ba90
|
|
/* 0249BA90 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249BA94 */ _t9 = cpu->r[12] + 0xFFFFBBECu;
|
|
/* 0249BA94 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0249BA98 */ Gambit_fn_023988E0(cpu);
|
|
/* 0249BA9C */ goto L_0249BAAC;
|
|
L_0249BAA0: ; // 0x249baa0
|
|
/* 0249BAA0 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249BAA4 */ _t10 = cpu->r[12] + 0xFFFFBB98u;
|
|
/* 0249BAA4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0249BAA8 */ Gambit_fn_023988E0(cpu);
|
|
L_0249BAAC: ; // 0x249baac
|
|
/* 0249BAAC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249BAB0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BAB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249BAB4 */ cpu->lr = cpu->r[0];
|
|
/* 0249BAB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249BABC */ return;
|
|
}
|
|
|
|
// fn_0249BAC0 @ 0x249bac0
|
|
void Gambit_fn_0249BAC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0249BAC0: ; // 0x249bac0
|
|
/* 0249BAC0 */ cpu->r[0] = cpu->lr;
|
|
/* 0249BAC4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249BAC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249BAC4 */ cpu->r[1] = _t0;
|
|
/* 0249BAC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BAC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249BACC */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249BAD0 */ cpu->r[31] = 0x100B0000u;
|
|
/* 0249BAD4 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249BAD8 */ cpu->r[31] = cpu->r[31] + 0xFFFFB4B0u;
|
|
/* 0249BADC */ cpu->r[3] = 0x101F0000u;
|
|
/* 0249BAE0 */ cpu->r[11] = cpu->r[11] + 0xFFFFBC54u;
|
|
/* 0249BAE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BAE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249BAE8 */ cpu->r[0] = 0x024A0000u;
|
|
/* 0249BAEC */ _t3 = cpu->r[3] + 0xFFFF81A0u;
|
|
/* 0249BAEC */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0249BAEC */ cpu->r[3] = _t3;
|
|
/* 0249BAF0 */ cpu->r[0] = cpu->r[0] + 0xFFFFCA2Cu;
|
|
/* 0249BAF4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BAF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0249BAF8 */ cpu->r[12] = cpu->r[12] + 0xFFFFB610u;
|
|
/* 0249BAFC */ _t5 = cpu->r[3] + 0x00000010u;
|
|
/* 0249BAFC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0249BB00 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 0249BB00 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 0249BB04 */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249BB04 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 0249BB08 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0249BB0C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0249BB10 */ cpu->r[3] = cpu->r[3] + 0x00006260u;
|
|
/* 0249BB14 */ Gambit_fn_02C83090(cpu);
|
|
/* 0249BB18 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0249BB1C */ cpu->r[0] = 0x024A0000u;
|
|
/* 0249BB20 */ cpu->r[3] = cpu->r[3] + 0xFFFF81B4u;
|
|
/* 0249BB24 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249BB28 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249BB28 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0249BB2C */ cpu->r[0] = cpu->r[0] + 0xFFFFCB0Cu;
|
|
/* 0249BB30 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BB30 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 0249BB34 */ cpu->r[12] = cpu->r[12] + 0xFFFFB688u;
|
|
/* 0249BB38 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249BB3C */ _t10 = cpu->r[3] + 0x00000010u;
|
|
/* 0249BB3C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0249BB40 */ cpu->r[11] = cpu->r[11] + 0xFFFFBC6Cu;
|
|
/* 0249BB44 */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 0249BB44 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0249BB48 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 0249BB48 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0249BB4C */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0249BB50 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0249BB54 */ cpu->r[3] = cpu->r[3] + 0x0000626Cu;
|
|
/* 0249BB58 */ Gambit_fn_02C83090(cpu);
|
|
/* 0249BB5C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BB5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249BB60 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BB60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249BB64 */ cpu->lr = cpu->r[0];
|
|
/* 0249BB68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249BB6C */ return;
|
|
}
|
|
|
|
// fn_0249BAC4 @ 0x249bac4
|
|
void Gambit_fn_0249BAC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0249BAC4: ; // 0x249bac4
|
|
/* 0249BAC4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249BAC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249BAC4 */ cpu->r[1] = _t0;
|
|
/* 0249BAC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BAC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249BACC */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249BAD0 */ cpu->r[31] = 0x100B0000u;
|
|
/* 0249BAD4 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249BAD8 */ cpu->r[31] = cpu->r[31] + 0xFFFFB4B0u;
|
|
/* 0249BADC */ cpu->r[3] = 0x101F0000u;
|
|
/* 0249BAE0 */ cpu->r[11] = cpu->r[11] + 0xFFFFBC54u;
|
|
/* 0249BAE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BAE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249BAE8 */ cpu->r[0] = 0x024A0000u;
|
|
/* 0249BAEC */ _t3 = cpu->r[3] + 0xFFFF81A0u;
|
|
/* 0249BAEC */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0249BAEC */ cpu->r[3] = _t3;
|
|
/* 0249BAF0 */ cpu->r[0] = cpu->r[0] + 0xFFFFCA2Cu;
|
|
/* 0249BAF4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BAF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0249BAF8 */ cpu->r[12] = cpu->r[12] + 0xFFFFB610u;
|
|
/* 0249BAFC */ _t5 = cpu->r[3] + 0x00000010u;
|
|
/* 0249BAFC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0249BB00 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 0249BB00 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 0249BB04 */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249BB04 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 0249BB08 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0249BB0C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0249BB10 */ cpu->r[3] = cpu->r[3] + 0x00006260u;
|
|
/* 0249BB14 */ Gambit_fn_02C83090(cpu);
|
|
/* 0249BB18 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0249BB1C */ cpu->r[0] = 0x024A0000u;
|
|
/* 0249BB20 */ cpu->r[3] = cpu->r[3] + 0xFFFF81B4u;
|
|
/* 0249BB24 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249BB28 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249BB28 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0249BB2C */ cpu->r[0] = cpu->r[0] + 0xFFFFCB0Cu;
|
|
/* 0249BB30 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BB30 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 0249BB34 */ cpu->r[12] = cpu->r[12] + 0xFFFFB688u;
|
|
/* 0249BB38 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249BB3C */ _t10 = cpu->r[3] + 0x00000010u;
|
|
/* 0249BB3C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0249BB40 */ cpu->r[11] = cpu->r[11] + 0xFFFFBC6Cu;
|
|
/* 0249BB44 */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 0249BB44 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0249BB48 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 0249BB48 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0249BB4C */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0249BB50 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0249BB54 */ cpu->r[3] = cpu->r[3] + 0x0000626Cu;
|
|
/* 0249BB58 */ Gambit_fn_02C83090(cpu);
|
|
/* 0249BB5C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BB5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249BB60 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BB60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249BB64 */ cpu->lr = cpu->r[0];
|
|
/* 0249BB68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249BB6C */ return;
|
|
}
|
|
|
|
// fn_0249BB70 @ 0x249bb70
|
|
void Gambit_fn_0249BB70(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_0249BB70: ; // 0x249bb70
|
|
/* 0249BB70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249BB74 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BB74 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249BB74 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BB74 */ goto L_0249BB78;
|
|
L_0249BB78: ; // 0x249bb78
|
|
/* 0249BB78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249BB78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249BB7C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BB7C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249BB7C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BB7C */ goto L_0249BB80;
|
|
L_0249BB80: ; // 0x249bb80
|
|
/* 0249BB80 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249BB84 @ 0x249bb84
|
|
void Gambit_fn_0249BB84(CPUState* cpu) {
|
|
L_0249BB84: ; // 0x249bb84
|
|
/* 0249BB84 */ return;
|
|
}
|
|
|
|
// fn_0249BB88 @ 0x249bb88
|
|
void Gambit_fn_0249BB88(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_0249BB88: ; // 0x249bb88
|
|
/* 0249BB88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249BB8C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BB8C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249BB8C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BB8C */ goto L_0249BB90;
|
|
L_0249BB90: ; // 0x249bb90
|
|
/* 0249BB90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249BB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249BB94 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BB94 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249BB94 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BB94 */ goto L_0249BB98;
|
|
L_0249BB98: ; // 0x249bb98
|
|
/* 0249BB98 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249BB9C @ 0x249bb9c
|
|
void Gambit_fn_0249BB9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0249BB9C: ; // 0x249bb9c
|
|
/* 0249BB9C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0249BB9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249BBA0 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0249BBA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249BBA4 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0249BBA8 */ cpu->r[11] = 0x10110000u;
|
|
/* 0249BBAC */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0249BBAC */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0249BBB0 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0249BBB0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0249BBB4 */ return;
|
|
}
|
|
|
|
// fn_0249BBB8 @ 0x249bbb8
|
|
void Gambit_fn_0249BBB8(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_0249BBB8: ; // 0x249bbb8
|
|
/* 0249BBB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249BBBC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BBBC */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249BBBC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BBBC */ goto L_0249BBC0;
|
|
L_0249BBC0: ; // 0x249bbc0
|
|
/* 0249BBC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249BBC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249BBC4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BBC4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249BBC4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BBC4 */ goto L_0249BBC8;
|
|
L_0249BBC8: ; // 0x249bbc8
|
|
/* 0249BBC8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249BBCC @ 0x249bbcc
|
|
void Gambit_fn_0249BBCC(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_0249BBCC: ; // 0x249bbcc
|
|
/* 0249BBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249BBD0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BBD0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249BBD0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BBD0 */ goto L_0249BBD4;
|
|
L_0249BBD4: ; // 0x249bbd4
|
|
/* 0249BBD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249BBD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249BBD8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BBD8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249BBD8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BBD8 */ goto L_0249BBDC;
|
|
L_0249BBDC: ; // 0x249bbdc
|
|
/* 0249BBDC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249BBE0 @ 0x249bbe0
|
|
void Gambit_fn_0249BBE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0249BBE0: ; // 0x249bbe0
|
|
/* 0249BBE0 */ cpu->r[0] = cpu->lr;
|
|
/* 0249BBE4 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 0249BBE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249BBE4 */ cpu->r[1] = _t0;
|
|
/* 0249BBE8 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0249BBE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0249BBEC */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 0249BBEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0249BBF0 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249BBF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0249BBF4 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0249BBF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 0249BBF8 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 0249BBF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0249BBFC */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0249BBFC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0249BC00 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 0249BC00 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0249BC04 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 0249BC04 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0249BC08 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 0249BC08 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0249BC0C */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 0249BC0C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0249BC10 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0249BC10 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0249BC14 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249BC14 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 0249BC18 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 0249BC18 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 0249BC1C */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0249BC1C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0249BC1C */ if (_t15) goto L_0249BC20; else goto L_0249BC40;
|
|
L_0249BC20: ; // 0x249bc20
|
|
/* 0249BC20 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 0249BC20 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 0249BC24 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 0249BC24 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 0249BC28 */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 0249BC28 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 0249BC2C */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 0249BC2C */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 0249BC30 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 0249BC30 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 0249BC34 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 0249BC34 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 0249BC38 */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 0249BC38 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 0249BC3C */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 0249BC3C */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_0249BC40: ; // 0x249bc40
|
|
/* 0249BC40 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249BC40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249BC44 */ cpu->r[30] = cpu->r[4];
|
|
/* 0249BC48 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BC48 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0249BC48 */ if (_t25) goto L_0249BC4C; else goto L_0249BC5C;
|
|
L_0249BC4C: ; // 0x249bc4c
|
|
/* 0249BC4C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0249BC50 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249BC54 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249BC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249BC58 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BC58 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0249BC58 */ if (_t27) goto L_0249BD20; else goto L_0249BC5C;
|
|
L_0249BC5C: ; // 0x249bc5c
|
|
/* 0249BC5C */ cpu->r[29] = cpu->r[31];
|
|
/* 0249BC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0249BC60 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BC60 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0249BC60 */ if (_t29) goto L_0249BC64; else goto L_0249BC74;
|
|
L_0249BC64: ; // 0x249bc64
|
|
/* 0249BC64 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0249BC68 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249BC6C */ cpu->r[29] = cpu->r[3];
|
|
/* 0249BC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0249BC70 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BC70 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0249BC70 */ if (_t31) goto L_0249BCE4; else goto L_0249BC74;
|
|
L_0249BC74: ; // 0x249bc74
|
|
/* 0249BC74 */ cpu->r[3] = cpu->r[29];
|
|
/* 0249BC74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249BC78 */ cpu->r[28] = 0x10110000u;
|
|
/* 0249BC7C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BC7C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0249BC7C */ if (_t33) goto L_0249BC80; else goto L_0249BCAC;
|
|
L_0249BC80: ; // 0x249bc80
|
|
/* 0249BC80 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0249BC84 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249BC88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249BC8C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BC8C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0249BC8C */ if (_t35) goto L_0249BC90; else goto L_0249BCAC;
|
|
L_0249BC90: ; // 0x249bc90
|
|
/* 0249BC90 */ cpu->r[7] = 0x100B0000u;
|
|
/* 0249BC94 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 0249BC94 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0249BC98 */ cpu->r[7] = cpu->r[7] + 0xFFFFB4E0u;
|
|
/* 0249BC9C */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 0249BC9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0249BCA0 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0249BCA0 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 0249BCA4 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 0249BCA4 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 0249BCA8 */ goto L_0249BCE4;
|
|
L_0249BCAC: ; // 0x249bcac
|
|
/* 0249BCAC */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249BCB0 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0249BCB4 */ cpu->r[5] = cpu->r[5] + 0xFFFFB4C8u;
|
|
/* 0249BCB8 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 0249BCB8 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0249BCBC */ cpu->r[6] = 0x00000080u;
|
|
/* 0249BCC0 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BCC0 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 0249BCC4 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 0249BCC4 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 0249BCC8 */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 0249BCC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0249BCCC */ cpu->r[7] = 0x100B0000u;
|
|
/* 0249BCD0 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 0249BCD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0249BCD4 */ cpu->r[7] = cpu->r[7] + 0xFFFFB4E0u;
|
|
/* 0249BCD8 */ _t45 = cpu->r[29] + 0x0000008Bu;
|
|
/* 0249BCD8 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 0249BCDC */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 0249BCDC */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 0249BCE0 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 0249BCE0 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_0249BCE4: ; // 0x249bce4
|
|
/* 0249BCE4 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249BCE8 */ cpu->r[12] = 0x00000002u;
|
|
/* 0249BCEC */ cpu->r[9] = cpu->r[9] + 0xFFFFB5B0u;
|
|
/* 0249BCF0 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 0249BCF4 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 0249BCF4 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 0249BCF8 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 0249BCFC */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BCFC */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 0249BD00 */ cpu->r[0] = 0x00000000u;
|
|
/* 0249BD04 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 0249BD04 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 0249BD08 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249BD0C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0249BD10 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 0249BD10 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 0249BD14 */ cpu->r[4] = cpu->r[30];
|
|
/* 0249BD18 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 0249BD18 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 0249BD1C */ Gambit_fn_0282A5DC(cpu);
|
|
L_0249BD20: ; // 0x249bd20
|
|
/* 0249BD20 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 0249BD20 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0249BD24 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0249BD24 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0249BD28 */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0249BD28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0249BD2C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249BD30 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 0249BD30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0249BD34 */ cpu->lr = cpu->r[0];
|
|
/* 0249BD38 */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 0249BD38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0249BD3C */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0249BD40 */ return;
|
|
}
|
|
|
|
// fn_0249BBE4 @ 0x249bbe4
|
|
void Gambit_fn_0249BBE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0249BBE4: ; // 0x249bbe4
|
|
/* 0249BBE4 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 0249BBE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249BBE4 */ cpu->r[1] = _t0;
|
|
/* 0249BBE8 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0249BBE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0249BBEC */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 0249BBEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0249BBF0 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249BBF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0249BBF4 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0249BBF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 0249BBF8 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 0249BBF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0249BBFC */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0249BBFC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0249BC00 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 0249BC00 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0249BC04 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 0249BC04 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0249BC08 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 0249BC08 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0249BC0C */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 0249BC0C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0249BC10 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0249BC10 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0249BC14 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249BC14 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 0249BC18 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 0249BC18 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 0249BC1C */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0249BC1C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0249BC1C */ if (_t15) goto L_0249BC20; else goto L_0249BC40;
|
|
L_0249BC20: ; // 0x249bc20
|
|
/* 0249BC20 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 0249BC20 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 0249BC24 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 0249BC24 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 0249BC28 */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 0249BC28 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 0249BC2C */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 0249BC2C */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 0249BC30 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 0249BC30 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 0249BC34 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 0249BC34 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 0249BC38 */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 0249BC38 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 0249BC3C */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 0249BC3C */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_0249BC40: ; // 0x249bc40
|
|
/* 0249BC40 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249BC40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249BC44 */ cpu->r[30] = cpu->r[4];
|
|
/* 0249BC48 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BC48 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0249BC48 */ if (_t25) goto L_0249BC4C; else goto L_0249BC5C;
|
|
L_0249BC4C: ; // 0x249bc4c
|
|
/* 0249BC4C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0249BC50 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249BC54 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249BC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249BC58 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BC58 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0249BC58 */ if (_t27) goto L_0249BD20; else goto L_0249BC5C;
|
|
L_0249BC5C: ; // 0x249bc5c
|
|
/* 0249BC5C */ cpu->r[29] = cpu->r[31];
|
|
/* 0249BC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0249BC60 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BC60 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0249BC60 */ if (_t29) goto L_0249BC64; else goto L_0249BC74;
|
|
L_0249BC64: ; // 0x249bc64
|
|
/* 0249BC64 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0249BC68 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249BC6C */ cpu->r[29] = cpu->r[3];
|
|
/* 0249BC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0249BC70 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BC70 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0249BC70 */ if (_t31) goto L_0249BCE4; else goto L_0249BC74;
|
|
L_0249BC74: ; // 0x249bc74
|
|
/* 0249BC74 */ cpu->r[3] = cpu->r[29];
|
|
/* 0249BC74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249BC78 */ cpu->r[28] = 0x10110000u;
|
|
/* 0249BC7C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BC7C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0249BC7C */ if (_t33) goto L_0249BC80; else goto L_0249BCAC;
|
|
L_0249BC80: ; // 0x249bc80
|
|
/* 0249BC80 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0249BC84 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249BC88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249BC8C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BC8C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0249BC8C */ if (_t35) goto L_0249BC90; else goto L_0249BCAC;
|
|
L_0249BC90: ; // 0x249bc90
|
|
/* 0249BC90 */ cpu->r[7] = 0x100B0000u;
|
|
/* 0249BC94 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 0249BC94 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0249BC98 */ cpu->r[7] = cpu->r[7] + 0xFFFFB4E0u;
|
|
/* 0249BC9C */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 0249BC9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0249BCA0 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0249BCA0 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 0249BCA4 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 0249BCA4 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 0249BCA8 */ goto L_0249BCE4;
|
|
L_0249BCAC: ; // 0x249bcac
|
|
/* 0249BCAC */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249BCB0 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0249BCB4 */ cpu->r[5] = cpu->r[5] + 0xFFFFB4C8u;
|
|
/* 0249BCB8 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 0249BCB8 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0249BCBC */ cpu->r[6] = 0x00000080u;
|
|
/* 0249BCC0 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BCC0 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 0249BCC4 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 0249BCC4 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 0249BCC8 */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 0249BCC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0249BCCC */ cpu->r[7] = 0x100B0000u;
|
|
/* 0249BCD0 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 0249BCD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0249BCD4 */ cpu->r[7] = cpu->r[7] + 0xFFFFB4E0u;
|
|
/* 0249BCD8 */ _t45 = cpu->r[29] + 0x0000008Bu;
|
|
/* 0249BCD8 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 0249BCDC */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 0249BCDC */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 0249BCE0 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 0249BCE0 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_0249BCE4: ; // 0x249bce4
|
|
/* 0249BCE4 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249BCE8 */ cpu->r[12] = 0x00000002u;
|
|
/* 0249BCEC */ cpu->r[9] = cpu->r[9] + 0xFFFFB5B0u;
|
|
/* 0249BCF0 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 0249BCF4 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 0249BCF4 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 0249BCF8 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 0249BCFC */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BCFC */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 0249BD00 */ cpu->r[0] = 0x00000000u;
|
|
/* 0249BD04 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 0249BD04 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 0249BD08 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249BD0C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0249BD10 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 0249BD10 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 0249BD14 */ cpu->r[4] = cpu->r[30];
|
|
/* 0249BD18 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 0249BD18 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 0249BD1C */ Gambit_fn_0282A5DC(cpu);
|
|
L_0249BD20: ; // 0x249bd20
|
|
/* 0249BD20 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 0249BD20 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0249BD24 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0249BD24 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0249BD28 */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0249BD28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0249BD2C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249BD30 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 0249BD30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0249BD34 */ cpu->lr = cpu->r[0];
|
|
/* 0249BD38 */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 0249BD38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0249BD3C */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0249BD40 */ return;
|
|
}
|
|
|
|
// fn_0249BD44 @ 0x249bd44
|
|
void Gambit_fn_0249BD44(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_0249BD44: ; // 0x249bd44
|
|
/* 0249BD44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249BD48 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BD48 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249BD48 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BD48 */ goto L_0249BD4C;
|
|
L_0249BD4C: ; // 0x249bd4c
|
|
/* 0249BD4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249BD4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249BD50 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BD50 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249BD50 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BD50 */ goto L_0249BD54;
|
|
L_0249BD54: ; // 0x249bd54
|
|
/* 0249BD54 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249BD58 @ 0x249bd58
|
|
void Gambit_fn_0249BD58(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_0249BD58: ; // 0x249bd58
|
|
/* 0249BD58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249BD5C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BD5C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249BD5C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BD5C */ goto L_0249BD60;
|
|
L_0249BD60: ; // 0x249bd60
|
|
/* 0249BD60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249BD60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249BD64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BD64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249BD64 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BD64 */ goto L_0249BD68;
|
|
L_0249BD68: ; // 0x249bd68
|
|
/* 0249BD68 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249BD6C @ 0x249bd6c
|
|
void Gambit_fn_0249BD6C(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_0249BD6C: ; // 0x249bd6c
|
|
/* 0249BD6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249BD70 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BD70 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249BD70 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BD70 */ goto L_0249BD74;
|
|
L_0249BD74: ; // 0x249bd74
|
|
/* 0249BD74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249BD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249BD78 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BD78 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249BD78 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BD78 */ goto L_0249BD7C;
|
|
L_0249BD7C: ; // 0x249bd7c
|
|
/* 0249BD7C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249BD80 @ 0x249bd80
|
|
void Gambit_fn_0249BD80(CPUState* cpu) {
|
|
L_0249BD80: ; // 0x249bd80
|
|
/* 0249BD80 */ return;
|
|
}
|
|
|
|
// fn_0249BD84 @ 0x249bd84
|
|
void Gambit_fn_0249BD84(CPUState* cpu) {
|
|
L_0249BD84: ; // 0x249bd84
|
|
/* 0249BD84 */ return;
|
|
}
|
|
|
|
// fn_0249BD88 @ 0x249bd88
|
|
void Gambit_fn_0249BD88(CPUState* cpu) {
|
|
L_0249BD88: ; // 0x249bd88
|
|
/* 0249BD88 */ return;
|
|
}
|
|
|
|
// fn_0249BD8C @ 0x249bd8c
|
|
void Gambit_fn_0249BD8C(CPUState* cpu) {
|
|
L_0249BD8C: ; // 0x249bd8c
|
|
/* 0249BD8C */ return;
|
|
}
|
|
|
|
// fn_0249BD90 @ 0x249bd90
|
|
void Gambit_fn_0249BD90(CPUState* cpu) {
|
|
L_0249BD90: ; // 0x249bd90
|
|
/* 0249BD90 */ return;
|
|
}
|
|
|
|
// fn_0249BD94 @ 0x249bd94
|
|
void Gambit_fn_0249BD94(CPUState* cpu) {
|
|
L_0249BD94: ; // 0x249bd94
|
|
/* 0249BD94 */ return;
|
|
}
|
|
|
|
// fn_0249BD98 @ 0x249bd98
|
|
void Gambit_fn_0249BD98(CPUState* cpu) {
|
|
L_0249BD98: ; // 0x249bd98
|
|
/* 0249BD98 */ return;
|
|
}
|
|
|
|
// fn_0249BD9C @ 0x249bd9c
|
|
void Gambit_fn_0249BD9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0249BD9C: ; // 0x249bd9c
|
|
/* 0249BD9C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0249BD9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249BDA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249BDA4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BDA4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249BDA4 */ if (_t2) goto L_0249BDB0; else goto L_0249BDA8;
|
|
L_0249BDA8: ; // 0x249bda8
|
|
/* 0249BDA8 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 0249BDAC */ return;
|
|
L_0249BDB0: ; // 0x249bdb0
|
|
/* 0249BDB0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249BDB4 */ return;
|
|
}
|
|
|
|
// fn_0249BDB8 @ 0x249bdb8
|
|
void Gambit_fn_0249BDB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0249BDB8: ; // 0x249bdb8
|
|
/* 0249BDB8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0249BDB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249BDBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249BDC0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BDC0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249BDC0 */ if (_t2) goto L_0249BDCC; else goto L_0249BDC4;
|
|
L_0249BDC4: ; // 0x249bdc4
|
|
/* 0249BDC4 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 0249BDC8 */ return;
|
|
L_0249BDCC: ; // 0x249bdcc
|
|
/* 0249BDCC */ cpu->r[3] = 0x00000000u;
|
|
/* 0249BDD0 */ return;
|
|
}
|
|
|
|
// fn_0249BDD4 @ 0x249bdd4
|
|
void Gambit_fn_0249BDD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249BDD4: ; // 0x249bdd4
|
|
/* 0249BDD4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249BDD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249BDD8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249BDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249BDDC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BDDC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249BDDC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0249BDDC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BDDC */ goto L_0249BDE0;
|
|
L_0249BDE0: ; // 0x249bde0
|
|
/* 0249BDE0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BDE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249BDE4 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0249BDE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249BDE8 */ cpu->ctr = cpu->r[0];
|
|
/* 0249BDEC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249BDF0 @ 0x249bdf0
|
|
void Gambit_fn_0249BDF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249BDF0: ; // 0x249bdf0
|
|
/* 0249BDF0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249BDF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249BDF4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249BDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249BDF8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BDF8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249BDF8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0249BDF8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BDF8 */ goto L_0249BDFC;
|
|
L_0249BDFC: ; // 0x249bdfc
|
|
/* 0249BDFC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BDFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249BE00 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0249BE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249BE04 */ cpu->ctr = cpu->r[0];
|
|
/* 0249BE08 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249BE0C @ 0x249be0c
|
|
void Gambit_fn_0249BE0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249BE0C: ; // 0x249be0c
|
|
/* 0249BE0C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249BE0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249BE10 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249BE10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249BE14 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BE14 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249BE14 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0249BE14 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BE14 */ goto L_0249BE18;
|
|
L_0249BE18: ; // 0x249be18
|
|
/* 0249BE18 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BE18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249BE1C */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0249BE1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249BE20 */ cpu->ctr = cpu->r[0];
|
|
/* 0249BE24 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249BE18 @ 0x249be18
|
|
void Gambit_fn_0249BE18(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249BE18: ; // 0x249be18
|
|
/* 0249BE18 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BE18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249BE1C */ _t1 = cpu->r[11] + 0x00000074u;
|
|
/* 0249BE1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249BE20 */ cpu->ctr = cpu->r[0];
|
|
/* 0249BE24 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249BE28 @ 0x249be28
|
|
void Gambit_fn_0249BE28(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249BE28: ; // 0x249be28
|
|
/* 0249BE28 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BE28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249BE2C */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0249BE2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249BE30 */ cpu->ctr = cpu->r[0];
|
|
/* 0249BE34 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249BE38 @ 0x249be38
|
|
void Gambit_fn_0249BE38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0249BE38: ; // 0x249be38
|
|
/* 0249BE38 */ cpu->r[0] = cpu->lr;
|
|
/* 0249BE3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249BE3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249BE3C */ cpu->r[1] = _t0;
|
|
/* 0249BE40 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BE40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249BE44 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249BE48 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BE48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249BE4C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249BE4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249BE50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0249BE54 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BE54 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249BE54 */ if (_t5) goto L_0249BE58; else goto L_0249BE74;
|
|
L_0249BE58: ; // 0x249be58
|
|
/* 0249BE58 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0249BE58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249BE5C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0249BE5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249BE60 */ cpu->ctr = cpu->r[0];
|
|
/* 0249BE64 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249BE68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249BE6C */ cpu->r[0] = 0x00000002u;
|
|
/* 0249BE70 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249BE70 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0249BE74: ; // 0x249be74
|
|
/* 0249BE74 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249BE78 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BE78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249BE7C */ cpu->lr = cpu->r[0];
|
|
/* 0249BE80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249BE84 */ return;
|
|
}
|
|
|
|
// fn_0249BE3C @ 0x249be3c
|
|
void Gambit_fn_0249BE3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0249BE3C: ; // 0x249be3c
|
|
/* 0249BE3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249BE3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249BE3C */ cpu->r[1] = _t0;
|
|
/* 0249BE40 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BE40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249BE44 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249BE48 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BE48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249BE4C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249BE4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249BE50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0249BE54 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BE54 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249BE54 */ if (_t5) goto L_0249BE58; else goto L_0249BE74;
|
|
L_0249BE58: ; // 0x249be58
|
|
/* 0249BE58 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0249BE58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249BE5C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0249BE5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249BE60 */ cpu->ctr = cpu->r[0];
|
|
/* 0249BE64 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249BE68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249BE6C */ cpu->r[0] = 0x00000002u;
|
|
/* 0249BE70 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249BE70 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0249BE74: ; // 0x249be74
|
|
/* 0249BE74 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249BE78 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BE78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249BE7C */ cpu->lr = cpu->r[0];
|
|
/* 0249BE80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249BE84 */ return;
|
|
}
|
|
|
|
// fn_0249BE94 @ 0x249be94
|
|
void Gambit_fn_0249BE94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0249BE94: ; // 0x249be94
|
|
/* 0249BE94 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249BE94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249BE94 */ cpu->r[1] = _t0;
|
|
/* 0249BE98 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BE98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249BE9C */ cpu->r[3] = 0x000001FCu;
|
|
/* 0249BEA0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BEA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249BEA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249BEA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249BEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249BEAC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BEAC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0249BEAC */ if (_t4) goto L_0249BEC4; else goto L_0249BEB0;
|
|
L_0249BEB0: ; // 0x249beb0
|
|
/* 0249BEB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249BEB4 */ Gambit_fn_0249A8E0(cpu);
|
|
/* 0249BEB8 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249BEBC */ cpu->r[0] = cpu->r[0] + 0xFFFFB73Cu;
|
|
/* 0249BEC0 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 0249BEC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_0249BEC4: ; // 0x249bec4
|
|
/* 0249BEC4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0249BEC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249BEC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249BECC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249BECC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249BED0 */ cpu->lr = cpu->r[0];
|
|
/* 0249BED4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249BED8 */ return;
|
|
}
|
|
|
|
// fn_0249BEDC @ 0x249bedc
|
|
void Gambit_fn_0249BEDC(CPUState* cpu) {
|
|
L_0249BEDC: ; // 0x249bedc
|
|
/* 0249BEDC */ return;
|
|
}
|
|
|
|
// fn_0249BEE0 @ 0x249bee0
|
|
void Gambit_fn_0249BEE0(CPUState* cpu) {
|
|
L_0249BEE0: ; // 0x249bee0
|
|
/* 0249BEE0 */ return;
|
|
}
|
|
|
|
// fn_0249BEE4 @ 0x249bee4
|
|
void Gambit_fn_0249BEE4(CPUState* cpu) {
|
|
L_0249BEE4: ; // 0x249bee4
|
|
/* 0249BEE4 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249BEE8 */ return;
|
|
}
|
|
|
|
// fn_0249BEEC @ 0x249beec
|
|
void Gambit_fn_0249BEEC(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_0249BEEC: ; // 0x249beec
|
|
/* 0249BEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249BEF0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BEF0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249BEF0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BEF0 */ goto L_0249BEF4;
|
|
L_0249BEF4: ; // 0x249bef4
|
|
/* 0249BEF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249BEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249BEF8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BEF8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249BEF8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BEF8 */ goto L_0249BEFC;
|
|
L_0249BEFC: ; // 0x249befc
|
|
/* 0249BEFC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249BF00 @ 0x249bf00
|
|
void Gambit_fn_0249BF00(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_0249BF00: ; // 0x249bf00
|
|
/* 0249BF00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249BF04 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BF04 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249BF04 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BF04 */ goto L_0249BF08;
|
|
L_0249BF08: ; // 0x249bf08
|
|
/* 0249BF08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249BF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249BF0C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249BF0C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249BF0C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249BF0C */ goto L_0249BF10;
|
|
L_0249BF10: ; // 0x249bf10
|
|
/* 0249BF10 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249BF14 @ 0x249bf14
|
|
void Gambit_fn_0249BF14(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249BF14: ; // 0x249bf14
|
|
/* 0249BF14 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BF14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249BF18 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 0249BF18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249BF1C */ cpu->ctr = cpu->r[0];
|
|
/* 0249BF20 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249BF24 @ 0x249bf24
|
|
void Gambit_fn_0249BF24(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249BF24: ; // 0x249bf24
|
|
/* 0249BF24 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BF24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249BF28 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0249BF28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249BF2C */ cpu->ctr = cpu->r[0];
|
|
/* 0249BF30 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249BF34 @ 0x249bf34
|
|
void Gambit_fn_0249BF34(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249BF34: ; // 0x249bf34
|
|
/* 0249BF34 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BF34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249BF38 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0249BF38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249BF3C */ cpu->ctr = cpu->r[0];
|
|
/* 0249BF40 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249BF44 @ 0x249bf44
|
|
void Gambit_fn_0249BF44(CPUState* cpu) {
|
|
L_0249BF44: ; // 0x249bf44
|
|
/* 0249BF44 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249BF48 */ return;
|
|
}
|
|
|
|
// fn_0249BF4C @ 0x249bf4c
|
|
void Gambit_fn_0249BF4C(CPUState* cpu) {
|
|
L_0249BF4C: ; // 0x249bf4c
|
|
/* 0249BF4C */ return;
|
|
}
|
|
|
|
// fn_0249BF50 @ 0x249bf50
|
|
void Gambit_fn_0249BF50(CPUState* cpu) {
|
|
L_0249BF50: ; // 0x249bf50
|
|
/* 0249BF50 */ return;
|
|
}
|
|
|
|
// fn_0249BF54 @ 0x249bf54
|
|
void Gambit_fn_0249BF54(CPUState* cpu) {
|
|
L_0249BF54: ; // 0x249bf54
|
|
/* 0249BF54 */ return;
|
|
}
|
|
|
|
// fn_0249BF58 @ 0x249bf58
|
|
void Gambit_fn_0249BF58(CPUState* cpu) {
|
|
L_0249BF58: ; // 0x249bf58
|
|
/* 0249BF58 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249BF5C */ return;
|
|
}
|
|
|
|
// fn_0249BF60 @ 0x249bf60
|
|
void Gambit_fn_0249BF60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249BF60: ; // 0x249bf60
|
|
/* 0249BF60 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0249BF64 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 0249BF64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249BF64 */ cpu->r[10] = _t0;
|
|
/* 0249BF68 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0249BF68 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 0249BF6C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0249BF6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0249BF70 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BF70 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0249BF74 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 0249BF74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249BF78 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0249BF78 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0249BF7C */ return;
|
|
}
|
|
|
|
// fn_0249BF80 @ 0x249bf80
|
|
void Gambit_fn_0249BF80(CPUState* cpu) {
|
|
L_0249BF80: ; // 0x249bf80
|
|
/* 0249BF80 */ return;
|
|
}
|
|
|
|
// fn_0249BF84 @ 0x249bf84
|
|
void Gambit_fn_0249BF84(CPUState* cpu) {
|
|
L_0249BF84: ; // 0x249bf84
|
|
/* 0249BF84 */ return;
|
|
}
|
|
|
|
// fn_0249BF88 @ 0x249bf88
|
|
void Gambit_fn_0249BF88(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0249BF88: ; // 0x249bf88
|
|
/* 0249BF88 */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 0249BF88 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0249BF8C */ return;
|
|
}
|
|
|
|
// fn_0249BF90 @ 0x249bf90
|
|
void Gambit_fn_0249BF90(CPUState* cpu) {
|
|
L_0249BF90: ; // 0x249bf90
|
|
/* 0249BF90 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249BF94 */ return;
|
|
}
|
|
|
|
// fn_0249BF98 @ 0x249bf98
|
|
void Gambit_fn_0249BF98(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249BF98: ; // 0x249bf98
|
|
/* 0249BF98 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249BF98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249BF9C */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 0249BF9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249BFA0 */ cpu->ctr = cpu->r[0];
|
|
/* 0249BFA4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249BFA8 @ 0x249bfa8
|
|
void Gambit_fn_0249BFA8(CPUState* cpu) {
|
|
L_0249BFA8: ; // 0x249bfa8
|
|
/* 0249BFA8 */ return;
|
|
}
|
|
|
|
// fn_0249BFAC @ 0x249bfac
|
|
void Gambit_fn_0249BFAC(CPUState* cpu) {
|
|
L_0249BFAC: ; // 0x249bfac
|
|
/* 0249BFAC */ return;
|
|
}
|
|
|
|
// fn_0249BFB0 @ 0x249bfb0
|
|
void Gambit_fn_0249BFB0(CPUState* cpu) {
|
|
L_0249BFB0: ; // 0x249bfb0
|
|
/* 0249BFB0 */ return;
|
|
}
|
|
|
|
// fn_0249BFB4 @ 0x249bfb4
|
|
void Gambit_fn_0249BFB4(CPUState* cpu) {
|
|
L_0249BFB4: ; // 0x249bfb4
|
|
/* 0249BFB4 */ return;
|
|
}
|
|
|
|
// fn_0249BFB8 @ 0x249bfb8
|
|
void Gambit_fn_0249BFB8(CPUState* cpu) {
|
|
L_0249BFB8: ; // 0x249bfb8
|
|
/* 0249BFB8 */ return;
|
|
}
|
|
|
|
// fn_0249BFBC @ 0x249bfbc
|
|
void Gambit_fn_0249BFBC(CPUState* cpu) {
|
|
L_0249BFBC: ; // 0x249bfbc
|
|
/* 0249BFBC */ return;
|
|
}
|
|
|
|
// fn_0249BFC0 @ 0x249bfc0
|
|
void Gambit_fn_0249BFC0(CPUState* cpu) {
|
|
L_0249BFC0: ; // 0x249bfc0
|
|
/* 0249BFC0 */ return;
|
|
}
|
|
|
|
// fn_0249BFC4 @ 0x249bfc4
|
|
void Gambit_fn_0249BFC4(CPUState* cpu) {
|
|
L_0249BFC4: ; // 0x249bfc4
|
|
/* 0249BFC4 */ return;
|
|
}
|
|
|
|
// fn_0249BFC8 @ 0x249bfc8
|
|
void Gambit_fn_0249BFC8(CPUState* cpu) {
|
|
L_0249BFC8: ; // 0x249bfc8
|
|
/* 0249BFC8 */ return;
|
|
}
|
|
|
|
// fn_0249BFCC @ 0x249bfcc
|
|
void Gambit_fn_0249BFCC(CPUState* cpu) {
|
|
L_0249BFCC: ; // 0x249bfcc
|
|
/* 0249BFCC */ return;
|
|
}
|
|
|
|
// fn_0249BFD0 @ 0x249bfd0
|
|
void Gambit_fn_0249BFD0(CPUState* cpu) {
|
|
L_0249BFD0: ; // 0x249bfd0
|
|
/* 0249BFD0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249BFD4 */ return;
|
|
}
|
|
|
|
// fn_0249BFD8 @ 0x249bfd8
|
|
void Gambit_fn_0249BFD8(CPUState* cpu) {
|
|
L_0249BFD8: ; // 0x249bfd8
|
|
/* 0249BFD8 */ return;
|
|
}
|
|
|
|
// fn_0249BFDC @ 0x249bfdc
|
|
void Gambit_fn_0249BFDC(CPUState* cpu) {
|
|
L_0249BFDC: ; // 0x249bfdc
|
|
/* 0249BFDC */ return;
|
|
}
|
|
|
|
// fn_0249BFE0 @ 0x249bfe0
|
|
void Gambit_fn_0249BFE0(CPUState* cpu) {
|
|
L_0249BFE0: ; // 0x249bfe0
|
|
/* 0249BFE0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249BFE4 */ return;
|
|
}
|
|
|
|
// fn_0249BFE8 @ 0x249bfe8
|
|
void Gambit_fn_0249BFE8(CPUState* cpu) {
|
|
L_0249BFE8: ; // 0x249bfe8
|
|
/* 0249BFE8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249BFEC */ return;
|
|
}
|
|
|
|
// fn_0249BFF0 @ 0x249bff0
|
|
void Gambit_fn_0249BFF0(CPUState* cpu) {
|
|
L_0249BFF0: ; // 0x249bff0
|
|
/* 0249BFF0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249BFF4 */ return;
|
|
}
|
|
|
|
// fn_0249BFF8 @ 0x249bff8
|
|
void Gambit_fn_0249BFF8(CPUState* cpu) {
|
|
L_0249BFF8: ; // 0x249bff8
|
|
/* 0249BFF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249BFFC */ return;
|
|
}
|
|
|
|
// fn_0249C000 @ 0x249c000
|
|
void Gambit_fn_0249C000(CPUState* cpu) {
|
|
L_0249C000: ; // 0x249c000
|
|
/* 0249C000 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249C004 */ return;
|
|
}
|
|
|
|
// fn_0249C008 @ 0x249c008
|
|
void Gambit_fn_0249C008(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0249C008: ; // 0x249c008
|
|
/* 0249C008 */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 0249C008 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0249C00C */ return;
|
|
}
|
|
|
|
// fn_0249C010 @ 0x249c010
|
|
void Gambit_fn_0249C010(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249C010: ; // 0x249c010
|
|
/* 0249C010 */ _t0 = cpu->r[4] + 0x00000078u;
|
|
/* 0249C010 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249C014 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0249C014 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0249C018 */ _t2 = cpu->r[4] + 0x0000007Cu;
|
|
/* 0249C018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0249C01C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0249C01C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249C020 */ _t4 = cpu->r[4] + 0x00000080u;
|
|
/* 0249C020 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249C024 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0249C024 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0249C028 */ return;
|
|
}
|
|
|
|
// fn_0249C02C @ 0x249c02c
|
|
void Gambit_fn_0249C02C(CPUState* cpu) {
|
|
L_0249C02C: ; // 0x249c02c
|
|
/* 0249C02C */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C030 */ cpu->r[3] = cpu->r[3] + 0xFFFFB644u;
|
|
/* 0249C034 */ return;
|
|
}
|
|
|
|
// fn_0249C038 @ 0x249c038
|
|
void Gambit_fn_0249C038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0249C038: ; // 0x249c038
|
|
/* 0249C038 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249C03C */ _t0 = cpu->r[10] + 0x00000060u;
|
|
/* 0249C03C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249C040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0249C044 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249C048 */ cpu->r[10] = cpu->r[10] + 0x000006D8u;
|
|
/* 0249C04C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C04C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249C04C */ if (_t2) goto L_0249C050; else goto L_0249C068;
|
|
L_0249C050: ; // 0x249c050
|
|
/* 0249C050 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249C054 */ cpu->r[9] = 0x00000001u;
|
|
/* 0249C058 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0249C05C */ cpu->r[0] = cpu->r[0] + 0xFFFFB590u;
|
|
/* 0249C060 */ _t3 = cpu->r[11] + 0x00000060u;
|
|
/* 0249C060 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0249C064 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 0249C064 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_0249C068: ; // 0x249c068
|
|
/* 0249C068 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0249C06C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C06C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0249C06C */ if (_t6) goto L_0249C070; else goto L_0249C078;
|
|
L_0249C070: ; // 0x249c070
|
|
/* 0249C070 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249C074 */ return;
|
|
L_0249C078: ; // 0x249c078
|
|
/* 0249C078 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0249C07C */ _t7 = cpu->r[9] + 0xFFFFDDF0u;
|
|
/* 0249C07C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249C080 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0249C084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0249C088 */ cpu->r[11] = cpu->r[11] + 0xFFFFFF40u;
|
|
/* 0249C08C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C08C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0249C08C */ if (_t9) goto L_0249C090; else goto L_0249C0A8;
|
|
L_0249C090: ; // 0x249c090
|
|
/* 0249C090 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249C094 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C098 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249C09C */ cpu->r[9] = cpu->r[9] + 0xFFFFB560u;
|
|
/* 0249C0A0 */ _t10 = cpu->r[10] + 0xFFFFDDF0u;
|
|
/* 0249C0A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0249C0A4 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0249C0A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_0249C0A8: ; // 0x249c0a8
|
|
/* 0249C0A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 0249C0AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C0AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249C0AC */ if (_t13) goto L_0249C0B0; else goto L_0249C0B8;
|
|
L_0249C0B0: ; // 0x249c0b0
|
|
/* 0249C0B0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C0B4 */ goto L_0249C170;
|
|
L_0249C0B8: ; // 0x249c0b8
|
|
/* 0249C0B8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0249C0BC */ _t14 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 0249C0BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249C0C0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0249C0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0249C0C8 */ cpu->r[9] = cpu->r[9] + 0xFFFFFBBCu;
|
|
/* 0249C0CC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C0CC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0249C0CC */ if (_t16) goto L_0249C0D0; else goto L_0249C0E8;
|
|
L_0249C0D0: ; // 0x249c0d0
|
|
/* 0249C0D0 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249C0D4 */ cpu->r[10] = 0x00000001u;
|
|
/* 0249C0D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249C0DC */ cpu->r[11] = cpu->r[11] + 0xFFFFB550u;
|
|
/* 0249C0E0 */ _t17 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 0249C0E0 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0249C0E4 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 0249C0E4 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_0249C0E8: ; // 0x249c0e8
|
|
/* 0249C0E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 0249C0EC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C0EC */ _t20 = _t19 & 0x00000001u;
|
|
/* 0249C0EC */ if (_t20) goto L_0249C0F0; else goto L_0249C0F8;
|
|
L_0249C0F0: ; // 0x249c0f0
|
|
/* 0249C0F0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C0F4 */ goto L_0249C16C;
|
|
L_0249C0F8: ; // 0x249c0f8
|
|
/* 0249C0F8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0249C0FC */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 0249C0FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249C0FC */ cpu->r[9] = _t21;
|
|
/* 0249C100 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249C104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249C108 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 0249C10C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C10C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0249C10C */ if (_t23) goto L_0249C110; else goto L_0249C124;
|
|
L_0249C110: ; // 0x249c110
|
|
/* 0249C110 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249C114 */ cpu->r[11] = 0x00000001u;
|
|
/* 0249C118 */ cpu->r[0] = cpu->r[0] + 0xFFFFB540u;
|
|
/* 0249C11C */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 0249C11C */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0249C120 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 0249C120 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_0249C124: ; // 0x249c124
|
|
/* 0249C124 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0249C128 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C128 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0249C128 */ if (_t27) goto L_0249C12C; else goto L_0249C134;
|
|
L_0249C12C: ; // 0x249c12c
|
|
/* 0249C12C */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C130 */ goto L_0249C16C;
|
|
L_0249C134: ; // 0x249c134
|
|
/* 0249C134 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249C138 */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 0249C138 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0249C138 */ cpu->r[10] = _t28;
|
|
/* 0249C13C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0249C140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0249C144 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 0249C148 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C148 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0249C148 */ if (_t30) goto L_0249C14C; else goto L_0249C160;
|
|
L_0249C14C: ; // 0x249c14c
|
|
/* 0249C14C */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249C150 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C154 */ cpu->r[9] = cpu->r[9] + 0xFFFFB4A0u;
|
|
/* 0249C158 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0249C158 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0249C15C */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 0249C15C */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_0249C160: ; // 0x249c160
|
|
/* 0249C160 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0249C164 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 0249C168 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0249C16C: ; // 0x249c16c
|
|
/* 0249C16C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0249C170: ; // 0x249c170
|
|
/* 0249C170 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0249C174 */ return;
|
|
}
|
|
|
|
// fn_0249C178 @ 0x249c178
|
|
void Gambit_fn_0249C178(CPUState* cpu) {
|
|
L_0249C178: ; // 0x249c178
|
|
/* 0249C178 */ return;
|
|
}
|
|
|
|
// fn_0249C17C @ 0x249c17c
|
|
void Gambit_fn_0249C17C(CPUState* cpu) {
|
|
L_0249C17C: ; // 0x249c17c
|
|
/* 0249C17C */ return;
|
|
}
|
|
|
|
// fn_0249C180 @ 0x249c180
|
|
void Gambit_fn_0249C180(CPUState* cpu) {
|
|
L_0249C180: ; // 0x249c180
|
|
/* 0249C180 */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C184 */ cpu->r[3] = cpu->r[3] + 0xFFFFB654u;
|
|
/* 0249C188 */ return;
|
|
}
|
|
|
|
// fn_0249C18C @ 0x249c18c
|
|
void Gambit_fn_0249C18C(CPUState* cpu) {
|
|
L_0249C18C: ; // 0x249c18c
|
|
/* 0249C18C */ cpu->r[3] = 0x00000000u;
|
|
/* 0249C190 */ return;
|
|
}
|
|
|
|
// fn_0249C194 @ 0x249c194
|
|
void Gambit_fn_0249C194(CPUState* cpu) {
|
|
L_0249C194: ; // 0x249c194
|
|
/* 0249C194 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249C198 */ return;
|
|
}
|
|
|
|
// fn_0249C19C @ 0x249c19c
|
|
void Gambit_fn_0249C19C(CPUState* cpu) {
|
|
L_0249C19C: ; // 0x249c19c
|
|
/* 0249C19C */ cpu->r[3] = 0x00000000u;
|
|
/* 0249C1A0 */ return;
|
|
}
|
|
|
|
// fn_0249C1B0 @ 0x249c1b0
|
|
void Gambit_fn_0249C1B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0226E7CC: ; // 0x226e7cc
|
|
/* 0226E7CC */ cpu->r[0] = cpu->lr;
|
|
/* 0226E7D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0226E7D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0226E7D0 */ cpu->r[1] = _t0;
|
|
/* 0226E7D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0226E7D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0226E7D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0226E7DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0226E7DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0226E7E0 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0226E7E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0226E7E4 */ cpu->r[12] = 0x00000000u;
|
|
/* 0226E7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0226E7EC */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0226E7EC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0226E7F0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0226E7F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0226E7F0 */ if (_t6) goto L_0226E818; else goto L_0226E7F4;
|
|
L_0226E7F4: ; // 0x226e7f4
|
|
/* 0226E7F4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0226E7F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0226E7F8 */ /* nop */
|
|
/* 0226E7FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0226E800 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0226E800 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0226E800 */ if (_t9) goto L_0226E804; else goto L_0226E818;
|
|
L_0226E804: ; // 0x226e804
|
|
/* 0226E804 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0226E804 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0226E808 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0226E808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0226E80C */ cpu->ctr = cpu->r[0];
|
|
/* 0226E810 */ cpu->r[3] = cpu->r[31];
|
|
/* 0226E814 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0226E818: ; // 0x226e818
|
|
/* 0226E818 */ cpu->r[3] = cpu->r[31];
|
|
/* 0226E81C */ Gambit_fn_0226E744(cpu);
|
|
/* 0226E820 */ cpu->r[3] = cpu->r[31];
|
|
/* 0226E824 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0226E828 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0226E828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0226E82C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0226E82C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0226E830 */ cpu->lr = cpu->r[0];
|
|
/* 0226E834 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0226E838 */ return;
|
|
L_0249C1B0: ; // 0x249c1b0
|
|
/* 0249C1B0 */ cpu->r[3] = cpu->r[3] + 0x000001B0u;
|
|
/* 0249C1B4 */ goto L_0226E7CC;
|
|
}
|
|
|
|
// fn_0249C1B8 @ 0x249c1b8
|
|
void Gambit_fn_0249C1B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249C1B8: ; // 0x249c1b8
|
|
/* 0249C1B8 */ cpu->r[0] = cpu->lr;
|
|
/* 0249C1BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249C1BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249C1BC */ cpu->r[1] = _t0;
|
|
/* 0249C1C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249C1C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249C1C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249C1C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249C1C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249C1CC */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 0249C1CC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0249C1D0 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 0249C1D4 */ /* nop */
|
|
/* 0249C1D8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0249C1DC */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 0249C1E0 */ Gambit_fn_0226E6BC(cpu);
|
|
/* 0249C1E4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0249C1E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249C1E8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249C1E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249C1EC */ cpu->lr = cpu->r[0];
|
|
/* 0249C1F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249C1F4 */ return;
|
|
}
|
|
|
|
// fn_0249C1BC @ 0x249c1bc
|
|
void Gambit_fn_0249C1BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249C1BC: ; // 0x249c1bc
|
|
/* 0249C1BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249C1BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249C1BC */ cpu->r[1] = _t0;
|
|
/* 0249C1C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249C1C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249C1C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249C1C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249C1C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249C1CC */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 0249C1CC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0249C1D0 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 0249C1D4 */ /* nop */
|
|
/* 0249C1D8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0249C1DC */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 0249C1E0 */ Gambit_fn_0226E6BC(cpu);
|
|
/* 0249C1E4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0249C1E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249C1E8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249C1E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249C1EC */ cpu->lr = cpu->r[0];
|
|
/* 0249C1F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249C1F4 */ return;
|
|
}
|
|
|
|
// fn_0249C1F8 @ 0x249c1f8
|
|
void Gambit_fn_0249C1F8(CPUState* cpu) {
|
|
L_0249C1F8: ; // 0x249c1f8
|
|
/* 0249C1F8 */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C1FC */ cpu->r[3] = cpu->r[3] + 0xFFFFB624u;
|
|
/* 0249C200 */ return;
|
|
}
|
|
|
|
// fn_0249C204 @ 0x249c204
|
|
void Gambit_fn_0249C204(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_0249C204: ; // 0x249c204
|
|
/* 0249C204 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249C208 */ _t0 = cpu->r[8] + 0x00000064u;
|
|
/* 0249C208 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249C20C */ cpu->r[6] = 0x101D0000u;
|
|
/* 0249C210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0249C214 */ cpu->r[6] = cpu->r[6] + 0x000006DCu;
|
|
/* 0249C218 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C218 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249C218 */ if (_t2) goto L_0249C21C; else goto L_0249C234;
|
|
L_0249C21C: ; // 0x249c21c
|
|
/* 0249C21C */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249C220 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C224 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249C228 */ cpu->r[5] = cpu->r[5] + 0xFFFFB5A0u;
|
|
/* 0249C22C */ _t3 = cpu->r[8] + 0x00000064u;
|
|
/* 0249C22C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249C230 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 0249C230 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_0249C234: ; // 0x249c234
|
|
/* 0249C234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 0249C238 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C238 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0249C238 */ if (_t6) goto L_0249C23C; else goto L_0249C244;
|
|
L_0249C23C: ; // 0x249c23c
|
|
/* 0249C23C */ cpu->r[3] = 0x00000001u;
|
|
/* 0249C240 */ return;
|
|
L_0249C244: ; // 0x249c244
|
|
/* 0249C244 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249C248 */ _t7 = cpu->r[10] + 0x00000060u;
|
|
/* 0249C248 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249C24C */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249C250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0249C254 */ cpu->r[8] = cpu->r[8] + 0x000006D8u;
|
|
/* 0249C258 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C258 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0249C258 */ if (_t9) goto L_0249C25C; else goto L_0249C274;
|
|
L_0249C25C: ; // 0x249c25c
|
|
/* 0249C25C */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249C260 */ cpu->r[7] = 0x00000001u;
|
|
/* 0249C264 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0249C268 */ cpu->r[0] = cpu->r[0] + 0xFFFFB590u;
|
|
/* 0249C26C */ _t10 = cpu->r[6] + 0x00000060u;
|
|
/* 0249C26C */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 0249C270 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 0249C270 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0249C274: ; // 0x249c274
|
|
/* 0249C274 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 0249C278 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C278 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249C278 */ if (_t13) goto L_0249C27C; else goto L_0249C284;
|
|
L_0249C27C: ; // 0x249c27c
|
|
/* 0249C27C */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C280 */ goto L_0249C37C;
|
|
L_0249C284: ; // 0x249c284
|
|
/* 0249C284 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249C288 */ _t14 = cpu->r[12] + 0xFFFFDDF0u;
|
|
/* 0249C288 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249C28C */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249C290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249C294 */ cpu->r[10] = cpu->r[10] + 0xFFFFFF40u;
|
|
/* 0249C298 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C298 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0249C298 */ if (_t16) goto L_0249C29C; else goto L_0249C2B4;
|
|
L_0249C29C: ; // 0x249c29c
|
|
/* 0249C29C */ cpu->r[7] = 0x100B0000u;
|
|
/* 0249C2A0 */ cpu->r[5] = 0x00000001u;
|
|
/* 0249C2A4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249C2A8 */ cpu->r[7] = cpu->r[7] + 0xFFFFB560u;
|
|
/* 0249C2AC */ _t17 = cpu->r[12] + 0xFFFFDDF0u;
|
|
/* 0249C2AC */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 0249C2B0 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 0249C2B0 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_0249C2B4: ; // 0x249c2b4
|
|
/* 0249C2B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0249C2B8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C2B8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0249C2B8 */ if (_t20) goto L_0249C2BC; else goto L_0249C2C4;
|
|
L_0249C2BC: ; // 0x249c2bc
|
|
/* 0249C2BC */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C2C0 */ goto L_0249C37C;
|
|
L_0249C2C4: ; // 0x249c2c4
|
|
/* 0249C2C4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0249C2C8 */ _t21 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 0249C2C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249C2CC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249C2D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0249C2D4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFBBCu;
|
|
/* 0249C2D8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C2D8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0249C2D8 */ if (_t23) goto L_0249C2DC; else goto L_0249C2F4;
|
|
L_0249C2DC: ; // 0x249c2dc
|
|
/* 0249C2DC */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249C2E0 */ cpu->r[9] = 0x00000001u;
|
|
/* 0249C2E4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249C2E8 */ cpu->r[10] = cpu->r[10] + 0xFFFFB550u;
|
|
/* 0249C2EC */ _t24 = cpu->r[8] + 0xFFFFDA10u;
|
|
/* 0249C2EC */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0249C2F0 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 0249C2F0 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_0249C2F4: ; // 0x249c2f4
|
|
/* 0249C2F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0249C2F8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C2F8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0249C2F8 */ if (_t27) goto L_0249C2FC; else goto L_0249C304;
|
|
L_0249C2FC: ; // 0x249c2fc
|
|
/* 0249C2FC */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C300 */ goto L_0249C378;
|
|
L_0249C304: ; // 0x249c304
|
|
/* 0249C304 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249C308 */ _t28 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 0249C308 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0249C308 */ cpu->r[10] = _t28;
|
|
/* 0249C30C */ cpu->r[7] = 0x101D0000u;
|
|
/* 0249C310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0249C314 */ cpu->r[7] = cpu->r[7] + 0xFFFFD4ECu;
|
|
/* 0249C318 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C318 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0249C318 */ if (_t30) goto L_0249C31C; else goto L_0249C330;
|
|
L_0249C31C: ; // 0x249c31c
|
|
/* 0249C31C */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249C320 */ cpu->r[12] = 0x00000001u;
|
|
/* 0249C324 */ cpu->r[0] = cpu->r[0] + 0xFFFFB540u;
|
|
/* 0249C328 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0249C328 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 0249C32C */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 0249C32C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_0249C330: ; // 0x249c330
|
|
/* 0249C330 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 0249C334 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C334 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0249C334 */ if (_t34) goto L_0249C338; else goto L_0249C340;
|
|
L_0249C338: ; // 0x249c338
|
|
/* 0249C338 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C33C */ goto L_0249C378;
|
|
L_0249C340: ; // 0x249c340
|
|
/* 0249C340 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249C344 */ _t35 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 0249C344 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0249C344 */ cpu->r[8] = _t35;
|
|
/* 0249C348 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0249C34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0249C350 */ cpu->r[6] = cpu->r[6] + 0xFFFFD4E4u;
|
|
/* 0249C354 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C354 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0249C354 */ if (_t37) goto L_0249C358; else goto L_0249C36C;
|
|
L_0249C358: ; // 0x249c358
|
|
/* 0249C358 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249C35C */ cpu->r[7] = 0x00000001u;
|
|
/* 0249C360 */ cpu->r[9] = cpu->r[9] + 0xFFFFB4A0u;
|
|
/* 0249C364 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 0249C364 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 0249C368 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 0249C368 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_0249C36C: ; // 0x249c36c
|
|
/* 0249C36C */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 0249C370 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 0249C374 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0249C378: ; // 0x249c378
|
|
/* 0249C378 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0249C37C: ; // 0x249c37c
|
|
/* 0249C37C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0249C380 */ return;
|
|
}
|
|
|
|
// fn_0249C384 @ 0x249c384
|
|
void Gambit_fn_0249C384(CPUState* cpu) {
|
|
L_0249C384: ; // 0x249c384
|
|
/* 0249C384 */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C388 */ cpu->r[3] = cpu->r[3] + 0xFFFFB5C8u;
|
|
/* 0249C38C */ return;
|
|
}
|
|
|
|
// fn_0249C390 @ 0x249c390
|
|
void Gambit_fn_0249C390(CPUState* cpu) {
|
|
L_0249C390: ; // 0x249c390
|
|
/* 0249C390 */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C394 */ cpu->r[3] = cpu->r[3] + 0xFFFFB5E0u;
|
|
/* 0249C398 */ return;
|
|
}
|
|
|
|
// fn_0249C39C @ 0x249c39c
|
|
void Gambit_fn_0249C39C(CPUState* cpu) {
|
|
L_0249C39C: ; // 0x249c39c
|
|
/* 0249C39C */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C3A0 */ cpu->r[3] = cpu->r[3] + 0xFFFFB638u;
|
|
/* 0249C3A4 */ return;
|
|
}
|
|
|
|
// fn_0249C3A8 @ 0x249c3a8
|
|
void Gambit_fn_0249C3A8(CPUState* cpu) {
|
|
L_0249C3A8: ; // 0x249c3a8
|
|
/* 0249C3A8 */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C3AC */ cpu->r[3] = cpu->r[3] + 0xFFFFB600u;
|
|
/* 0249C3B0 */ return;
|
|
}
|
|
|
|
// fn_0249C3B4 @ 0x249c3b4
|
|
void Gambit_fn_0249C3B4(CPUState* cpu) {
|
|
L_0249C3B4: ; // 0x249c3b4
|
|
/* 0249C3B4 */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C3B8 */ cpu->r[3] = cpu->r[3] + 0xFFFFB6A0u;
|
|
/* 0249C3BC */ return;
|
|
}
|
|
|
|
// fn_0249C3C0 @ 0x249c3c0
|
|
void Gambit_fn_0249C3C0(CPUState* cpu) {
|
|
L_0249C3C0: ; // 0x249c3c0
|
|
/* 0249C3C0 */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C3C4 */ cpu->r[3] = cpu->r[3] + 0xFFFFB6C0u;
|
|
/* 0249C3C8 */ return;
|
|
}
|
|
|
|
// fn_0249C3CC @ 0x249c3cc
|
|
void Gambit_fn_0249C3CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_0249C3CC: ; // 0x249c3cc
|
|
/* 0249C3CC */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249C3D0 */ _t0 = cpu->r[8] + 0x00000068u;
|
|
/* 0249C3D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249C3D4 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0249C3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0249C3DC */ cpu->r[6] = cpu->r[6] + 0x000006E0u;
|
|
/* 0249C3E0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C3E0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249C3E0 */ if (_t2) goto L_0249C3E4; else goto L_0249C3FC;
|
|
L_0249C3E4: ; // 0x249c3e4
|
|
/* 0249C3E4 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249C3E8 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C3EC */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249C3F0 */ cpu->r[5] = cpu->r[5] + 0xFFFFB5A0u;
|
|
/* 0249C3F4 */ _t3 = cpu->r[8] + 0x00000068u;
|
|
/* 0249C3F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249C3F8 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 0249C3F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_0249C3FC: ; // 0x249c3fc
|
|
/* 0249C3FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 0249C400 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C400 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0249C400 */ if (_t6) goto L_0249C404; else goto L_0249C40C;
|
|
L_0249C404: ; // 0x249c404
|
|
/* 0249C404 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249C408 */ return;
|
|
L_0249C40C: ; // 0x249c40c
|
|
/* 0249C40C */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249C410 */ _t7 = cpu->r[10] + 0x00000060u;
|
|
/* 0249C410 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249C414 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249C418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0249C41C */ cpu->r[8] = cpu->r[8] + 0x000006D8u;
|
|
/* 0249C420 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C420 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0249C420 */ if (_t9) goto L_0249C424; else goto L_0249C43C;
|
|
L_0249C424: ; // 0x249c424
|
|
/* 0249C424 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249C428 */ cpu->r[7] = 0x00000001u;
|
|
/* 0249C42C */ cpu->r[6] = 0x101D0000u;
|
|
/* 0249C430 */ cpu->r[0] = cpu->r[0] + 0xFFFFB590u;
|
|
/* 0249C434 */ _t10 = cpu->r[6] + 0x00000060u;
|
|
/* 0249C434 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 0249C438 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 0249C438 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0249C43C: ; // 0x249c43c
|
|
/* 0249C43C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 0249C440 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C440 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249C440 */ if (_t13) goto L_0249C444; else goto L_0249C44C;
|
|
L_0249C444: ; // 0x249c444
|
|
/* 0249C444 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C448 */ goto L_0249C544;
|
|
L_0249C44C: ; // 0x249c44c
|
|
/* 0249C44C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249C450 */ _t14 = cpu->r[12] + 0xFFFFDDF0u;
|
|
/* 0249C450 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249C454 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249C458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249C45C */ cpu->r[10] = cpu->r[10] + 0xFFFFFF40u;
|
|
/* 0249C460 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C460 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0249C460 */ if (_t16) goto L_0249C464; else goto L_0249C47C;
|
|
L_0249C464: ; // 0x249c464
|
|
/* 0249C464 */ cpu->r[7] = 0x100B0000u;
|
|
/* 0249C468 */ cpu->r[5] = 0x00000001u;
|
|
/* 0249C46C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249C470 */ cpu->r[7] = cpu->r[7] + 0xFFFFB560u;
|
|
/* 0249C474 */ _t17 = cpu->r[12] + 0xFFFFDDF0u;
|
|
/* 0249C474 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 0249C478 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 0249C478 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_0249C47C: ; // 0x249c47c
|
|
/* 0249C47C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0249C480 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C480 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0249C480 */ if (_t20) goto L_0249C484; else goto L_0249C48C;
|
|
L_0249C484: ; // 0x249c484
|
|
/* 0249C484 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C488 */ goto L_0249C544;
|
|
L_0249C48C: ; // 0x249c48c
|
|
/* 0249C48C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0249C490 */ _t21 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 0249C490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249C494 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249C498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0249C49C */ cpu->r[12] = cpu->r[12] + 0xFFFFFBBCu;
|
|
/* 0249C4A0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C4A0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0249C4A0 */ if (_t23) goto L_0249C4A4; else goto L_0249C4BC;
|
|
L_0249C4A4: ; // 0x249c4a4
|
|
/* 0249C4A4 */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249C4A8 */ cpu->r[9] = 0x00000001u;
|
|
/* 0249C4AC */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249C4B0 */ cpu->r[10] = cpu->r[10] + 0xFFFFB550u;
|
|
/* 0249C4B4 */ _t24 = cpu->r[8] + 0xFFFFDA10u;
|
|
/* 0249C4B4 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0249C4B8 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 0249C4B8 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_0249C4BC: ; // 0x249c4bc
|
|
/* 0249C4BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0249C4C0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C4C0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0249C4C0 */ if (_t27) goto L_0249C4C4; else goto L_0249C4CC;
|
|
L_0249C4C4: ; // 0x249c4c4
|
|
/* 0249C4C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C4C8 */ goto L_0249C540;
|
|
L_0249C4CC: ; // 0x249c4cc
|
|
/* 0249C4CC */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249C4D0 */ _t28 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 0249C4D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0249C4D0 */ cpu->r[10] = _t28;
|
|
/* 0249C4D4 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0249C4D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0249C4DC */ cpu->r[7] = cpu->r[7] + 0xFFFFD4ECu;
|
|
/* 0249C4E0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C4E0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0249C4E0 */ if (_t30) goto L_0249C4E4; else goto L_0249C4F8;
|
|
L_0249C4E4: ; // 0x249c4e4
|
|
/* 0249C4E4 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249C4E8 */ cpu->r[12] = 0x00000001u;
|
|
/* 0249C4EC */ cpu->r[0] = cpu->r[0] + 0xFFFFB540u;
|
|
/* 0249C4F0 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0249C4F0 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 0249C4F4 */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 0249C4F4 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_0249C4F8: ; // 0x249c4f8
|
|
/* 0249C4F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 0249C4FC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C4FC */ _t34 = _t33 & 0x00000001u;
|
|
/* 0249C4FC */ if (_t34) goto L_0249C500; else goto L_0249C508;
|
|
L_0249C500: ; // 0x249c500
|
|
/* 0249C500 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C504 */ goto L_0249C540;
|
|
L_0249C508: ; // 0x249c508
|
|
/* 0249C508 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249C50C */ _t35 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 0249C50C */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0249C50C */ cpu->r[8] = _t35;
|
|
/* 0249C510 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0249C514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0249C518 */ cpu->r[6] = cpu->r[6] + 0xFFFFD4E4u;
|
|
/* 0249C51C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C51C */ _t37 = _t36 & 0x00000001u;
|
|
/* 0249C51C */ if (_t37) goto L_0249C520; else goto L_0249C534;
|
|
L_0249C520: ; // 0x249c520
|
|
/* 0249C520 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249C524 */ cpu->r[7] = 0x00000001u;
|
|
/* 0249C528 */ cpu->r[9] = cpu->r[9] + 0xFFFFB4A0u;
|
|
/* 0249C52C */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 0249C52C */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 0249C530 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 0249C530 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_0249C534: ; // 0x249c534
|
|
/* 0249C534 */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 0249C538 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 0249C53C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0249C540: ; // 0x249c540
|
|
/* 0249C540 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0249C544: ; // 0x249c544
|
|
/* 0249C544 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0249C548 */ return;
|
|
}
|
|
|
|
// fn_0249C54C @ 0x249c54c
|
|
void Gambit_fn_0249C54C(CPUState* cpu) {
|
|
L_0249C54C: ; // 0x249c54c
|
|
/* 0249C54C */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C550 */ cpu->r[3] = cpu->r[3] + 0xFFFFB6D8u;
|
|
/* 0249C554 */ return;
|
|
}
|
|
|
|
// fn_0249C558 @ 0x249c558
|
|
void Gambit_fn_0249C558(CPUState* cpu) {
|
|
L_0249C558: ; // 0x249c558
|
|
/* 0249C558 */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C55C */ cpu->r[3] = cpu->r[3] + 0xFFFFB6F4u;
|
|
/* 0249C560 */ return;
|
|
}
|
|
|
|
// fn_0249C564 @ 0x249c564
|
|
void Gambit_fn_0249C564(CPUState* cpu) {
|
|
L_0249C564: ; // 0x249c564
|
|
/* 0249C564 */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C568 */ cpu->r[3] = cpu->r[3] + 0xFFFFB718u;
|
|
/* 0249C56C */ return;
|
|
}
|
|
|
|
// fn_0249C570 @ 0x249c570
|
|
void Gambit_fn_0249C570(CPUState* cpu) {
|
|
L_0249C570: ; // 0x249c570
|
|
/* 0249C570 */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C574 */ cpu->r[3] = cpu->r[3] + 0xFFFFB728u;
|
|
/* 0249C578 */ return;
|
|
}
|
|
|
|
// fn_0249C57C @ 0x249c57c
|
|
void Gambit_fn_0249C57C(CPUState* cpu) {
|
|
L_0249C57C: ; // 0x249c57c
|
|
/* 0249C57C */ cpu->r[3] = 0x100B0000u;
|
|
/* 0249C580 */ cpu->r[3] = cpu->r[3] + 0xFFFFB668u;
|
|
/* 0249C584 */ return;
|
|
}
|
|
|
|
// fn_0249C588 @ 0x249c588
|
|
void Gambit_fn_0249C588(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0249C588: ; // 0x249c588
|
|
/* 0249C588 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249C58C */ _t0 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0249C58C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249C590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249C594 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249C598 */ cpu->r[12] = cpu->r[12] + 0x000006D4u;
|
|
/* 0249C59C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C59C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249C59C */ if (_t2) goto L_0249C5A0; else goto L_0249C5B8;
|
|
L_0249C5A0: ; // 0x249c5a0
|
|
/* 0249C5A0 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249C5A4 */ cpu->r[9] = 0x00000001u;
|
|
/* 0249C5A8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249C5AC */ cpu->r[0] = cpu->r[0] + 0xFFFFB580u;
|
|
/* 0249C5B0 */ _t3 = cpu->r[8] + 0x0000006Cu;
|
|
/* 0249C5B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0249C5B4 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0249C5B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_0249C5B8: ; // 0x249c5b8
|
|
/* 0249C5B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0249C5BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C5BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0249C5BC */ if (_t6) goto L_0249C5C0; else goto L_0249C5C8;
|
|
L_0249C5C0: ; // 0x249c5c0
|
|
/* 0249C5C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249C5C4 */ return;
|
|
L_0249C5C8: ; // 0x249c5c8
|
|
/* 0249C5C8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0249C5CC */ _t7 = cpu->r[11] + 0xFFFFE6D4u;
|
|
/* 0249C5CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249C5CC */ cpu->r[11] = _t7;
|
|
/* 0249C5D0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249C5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0249C5D8 */ cpu->r[10] = cpu->r[10] + 0x000006A4u;
|
|
/* 0249C5DC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C5DC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0249C5DC */ if (_t9) goto L_0249C5E0; else goto L_0249C5F4;
|
|
L_0249C5E0: ; // 0x249c5e0
|
|
/* 0249C5E0 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249C5E4 */ cpu->r[9] = 0x00000001u;
|
|
/* 0249C5E8 */ cpu->r[12] = cpu->r[12] + 0xFFFFB570u;
|
|
/* 0249C5EC */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 0249C5EC */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0249C5F0 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 0249C5F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_0249C5F4: ; // 0x249c5f4
|
|
/* 0249C5F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0249C5F8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C5F8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249C5F8 */ if (_t13) goto L_0249C5FC; else goto L_0249C604;
|
|
L_0249C5FC: ; // 0x249c5fc
|
|
/* 0249C5FC */ cpu->r[0] = 0x00000001u;
|
|
/* 0249C600 */ goto L_0249C63C;
|
|
L_0249C604: ; // 0x249c604
|
|
/* 0249C604 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0249C608 */ _t14 = cpu->r[8] + 0xFFFFDA34u;
|
|
/* 0249C608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249C608 */ cpu->r[8] = _t14;
|
|
/* 0249C60C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0249C610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249C614 */ cpu->r[11] = cpu->r[11] + 0xFFFFDDE4u;
|
|
/* 0249C618 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C618 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0249C618 */ if (_t16) goto L_0249C61C; else goto L_0249C630;
|
|
L_0249C61C: ; // 0x249c61c
|
|
/* 0249C61C */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249C620 */ cpu->r[9] = 0x00000001u;
|
|
/* 0249C624 */ cpu->r[10] = cpu->r[10] + 0xFFFFB4A0u;
|
|
/* 0249C628 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 0249C628 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 0249C62C */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 0249C62C */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_0249C630: ; // 0x249c630
|
|
/* 0249C630 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0249C634 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 0249C638 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0249C63C: ; // 0x249c63c
|
|
/* 0249C63C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0249C640 */ return;
|
|
}
|
|
|
|
// fn_0249C644 @ 0x249c644
|
|
void Gambit_fn_0249C644(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_0249C644: ; // 0x249c644
|
|
/* 0249C644 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0249C644 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249C644 */ cpu->r[1] = _t0;
|
|
/* 0249C648 */ /* nop */
|
|
/* 0249C64C */ cpu->r[0] = cpu->lr;
|
|
/* 0249C650 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0249C650 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0249C654 */ cpu->r[29] = cpu->r[6];
|
|
/* 0249C658 */ cpu->r[28] = cpu->r[3];
|
|
/* 0249C65C */ cpu->r[30] = cpu->r[5];
|
|
/* 0249C660 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 0249C660 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0249C664 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0249C668 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0249C668 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0249C66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0249C670 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0249C670 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 0249C674 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C674 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0249C674 */ if (_t6) goto L_0249C6B8; else goto L_0249C678;
|
|
L_0249C678: ; // 0x249c678
|
|
/* 0249C678 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0249C678 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249C67C */ Gambit_fn_02826F20(cpu);
|
|
/* 0249C680 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249C680 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249C684 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 0249C684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249C688 */ cpu->ctr = cpu->r[0];
|
|
/* 0249C68C */ cpu->r[5] = 0x00000004u;
|
|
/* 0249C690 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0249C694 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249C698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0249C69C */ cpu->r[0] = cpu->r[27];
|
|
/* 0249C6A0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249C6A0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249C6A0 */ if (_t11) goto L_0249C6A8; else goto L_0249C6A4;
|
|
L_0249C6A4: ; // 0x249c6a4
|
|
/* 0249C6A4 */ cpu->r[0] = 0x00000001u;
|
|
L_0249C6A8: ; // 0x249c6a8
|
|
/* 0249C6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249C6AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C6AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249C6AC */ if (_t13) goto L_0249C6B8; else goto L_0249C6B0;
|
|
L_0249C6B0: ; // 0x249c6b0
|
|
/* 0249C6B0 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 0249C6B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0249C6B4 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 0249C6B4 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_0249C6B8: ; // 0x249c6b8
|
|
/* 0249C6B8 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 0249C6B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249C6BC */ cpu->r[0] = 0x00000000u;
|
|
/* 0249C6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0249C6C4 */ cpu->r[12] = cpu->r[0];
|
|
/* 0249C6C8 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249C6C8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0249C6C8 */ if (_t18) goto L_0249C6CC; else goto L_0249C6F0;
|
|
L_0249C6CC: ; // 0x249c6cc
|
|
/* 0249C6CC */ cpu->ctr = cpu->r[7];
|
|
/* 0249C6D0 */ cpu->r[10] = 0x00000000u;
|
|
L_0249C6D4: ; // 0x249c6d4
|
|
/* 0249C6D4 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 0249C6D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0249C6D8 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 0249C6D8 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 0249C6DC */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 0249C6E0 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 0249C6E0 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0249C6E4 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 0249C6E8 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 0249C6E8 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 0249C6EC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0249C6EC */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0249C6EC */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 0249C6EC */ _t25 = _t24 & 0x00000001u;
|
|
/* 0249C6EC */ if (_t25) goto L_0249C6D4; else goto L_0249C6F0;
|
|
L_0249C6F0: ; // 0x249c6f0
|
|
/* 0249C6F0 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0249C6F0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0249C6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0249C6F8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C6F8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0249C6F8 */ if (_t28) goto L_0249C73C; else goto L_0249C6FC;
|
|
L_0249C6FC: ; // 0x249c6fc
|
|
/* 0249C6FC */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0249C6FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0249C700 */ Gambit_fn_02826F20(cpu);
|
|
/* 0249C704 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249C704 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0249C708 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 0249C708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0249C70C */ cpu->ctr = cpu->r[0];
|
|
/* 0249C710 */ cpu->r[5] = 0x00000004u;
|
|
/* 0249C714 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0249C718 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249C71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0249C720 */ cpu->r[11] = cpu->r[27];
|
|
/* 0249C724 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249C724 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0249C724 */ if (_t33) goto L_0249C72C; else goto L_0249C728;
|
|
L_0249C728: ; // 0x249c728
|
|
/* 0249C728 */ cpu->r[11] = 0x00000001u;
|
|
L_0249C72C: ; // 0x249c72c
|
|
/* 0249C72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249C730 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C730 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0249C730 */ if (_t35) goto L_0249C73C; else goto L_0249C734;
|
|
L_0249C734: ; // 0x249c734
|
|
/* 0249C734 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0249C734 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0249C738 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 0249C738 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0249C73C: ; // 0x249c73c
|
|
/* 0249C73C */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0249C73C */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0249C740 */ cpu->r[0] = 0x00000000u;
|
|
/* 0249C744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0249C748 */ cpu->r[12] = cpu->r[0];
|
|
/* 0249C74C */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249C74C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0249C74C */ if (_t40) goto L_0249C750; else goto L_0249C774;
|
|
L_0249C750: ; // 0x249c750
|
|
/* 0249C750 */ cpu->ctr = cpu->r[6];
|
|
/* 0249C754 */ cpu->r[9] = 0x00000000u;
|
|
L_0249C758: ; // 0x249c758
|
|
/* 0249C758 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0249C758 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0249C75C */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0249C75C */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 0249C760 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 0249C764 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 0249C764 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0249C768 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0249C76C */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0249C76C */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 0249C770 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0249C770 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0249C770 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 0249C770 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0249C770 */ if (_t47) goto L_0249C758; else goto L_0249C774;
|
|
L_0249C774: ; // 0x249c774
|
|
/* 0249C774 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0249C774 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0249C778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0249C77C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C77C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0249C77C */ if (_t50) goto L_0249C7C0; else goto L_0249C780;
|
|
L_0249C780: ; // 0x249c780
|
|
/* 0249C780 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0249C780 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0249C784 */ Gambit_fn_02826F20(cpu);
|
|
/* 0249C788 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249C788 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0249C78C */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0249C78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0249C790 */ cpu->ctr = cpu->r[0];
|
|
/* 0249C794 */ cpu->r[5] = 0x00000004u;
|
|
/* 0249C798 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0249C79C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249C7A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0249C7A4 */ cpu->r[10] = cpu->r[27];
|
|
/* 0249C7A8 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249C7A8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0249C7A8 */ if (_t55) goto L_0249C7B0; else goto L_0249C7AC;
|
|
L_0249C7AC: ; // 0x249c7ac
|
|
/* 0249C7AC */ cpu->r[10] = 0x00000001u;
|
|
L_0249C7B0: ; // 0x249c7b0
|
|
/* 0249C7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249C7B4 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C7B4 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0249C7B4 */ if (_t57) goto L_0249C7C0; else goto L_0249C7B8;
|
|
L_0249C7B8: ; // 0x249c7b8
|
|
/* 0249C7B8 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 0249C7B8 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0249C7BC */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0249C7BC */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_0249C7C0: ; // 0x249c7c0
|
|
/* 0249C7C0 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 0249C7C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0249C7C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0249C7C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249C7CC */ cpu->r[5] = cpu->r[0];
|
|
/* 0249C7D0 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249C7D0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0249C7D0 */ if (_t62) goto L_0249C7D4; else goto L_0249C7F8;
|
|
L_0249C7D4: ; // 0x249c7d4
|
|
/* 0249C7D4 */ cpu->ctr = cpu->r[12];
|
|
/* 0249C7D8 */ cpu->r[8] = 0x00000000u;
|
|
L_0249C7DC: ; // 0x249c7dc
|
|
/* 0249C7DC */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 0249C7DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0249C7E0 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 0249C7E0 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 0249C7E4 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 0249C7E8 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 0249C7E8 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 0249C7EC */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 0249C7F0 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 0249C7F0 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 0249C7F4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0249C7F4 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0249C7F4 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 0249C7F4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 0249C7F4 */ if (_t69) goto L_0249C7DC; else goto L_0249C7F8;
|
|
L_0249C7F8: ; // 0x249c7f8
|
|
/* 0249C7F8 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 0249C7F8 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0249C7FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0249C800 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C800 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0249C800 */ if (_t72) goto L_0249C8DC; else goto L_0249C804;
|
|
L_0249C804: ; // 0x249c804
|
|
/* 0249C804 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0249C804 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0249C808 */ Gambit_fn_02826F20(cpu);
|
|
/* 0249C80C */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249C80C */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0249C810 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 0249C810 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0249C814 */ cpu->ctr = cpu->r[12];
|
|
/* 0249C818 */ cpu->r[5] = 0x00000004u;
|
|
/* 0249C81C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 0249C820 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249C824 */ cpu->r[24] = cpu->r[3];
|
|
/* 0249C828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0249C82C */ cpu->r[30] = cpu->r[25];
|
|
/* 0249C830 */ cpu->r[7] = 0x00000000u;
|
|
/* 0249C834 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249C834 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0249C834 */ if (_t77) goto L_0249C83C; else goto L_0249C838;
|
|
L_0249C838: ; // 0x249c838
|
|
/* 0249C838 */ cpu->r[30] = 0x00000001u;
|
|
L_0249C83C: ; // 0x249c83c
|
|
/* 0249C83C */ cpu->r[31] = 0x10110000u;
|
|
/* 0249C840 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 0249C844 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 0249C844 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 0249C848 */ cpu->r[23] = 0x00000018u;
|
|
L_0249C84C: ; // 0x249c84c
|
|
/* 0249C84C */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0249C84C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0249C850 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C850 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0249C850 */ if (_t80) goto L_0249C8C0; else goto L_0249C854;
|
|
L_0249C854: ; // 0x249c854
|
|
/* 0249C854 */ cpu->r[26] = cpu->r[27];
|
|
/* 0249C854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0249C858 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C858 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0249C858 */ if (_t82) goto L_0249C85C; else goto L_0249C86C;
|
|
L_0249C85C: ; // 0x249c85c
|
|
/* 0249C85C */ cpu->r[3] = 0x00000024u;
|
|
/* 0249C860 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249C864 */ cpu->r[26] = cpu->r[3];
|
|
/* 0249C864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0249C868 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C868 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0249C868 */ if (_t84) goto L_0249C8B4; else goto L_0249C86C;
|
|
L_0249C86C: ; // 0x249c86c
|
|
/* 0249C86C */ cpu->r[11] = cpu->r[26];
|
|
/* 0249C86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0249C870 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C870 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0249C870 */ if (_t86) goto L_0249C874; else goto L_0249C884;
|
|
L_0249C874: ; // 0x249c874
|
|
/* 0249C874 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0249C878 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249C87C */ cpu->r[11] = cpu->r[3];
|
|
/* 0249C87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0249C880 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C880 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0249C880 */ if (_t88) goto L_0249C8A0; else goto L_0249C884;
|
|
L_0249C884: ; // 0x249c884
|
|
/* 0249C884 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249C888 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 0249C888 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0249C88C */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0249C890 */ cpu->r[5] = cpu->r[5] + 0xFFFFB4C8u;
|
|
/* 0249C894 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 0249C894 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0249C898 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 0249C898 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0249C89C */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0249C89C */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_0249C8A0: ; // 0x249c8a0
|
|
/* 0249C8A0 */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249C8A4 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 0249C8A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0249C8A8 */ cpu->r[6] = cpu->r[6] + 0xFFFFB510u;
|
|
/* 0249C8AC */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0249C8AC */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 0249C8B0 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0249C8B0 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_0249C8B4: ; // 0x249c8b4
|
|
/* 0249C8B4 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249C8B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFB528u;
|
|
/* 0249C8BC */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0249C8BC */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0249C8C0: ; // 0x249c8c0
|
|
/* 0249C8C0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0249C8C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249C8C4 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 0249C8C8 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C8C8 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0249C8C8 */ if (_t98) goto L_0249C8CC; else goto L_0249C84C;
|
|
L_0249C8CC: ; // 0x249c8cc
|
|
/* 0249C8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0249C8D0 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249C8D0 */ _t100 = _t99 & 0x00000001u;
|
|
/* 0249C8D0 */ if (_t100) goto L_0249C8DC; else goto L_0249C8D4;
|
|
L_0249C8D4: ; // 0x249c8d4
|
|
/* 0249C8D4 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 0249C8D4 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 0249C8D8 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 0249C8D8 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_0249C8DC: ; // 0x249c8dc
|
|
/* 0249C8DC */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 0249C8DC */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 0249C8E0 */ /* nop */
|
|
/* 0249C8E4 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 0249C8E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0249C8E8 */ cpu->lr = cpu->r[0];
|
|
/* 0249C8EC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0249C8F0 */ return;
|
|
}
|
|
|
|
// fn_0249C8F4 @ 0x249c8f4
|
|
void Gambit_fn_0249C8F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0249C8F4: ; // 0x249c8f4
|
|
/* 0249C8F4 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 0249C8F4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0249C8F8 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0249C8F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249C8FC */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0249C8FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0249C900 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 0249C904 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 0249C904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249C908 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249C908 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249C908 */ if (_t5) goto L_0249C90C; else goto L_0249C914;
|
|
L_0249C90C: ; // 0x249c90c
|
|
/* 0249C90C */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0249C910 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_0249C914: ; // 0x249c914
|
|
/* 0249C914 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 0249C914 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0249C918 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 0249C918 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249C91C */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0249C91C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0249C920 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0249C920 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0249C924 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 0249C924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249C928 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0249C92C */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0249C92C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249C930 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249C930 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249C930 */ if (_t13) goto L_0249C934; else goto L_0249C93C;
|
|
L_0249C934: ; // 0x249c934
|
|
/* 0249C934 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0249C938 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0249C93C: ; // 0x249c93c
|
|
/* 0249C93C */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0249C93C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249C940 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0249C940 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0249C944 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 0249C944 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249C948 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 0249C948 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0249C94C */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0249C94C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0249C950 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 0249C950 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0249C954 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 0249C954 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249C958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0249C95C */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0249C95C */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249C960 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249C960 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0249C960 */ if (_t23) goto L_0249C964; else goto L_0249C96C;
|
|
L_0249C964: ; // 0x249c964
|
|
/* 0249C964 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0249C968 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0249C96C: ; // 0x249c96c
|
|
/* 0249C96C */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0249C96C */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0249C970 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 0249C970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0249C974 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 0249C974 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0249C978 */ return;
|
|
}
|
|
|
|
// fn_0249C97C @ 0x249c97c
|
|
void Gambit_fn_0249C97C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249C97C: ; // 0x249c97c
|
|
/* 0249C97C */ cpu->r[0] = cpu->lr;
|
|
/* 0249C980 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249C984 */ cpu->r[7] = 0x024A0000u;
|
|
/* 0249C988 */ cpu->r[6] = 0x024A0000u;
|
|
/* 0249C98C */ cpu->r[10] = 0x101C0000u;
|
|
/* 0249C990 */ cpu->r[7] = cpu->r[7] + 0xFFFFBE88u;
|
|
/* 0249C994 */ cpu->r[6] = cpu->r[6] + 0xFFFFBE88u;
|
|
/* 0249C998 */ cpu->r[10] = cpu->r[10] + 0x0000627Cu;
|
|
/* 0249C99C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0249C99C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0249C9A0 */ cpu->r[0] = 0x101C0000u;
|
|
/* 0249C9A4 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249C9A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0249C9A4 */ cpu->r[1] = _t1;
|
|
/* 0249C9A8 */ cpu->r[0] = cpu->r[0] + 0x00006278u;
|
|
/* 0249C9AC */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0249C9AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0249C9B0 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249C9B4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0249C9B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249C9B8 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249C9BC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249C9BC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0249C9C0 */ Gambit_fn_02791B10(cpu);
|
|
/* 0249C9C4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249C9C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249C9C8 */ cpu->lr = cpu->r[0];
|
|
/* 0249C9CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249C9D0 */ return;
|
|
}
|
|
|
|
// fn_0249C9A4 @ 0x249c9a4
|
|
void Gambit_fn_0249C9A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0249C9A4: ; // 0x249c9a4
|
|
/* 0249C9A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249C9A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249C9A4 */ cpu->r[1] = _t0;
|
|
/* 0249C9A8 */ cpu->r[0] = cpu->r[0] + 0x00006278u;
|
|
/* 0249C9AC */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0249C9AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249C9B0 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249C9B4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0249C9B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249C9B8 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249C9BC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249C9BC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0249C9C0 */ Gambit_fn_02791B10(cpu);
|
|
/* 0249C9C4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0249C9C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249C9C8 */ cpu->lr = cpu->r[0];
|
|
/* 0249C9CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249C9D0 */ return;
|
|
}
|
|
|
|
// fn_0249C9D4 @ 0x249c9d4
|
|
void Gambit_fn_0249C9D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249C9D4: ; // 0x249c9d4
|
|
/* 0249C9D4 */ cpu->r[0] = cpu->lr;
|
|
/* 0249C9D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0249C9DC */ cpu->r[7] = 0x024A0000u;
|
|
/* 0249C9E0 */ cpu->r[6] = 0x024A0000u;
|
|
/* 0249C9E4 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0249C9E8 */ cpu->r[7] = cpu->r[7] + 0xFFFFBE90u;
|
|
/* 0249C9EC */ cpu->r[6] = cpu->r[6] + 0xFFFFBE90u;
|
|
/* 0249C9F0 */ cpu->r[10] = cpu->r[10] + 0x00006284u;
|
|
/* 0249C9F4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0249C9F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0249C9F8 */ cpu->r[0] = 0x101C0000u;
|
|
/* 0249C9FC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249C9FC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0249C9FC */ cpu->r[1] = _t1;
|
|
/* 0249CA00 */ cpu->r[0] = cpu->r[0] + 0x00006280u;
|
|
/* 0249CA04 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0249CA04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0249CA08 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249CA0C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0249CA0C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249CA10 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CA14 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CA14 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0249CA18 */ Gambit_fn_02791B10(cpu);
|
|
/* 0249CA1C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249CA1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249CA20 */ cpu->lr = cpu->r[0];
|
|
/* 0249CA24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249CA28 */ return;
|
|
}
|
|
|
|
// fn_0249C9FC @ 0x249c9fc
|
|
void Gambit_fn_0249C9FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0249C9FC: ; // 0x249c9fc
|
|
/* 0249C9FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249C9FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249C9FC */ cpu->r[1] = _t0;
|
|
/* 0249CA00 */ cpu->r[0] = cpu->r[0] + 0x00006280u;
|
|
/* 0249CA04 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0249CA04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249CA08 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249CA0C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0249CA0C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249CA10 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CA14 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CA14 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0249CA18 */ Gambit_fn_02791B10(cpu);
|
|
/* 0249CA1C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0249CA1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249CA20 */ cpu->lr = cpu->r[0];
|
|
/* 0249CA24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249CA28 */ return;
|
|
}
|
|
|
|
// fn_0249CA2C @ 0x249ca2c
|
|
void Gambit_fn_0249CA2C(CPUState* cpu) {
|
|
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_0249CA2C: ; // 0x249ca2c
|
|
/* 0249CA2C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0249CA2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249CA2C */ cpu->r[1] = _t0;
|
|
/* 0249CA30 */ cpu->r[0] = cpu->lr;
|
|
/* 0249CA34 */ /* nop */
|
|
/* 0249CA38 */ cpu->r[30] = cpu->r[5];
|
|
/* 0249CA3C */ cpu->r[26] = cpu->r[3];
|
|
/* 0249CA40 */ cpu->r[27] = cpu->r[7];
|
|
/* 0249CA44 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249CA48 */ cpu->r[31] = cpu->r[6];
|
|
/* 0249CA4C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249CA4C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0249CA50 */ cpu->r[29] = cpu->r[4];
|
|
/* 0249CA54 */ cpu->r[4] = cpu->r[27];
|
|
/* 0249CA58 */ Gambit_fn_027DB318(cpu);
|
|
/* 0249CA5C */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 0249CA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0249CA60 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CA60 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249CA60 */ if (_t3) goto L_0249CAF4; else goto L_0249CA64;
|
|
L_0249CA64: ; // 0x249ca64
|
|
/* 0249CA64 */ cpu->r[5] = cpu->r[28];
|
|
/* 0249CA68 */ cpu->r[4] = cpu->r[29];
|
|
/* 0249CA6C */ cpu->r[3] = cpu->r[26];
|
|
/* 0249CA70 */ Gambit_fn_0249C97C(cpu);
|
|
/* 0249CA74 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0249CA74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249CA78 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 0249CA78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249CA7C */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 0249CA80 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0249CA84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 0249CA88 */ cpu->r[25] = 0x00000000u;
|
|
/* 0249CA8C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CA8C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0249CA8C */ if (_t7) goto L_0249CAF4; else goto L_0249CA90;
|
|
L_0249CA90: ; // 0x249ca90
|
|
/* 0249CA90 */ cpu->r[24] = 0x101C0000u;
|
|
L_0249CA94: ; // 0x249ca94
|
|
/* 0249CA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0249CA98 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CA98 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0249CA98 */ if (_t9) goto L_0249CAB0; else goto L_0249CA9C;
|
|
L_0249CA9C: ; // 0x249ca9c
|
|
/* 0249CA9C */ cpu->ctr = cpu->r[27];
|
|
/* 0249CAA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249CAA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249CAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249CAAC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CAAC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249CAAC */ if (_t11) goto L_0249CAE0; else goto L_0249CAB0;
|
|
L_0249CAB0: ; // 0x249cab0
|
|
/* 0249CAB0 */ _t12 = cpu->r[24] + 0x00006278u;
|
|
/* 0249CAB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249CAB4 */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 0249CAB8 */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 0249CAB8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0249CABC */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 0249CABC */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249CAC0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249CAC4 */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 0249CAC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249CAC8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249CACC */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 0249CACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249CAD0 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249CAD4 */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 0249CAD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249CAD8 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0249CADC */ Gambit_fn_0249AD20(cpu);
|
|
L_0249CAE0: ; // 0x249cae0
|
|
/* 0249CAE0 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 0249CAE4 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 0249CAE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0249CAE8 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0249CAEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 0249CAF0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CAF0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0249CAF0 */ if (_t20) goto L_0249CAF4; else goto L_0249CA94;
|
|
L_0249CAF4: ; // 0x249caf4
|
|
/* 0249CAF4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0249CAF8 */ /* nop */
|
|
/* 0249CAFC */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249CAFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249CB00 */ cpu->lr = cpu->r[0];
|
|
/* 0249CB04 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0249CB08 */ return;
|
|
}
|
|
|
|
// fn_0249CB0C @ 0x249cb0c
|
|
void Gambit_fn_0249CB0C(CPUState* cpu) {
|
|
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_0249CB0C: ; // 0x249cb0c
|
|
/* 0249CB0C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0249CB0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249CB0C */ cpu->r[1] = _t0;
|
|
/* 0249CB10 */ cpu->r[0] = cpu->lr;
|
|
/* 0249CB14 */ /* nop */
|
|
/* 0249CB18 */ cpu->r[30] = cpu->r[5];
|
|
/* 0249CB1C */ cpu->r[26] = cpu->r[3];
|
|
/* 0249CB20 */ cpu->r[27] = cpu->r[7];
|
|
/* 0249CB24 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249CB28 */ cpu->r[31] = cpu->r[6];
|
|
/* 0249CB2C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249CB2C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0249CB30 */ cpu->r[29] = cpu->r[4];
|
|
/* 0249CB34 */ cpu->r[4] = cpu->r[27];
|
|
/* 0249CB38 */ Gambit_fn_027DB318(cpu);
|
|
/* 0249CB3C */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 0249CB3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0249CB40 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CB40 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249CB40 */ if (_t3) goto L_0249CBD4; else goto L_0249CB44;
|
|
L_0249CB44: ; // 0x249cb44
|
|
/* 0249CB44 */ cpu->r[5] = cpu->r[28];
|
|
/* 0249CB48 */ cpu->r[4] = cpu->r[29];
|
|
/* 0249CB4C */ cpu->r[3] = cpu->r[26];
|
|
/* 0249CB50 */ Gambit_fn_0249C9D4(cpu);
|
|
/* 0249CB54 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0249CB54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249CB58 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 0249CB58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249CB5C */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 0249CB60 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0249CB64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 0249CB68 */ cpu->r[25] = 0x00000000u;
|
|
/* 0249CB6C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CB6C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0249CB6C */ if (_t7) goto L_0249CBD4; else goto L_0249CB70;
|
|
L_0249CB70: ; // 0x249cb70
|
|
/* 0249CB70 */ cpu->r[24] = 0x101C0000u;
|
|
L_0249CB74: ; // 0x249cb74
|
|
/* 0249CB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0249CB78 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CB78 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0249CB78 */ if (_t9) goto L_0249CB90; else goto L_0249CB7C;
|
|
L_0249CB7C: ; // 0x249cb7c
|
|
/* 0249CB7C */ cpu->ctr = cpu->r[27];
|
|
/* 0249CB80 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249CB84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249CB88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249CB8C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CB8C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249CB8C */ if (_t11) goto L_0249CBC0; else goto L_0249CB90;
|
|
L_0249CB90: ; // 0x249cb90
|
|
/* 0249CB90 */ _t12 = cpu->r[24] + 0x00006280u;
|
|
/* 0249CB90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0249CB94 */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 0249CB98 */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 0249CB98 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0249CB9C */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 0249CB9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249CBA0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249CBA4 */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 0249CBA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249CBA8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249CBAC */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 0249CBAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249CBB0 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249CBB4 */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 0249CBB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249CBB8 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0249CBBC */ Gambit_fn_0249AD20(cpu);
|
|
L_0249CBC0: ; // 0x249cbc0
|
|
/* 0249CBC0 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 0249CBC4 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 0249CBC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0249CBC8 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0249CBCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 0249CBD0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CBD0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0249CBD0 */ if (_t20) goto L_0249CBD4; else goto L_0249CB74;
|
|
L_0249CBD4: ; // 0x249cbd4
|
|
/* 0249CBD4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0249CBD8 */ /* nop */
|
|
/* 0249CBDC */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249CBDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249CBE0 */ cpu->lr = cpu->r[0];
|
|
/* 0249CBE4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0249CBE8 */ return;
|
|
}
|
|
|
|
// fn_0249CBEC @ 0x249cbec
|
|
void Gambit_fn_0249CBEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107;
|
|
|
|
L_0249CBEC: ; // 0x249cbec
|
|
/* 0249CBEC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0249CBEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249CBEC */ cpu->r[1] = _t0;
|
|
/* 0249CBF0 */ /* nop */
|
|
/* 0249CBF4 */ cpu->r[0] = cpu->lr;
|
|
/* 0249CBF8 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0249CBF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0249CBFC */ cpu->r[29] = cpu->r[3];
|
|
/* 0249CBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0249CC00 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CC00 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249CC00 */ if (_t3) goto L_0249CC04; else goto L_0249CC14;
|
|
L_0249CC04: ; // 0x249cc04
|
|
/* 0249CC04 */ cpu->r[3] = 0x0000028Cu;
|
|
/* 0249CC08 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249CC0C */ cpu->r[29] = cpu->r[3];
|
|
/* 0249CC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0249CC10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CC10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249CC10 */ if (_t5) goto L_0249CF50; else goto L_0249CC14;
|
|
L_0249CC14: ; // 0x249cc14
|
|
/* 0249CC14 */ cpu->r[3] = cpu->r[29];
|
|
/* 0249CC18 */ Gambit_fn_024F6F3C(cpu);
|
|
/* 0249CC1C */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249CC20 */ cpu->r[31] = cpu->r[29] + 0x000001B0u;
|
|
/* 0249CC20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249CC24 */ cpu->r[6] = cpu->r[6] + 0xFFFFC674u;
|
|
/* 0249CC28 */ cpu->r[28] = 0x00000000u;
|
|
/* 0249CC2C */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 0249CC2C */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 0249CC30 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CC30 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0249CC30 */ if (_t8) goto L_0249CC34; else goto L_0249CC44;
|
|
L_0249CC34: ; // 0x249cc34
|
|
/* 0249CC34 */ cpu->r[3] = 0x00000038u;
|
|
/* 0249CC38 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249CC3C */ cpu->r[31] = cpu->r[3];
|
|
/* 0249CC3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249CC40 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CC40 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0249CC40 */ if (_t10) goto L_0249CC74; else goto L_0249CC44;
|
|
L_0249CC44: ; // 0x249cc44
|
|
/* 0249CC44 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249CC48 */ Gambit_fn_027FC29C(cpu);
|
|
/* 0249CC4C */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249CC50 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 0249CC50 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 0249CC54 */ cpu->r[0] = cpu->r[0] + 0xFFFFC9BCu;
|
|
/* 0249CC58 */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 0249CC58 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 0249CC5C */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 0249CC5C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0249CC60 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 0249CC60 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 0249CC64 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 0249CC64 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 0249CC68 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0249CC68 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 0249CC6C */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249CC6C */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 0249CC70 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 0249CC70 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
L_0249CC74: ; // 0x249cc74
|
|
/* 0249CC74 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0249CC78 */ _t19 = cpu->r[29] + 0x000001E8u;
|
|
/* 0249CC78 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 0249CC7C */ _t20 = cpu->r[12] + 0x00004FA8u;
|
|
/* 0249CC7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249CC80 */ cpu->r[9] = 0x00000001u;
|
|
/* 0249CC84 */ _t21 = cpu->r[29] + 0x000001F0u;
|
|
/* 0249CC84 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[28]);
|
|
/* 0249CC88 */ /* nop */
|
|
/* 0249CC8C */ cpu->r[31] = cpu->r[29] + 0x000001F4u;
|
|
/* 0249CC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249CC90 */ _t22 = cpu->r[29] + 0x000001ECu;
|
|
/* 0249CC90 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 0249CC94 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CC94 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0249CC94 */ if (_t24) goto L_0249CC98; else goto L_0249CCA8;
|
|
L_0249CC98: ; // 0x249cc98
|
|
/* 0249CC98 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0249CC9C */ Gambit_fn_02801A78(cpu);
|
|
/* 0249CCA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249CCA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249CCA4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CCA4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0249CCA4 */ if (_t26) goto L_0249CCDC; else goto L_0249CCA8;
|
|
L_0249CCA8: ; // 0x249cca8
|
|
/* 0249CCA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249CCA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249CCAC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CCAC */ _t28 = _t27 & 0x00000001u;
|
|
/* 0249CCAC */ if (_t28) goto L_0249CCB0; else goto L_0249CCC0;
|
|
L_0249CCB0: ; // 0x249ccb0
|
|
/* 0249CCB0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0249CCB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249CCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249CCBC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CCBC */ _t30 = _t29 & 0x00000001u;
|
|
/* 0249CCBC */ if (_t30) goto L_0249CCCC; else goto L_0249CCC0;
|
|
L_0249CCC0: ; // 0x249ccc0
|
|
/* 0249CCC0 */ _t31 = cpu->r[3] + 0x00000004u;
|
|
/* 0249CCC0 */ rbrew_write32(cpu->mem, _t31, cpu->r[28]);
|
|
/* 0249CCC4 */ _t32 = cpu->r[3] + 0x00000000u;
|
|
/* 0249CCC4 */ rbrew_write32(cpu->mem, _t32, cpu->r[28]);
|
|
/* 0249CCC8 */ _t33 = cpu->r[3] + 0x00000008u;
|
|
/* 0249CCC8 */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
|
|
L_0249CCCC: ; // 0x249cccc
|
|
/* 0249CCCC */ cpu->r[4] = 0x00000020u;
|
|
/* 0249CCD0 */ cpu->r[5] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0249CCD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249CCD8 */ Gambit_fn_028023A8(cpu);
|
|
L_0249CCDC: ; // 0x249ccdc
|
|
/* 0249CCDC */ cpu->r[3] = cpu->r[29] + 0x00000280u;
|
|
/* 0249CCDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249CCE0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CCE0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0249CCE0 */ if (_t35) goto L_0249CCE4; else goto L_0249CCF4;
|
|
L_0249CCE4: ; // 0x249cce4
|
|
/* 0249CCE4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0249CCE8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249CCEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249CCF0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CCF0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0249CCF0 */ if (_t37) goto L_0249CD08; else goto L_0249CCF4;
|
|
L_0249CCF4: ; // 0x249ccf4
|
|
/* 0249CCF4 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249CCF8 */ _t38 = cpu->r[3] + 0x00000004u;
|
|
/* 0249CCF8 */ rbrew_write32(cpu->mem, _t38, cpu->r[28]);
|
|
/* 0249CCFC */ cpu->r[0] = cpu->r[0] + 0xFFFFC458u;
|
|
/* 0249CD00 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 0249CD00 */ rbrew_write32(cpu->mem, _t39, cpu->r[28]);
|
|
/* 0249CD04 */ _t40 = cpu->r[3] + 0x00000008u;
|
|
/* 0249CD04 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
L_0249CD08: ; // 0x249cd08
|
|
/* 0249CD08 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249CD0C */ cpu->r[0] = 0x00000002u;
|
|
/* 0249CD10 */ cpu->r[4] = cpu->r[29];
|
|
/* 0249CD14 */ cpu->r[11] = cpu->r[11] + 0xFFFFC468u;
|
|
/* 0249CD18 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 0249CD1C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0249CD20 */ _t41 = cpu->r[29] + 0x00000288u;
|
|
/* 0249CD20 */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
|
|
/* 0249CD24 */ cpu->r[6] = 0x00000000u;
|
|
/* 0249CD28 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 0249CD28 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[0]);
|
|
/* 0249CD2C */ Gambit_fn_0249E25C(cpu);
|
|
/* 0249CD30 */ cpu->r[3] = cpu->r[29];
|
|
/* 0249CD34 */ cpu->r[4] = cpu->r[29] + 0x000001B0u;
|
|
/* 0249CD38 */ Gambit_fn_02000834(cpu);
|
|
/* 0249CD3C */ cpu->r[26] = 0x024A0000u;
|
|
/* 0249CD40 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249CD44 */ cpu->r[27] = 0x100B0000u;
|
|
/* 0249CD48 */ cpu->r[26] = cpu->r[26] + 0xFFFFDD00u;
|
|
/* 0249CD4C */ cpu->r[27] = cpu->r[27] + 0xFFFFC3A8u;
|
|
/* 0249CD50 */ cpu->ctr = cpu->r[26];
|
|
/* 0249CD54 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 0249CD54 */ rbrew_write32(cpu->mem, _t43, cpu->r[27]);
|
|
/* 0249CD58 */ cpu->r[12] = cpu->r[12] + 0xFFFFC560u;
|
|
/* 0249CD5C */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CD5C */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
/* 0249CD60 */ _t45 = cpu->r[29] + 0x000001C8u;
|
|
/* 0249CD60 */ cpu->r[24] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0249CD64 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CD68 */ _t46 = cpu->r[24] + 0x00000000u;
|
|
/* 0249CD68 */ cpu->r[25] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0249CD6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249CD70 */ cpu->r[31] = 0x10110000u;
|
|
/* 0249CD74 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CD74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0249CD78 */ _t48 = cpu->r[31] + 0x00007399u;
|
|
/* 0249CD78 */ cpu->r[31] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0249CD7C */ _t49 = cpu->r[6] + 0x00000000u;
|
|
/* 0249CD7C */ cpu->r[0] = rbrew_read8(cpu->mem, _t49);
|
|
/* 0249CD80 */ cpu->r[30] = 0x00000000u;
|
|
/* 0249CD84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0249CD88 */ cpu->r[0] = 0x00080000u;
|
|
/* 0249CD8C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CD8C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0249CD8C */ if (_t51) goto L_0249CDB4; else goto L_0249CD90;
|
|
L_0249CD90: ; // 0x249cd90
|
|
/* 0249CD90 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0249CD94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0249CD98 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0249CD9C */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249CD9C */ _t53 = _t52 & 0x00000001u;
|
|
/* 0249CD9C */ if (_t53) goto L_0249CDB0; else goto L_0249CDA0;
|
|
L_0249CDA0: ; // 0x249cda0
|
|
/* 0249CDA0 */ _t54 = cpu->r[6] + 0x00000000u;
|
|
/* 0249CDA0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t54);
|
|
/* 0249CDA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0249CDA8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CDA8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0249CDA8 */ if (_t56) goto L_0249CDAC; else goto L_0249CD90;
|
|
L_0249CDAC: ; // 0x249cdac
|
|
/* 0249CDAC */ goto L_0249CDB4;
|
|
L_0249CDB0: ; // 0x249cdb0
|
|
/* 0249CDB0 */ cpu->r[30] = 0x00000000u;
|
|
L_0249CDB4: ; // 0x249cdb4
|
|
/* 0249CDB4 */ _t57 = cpu->r[24] + 0x00000008u;
|
|
/* 0249CDB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0249CDB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0249CDBC */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 0249CDBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0249CDC0 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249CDC0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0249CDC0 */ if (_t60) goto L_0249CDC8; else goto L_0249CDC4;
|
|
L_0249CDC4: ; // 0x249cdc4
|
|
/* 0249CDC4 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0249CDC8: ; // 0x249cdc8
|
|
/* 0249CDC8 */ _t61 = cpu->r[7] + 0x00000014u;
|
|
/* 0249CDC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0249CDCC */ cpu->ctr = cpu->r[8];
|
|
/* 0249CDD0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CDD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249CDD8 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CDD8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0249CDDC */ cpu->r[6] = 0x00000000u;
|
|
/* 0249CDE0 */ cpu->r[5] = cpu->r[30];
|
|
/* 0249CDE4 */ cpu->r[3] = cpu->r[25];
|
|
/* 0249CDE8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0249CDEC */ _t63 = cpu->r[25] + cpu->r[30];
|
|
/* 0249CDEC */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[31]);
|
|
/* 0249CDF0 */ cpu->r[12] = 0x00000000u;
|
|
/* 0249CDF4 */ _t64 = cpu->r[1] + 0x00000028u;
|
|
/* 0249CDF4 */ rbrew_write32(cpu->mem, _t64, cpu->r[28]);
|
|
/* 0249CDF8 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 0249CDFC */ _t65 = cpu->r[1] + 0x00000008u;
|
|
/* 0249CDFC */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[12]);
|
|
/* 0249CE00 */ cpu->r[0] = 0x024A0000u;
|
|
/* 0249CE04 */ _t66 = cpu->r[1] + 0x00000024u;
|
|
/* 0249CE04 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[28]);
|
|
/* 0249CE08 */ _t67 = cpu->r[1] + 0x00000026u;
|
|
/* 0249CE08 */ rbrew_write16(cpu->mem, _t67, (uint16_t)cpu->r[28]);
|
|
/* 0249CE0C */ cpu->r[0] = cpu->r[0] + 0xFFFFD860u;
|
|
/* 0249CE10 */ _t68 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0249CE10 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[7]);
|
|
/* 0249CE14 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0249CE18 */ cpu->r[11] = 0x024A0000u;
|
|
/* 0249CE1C */ _t69 = cpu->r[1] + 0x00000018u;
|
|
/* 0249CE1C */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 0249CE20 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0249CE24 */ _t70 = cpu->r[1] + 0x00000014u;
|
|
/* 0249CE24 */ rbrew_write16(cpu->mem, _t70, (uint16_t)cpu->r[28]);
|
|
/* 0249CE28 */ cpu->r[11] = cpu->r[11] + 0xFFFFD86Cu;
|
|
/* 0249CE2C */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249CE30 */ _t71 = cpu->r[1] + 0x00000016u;
|
|
/* 0249CE30 */ rbrew_write16(cpu->mem, _t71, (uint16_t)cpu->r[0]);
|
|
/* 0249CE34 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0249CE38 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 0249CE3C */ _t72 = cpu->r[1] + 0x00000020u;
|
|
/* 0249CE3C */ rbrew_write32(cpu->mem, _t72, cpu->r[11]);
|
|
/* 0249CE40 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0249CE44 */ _t73 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249CE44 */ rbrew_write16(cpu->mem, _t73, (uint16_t)cpu->r[28]);
|
|
/* 0249CE48 */ Gambit_fn_0249E50C(cpu);
|
|
/* 0249CE4C */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249CE50 */ _t74 = cpu->r[1] + 0x00000010u;
|
|
/* 0249CE50 */ rbrew_write32(cpu->mem, _t74, cpu->r[27]);
|
|
/* 0249CE54 */ cpu->r[6] = cpu->r[6] + 0xFFFFC570u;
|
|
/* 0249CE58 */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CE58 */ rbrew_write32(cpu->mem, _t75, cpu->r[6]);
|
|
/* 0249CE5C */ _t76 = cpu->r[29] + 0x000001C4u;
|
|
/* 0249CE5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0249CE60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 0249CE64 */ _t77 = cpu->r[29] + 0x000001C8u;
|
|
/* 0249CE64 */ cpu->r[27] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0249CE68 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249CE68 */ _t79 = _t78 & 0x00000001u;
|
|
/* 0249CE68 */ if (_t79) goto L_0249CE6C; else goto L_0249CE70;
|
|
L_0249CE6C: ; // 0x249ce6c
|
|
/* 0249CE6C */ cpu->r[27] = cpu->r[27] + 0x00000024u;
|
|
L_0249CE70: ; // 0x249ce70
|
|
/* 0249CE70 */ cpu->ctr = cpu->r[26];
|
|
/* 0249CE74 */ _t80 = cpu->r[27] + 0x00000000u;
|
|
/* 0249CE74 */ cpu->r[25] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0249CE78 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CE7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249CE80 */ _t81 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CE80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0249CE84 */ _t82 = cpu->r[12] + 0x00000000u;
|
|
/* 0249CE84 */ cpu->r[10] = rbrew_read8(cpu->mem, _t82);
|
|
/* 0249CE88 */ cpu->r[30] = 0x00000000u;
|
|
/* 0249CE8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0249CE90 */ cpu->r[5] = 0x00080000u;
|
|
/* 0249CE94 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CE94 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0249CE94 */ if (_t84) goto L_0249CEBC; else goto L_0249CE98;
|
|
L_0249CE98: ; // 0x249ce98
|
|
/* 0249CE98 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0249CE9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0249CEA0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0249CEA4 */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249CEA4 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0249CEA4 */ if (_t86) goto L_0249CEB8; else goto L_0249CEA8;
|
|
L_0249CEA8: ; // 0x249cea8
|
|
/* 0249CEA8 */ _t87 = cpu->r[12] + 0x00000000u;
|
|
/* 0249CEA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t87);
|
|
/* 0249CEAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0249CEB0 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249CEB0 */ _t89 = _t88 & 0x00000001u;
|
|
/* 0249CEB0 */ if (_t89) goto L_0249CEB4; else goto L_0249CE98;
|
|
L_0249CEB4: ; // 0x249ceb4
|
|
/* 0249CEB4 */ goto L_0249CEBC;
|
|
L_0249CEB8: ; // 0x249ceb8
|
|
/* 0249CEB8 */ cpu->r[30] = 0x00000000u;
|
|
L_0249CEBC: ; // 0x249cebc
|
|
/* 0249CEBC */ _t90 = cpu->r[27] + 0x00000008u;
|
|
/* 0249CEBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0249CEC0 */ _t91 = cpu->r[1] + 0x00000010u;
|
|
/* 0249CEC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0249CEC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0249CEC8 */ _t92 = cpu->r[6] + 0x00000014u;
|
|
/* 0249CEC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0249CECC */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249CECC */ _t94 = _t93 & 0x00000001u;
|
|
/* 0249CECC */ if (_t94) goto L_0249CED4; else goto L_0249CED0;
|
|
L_0249CED0: ; // 0x249ced0
|
|
/* 0249CED0 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0249CED4: ; // 0x249ced4
|
|
/* 0249CED4 */ cpu->ctr = cpu->r[8];
|
|
/* 0249CED8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CEDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249CEE0 */ _t95 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CEE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0249CEE4 */ cpu->r[3] = cpu->r[25];
|
|
/* 0249CEE8 */ cpu->r[5] = cpu->r[30];
|
|
/* 0249CEEC */ cpu->r[6] = 0x00000000u;
|
|
/* 0249CEF0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0249CEF4 */ _t96 = cpu->r[25] + cpu->r[30];
|
|
/* 0249CEF4 */ rbrew_write8(cpu->mem, _t96, (uint8_t)cpu->r[31]);
|
|
/* 0249CEF8 */ cpu->r[11] = 0x00000001u;
|
|
/* 0249CEFC */ _t97 = cpu->r[1] + 0x00000028u;
|
|
/* 0249CEFC */ rbrew_write32(cpu->mem, _t97, cpu->r[28]);
|
|
/* 0249CF00 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0249CF04 */ _t98 = cpu->r[1] + 0x00000008u;
|
|
/* 0249CF04 */ rbrew_write8(cpu->mem, _t98, (uint8_t)cpu->r[11]);
|
|
/* 0249CF08 */ cpu->r[9] = 0x024A0000u;
|
|
/* 0249CF0C */ _t99 = cpu->r[1] + 0x00000026u;
|
|
/* 0249CF0C */ rbrew_write16(cpu->mem, _t99, (uint16_t)cpu->r[28]);
|
|
/* 0249CF10 */ cpu->r[9] = cpu->r[9] + 0xFFFFD884u;
|
|
/* 0249CF14 */ _t100 = cpu->r[1] + 0x00000014u;
|
|
/* 0249CF14 */ rbrew_write16(cpu->mem, _t100, (uint16_t)cpu->r[28]);
|
|
/* 0249CF18 */ cpu->r[0] = 0x024A0000u;
|
|
/* 0249CF1C */ _t101 = cpu->r[1] + 0x00000020u;
|
|
/* 0249CF1C */ rbrew_write32(cpu->mem, _t101, cpu->r[9]);
|
|
/* 0249CF20 */ cpu->r[0] = cpu->r[0] + 0xFFFFD898u;
|
|
/* 0249CF24 */ _t102 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249CF24 */ rbrew_write16(cpu->mem, _t102, (uint16_t)cpu->r[28]);
|
|
/* 0249CF28 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249CF2C */ _t103 = cpu->r[1] + 0x00000016u;
|
|
/* 0249CF2C */ rbrew_write16(cpu->mem, _t103, (uint16_t)cpu->r[8]);
|
|
/* 0249CF30 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0249CF34 */ _t104 = cpu->r[1] + 0x00000018u;
|
|
/* 0249CF34 */ rbrew_write32(cpu->mem, _t104, cpu->r[0]);
|
|
/* 0249CF38 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 0249CF3C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0249CF40 */ _t105 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0249CF40 */ rbrew_write16(cpu->mem, _t105, (uint16_t)cpu->r[8]);
|
|
/* 0249CF44 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0249CF48 */ _t106 = cpu->r[1] + 0x00000024u;
|
|
/* 0249CF48 */ rbrew_write16(cpu->mem, _t106, (uint16_t)cpu->r[28]);
|
|
/* 0249CF4C */ Gambit_fn_0249E50C(cpu);
|
|
L_0249CF50: ; // 0x249cf50
|
|
/* 0249CF50 */ cpu->r[3] = cpu->r[29];
|
|
/* 0249CF54 */ /* nop */
|
|
/* 0249CF58 */ _t107 = cpu->r[1] + 0x00000054u;
|
|
/* 0249CF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0249CF5C */ cpu->lr = cpu->r[0];
|
|
/* 0249CF60 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0249CF64 */ return;
|
|
}
|
|
|
|
// fn_0249CF68 @ 0x249cf68
|
|
void Gambit_fn_0249CF68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0249CF68: ; // 0x249cf68
|
|
/* 0249CF68 */ cpu->r[0] = cpu->lr;
|
|
/* 0249CF6C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0249CF6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249CF6C */ cpu->r[1] = _t0;
|
|
/* 0249CF70 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0249CF70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249CF74 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0249CF74 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249CF78 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249CF7C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0249CF80 */ cpu->r[31] = cpu->r[4];
|
|
/* 0249CF84 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249CF84 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249CF88 */ Gambit_fn_024F6710(cpu);
|
|
/* 0249CF8C */ cpu->r[5] = cpu->r[3];
|
|
/* 0249CF90 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249CF94 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249CF98 */ Gambit_fn_024F4798(cpu);
|
|
/* 0249CF9C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249CF9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249CFA0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249CFA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249CFA4 */ cpu->lr = cpu->r[0];
|
|
/* 0249CFA8 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0249CFA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249CFAC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0249CFB0 */ return;
|
|
}
|
|
|
|
// fn_0249CF6C @ 0x249cf6c
|
|
void Gambit_fn_0249CF6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0249CF6C: ; // 0x249cf6c
|
|
/* 0249CF6C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0249CF6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249CF6C */ cpu->r[1] = _t0;
|
|
/* 0249CF70 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0249CF70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249CF74 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0249CF74 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249CF78 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249CF7C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0249CF80 */ cpu->r[31] = cpu->r[4];
|
|
/* 0249CF84 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249CF84 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249CF88 */ Gambit_fn_024F6710(cpu);
|
|
/* 0249CF8C */ cpu->r[5] = cpu->r[3];
|
|
/* 0249CF90 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249CF94 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249CF98 */ Gambit_fn_024F4798(cpu);
|
|
/* 0249CF9C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249CF9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249CFA0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249CFA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249CFA4 */ cpu->lr = cpu->r[0];
|
|
/* 0249CFA8 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0249CFA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249CFAC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0249CFB0 */ return;
|
|
}
|
|
|
|
// fn_0249CFB4 @ 0x249cfb4
|
|
void Gambit_fn_0249CFB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249CFB4: ; // 0x249cfb4
|
|
/* 0249CFB4 */ cpu->r[12] = 0x00000000u;
|
|
/* 0249CFB8 */ _t0 = cpu->r[3] + 0x000001F0u;
|
|
/* 0249CFB8 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[12]);
|
|
/* 0249CFBC */ _t1 = cpu->r[3] + 0x000001F4u;
|
|
/* 0249CFBC */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0249CFC0 */ return;
|
|
}
|
|
|
|
// fn_0249CFC8 @ 0x249cfc8
|
|
void Gambit_fn_0249CFC8(CPUState* cpu) {
|
|
uint32_t _t0, _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_0249CFC8: ; // 0x249cfc8
|
|
/* 0249CFC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0249CFC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249CFC8 */ cpu->r[1] = _t0;
|
|
/* 0249CFCC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CFCC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0249CFD0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0249CFD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249CFD4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249CFD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0249CFD8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249CFD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0249CFDC */ cpu->r[29] = cpu->r[3];
|
|
/* 0249CFE0 */ _t5 = cpu->r[29] + 0x000001F4u;
|
|
/* 0249CFE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249CFE4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0249CFE8 */ cpu->r[31] = cpu->r[0];
|
|
/* 0249CFEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[31]);
|
|
/* 0249CFF0 */ _t6 = cpu->r[29] + 0x000001F0u;
|
|
/* 0249CFF0 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 0249CFF4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249CFF4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0249CFF4 */ if (_t8) goto L_0249CFF8; else goto L_0249D050;
|
|
L_0249CFF8: ; // 0x249cff8
|
|
/* 0249CFF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 0249CFFC */ cpu->r[11] = 0x00000000u;
|
|
/* 0249D000 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249D000 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0249D000 */ if (_t10) goto L_0249D004; else goto L_0249D010;
|
|
L_0249D004: ; // 0x249d004
|
|
/* 0249D004 */ _t11 = cpu->r[29] + 0x000001FCu;
|
|
/* 0249D004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249D008 */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249D00C */ _t12 = cpu->r[10] + cpu->r[12];
|
|
/* 0249D00C */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
L_0249D010: ; // 0x249d010
|
|
/* 0249D010 */ _t13 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0249D010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249D014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0249D018 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D018 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0249D018 */ if (_t15) goto L_0249D03C; else goto L_0249D01C;
|
|
L_0249D01C: ; // 0x249d01c
|
|
/* 0249D01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0249D020 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D020 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0249D020 */ if (_t17) goto L_0249D03C; else goto L_0249D024;
|
|
L_0249D024: ; // 0x249d024
|
|
/* 0249D024 */ cpu->r[5] = 0x00000001u;
|
|
/* 0249D028 */ cpu->r[4] = cpu->r[30];
|
|
/* 0249D02C */ cpu->r[3] = cpu->r[29] + 0x000001F4u;
|
|
/* 0249D030 */ Gambit_fn_0280246C(cpu);
|
|
/* 0249D034 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0249D038 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
L_0249D03C: ; // 0x249d03c
|
|
/* 0249D03C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0249D040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[31]);
|
|
/* 0249D044 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249D044 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0249D044 */ if (_t19) goto L_0249D048; else goto L_0249D050;
|
|
L_0249D048: ; // 0x249d048
|
|
/* 0249D048 */ _t20 = cpu->r[29] + 0x000001F4u;
|
|
/* 0249D048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249D04C */ goto L_0249CFF8;
|
|
L_0249D050: ; // 0x249d050
|
|
/* 0249D050 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D050 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249D054 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0249D058 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D058 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0249D05C */ cpu->lr = cpu->r[0];
|
|
/* 0249D060 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D060 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0249D064 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0249D068 */ return;
|
|
}
|
|
|
|
// fn_0249D06C @ 0x249d06c
|
|
void Gambit_fn_0249D06C(CPUState* cpu) {
|
|
uint32_t _t0, _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_0249CFC4: ; // 0x249cfc4
|
|
/* 0249CFC4 */ cpu->r[0] = cpu->lr;
|
|
/* 0249CFC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0249CFC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249CFC8 */ cpu->r[1] = _t0;
|
|
/* 0249CFCC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249CFCC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0249CFD0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0249CFD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0249CFD4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249CFD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0249CFD8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249CFD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0249CFDC */ cpu->r[29] = cpu->r[3];
|
|
/* 0249CFE0 */ _t5 = cpu->r[29] + 0x000001F4u;
|
|
/* 0249CFE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249CFE4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0249CFE8 */ cpu->r[31] = cpu->r[0];
|
|
/* 0249CFEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[31]);
|
|
/* 0249CFF0 */ _t6 = cpu->r[29] + 0x000001F0u;
|
|
/* 0249CFF0 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 0249CFF4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249CFF4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0249CFF4 */ if (_t8) goto L_0249CFF8; else goto L_0249D050;
|
|
L_0249CFF8: ; // 0x249cff8
|
|
/* 0249CFF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 0249CFFC */ cpu->r[11] = 0x00000000u;
|
|
/* 0249D000 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249D000 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0249D000 */ if (_t10) goto L_0249D004; else goto L_0249D010;
|
|
L_0249D004: ; // 0x249d004
|
|
/* 0249D004 */ _t11 = cpu->r[29] + 0x000001FCu;
|
|
/* 0249D004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0249D008 */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249D00C */ _t12 = cpu->r[10] + cpu->r[12];
|
|
/* 0249D00C */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
L_0249D010: ; // 0x249d010
|
|
/* 0249D010 */ _t13 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0249D010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249D014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0249D018 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D018 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0249D018 */ if (_t15) goto L_0249D03C; else goto L_0249D01C;
|
|
L_0249D01C: ; // 0x249d01c
|
|
/* 0249D01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0249D020 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D020 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0249D020 */ if (_t17) goto L_0249D03C; else goto L_0249D024;
|
|
L_0249D024: ; // 0x249d024
|
|
/* 0249D024 */ cpu->r[5] = 0x00000001u;
|
|
/* 0249D028 */ cpu->r[4] = cpu->r[30];
|
|
/* 0249D02C */ cpu->r[3] = cpu->r[29] + 0x000001F4u;
|
|
/* 0249D030 */ Gambit_fn_0280246C(cpu);
|
|
/* 0249D034 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0249D038 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
L_0249D03C: ; // 0x249d03c
|
|
/* 0249D03C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0249D040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[31]);
|
|
/* 0249D044 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249D044 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0249D044 */ if (_t19) goto L_0249D048; else goto L_0249D050;
|
|
L_0249D048: ; // 0x249d048
|
|
/* 0249D048 */ _t20 = cpu->r[29] + 0x000001F4u;
|
|
/* 0249D048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249D04C */ goto L_0249CFF8;
|
|
L_0249D050: ; // 0x249d050
|
|
/* 0249D050 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D050 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249D054 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0249D058 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D058 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0249D05C */ cpu->lr = cpu->r[0];
|
|
/* 0249D060 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D060 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0249D064 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0249D068 */ return;
|
|
L_0249D06C: ; // 0x249d06c
|
|
/* 0249D06C */ goto L_0249CFC4;
|
|
}
|
|
|
|
// fn_0249D070 @ 0x249d070
|
|
void Gambit_fn_0249D070(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100;
|
|
|
|
L_0249D070: ; // 0x249d070
|
|
/* 0249D070 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 0249D070 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D070 */ cpu->r[1] = _t0;
|
|
/* 0249D074 */ /* nop */
|
|
/* 0249D078 */ _t1 = cpu->r[1] + 0x00000060u;
|
|
/* 0249D078 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0249D07C */ /* nop */
|
|
/* 0249D080 */ cpu->r[0] = cpu->lr;
|
|
/* 0249D084 */ _t2 = cpu->r[1] + 0x00000068u;
|
|
/* 0249D084 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0249D088 */ _t3 = cpu->r[1] + 0x00000074u;
|
|
/* 0249D088 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249D08C */ _t4 = cpu->r[3] + 0x0000007Cu;
|
|
/* 0249D08C */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249D090 */ _t5 = cpu->r[3] + 0x00000078u;
|
|
/* 0249D090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249D094 */ _t6 = cpu->r[3] + 0x00000080u;
|
|
/* 0249D094 */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249D098 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0249D098 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0249D09C */ cpu->r[30] = cpu->r[4];
|
|
/* 0249D0A0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D0A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 0249D0A4 */ cpu->r[26] = cpu->r[3];
|
|
/* 0249D0A8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D0A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0249D0AC */ Gambit_fn_024F65FC(cpu);
|
|
/* 0249D0B0 */ cpu->r[28] = 0x101D0000u;
|
|
/* 0249D0B4 */ _t10 = cpu->r[28] + 0x000006E4u;
|
|
/* 0249D0B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249D0B4 */ cpu->r[28] = _t10;
|
|
/* 0249D0B8 */ cpu->r[29] = 0x100B0000u;
|
|
/* 0249D0BC */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D0C0 */ cpu->r[27] = 0x101D0000u;
|
|
/* 0249D0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0249D0C8 */ cpu->r[29] = cpu->r[29] + 0xFFFFC448u;
|
|
/* 0249D0CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D0CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 0249D0CC */ if (_t12) goto L_0249D0D0; else goto L_0249D0DC;
|
|
L_0249D0D0: ; // 0x249d0d0
|
|
/* 0249D0D0 */ _t13 = cpu->r[27] + 0x000006E8u;
|
|
/* 0249D0D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 0249D0D4 */ cpu->r[8] = 0x00000001u;
|
|
/* 0249D0D8 */ _t14 = cpu->r[28] + 0x00000000u;
|
|
/* 0249D0D8 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
L_0249D0DC: ; // 0x249d0dc
|
|
/* 0249D0DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249D0E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D0E0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0249D0E0 */ if (_t16) goto L_0249D104; else goto L_0249D0E4;
|
|
L_0249D0E4: ; // 0x249d0e4
|
|
/* 0249D0E4 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 0249D0E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249D0E8 */ _t18 = cpu->r[10] + 0x0000006Cu;
|
|
/* 0249D0E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0249D0EC */ cpu->ctr = cpu->r[6];
|
|
/* 0249D0F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D0F4 */ cpu->r[4] = cpu->r[27] + 0x000006E8u;
|
|
/* 0249D0F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249D0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249D100 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D100 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0249D100 */ if (_t20) goto L_0249D104; else goto L_0249D108;
|
|
L_0249D104: ; // 0x249d104
|
|
/* 0249D104 */ cpu->r[31] = 0x00000000u;
|
|
L_0249D108: ; // 0x249d108
|
|
/* 0249D108 */ /* nop */
|
|
/* 0249D10C */ _t21 = cpu->r[31] + 0x000001DCu;
|
|
/* 0249D10C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0249D110 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D110 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0249D114 */ /* nop */
|
|
/* 0249D118 */ _t23 = cpu->r[26] + 0x0000005Cu;
|
|
/* 0249D118 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0249D11C */ /* nop */
|
|
/* 0249D120 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 0249D120 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0249D124 */ cpu->f[12] = cpu->f[0] * cpu->f[13];
|
|
/* 0249D128 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 0249D128 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0249D12C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D12C */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 0249D130 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 0249D130 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]);
|
|
/* 0249D134 */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 0249D134 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0249D138 */ /* nop */
|
|
/* 0249D13C */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D13C */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
/* 0249D140 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D140 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0249D144 */ _t31 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D144 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 0249D148 */ cpu->f[11] = cpu->f[11] + cpu->f[12];
|
|
/* 0249D14C */ /* nop */
|
|
/* 0249D150 */ cpu->r[3] = cpu->r[26];
|
|
/* 0249D154 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D154 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[11]);
|
|
/* 0249D158 */ /* nop */
|
|
/* 0249D15C */ Gambit_fn_024F65FC(cpu);
|
|
/* 0249D160 */ _t33 = cpu->r[28] + 0x00000000u;
|
|
/* 0249D160 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0249D164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249D168 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D16C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D16C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0249D16C */ if (_t35) goto L_0249D170; else goto L_0249D17C;
|
|
L_0249D170: ; // 0x249d170
|
|
/* 0249D170 */ _t36 = cpu->r[27] + 0x000006E8u;
|
|
/* 0249D170 */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
/* 0249D174 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249D178 */ _t37 = cpu->r[28] + 0x00000000u;
|
|
/* 0249D178 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
L_0249D17C: ; // 0x249d17c
|
|
/* 0249D17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249D180 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D180 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0249D180 */ if (_t39) goto L_0249D1A4; else goto L_0249D184;
|
|
L_0249D184: ; // 0x249d184
|
|
/* 0249D184 */ _t40 = cpu->r[31] + 0x00000000u;
|
|
/* 0249D184 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0249D188 */ _t41 = cpu->r[5] + 0x0000006Cu;
|
|
/* 0249D188 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0249D18C */ cpu->ctr = cpu->r[6];
|
|
/* 0249D190 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D194 */ cpu->r[4] = cpu->r[27] + 0x000006E8u;
|
|
/* 0249D198 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249D19C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249D1A0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D1A0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0249D1A0 */ if (_t43) goto L_0249D1A4; else goto L_0249D1A8;
|
|
L_0249D1A4: ; // 0x249d1a4
|
|
/* 0249D1A4 */ cpu->r[31] = 0x00000000u;
|
|
L_0249D1A8: ; // 0x249d1a8
|
|
/* 0249D1A8 */ /* nop */
|
|
/* 0249D1AC */ _t44 = cpu->r[31] + 0x000001E0u;
|
|
/* 0249D1AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 0249D1B0 */ _t45 = cpu->r[26] + 0x00000068u;
|
|
/* 0249D1B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0249D1B4 */ /* nop */
|
|
/* 0249D1B8 */ /* nop */
|
|
/* 0249D1BC */ cpu->f[10] = cpu->f[12] * cpu->f[0];
|
|
/* 0249D1C0 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D1C0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0249D1C4 */ _t47 = cpu->r[1] + 0x00000030u;
|
|
/* 0249D1C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0249D1C8 */ _t48 = cpu->r[1] + 0x00000034u;
|
|
/* 0249D1C8 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[10]);
|
|
/* 0249D1CC */ _t49 = cpu->r[1] + 0x00000034u;
|
|
/* 0249D1CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0249D1D0 */ _t50 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249D1D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0249D1D4 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D1D4 */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
|
|
/* 0249D1D8 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D1D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 0249D1DC */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D1DC */ rbrew_write32(cpu->mem, _t53, cpu->r[10]);
|
|
/* 0249D1E0 */ cpu->f[11] = cpu->f[11] + cpu->f[13];
|
|
/* 0249D1E4 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D1E4 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 0249D1E8 */ /* nop */
|
|
/* 0249D1EC */ cpu->r[3] = cpu->r[26];
|
|
/* 0249D1F0 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D1F0 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[11]);
|
|
/* 0249D1F4 */ /* nop */
|
|
/* 0249D1F8 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0249D1FC */ _t56 = cpu->r[28] + 0x00000000u;
|
|
/* 0249D1FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0249D200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249D204 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D208 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D208 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0249D208 */ if (_t58) goto L_0249D20C; else goto L_0249D218;
|
|
L_0249D20C: ; // 0x249d20c
|
|
/* 0249D20C */ _t59 = cpu->r[27] + 0x000006E8u;
|
|
/* 0249D20C */ rbrew_write32(cpu->mem, _t59, cpu->r[29]);
|
|
/* 0249D210 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249D214 */ _t60 = cpu->r[28] + 0x00000000u;
|
|
/* 0249D214 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
L_0249D218: ; // 0x249d218
|
|
/* 0249D218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249D21C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D21C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0249D21C */ if (_t62) goto L_0249D240; else goto L_0249D220;
|
|
L_0249D220: ; // 0x249d220
|
|
/* 0249D220 */ _t63 = cpu->r[31] + 0x00000000u;
|
|
/* 0249D220 */ cpu->r[5] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0249D224 */ _t64 = cpu->r[5] + 0x0000006Cu;
|
|
/* 0249D224 */ cpu->r[6] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0249D228 */ cpu->ctr = cpu->r[6];
|
|
/* 0249D22C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D230 */ cpu->r[4] = cpu->r[27] + 0x000006E8u;
|
|
/* 0249D234 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249D238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249D23C */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D23C */ _t66 = _t65 & 0x00000001u;
|
|
/* 0249D23C */ if (_t66) goto L_0249D240; else goto L_0249D244;
|
|
L_0249D240: ; // 0x249d240
|
|
/* 0249D240 */ cpu->r[31] = 0x00000000u;
|
|
L_0249D244: ; // 0x249d244
|
|
/* 0249D244 */ _t67 = cpu->r[31] + 0x000001E4u;
|
|
/* 0249D244 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 0249D248 */ /* nop */
|
|
/* 0249D24C */ _t68 = cpu->r[26] + 0x00000074u;
|
|
/* 0249D24C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 0249D250 */ /* nop */
|
|
/* 0249D254 */ _t69 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D254 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 0249D258 */ /* nop */
|
|
/* 0249D25C */ _t70 = cpu->r[1] + 0x00000038u;
|
|
/* 0249D25C */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0249D260 */ _t71 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0249D260 */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0249D264 */ cpu->f[0] = cpu->f[10] * cpu->f[8];
|
|
/* 0249D268 */ _t72 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D268 */ rbrew_write32(cpu->mem, _t72, cpu->r[10]);
|
|
/* 0249D26C */ _t73 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D26C */ rbrew_write32(cpu->mem, _t73, cpu->r[11]);
|
|
/* 0249D270 */ /* nop */
|
|
/* 0249D274 */ _t74 = cpu->r[1] + 0x00000040u;
|
|
/* 0249D274 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[0]);
|
|
/* 0249D278 */ _t75 = cpu->r[1] + 0x00000040u;
|
|
/* 0249D278 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0249D27C */ /* nop */
|
|
/* 0249D280 */ /* nop */
|
|
/* 0249D284 */ _t76 = cpu->r[1] + 0x00000008u;
|
|
/* 0249D284 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 0249D288 */ _t77 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D288 */ rbrew_write32(cpu->mem, _t77, cpu->r[12]);
|
|
/* 0249D28C */ _t78 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D28C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 0249D290 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D290 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 0249D294 */ cpu->f[13] = cpu->f[12] + cpu->f[8];
|
|
/* 0249D298 */ _t80 = cpu->r[30] + 0x00000004u;
|
|
/* 0249D298 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[9]);
|
|
/* 0249D29C */ _t81 = cpu->r[30] + 0x00000008u;
|
|
/* 0249D29C */ rbrew_write_f32(cpu->mem, _t81, cpu->f[11]);
|
|
/* 0249D2A0 */ cpu->r[3] = cpu->r[26];
|
|
/* 0249D2A4 */ _t82 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0249D2A4 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[13]);
|
|
/* 0249D2A8 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0249D2AC */ _t83 = cpu->r[28] + 0x00000000u;
|
|
/* 0249D2AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0249D2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0249D2B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D2B8 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D2B8 */ _t85 = _t84 & 0x00000001u;
|
|
/* 0249D2B8 */ if (_t85) goto L_0249D2BC; else goto L_0249D2C8;
|
|
L_0249D2BC: ; // 0x249d2bc
|
|
/* 0249D2BC */ _t86 = cpu->r[27] + 0x000006E8u;
|
|
/* 0249D2BC */ rbrew_write32(cpu->mem, _t86, cpu->r[29]);
|
|
/* 0249D2C0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0249D2C4 */ _t87 = cpu->r[28] + 0x00000000u;
|
|
/* 0249D2C4 */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
L_0249D2C8: ; // 0x249d2c8
|
|
/* 0249D2C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249D2CC */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D2CC */ _t89 = _t88 & 0x00000001u;
|
|
/* 0249D2CC */ if (_t89) goto L_0249D2F0; else goto L_0249D2D0;
|
|
L_0249D2D0: ; // 0x249d2d0
|
|
/* 0249D2D0 */ _t90 = cpu->r[31] + 0x00000000u;
|
|
/* 0249D2D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0249D2D4 */ _t91 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0249D2D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0249D2D8 */ cpu->ctr = cpu->r[5];
|
|
/* 0249D2DC */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D2E0 */ cpu->r[4] = cpu->r[27] + 0x000006E8u;
|
|
/* 0249D2E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249D2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249D2EC */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D2EC */ _t93 = _t92 & 0x00000001u;
|
|
/* 0249D2EC */ if (_t93) goto L_0249D2F0; else goto L_0249D2F4;
|
|
L_0249D2F0: ; // 0x249d2f0
|
|
/* 0249D2F0 */ cpu->r[31] = 0x00000000u;
|
|
L_0249D2F4: ; // 0x249d2f4
|
|
/* 0249D2F4 */ _t94 = cpu->r[31] + 0x00000244u;
|
|
/* 0249D2F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 0249D2F8 */ _t95 = cpu->r[30] + 0x00000010u;
|
|
/* 0249D2F8 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[13]);
|
|
/* 0249D2FC */ /* nop */
|
|
/* 0249D300 */ _t96 = cpu->r[1] + 0x00000068u;
|
|
/* 0249D300 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 0249D304 */ _t97 = cpu->r[1] + 0x00000060u;
|
|
/* 0249D304 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t97);
|
|
/* 0249D308 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249D308 */ _t99 = _t98 & 0x00000001u;
|
|
/* 0249D308 */ if (_t99) goto L_0249D30C; // else: addr-0 trap, fall-through
|
|
L_0249D30C: ; // 0x249d30c
|
|
/* 0249D30C */ _t100 = cpu->r[1] + 0x00000074u;
|
|
/* 0249D30C */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0249D310 */ cpu->lr = cpu->r[0];
|
|
/* 0249D314 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 0249D318 */ return;
|
|
}
|
|
|
|
// fn_0249D31C @ 0x249d31c
|
|
void Gambit_fn_0249D31C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_0249D31C: ; // 0x249d31c
|
|
/* 0249D31C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 0249D31C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D31C */ cpu->r[1] = _t0;
|
|
/* 0249D320 */ /* nop */
|
|
/* 0249D324 */ cpu->r[0] = cpu->lr;
|
|
/* 0249D328 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 0249D328 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0249D32C */ _t2 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0249D32C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249D330 */ /* nop */
|
|
/* 0249D334 */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 0249D334 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0249D338 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D33C */ _t4 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249D33C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249D340 */ _t5 = cpu->r[31] + 0x000001ECu;
|
|
/* 0249D340 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249D344 */ Gambit_fn_02032EA4(cpu);
|
|
/* 0249D348 */ _t6 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249D348 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249D34C */ cpu->r[30] = 0x101C0000u;
|
|
/* 0249D350 */ _t7 = cpu->r[30] + 0x00004FA8u;
|
|
/* 0249D350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249D350 */ cpu->r[30] = _t7;
|
|
/* 0249D354 */ _t8 = cpu->r[5] + 0x00000118u;
|
|
/* 0249D354 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249D358 */ /* nop */
|
|
/* 0249D35C */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249D35C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0249D360 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D360 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0249D360 */ if (_t10) goto L_0249D4A0; else goto L_0249D364;
|
|
L_0249D364: ; // 0x249d364
|
|
/* 0249D364 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249D368 */ _t11 = cpu->r[11] + 0xFFFFC580u;
|
|
/* 0249D368 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0249D36C */ cpu->r[29] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D370 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0249D374 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D374 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 0249D378 */ _t13 = cpu->r[10] + 0x00003840u;
|
|
/* 0249D378 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249D378 */ cpu->r[10] = _t13;
|
|
/* 0249D37C */ _t14 = cpu->r[10] + 0x00000004u;
|
|
/* 0249D37C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249D380 */ cpu->r[8] = 0x10110000u;
|
|
/* 0249D384 */ _t15 = cpu->r[10] + 0x00000008u;
|
|
/* 0249D384 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249D388 */ cpu->r[8] = cpu->r[8] + 0xFFFFEF4Cu;
|
|
/* 0249D38C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D38C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0249D390 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0249D390 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0249D394 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0249D398 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D398 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0249D39C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D3A0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D3A0 */ rbrew_write32(cpu->mem, _t19, cpu->r[6]);
|
|
/* 0249D3A4 */ Gambit_fn_0249D070(cpu);
|
|
/* 0249D3A8 */ cpu->r[28] = 0x00000001u;
|
|
/* 0249D3AC */ cpu->r[27] = 0x101D0000u;
|
|
/* 0249D3B0 */ cpu->r[26] = 0x101D0000u;
|
|
L_0249D3B4: ; // 0x249d3b4
|
|
/* 0249D3B4 */ _t20 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249D3B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249D3B8 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 0249D3B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249D3BC */ _t22 = cpu->r[4] + 0x00000108u;
|
|
/* 0249D3BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0249D3C0 */ Gambit_fn_02031DAC(cpu);
|
|
/* 0249D3C4 */ cpu->r[25] = cpu->r[3];
|
|
/* 0249D3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0249D3C8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D3C8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0249D3C8 */ if (_t24) goto L_0249D4A0; else goto L_0249D3CC;
|
|
L_0249D3CC: ; // 0x249d3cc
|
|
/* 0249D3CC */ _t25 = cpu->r[27] + 0xFFFFFB64u;
|
|
/* 0249D3CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0249D3D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0249D3D4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D3D4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0249D3D4 */ if (_t27) goto L_0249D3D8; else goto L_0249D3E8;
|
|
L_0249D3D8: ; // 0x249d3d8
|
|
/* 0249D3D8 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249D3DC */ _t28 = cpu->r[27] + 0xFFFFFB64u;
|
|
/* 0249D3DC */ rbrew_write32(cpu->mem, _t28, cpu->r[28]);
|
|
/* 0249D3E0 */ cpu->r[0] = cpu->r[0] + 0xFFFFC498u;
|
|
/* 0249D3E4 */ _t29 = cpu->r[26] + 0xFFFFFBE0u;
|
|
/* 0249D3E4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
L_0249D3E8: ; // 0x249d3e8
|
|
/* 0249D3E8 */ _t30 = cpu->r[25] + 0x00000004u;
|
|
/* 0249D3E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0249D3EC */ _t31 = cpu->r[9] + 0x00000014u;
|
|
/* 0249D3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0249D3F0 */ cpu->ctr = cpu->r[0];
|
|
/* 0249D3F4 */ cpu->r[3] = cpu->r[25];
|
|
/* 0249D3F8 */ cpu->r[4] = cpu->r[26] + 0xFFFFFBE0u;
|
|
/* 0249D3FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249D400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249D404 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D404 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0249D404 */ if (_t33) goto L_0249D3B4; else goto L_0249D408;
|
|
L_0249D408: ; // 0x249d408
|
|
/* 0249D408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0249D40C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D40C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0249D40C */ if (_t35) goto L_0249D3B4; else goto L_0249D410;
|
|
L_0249D410: ; // 0x249d410
|
|
/* 0249D410 */ _t36 = cpu->r[25] + 0x00000004u;
|
|
/* 0249D410 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0249D414 */ _t37 = cpu->r[12] + 0x00000254u;
|
|
/* 0249D414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0249D418 */ cpu->ctr = cpu->r[0];
|
|
/* 0249D41C */ cpu->r[3] = cpu->r[25];
|
|
/* 0249D420 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249D424 */ cpu->r[4] = cpu->r[3];
|
|
/* 0249D428 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D428 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0249D42C */ cpu->r[3] = cpu->r[29];
|
|
/* 0249D430 */ Gambit_fn_02C69328(cpu);
|
|
/* 0249D434 */ cpu->f[0] = cpu->f[31] * cpu->f[31];
|
|
/* 0249D438 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 0249D43C */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249D43C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0249D43C */ if (_t40) goto L_0249D3B4; else goto L_0249D440;
|
|
L_0249D440: ; // 0x249d440
|
|
/* 0249D440 */ _t41 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249D440 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0249D444 */ _t42 = cpu->r[31] + 0x000001FCu;
|
|
/* 0249D444 */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0249D448 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249D44C */ cpu->r[8] = cpu->r[6] + cpu->r[5];
|
|
/* 0249D450 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 0249D454 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D454 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0249D454 */ if (_t44) goto L_0249D470; else goto L_0249D458;
|
|
L_0249D458: ; // 0x249d458
|
|
/* 0249D458 */ _t45 = cpu->r[6] + 0x00000000u;
|
|
/* 0249D458 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0249D45C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[9]);
|
|
/* 0249D460 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D460 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0249D460 */ if (_t47) goto L_0249D3B4; else goto L_0249D464;
|
|
L_0249D464: ; // 0x249d464
|
|
/* 0249D464 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 0249D468 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 0249D46C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D46C */ _t49 = _t48 & 0x00000001u;
|
|
/* 0249D46C */ if (_t49) goto L_0249D470; else goto L_0249D458;
|
|
L_0249D470: ; // 0x249d470
|
|
/* 0249D470 */ _t50 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249D470 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0249D474 */ _t51 = cpu->r[31] + 0x000001F8u;
|
|
/* 0249D474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0249D478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 0249D47C */ _t52 = cpu->r[31] + 0x000001F0u;
|
|
/* 0249D47C */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[28]);
|
|
/* 0249D480 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249D480 */ _t54 = _t53 & 0x00000001u;
|
|
/* 0249D480 */ if (_t54) goto L_0249D484; else goto L_0249D3B4;
|
|
L_0249D484: ; // 0x249d484
|
|
/* 0249D484 */ _t55 = cpu->r[31] + 0x000001FCu;
|
|
/* 0249D484 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0249D488 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249D48C */ _t56 = cpu->r[12] + cpu->r[8];
|
|
/* 0249D48C */ rbrew_write32(cpu->mem, _t56, cpu->r[25]);
|
|
/* 0249D490 */ _t57 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249D490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0249D494 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0249D498 */ _t58 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249D498 */ rbrew_write32(cpu->mem, _t58, cpu->r[11]);
|
|
/* 0249D49C */ goto L_0249D3B4;
|
|
L_0249D4A0: ; // 0x249d4a0
|
|
/* 0249D4A0 */ /* nop */
|
|
/* 0249D4A4 */ _t59 = cpu->r[1] + 0x00000040u;
|
|
/* 0249D4A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 0249D4A8 */ _t60 = cpu->r[1] + 0x00000038u;
|
|
/* 0249D4A8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t60);
|
|
/* 0249D4AC */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249D4AC */ _t62 = _t61 & 0x00000001u;
|
|
/* 0249D4AC */ if (_t62) goto L_0249D4B0; // else: addr-0 trap, fall-through
|
|
L_0249D4B0: ; // 0x249d4b0
|
|
/* 0249D4B0 */ _t63 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0249D4B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0249D4B4 */ cpu->lr = cpu->r[0];
|
|
/* 0249D4B8 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 0249D4BC */ return;
|
|
}
|
|
|
|
// fn_0249D4C0 @ 0x249d4c0
|
|
void Gambit_fn_0249D4C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_0249D31C: ; // 0x249d31c
|
|
/* 0249D31C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 0249D31C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D31C */ cpu->r[1] = _t0;
|
|
/* 0249D320 */ /* nop */
|
|
/* 0249D324 */ cpu->r[0] = cpu->lr;
|
|
/* 0249D328 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 0249D328 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0249D32C */ _t2 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0249D32C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249D330 */ /* nop */
|
|
/* 0249D334 */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 0249D334 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0249D338 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D33C */ _t4 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249D33C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249D340 */ _t5 = cpu->r[31] + 0x000001ECu;
|
|
/* 0249D340 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249D344 */ Gambit_fn_02032EA4(cpu);
|
|
/* 0249D348 */ _t6 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249D348 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249D34C */ cpu->r[30] = 0x101C0000u;
|
|
/* 0249D350 */ _t7 = cpu->r[30] + 0x00004FA8u;
|
|
/* 0249D350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249D350 */ cpu->r[30] = _t7;
|
|
/* 0249D354 */ _t8 = cpu->r[5] + 0x00000118u;
|
|
/* 0249D354 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0249D358 */ /* nop */
|
|
/* 0249D35C */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249D35C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0249D360 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D360 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0249D360 */ if (_t10) goto L_0249D4A0; else goto L_0249D364;
|
|
L_0249D364: ; // 0x249d364
|
|
/* 0249D364 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249D368 */ _t11 = cpu->r[11] + 0xFFFFC580u;
|
|
/* 0249D368 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0249D36C */ cpu->r[29] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D370 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0249D374 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D374 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 0249D378 */ _t13 = cpu->r[10] + 0x00003840u;
|
|
/* 0249D378 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0249D378 */ cpu->r[10] = _t13;
|
|
/* 0249D37C */ _t14 = cpu->r[10] + 0x00000004u;
|
|
/* 0249D37C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249D380 */ cpu->r[8] = 0x10110000u;
|
|
/* 0249D384 */ _t15 = cpu->r[10] + 0x00000008u;
|
|
/* 0249D384 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249D388 */ cpu->r[8] = cpu->r[8] + 0xFFFFEF4Cu;
|
|
/* 0249D38C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D38C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0249D390 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0249D390 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0249D394 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0249D398 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D398 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0249D39C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D3A0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D3A0 */ rbrew_write32(cpu->mem, _t19, cpu->r[6]);
|
|
/* 0249D3A4 */ Gambit_fn_0249D070(cpu);
|
|
/* 0249D3A8 */ cpu->r[28] = 0x00000001u;
|
|
/* 0249D3AC */ cpu->r[27] = 0x101D0000u;
|
|
/* 0249D3B0 */ cpu->r[26] = 0x101D0000u;
|
|
L_0249D3B4: ; // 0x249d3b4
|
|
/* 0249D3B4 */ _t20 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249D3B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249D3B8 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 0249D3B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249D3BC */ _t22 = cpu->r[4] + 0x00000108u;
|
|
/* 0249D3BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0249D3C0 */ Gambit_fn_02031DAC(cpu);
|
|
/* 0249D3C4 */ cpu->r[25] = cpu->r[3];
|
|
/* 0249D3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0249D3C8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D3C8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0249D3C8 */ if (_t24) goto L_0249D4A0; else goto L_0249D3CC;
|
|
L_0249D3CC: ; // 0x249d3cc
|
|
/* 0249D3CC */ _t25 = cpu->r[27] + 0xFFFFFB64u;
|
|
/* 0249D3CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0249D3D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0249D3D4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D3D4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0249D3D4 */ if (_t27) goto L_0249D3D8; else goto L_0249D3E8;
|
|
L_0249D3D8: ; // 0x249d3d8
|
|
/* 0249D3D8 */ cpu->r[0] = 0x100B0000u;
|
|
/* 0249D3DC */ _t28 = cpu->r[27] + 0xFFFFFB64u;
|
|
/* 0249D3DC */ rbrew_write32(cpu->mem, _t28, cpu->r[28]);
|
|
/* 0249D3E0 */ cpu->r[0] = cpu->r[0] + 0xFFFFC498u;
|
|
/* 0249D3E4 */ _t29 = cpu->r[26] + 0xFFFFFBE0u;
|
|
/* 0249D3E4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
L_0249D3E8: ; // 0x249d3e8
|
|
/* 0249D3E8 */ _t30 = cpu->r[25] + 0x00000004u;
|
|
/* 0249D3E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0249D3EC */ _t31 = cpu->r[9] + 0x00000014u;
|
|
/* 0249D3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0249D3F0 */ cpu->ctr = cpu->r[0];
|
|
/* 0249D3F4 */ cpu->r[3] = cpu->r[25];
|
|
/* 0249D3F8 */ cpu->r[4] = cpu->r[26] + 0xFFFFFBE0u;
|
|
/* 0249D3FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249D400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249D404 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D404 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0249D404 */ if (_t33) goto L_0249D3B4; else goto L_0249D408;
|
|
L_0249D408: ; // 0x249d408
|
|
/* 0249D408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0249D40C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D40C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0249D40C */ if (_t35) goto L_0249D3B4; else goto L_0249D410;
|
|
L_0249D410: ; // 0x249d410
|
|
/* 0249D410 */ _t36 = cpu->r[25] + 0x00000004u;
|
|
/* 0249D410 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0249D414 */ _t37 = cpu->r[12] + 0x00000254u;
|
|
/* 0249D414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0249D418 */ cpu->ctr = cpu->r[0];
|
|
/* 0249D41C */ cpu->r[3] = cpu->r[25];
|
|
/* 0249D420 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249D424 */ cpu->r[4] = cpu->r[3];
|
|
/* 0249D428 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D428 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0249D42C */ cpu->r[3] = cpu->r[29];
|
|
/* 0249D430 */ Gambit_fn_02C69328(cpu);
|
|
/* 0249D434 */ cpu->f[0] = cpu->f[31] * cpu->f[31];
|
|
/* 0249D438 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 0249D43C */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0249D43C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0249D43C */ if (_t40) goto L_0249D3B4; else goto L_0249D440;
|
|
L_0249D440: ; // 0x249d440
|
|
/* 0249D440 */ _t41 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249D440 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0249D444 */ _t42 = cpu->r[31] + 0x000001FCu;
|
|
/* 0249D444 */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0249D448 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249D44C */ cpu->r[8] = cpu->r[6] + cpu->r[5];
|
|
/* 0249D450 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 0249D454 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D454 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0249D454 */ if (_t44) goto L_0249D470; else goto L_0249D458;
|
|
L_0249D458: ; // 0x249d458
|
|
/* 0249D458 */ _t45 = cpu->r[6] + 0x00000000u;
|
|
/* 0249D458 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0249D45C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[9]);
|
|
/* 0249D460 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D460 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0249D460 */ if (_t47) goto L_0249D3B4; else goto L_0249D464;
|
|
L_0249D464: ; // 0x249d464
|
|
/* 0249D464 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 0249D468 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 0249D46C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D46C */ _t49 = _t48 & 0x00000001u;
|
|
/* 0249D46C */ if (_t49) goto L_0249D470; else goto L_0249D458;
|
|
L_0249D470: ; // 0x249d470
|
|
/* 0249D470 */ _t50 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249D470 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0249D474 */ _t51 = cpu->r[31] + 0x000001F8u;
|
|
/* 0249D474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0249D478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 0249D47C */ _t52 = cpu->r[31] + 0x000001F0u;
|
|
/* 0249D47C */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[28]);
|
|
/* 0249D480 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249D480 */ _t54 = _t53 & 0x00000001u;
|
|
/* 0249D480 */ if (_t54) goto L_0249D484; else goto L_0249D3B4;
|
|
L_0249D484: ; // 0x249d484
|
|
/* 0249D484 */ _t55 = cpu->r[31] + 0x000001FCu;
|
|
/* 0249D484 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0249D488 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0249D48C */ _t56 = cpu->r[12] + cpu->r[8];
|
|
/* 0249D48C */ rbrew_write32(cpu->mem, _t56, cpu->r[25]);
|
|
/* 0249D490 */ _t57 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249D490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0249D494 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0249D498 */ _t58 = cpu->r[31] + 0x000001F4u;
|
|
/* 0249D498 */ rbrew_write32(cpu->mem, _t58, cpu->r[11]);
|
|
/* 0249D49C */ goto L_0249D3B4;
|
|
L_0249D4A0: ; // 0x249d4a0
|
|
/* 0249D4A0 */ /* nop */
|
|
/* 0249D4A4 */ _t59 = cpu->r[1] + 0x00000040u;
|
|
/* 0249D4A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 0249D4A8 */ _t60 = cpu->r[1] + 0x00000038u;
|
|
/* 0249D4A8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t60);
|
|
/* 0249D4AC */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249D4AC */ _t62 = _t61 & 0x00000001u;
|
|
/* 0249D4AC */ if (_t62) goto L_0249D4B0; // else: addr-0 trap, fall-through
|
|
L_0249D4B0: ; // 0x249d4b0
|
|
/* 0249D4B0 */ _t63 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0249D4B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0249D4B4 */ cpu->lr = cpu->r[0];
|
|
/* 0249D4B8 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 0249D4BC */ return;
|
|
L_0249D4C0: ; // 0x249d4c0
|
|
/* 0249D4C0 */ goto L_0249D31C;
|
|
}
|
|
|
|
// fn_0249D4C4 @ 0x249d4c4
|
|
void Gambit_fn_0249D4C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0249D4C4: ; // 0x249d4c4
|
|
/* 0249D4C4 */ cpu->r[0] = cpu->lr;
|
|
/* 0249D4C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249D4C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D4C8 */ cpu->r[1] = _t0;
|
|
/* 0249D4CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D4CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249D4D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D4D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D4D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249D4D8 */ Gambit_fn_024F606C(cpu);
|
|
/* 0249D4DC */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D4E0 */ Gambit_fn_024F607C(cpu);
|
|
/* 0249D4E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D4E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249D4E8 */ cpu->lr = cpu->r[0];
|
|
/* 0249D4EC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D4EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249D4F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249D4F4 */ return;
|
|
}
|
|
|
|
// fn_0249D4C8 @ 0x249d4c8
|
|
void Gambit_fn_0249D4C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0249D4C8: ; // 0x249d4c8
|
|
/* 0249D4C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249D4C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D4C8 */ cpu->r[1] = _t0;
|
|
/* 0249D4CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D4CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249D4D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D4D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D4D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249D4D8 */ Gambit_fn_024F606C(cpu);
|
|
/* 0249D4DC */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D4E0 */ Gambit_fn_024F607C(cpu);
|
|
/* 0249D4E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D4E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249D4E8 */ cpu->lr = cpu->r[0];
|
|
/* 0249D4EC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D4EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249D4F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249D4F4 */ return;
|
|
}
|
|
|
|
// fn_0249D4F8 @ 0x249d4f8
|
|
void Gambit_fn_0249D4F8(CPUState* cpu) {
|
|
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_0249D4F8: ; // 0x249d4f8
|
|
/* 0249D4F8 */ cpu->r[0] = cpu->lr;
|
|
/* 0249D4FC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0249D4FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D4FC */ cpu->r[1] = _t0;
|
|
/* 0249D500 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D500 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249D504 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249D508 */ _t2 = cpu->r[9] + 0xFFFFC580u;
|
|
/* 0249D508 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0249D50C */ cpu->r[11] = 0x101F0000u;
|
|
/* 0249D510 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D510 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 0249D514 */ cpu->r[11] = cpu->r[11] + 0x00003840u;
|
|
/* 0249D518 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0249D518 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0249D51C */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 0249D51C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249D520 */ cpu->r[0] = 0x10110000u;
|
|
/* 0249D524 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 0249D524 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249D528 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF4Cu;
|
|
/* 0249D52C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D52C */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0249D530 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0249D530 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0249D534 */ _t9 = cpu->r[11] + 0x00000008u;
|
|
/* 0249D534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249D538 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D538 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0249D53C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0249D540 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D540 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0249D544 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D548 */ Gambit_fn_0249D070(cpu);
|
|
/* 0249D54C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D54C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0249D550 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0249D554 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D554 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0249D558 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0249D55C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D55C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0249D560 */ cpu->f[3] = cpu->f[13] - cpu->f[0];
|
|
/* 0249D564 */ _t15 = cpu->r[4] + 0x00006648u;
|
|
/* 0249D564 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249D568 */ cpu->f[2] = cpu->f[12] + cpu->f[0];
|
|
/* 0249D56C */ _t16 = cpu->r[3] + 0x00001D14u;
|
|
/* 0249D56C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249D570 */ cpu->f[4] = cpu->f[13] + cpu->f[0];
|
|
/* 0249D574 */ _t17 = cpu->r[3] + 0x00005444u;
|
|
/* 0249D574 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249D578 */ cpu->f[1] = cpu->f[12] - cpu->f[0];
|
|
/* 0249D57C */ _t18 = cpu->r[31] + 0x000001ECu;
|
|
/* 0249D57C */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0249D580 */ cpu->r[5] = cpu->r[31];
|
|
/* 0249D584 */ Gambit_fn_02031B20(cpu);
|
|
/* 0249D588 */ _t19 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249D588 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 0249D58C */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 0249D58C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249D590 */ cpu->lr = cpu->r[0];
|
|
/* 0249D594 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249D598 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0249D59C */ return;
|
|
}
|
|
|
|
// fn_0249D4FC @ 0x249d4fc
|
|
void Gambit_fn_0249D4FC(CPUState* cpu) {
|
|
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_0249D4FC: ; // 0x249d4fc
|
|
/* 0249D4FC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0249D4FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D4FC */ cpu->r[1] = _t0;
|
|
/* 0249D500 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D500 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249D504 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249D508 */ _t2 = cpu->r[9] + 0xFFFFC580u;
|
|
/* 0249D508 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0249D50C */ cpu->r[11] = 0x101F0000u;
|
|
/* 0249D510 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D510 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 0249D514 */ cpu->r[11] = cpu->r[11] + 0x00003840u;
|
|
/* 0249D518 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0249D518 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0249D51C */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 0249D51C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249D520 */ cpu->r[0] = 0x10110000u;
|
|
/* 0249D524 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 0249D524 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249D528 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF4Cu;
|
|
/* 0249D52C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D52C */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0249D530 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0249D530 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0249D534 */ _t9 = cpu->r[11] + 0x00000008u;
|
|
/* 0249D534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249D538 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D538 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0249D53C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0249D540 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D540 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0249D544 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D548 */ Gambit_fn_0249D070(cpu);
|
|
/* 0249D54C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D54C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0249D550 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0249D554 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D554 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0249D558 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0249D55C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D55C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0249D560 */ cpu->f[3] = cpu->f[13] - cpu->f[0];
|
|
/* 0249D564 */ _t15 = cpu->r[4] + 0x00006648u;
|
|
/* 0249D564 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249D568 */ cpu->f[2] = cpu->f[12] + cpu->f[0];
|
|
/* 0249D56C */ _t16 = cpu->r[3] + 0x00001D14u;
|
|
/* 0249D56C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249D570 */ cpu->f[4] = cpu->f[13] + cpu->f[0];
|
|
/* 0249D574 */ _t17 = cpu->r[3] + 0x00005444u;
|
|
/* 0249D574 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0249D578 */ cpu->f[1] = cpu->f[12] - cpu->f[0];
|
|
/* 0249D57C */ _t18 = cpu->r[31] + 0x000001ECu;
|
|
/* 0249D57C */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0249D580 */ cpu->r[5] = cpu->r[31];
|
|
/* 0249D584 */ Gambit_fn_02031B20(cpu);
|
|
/* 0249D588 */ _t19 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249D588 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 0249D58C */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 0249D58C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249D590 */ cpu->lr = cpu->r[0];
|
|
/* 0249D594 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249D598 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0249D59C */ return;
|
|
}
|
|
|
|
// fn_0249D5A0 @ 0x249d5a0
|
|
void Gambit_fn_0249D5A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0249D5A0: ; // 0x249d5a0
|
|
/* 0249D5A0 */ cpu->r[0] = cpu->lr;
|
|
/* 0249D5A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249D5A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D5A4 */ cpu->r[1] = _t0;
|
|
/* 0249D5A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D5A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249D5AC */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D5B0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0249D5B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D5B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249D5B8 */ _t3 = cpu->r[3] + 0x00001D14u;
|
|
/* 0249D5B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249D5BC */ cpu->r[4] = cpu->r[31] + 0x000001E8u;
|
|
/* 0249D5C0 */ Gambit_fn_02031BD0(cpu);
|
|
/* 0249D5C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0249D5C8 */ _t4 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249D5C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0249D5CC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D5CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249D5D0 */ cpu->lr = cpu->r[0];
|
|
/* 0249D5D4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D5D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249D5D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249D5DC */ return;
|
|
}
|
|
|
|
// fn_0249D5A4 @ 0x249d5a4
|
|
void Gambit_fn_0249D5A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0249D5A4: ; // 0x249d5a4
|
|
/* 0249D5A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249D5A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D5A4 */ cpu->r[1] = _t0;
|
|
/* 0249D5A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D5A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249D5AC */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D5B0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0249D5B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D5B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249D5B8 */ _t3 = cpu->r[3] + 0x00001D14u;
|
|
/* 0249D5B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249D5BC */ cpu->r[4] = cpu->r[31] + 0x000001E8u;
|
|
/* 0249D5C0 */ Gambit_fn_02031BD0(cpu);
|
|
/* 0249D5C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0249D5C8 */ _t4 = cpu->r[31] + 0x000001E8u;
|
|
/* 0249D5C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0249D5CC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D5CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249D5D0 */ cpu->lr = cpu->r[0];
|
|
/* 0249D5D4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D5D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249D5D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249D5DC */ return;
|
|
}
|
|
|
|
// fn_0249D5E0 @ 0x249d5e0
|
|
void Gambit_fn_0249D5E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_0249D5E0: ; // 0x249d5e0
|
|
/* 0249D5E0 */ cpu->r[0] = cpu->lr;
|
|
/* 0249D5E4 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0249D5E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D5E4 */ cpu->r[1] = _t0;
|
|
/* 0249D5E8 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 0249D5E8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0249D5EC */ /* nop */
|
|
/* 0249D5F0 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0249D5F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0249D5F4 */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 0249D5F4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0249D5F8 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 0249D5F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0249D5FC */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249D5FC */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 0249D600 */ _t6 = cpu->r[1] + 0x00000044u;
|
|
/* 0249D600 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0249D604 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249D608 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 0249D608 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0249D60C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D60C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0249D60C */ if (_t9) goto L_0249D610; else goto L_0249D620;
|
|
L_0249D610: ; // 0x249d610
|
|
/* 0249D610 */ cpu->r[3] = 0x00000310u;
|
|
/* 0249D614 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249D618 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249D61C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D61C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249D61C */ if (_t11) goto L_0249D800; else goto L_0249D620;
|
|
L_0249D620: ; // 0x249d620
|
|
/* 0249D620 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D624 */ Gambit_fn_025015D0(cpu);
|
|
/* 0249D628 */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249D62C */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249D630 */ cpu->r[7] = 0x100B0000u;
|
|
/* 0249D634 */ _t12 = cpu->r[10] + 0xFFFFC588u;
|
|
/* 0249D634 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0249D638 */ cpu->r[7] = cpu->r[7] + 0xFFFFC4C0u;
|
|
/* 0249D63C */ _t13 = cpu->r[12] + 0xFFFFC580u;
|
|
/* 0249D63C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0249D640 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 0249D640 */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 0249D644 */ cpu->r[7] = 0x100B0000u;
|
|
/* 0249D648 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D648 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 0249D64C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D64C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249D650 */ _t17 = cpu->r[7] + 0xFFFFC584u;
|
|
/* 0249D650 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0249D654 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0249D654 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[31]);
|
|
/* 0249D658 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0249D658 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0249D65C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D65C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 0249D660 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D660 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249D664 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D664 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 0249D668 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D668 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 0249D66C */ cpu->r[29] = 0x00000000u;
|
|
/* 0249D670 */ cpu->r[30] = cpu->r[31] + 0x00000188u;
|
|
/* 0249D670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D674 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D674 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0249D678 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D678 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0249D678 */ if (_t26) goto L_0249D67C; else goto L_0249D68C;
|
|
L_0249D67C: ; // 0x249d67c
|
|
/* 0249D67C */ cpu->r[3] = 0x00000068u;
|
|
/* 0249D680 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249D684 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249D684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D688 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D688 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0249D688 */ if (_t28) goto L_0249D6EC; else goto L_0249D68C;
|
|
L_0249D68C: ; // 0x249d68c
|
|
/* 0249D68C */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249D690 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249D694 */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249D698 */ cpu->r[5] = cpu->r[5] + 0xFFFFC59Cu;
|
|
/* 0249D69C */ cpu->r[8] = 0x00000000u;
|
|
/* 0249D6A0 */ cpu->r[6] = cpu->r[6] + 0xFFFFC5B0u;
|
|
/* 0249D6A4 */ cpu->r[7] = cpu->r[5];
|
|
/* 0249D6A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249D6AC */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249D6B0 */ cpu->r[0] = 0x10110000u;
|
|
/* 0249D6B4 */ cpu->r[0] = cpu->r[0] + 0x00000AFCu;
|
|
/* 0249D6B8 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249D6BC */ _t29 = cpu->r[30] + 0x00000000u;
|
|
/* 0249D6BC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0249D6C0 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D6C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0249D6C4 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249D6C8 */ _t31 = cpu->r[12] + 0xFFFFC58Cu;
|
|
/* 0249D6C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0249D6CC */ _t32 = cpu->r[30] + 0x00000054u;
|
|
/* 0249D6CC */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0249D6D0 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0249D6D4 */ _t34 = cpu->r[9] + 0xFFFFC590u;
|
|
/* 0249D6D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0249D6D8 */ _t35 = cpu->r[30] + 0x00000058u;
|
|
/* 0249D6D8 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 0249D6DC */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D6DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0249D6E0 */ _t37 = cpu->r[30] + 0x00000060u;
|
|
/* 0249D6E0 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[13]);
|
|
/* 0249D6E4 */ _t38 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249D6E4 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 0249D6E8 */ _t39 = cpu->r[30] + 0x00000064u;
|
|
/* 0249D6E8 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
L_0249D6EC: ; // 0x249d6ec
|
|
/* 0249D6EC */ cpu->r[30] = cpu->r[31] + 0x000001F0u;
|
|
/* 0249D6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D6F0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D6F0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0249D6F0 */ if (_t41) goto L_0249D6F4; else goto L_0249D704;
|
|
L_0249D6F4: ; // 0x249d6f4
|
|
/* 0249D6F4 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249D6F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249D6FC */ cpu->r[30] = cpu->r[3];
|
|
/* 0249D6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D700 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D700 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0249D700 */ if (_t43) goto L_0249D750; else goto L_0249D704;
|
|
L_0249D704: ; // 0x249d704
|
|
/* 0249D704 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249D708 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249D70C */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249D710 */ cpu->r[5] = cpu->r[5] + 0xFFFFC5D0u;
|
|
/* 0249D714 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249D718 */ cpu->r[6] = cpu->r[6] + 0xFFFFC5E0u;
|
|
/* 0249D71C */ cpu->r[7] = cpu->r[5];
|
|
/* 0249D720 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249D724 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249D728 */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249D72C */ _t44 = cpu->r[30] + 0x00000058u;
|
|
/* 0249D72C */ rbrew_write_f32(cpu->mem, _t44, cpu->f[31]);
|
|
/* 0249D730 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249D734 */ cpu->r[0] = 0x10110000u;
|
|
/* 0249D738 */ _t45 = cpu->r[10] + 0xFFFFC594u;
|
|
/* 0249D738 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0249D73C */ cpu->r[0] = cpu->r[0] + 0x00000A2Cu;
|
|
/* 0249D740 */ _t46 = cpu->r[9] + 0xFFFFC598u;
|
|
/* 0249D740 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0249D744 */ _t47 = cpu->r[30] + 0x00000000u;
|
|
/* 0249D744 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 0249D748 */ _t48 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249D748 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 0249D74C */ _t49 = cpu->r[30] + 0x00000054u;
|
|
/* 0249D74C */ rbrew_write_f32(cpu->mem, _t49, cpu->f[12]);
|
|
L_0249D750: ; // 0x249d750
|
|
/* 0249D750 */ cpu->r[28] = 0x10110000u;
|
|
/* 0249D754 */ cpu->r[30] = cpu->r[31] + 0x00000250u;
|
|
/* 0249D754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D758 */ cpu->r[28] = cpu->r[28] + 0x0000095Cu;
|
|
/* 0249D75C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D75C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0249D75C */ if (_t51) goto L_0249D760; else goto L_0249D770;
|
|
L_0249D760: ; // 0x249d760
|
|
/* 0249D760 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249D764 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249D768 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249D768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D76C */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D76C */ _t53 = _t52 & 0x00000001u;
|
|
/* 0249D76C */ if (_t53) goto L_0249D7AC; else goto L_0249D770;
|
|
L_0249D770: ; // 0x249d770
|
|
/* 0249D770 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249D774 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249D778 */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249D77C */ cpu->r[5] = cpu->r[5] + 0xFFFFC5F8u;
|
|
/* 0249D780 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249D784 */ cpu->r[6] = cpu->r[6] + 0xFFFFC604u;
|
|
/* 0249D788 */ cpu->r[7] = cpu->r[5];
|
|
/* 0249D78C */ cpu->r[3] = cpu->r[30];
|
|
/* 0249D790 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249D794 */ _t54 = cpu->r[30] + 0x00000000u;
|
|
/* 0249D794 */ rbrew_write32(cpu->mem, _t54, cpu->r[28]);
|
|
/* 0249D798 */ cpu->r[6] = 0x00000003u;
|
|
/* 0249D79C */ _t55 = cpu->r[30] + 0x00000058u;
|
|
/* 0249D79C */ rbrew_write32(cpu->mem, _t55, cpu->r[29]);
|
|
/* 0249D7A0 */ cpu->r[8] = 0x00000078u;
|
|
/* 0249D7A4 */ _t56 = cpu->r[30] + 0x00000054u;
|
|
/* 0249D7A4 */ rbrew_write32(cpu->mem, _t56, cpu->r[6]);
|
|
/* 0249D7A8 */ _t57 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249D7A8 */ rbrew_write32(cpu->mem, _t57, cpu->r[8]);
|
|
L_0249D7AC: ; // 0x249d7ac
|
|
/* 0249D7AC */ cpu->r[30] = cpu->r[31] + 0x000002B0u;
|
|
/* 0249D7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D7B0 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D7B0 */ _t59 = _t58 & 0x00000001u;
|
|
/* 0249D7B0 */ if (_t59) goto L_0249D7B4; else goto L_0249D7C4;
|
|
L_0249D7B4: ; // 0x249d7b4
|
|
/* 0249D7B4 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249D7B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249D7BC */ cpu->r[30] = cpu->r[3];
|
|
/* 0249D7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D7C0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D7C0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0249D7C0 */ if (_t61) goto L_0249D800; else goto L_0249D7C4;
|
|
L_0249D7C4: ; // 0x249d7c4
|
|
/* 0249D7C4 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249D7C8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249D7CC */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249D7D0 */ cpu->r[5] = cpu->r[5] + 0xFFFFC610u;
|
|
/* 0249D7D4 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249D7D8 */ cpu->r[6] = cpu->r[6] + 0xFFFFC628u;
|
|
/* 0249D7DC */ cpu->r[7] = cpu->r[5];
|
|
/* 0249D7E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249D7E4 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249D7E8 */ _t62 = cpu->r[30] + 0x00000000u;
|
|
/* 0249D7E8 */ rbrew_write32(cpu->mem, _t62, cpu->r[28]);
|
|
/* 0249D7EC */ cpu->r[10] = 0x00000041u;
|
|
/* 0249D7F0 */ _t63 = cpu->r[30] + 0x00000058u;
|
|
/* 0249D7F0 */ rbrew_write32(cpu->mem, _t63, cpu->r[29]);
|
|
/* 0249D7F4 */ cpu->r[0] = 0x00000078u;
|
|
/* 0249D7F8 */ _t64 = cpu->r[30] + 0x00000054u;
|
|
/* 0249D7F8 */ rbrew_write32(cpu->mem, _t64, cpu->r[10]);
|
|
/* 0249D7FC */ _t65 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249D7FC */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
L_0249D800: ; // 0x249d800
|
|
/* 0249D800 */ _t66 = cpu->r[1] + 0x00000020u;
|
|
/* 0249D800 */ cpu->r[28] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0249D804 */ _t67 = cpu->r[1] + 0x00000024u;
|
|
/* 0249D804 */ cpu->r[29] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0249D808 */ _t68 = cpu->r[1] + 0x00000038u;
|
|
/* 0249D808 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 0249D80C */ _t69 = cpu->r[1] + 0x00000028u;
|
|
/* 0249D80C */ cpu->r[30] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0249D810 */ _t70 = cpu->r[1] + 0x00000030u;
|
|
/* 0249D810 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t70);
|
|
/* 0249D814 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D818 */ _t71 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249D818 */ cpu->r[31] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0249D81C */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249D81C */ _t73 = _t72 & 0x00000001u;
|
|
/* 0249D81C */ if (_t73) goto L_0249D820; // else: addr-0 trap, fall-through
|
|
L_0249D820: ; // 0x249d820
|
|
/* 0249D820 */ _t74 = cpu->r[1] + 0x00000044u;
|
|
/* 0249D820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0249D824 */ cpu->lr = cpu->r[0];
|
|
/* 0249D828 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0249D82C */ return;
|
|
}
|
|
|
|
// fn_0249D5E4 @ 0x249d5e4
|
|
void Gambit_fn_0249D5E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_0249D5E4: ; // 0x249d5e4
|
|
/* 0249D5E4 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0249D5E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D5E4 */ cpu->r[1] = _t0;
|
|
/* 0249D5E8 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 0249D5E8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0249D5EC */ /* nop */
|
|
/* 0249D5F0 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0249D5F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0249D5F4 */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 0249D5F4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0249D5F8 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 0249D5F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0249D5FC */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249D5FC */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 0249D600 */ _t6 = cpu->r[1] + 0x00000044u;
|
|
/* 0249D600 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0249D604 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249D608 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 0249D608 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0249D60C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D60C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0249D60C */ if (_t9) goto L_0249D610; else goto L_0249D620;
|
|
L_0249D610: ; // 0x249d610
|
|
/* 0249D610 */ cpu->r[3] = 0x00000310u;
|
|
/* 0249D614 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249D618 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249D61C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D61C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0249D61C */ if (_t11) goto L_0249D800; else goto L_0249D620;
|
|
L_0249D620: ; // 0x249d620
|
|
/* 0249D620 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D624 */ Gambit_fn_025015D0(cpu);
|
|
/* 0249D628 */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249D62C */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249D630 */ cpu->r[7] = 0x100B0000u;
|
|
/* 0249D634 */ _t12 = cpu->r[10] + 0xFFFFC588u;
|
|
/* 0249D634 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0249D638 */ cpu->r[7] = cpu->r[7] + 0xFFFFC4C0u;
|
|
/* 0249D63C */ _t13 = cpu->r[12] + 0xFFFFC580u;
|
|
/* 0249D63C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0249D640 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 0249D640 */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 0249D644 */ cpu->r[7] = 0x100B0000u;
|
|
/* 0249D648 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D648 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 0249D64C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D64C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0249D650 */ _t17 = cpu->r[7] + 0xFFFFC584u;
|
|
/* 0249D650 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0249D654 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0249D654 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[31]);
|
|
/* 0249D658 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0249D658 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0249D65C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D65C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 0249D660 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D660 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249D664 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D664 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 0249D668 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D668 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 0249D66C */ cpu->r[29] = 0x00000000u;
|
|
/* 0249D670 */ cpu->r[30] = cpu->r[31] + 0x00000188u;
|
|
/* 0249D670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D674 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D674 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0249D678 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D678 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0249D678 */ if (_t26) goto L_0249D67C; else goto L_0249D68C;
|
|
L_0249D67C: ; // 0x249d67c
|
|
/* 0249D67C */ cpu->r[3] = 0x00000068u;
|
|
/* 0249D680 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249D684 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249D684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D688 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D688 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0249D688 */ if (_t28) goto L_0249D6EC; else goto L_0249D68C;
|
|
L_0249D68C: ; // 0x249d68c
|
|
/* 0249D68C */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249D690 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249D694 */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249D698 */ cpu->r[5] = cpu->r[5] + 0xFFFFC59Cu;
|
|
/* 0249D69C */ cpu->r[8] = 0x00000000u;
|
|
/* 0249D6A0 */ cpu->r[6] = cpu->r[6] + 0xFFFFC5B0u;
|
|
/* 0249D6A4 */ cpu->r[7] = cpu->r[5];
|
|
/* 0249D6A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249D6AC */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249D6B0 */ cpu->r[0] = 0x10110000u;
|
|
/* 0249D6B4 */ cpu->r[0] = cpu->r[0] + 0x00000AFCu;
|
|
/* 0249D6B8 */ cpu->r[12] = 0x100B0000u;
|
|
/* 0249D6BC */ _t29 = cpu->r[30] + 0x00000000u;
|
|
/* 0249D6BC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0249D6C0 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D6C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0249D6C4 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249D6C8 */ _t31 = cpu->r[12] + 0xFFFFC58Cu;
|
|
/* 0249D6C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0249D6CC */ _t32 = cpu->r[30] + 0x00000054u;
|
|
/* 0249D6CC */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0249D6D0 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 0249D6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0249D6D4 */ _t34 = cpu->r[9] + 0xFFFFC590u;
|
|
/* 0249D6D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0249D6D8 */ _t35 = cpu->r[30] + 0x00000058u;
|
|
/* 0249D6D8 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 0249D6DC */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D6DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0249D6E0 */ _t37 = cpu->r[30] + 0x00000060u;
|
|
/* 0249D6E0 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[13]);
|
|
/* 0249D6E4 */ _t38 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249D6E4 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 0249D6E8 */ _t39 = cpu->r[30] + 0x00000064u;
|
|
/* 0249D6E8 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
L_0249D6EC: ; // 0x249d6ec
|
|
/* 0249D6EC */ cpu->r[30] = cpu->r[31] + 0x000001F0u;
|
|
/* 0249D6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D6F0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D6F0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0249D6F0 */ if (_t41) goto L_0249D6F4; else goto L_0249D704;
|
|
L_0249D6F4: ; // 0x249d6f4
|
|
/* 0249D6F4 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249D6F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249D6FC */ cpu->r[30] = cpu->r[3];
|
|
/* 0249D6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D700 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D700 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0249D700 */ if (_t43) goto L_0249D750; else goto L_0249D704;
|
|
L_0249D704: ; // 0x249d704
|
|
/* 0249D704 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249D708 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249D70C */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249D710 */ cpu->r[5] = cpu->r[5] + 0xFFFFC5D0u;
|
|
/* 0249D714 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249D718 */ cpu->r[6] = cpu->r[6] + 0xFFFFC5E0u;
|
|
/* 0249D71C */ cpu->r[7] = cpu->r[5];
|
|
/* 0249D720 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249D724 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249D728 */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249D72C */ _t44 = cpu->r[30] + 0x00000058u;
|
|
/* 0249D72C */ rbrew_write_f32(cpu->mem, _t44, cpu->f[31]);
|
|
/* 0249D730 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249D734 */ cpu->r[0] = 0x10110000u;
|
|
/* 0249D738 */ _t45 = cpu->r[10] + 0xFFFFC594u;
|
|
/* 0249D738 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0249D73C */ cpu->r[0] = cpu->r[0] + 0x00000A2Cu;
|
|
/* 0249D740 */ _t46 = cpu->r[9] + 0xFFFFC598u;
|
|
/* 0249D740 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0249D744 */ _t47 = cpu->r[30] + 0x00000000u;
|
|
/* 0249D744 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 0249D748 */ _t48 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249D748 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 0249D74C */ _t49 = cpu->r[30] + 0x00000054u;
|
|
/* 0249D74C */ rbrew_write_f32(cpu->mem, _t49, cpu->f[12]);
|
|
L_0249D750: ; // 0x249d750
|
|
/* 0249D750 */ cpu->r[28] = 0x10110000u;
|
|
/* 0249D754 */ cpu->r[30] = cpu->r[31] + 0x00000250u;
|
|
/* 0249D754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D758 */ cpu->r[28] = cpu->r[28] + 0x0000095Cu;
|
|
/* 0249D75C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D75C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0249D75C */ if (_t51) goto L_0249D760; else goto L_0249D770;
|
|
L_0249D760: ; // 0x249d760
|
|
/* 0249D760 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249D764 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249D768 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249D768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D76C */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D76C */ _t53 = _t52 & 0x00000001u;
|
|
/* 0249D76C */ if (_t53) goto L_0249D7AC; else goto L_0249D770;
|
|
L_0249D770: ; // 0x249d770
|
|
/* 0249D770 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249D774 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249D778 */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249D77C */ cpu->r[5] = cpu->r[5] + 0xFFFFC5F8u;
|
|
/* 0249D780 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249D784 */ cpu->r[6] = cpu->r[6] + 0xFFFFC604u;
|
|
/* 0249D788 */ cpu->r[7] = cpu->r[5];
|
|
/* 0249D78C */ cpu->r[3] = cpu->r[30];
|
|
/* 0249D790 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249D794 */ _t54 = cpu->r[30] + 0x00000000u;
|
|
/* 0249D794 */ rbrew_write32(cpu->mem, _t54, cpu->r[28]);
|
|
/* 0249D798 */ cpu->r[6] = 0x00000003u;
|
|
/* 0249D79C */ _t55 = cpu->r[30] + 0x00000058u;
|
|
/* 0249D79C */ rbrew_write32(cpu->mem, _t55, cpu->r[29]);
|
|
/* 0249D7A0 */ cpu->r[8] = 0x00000078u;
|
|
/* 0249D7A4 */ _t56 = cpu->r[30] + 0x00000054u;
|
|
/* 0249D7A4 */ rbrew_write32(cpu->mem, _t56, cpu->r[6]);
|
|
/* 0249D7A8 */ _t57 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249D7A8 */ rbrew_write32(cpu->mem, _t57, cpu->r[8]);
|
|
L_0249D7AC: ; // 0x249d7ac
|
|
/* 0249D7AC */ cpu->r[30] = cpu->r[31] + 0x000002B0u;
|
|
/* 0249D7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D7B0 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D7B0 */ _t59 = _t58 & 0x00000001u;
|
|
/* 0249D7B0 */ if (_t59) goto L_0249D7B4; else goto L_0249D7C4;
|
|
L_0249D7B4: ; // 0x249d7b4
|
|
/* 0249D7B4 */ cpu->r[3] = 0x00000060u;
|
|
/* 0249D7B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249D7BC */ cpu->r[30] = cpu->r[3];
|
|
/* 0249D7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0249D7C0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D7C0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0249D7C0 */ if (_t61) goto L_0249D800; else goto L_0249D7C4;
|
|
L_0249D7C4: ; // 0x249d7c4
|
|
/* 0249D7C4 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249D7C8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0249D7CC */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249D7D0 */ cpu->r[5] = cpu->r[5] + 0xFFFFC610u;
|
|
/* 0249D7D4 */ cpu->r[8] = 0x00000000u;
|
|
/* 0249D7D8 */ cpu->r[6] = cpu->r[6] + 0xFFFFC628u;
|
|
/* 0249D7DC */ cpu->r[7] = cpu->r[5];
|
|
/* 0249D7E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0249D7E4 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0249D7E8 */ _t62 = cpu->r[30] + 0x00000000u;
|
|
/* 0249D7E8 */ rbrew_write32(cpu->mem, _t62, cpu->r[28]);
|
|
/* 0249D7EC */ cpu->r[10] = 0x00000041u;
|
|
/* 0249D7F0 */ _t63 = cpu->r[30] + 0x00000058u;
|
|
/* 0249D7F0 */ rbrew_write32(cpu->mem, _t63, cpu->r[29]);
|
|
/* 0249D7F4 */ cpu->r[0] = 0x00000078u;
|
|
/* 0249D7F8 */ _t64 = cpu->r[30] + 0x00000054u;
|
|
/* 0249D7F8 */ rbrew_write32(cpu->mem, _t64, cpu->r[10]);
|
|
/* 0249D7FC */ _t65 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0249D7FC */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
L_0249D800: ; // 0x249d800
|
|
/* 0249D800 */ _t66 = cpu->r[1] + 0x00000020u;
|
|
/* 0249D800 */ cpu->r[28] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0249D804 */ _t67 = cpu->r[1] + 0x00000024u;
|
|
/* 0249D804 */ cpu->r[29] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0249D808 */ _t68 = cpu->r[1] + 0x00000038u;
|
|
/* 0249D808 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 0249D80C */ _t69 = cpu->r[1] + 0x00000028u;
|
|
/* 0249D80C */ cpu->r[30] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0249D810 */ _t70 = cpu->r[1] + 0x00000030u;
|
|
/* 0249D810 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t70);
|
|
/* 0249D814 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D818 */ _t71 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0249D818 */ cpu->r[31] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0249D81C */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249D81C */ _t73 = _t72 & 0x00000001u;
|
|
/* 0249D81C */ if (_t73) goto L_0249D820; // else: addr-0 trap, fall-through
|
|
L_0249D820: ; // 0x249d820
|
|
/* 0249D820 */ _t74 = cpu->r[1] + 0x00000044u;
|
|
/* 0249D820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0249D824 */ cpu->lr = cpu->r[0];
|
|
/* 0249D828 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0249D82C */ return;
|
|
}
|
|
|
|
// fn_0249D830 @ 0x249d830
|
|
void Gambit_fn_0249D830(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0249D830: ; // 0x249d830
|
|
/* 0249D830 */ cpu->r[0] = cpu->lr;
|
|
/* 0249D834 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0249D834 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0249D838 */ cpu->r[3] = 0x00000310u;
|
|
/* 0249D83C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0249D83C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0249D83C */ cpu->r[1] = _t1;
|
|
/* 0249D840 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249D844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249D848 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D848 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249D848 */ if (_t3) goto L_0249D850; else goto L_0249D84C;
|
|
L_0249D84C: ; // 0x249d84c
|
|
/* 0249D84C */ Gambit_fn_0249D5E0(cpu);
|
|
L_0249D850: ; // 0x249d850
|
|
/* 0249D850 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249D854 */ cpu->lr = cpu->r[0];
|
|
/* 0249D858 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0249D85C */ return;
|
|
}
|
|
|
|
// fn_0249D83C @ 0x249d83c
|
|
void Gambit_fn_0249D83C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0249D83C: ; // 0x249d83c
|
|
/* 0249D83C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0249D83C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D83C */ cpu->r[1] = _t0;
|
|
/* 0249D840 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249D844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249D848 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D848 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249D848 */ if (_t2) goto L_0249D850; else goto L_0249D84C;
|
|
L_0249D84C: ; // 0x249d84c
|
|
/* 0249D84C */ Gambit_fn_0249D5E0(cpu);
|
|
L_0249D850: ; // 0x249d850
|
|
/* 0249D850 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249D854 */ cpu->lr = cpu->r[0];
|
|
/* 0249D858 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0249D85C */ return;
|
|
}
|
|
|
|
// fn_0249D89C @ 0x249d89c
|
|
void Gambit_fn_0249D89C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0249D89C: ; // 0x249d89c
|
|
/* 0249D89C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249D89C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D89C */ cpu->r[1] = _t0;
|
|
/* 0249D8A0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0249D8A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0249D8A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D8A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0249D8A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0249D8AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D8AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0249D8B0 */ _t4 = cpu->r[30] + 0x000001F0u;
|
|
/* 0249D8B0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0249D8B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0249D8B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D8B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0249D8B8 */ if (_t6) goto L_0249D8CC; else goto L_0249D8BC;
|
|
L_0249D8BC: ; // 0x249d8bc
|
|
/* 0249D8BC */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 0249D8C0 */ cpu->r[4] = 0x00000001u;
|
|
/* 0249D8C4 */ Gambit_fn_0249E6FC(cpu);
|
|
/* 0249D8C8 */ goto L_0249D99C;
|
|
L_0249D8CC: ; // 0x249d8cc
|
|
/* 0249D8CC */ cpu->r[3] = cpu->r[30];
|
|
/* 0249D8D0 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0249D8D4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0249D8D8 */ _t7 = cpu->r[10] + 0x000006E4u;
|
|
/* 0249D8D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249D8D8 */ cpu->r[10] = _t7;
|
|
/* 0249D8DC */ cpu->r[4] = 0x101D0000u;
|
|
/* 0249D8E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0249D8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249D8E8 */ cpu->r[4] = cpu->r[4] + 0x000006E8u;
|
|
/* 0249D8EC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D8EC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0249D8EC */ if (_t9) goto L_0249D8F0; else goto L_0249D904;
|
|
L_0249D8F0: ; // 0x249d8f0
|
|
/* 0249D8F0 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249D8F4 */ cpu->r[9] = 0x00000001u;
|
|
/* 0249D8F8 */ cpu->r[11] = cpu->r[11] + 0xFFFFC448u;
|
|
/* 0249D8FC */ _t10 = cpu->r[10] + 0x00000000u;
|
|
/* 0249D8FC */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0249D900 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 0249D900 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_0249D904: ; // 0x249d904
|
|
/* 0249D904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0249D908 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D908 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0249D908 */ if (_t13) goto L_0249D928; else goto L_0249D90C;
|
|
L_0249D90C: ; // 0x249d90c
|
|
/* 0249D90C */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 0249D90C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0249D910 */ _t15 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0249D910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0249D914 */ cpu->ctr = cpu->r[0];
|
|
/* 0249D918 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D91C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249D920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249D924 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D924 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0249D924 */ if (_t17) goto L_0249D928; else goto L_0249D92C;
|
|
L_0249D928: ; // 0x249d928
|
|
/* 0249D928 */ cpu->r[31] = 0x00000000u;
|
|
L_0249D92C: ; // 0x249d92c
|
|
/* 0249D92C */ _t18 = cpu->r[30] + 0x000001B8u;
|
|
/* 0249D92C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0249D930 */ _t19 = cpu->r[31] + 0x000002A4u;
|
|
/* 0249D930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0249D934 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 0249D938 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D938 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0249D938 */ if (_t21) goto L_0249D93C; else goto L_0249D980;
|
|
L_0249D93C: ; // 0x249d93c
|
|
/* 0249D93C */ cpu->r[12] = 0x101C0000u;
|
|
/* 0249D940 */ _t22 = cpu->r[12] + 0x00006000u;
|
|
/* 0249D940 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0249D944 */ _t23 = cpu->r[12] + 0x00000268u;
|
|
/* 0249D944 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0249D948 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D94C */ Gambit_fn_0261F774(cpu);
|
|
/* 0249D950 */ cpu->r[4] = cpu->r[3];
|
|
/* 0249D954 */ cpu->r[3] = cpu->r[31];
|
|
/* 0249D958 */ Gambit_fn_0261F55C(cpu);
|
|
/* 0249D95C */ _t24 = cpu->r[3] + 0x00000030u;
|
|
/* 0249D95C */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0249D960 */ _t25 = cpu->r[3] + 0x000000E0u;
|
|
/* 0249D960 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0249D964 */ _t26 = cpu->r[12] + 0x0000003Cu;
|
|
/* 0249D964 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0249D968 */ cpu->r[5] = 0x100B0000u;
|
|
/* 0249D96C */ cpu->ctr = cpu->r[10];
|
|
/* 0249D970 */ cpu->r[5] = cpu->r[5] + 0xFFFFC648u;
|
|
/* 0249D974 */ cpu->r[4] = cpu->r[30] + 0x00000280u;
|
|
/* 0249D978 */ cpu->r[6] = 0x00000000u;
|
|
/* 0249D97C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0249D980: ; // 0x249d980
|
|
/* 0249D980 */ _t27 = cpu->r[30] + 0x00000130u;
|
|
/* 0249D980 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0249D984 */ Gambit_fn_02398FA8(cpu);
|
|
/* 0249D988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249D98C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249D98C */ _t29 = _t28 & 0x00000001u;
|
|
/* 0249D98C */ if (_t29) goto L_0249D99C; else goto L_0249D990;
|
|
L_0249D990: ; // 0x249d990
|
|
/* 0249D990 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 0249D994 */ cpu->r[4] = 0x00000000u;
|
|
/* 0249D998 */ Gambit_fn_0249E6FC(cpu);
|
|
L_0249D99C: ; // 0x249d99c
|
|
/* 0249D99C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D99C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0249D9A0 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0249D9A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0249D9A4 */ cpu->lr = cpu->r[0];
|
|
/* 0249D9A8 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249D9A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0249D9AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249D9B0 */ return;
|
|
}
|
|
|
|
// fn_0249D9B4 @ 0x249d9b4
|
|
void Gambit_fn_0249D9B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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;
|
|
|
|
L_0249D9B4: ; // 0x249d9b4
|
|
/* 0249D9B4 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 0249D9B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249D9B4 */ cpu->r[1] = _t0;
|
|
/* 0249D9B8 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 0249D9B8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0249D9BC */ /* nop */
|
|
/* 0249D9C0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249D9C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0249D9C4 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 0249D9C4 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
|
|
/* 0249D9C8 */ cpu->r[0] = cpu->lr;
|
|
/* 0249D9CC */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0249D9CC */ rbrew_write_f64(cpu->mem, _t4, cpu->f[28]);
|
|
/* 0249D9D0 */ /* nop */
|
|
/* 0249D9D4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0249D9D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0249D9D8 */ /* nop */
|
|
/* 0249D9DC */ _t6 = cpu->r[1] + 0x00000048u;
|
|
/* 0249D9DC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 0249D9E0 */ cpu->r[8] = 0xFFFFFFFDu;
|
|
/* 0249D9E4 */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 0249D9E4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[28]);
|
|
/* 0249D9E8 */ _t8 = cpu->r[1] + 0x00000038u;
|
|
/* 0249D9E8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]);
|
|
/* 0249D9EC */ _t9 = cpu->r[1] + 0x00000050u;
|
|
/* 0249D9EC */ rbrew_write_f64(cpu->mem, _t9, cpu->f[31]);
|
|
/* 0249D9F0 */ _t10 = cpu->r[1] + 0x00000064u;
|
|
/* 0249D9F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0249D9F4 */ /* nop */
|
|
/* 0249D9F8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0249D9F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 0249D9FC */ cpu->r[12] = 0x101F0000u;
|
|
/* 0249DA00 */ _t12 = cpu->r[1] + 0x00000058u;
|
|
/* 0249DA00 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
|
|
/* 0249DA04 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0249DA08 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 0249DA08 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 0249DA0C */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0249DA10 */ _t14 = cpu->r[12] + 0xFFFF81C8u;
|
|
/* 0249DA10 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 0249DA10 */ cpu->r[12] = _t14;
|
|
/* 0249DA14 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 0249DA18 */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 0249DA18 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 0249DA1C */ cpu->r[6] = 0x101F0000u;
|
|
/* 0249DA20 */ _t16 = cpu->r[11] + 0xFFFF81D0u;
|
|
/* 0249DA20 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 0249DA20 */ cpu->r[11] = _t16;
|
|
/* 0249DA24 */ cpu->r[6] = cpu->r[6] + 0x00005BFCu;
|
|
/* 0249DA28 */ _t17 = cpu->r[11] + 0x00000004u;
|
|
/* 0249DA28 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 0249DA2C */ cpu->r[0] = 0x00000002u;
|
|
/* 0249DA30 */ _t18 = cpu->r[6] + 0x00000008u;
|
|
/* 0249DA30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0249DA34 */ cpu->r[31] = 0x101F0000u;
|
|
/* 0249DA38 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0249DA38 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0249DA3C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0249DA3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0249DA40 */ cpu->r[28] = 0x101F0000u;
|
|
/* 0249DA44 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0249DA44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0249DA48 */ _t22 = cpu->r[6] + 0x0000000Cu;
|
|
/* 0249DA48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0249DA4C */ cpu->r[9] = 0x101F0000u;
|
|
/* 0249DA50 */ _t23 = cpu->r[31] + 0xFFFF8208u;
|
|
/* 0249DA50 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 0249DA50 */ cpu->r[31] = _t23;
|
|
/* 0249DA54 */ _t24 = cpu->r[31] + 0x00000010u;
|
|
/* 0249DA54 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 0249DA58 */ cpu->r[9] = cpu->r[9] + 0xFFFF81E0u;
|
|
/* 0249DA5C */ cpu->r[12] = 0x101F0000u;
|
|
/* 0249DA60 */ _t25 = cpu->r[9] + 0x00000004u;
|
|
/* 0249DA60 */ rbrew_write32(cpu->mem, _t25, cpu->r[5]);
|
|
/* 0249DA64 */ _t26 = cpu->r[6] + 0x00000004u;
|
|
/* 0249DA64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0249DA68 */ _t27 = cpu->r[28] + 0x00005C2Cu;
|
|
/* 0249DA68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0249DA68 */ cpu->r[28] = _t27;
|
|
/* 0249DA6C */ _t28 = cpu->r[31] + 0x00000018u;
|
|
/* 0249DA6C */ rbrew_write32(cpu->mem, _t28, cpu->r[4]);
|
|
/* 0249DA70 */ _t29 = cpu->r[31] + 0x00000030u;
|
|
/* 0249DA70 */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
|
|
/* 0249DA74 */ _t30 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0249DA74 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
/* 0249DA78 */ _t31 = cpu->r[31] + 0x00000008u;
|
|
/* 0249DA78 */ rbrew_write32(cpu->mem, _t31, cpu->r[4]);
|
|
/* 0249DA7C */ _t32 = cpu->r[31] + 0x00000024u;
|
|
/* 0249DA7C */ rbrew_write32(cpu->mem, _t32, cpu->r[29]);
|
|
/* 0249DA80 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0249DA84 */ _t33 = cpu->r[31] + 0x00000028u;
|
|
/* 0249DA84 */ rbrew_write32(cpu->mem, _t33, cpu->r[4]);
|
|
/* 0249DA88 */ _t34 = cpu->r[10] + 0xFFFF81D8u;
|
|
/* 0249DA88 */ rbrew_write32(cpu->mem, _t34, cpu->r[5]);
|
|
/* 0249DA88 */ cpu->r[10] = _t34;
|
|
/* 0249DA8C */ cpu->r[0] = 0x00000004u;
|
|
/* 0249DA90 */ _t35 = cpu->r[10] + 0x00000004u;
|
|
/* 0249DA90 */ rbrew_write32(cpu->mem, _t35, cpu->r[5]);
|
|
/* 0249DA94 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0249DA98 */ _t36 = cpu->r[12] + 0xFFFF81F0u;
|
|
/* 0249DA98 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 0249DA9C */ _t37 = cpu->r[28] + 0x00000008u;
|
|
/* 0249DA9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0249DAA0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0249DAA4 */ _t38 = cpu->r[9] + 0x00000000u;
|
|
/* 0249DAA4 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 0249DAA8 */ _t39 = cpu->r[12] + 0xFFFF81E8u;
|
|
/* 0249DAA8 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 0249DAA8 */ cpu->r[12] = _t39;
|
|
/* 0249DAAC */ _t40 = cpu->r[7] + 0x00005C1Cu;
|
|
/* 0249DAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0249DAAC */ cpu->r[7] = _t40;
|
|
/* 0249DAB0 */ _t41 = cpu->r[31] + 0x00000004u;
|
|
/* 0249DAB0 */ rbrew_write32(cpu->mem, _t41, cpu->r[29]);
|
|
/* 0249DAB4 */ _t42 = cpu->r[7] + 0x00000008u;
|
|
/* 0249DAB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0249DAB8 */ _t43 = cpu->r[31] + 0x00000020u;
|
|
/* 0249DAB8 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
|
|
/* 0249DABC */ _t44 = cpu->r[31] + 0x00000014u;
|
|
/* 0249DABC */ rbrew_write32(cpu->mem, _t44, cpu->r[29]);
|
|
/* 0249DAC0 */ _t45 = cpu->r[31] + 0x00000040u;
|
|
/* 0249DAC0 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 0249DAC4 */ _t46 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0249DAC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0249DAC8 */ _t47 = cpu->r[7] + 0x00000004u;
|
|
/* 0249DAC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0249DACC */ _t48 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0249DACC */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 0249DAD0 */ _t49 = cpu->r[31] + 0x00000044u;
|
|
/* 0249DAD0 */ rbrew_write32(cpu->mem, _t49, cpu->r[6]);
|
|
/* 0249DAD4 */ _t50 = cpu->r[31] + 0x00000048u;
|
|
/* 0249DAD4 */ rbrew_write32(cpu->mem, _t50, cpu->r[8]);
|
|
/* 0249DAD8 */ _t51 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249DAD8 */ rbrew_write32(cpu->mem, _t51, cpu->r[3]);
|
|
/* 0249DADC */ cpu->r[9] = 0x101F0000u;
|
|
/* 0249DAE0 */ _t52 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0249DAE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0249DAE4 */ _t53 = cpu->r[9] + 0x00005BDCu;
|
|
/* 0249DAE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0249DAE4 */ cpu->r[9] = _t53;
|
|
/* 0249DAE8 */ _t54 = cpu->r[28] + 0x00000004u;
|
|
/* 0249DAE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0249DAEC */ _t55 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0249DAEC */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 0249DAF0 */ _t56 = cpu->r[31] + 0x00000034u;
|
|
/* 0249DAF0 */ rbrew_write32(cpu->mem, _t56, cpu->r[8]);
|
|
/* 0249DAF4 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0249DAF8 */ _t57 = cpu->r[12] + 0x00000004u;
|
|
/* 0249DAF8 */ rbrew_write32(cpu->mem, _t57, cpu->r[5]);
|
|
/* 0249DAFC */ _t58 = cpu->r[9] + 0x00000008u;
|
|
/* 0249DAFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0249DB00 */ cpu->r[8] = cpu->r[8] + 0x00005C4Cu;
|
|
/* 0249DB04 */ _t59 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0249DB04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0249DB08 */ _t60 = cpu->r[9] + 0x00000004u;
|
|
/* 0249DB08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0249DB0C */ _t61 = cpu->r[31] + 0x00000088u;
|
|
/* 0249DB0C */ rbrew_write32(cpu->mem, _t61, cpu->r[12]);
|
|
/* 0249DB10 */ _t62 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0249DB10 */ rbrew_write32(cpu->mem, _t62, cpu->r[3]);
|
|
/* 0249DB14 */ _t63 = cpu->r[31] + 0x00000080u;
|
|
/* 0249DB14 */ rbrew_write32(cpu->mem, _t63, cpu->r[6]);
|
|
/* 0249DB18 */ _t64 = cpu->r[31] + 0x00000038u;
|
|
/* 0249DB18 */ rbrew_write32(cpu->mem, _t64, cpu->r[10]);
|
|
/* 0249DB1C */ _t65 = cpu->r[8] + 0x00000004u;
|
|
/* 0249DB1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0249DB20 */ _t66 = cpu->r[31] + 0x00000058u;
|
|
/* 0249DB20 */ rbrew_write32(cpu->mem, _t66, cpu->r[12]);
|
|
/* 0249DB24 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0249DB28 */ _t67 = cpu->r[31] + 0x00000064u;
|
|
/* 0249DB28 */ rbrew_write32(cpu->mem, _t67, cpu->r[7]);
|
|
/* 0249DB2C */ _t68 = cpu->r[11] + 0x00005C3Cu;
|
|
/* 0249DB2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0249DB2C */ cpu->r[11] = _t68;
|
|
/* 0249DB30 */ _t69 = cpu->r[31] + 0x00000090u;
|
|
/* 0249DB30 */ rbrew_write32(cpu->mem, _t69, cpu->r[6]);
|
|
/* 0249DB34 */ _t70 = cpu->r[31] + 0x00000070u;
|
|
/* 0249DB34 */ rbrew_write32(cpu->mem, _t70, cpu->r[5]);
|
|
/* 0249DB38 */ _t71 = cpu->r[11] + 0x00000004u;
|
|
/* 0249DB38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0249DB3C */ _t72 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0249DB3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0249DB40 */ _t73 = cpu->r[31] + 0x00000074u;
|
|
/* 0249DB40 */ rbrew_write32(cpu->mem, _t73, cpu->r[10]);
|
|
/* 0249DB44 */ _t74 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0249DB44 */ rbrew_write32(cpu->mem, _t74, cpu->r[7]);
|
|
/* 0249DB48 */ _t75 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0249DB48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0249DB4C */ _t76 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0249DB4C */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 0249DB50 */ _t77 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0249DB50 */ rbrew_write32(cpu->mem, _t77, cpu->r[10]);
|
|
/* 0249DB54 */ _t78 = cpu->r[31] + 0x00000094u;
|
|
/* 0249DB54 */ rbrew_write32(cpu->mem, _t78, cpu->r[9]);
|
|
/* 0249DB58 */ _t79 = cpu->r[31] + 0x00000054u;
|
|
/* 0249DB58 */ rbrew_write32(cpu->mem, _t79, cpu->r[9]);
|
|
/* 0249DB5C */ _t80 = cpu->r[31] + 0x00000084u;
|
|
/* 0249DB5C */ rbrew_write32(cpu->mem, _t80, cpu->r[9]);
|
|
/* 0249DB60 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0249DB64 */ _t81 = cpu->r[31] + 0x00000050u;
|
|
/* 0249DB64 */ rbrew_write32(cpu->mem, _t81, cpu->r[6]);
|
|
/* 0249DB68 */ _t82 = cpu->r[31] + 0x0000008Cu;
|
|
/* 0249DB68 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 0249DB6C */ _t83 = cpu->r[11] + 0x00000008u;
|
|
/* 0249DB6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0249DB70 */ _t84 = cpu->r[31] + 0x000000BCu;
|
|
/* 0249DB70 */ rbrew_write32(cpu->mem, _t84, cpu->r[3]);
|
|
/* 0249DB74 */ _t85 = cpu->r[7] + 0x00005C0Cu;
|
|
/* 0249DB74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0249DB74 */ cpu->r[7] = _t85;
|
|
/* 0249DB78 */ _t86 = cpu->r[7] + 0x00000004u;
|
|
/* 0249DB78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0249DB7C */ _t87 = cpu->r[31] + 0x000000A0u;
|
|
/* 0249DB7C */ rbrew_write32(cpu->mem, _t87, cpu->r[9]);
|
|
/* 0249DB80 */ _t88 = cpu->r[31] + 0x000000A4u;
|
|
/* 0249DB80 */ rbrew_write32(cpu->mem, _t88, cpu->r[10]);
|
|
/* 0249DB84 */ _t89 = cpu->r[31] + 0x00000078u;
|
|
/* 0249DB84 */ rbrew_write32(cpu->mem, _t89, cpu->r[11]);
|
|
/* 0249DB88 */ _t90 = cpu->r[7] + 0x00000008u;
|
|
/* 0249DB88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0249DB8C */ _t91 = cpu->r[8] + 0x00000000u;
|
|
/* 0249DB8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0249DB90 */ _t92 = cpu->r[31] + 0x000000A8u;
|
|
/* 0249DB90 */ rbrew_write32(cpu->mem, _t92, cpu->r[11]);
|
|
/* 0249DB94 */ _t93 = cpu->r[31] + 0x00000060u;
|
|
/* 0249DB94 */ rbrew_write32(cpu->mem, _t93, cpu->r[5]);
|
|
/* 0249DB98 */ _t94 = cpu->r[8] + 0x00000008u;
|
|
/* 0249DB98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0249DB9C */ _t95 = cpu->r[31] + 0x00000098u;
|
|
/* 0249DB9C */ rbrew_write32(cpu->mem, _t95, cpu->r[12]);
|
|
/* 0249DBA0 */ _t96 = cpu->r[31] + 0x0000009Cu;
|
|
/* 0249DBA0 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 0249DBA4 */ _t97 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0249DBA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0249DBA8 */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249DBAC */ _t98 = cpu->r[31] + 0x000000B8u;
|
|
/* 0249DBAC */ rbrew_write32(cpu->mem, _t98, cpu->r[4]);
|
|
/* 0249DBB0 */ cpu->r[7] = 0x100B0000u;
|
|
/* 0249DBB4 */ _t99 = cpu->r[10] + 0xFFFFC658u;
|
|
/* 0249DBB4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 0249DBB8 */ _t100 = cpu->r[31] + 0x00000068u;
|
|
/* 0249DBB8 */ rbrew_write32(cpu->mem, _t100, cpu->r[8]);
|
|
/* 0249DBBC */ cpu->r[10] = 0x100B0000u;
|
|
/* 0249DBC0 */ _t101 = cpu->r[7] + 0xFFFFC654u;
|
|
/* 0249DBC0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 0249DBC4 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 0249DBC8 */ _t102 = cpu->r[10] + 0xFFFFC650u;
|
|
/* 0249DBC8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 0249DBCC */ _t103 = cpu->r[31] + 0x000000B0u;
|
|
/* 0249DBCC */ rbrew_write32(cpu->mem, _t103, cpu->r[30]);
|
|
/* 0249DBD0 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249DBD4 */ _t104 = cpu->r[31] + 0x000000B4u;
|
|
/* 0249DBD4 */ rbrew_write32(cpu->mem, _t104, cpu->r[29]);
|
|
/* 0249DBD8 */ _t105 = cpu->r[11] + 0xFFFFC65Cu;
|
|
/* 0249DBD8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 0249DBDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 0249DBE0 */ _t106 = cpu->r[31] + 0x000000ACu;
|
|
/* 0249DBE0 */ rbrew_write32(cpu->mem, _t106, cpu->r[12]);
|
|
/* 0249DBE4 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DBE4 */ _t108 = _t107 & 0x00000001u;
|
|
/* 0249DBE4 */ if (_t108) goto L_0249DBE8; else goto L_0249DBF8;
|
|
L_0249DBE8: ; // 0x249dbe8
|
|
/* 0249DBE8 */ cpu->r[3] = 0x00000010u;
|
|
/* 0249DBEC */ Gambit_fn_02801A78(cpu);
|
|
/* 0249DBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249DBF4 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DBF4 */ _t110 = _t109 & 0x00000001u;
|
|
/* 0249DBF4 */ if (_t110) goto L_0249DC08; else goto L_0249DBF8;
|
|
L_0249DBF8: ; // 0x249dbf8
|
|
/* 0249DBF8 */ _t111 = cpu->r[3] + 0x00000004u;
|
|
/* 0249DBF8 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[29]);
|
|
/* 0249DBFC */ _t112 = cpu->r[3] + 0x00000008u;
|
|
/* 0249DBFC */ rbrew_write_f32(cpu->mem, _t112, cpu->f[28]);
|
|
/* 0249DC00 */ _t113 = cpu->r[3] + 0x00000000u;
|
|
/* 0249DC00 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[30]);
|
|
/* 0249DC04 */ _t114 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249DC04 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[31]);
|
|
L_0249DC08: ; // 0x249dc08
|
|
/* 0249DC08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 0249DC0C */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 0249DC10 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DC10 */ _t116 = _t115 & 0x00000001u;
|
|
/* 0249DC10 */ if (_t116) goto L_0249DC14; else goto L_0249DC24;
|
|
L_0249DC14: ; // 0x249dc14
|
|
/* 0249DC14 */ cpu->r[3] = 0x00000010u;
|
|
/* 0249DC18 */ Gambit_fn_02801A78(cpu);
|
|
/* 0249DC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249DC20 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DC20 */ _t118 = _t117 & 0x00000001u;
|
|
/* 0249DC20 */ if (_t118) goto L_0249DC34; else goto L_0249DC24;
|
|
L_0249DC24: ; // 0x249dc24
|
|
/* 0249DC24 */ _t119 = cpu->r[3] + 0x00000004u;
|
|
/* 0249DC24 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[29]);
|
|
/* 0249DC28 */ _t120 = cpu->r[3] + 0x00000008u;
|
|
/* 0249DC28 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[30]);
|
|
/* 0249DC2C */ _t121 = cpu->r[3] + 0x00000000u;
|
|
/* 0249DC2C */ rbrew_write_f32(cpu->mem, _t121, cpu->f[28]);
|
|
/* 0249DC30 */ _t122 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249DC30 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[31]);
|
|
L_0249DC34: ; // 0x249dc34
|
|
/* 0249DC34 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0249DC38 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0249DC3C */ cpu->r[3] = cpu->r[3] + 0xFFFF81F4u;
|
|
/* 0249DC40 */ cpu->r[5] = cpu->r[5] + 0x00005BCCu;
|
|
/* 0249DC44 */ cpu->r[11] = 0x100B0000u;
|
|
/* 0249DC48 */ _t123 = cpu->r[5] + 0x00000004u;
|
|
/* 0249DC48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t123);
|
|
/* 0249DC4C */ cpu->r[11] = cpu->r[11] + 0xFFFFC4A8u;
|
|
/* 0249DC50 */ _t124 = cpu->r[5] + 0x0000000Cu;
|
|
/* 0249DC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124);
|
|
/* 0249DC54 */ _t125 = cpu->r[3] + 0x00000008u;
|
|
/* 0249DC54 */ rbrew_write32(cpu->mem, _t125, cpu->r[11]);
|
|
/* 0249DC58 */ cpu->r[6] = 0x100B0000u;
|
|
/* 0249DC5C */ _t126 = cpu->r[31] + 0x000000ECu;
|
|
/* 0249DC5C */ rbrew_write32(cpu->mem, _t126, cpu->r[0]);
|
|
/* 0249DC60 */ cpu->r[6] = cpu->r[6] + 0xFFFFC3A8u;
|
|
/* 0249DC64 */ _t127 = cpu->r[5] + 0x00000008u;
|
|
/* 0249DC64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 0249DC68 */ cpu->r[12] = 0x024A0000u;
|
|
/* 0249DC6C */ _t128 = cpu->r[31] + 0x000000E4u;
|
|
/* 0249DC6C */ rbrew_write32(cpu->mem, _t128, cpu->r[9]);
|
|
/* 0249DC70 */ cpu->r[9] = 0x100B0000u;
|
|
/* 0249DC74 */ _t129 = cpu->r[31] + 0x000000E8u;
|
|
/* 0249DC74 */ rbrew_write32(cpu->mem, _t129, cpu->r[0]);
|
|
/* 0249DC78 */ cpu->r[9] = cpu->r[9] + 0xFFFFC660u;
|
|
/* 0249DC7C */ _t130 = cpu->r[5] + 0x00000000u;
|
|
/* 0249DC7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0249DC80 */ cpu->r[12] = cpu->r[12] + 0xFFFFE86Cu;
|
|
/* 0249DC84 */ _t131 = cpu->r[3] + 0x00000000u;
|
|
/* 0249DC84 */ rbrew_write32(cpu->mem, _t131, cpu->r[9]);
|
|
/* 0249DC88 */ _t132 = cpu->r[3] + 0x00000004u;
|
|
/* 0249DC88 */ rbrew_write32(cpu->mem, _t132, cpu->r[6]);
|
|
/* 0249DC8C */ _t133 = cpu->r[31] + 0x000000E0u;
|
|
/* 0249DC8C */ rbrew_write32(cpu->mem, _t133, cpu->r[0]);
|
|
/* 0249DC90 */ _t134 = cpu->r[3] + 0x00000010u;
|
|
/* 0249DC90 */ rbrew_write32(cpu->mem, _t134, cpu->r[12]);
|
|
/* 0249DC94 */ _t135 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249DC94 */ rbrew_write32(cpu->mem, _t135, cpu->r[6]);
|
|
/* 0249DC98 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0249DC9C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0249DCA0 */ cpu->r[3] = cpu->r[3] + 0x00006288u;
|
|
/* 0249DCA4 */ Gambit_fn_02C83090(cpu);
|
|
/* 0249DCA8 */ _t136 = cpu->r[1] + 0x00000010u;
|
|
/* 0249DCA8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t136);
|
|
/* 0249DCAC */ _t137 = cpu->r[1] + 0x00000014u;
|
|
/* 0249DCAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t137);
|
|
/* 0249DCB0 */ _t138 = cpu->r[1] + 0x00000058u;
|
|
/* 0249DCB0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 0249DCB4 */ _t139 = cpu->r[1] + 0x00000038u;
|
|
/* 0249DCB4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 0249DCB8 */ _t140 = cpu->r[1] + 0x00000050u;
|
|
/* 0249DCB8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t140);
|
|
/* 0249DCBC */ _t141 = cpu->r[1] + 0x00000048u;
|
|
/* 0249DCBC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t141);
|
|
/* 0249DCC0 */ _t142 = cpu->r[1] + 0x00000030u;
|
|
/* 0249DCC0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t142);
|
|
/* 0249DCC4 */ _t143 = cpu->r[1] + 0x00000040u;
|
|
/* 0249DCC4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t143);
|
|
/* 0249DCC8 */ _t144 = cpu->r[1] + 0x00000028u;
|
|
/* 0249DCC8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 0249DCCC */ _t145 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0249DCCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0249DCD0 */ _t146 = cpu->r[1] + 0x00000020u;
|
|
/* 0249DCD0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t146);
|
|
/* 0249DCD4 */ _t147 = cpu->r[1] + 0x00000018u;
|
|
/* 0249DCD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0249DCD8 */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0249DCD8 */ _t149 = _t148 & 0x00000001u;
|
|
/* 0249DCD8 */ if (_t149) goto L_0249DCDC; // else: addr-0 trap, fall-through
|
|
L_0249DCDC: ; // 0x249dcdc
|
|
/* 0249DCDC */ _t150 = cpu->r[1] + 0x00000064u;
|
|
/* 0249DCDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t150);
|
|
/* 0249DCE0 */ cpu->lr = cpu->r[0];
|
|
/* 0249DCE4 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 0249DCE8 */ return;
|
|
}
|
|
|
|
// fn_0249DCEC @ 0x249dcec
|
|
void Gambit_fn_0249DCEC(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_0249DCEC: ; // 0x249dcec
|
|
/* 0249DCEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249DCF0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DCF0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249DCF0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249DCF0 */ goto L_0249DCF4;
|
|
L_0249DCF4: ; // 0x249dcf4
|
|
/* 0249DCF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249DCF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249DCF8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DCF8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249DCF8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249DCF8 */ goto L_0249DCFC;
|
|
L_0249DCFC: ; // 0x249dcfc
|
|
/* 0249DCFC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249DD00 @ 0x249dd00
|
|
void Gambit_fn_0249DD00(CPUState* cpu) {
|
|
L_0249DD00: ; // 0x249dd00
|
|
/* 0249DD00 */ return;
|
|
}
|
|
|
|
// fn_0249DD04 @ 0x249dd04
|
|
void Gambit_fn_0249DD04(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_0249DD04: ; // 0x249dd04
|
|
/* 0249DD04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249DD08 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DD08 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249DD08 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249DD08 */ goto L_0249DD0C;
|
|
L_0249DD0C: ; // 0x249dd0c
|
|
/* 0249DD0C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249DD0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249DD10 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DD10 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249DD10 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249DD10 */ goto L_0249DD14;
|
|
L_0249DD14: ; // 0x249dd14
|
|
/* 0249DD14 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249DD18 @ 0x249dd18
|
|
void Gambit_fn_0249DD18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0249DD18: ; // 0x249dd18
|
|
/* 0249DD18 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0249DD18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249DD1C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0249DD1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249DD20 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0249DD24 */ cpu->r[11] = 0x10110000u;
|
|
/* 0249DD28 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0249DD28 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0249DD2C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0249DD2C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0249DD30 */ return;
|
|
}
|
|
|
|
// fn_0249DD34 @ 0x249dd34
|
|
void Gambit_fn_0249DD34(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_0249DD34: ; // 0x249dd34
|
|
/* 0249DD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249DD38 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DD38 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249DD38 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249DD38 */ goto L_0249DD3C;
|
|
L_0249DD3C: ; // 0x249dd3c
|
|
/* 0249DD3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249DD3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249DD40 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DD40 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249DD40 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249DD40 */ goto L_0249DD44;
|
|
L_0249DD44: ; // 0x249dd44
|
|
/* 0249DD44 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249DD48 @ 0x249dd48
|
|
void Gambit_fn_0249DD48(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_0249DD48: ; // 0x249dd48
|
|
/* 0249DD48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249DD4C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DD4C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249DD4C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249DD4C */ goto L_0249DD50;
|
|
L_0249DD50: ; // 0x249dd50
|
|
/* 0249DD50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249DD50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249DD54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DD54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249DD54 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249DD54 */ goto L_0249DD58;
|
|
L_0249DD58: ; // 0x249dd58
|
|
/* 0249DD58 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249DD5C @ 0x249dd5c
|
|
void Gambit_fn_0249DD5C(CPUState* cpu) {
|
|
L_0249DD5C: ; // 0x249dd5c
|
|
/* 0249DD5C */ return;
|
|
}
|
|
|
|
// fn_0249DD60 @ 0x249dd60
|
|
void Gambit_fn_0249DD60(CPUState* cpu) {
|
|
L_0249DD60: ; // 0x249dd60
|
|
/* 0249DD60 */ return;
|
|
}
|
|
|
|
// fn_0249DD64 @ 0x249dd64
|
|
void Gambit_fn_0249DD64(CPUState* cpu) {
|
|
L_0249DD64: ; // 0x249dd64
|
|
/* 0249DD64 */ return;
|
|
}
|
|
|
|
// fn_0249DD68 @ 0x249dd68
|
|
void Gambit_fn_0249DD68(CPUState* cpu) {
|
|
L_0249DD68: ; // 0x249dd68
|
|
/* 0249DD68 */ return;
|
|
}
|
|
|
|
// fn_0249DD6C @ 0x249dd6c
|
|
void Gambit_fn_0249DD6C(CPUState* cpu) {
|
|
L_0249DD6C: ; // 0x249dd6c
|
|
/* 0249DD6C */ return;
|
|
}
|
|
|
|
// fn_0249DD70 @ 0x249dd70
|
|
void Gambit_fn_0249DD70(CPUState* cpu) {
|
|
L_0249DD70: ; // 0x249dd70
|
|
/* 0249DD70 */ return;
|
|
}
|
|
|
|
// fn_0249DD74 @ 0x249dd74
|
|
void Gambit_fn_0249DD74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0249DD74: ; // 0x249dd74
|
|
/* 0249DD74 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0249DD74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249DD78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249DD7C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DD7C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249DD7C */ if (_t2) goto L_0249DD88; else goto L_0249DD80;
|
|
L_0249DD80: ; // 0x249dd80
|
|
/* 0249DD80 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 0249DD84 */ return;
|
|
L_0249DD88: ; // 0x249dd88
|
|
/* 0249DD88 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249DD8C */ return;
|
|
}
|
|
|
|
// fn_0249DD90 @ 0x249dd90
|
|
void Gambit_fn_0249DD90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0249DD90: ; // 0x249dd90
|
|
/* 0249DD90 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0249DD90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249DD94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249DD98 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DD98 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249DD98 */ if (_t2) goto L_0249DDA4; else goto L_0249DD9C;
|
|
L_0249DD9C: ; // 0x249dd9c
|
|
/* 0249DD9C */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 0249DDA0 */ return;
|
|
L_0249DDA4: ; // 0x249dda4
|
|
/* 0249DDA4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0249DDA8 */ return;
|
|
}
|
|
|
|
// fn_0249DDAC @ 0x249ddac
|
|
void Gambit_fn_0249DDAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249DDAC: ; // 0x249ddac
|
|
/* 0249DDAC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249DDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249DDB0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249DDB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249DDB4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DDB4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249DDB4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0249DDB4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249DDB4 */ goto L_0249DDB8;
|
|
L_0249DDB8: ; // 0x249ddb8
|
|
/* 0249DDB8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0249DDB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249DDBC */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0249DDBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249DDC0 */ cpu->ctr = cpu->r[0];
|
|
/* 0249DDC4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249DDC8 @ 0x249ddc8
|
|
void Gambit_fn_0249DDC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249DDC8: ; // 0x249ddc8
|
|
/* 0249DDC8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249DDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249DDCC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249DDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249DDD0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DDD0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249DDD0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0249DDD0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249DDD0 */ goto L_0249DDD4;
|
|
L_0249DDD4: ; // 0x249ddd4
|
|
/* 0249DDD4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0249DDD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249DDD8 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0249DDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249DDDC */ cpu->ctr = cpu->r[0];
|
|
/* 0249DDE0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249DDE4 @ 0x249dde4
|
|
void Gambit_fn_0249DDE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0249DDE4: ; // 0x249dde4
|
|
/* 0249DDE4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0249DDE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249DDE8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249DDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0249DDEC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DDEC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0249DDEC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0249DDEC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249DDEC */ goto L_0249DDF0;
|
|
L_0249DDF0: ; // 0x249ddf0
|
|
/* 0249DDF0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0249DDF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0249DDF4 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0249DDF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0249DDF8 */ cpu->ctr = cpu->r[0];
|
|
/* 0249DDFC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249DE00 @ 0x249de00
|
|
void Gambit_fn_0249DE00(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249DE00: ; // 0x249de00
|
|
/* 0249DE00 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249DE00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249DE04 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0249DE04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249DE08 */ cpu->ctr = cpu->r[0];
|
|
/* 0249DE0C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249DE10 @ 0x249de10
|
|
void Gambit_fn_0249DE10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0249DE10: ; // 0x249de10
|
|
/* 0249DE10 */ cpu->r[0] = cpu->lr;
|
|
/* 0249DE14 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249DE14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249DE14 */ cpu->r[1] = _t0;
|
|
/* 0249DE18 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249DE18 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249DE1C */ cpu->r[31] = cpu->r[3];
|
|
/* 0249DE20 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249DE20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249DE24 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249DE24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249DE28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0249DE2C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DE2C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249DE2C */ if (_t5) goto L_0249DE30; else goto L_0249DE4C;
|
|
L_0249DE30: ; // 0x249de30
|
|
/* 0249DE30 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0249DE30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249DE34 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0249DE34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249DE38 */ cpu->ctr = cpu->r[0];
|
|
/* 0249DE3C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249DE40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249DE44 */ cpu->r[0] = 0x00000002u;
|
|
/* 0249DE48 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249DE48 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0249DE4C: ; // 0x249de4c
|
|
/* 0249DE4C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0249DE4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249DE50 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249DE50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249DE54 */ cpu->lr = cpu->r[0];
|
|
/* 0249DE58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249DE5C */ return;
|
|
}
|
|
|
|
// fn_0249DE14 @ 0x249de14
|
|
void Gambit_fn_0249DE14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0249DE14: ; // 0x249de14
|
|
/* 0249DE14 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0249DE14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0249DE14 */ cpu->r[1] = _t0;
|
|
/* 0249DE18 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249DE18 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0249DE1C */ cpu->r[31] = cpu->r[3];
|
|
/* 0249DE20 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0249DE20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0249DE24 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249DE24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0249DE28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0249DE2C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DE2C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0249DE2C */ if (_t5) goto L_0249DE30; else goto L_0249DE4C;
|
|
L_0249DE30: ; // 0x249de30
|
|
/* 0249DE30 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0249DE30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0249DE34 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0249DE34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249DE38 */ cpu->ctr = cpu->r[0];
|
|
/* 0249DE3C */ cpu->r[3] = cpu->r[31];
|
|
/* 0249DE40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0249DE44 */ cpu->r[0] = 0x00000002u;
|
|
/* 0249DE48 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0249DE48 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0249DE4C: ; // 0x249de4c
|
|
/* 0249DE4C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0249DE4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0249DE50 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249DE50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0249DE54 */ cpu->lr = cpu->r[0];
|
|
/* 0249DE58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0249DE5C */ return;
|
|
}
|
|
|
|
// fn_0249DE68 @ 0x249de68
|
|
void Gambit_fn_0249DE68(CPUState* cpu) {
|
|
L_0249DE68: ; // 0x249de68
|
|
/* 0249DE68 */ return;
|
|
}
|
|
|
|
// fn_0249DE6C @ 0x249de6c
|
|
void Gambit_fn_0249DE6C(CPUState* cpu) {
|
|
L_0249DE6C: ; // 0x249de6c
|
|
/* 0249DE6C */ return;
|
|
}
|
|
|
|
// fn_0249DE70 @ 0x249de70
|
|
void Gambit_fn_0249DE70(CPUState* cpu) {
|
|
L_0249DE70: ; // 0x249de70
|
|
/* 0249DE70 */ cpu->r[3] = 0x00000001u;
|
|
/* 0249DE74 */ return;
|
|
}
|
|
|
|
// fn_0249DE78 @ 0x249de78
|
|
void Gambit_fn_0249DE78(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_0249DE78: ; // 0x249de78
|
|
/* 0249DE78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0249DE7C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DE7C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0249DE7C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249DE7C */ goto L_0249DE80;
|
|
L_0249DE80: ; // 0x249de80
|
|
/* 0249DE80 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0249DE80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0249DE84 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0249DE84 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0249DE84 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0249DE84 */ goto L_0249DE88;
|
|
L_0249DE88: ; // 0x249de88
|
|
/* 0249DE88 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0249DE8C @ 0x249de8c
|
|
void Gambit_fn_0249DE8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249DE8C: ; // 0x249de8c
|
|
/* 0249DE8C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249DE8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249DE90 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 0249DE90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249DE94 */ cpu->ctr = cpu->r[0];
|
|
/* 0249DE98 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0249DE9C @ 0x249de9c
|
|
void Gambit_fn_0249DE9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0249DE9C: ; // 0x249de9c
|
|
/* 0249DE9C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0249DE9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0249DEA0 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0249DEA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0249DEA4 */ cpu->ctr = cpu->r[0];
|
|
/* 0249DEA8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|