mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-27 03:43:28 +00:00
38561 lines
2.0 MiB
Plaintext
38561 lines
2.0 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02C44354 @ 0x2c44354
|
|
void Gambit_fn_02C44354(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C44354: ; // 0x2c44354
|
|
/* 02C44354 */ _t0 = cpu->r[5] + 0x00000018u;
|
|
/* 02C44354 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C44358 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C4435C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 02C44360 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C44360 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C44360 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02C44360 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C44360 */ goto L_02C44364;
|
|
L_02C44364: ; // 0x2c44364
|
|
/* 02C44364 */ _t4 = cpu->r[5] + 0x00000014u;
|
|
/* 02C44364 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C44368 */ cpu->r[0] = cpu->r[11] - cpu->r[9];
|
|
/* 02C4436C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000480u);
|
|
/* 02C44370 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44370 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C44370 */ if (_t6) goto L_02C44374; else goto L_02C4438C;
|
|
L_02C44374: ; // 0x2c44374
|
|
/* 02C44374 */ cpu->r[8] = cpu->r[3] - cpu->r[9];
|
|
/* 02C44378 */ cpu->r[12] = cpu->r[8] / cpu->r[0];
|
|
/* 02C4437C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[0]);
|
|
/* 02C44380 */ cpu->r[10] = cpu->r[8] - cpu->r[12];
|
|
/* 02C44384 */ cpu->r[3] = cpu->r[9] + cpu->r[10];
|
|
/* 02C44388 */ return;
|
|
L_02C4438C: ; // 0x2c4438c
|
|
/* 02C4438C */ cpu->r[0] = cpu->r[3] - cpu->r[11];
|
|
/* 02C44390 */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
/* 02C44394 */ return;
|
|
}
|
|
|
|
// fn_02C4439C @ 0x2c4439c
|
|
void Gambit_fn_02C4439C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
|
|
|
|
L_02C4439C: ; // 0x2c4439c
|
|
/* 02C4439C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4439C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4439C */ cpu->r[1] = _t0;
|
|
/* 02C443A0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C443A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C443A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C443A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C443A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C443AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C443AC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C443B0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C443B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C443B4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C443B8 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C443BC */ cpu->r[3] = cpu->r[3] + 0x00000928u;
|
|
/* 02C443C0 */ rbrew_dispatch(cpu, 0x02d0ad48u);
|
|
/* 02C443C4 */ _t5 = cpu->r[30] + 0x00000024u;
|
|
/* 02C443C4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C443C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C443CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C443CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C443CC */ if (_t7) goto L_02C443D0; else goto L_02C443FC;
|
|
L_02C443D0: ; // 0x2c443d0
|
|
/* 02C443D0 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C443D4 */ cpu->r[3] = cpu->r[3] + 0x00000928u;
|
|
/* 02C443D8 */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C443DC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C443DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C443E0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C443E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C443E4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C443E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C443E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C443EC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C443EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C443F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C443F4 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C443F8 */ return;
|
|
L_02C443FC: ; // 0x2c443fc
|
|
/* 02C443FC */ _t12 = cpu->r[30] + 0x00005124u;
|
|
/* 02C443FC */ cpu->r[9] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C44400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C44404 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44404 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C44404 */ if (_t14) goto L_02C44408; else goto L_02C44434;
|
|
L_02C44408: ; // 0x2c44408
|
|
/* 02C44408 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C4440C */ cpu->r[3] = cpu->r[3] + 0x00000928u;
|
|
/* 02C44410 */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C44414 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44414 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C44418 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C44418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4441C */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4441C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C44420 */ cpu->lr = cpu->r[0];
|
|
/* 02C44424 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02C44424 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C44428 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4442C */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C44430 */ return;
|
|
L_02C44434: ; // 0x2c44434
|
|
/* 02C44434 */ _t19 = cpu->r[30] + 0x00000185u;
|
|
/* 02C44434 */ cpu->r[10] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02C44438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4443C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4443C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C4443C */ if (_t21) goto L_02C44440; else goto L_02C4446C;
|
|
L_02C44440: ; // 0x2c44440
|
|
/* 02C44440 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C44444 */ cpu->r[3] = cpu->r[3] + 0x00000928u;
|
|
/* 02C44448 */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C4444C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4444C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C44450 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C44450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C44454 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02C44454 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C44458 */ cpu->lr = cpu->r[0];
|
|
/* 02C4445C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4445C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C44460 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C44464 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C44468 */ return;
|
|
L_02C4446C: ; // 0x2c4446c
|
|
/* 02C4446C */ _t26 = cpu->r[30] + 0x000001ACu;
|
|
/* 02C4446C */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C44470 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C44474 */ cpu->r[7] = cpu->r[30] + cpu->r[11];
|
|
/* 02C44478 */ _t27 = cpu->r[7] + 0x000004C4u;
|
|
/* 02C44478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4447C */ cpu->r[10] = cpu->r[30] + 0x000004ACu;
|
|
/* 02C44480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02C44484 */ cpu->r[11] = cpu->r[30] + 0x000004A4u;
|
|
/* 02C44488 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44488 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C44488 */ if (_t29) goto L_02C4448C; else goto L_02C444AC;
|
|
L_02C4448C: ; // 0x2c4448c
|
|
/* 02C4448C */ _t30 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C4448C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C44490 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02C44494 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 02C44498 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44498 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C44498 */ if (_t32) goto L_02C444A0; else goto L_02C4449C;
|
|
L_02C4449C: ; // 0x2c4449c
|
|
/* 02C4449C */ cpu->r[6] = 0x00000000u;
|
|
L_02C444A0: ; // 0x2c444a0
|
|
/* 02C444A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C444A4 */ cpu->r[7] = cpu->r[10] + cpu->r[0];
|
|
/* 02C444A8 */ _t33 = cpu->r[7] + 0x00000018u;
|
|
/* 02C444A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
L_02C444AC: ; // 0x2c444ac
|
|
/* 02C444AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C444B0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C444B0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C444B0 */ if (_t35) goto L_02C444BC; else goto L_02C444B4;
|
|
L_02C444B4: ; // 0x2c444b4
|
|
/* 02C444B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C444B8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C444B8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C444B8 */ if (_t37) goto L_02C444BC; else goto L_02C444E8;
|
|
L_02C444BC: ; // 0x2c444bc
|
|
/* 02C444BC */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu);
|
|
/* 02C444C0 */ _t38 = cpu->r[11] + 0x00000004u;
|
|
/* 02C444C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C444C4 */ cpu->r[6] = cpu->r[30] + cpu->r[5];
|
|
/* 02C444C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C444CC */ _t39 = cpu->r[6] + 0x000059A4u;
|
|
/* 02C444CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C444D0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C444D0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C444D0 */ if (_t41) goto L_02C44500; else goto L_02C444D4;
|
|
L_02C444D4: ; // 0x2c444d4
|
|
/* 02C444D4 */ Gambit_fn_02C366E0(cpu);
|
|
/* 02C444D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C444DC */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
/* 02C444E0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C444E0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C444E0 */ if (_t43) goto L_02C44528; else goto L_02C444E4;
|
|
L_02C444E4: ; // 0x2c444e4
|
|
/* 02C444E4 */ goto L_02C44508;
|
|
L_02C444E8: ; // 0x2c444e8
|
|
/* 02C444E8 */ _t44 = cpu->r[30] + 0x000001B0u;
|
|
/* 02C444E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C444EC */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu);
|
|
/* 02C444F0 */ cpu->r[7] = cpu->r[30] + cpu->r[8];
|
|
/* 02C444F4 */ _t45 = cpu->r[7] + 0x000059A4u;
|
|
/* 02C444F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C444F4 */ cpu->r[7] = _t45;
|
|
/* 02C444F8 */ _t46 = cpu->r[7] + 0x00000004u;
|
|
/* 02C444F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C444FC */ cpu->r[31] = cpu->r[10] + cpu->r[11];
|
|
L_02C44500: ; // 0x2c44500
|
|
/* 02C44500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C44504 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44504 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C44504 */ if (_t48) goto L_02C44528; else goto L_02C44508;
|
|
L_02C44508: ; // 0x2c44508
|
|
/* 02C44508 */ _t49 = cpu->r[30] + 0x000001D0u;
|
|
/* 02C44508 */ cpu->r[12] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02C4450C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C44510 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44510 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C44510 */ if (_t51) goto L_02C44528; else goto L_02C44514;
|
|
L_02C44514: ; // 0x2c44514
|
|
/* 02C44514 */ cpu->r[5] = cpu->r[30] + 0x000001C8u;
|
|
/* 02C44518 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4451C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C44520 */ Gambit_fn_02C44354(cpu);
|
|
/* 02C44524 */ cpu->r[31] = cpu->r[3];
|
|
L_02C44528: ; // 0x2c44528
|
|
/* 02C44528 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C4452C */ cpu->r[3] = cpu->r[3] + 0x00000928u;
|
|
/* 02C44530 */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C44534 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44534 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C44538 */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C44538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C4453C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C44540 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 02C44540 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C44544 */ cpu->lr = cpu->r[0];
|
|
/* 02C44548 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02C44548 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C4454C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C44550 */ return;
|
|
}
|
|
|
|
// fn_02C44554 @ 0x2c44554
|
|
void Gambit_fn_02C44554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58;
|
|
|
|
L_02C44398: ; // 0x2c44398
|
|
/* 02C44398 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4439C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4439C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4439C */ cpu->r[1] = _t0;
|
|
/* 02C443A0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C443A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C443A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C443A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C443A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C443AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C443AC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C443B0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C443B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C443B4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C443B8 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C443BC */ cpu->r[3] = cpu->r[3] + 0x00000928u;
|
|
/* 02C443C0 */ rbrew_dispatch(cpu, 0x02d0ad48u);
|
|
/* 02C443C4 */ _t5 = cpu->r[30] + 0x00000024u;
|
|
/* 02C443C4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C443C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C443CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C443CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C443CC */ if (_t7) goto L_02C443D0; else goto L_02C443FC;
|
|
L_02C443D0: ; // 0x2c443d0
|
|
/* 02C443D0 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C443D4 */ cpu->r[3] = cpu->r[3] + 0x00000928u;
|
|
/* 02C443D8 */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C443DC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C443DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C443E0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C443E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C443E4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C443E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C443E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C443EC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C443EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C443F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C443F4 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C443F8 */ return;
|
|
L_02C443FC: ; // 0x2c443fc
|
|
/* 02C443FC */ _t12 = cpu->r[30] + 0x00005124u;
|
|
/* 02C443FC */ cpu->r[9] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C44400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C44404 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44404 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C44404 */ if (_t14) goto L_02C44408; else goto L_02C44434;
|
|
L_02C44408: ; // 0x2c44408
|
|
/* 02C44408 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C4440C */ cpu->r[3] = cpu->r[3] + 0x00000928u;
|
|
/* 02C44410 */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C44414 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44414 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C44418 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C44418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4441C */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4441C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C44420 */ cpu->lr = cpu->r[0];
|
|
/* 02C44424 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02C44424 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C44428 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4442C */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C44430 */ return;
|
|
L_02C44434: ; // 0x2c44434
|
|
/* 02C44434 */ _t19 = cpu->r[30] + 0x00000185u;
|
|
/* 02C44434 */ cpu->r[10] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02C44438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4443C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4443C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C4443C */ if (_t21) goto L_02C44440; else goto L_02C4446C;
|
|
L_02C44440: ; // 0x2c44440
|
|
/* 02C44440 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C44444 */ cpu->r[3] = cpu->r[3] + 0x00000928u;
|
|
/* 02C44448 */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C4444C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4444C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C44450 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C44450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C44454 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02C44454 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C44458 */ cpu->lr = cpu->r[0];
|
|
/* 02C4445C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4445C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C44460 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C44464 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C44468 */ return;
|
|
L_02C4446C: ; // 0x2c4446c
|
|
/* 02C4446C */ _t26 = cpu->r[30] + 0x000001ACu;
|
|
/* 02C4446C */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C44470 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C44474 */ cpu->r[7] = cpu->r[30] + cpu->r[11];
|
|
/* 02C44478 */ _t27 = cpu->r[7] + 0x000004C4u;
|
|
/* 02C44478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4447C */ cpu->r[10] = cpu->r[30] + 0x000004ACu;
|
|
/* 02C44480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02C44484 */ cpu->r[11] = cpu->r[30] + 0x000004A4u;
|
|
/* 02C44488 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44488 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C44488 */ if (_t29) goto L_02C4448C; else goto L_02C444AC;
|
|
L_02C4448C: ; // 0x2c4448c
|
|
/* 02C4448C */ _t30 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C4448C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C44490 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02C44494 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 02C44498 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44498 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C44498 */ if (_t32) goto L_02C444A0; else goto L_02C4449C;
|
|
L_02C4449C: ; // 0x2c4449c
|
|
/* 02C4449C */ cpu->r[6] = 0x00000000u;
|
|
L_02C444A0: ; // 0x2c444a0
|
|
/* 02C444A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C444A4 */ cpu->r[7] = cpu->r[10] + cpu->r[0];
|
|
/* 02C444A8 */ _t33 = cpu->r[7] + 0x00000018u;
|
|
/* 02C444A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
L_02C444AC: ; // 0x2c444ac
|
|
/* 02C444AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C444B0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C444B0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C444B0 */ if (_t35) goto L_02C444BC; else goto L_02C444B4;
|
|
L_02C444B4: ; // 0x2c444b4
|
|
/* 02C444B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C444B8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C444B8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C444B8 */ if (_t37) goto L_02C444BC; else goto L_02C444E8;
|
|
L_02C444BC: ; // 0x2c444bc
|
|
/* 02C444BC */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu);
|
|
/* 02C444C0 */ _t38 = cpu->r[11] + 0x00000004u;
|
|
/* 02C444C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C444C4 */ cpu->r[6] = cpu->r[30] + cpu->r[5];
|
|
/* 02C444C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C444CC */ _t39 = cpu->r[6] + 0x000059A4u;
|
|
/* 02C444CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C444D0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C444D0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C444D0 */ if (_t41) goto L_02C44500; else goto L_02C444D4;
|
|
L_02C444D4: ; // 0x2c444d4
|
|
/* 02C444D4 */ Gambit_fn_02C366E0(cpu);
|
|
/* 02C444D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C444DC */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
/* 02C444E0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C444E0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C444E0 */ if (_t43) goto L_02C44528; else goto L_02C444E4;
|
|
L_02C444E4: ; // 0x2c444e4
|
|
/* 02C444E4 */ goto L_02C44508;
|
|
L_02C444E8: ; // 0x2c444e8
|
|
/* 02C444E8 */ _t44 = cpu->r[30] + 0x000001B0u;
|
|
/* 02C444E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C444EC */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu);
|
|
/* 02C444F0 */ cpu->r[7] = cpu->r[30] + cpu->r[8];
|
|
/* 02C444F4 */ _t45 = cpu->r[7] + 0x000059A4u;
|
|
/* 02C444F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C444F4 */ cpu->r[7] = _t45;
|
|
/* 02C444F8 */ _t46 = cpu->r[7] + 0x00000004u;
|
|
/* 02C444F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C444FC */ cpu->r[31] = cpu->r[10] + cpu->r[11];
|
|
L_02C44500: ; // 0x2c44500
|
|
/* 02C44500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C44504 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44504 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C44504 */ if (_t48) goto L_02C44528; else goto L_02C44508;
|
|
L_02C44508: ; // 0x2c44508
|
|
/* 02C44508 */ _t49 = cpu->r[30] + 0x000001D0u;
|
|
/* 02C44508 */ cpu->r[12] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02C4450C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C44510 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44510 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C44510 */ if (_t51) goto L_02C44528; else goto L_02C44514;
|
|
L_02C44514: ; // 0x2c44514
|
|
/* 02C44514 */ cpu->r[5] = cpu->r[30] + 0x000001C8u;
|
|
/* 02C44518 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4451C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C44520 */ Gambit_fn_02C44354(cpu);
|
|
/* 02C44524 */ cpu->r[31] = cpu->r[3];
|
|
L_02C44528: ; // 0x2c44528
|
|
/* 02C44528 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C4452C */ cpu->r[3] = cpu->r[3] + 0x00000928u;
|
|
/* 02C44530 */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C44534 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44534 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C44538 */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C44538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C4453C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C44540 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 02C44540 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C44544 */ cpu->lr = cpu->r[0];
|
|
/* 02C44548 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02C44548 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C4454C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C44550 */ return;
|
|
L_02C44554: ; // 0x2c44554
|
|
/* 02C44554 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C44558 */ _t56 = cpu->r[12] + 0x000000ECu;
|
|
/* 02C44558 */ cpu->r[0] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02C4455C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C44560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C44564 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44564 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C44564 */ if (_t58) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C44564 */ goto L_02C44568;
|
|
L_02C44568: ; // 0x2c44568
|
|
/* 02C44568 */ cpu->r[3] = cpu->r[12] + 0x00000338u;
|
|
/* 02C4456C */ goto L_02C44398;
|
|
}
|
|
|
|
// fn_02C44570 @ 0x2c44570
|
|
void Gambit_fn_02C44570(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C44570: ; // 0x2c44570
|
|
/* 02C44570 */ _t0 = cpu->r[3] + 0x0000029Cu;
|
|
/* 02C44570 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C44574 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C44578 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 02C4457C */ return;
|
|
}
|
|
|
|
// fn_02C44580 @ 0x2c44580
|
|
void Gambit_fn_02C44580(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C3E380: ; // 0x2c3e380
|
|
/* 02C3E380 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C3E380 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C3E384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C3E388 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3E388 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C3E388 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C3E388 */ goto L_02C3E38C;
|
|
L_02C3E38C: ; // 0x2c3e38c
|
|
/* 02C3E38C */ _t3 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C3E38C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C3E390 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
|
|
/* 02C3E394 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C3E398 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3E398 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C3E398 */ if (_t5) goto L_02C3E39C; else goto L_02C3E3A0;
|
|
L_02C3E39C: ; // 0x2c3e39c
|
|
/* 02C3E39C */ _t6 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C3E39C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02C3E3A0: ; // 0x2c3e3a0
|
|
/* 02C3E3A0 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C3E3A0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C3E3A4 */ return;
|
|
L_02C44580: ; // 0x2c44580
|
|
/* 02C44580 */ _t8 = cpu->r[3] + 0x0000029Cu;
|
|
/* 02C44580 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C44584 */ goto L_02C3E380;
|
|
}
|
|
|
|
// fn_02C44588 @ 0x2c44588
|
|
void Gambit_fn_02C44588(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C44588: ; // 0x2c44588
|
|
/* 02C44588 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4458C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4458C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C44590 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C44590 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C44590 */ cpu->r[1] = _t1;
|
|
/* 02C44594 */ Gambit_fn_02C41AE4(cpu);
|
|
/* 02C44598 */ cpu->r[10] = 0x00000008u;
|
|
/* 02C4459C */ _t2 = cpu->r[3] + 0x00000324u;
|
|
/* 02C4459C */ cpu->r[8] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C445A0 */ cpu->ctr = cpu->r[10];
|
|
/* 02C445A4 */ cpu->r[12] = 0x00000000u;
|
|
L_02C445A8: ; // 0x2c445a8
|
|
/* 02C445A8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C445A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C445AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C445AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C445AC */ if (_t4) goto L_02C445D0; else goto L_02C445B0;
|
|
L_02C445B0: ; // 0x2c445b0
|
|
/* 02C445B0 */ cpu->r[10] = cpu->r[3] + cpu->r[12];
|
|
/* 02C445B4 */ _t5 = cpu->r[10] + 0x000002B0u;
|
|
/* 02C445B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C445B8 */ _t6 = cpu->r[10] + 0x000002ACu;
|
|
/* 02C445B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C445BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[11]);
|
|
/* 02C445C0 */ cpu->r[10] = cpu->r[10] + 0x000002A4u;
|
|
/* 02C445C4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C445C4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C445C4 */ if (_t8) goto L_02C445C8; else goto L_02C445D0;
|
|
L_02C445C8: ; // 0x2c445c8
|
|
/* 02C445C8 */ cpu->r[0] = cpu->r[7] + 0x00000001u;
|
|
/* 02C445CC */ _t9 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C445CC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02C445D0: ; // 0x2c445d0
|
|
/* 02C445D0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C445D4 */ cpu->r[12] = cpu->r[12] + 0x00000010u;
|
|
/* 02C445D8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C445D8 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C445D8 */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02C445D8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C445D8 */ if (_t12) goto L_02C445A8; else goto L_02C445DC;
|
|
L_02C445DC: ; // 0x2c445dc
|
|
/* 02C445DC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C445DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C445E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C445E4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C445E8 */ return;
|
|
}
|
|
|
|
// fn_02C44590 @ 0x2c44590
|
|
void Gambit_fn_02C44590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C44590: ; // 0x2c44590
|
|
/* 02C44590 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C44590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C44590 */ cpu->r[1] = _t0;
|
|
/* 02C44594 */ Gambit_fn_02C41AE4(cpu);
|
|
/* 02C44598 */ cpu->r[10] = 0x00000008u;
|
|
/* 02C4459C */ _t1 = cpu->r[3] + 0x00000324u;
|
|
/* 02C4459C */ cpu->r[8] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C445A0 */ cpu->ctr = cpu->r[10];
|
|
/* 02C445A4 */ cpu->r[12] = 0x00000000u;
|
|
L_02C445A8: ; // 0x2c445a8
|
|
/* 02C445A8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C445A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C445AC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C445AC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C445AC */ if (_t3) goto L_02C445D0; else goto L_02C445B0;
|
|
L_02C445B0: ; // 0x2c445b0
|
|
/* 02C445B0 */ cpu->r[10] = cpu->r[3] + cpu->r[12];
|
|
/* 02C445B4 */ _t4 = cpu->r[10] + 0x000002B0u;
|
|
/* 02C445B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C445B8 */ _t5 = cpu->r[10] + 0x000002ACu;
|
|
/* 02C445B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C445BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[11]);
|
|
/* 02C445C0 */ cpu->r[10] = cpu->r[10] + 0x000002A4u;
|
|
/* 02C445C4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C445C4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C445C4 */ if (_t7) goto L_02C445C8; else goto L_02C445D0;
|
|
L_02C445C8: ; // 0x2c445c8
|
|
/* 02C445C8 */ cpu->r[0] = cpu->r[7] + 0x00000001u;
|
|
/* 02C445CC */ _t8 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C445CC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02C445D0: ; // 0x2c445d0
|
|
/* 02C445D0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C445D4 */ cpu->r[12] = cpu->r[12] + 0x00000010u;
|
|
/* 02C445D8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C445D8 */ _t9 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C445D8 */ _t10 = _t9 >> (0x00000002u & 31u);
|
|
/* 02C445D8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C445D8 */ if (_t11) goto L_02C445A8; else goto L_02C445DC;
|
|
L_02C445DC: ; // 0x2c445dc
|
|
/* 02C445DC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C445DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C445E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C445E4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C445E8 */ return;
|
|
}
|
|
|
|
// fn_02C445EC @ 0x2c445ec
|
|
void Gambit_fn_02C445EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30;
|
|
|
|
L_02C445EC: ; // 0x2c445ec
|
|
/* 02C445EC */ cpu->r[0] = cpu->lr;
|
|
/* 02C445F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C445F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C445F0 */ cpu->r[1] = _t0;
|
|
/* 02C445F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C445F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C445F8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C445F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C445FC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C445FC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C44600 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C44604 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C44604 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C44608 */ _t5 = cpu->r[31] + 0x00000040u;
|
|
/* 02C44608 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4460C */ _t6 = cpu->r[31] + 0x000000EEu;
|
|
/* 02C4460C */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C44610 */ cpu->r[0] = cpu->r[10] + cpu->r[11];
|
|
/* 02C44614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000007Fu);
|
|
/* 02C44618 */ cpu->r[29] = 0x0000007Fu;
|
|
/* 02C4461C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4461C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4461C */ if (_t8) goto L_02C44630; else goto L_02C44620;
|
|
L_02C44620: ; // 0x2c44620
|
|
/* 02C44620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C44624 */ cpu->r[29] = cpu->r[0];
|
|
/* 02C44628 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44628 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C44628 */ if (_t10) goto L_02C4462C; else goto L_02C44630;
|
|
L_02C4462C: ; // 0x2c4462c
|
|
/* 02C4462C */ cpu->r[29] = 0x00000000u;
|
|
L_02C44630: ; // 0x2c44630
|
|
/* 02C44630 */ _t11 = cpu->r[31] + 0x000002A0u;
|
|
/* 02C44630 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C44634 */ cpu->r[4] = cpu->r[31] + 0x00000278u;
|
|
/* 02C44638 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02C4463C */ Gambit_fn_028541D4(cpu);
|
|
/* 02C44640 */ _t12 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C44640 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C44644 */ cpu->r[5] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C44648 */ cpu->r[0] = cpu->r[4] ^ cpu->r[5];
|
|
/* 02C4464C */ cpu->r[6] = rbrew_clz32(cpu->r[0]);
|
|
/* 02C44650 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C44654 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02C44658 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C44658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4465C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4465C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4465C */ if (_t14) goto L_02C446AC; else goto L_02C44660;
|
|
L_02C44660: ; // 0x2c44660
|
|
/* 02C44660 */ _t15 = cpu->r[4] + 0xFFFFFE76u;
|
|
/* 02C44660 */ cpu->r[8] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02C44664 */ _t16 = cpu->r[4] + 0xFFFFFDC8u;
|
|
/* 02C44664 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C44668 */ cpu->r[6] = cpu->r[8] + cpu->r[9];
|
|
/* 02C4466C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x0000007Fu);
|
|
/* 02C44670 */ cpu->r[7] = 0x0000007Fu;
|
|
/* 02C44674 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C44674 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C44674 */ if (_t18) goto L_02C44688; else goto L_02C44678;
|
|
L_02C44678: ; // 0x2c44678
|
|
/* 02C44678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4467C */ cpu->r[7] = cpu->r[6];
|
|
/* 02C44680 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44680 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C44680 */ if (_t20) goto L_02C44684; else goto L_02C44688;
|
|
L_02C44684: ; // 0x2c44684
|
|
/* 02C44684 */ cpu->r[7] = 0x00000000u;
|
|
L_02C44688: ; // 0x2c44688
|
|
/* 02C44688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 02C4468C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4468C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C4468C */ if (_t22) goto L_02C446AC; else goto L_02C44690;
|
|
L_02C44690: ; // 0x2c44690
|
|
/* 02C44690 */ _t23 = cpu->r[4] + 0x00000000u;
|
|
/* 02C44690 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C44694 */ cpu->r[11] = cpu->r[4] ^ cpu->r[5];
|
|
/* 02C44698 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 02C4469C */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C446A0 */ cpu->r[12] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02C446A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C446A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C446A8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C446A8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C446A8 */ if (_t25) goto L_02C446AC; else goto L_02C44660;
|
|
L_02C446AC: ; // 0x2c446ac
|
|
/* 02C446AC */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C446AC */ rbrew_write32(cpu->mem, _t26, cpu->r[4]);
|
|
/* 02C446B0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C446B4 */ cpu->r[5] = cpu->r[31] + 0x00000278u;
|
|
/* 02C446B8 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02C446BC */ Gambit_fn_028541A8(cpu);
|
|
/* 02C446C0 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C446C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C446C4 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C446C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C446C8 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02C446C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C446CC */ cpu->lr = cpu->r[0];
|
|
/* 02C446D0 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C446D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C446D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C446D8 */ return;
|
|
}
|
|
|
|
// fn_02C445F0 @ 0x2c445f0
|
|
void Gambit_fn_02C445F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30;
|
|
|
|
L_02C445F0: ; // 0x2c445f0
|
|
/* 02C445F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C445F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C445F0 */ cpu->r[1] = _t0;
|
|
/* 02C445F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C445F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C445F8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C445F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C445FC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C445FC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C44600 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C44604 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C44604 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C44608 */ _t5 = cpu->r[31] + 0x00000040u;
|
|
/* 02C44608 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4460C */ _t6 = cpu->r[31] + 0x000000EEu;
|
|
/* 02C4460C */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C44610 */ cpu->r[0] = cpu->r[10] + cpu->r[11];
|
|
/* 02C44614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000007Fu);
|
|
/* 02C44618 */ cpu->r[29] = 0x0000007Fu;
|
|
/* 02C4461C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4461C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4461C */ if (_t8) goto L_02C44630; else goto L_02C44620;
|
|
L_02C44620: ; // 0x2c44620
|
|
/* 02C44620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C44624 */ cpu->r[29] = cpu->r[0];
|
|
/* 02C44628 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44628 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C44628 */ if (_t10) goto L_02C4462C; else goto L_02C44630;
|
|
L_02C4462C: ; // 0x2c4462c
|
|
/* 02C4462C */ cpu->r[29] = 0x00000000u;
|
|
L_02C44630: ; // 0x2c44630
|
|
/* 02C44630 */ _t11 = cpu->r[31] + 0x000002A0u;
|
|
/* 02C44630 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C44634 */ cpu->r[4] = cpu->r[31] + 0x00000278u;
|
|
/* 02C44638 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02C4463C */ Gambit_fn_028541D4(cpu);
|
|
/* 02C44640 */ _t12 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C44640 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C44644 */ cpu->r[5] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C44648 */ cpu->r[0] = cpu->r[4] ^ cpu->r[5];
|
|
/* 02C4464C */ cpu->r[6] = rbrew_clz32(cpu->r[0]);
|
|
/* 02C44650 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C44654 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02C44658 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C44658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4465C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4465C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4465C */ if (_t14) goto L_02C446AC; else goto L_02C44660;
|
|
L_02C44660: ; // 0x2c44660
|
|
/* 02C44660 */ _t15 = cpu->r[4] + 0xFFFFFE76u;
|
|
/* 02C44660 */ cpu->r[8] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02C44664 */ _t16 = cpu->r[4] + 0xFFFFFDC8u;
|
|
/* 02C44664 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C44668 */ cpu->r[6] = cpu->r[8] + cpu->r[9];
|
|
/* 02C4466C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x0000007Fu);
|
|
/* 02C44670 */ cpu->r[7] = 0x0000007Fu;
|
|
/* 02C44674 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C44674 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C44674 */ if (_t18) goto L_02C44688; else goto L_02C44678;
|
|
L_02C44678: ; // 0x2c44678
|
|
/* 02C44678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4467C */ cpu->r[7] = cpu->r[6];
|
|
/* 02C44680 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44680 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C44680 */ if (_t20) goto L_02C44684; else goto L_02C44688;
|
|
L_02C44684: ; // 0x2c44684
|
|
/* 02C44684 */ cpu->r[7] = 0x00000000u;
|
|
L_02C44688: ; // 0x2c44688
|
|
/* 02C44688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 02C4468C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4468C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C4468C */ if (_t22) goto L_02C446AC; else goto L_02C44690;
|
|
L_02C44690: ; // 0x2c44690
|
|
/* 02C44690 */ _t23 = cpu->r[4] + 0x00000000u;
|
|
/* 02C44690 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C44694 */ cpu->r[11] = cpu->r[4] ^ cpu->r[5];
|
|
/* 02C44698 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 02C4469C */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C446A0 */ cpu->r[12] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02C446A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C446A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C446A8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C446A8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C446A8 */ if (_t25) goto L_02C446AC; else goto L_02C44660;
|
|
L_02C446AC: ; // 0x2c446ac
|
|
/* 02C446AC */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C446AC */ rbrew_write32(cpu->mem, _t26, cpu->r[4]);
|
|
/* 02C446B0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C446B4 */ cpu->r[5] = cpu->r[31] + 0x00000278u;
|
|
/* 02C446B8 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02C446BC */ Gambit_fn_028541A8(cpu);
|
|
/* 02C446C0 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C446C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C446C4 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C446C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C446C8 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02C446C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C446CC */ cpu->lr = cpu->r[0];
|
|
/* 02C446D0 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C446D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C446D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C446D8 */ return;
|
|
}
|
|
|
|
// fn_02C446DC @ 0x2c446dc
|
|
void Gambit_fn_02C446DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C446DC: ; // 0x2c446dc
|
|
/* 02C446DC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C446DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C446DC */ cpu->r[1] = _t0;
|
|
/* 02C446E0 */ /* nop */
|
|
/* 02C446E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C446E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C446EC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C446EC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C446F0 */ Gambit_fn_02C1E8B8(cpu);
|
|
/* 02C446F4 */ cpu->r[24] = cpu->r[3];
|
|
/* 02C446F8 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C446FC */ cpu->r[28] = cpu->r[26];
|
|
/* 02C44700 */ cpu->r[27] = 0x00000008u;
|
|
/* 02C44704 */ cpu->r[30] = 0x00000039u;
|
|
/* 02C44708 */ _t2 = cpu->r[31] + 0x00000324u;
|
|
/* 02C44708 */ cpu->r[25] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C4470C */ cpu->r[29] = 0x00000001u;
|
|
L_02C44710: ; // 0x2c44710
|
|
/* 02C44710 */ cpu->r[12] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C44710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C44714 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44714 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C44714 */ if (_t4) goto L_02C447B0; else goto L_02C44718;
|
|
L_02C44718: ; // 0x2c44718
|
|
/* 02C44718 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C4471C */ cpu->r[4] = 0x00000024u;
|
|
/* 02C44720 */ Gambit_fn_02C1EA54(cpu);
|
|
/* 02C44724 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C44728 */ cpu->r[0] = cpu->r[31] + 0x00000338u;
|
|
/* 02C4472C */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02C4472C */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02C44730 */ /* nop */
|
|
/* 02C44734 */ _t6 = cpu->r[4] + 0x00000010u;
|
|
/* 02C44734 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C44738 */ cpu->r[9] = cpu->r[31] + cpu->r[28];
|
|
/* 02C4473C */ _t7 = cpu->r[4] + 0x00000014u;
|
|
/* 02C4473C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C44740 */ _t8 = cpu->r[9] + 0x000002ACu;
|
|
/* 02C44740 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C44744 */ _t9 = cpu->r[9] + 0x000002B0u;
|
|
/* 02C44744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C44748 */ _t10 = cpu->r[9] + 0x000002A8u;
|
|
/* 02C44748 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C4474C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]);
|
|
/* 02C44750 */ cpu->r[9] = cpu->r[9] + 0x000002A4u;
|
|
/* 02C44754 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44754 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C44754 */ if (_t12) goto L_02C44758; else goto L_02C447A4;
|
|
L_02C44758: ; // 0x2c44758
|
|
/* 02C44758 */ cpu->r[5] = 0x43300000u;
|
|
/* 02C4475C */ cpu->r[6] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C44760 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44760 */ rbrew_write32(cpu->mem, _t13, cpu->r[5]);
|
|
/* 02C44764 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C44768 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44768 */ rbrew_write32(cpu->mem, _t14, cpu->r[6]);
|
|
/* 02C4476C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4476C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02C44770 */ _t16 = cpu->r[7] + 0xFFFFCFA8u;
|
|
/* 02C44770 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C44774 */ cpu->r[0] = cpu->r[10] ^ 0x80000000u;
|
|
/* 02C44778 */ _t17 = cpu->r[9] + 0x00000000u;
|
|
/* 02C44778 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C4477C */ cpu->f[12] = cpu->f[11] - cpu->f[10];
|
|
/* 02C44780 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44780 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02C44784 */ cpu->f[7] = cpu->f[0] - cpu->f[8];
|
|
/* 02C44788 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44788 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 02C4478C */ cpu->f[11] = (double)(float)cpu->f[12];
|
|
/* 02C44790 */ cpu->f[10] = cpu->f[13] - cpu->f[10];
|
|
/* 02C44794 */ cpu->f[13] = cpu->f[7] * cpu->f[11];
|
|
/* 02C44798 */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 02C4479C */ cpu->f[12] = cpu->f[13] / cpu->f[0];
|
|
/* 02C447A0 */ cpu->f[0] = cpu->f[8] + cpu->f[12];
|
|
L_02C447A4: ; // 0x2c447a4
|
|
/* 02C447A4 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C447A8 */ _t20 = cpu->r[4] + 0x00000018u;
|
|
/* 02C447A8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02C447AC */ Gambit_fn_02C1EB5C(cpu);
|
|
L_02C447B0: ; // 0x2c447b0
|
|
/* 02C447B0 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C447B4 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C447B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C447B8 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C447BC */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02C447C0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C447C0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C447C0 */ if (_t22) goto L_02C447C4; else goto L_02C44710;
|
|
L_02C447C4: ; // 0x2c447c4
|
|
/* 02C447C4 */ /* nop */
|
|
/* 02C447C8 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02C447C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C447CC */ cpu->lr = cpu->r[0];
|
|
/* 02C447D0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C447D4 */ return;
|
|
}
|
|
|
|
// fn_02C447D8 @ 0x2c447d8
|
|
void Gambit_fn_02C447D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C447D8: ; // 0x2c447d8
|
|
/* 02C447D8 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C447DC */ _t0 = cpu->r[12] + 0x00000000u;
|
|
/* 02C447DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C447E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C447E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02C447E8 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C447E8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C447E8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02C447E8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C447E8 */ goto L_02C447EC;
|
|
L_02C447EC: ; // 0x2c447ec
|
|
/* 02C447EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C447F0 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02C447F4 */ _t4 = cpu->r[11] + 0x00000008u;
|
|
/* 02C447F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C447F8 */ cpu->r[3] = cpu->r[12] + cpu->r[11];
|
|
/* 02C447FC */ return;
|
|
}
|
|
|
|
// fn_02C44804 @ 0x2c44804
|
|
void Gambit_fn_02C44804(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C44804: ; // 0x2c44804
|
|
/* 02C44804 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C44804 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C44804 */ cpu->r[1] = _t0;
|
|
/* 02C44808 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44808 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4480C */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C44810 */ cpu->r[12] = cpu->r[10];
|
|
/* 02C44814 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C44818 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44818 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4481C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4481C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_02C44820: ; // 0x2c44820
|
|
/* 02C44820 */ _t4 = cpu->r[12] + 0x00000001u;
|
|
/* 02C44820 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C44820 */ cpu->r[12] = _t4;
|
|
/* 02C44824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C44828 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44828 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C44828 */ if (_t6) goto L_02C4482C; else goto L_02C44820;
|
|
L_02C4482C: ; // 0x2c4482c
|
|
/* 02C4482C */ cpu->r[30] = cpu->r[12] - cpu->r[4];
|
|
/* 02C4482C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C44830 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C44834 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44834 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C44834 */ if (_t8) goto L_02C44838; else goto L_02C44878;
|
|
L_02C44838: ; // 0x2c44838
|
|
/* 02C44838 */ _t9 = cpu->r[8] + 0x00000000u;
|
|
/* 02C44838 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4483C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C44840 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C44840 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C44840 */ if (_t11) goto L_02C44844; else goto L_02C448FC;
|
|
L_02C44844: ; // 0x2c44844
|
|
/* 02C44844 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C44848 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4484C */ Gambit_fn_02C447D8(cpu);
|
|
/* 02C44850 */ cpu->r[31] = cpu->r[3];
|
|
L_02C44854: ; // 0x2c44854
|
|
/* 02C44854 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 02C44854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C44858 */ _t13 = cpu->r[5] + 0x00000000u;
|
|
/* 02C44858 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02C4485C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4485C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C44860 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C44864 */ cpu->lr = cpu->r[0];
|
|
/* 02C44868 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4486C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C44870 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C44874 */ return;
|
|
L_02C44878: ; // 0x2c44878
|
|
/* 02C44878 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02C44878 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4487C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]);
|
|
/* 02C44880 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44880 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C44880 */ if (_t19) goto L_02C44884; else goto L_02C448FC;
|
|
L_02C44884: ; // 0x2c44884
|
|
/* 02C44884 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C44888 */ Gambit_fn_02C447D8(cpu);
|
|
/* 02C4488C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C44890 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C44894 */ cpu->r[0] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C44894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C44898 */ cpu->r[11] = cpu->r[31] + 0x0000000Bu;
|
|
/* 02C4489C */ _t20 = cpu->r[3] + 0x00000001u;
|
|
/* 02C4489C */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C4489C */ cpu->r[3] = _t20;
|
|
/* 02C448A0 */ cpu->r[9] = cpu->r[30];
|
|
/* 02C448A4 */ _t21 = cpu->r[11] + 0x00000001u;
|
|
/* 02C448A4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C448A4 */ cpu->r[11] = _t21;
|
|
/* 02C448A8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C448A8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C448A8 */ if (_t23) goto L_02C448AC; else goto L_02C448B0;
|
|
L_02C448AC: ; // 0x2c448ac
|
|
/* 02C448AC */ cpu->r[9] = 0x00000001u;
|
|
L_02C448B0: ; // 0x2c448b0
|
|
/* 02C448B0 */ cpu->r[6] = cpu->r[0] - cpu->r[12];
|
|
/* 02C448B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C448B4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C448B4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C448B4 */ if (_t25) goto L_02C448B8; else goto L_02C448F0;
|
|
L_02C448B8: ; // 0x2c448b8
|
|
/* 02C448B8 */ goto L_02C448DC;
|
|
L_02C448BC: ; // 0x2c448bc
|
|
/* 02C448BC */ _t26 = cpu->r[3] + 0x00000001u;
|
|
/* 02C448BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C448BC */ cpu->r[3] = _t26;
|
|
/* 02C448C0 */ _t27 = cpu->r[11] + 0x00000001u;
|
|
/* 02C448C0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02C448C0 */ cpu->r[11] = _t27;
|
|
/* 02C448C4 */ cpu->r[6] = cpu->r[0] - cpu->r[12];
|
|
/* 02C448C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C448C8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C448C8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C448C8 */ if (_t29) goto L_02C448DC; else goto L_02C448CC;
|
|
L_02C448CC: ; // 0x2c448cc
|
|
/* 02C448CC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C448D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]);
|
|
/* 02C448D4 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C448D4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C448D4 */ if (_t31) goto L_02C44884; else goto L_02C448D8;
|
|
L_02C448D8: ; // 0x2c448d8
|
|
/* 02C448D8 */ goto L_02C448FC;
|
|
L_02C448DC: ; // 0x2c448dc
|
|
/* 02C448DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C448E0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C448E0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C448E0 */ if (_t33) goto L_02C44854; else goto L_02C448E4;
|
|
L_02C448E4: ; // 0x2c448e4
|
|
/* 02C448E4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C448E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C448E8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C448E8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C448E8 */ if (_t35) goto L_02C448EC; else goto L_02C448BC;
|
|
L_02C448EC: ; // 0x2c448ec
|
|
/* 02C448EC */ goto L_02C44854;
|
|
L_02C448F0: ; // 0x2c448f0
|
|
/* 02C448F0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C448F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]);
|
|
/* 02C448F8 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C448F8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C448F8 */ if (_t37) goto L_02C44884; else goto L_02C448FC;
|
|
L_02C448FC: ; // 0x2c448fc
|
|
/* 02C448FC */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02C448FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C44900 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44900 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C44904 */ cpu->lr = cpu->r[0];
|
|
/* 02C44908 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44908 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C4490C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C44910 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C44914 */ return;
|
|
}
|
|
|
|
// fn_02C44918 @ 0x2c44918
|
|
void Gambit_fn_02C44918(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_02C44800: ; // 0x2c44800
|
|
/* 02C44800 */ cpu->r[0] = cpu->lr;
|
|
/* 02C44804 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C44804 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C44804 */ cpu->r[1] = _t0;
|
|
/* 02C44808 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44808 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4480C */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C44810 */ cpu->r[12] = cpu->r[10];
|
|
/* 02C44814 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C44818 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44818 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4481C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4481C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_02C44820: ; // 0x2c44820
|
|
/* 02C44820 */ _t4 = cpu->r[12] + 0x00000001u;
|
|
/* 02C44820 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C44820 */ cpu->r[12] = _t4;
|
|
/* 02C44824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C44828 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44828 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C44828 */ if (_t6) goto L_02C4482C; else goto L_02C44820;
|
|
L_02C4482C: ; // 0x2c4482c
|
|
/* 02C4482C */ cpu->r[30] = cpu->r[12] - cpu->r[4];
|
|
/* 02C4482C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C44830 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C44834 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44834 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C44834 */ if (_t8) goto L_02C44838; else goto L_02C44878;
|
|
L_02C44838: ; // 0x2c44838
|
|
/* 02C44838 */ _t9 = cpu->r[8] + 0x00000000u;
|
|
/* 02C44838 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4483C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C44840 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C44840 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C44840 */ if (_t11) goto L_02C44844; else goto L_02C448FC;
|
|
L_02C44844: ; // 0x2c44844
|
|
/* 02C44844 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C44848 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4484C */ Gambit_fn_02C447D8(cpu);
|
|
/* 02C44850 */ cpu->r[31] = cpu->r[3];
|
|
L_02C44854: ; // 0x2c44854
|
|
/* 02C44854 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 02C44854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C44858 */ _t13 = cpu->r[5] + 0x00000000u;
|
|
/* 02C44858 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02C4485C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4485C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C44860 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C44864 */ cpu->lr = cpu->r[0];
|
|
/* 02C44868 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4486C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C44870 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C44874 */ return;
|
|
L_02C44878: ; // 0x2c44878
|
|
/* 02C44878 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02C44878 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4487C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]);
|
|
/* 02C44880 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44880 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C44880 */ if (_t19) goto L_02C44884; else goto L_02C448FC;
|
|
L_02C44884: ; // 0x2c44884
|
|
/* 02C44884 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C44888 */ Gambit_fn_02C447D8(cpu);
|
|
/* 02C4488C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C44890 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C44894 */ cpu->r[0] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C44894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C44898 */ cpu->r[11] = cpu->r[31] + 0x0000000Bu;
|
|
/* 02C4489C */ _t20 = cpu->r[3] + 0x00000001u;
|
|
/* 02C4489C */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C4489C */ cpu->r[3] = _t20;
|
|
/* 02C448A0 */ cpu->r[9] = cpu->r[30];
|
|
/* 02C448A4 */ _t21 = cpu->r[11] + 0x00000001u;
|
|
/* 02C448A4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C448A4 */ cpu->r[11] = _t21;
|
|
/* 02C448A8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C448A8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C448A8 */ if (_t23) goto L_02C448AC; else goto L_02C448B0;
|
|
L_02C448AC: ; // 0x2c448ac
|
|
/* 02C448AC */ cpu->r[9] = 0x00000001u;
|
|
L_02C448B0: ; // 0x2c448b0
|
|
/* 02C448B0 */ cpu->r[6] = cpu->r[0] - cpu->r[12];
|
|
/* 02C448B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C448B4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C448B4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C448B4 */ if (_t25) goto L_02C448B8; else goto L_02C448F0;
|
|
L_02C448B8: ; // 0x2c448b8
|
|
/* 02C448B8 */ goto L_02C448DC;
|
|
L_02C448BC: ; // 0x2c448bc
|
|
/* 02C448BC */ _t26 = cpu->r[3] + 0x00000001u;
|
|
/* 02C448BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C448BC */ cpu->r[3] = _t26;
|
|
/* 02C448C0 */ _t27 = cpu->r[11] + 0x00000001u;
|
|
/* 02C448C0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02C448C0 */ cpu->r[11] = _t27;
|
|
/* 02C448C4 */ cpu->r[6] = cpu->r[0] - cpu->r[12];
|
|
/* 02C448C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C448C8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C448C8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C448C8 */ if (_t29) goto L_02C448DC; else goto L_02C448CC;
|
|
L_02C448CC: ; // 0x2c448cc
|
|
/* 02C448CC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C448D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]);
|
|
/* 02C448D4 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C448D4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C448D4 */ if (_t31) goto L_02C44884; else goto L_02C448D8;
|
|
L_02C448D8: ; // 0x2c448d8
|
|
/* 02C448D8 */ goto L_02C448FC;
|
|
L_02C448DC: ; // 0x2c448dc
|
|
/* 02C448DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C448E0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C448E0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C448E0 */ if (_t33) goto L_02C44854; else goto L_02C448E4;
|
|
L_02C448E4: ; // 0x2c448e4
|
|
/* 02C448E4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C448E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C448E8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C448E8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C448E8 */ if (_t35) goto L_02C448EC; else goto L_02C448BC;
|
|
L_02C448EC: ; // 0x2c448ec
|
|
/* 02C448EC */ goto L_02C44854;
|
|
L_02C448F0: ; // 0x2c448f0
|
|
/* 02C448F0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C448F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[7]);
|
|
/* 02C448F8 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C448F8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C448F8 */ if (_t37) goto L_02C44884; else goto L_02C448FC;
|
|
L_02C448FC: ; // 0x2c448fc
|
|
/* 02C448FC */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02C448FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C44900 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44900 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C44904 */ cpu->lr = cpu->r[0];
|
|
/* 02C44908 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44908 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C4490C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C44910 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C44914 */ return;
|
|
L_02C44918: ; // 0x2c44918
|
|
/* 02C44918 */ _t41 = cpu->r[3] + 0x00000008u;
|
|
/* 02C44918 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C4491C */ goto L_02C44800;
|
|
}
|
|
|
|
// fn_02C44920 @ 0x2c44920
|
|
void Gambit_fn_02C44920(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C44920: ; // 0x2c44920
|
|
/* 02C44920 */ cpu->r[0] = cpu->lr;
|
|
/* 02C44924 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C44924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C44924 */ cpu->r[1] = _t0;
|
|
/* 02C44928 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44928 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4492C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C44930 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C44930 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C44934 */ Gambit_fn_02C3CF54(cpu);
|
|
/* 02C44938 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4493C */ Gambit_fn_02C3D140(cpu);
|
|
/* 02C44940 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C44940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C44944 */ cpu->lr = cpu->r[0];
|
|
/* 02C44948 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44948 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4494C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C44950 */ return;
|
|
}
|
|
|
|
// fn_02C44924 @ 0x2c44924
|
|
void Gambit_fn_02C44924(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C44924: ; // 0x2c44924
|
|
/* 02C44924 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C44924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C44924 */ cpu->r[1] = _t0;
|
|
/* 02C44928 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44928 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4492C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C44930 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C44930 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C44934 */ Gambit_fn_02C3CF54(cpu);
|
|
/* 02C44938 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4493C */ Gambit_fn_02C3D140(cpu);
|
|
/* 02C44940 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C44940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C44944 */ cpu->lr = cpu->r[0];
|
|
/* 02C44948 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44948 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4494C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C44950 */ return;
|
|
}
|
|
|
|
// fn_02C44954 @ 0x2c44954
|
|
void Gambit_fn_02C44954(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C44954: ; // 0x2c44954
|
|
/* 02C44954 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C44954 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C44954 */ cpu->r[1] = _t0;
|
|
/* 02C44958 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4495C */ _t1 = cpu->r[3] + 0x000001F0u;
|
|
/* 02C4495C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C44960 */ _t2 = cpu->r[12] + 0xFFFFCFB4u;
|
|
/* 02C44960 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C44964 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[1]);
|
|
/* 02C44968 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44968 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C44968 */ if (_t4) goto L_02C449C0; else goto L_02C4496C;
|
|
L_02C4496C: ; // 0x2c4496c
|
|
/* 02C4496C */ _t5 = cpu->r[3] + 0x000001F4u;
|
|
/* 02C4496C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C44970 */ _t6 = cpu->r[3] + 0x000001F8u;
|
|
/* 02C44970 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C44974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[8]);
|
|
/* 02C44978 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44978 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C44978 */ if (_t8) goto L_02C4497C; else goto L_02C449C0;
|
|
L_02C4497C: ; // 0x2c4497c
|
|
/* 02C4497C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C44980 */ cpu->r[10] = 0x43300000u;
|
|
/* 02C44984 */ _t9 = cpu->r[11] + 0xFFFFCFA8u;
|
|
/* 02C44984 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C44988 */ cpu->r[0] = cpu->r[8] - cpu->r[9];
|
|
/* 02C4498C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4498C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02C44990 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C44994 */ cpu->r[12] = cpu->r[8] ^ 0x80000000u;
|
|
/* 02C44998 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44998 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02C4499C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4499C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 02C449A0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C449A0 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02C449A4 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C449A4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02C449A8 */ cpu->f[11] = cpu->f[11] - cpu->f[0];
|
|
/* 02C449AC */ cpu->f[12] = cpu->f[12] - cpu->f[0];
|
|
/* 02C449B0 */ cpu->f[0] = (double)(float)cpu->f[11];
|
|
/* 02C449B4 */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 02C449B8 */ cpu->f[0] = cpu->f[13] * cpu->f[0];
|
|
/* 02C449BC */ cpu->f[1] = cpu->f[0] / cpu->f[12];
|
|
L_02C449C0: ; // 0x2c449c0
|
|
/* 02C449C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C449C4 */ return;
|
|
}
|
|
|
|
// fn_02C449C8 @ 0x2c449c8
|
|
void Gambit_fn_02C449C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C449C8: ; // 0x2c449c8
|
|
/* 02C449C8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C449CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C449CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C449CC */ cpu->r[1] = _t0;
|
|
/* 02C449D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C449D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C449D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C449D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C449D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C449DC */ _t3 = cpu->r[31] + 0x00000238u;
|
|
/* 02C449DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C449E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C449E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C449E4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C449E4 */ if (_t5) goto L_02C44A04; else goto L_02C449E8;
|
|
L_02C449E8: ; // 0x2c449e8
|
|
/* 02C449E8 */ Gambit_fn_02C27C90(cpu);
|
|
/* 02C449EC */ _t6 = cpu->r[31] + 0x00000238u;
|
|
/* 02C449EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C449F0 */ Gambit_fn_02C27EFC(cpu);
|
|
/* 02C449F4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C449F8 */ _t7 = cpu->r[31] + 0x00000238u;
|
|
/* 02C449F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C449FC */ _t8 = cpu->r[31] + 0x000000B1u;
|
|
/* 02C449FC */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 02C44A00 */ _t9 = cpu->r[31] + 0x000000B0u;
|
|
/* 02C44A00 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
L_02C44A04: ; // 0x2c44a04
|
|
/* 02C44A04 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C44A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C44A08 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44A08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C44A0C */ cpu->lr = cpu->r[0];
|
|
/* 02C44A10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C44A14 */ return;
|
|
}
|
|
|
|
// fn_02C449CC @ 0x2c449cc
|
|
void Gambit_fn_02C449CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C449CC: ; // 0x2c449cc
|
|
/* 02C449CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C449CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C449CC */ cpu->r[1] = _t0;
|
|
/* 02C449D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C449D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C449D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C449D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C449D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C449DC */ _t3 = cpu->r[31] + 0x00000238u;
|
|
/* 02C449DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C449E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C449E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C449E4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C449E4 */ if (_t5) goto L_02C44A04; else goto L_02C449E8;
|
|
L_02C449E8: ; // 0x2c449e8
|
|
/* 02C449E8 */ Gambit_fn_02C27C90(cpu);
|
|
/* 02C449EC */ _t6 = cpu->r[31] + 0x00000238u;
|
|
/* 02C449EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C449F0 */ Gambit_fn_02C27EFC(cpu);
|
|
/* 02C449F4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C449F8 */ _t7 = cpu->r[31] + 0x00000238u;
|
|
/* 02C449F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C449FC */ _t8 = cpu->r[31] + 0x000000B1u;
|
|
/* 02C449FC */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 02C44A00 */ _t9 = cpu->r[31] + 0x000000B0u;
|
|
/* 02C44A00 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
L_02C44A04: ; // 0x2c44a04
|
|
/* 02C44A04 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C44A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C44A08 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44A08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C44A0C */ cpu->lr = cpu->r[0];
|
|
/* 02C44A10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C44A14 */ return;
|
|
}
|
|
|
|
// fn_02C44A18 @ 0x2c44a18
|
|
void Gambit_fn_02C44A18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183;
|
|
|
|
L_02C44A18: ; // 0x2c44a18
|
|
/* 02C44A18 */ _t0 = cpu->r[1] + 0xFFFFFE90u;
|
|
/* 02C44A18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C44A18 */ cpu->r[1] = _t0;
|
|
/* 02C44A1C */ /* nop */
|
|
/* 02C44A20 */ _t1 = cpu->r[1] + 0x00000130u;
|
|
/* 02C44A20 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 02C44A24 */ _t2 = cpu->r[1] + 0x00000140u;
|
|
/* 02C44A24 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 02C44A28 */ /* nop */
|
|
/* 02C44A2C */ _t3 = cpu->r[1] + 0x00000150u;
|
|
/* 02C44A2C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02C44A30 */ /* nop */
|
|
/* 02C44A34 */ _t4 = cpu->r[1] + 0x00000160u;
|
|
/* 02C44A34 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C44A38 */ /* nop */
|
|
/* 02C44A3C */ _t5 = cpu->r[1] + 0x00000138u;
|
|
/* 02C44A3C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
|
|
/* 02C44A40 */ _t6 = cpu->r[1] + 0x00000148u;
|
|
/* 02C44A40 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 02C44A44 */ cpu->r[0] = cpu->lr;
|
|
/* 02C44A48 */ _t7 = cpu->r[1] + 0x00000158u;
|
|
/* 02C44A48 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 02C44A4C */ /* nop */
|
|
/* 02C44A50 */ _t8 = cpu->r[1] + 0x00000174u;
|
|
/* 02C44A50 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C44A54 */ _t9 = cpu->r[1] + 0x00000168u;
|
|
/* 02C44A54 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
|
|
/* 02C44A58 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C44A5C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C44A60 */ _t10 = cpu->r[30] + 0x000000B1u;
|
|
/* 02C44A60 */ cpu->r[8] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C44A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C44A68 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44A68 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C44A68 */ if (_t12) goto L_02C44F94; else goto L_02C44A6C;
|
|
L_02C44A6C: ; // 0x2c44a6c
|
|
/* 02C44A6C */ _t13 = cpu->r[30] + 0x000000B0u;
|
|
/* 02C44A6C */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C44A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C44A74 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44A74 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C44A74 */ if (_t15) goto L_02C44A7C; else goto L_02C44A78;
|
|
L_02C44A78: ; // 0x2c44a78
|
|
/* 02C44A78 */ cpu->r[29] = 0x00000000u;
|
|
L_02C44A7C: ; // 0x2c44a7c
|
|
/* 02C44A7C */ _t16 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02C44A7C */ cpu->r[8] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C44A80 */ _t17 = cpu->r[30] + 0x0000020Au;
|
|
/* 02C44A80 */ cpu->r[12] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C44A84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C44A88 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44A88 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C44A88 */ if (_t19) goto L_02C44A8C; else goto L_02C44AA4;
|
|
L_02C44A8C: ; // 0x2c44a8c
|
|
/* 02C44A8C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C44A90 */ _t20 = cpu->r[30] + 0x0000020Au;
|
|
/* 02C44A90 */ cpu->r[9] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02C44A94 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C44A98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02C44A9C */ _t21 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02C44A9C */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[8]);
|
|
/* 02C44AA0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44AA0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C44AA0 */ if (_t23) goto L_02C44B00; else goto L_02C44AA4;
|
|
L_02C44AA4: ; // 0x2c44aa4
|
|
/* 02C44AA4 */ _t24 = cpu->r[30] + 0x00000209u;
|
|
/* 02C44AA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C44AA8 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C44AAC */ _t25 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02C44AAC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C44AB0 */ _t26 = cpu->r[5] + 0xFFFFCF98u;
|
|
/* 02C44AB0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 02C44AB4 */ cpu->r[5] = 0x43300000u;
|
|
/* 02C44AB8 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44AB8 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02C44ABC */ cpu->f[0] = cpu->f[6] * cpu->f[6];
|
|
/* 02C44AC0 */ _t28 = cpu->r[30] + 0x00000228u;
|
|
/* 02C44AC0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C44AC4 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44AC4 */ rbrew_write32(cpu->mem, _t29, cpu->r[5]);
|
|
/* 02C44AC8 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44AC8 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02C44ACC */ cpu->f[6] = cpu->f[0] * cpu->f[8];
|
|
/* 02C44AD0 */ _t31 = cpu->r[30] + 0x000000B8u;
|
|
/* 02C44AD0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C44AD4 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C44AD8 */ cpu->f[8] = cpu->f[7] - cpu->f[11];
|
|
/* 02C44ADC */ _t32 = cpu->r[4] + 0xFFFFD250u;
|
|
/* 02C44ADC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C44AE0 */ cpu->f[9] = cpu->f[6] * cpu->f[10];
|
|
/* 02C44AE4 */ cpu->f[13] = (double)(float)cpu->f[8];
|
|
/* 02C44AE8 */ _t33 = cpu->r[30] + 0x00000010u;
|
|
/* 02C44AE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C44AEC */ cpu->f[10] = cpu->f[9] * cpu->f[13];
|
|
/* 02C44AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
|
|
/* 02C44AF4 */ cpu->f[30] = cpu->f[10] * cpu->f[12];
|
|
/* 02C44AF8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44AF8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C44AF8 */ if (_t35) goto L_02C44AFC; else goto L_02C44BC8;
|
|
L_02C44AFC: ; // 0x2c44afc
|
|
/* 02C44AFC */ goto L_02C44B70;
|
|
L_02C44B00: ; // 0x2c44b00
|
|
/* 02C44B00 */ _t36 = cpu->r[30] + 0x00000208u;
|
|
/* 02C44B00 */ cpu->r[10] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02C44B04 */ _t37 = cpu->r[30] + 0x00000209u;
|
|
/* 02C44B04 */ cpu->r[4] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02C44B08 */ _t38 = cpu->r[30] + 0x00000228u;
|
|
/* 02C44B08 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C44B0C */ cpu->r[0] = cpu->r[4] - cpu->r[10];
|
|
/* 02C44B10 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[8]);
|
|
/* 02C44B14 */ _t39 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02C44B14 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C44B18 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[5] / (int32_t)cpu->r[9]);
|
|
/* 02C44B1C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C44B20 */ cpu->f[0] = cpu->f[6] * cpu->f[6];
|
|
/* 02C44B24 */ _t40 = cpu->r[5] + 0xFFFFCF98u;
|
|
/* 02C44B24 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t40);
|
|
/* 02C44B28 */ cpu->f[6] = cpu->f[0] * cpu->f[8];
|
|
/* 02C44B2C */ _t41 = cpu->r[30] + 0x000000B8u;
|
|
/* 02C44B2C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C44B30 */ cpu->f[9] = cpu->f[6] * cpu->f[10];
|
|
/* 02C44B34 */ cpu->r[5] = 0x43300000u;
|
|
/* 02C44B38 */ cpu->r[0] = cpu->r[10] + cpu->r[6];
|
|
/* 02C44B3C */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44B3C */ rbrew_write32(cpu->mem, _t42, cpu->r[5]);
|
|
/* 02C44B40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C44B44 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44B44 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02C44B48 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44B48 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t44);
|
|
/* 02C44B4C */ _t45 = cpu->r[30] + 0x00000010u;
|
|
/* 02C44B4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C44B50 */ cpu->f[8] = cpu->f[7] - cpu->f[11];
|
|
/* 02C44B54 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C44B58 */ cpu->f[13] = (double)(float)cpu->f[8];
|
|
/* 02C44B5C */ _t46 = cpu->r[4] + 0xFFFFD250u;
|
|
/* 02C44B5C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02C44B60 */ cpu->f[10] = cpu->f[9] * cpu->f[13];
|
|
/* 02C44B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
|
|
/* 02C44B68 */ cpu->f[30] = cpu->f[10] * cpu->f[12];
|
|
/* 02C44B6C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44B6C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C44B6C */ if (_t48) goto L_02C44B70; else goto L_02C44BC8;
|
|
L_02C44B70: ; // 0x2c44b70
|
|
/* 02C44B70 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C44B74 */ Gambit_fn_02C3E768(cpu);
|
|
/* 02C44B78 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C44B7C */ _t49 = cpu->r[11] + 0xFFFFD1ECu;
|
|
/* 02C44B7C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C44B80 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[9]);
|
|
/* 02C44B84 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44B84 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C44B84 */ if (_t51) goto L_02C44B88; else goto L_02C44BC8;
|
|
L_02C44B88: ; // 0x2c44b88
|
|
/* 02C44B88 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C44B8C */ Gambit_fn_02C449C8(cpu);
|
|
/* 02C44B90 */ /* nop */
|
|
/* 02C44B94 */ _t52 = cpu->r[1] + 0x00000148u;
|
|
/* 02C44B94 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C44B98 */ _t53 = cpu->r[1] + 0x00000158u;
|
|
/* 02C44B98 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C44B9C */ _t54 = cpu->r[1] + 0x00000140u;
|
|
/* 02C44B9C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 02C44BA0 */ _t55 = cpu->r[1] + 0x00000150u;
|
|
/* 02C44BA0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 02C44BA4 */ _t56 = cpu->r[1] + 0x00000138u;
|
|
/* 02C44BA4 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C44BA8 */ _t57 = cpu->r[1] + 0x00000168u;
|
|
/* 02C44BA8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C44BAC */ _t58 = cpu->r[1] + 0x00000130u;
|
|
/* 02C44BAC */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t58);
|
|
/* 02C44BB0 */ _t59 = cpu->r[1] + 0x00000160u;
|
|
/* 02C44BB0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t59);
|
|
/* 02C44BB4 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44BB4 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C44BB4 */ if (_t61) goto L_02C44BB8; // else: addr-0 trap, fall-through
|
|
L_02C44BB8: ; // 0x2c44bb8
|
|
/* 02C44BB8 */ _t62 = cpu->r[1] + 0x00000174u;
|
|
/* 02C44BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C44BBC */ cpu->lr = cpu->r[0];
|
|
/* 02C44BC0 */ cpu->r[1] = cpu->r[1] + 0x00000170u;
|
|
/* 02C44BC4 */ return;
|
|
L_02C44BC8: ; // 0x2c44bc8
|
|
/* 02C44BC8 */ _t63 = cpu->r[30] + 0x00000224u;
|
|
/* 02C44BC8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t63);
|
|
/* 02C44BCC */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C44BD0 */ _t64 = cpu->r[30] + 0x00000225u;
|
|
/* 02C44BD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02C44BD4 */ cpu->r[12] = 0x43300000u;
|
|
/* 02C44BD8 */ _t65 = cpu->r[4] + 0xFFFFCFA8u;
|
|
/* 02C44BD8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 02C44BDC */ cpu->r[0] = cpu->r[11] - cpu->r[0];
|
|
/* 02C44BE0 */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44BE0 */ rbrew_write32(cpu->mem, _t66, cpu->r[12]);
|
|
/* 02C44BE4 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C44BE8 */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44BE8 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 02C44BEC */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44BEC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 02C44BF0 */ cpu->f[6] = cpu->f[0] - cpu->f[13];
|
|
/* 02C44BF4 */ cpu->f[13] = (double)(float)cpu->f[6];
|
|
/* 02C44BF8 */ _t69 = cpu->r[30] + 0x000001ECu;
|
|
/* 02C44BF8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02C44BFC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C44C00 */ cpu->f[7] = cpu->f[13] + cpu->f[8];
|
|
/* 02C44C04 */ Gambit_fn_02C44954(cpu);
|
|
/* 02C44C08 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C44C0C */ cpu->r[28] = 0x00000004u;
|
|
/* 02C44C10 */ cpu->r[27] = cpu->r[30] + 0x000000ACu;
|
|
/* 02C44C14 */ cpu->f[31] = cpu->f[7] + cpu->f[1];
|
|
/* 02C44C18 */ cpu->r[31] = cpu->r[26];
|
|
L_02C44C1C: ; // 0x2c44c1c
|
|
/* 02C44C1C */ _t70 = cpu->r[27] + cpu->r[26];
|
|
/* 02C44C1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02C44C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C44C24 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44C24 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C44C24 */ if (_t72) goto L_02C44C28; else goto L_02C44C38;
|
|
L_02C44C28: ; // 0x2c44c28
|
|
/* 02C44C28 */ cpu->r[7] = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C44C2C */ cpu->r[3] = cpu->r[7] + cpu->r[31];
|
|
/* 02C44C30 */ Gambit_fn_02C3E8C4(cpu);
|
|
/* 02C44C34 */ cpu->f[31] = cpu->f[31] + cpu->f[1];
|
|
L_02C44C38: ; // 0x2c44c38
|
|
/* 02C44C38 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C44C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C44C3C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C44C40 */ cpu->r[31] = cpu->r[31] + 0x00000020u;
|
|
/* 02C44C44 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44C44 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C44C44 */ if (_t74) goto L_02C44C48; else goto L_02C44C1C;
|
|
L_02C44C48: ; // 0x2c44c48
|
|
/* 02C44C48 */ _t75 = cpu->r[30] + 0x00000210u;
|
|
/* 02C44C48 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02C44C4C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[9]);
|
|
/* 02C44C50 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44C50 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C44C50 */ if (_t77) goto L_02C44C54; else goto L_02C44C7C;
|
|
L_02C44C54: ; // 0x2c44c54
|
|
/* 02C44C54 */ _t78 = cpu->r[30] + 0x00000214u;
|
|
/* 02C44C54 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02C44C58 */ _t79 = cpu->r[30] + 0x00000204u;
|
|
/* 02C44C58 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02C44C5C */ cpu->r[12] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44C60 */ cpu->r[0] = 0x00000005u;
|
|
/* 02C44C64 */ cpu->f[12] = cpu->f[28] * cpu->f[13];
|
|
/* 02C44C68 */ _t80 = cpu->r[30] + 0x000000BCu;
|
|
/* 02C44C68 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02C44C6C */ cpu->r[11] = cpu->r[30] + 0x000000C8u;
|
|
/* 02C44C70 */ cpu->ctr = cpu->r[0];
|
|
/* 02C44C74 */ cpu->f[28] = cpu->f[12] * cpu->f[0];
|
|
/* 02C44C78 */ goto L_02C44CC4;
|
|
L_02C44C7C: ; // 0x2c44c7c
|
|
/* 02C44C7C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C44C80 */ _t81 = cpu->r[10] + 0xFFFFD254u;
|
|
/* 02C44C80 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02C44C84 */ cpu->f[10] = cpu->f[31] * cpu->f[10];
|
|
/* 02C44C88 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 02C44C8C */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C44C90 */ /* nop */
|
|
/* 02C44C94 */ _t82 = cpu->r[1] + 0x00000008u;
|
|
/* 02C44C94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C44C98 */ Gambit_fn_02C32CD0(cpu);
|
|
/* 02C44C9C */ _t83 = cpu->r[30] + 0x00000204u;
|
|
/* 02C44C9C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02C44CA0 */ cpu->r[0] = 0x00000005u;
|
|
/* 02C44CA4 */ cpu->r[11] = cpu->r[30] + 0x000000C8u;
|
|
/* 02C44CA8 */ _t84 = cpu->r[30] + 0x000000BCu;
|
|
/* 02C44CA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 02C44CAC */ cpu->f[12] = cpu->f[1] * cpu->f[13];
|
|
/* 02C44CB0 */ cpu->ctr = cpu->r[0];
|
|
/* 02C44CB4 */ _t85 = cpu->r[30] + 0x00000210u;
|
|
/* 02C44CB4 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[31]);
|
|
/* 02C44CB8 */ cpu->r[12] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C44CBC */ cpu->f[28] = cpu->f[12] * cpu->f[0];
|
|
/* 02C44CC0 */ _t86 = cpu->r[30] + 0x00000214u;
|
|
/* 02C44CC0 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[1]);
|
|
L_02C44CC4: ; // 0x2c44cc4
|
|
/* 02C44CC4 */ _t87 = cpu->r[11] + 0x00000004u;
|
|
/* 02C44CC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C44CC8 */ _t88 = cpu->r[12] + 0x00000004u;
|
|
/* 02C44CC8 */ rbrew_write32(cpu->mem, _t88, cpu->r[4]);
|
|
/* 02C44CCC */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02C44CCC */ cpu->r[5] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C44CD0 */ _t90 = cpu->r[12] + 0x00000008u;
|
|
/* 02C44CD0 */ rbrew_write32(cpu->mem, _t90, cpu->r[5]);
|
|
/* 02C44CD4 */ _t91 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C44CD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C44CD8 */ _t92 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C44CD8 */ rbrew_write32(cpu->mem, _t92, cpu->r[6]);
|
|
/* 02C44CDC */ _t93 = cpu->r[11] + 0x00000010u;
|
|
/* 02C44CDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02C44CDC */ cpu->r[11] = _t93;
|
|
/* 02C44CE0 */ _t94 = cpu->r[12] + 0x00000010u;
|
|
/* 02C44CE0 */ rbrew_write32(cpu->mem, _t94, cpu->r[7]);
|
|
/* 02C44CE0 */ cpu->r[12] = _t94;
|
|
/* 02C44CE4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C44CE4 */ _t95 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C44CE4 */ _t96 = _t95 >> (0x00000002u & 31u);
|
|
/* 02C44CE4 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C44CE4 */ if (_t97) goto L_02C44CC4; else goto L_02C44CE8;
|
|
L_02C44CE8: ; // 0x2c44ce8
|
|
/* 02C44CE8 */ _t98 = cpu->r[30] + 0x000001FCu;
|
|
/* 02C44CE8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02C44CEC */ cpu->r[26] = 0x00000000u;
|
|
/* 02C44CF0 */ _t99 = cpu->r[30] + 0x00000104u;
|
|
/* 02C44CF0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02C44CF4 */ cpu->f[31] = cpu->f[7] + cpu->f[8];
|
|
/* 02C44CF8 */ cpu->r[31] = cpu->r[26];
|
|
/* 02C44CFC */ cpu->r[28] = 0x00000004u;
|
|
/* 02C44D00 */ _t100 = cpu->r[1] + 0x00000048u;
|
|
/* 02C44D00 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[31]);
|
|
L_02C44D04: ; // 0x2c44d04
|
|
/* 02C44D04 */ _t101 = cpu->r[27] + cpu->r[26];
|
|
/* 02C44D04 */ cpu->r[9] = rbrew_read8(cpu->mem, _t101);
|
|
/* 02C44D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 02C44D0C */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44D0C */ _t103 = _t102 & 0x00000001u;
|
|
/* 02C44D0C */ if (_t103) goto L_02C44D10; else goto L_02C44D24;
|
|
L_02C44D10: ; // 0x2c44d10
|
|
/* 02C44D10 */ cpu->r[10] = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C44D14 */ cpu->r[3] = cpu->r[10] + cpu->r[31];
|
|
/* 02C44D18 */ Gambit_fn_02C3E8C4(cpu);
|
|
/* 02C44D1C */ cpu->f[31] = cpu->f[31] + cpu->f[1];
|
|
/* 02C44D20 */ _t104 = cpu->r[1] + 0x00000048u;
|
|
/* 02C44D20 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[31]);
|
|
L_02C44D24: ; // 0x2c44d24
|
|
/* 02C44D24 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C44D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C44D28 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C44D2C */ cpu->r[31] = cpu->r[31] + 0x00000020u;
|
|
/* 02C44D30 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44D30 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C44D30 */ if (_t106) goto L_02C44D34; else goto L_02C44D04;
|
|
L_02C44D34: ; // 0x2c44d34
|
|
/* 02C44D34 */ _t107 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C44D34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02C44D38 */ _t108 = cpu->r[30] + 0x00000200u;
|
|
/* 02C44D38 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 02C44D3C */ cpu->r[6] = 0x02C50000u;
|
|
/* 02C44D40 */ cpu->r[31] = cpu->r[1] + 0x00000060u;
|
|
/* 02C44D44 */ cpu->f[12] = cpu->f[12] + cpu->f[13];
|
|
/* 02C44D48 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C44D4C */ cpu->r[6] = cpu->r[6] + 0xFFFFCF6Cu;
|
|
/* 02C44D50 */ cpu->r[5] = 0x00000050u;
|
|
/* 02C44D54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C44D58 */ _t109 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C44D58 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[12]);
|
|
/* 02C44D5C */ Gambit_fn_02C82E00(cpu);
|
|
/* 02C44D60 */ cpu->r[24] = 0x00000002u;
|
|
/* 02C44D64 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C44D68 */ cpu->r[26] = cpu->r[31];
|
|
/* 02C44D6C */ cpu->r[28] = cpu->r[30] + 0x0000011Cu;
|
|
L_02C44D70: ; // 0x2c44d70
|
|
/* 02C44D70 */ cpu->r[23] = cpu->r[26];
|
|
/* 02C44D74 */ cpu->r[10] = 0x00000005u;
|
|
/* 02C44D78 */ cpu->r[11] = cpu->r[28] + cpu->r[25];
|
|
/* 02C44D7C */ cpu->r[9] = cpu->r[23] + 0xFFFFFFFCu;
|
|
/* 02C44D80 */ cpu->ctr = cpu->r[10];
|
|
/* 02C44D84 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFCu;
|
|
L_02C44D88: ; // 0x2c44d88
|
|
/* 02C44D88 */ _t110 = cpu->r[8] + 0x00000004u;
|
|
/* 02C44D88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C44D8C */ _t111 = cpu->r[9] + 0x00000004u;
|
|
/* 02C44D8C */ rbrew_write32(cpu->mem, _t111, cpu->r[12]);
|
|
/* 02C44D90 */ _t112 = cpu->r[8] + 0x00000008u;
|
|
/* 02C44D90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02C44D94 */ _t113 = cpu->r[9] + 0x00000008u;
|
|
/* 02C44D94 */ rbrew_write32(cpu->mem, _t113, cpu->r[0]);
|
|
/* 02C44D98 */ _t114 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C44D98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02C44D9C */ _t115 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C44D9C */ rbrew_write32(cpu->mem, _t115, cpu->r[4]);
|
|
/* 02C44DA0 */ _t116 = cpu->r[8] + 0x00000010u;
|
|
/* 02C44DA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02C44DA0 */ cpu->r[8] = _t116;
|
|
/* 02C44DA4 */ _t117 = cpu->r[9] + 0x00000010u;
|
|
/* 02C44DA4 */ rbrew_write32(cpu->mem, _t117, cpu->r[6]);
|
|
/* 02C44DA4 */ cpu->r[9] = _t117;
|
|
/* 02C44DA8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C44DA8 */ _t118 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C44DA8 */ _t119 = _t118 >> (0x00000002u & 31u);
|
|
/* 02C44DA8 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02C44DA8 */ if (_t120) goto L_02C44D88; else goto L_02C44DAC;
|
|
L_02C44DAC: ; // 0x2c44dac
|
|
/* 02C44DAC */ _t121 = cpu->r[30] + 0x000001FCu;
|
|
/* 02C44DAC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 02C44DB0 */ cpu->r[20] = 0x00000000u;
|
|
/* 02C44DB4 */ _t122 = cpu->r[23] + 0x00000038u;
|
|
/* 02C44DB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 02C44DB8 */ cpu->f[31] = cpu->f[0] + cpu->f[6];
|
|
/* 02C44DBC */ cpu->r[22] = cpu->r[20];
|
|
/* 02C44DC0 */ cpu->r[21] = 0x00000004u;
|
|
/* 02C44DC4 */ _t123 = cpu->r[23] + 0x00000038u;
|
|
/* 02C44DC4 */ rbrew_write_f32(cpu->mem, _t123, cpu->f[31]);
|
|
L_02C44DC8: ; // 0x2c44dc8
|
|
/* 02C44DC8 */ _t124 = cpu->r[27] + cpu->r[20];
|
|
/* 02C44DC8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02C44DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u);
|
|
/* 02C44DD0 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44DD0 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02C44DD0 */ if (_t126) goto L_02C44DD4; else goto L_02C44DE8;
|
|
L_02C44DD4: ; // 0x2c44dd4
|
|
/* 02C44DD4 */ cpu->r[8] = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C44DD8 */ cpu->r[3] = cpu->r[8] + cpu->r[22];
|
|
/* 02C44DDC */ Gambit_fn_02C3E8C4(cpu);
|
|
/* 02C44DE0 */ cpu->f[31] = cpu->f[31] + cpu->f[1];
|
|
/* 02C44DE4 */ _t127 = cpu->r[23] + 0x00000038u;
|
|
/* 02C44DE4 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[31]);
|
|
L_02C44DE8: ; // 0x2c44de8
|
|
/* 02C44DE8 */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 02C44DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C44DEC */ cpu->r[20] = cpu->r[20] + 0x00000001u;
|
|
/* 02C44DF0 */ cpu->r[22] = cpu->r[22] + 0x00000020u;
|
|
/* 02C44DF4 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44DF4 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02C44DF4 */ if (_t129) goto L_02C44DF8; else goto L_02C44DC8;
|
|
L_02C44DF8: ; // 0x2c44df8
|
|
/* 02C44DF8 */ _t130 = cpu->r[30] + 0x00000200u;
|
|
/* 02C44DF8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 02C44DFC */ _t131 = cpu->r[23] + 0x0000003Cu;
|
|
/* 02C44DFC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 02C44E00 */ cpu->f[9] = cpu->f[9] + cpu->f[11];
|
|
/* 02C44E04 */ cpu->r[26] = cpu->r[26] + 0x00000050u;
|
|
/* 02C44E08 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02C44E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C44E0C */ cpu->r[25] = cpu->r[25] + 0x00000050u;
|
|
/* 02C44E10 */ _t132 = cpu->r[23] + 0x0000003Cu;
|
|
/* 02C44E10 */ rbrew_write_f32(cpu->mem, _t132, cpu->f[9]);
|
|
/* 02C44E14 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44E14 */ _t134 = _t133 & 0x00000001u;
|
|
/* 02C44E14 */ if (_t134) goto L_02C44E18; else goto L_02C44D70;
|
|
L_02C44E18: ; // 0x2c44e18
|
|
/* 02C44E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C44E1C */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44E1C */ _t136 = _t135 & 0x00000001u;
|
|
/* 02C44E1C */ if (_t136) goto L_02C44E60; else goto L_02C44E20;
|
|
L_02C44E20: ; // 0x2c44e20
|
|
/* 02C44E20 */ _t137 = cpu->r[30] + 0x000000B3u;
|
|
/* 02C44E20 */ cpu->r[9] = rbrew_read8(cpu->mem, _t137);
|
|
/* 02C44E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C44E28 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44E28 */ _t139 = _t138 & 0x00000001u;
|
|
/* 02C44E28 */ if (_t139) goto L_02C44E38; else goto L_02C44E2C;
|
|
L_02C44E2C: ; // 0x2c44e2c
|
|
/* 02C44E2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C44E30 */ cpu->r[4] = 0x00000003u;
|
|
/* 02C44E34 */ Gambit_fn_02C3B278(cpu);
|
|
L_02C44E38: ; // 0x2c44e38
|
|
/* 02C44E38 */ cpu->r[3] = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C44E3C */ cpu->r[6] = 0x00000004u;
|
|
L_02C44E40: ; // 0x2c44e40
|
|
/* 02C44E40 */ cpu->r[4] = 0x00000003u;
|
|
/* 02C44E44 */ Gambit_fn_02C3E79C(cpu);
|
|
/* 02C44E48 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C44E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C44E4C */ cpu->r[3] = cpu->r[3] + 0x00000020u;
|
|
/* 02C44E50 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44E50 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02C44E50 */ if (_t141) goto L_02C44E54; else goto L_02C44E40;
|
|
L_02C44E54: ; // 0x2c44e54
|
|
/* 02C44E54 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C44E58 */ cpu->r[4] = 0x00000003u;
|
|
/* 02C44E5C */ Gambit_fn_02C3E564(cpu);
|
|
L_02C44E60: ; // 0x2c44e60
|
|
/* 02C44E60 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C44E64 */ _t142 = cpu->r[30] + 0x000000C0u;
|
|
/* 02C44E64 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 02C44E68 */ _t143 = cpu->r[8] + 0xFFFFCFA0u;
|
|
/* 02C44E68 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t143);
|
|
/* 02C44E6C */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C44E70 */ cpu->f[29] = cpu->f[12] + cpu->f[0];
|
|
/* 02C44E74 */ Gambit_fn_02C3E768(cpu);
|
|
/* 02C44E78 */ Gambit_fn_02C32DC0(cpu);
|
|
/* 02C44E7C */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C44E80 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C44E84 */ cpu->r[28] = 0x00000004u;
|
|
/* 02C44E88 */ _t144 = cpu->r[7] + 0xFFFFD258u;
|
|
/* 02C44E88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 02C44E8C */ cpu->f[30] = cpu->f[30] * cpu->f[1];
|
|
/* 02C44E90 */ cpu->r[29] = cpu->r[26];
|
|
L_02C44E94: ; // 0x2c44e94
|
|
/* 02C44E94 */ _t145 = cpu->r[27] + cpu->r[26];
|
|
/* 02C44E94 */ cpu->r[0] = rbrew_read8(cpu->mem, _t145);
|
|
/* 02C44E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C44E9C */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44E9C */ _t147 = _t146 & 0x00000001u;
|
|
/* 02C44E9C */ if (_t147) goto L_02C44EA0; else goto L_02C44EB8;
|
|
L_02C44EA0: ; // 0x2c44ea0
|
|
/* 02C44EA0 */ cpu->r[12] = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C44EA4 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C44EA8 */ Gambit_fn_02C3E8C4(cpu);
|
|
/* 02C44EAC */ cpu->f[1] = cpu->f[1] * cpu->f[31];
|
|
/* 02C44EB0 */ Gambit_fn_02C32DC0(cpu);
|
|
/* 02C44EB4 */ cpu->f[30] = cpu->f[30] * cpu->f[1];
|
|
L_02C44EB8: ; // 0x2c44eb8
|
|
/* 02C44EB8 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C44EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C44EBC */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C44EC0 */ cpu->r[29] = cpu->r[29] + 0x00000020u;
|
|
/* 02C44EC4 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44EC4 */ _t149 = _t148 & 0x00000001u;
|
|
/* 02C44EC4 */ if (_t149) goto L_02C44EC8; else goto L_02C44E94;
|
|
L_02C44EC8: ; // 0x2c44ec8
|
|
/* 02C44EC8 */ _t150 = cpu->r[30] + 0x00000238u;
|
|
/* 02C44EC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02C44ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C44ED0 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44ED0 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02C44ED0 */ if (_t152) goto L_02C44F94; else goto L_02C44ED4;
|
|
L_02C44ED4: ; // 0x2c44ed4
|
|
/* 02C44ED4 */ cpu->f[1] = cpu->f[30];
|
|
/* 02C44ED8 */ Gambit_fn_02C361DC(cpu);
|
|
/* 02C44EDC */ cpu->f[1] = cpu->f[28];
|
|
/* 02C44EE0 */ _t153 = cpu->r[30] + 0x00000238u;
|
|
/* 02C44EE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02C44EE4 */ Gambit_fn_02C36208(cpu);
|
|
/* 02C44EE8 */ _t154 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02C44EE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02C44EEC */ _t155 = cpu->r[30] + 0x00000238u;
|
|
/* 02C44EEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02C44EF0 */ Gambit_fn_02C36228(cpu);
|
|
/* 02C44EF4 */ _t156 = cpu->r[30] + 0x00000220u;
|
|
/* 02C44EF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02C44EF8 */ _t157 = cpu->r[30] + 0x00000238u;
|
|
/* 02C44EF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02C44EFC */ Gambit_fn_02C36248(cpu);
|
|
/* 02C44F00 */ _t158 = cpu->r[30] + 0x000002E9u;
|
|
/* 02C44F00 */ cpu->r[4] = rbrew_read8(cpu->mem, _t158);
|
|
/* 02C44F04 */ _t159 = cpu->r[30] + 0x00000238u;
|
|
/* 02C44F04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02C44F08 */ Gambit_fn_02C36494(cpu);
|
|
/* 02C44F0C */ cpu->f[1] = cpu->f[29];
|
|
/* 02C44F10 */ _t160 = cpu->r[30] + 0x00000238u;
|
|
/* 02C44F10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02C44F14 */ Gambit_fn_02C36268(cpu);
|
|
/* 02C44F18 */ _t161 = cpu->r[30] + 0x000000C4u;
|
|
/* 02C44F18 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t161);
|
|
/* 02C44F1C */ _t162 = cpu->r[30] + 0x00000238u;
|
|
/* 02C44F1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02C44F20 */ _t163 = cpu->r[30] + 0x000000B6u;
|
|
/* 02C44F20 */ cpu->r[4] = rbrew_read8(cpu->mem, _t163);
|
|
/* 02C44F24 */ Gambit_fn_02C36288(cpu);
|
|
/* 02C44F28 */ _t164 = cpu->r[30] + 0x00000238u;
|
|
/* 02C44F28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02C44F2C */ _t165 = cpu->r[30] + 0x000000C8u;
|
|
/* 02C44F2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02C44F30 */ Gambit_fn_02C364D8(cpu);
|
|
/* 02C44F34 */ _t166 = cpu->r[30] + 0x00000238u;
|
|
/* 02C44F34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02C44F38 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02C44F3C */ Gambit_fn_02C3664C(cpu);
|
|
/* 02C44F40 */ cpu->r[29] = 0x00000002u;
|
|
/* 02C44F44 */ cpu->r[28] = 0x00000000u;
|
|
L_02C44F48: ; // 0x2c44f48
|
|
/* 02C44F48 */ _t167 = cpu->r[30] + 0x00000238u;
|
|
/* 02C44F48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02C44F4C */ cpu->r[5] = cpu->r[31];
|
|
/* 02C44F50 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C44F54 */ Gambit_fn_02C36654(cpu);
|
|
/* 02C44F58 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C44F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C44F5C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C44F60 */ cpu->r[31] = cpu->r[31] + 0x00000050u;
|
|
/* 02C44F64 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44F64 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02C44F64 */ if (_t169) goto L_02C44F68; else goto L_02C44F48;
|
|
L_02C44F68: ; // 0x2c44f68
|
|
/* 02C44F68 */ cpu->r[31] = cpu->r[30] + 0x000001BCu;
|
|
/* 02C44F6C */ cpu->r[29] = 0x00000004u;
|
|
/* 02C44F70 */ cpu->r[28] = 0x00000000u;
|
|
L_02C44F74: ; // 0x2c44f74
|
|
/* 02C44F74 */ _t170 = cpu->r[30] + 0x00000238u;
|
|
/* 02C44F74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02C44F78 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C44F7C */ cpu->r[4] = cpu->r[28];
|
|
/* 02C44F80 */ Gambit_fn_02C36668(cpu);
|
|
/* 02C44F84 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C44F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C44F88 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C44F8C */ cpu->r[31] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C44F90 */ _t171 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C44F90 */ _t172 = _t171 & 0x00000001u;
|
|
/* 02C44F90 */ if (_t172) goto L_02C44F94; else goto L_02C44F74;
|
|
L_02C44F94: ; // 0x2c44f94
|
|
/* 02C44F94 */ /* nop */
|
|
/* 02C44F98 */ _t173 = cpu->r[1] + 0x00000148u;
|
|
/* 02C44F98 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t173);
|
|
/* 02C44F9C */ _t174 = cpu->r[1] + 0x00000158u;
|
|
/* 02C44F9C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t174);
|
|
/* 02C44FA0 */ _t175 = cpu->r[1] + 0x00000140u;
|
|
/* 02C44FA0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t175);
|
|
/* 02C44FA4 */ _t176 = cpu->r[1] + 0x00000150u;
|
|
/* 02C44FA4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t176);
|
|
/* 02C44FA8 */ _t177 = cpu->r[1] + 0x00000138u;
|
|
/* 02C44FA8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t177);
|
|
/* 02C44FAC */ _t178 = cpu->r[1] + 0x00000168u;
|
|
/* 02C44FAC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t178);
|
|
/* 02C44FB0 */ _t179 = cpu->r[1] + 0x00000130u;
|
|
/* 02C44FB0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t179);
|
|
/* 02C44FB4 */ _t180 = cpu->r[1] + 0x00000160u;
|
|
/* 02C44FB4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t180);
|
|
/* 02C44FB8 */ _t181 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C44FB8 */ _t182 = _t181 & 0x00000001u;
|
|
/* 02C44FB8 */ if (_t182) goto L_02C44FBC; // else: addr-0 trap, fall-through
|
|
L_02C44FBC: ; // 0x2c44fbc
|
|
/* 02C44FBC */ _t183 = cpu->r[1] + 0x00000174u;
|
|
/* 02C44FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02C44FC0 */ cpu->lr = cpu->r[0];
|
|
/* 02C44FC4 */ cpu->r[1] = cpu->r[1] + 0x00000170u;
|
|
/* 02C44FC8 */ return;
|
|
}
|
|
|
|
// fn_02C44FCC @ 0x2c44fcc
|
|
void Gambit_fn_02C44FCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C44FCC: ; // 0x2c44fcc
|
|
/* 02C44FCC */ _t0 = cpu->r[3] + 0x000001F0u;
|
|
/* 02C44FCC */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C44FD0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C44FD4 */ _t1 = cpu->r[3] + 0x000001F8u;
|
|
/* 02C44FD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02C44FD8 */ _t2 = cpu->r[3] + 0x000001F4u;
|
|
/* 02C44FD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C44FDC */ _t3 = cpu->r[3] + 0x000000B3u;
|
|
/* 02C44FDC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[5]);
|
|
/* 02C44FE0 */ return;
|
|
}
|
|
|
|
// fn_02C44FE4 @ 0x2c44fe4
|
|
void Gambit_fn_02C44FE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02C44FE4: ; // 0x2c44fe4
|
|
/* 02C44FE4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C44FE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C44FE4 */ cpu->r[1] = _t0;
|
|
/* 02C44FE8 */ /* nop */
|
|
/* 02C44FEC */ cpu->r[0] = cpu->lr;
|
|
/* 02C44FF0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C44FF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C44FF4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C44FF8 */ _t2 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C44FF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C44FFC */ _t3 = cpu->r[11] + 0x00000238u;
|
|
/* 02C44FFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C45000 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C45004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C45008 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C4500C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4500C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4500C */ if (_t5) goto L_02C450D0; else goto L_02C45010;
|
|
L_02C45010: ; // 0x2c45010
|
|
/* 02C45010 */ _t6 = cpu->r[12] + 0x00000368u;
|
|
/* 02C45010 */ cpu->r[24] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C45014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C45018 */ cpu->r[22] = 0x00000000u;
|
|
/* 02C4501C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4501C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4501C */ if (_t8) goto L_02C45020; else goto L_02C450D0;
|
|
L_02C45020: ; // 0x2c45020
|
|
/* 02C45020 */ cpu->r[27] = 0x00000000u;
|
|
L_02C45024: ; // 0x2c45024
|
|
/* 02C45024 */ cpu->r[25] = cpu->r[27];
|
|
/* 02C45028 */ cpu->r[23] = 0x00000002u;
|
|
L_02C4502C: ; // 0x2c4502c
|
|
/* 02C4502C */ cpu->r[26] = cpu->r[11] + cpu->r[25];
|
|
/* 02C45030 */ _t9 = cpu->r[26] + 0x00000258u;
|
|
/* 02C45030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C45034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02C45038 */ cpu->r[26] = cpu->r[26] + 0x00000240u;
|
|
/* 02C4503C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4503C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4503C */ if (_t11) goto L_02C45084; else goto L_02C45040;
|
|
L_02C45040: ; // 0x2c45040
|
|
/* 02C45040 */ _t12 = cpu->r[11] + 0x00000238u;
|
|
/* 02C45040 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C45044 */ _t13 = cpu->r[26] + 0x00000000u;
|
|
/* 02C45044 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C45048 */ Gambit_fn_02C366FC(cpu);
|
|
/* 02C4504C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C45050 */ _t14 = cpu->r[26] + 0x00000004u;
|
|
/* 02C45050 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C45054 */ Gambit_fn_02C32E18(cpu);
|
|
/* 02C45058 */ cpu->r[0] = cpu->r[28] + cpu->r[3];
|
|
/* 02C4505C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C45060 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C45060 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C45060 */ if (_t16) goto L_02C45084; else goto L_02C45064;
|
|
L_02C45064: ; // 0x2c45064
|
|
/* 02C45064 */ _t17 = cpu->r[26] + 0x00000000u;
|
|
/* 02C45064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C45068 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C4506C */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4506C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C4506C */ if (_t19) goto L_02C45084; else goto L_02C45070;
|
|
L_02C45070: ; // 0x2c45070
|
|
/* 02C45070 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02C45070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C45074 */ cpu->r[27] = cpu->r[27] + 0x00000040u;
|
|
/* 02C45078 */ cpu->r[22] = 0x00000001u;
|
|
/* 02C4507C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4507C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C4507C */ if (_t21) goto L_02C45080; else goto L_02C450A4;
|
|
L_02C45080: ; // 0x2c45080
|
|
/* 02C45080 */ goto L_02C450AC;
|
|
L_02C45084: ; // 0x2c45084
|
|
/* 02C45084 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 02C45084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C45088 */ cpu->r[25] = cpu->r[25] + 0x00000020u;
|
|
/* 02C4508C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4508C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C4508C */ if (_t23) goto L_02C45098; else goto L_02C45090;
|
|
L_02C45090: ; // 0x2c45090
|
|
/* 02C45090 */ _t24 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C45090 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C45094 */ goto L_02C4502C;
|
|
L_02C45098: ; // 0x2c45098
|
|
/* 02C45098 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02C45098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C4509C */ cpu->r[27] = cpu->r[27] + 0x00000040u;
|
|
/* 02C450A0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C450A0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C450A0 */ if (_t26) goto L_02C450AC; else goto L_02C450A4;
|
|
L_02C450A4: ; // 0x2c450a4
|
|
/* 02C450A4 */ _t27 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C450A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C450A8 */ goto L_02C45024;
|
|
L_02C450AC: ; // 0x2c450ac
|
|
/* 02C450AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C450B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C450B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C450B0 */ if (_t29) goto L_02C450D0; else goto L_02C450B4;
|
|
L_02C450B4: ; // 0x2c450b4
|
|
/* 02C450B4 */ _t30 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C450B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C450B8 */ cpu->r[4] = 0x00000003u;
|
|
/* 02C450BC */ Gambit_fn_02C3CFA0(cpu);
|
|
/* 02C450C0 */ _t31 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C450C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C450C4 */ Gambit_fn_02C449C8(cpu);
|
|
/* 02C450C8 */ _t32 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C450C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C450CC */ Gambit_fn_02C44920(cpu);
|
|
L_02C450D0: ; // 0x2c450d0
|
|
/* 02C450D0 */ /* nop */
|
|
/* 02C450D4 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 02C450D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C450D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C450DC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C450E0 */ return;
|
|
}
|
|
|
|
// fn_02C450E4 @ 0x2c450e4
|
|
void Gambit_fn_02C450E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C450E4: ; // 0x2c450e4
|
|
/* 02C450E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C450E8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C450E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C450EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C450F0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C450F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C450F0 */ cpu->r[1] = _t1;
|
|
/* 02C450F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C450F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C450F4 */ if (_t3) goto L_02C450F8; else goto L_02C45100;
|
|
L_02C450F8: ; // 0x2c450f8
|
|
/* 02C450F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C450FC */ Gambit_fn_02801A78(cpu);
|
|
L_02C45100: ; // 0x2c45100
|
|
/* 02C45100 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C45104 */ cpu->lr = cpu->r[0];
|
|
/* 02C45108 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4510C */ return;
|
|
}
|
|
|
|
// fn_02C450F0 @ 0x2c450f0
|
|
void Gambit_fn_02C450F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C450F0: ; // 0x2c450f0
|
|
/* 02C450F0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C450F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C450F0 */ cpu->r[1] = _t0;
|
|
/* 02C450F4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C450F4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C450F4 */ if (_t2) goto L_02C450F8; else goto L_02C45100;
|
|
L_02C450F8: ; // 0x2c450f8
|
|
/* 02C450F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C450FC */ Gambit_fn_02801A78(cpu);
|
|
L_02C45100: ; // 0x2c45100
|
|
/* 02C45100 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C45104 */ cpu->lr = cpu->r[0];
|
|
/* 02C45108 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4510C */ return;
|
|
}
|
|
|
|
// fn_02C45110 @ 0x2c45110
|
|
void Gambit_fn_02C45110(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C45110: ; // 0x2c45110
|
|
/* 02C45110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45114 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45114 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C45114 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C45114 */ goto L_02C45118;
|
|
L_02C45118: ; // 0x2c45118
|
|
/* 02C45118 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C45118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4511C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4511C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C4511C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4511C */ goto L_02C45120;
|
|
L_02C45120: ; // 0x2c45120
|
|
/* 02C45120 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C45124 @ 0x2c45124
|
|
void Gambit_fn_02C45124(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C45124: ; // 0x2c45124
|
|
/* 02C45124 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C45128 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C45128 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45128 */ cpu->r[1] = _t0;
|
|
/* 02C4512C */ _t1 = cpu->r[12] + 0xFFFFCF98u;
|
|
/* 02C4512C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C45130 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C45134 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45134 */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 02C45138 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45138 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4513C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4513C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C45140 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 02C45144 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C45148 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 02C4514C */ _t5 = cpu->r[12] + 0xFFFFD25Cu;
|
|
/* 02C4514C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C45150 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C45154 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02C45158 */ return;
|
|
}
|
|
|
|
// fn_02C45128 @ 0x2c45128
|
|
void Gambit_fn_02C45128(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C45128: ; // 0x2c45128
|
|
/* 02C45128 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C45128 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45128 */ cpu->r[1] = _t0;
|
|
/* 02C4512C */ _t1 = cpu->r[12] + 0xFFFFCF98u;
|
|
/* 02C4512C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C45130 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C45134 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45134 */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 02C45138 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45138 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4513C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4513C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C45140 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 02C45144 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C45148 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 02C4514C */ _t5 = cpu->r[12] + 0xFFFFD25Cu;
|
|
/* 02C4514C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C45150 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C45154 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02C45158 */ return;
|
|
}
|
|
|
|
// fn_02C4515C @ 0x2c4515c
|
|
void Gambit_fn_02C4515C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_02C4515C: ; // 0x2c4515c
|
|
/* 02C4515C */ cpu->r[0] = cpu->lr;
|
|
/* 02C45160 */ _t0 = cpu->r[1] + 0xFFFFFF40u;
|
|
/* 02C45160 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45160 */ cpu->r[1] = _t0;
|
|
/* 02C45164 */ _t1 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C45164 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C45168 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4516C */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C4516C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C45170 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C45170 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]);
|
|
/* 02C45174 */ _t4 = cpu->r[1] + 0x00000015u;
|
|
/* 02C45174 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[11]);
|
|
/* 02C45178 */ _t5 = cpu->r[1] + 0x00000016u;
|
|
/* 02C45178 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[11]);
|
|
/* 02C4517C */ cpu->r[31] = cpu->r[6];
|
|
/* 02C45180 */ _t6 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C45180 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C45184 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02C45184 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45188 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02C45188 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4518C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C45190 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C45190 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C45194 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C45198 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02C45198 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
|
|
/* 02C4519C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C451A0 */ _t11 = cpu->r[1] + 0x00000017u;
|
|
/* 02C451A0 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[11]);
|
|
/* 02C451A4 */ Gambit_fn_02C3F4DC(cpu);
|
|
/* 02C451A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C451AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C451AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C451AC */ if (_t13) goto L_02C45210; else goto L_02C451B0;
|
|
L_02C451B0: ; // 0x2c451b0
|
|
/* 02C451B0 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C451B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C451B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C451B8 */ Gambit_fn_02C3F8A4(cpu);
|
|
/* 02C451BC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C451C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C451C4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02C451C8 */ Gambit_fn_02C3C820(cpu);
|
|
/* 02C451CC */ cpu->r[5] = 0x00000000u;
|
|
/* 02C451D0 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C451D4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02C451D8 */ Gambit_fn_02C3C9B0(cpu);
|
|
/* 02C451DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C451E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C451E0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C451E0 */ if (_t16) goto L_02C45210; else goto L_02C451E4;
|
|
L_02C451E4: ; // 0x2c451e4
|
|
/* 02C451E4 */ _t17 = cpu->r[1] + 0x00000044u;
|
|
/* 02C451E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C451E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02C451EC */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 02C451EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C451F0 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C451F0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C451F0 */ if (_t20) goto L_02C451F4; else goto L_02C451F8;
|
|
L_02C451F4: ; // 0x2c451f4
|
|
/* 02C451F4 */ cpu->r[3] = 0x00000002u;
|
|
L_02C451F8: ; // 0x2c451f8
|
|
/* 02C451F8 */ _t21 = cpu->r[31] + 0x00000014u;
|
|
/* 02C451F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C451FC */ _t22 = cpu->r[31] + 0x00000018u;
|
|
/* 02C451FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C45200 */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C45200 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C45204 */ Gambit_fn_02C3D400(cpu);
|
|
/* 02C45208 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C45208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4520C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4520C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C4520C */ if (_t25) goto L_02C45210; else goto L_02C4522C;
|
|
L_02C45210: ; // 0x2c45210
|
|
/* 02C45210 */ _t26 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C45210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C45214 */ _t27 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C45214 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C45218 */ cpu->lr = cpu->r[0];
|
|
/* 02C4521C */ _t28 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C4521C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C45220 */ cpu->r[1] = cpu->r[1] + 0x000000C0u;
|
|
/* 02C45224 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C45228 */ return;
|
|
L_02C4522C: ; // 0x2c4522c
|
|
/* 02C4522C */ _t29 = cpu->r[31] + 0x00000007u;
|
|
/* 02C4522C */ cpu->r[11] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02C45230 */ _t30 = cpu->r[1] + 0x00000019u;
|
|
/* 02C45230 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02C45234 */ _t31 = cpu->r[30] + 0x00000224u;
|
|
/* 02C45234 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[11]);
|
|
/* 02C45238 */ _t32 = cpu->r[30] + 0x00000225u;
|
|
/* 02C45238 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
|
|
/* 02C4523C */ _t33 = cpu->r[31] + 0x0000000Bu;
|
|
/* 02C4523C */ cpu->r[3] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02C45240 */ Gambit_fn_02C45124(cpu);
|
|
/* 02C45244 */ _t34 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02C45244 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[1]);
|
|
/* 02C45248 */ cpu->r[9] = 0x43300000u;
|
|
/* 02C4524C */ _t35 = cpu->r[1] + 0x0000001Au;
|
|
/* 02C4524C */ cpu->r[0] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02C45250 */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02C45250 */ rbrew_write32(cpu->mem, _t36, cpu->r[9]);
|
|
/* 02C45254 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C45258 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02C45258 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02C4525C */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 02C4525C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 02C45260 */ _t39 = cpu->r[10] + 0xFFFFCF98u;
|
|
/* 02C45260 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t39);
|
|
/* 02C45264 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02C45268 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4526C */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02C45270 */ _t40 = cpu->r[12] + 0xFFFFD25Cu;
|
|
/* 02C45270 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C45274 */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 02C45278 */ _t41 = cpu->r[30] + 0x00000228u;
|
|
/* 02C45278 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 02C4527C */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4527C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C45280 */ _t43 = cpu->r[30] + 0x00000204u;
|
|
/* 02C45280 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 02C45284 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02C45284 */ cpu->r[4] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02C45288 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C4528C */ Gambit_fn_02C3CB64(cpu);
|
|
/* 02C45290 */ _t45 = cpu->r[1] + 0x00000017u;
|
|
/* 02C45290 */ cpu->r[4] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02C45294 */ Gambit_fn_02C3CB7C(cpu);
|
|
/* 02C45298 */ _t46 = cpu->r[1] + 0x00000015u;
|
|
/* 02C45298 */ cpu->r[4] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02C4529C */ Gambit_fn_02C3CB94(cpu);
|
|
/* 02C452A0 */ _t47 = cpu->r[1] + 0x00000016u;
|
|
/* 02C452A0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t47);
|
|
/* 02C452A4 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C452A8 */ Gambit_fn_02C3CBC0(cpu);
|
|
/* 02C452AC */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02C452AC */ cpu->r[4] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02C452B0 */ Gambit_fn_02C3A41C(cpu);
|
|
/* 02C452B4 */ _t49 = cpu->r[1] + 0x0000001Bu;
|
|
/* 02C452B4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02C452B8 */ _t50 = cpu->r[31] + 0x00000010u;
|
|
/* 02C452B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C452BC */ _t51 = cpu->r[1] + 0x00000020u;
|
|
/* 02C452BC */ rbrew_write32(cpu->mem, _t51, cpu->r[9]);
|
|
/* 02C452C0 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02C452C4 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C452C8 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFC0u;
|
|
/* 02C452CC */ _t52 = cpu->r[10] + 0xFFFFCFA8u;
|
|
/* 02C452CC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 02C452D0 */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 02C452D4 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02C452D4 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02C452D8 */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 02C452D8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 02C452DC */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02C452E0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C452E4 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02C452E8 */ _t55 = cpu->r[12] + 0xFFFFCFB0u;
|
|
/* 02C452E8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02C452EC */ cpu->f[0] = cpu->f[0] / cpu->f[13];
|
|
/* 02C452F0 */ _t56 = cpu->r[30] + 0x000001FCu;
|
|
/* 02C452F0 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[0]);
|
|
/* 02C452F4 */ _t57 = cpu->r[1] + 0x0000001Du;
|
|
/* 02C452F4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02C452F8 */ _t58 = cpu->r[30] + 0x00000226u;
|
|
/* 02C452F8 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[12]);
|
|
/* 02C452FC */ _t59 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C452FC */ cpu->r[11] = rbrew_read8(cpu->mem, _t59);
|
|
/* 02C45300 */ _t60 = cpu->r[30] + 0x000000B5u;
|
|
/* 02C45300 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[11]);
|
|
/* 02C45304 */ _t61 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02C45304 */ cpu->r[10] = rbrew_read8(cpu->mem, _t61);
|
|
/* 02C45308 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4530C */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C45310 */ _t62 = cpu->r[30] + 0x00000227u;
|
|
/* 02C45310 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[10]);
|
|
/* 02C45314 */ _t63 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C45314 */ cpu->r[5] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C45318 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4531C */ Gambit_fn_02C3DD48(cpu);
|
|
/* 02C45320 */ _t64 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C45320 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C45324 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C45328 */ _t65 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C45328 */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C4532C */ cpu->lr = cpu->r[0];
|
|
/* 02C45330 */ _t66 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C45330 */ cpu->r[30] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C45334 */ cpu->r[1] = cpu->r[1] + 0x000000C0u;
|
|
/* 02C45338 */ return;
|
|
}
|
|
|
|
// fn_02C45160 @ 0x2c45160
|
|
void Gambit_fn_02C45160(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_02C45160: ; // 0x2c45160
|
|
/* 02C45160 */ _t0 = cpu->r[1] + 0xFFFFFF40u;
|
|
/* 02C45160 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45160 */ cpu->r[1] = _t0;
|
|
/* 02C45164 */ _t1 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C45164 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C45168 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4516C */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C4516C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C45170 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C45170 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]);
|
|
/* 02C45174 */ _t4 = cpu->r[1] + 0x00000015u;
|
|
/* 02C45174 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[11]);
|
|
/* 02C45178 */ _t5 = cpu->r[1] + 0x00000016u;
|
|
/* 02C45178 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[11]);
|
|
/* 02C4517C */ cpu->r[31] = cpu->r[6];
|
|
/* 02C45180 */ _t6 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C45180 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C45184 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02C45184 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45188 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02C45188 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4518C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C45190 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C45190 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C45194 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C45198 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02C45198 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
|
|
/* 02C4519C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C451A0 */ _t11 = cpu->r[1] + 0x00000017u;
|
|
/* 02C451A0 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[11]);
|
|
/* 02C451A4 */ Gambit_fn_02C3F4DC(cpu);
|
|
/* 02C451A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C451AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C451AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C451AC */ if (_t13) goto L_02C45210; else goto L_02C451B0;
|
|
L_02C451B0: ; // 0x2c451b0
|
|
/* 02C451B0 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C451B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C451B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C451B8 */ Gambit_fn_02C3F8A4(cpu);
|
|
/* 02C451BC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C451C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C451C4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02C451C8 */ Gambit_fn_02C3C820(cpu);
|
|
/* 02C451CC */ cpu->r[5] = 0x00000000u;
|
|
/* 02C451D0 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C451D4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02C451D8 */ Gambit_fn_02C3C9B0(cpu);
|
|
/* 02C451DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C451E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C451E0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C451E0 */ if (_t16) goto L_02C45210; else goto L_02C451E4;
|
|
L_02C451E4: ; // 0x2c451e4
|
|
/* 02C451E4 */ _t17 = cpu->r[1] + 0x00000044u;
|
|
/* 02C451E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C451E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02C451EC */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 02C451EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C451F0 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C451F0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C451F0 */ if (_t20) goto L_02C451F4; else goto L_02C451F8;
|
|
L_02C451F4: ; // 0x2c451f4
|
|
/* 02C451F4 */ cpu->r[3] = 0x00000002u;
|
|
L_02C451F8: ; // 0x2c451f8
|
|
/* 02C451F8 */ _t21 = cpu->r[31] + 0x00000014u;
|
|
/* 02C451F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C451FC */ _t22 = cpu->r[31] + 0x00000018u;
|
|
/* 02C451FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C45200 */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C45200 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C45204 */ Gambit_fn_02C3D400(cpu);
|
|
/* 02C45208 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C45208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4520C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4520C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C4520C */ if (_t25) goto L_02C45210; else goto L_02C4522C;
|
|
L_02C45210: ; // 0x2c45210
|
|
/* 02C45210 */ _t26 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C45210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C45214 */ _t27 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C45214 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C45218 */ cpu->lr = cpu->r[0];
|
|
/* 02C4521C */ _t28 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C4521C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C45220 */ cpu->r[1] = cpu->r[1] + 0x000000C0u;
|
|
/* 02C45224 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C45228 */ return;
|
|
L_02C4522C: ; // 0x2c4522c
|
|
/* 02C4522C */ _t29 = cpu->r[31] + 0x00000007u;
|
|
/* 02C4522C */ cpu->r[11] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02C45230 */ _t30 = cpu->r[1] + 0x00000019u;
|
|
/* 02C45230 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02C45234 */ _t31 = cpu->r[30] + 0x00000224u;
|
|
/* 02C45234 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[11]);
|
|
/* 02C45238 */ _t32 = cpu->r[30] + 0x00000225u;
|
|
/* 02C45238 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
|
|
/* 02C4523C */ _t33 = cpu->r[31] + 0x0000000Bu;
|
|
/* 02C4523C */ cpu->r[3] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02C45240 */ Gambit_fn_02C45124(cpu);
|
|
/* 02C45244 */ _t34 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02C45244 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[1]);
|
|
/* 02C45248 */ cpu->r[9] = 0x43300000u;
|
|
/* 02C4524C */ _t35 = cpu->r[1] + 0x0000001Au;
|
|
/* 02C4524C */ cpu->r[0] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02C45250 */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02C45250 */ rbrew_write32(cpu->mem, _t36, cpu->r[9]);
|
|
/* 02C45254 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C45258 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02C45258 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02C4525C */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 02C4525C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 02C45260 */ _t39 = cpu->r[10] + 0xFFFFCF98u;
|
|
/* 02C45260 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t39);
|
|
/* 02C45264 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02C45268 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4526C */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02C45270 */ _t40 = cpu->r[12] + 0xFFFFD25Cu;
|
|
/* 02C45270 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C45274 */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 02C45278 */ _t41 = cpu->r[30] + 0x00000228u;
|
|
/* 02C45278 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 02C4527C */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4527C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C45280 */ _t43 = cpu->r[30] + 0x00000204u;
|
|
/* 02C45280 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 02C45284 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02C45284 */ cpu->r[4] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02C45288 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C4528C */ Gambit_fn_02C3CB64(cpu);
|
|
/* 02C45290 */ _t45 = cpu->r[1] + 0x00000017u;
|
|
/* 02C45290 */ cpu->r[4] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02C45294 */ Gambit_fn_02C3CB7C(cpu);
|
|
/* 02C45298 */ _t46 = cpu->r[1] + 0x00000015u;
|
|
/* 02C45298 */ cpu->r[4] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02C4529C */ Gambit_fn_02C3CB94(cpu);
|
|
/* 02C452A0 */ _t47 = cpu->r[1] + 0x00000016u;
|
|
/* 02C452A0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t47);
|
|
/* 02C452A4 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C452A8 */ Gambit_fn_02C3CBC0(cpu);
|
|
/* 02C452AC */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02C452AC */ cpu->r[4] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02C452B0 */ Gambit_fn_02C3A41C(cpu);
|
|
/* 02C452B4 */ _t49 = cpu->r[1] + 0x0000001Bu;
|
|
/* 02C452B4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02C452B8 */ _t50 = cpu->r[31] + 0x00000010u;
|
|
/* 02C452B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C452BC */ _t51 = cpu->r[1] + 0x00000020u;
|
|
/* 02C452BC */ rbrew_write32(cpu->mem, _t51, cpu->r[9]);
|
|
/* 02C452C0 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02C452C4 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C452C8 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFC0u;
|
|
/* 02C452CC */ _t52 = cpu->r[10] + 0xFFFFCFA8u;
|
|
/* 02C452CC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 02C452D0 */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 02C452D4 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02C452D4 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02C452D8 */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 02C452D8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 02C452DC */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02C452E0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C452E4 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02C452E8 */ _t55 = cpu->r[12] + 0xFFFFCFB0u;
|
|
/* 02C452E8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02C452EC */ cpu->f[0] = cpu->f[0] / cpu->f[13];
|
|
/* 02C452F0 */ _t56 = cpu->r[30] + 0x000001FCu;
|
|
/* 02C452F0 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[0]);
|
|
/* 02C452F4 */ _t57 = cpu->r[1] + 0x0000001Du;
|
|
/* 02C452F4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02C452F8 */ _t58 = cpu->r[30] + 0x00000226u;
|
|
/* 02C452F8 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[12]);
|
|
/* 02C452FC */ _t59 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C452FC */ cpu->r[11] = rbrew_read8(cpu->mem, _t59);
|
|
/* 02C45300 */ _t60 = cpu->r[30] + 0x000000B5u;
|
|
/* 02C45300 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[11]);
|
|
/* 02C45304 */ _t61 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02C45304 */ cpu->r[10] = rbrew_read8(cpu->mem, _t61);
|
|
/* 02C45308 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4530C */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C45310 */ _t62 = cpu->r[30] + 0x00000227u;
|
|
/* 02C45310 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[10]);
|
|
/* 02C45314 */ _t63 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C45314 */ cpu->r[5] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C45318 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4531C */ Gambit_fn_02C3DD48(cpu);
|
|
/* 02C45320 */ _t64 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C45320 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C45324 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C45328 */ _t65 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C45328 */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C4532C */ cpu->lr = cpu->r[0];
|
|
/* 02C45330 */ _t66 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C45330 */ cpu->r[30] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C45334 */ cpu->r[1] = cpu->r[1] + 0x000000C0u;
|
|
/* 02C45338 */ return;
|
|
}
|
|
|
|
// fn_02C4533C @ 0x2c4533c
|
|
void Gambit_fn_02C4533C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C4533C: ; // 0x2c4533c
|
|
/* 02C4533C */ cpu->r[0] = cpu->lr;
|
|
/* 02C45340 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C45344 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C45344 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C45348 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C4534C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4534C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4534C */ cpu->r[1] = _t1;
|
|
/* 02C45350 */ _t2 = cpu->r[7] + 0x00000025u;
|
|
/* 02C45350 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[11]);
|
|
/* 02C45354 */ _t3 = cpu->r[7] + 0x00000028u;
|
|
/* 02C45354 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]);
|
|
/* 02C45358 */ _t4 = cpu->r[7] + 0x00000024u;
|
|
/* 02C45358 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[11]);
|
|
/* 02C4535C */ _t5 = cpu->r[7] + 0x00000026u;
|
|
/* 02C4535C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[11]);
|
|
/* 02C45360 */ cpu->r[3] = cpu->r[7] + 0x0000002Cu;
|
|
/* 02C45364 */ _t6 = cpu->r[7] + 0x00000027u;
|
|
/* 02C45364 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[11]);
|
|
/* 02C45368 */ Gambit_fn_02C427C4(cpu);
|
|
/* 02C4536C */ _t7 = cpu->r[7] + 0x00000170u;
|
|
/* 02C4536C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02C45370 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C45374 */ cpu->lr = cpu->r[0];
|
|
/* 02C45378 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4537C */ return;
|
|
}
|
|
|
|
// fn_02C4534C @ 0x2c4534c
|
|
void Gambit_fn_02C4534C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C4534C: ; // 0x2c4534c
|
|
/* 02C4534C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4534C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4534C */ cpu->r[1] = _t0;
|
|
/* 02C45350 */ _t1 = cpu->r[7] + 0x00000025u;
|
|
/* 02C45350 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[11]);
|
|
/* 02C45354 */ _t2 = cpu->r[7] + 0x00000028u;
|
|
/* 02C45354 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[11]);
|
|
/* 02C45358 */ _t3 = cpu->r[7] + 0x00000024u;
|
|
/* 02C45358 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]);
|
|
/* 02C4535C */ _t4 = cpu->r[7] + 0x00000026u;
|
|
/* 02C4535C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[11]);
|
|
/* 02C45360 */ cpu->r[3] = cpu->r[7] + 0x0000002Cu;
|
|
/* 02C45364 */ _t5 = cpu->r[7] + 0x00000027u;
|
|
/* 02C45364 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[11]);
|
|
/* 02C45368 */ Gambit_fn_02C427C4(cpu);
|
|
/* 02C4536C */ _t6 = cpu->r[7] + 0x00000170u;
|
|
/* 02C4536C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C45370 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45374 */ cpu->lr = cpu->r[0];
|
|
/* 02C45378 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4537C */ return;
|
|
}
|
|
|
|
// fn_02C45380 @ 0x2c45380
|
|
void Gambit_fn_02C45380(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C45380: ; // 0x2c45380
|
|
/* 02C45380 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02C45380 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02C45384 */ _t1 = cpu->r[3] + 0x00000038u;
|
|
/* 02C45384 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[1]);
|
|
/* 02C45388 */ return;
|
|
}
|
|
|
|
// fn_02C4538C @ 0x2c4538c
|
|
void Gambit_fn_02C4538C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C368FC: ; // 0x2c368fc
|
|
/* 02C368FC */ cpu->r[0] = cpu->lr;
|
|
/* 02C36900 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C36900 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C36900 */ cpu->r[1] = _t0;
|
|
/* 02C36904 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C36904 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C36908 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C36908 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C3690C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C3690C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C36910 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C36910 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C36914 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x000001B4u);
|
|
/* 02C36918 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C3691C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C36920 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C36924 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C36928 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
|
|
/* 02C3692C */ Gambit_fn_02C3371C(cpu);
|
|
/* 02C36930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C36934 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C36934 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C36934 */ if (_t6) goto L_02C3693C; else goto L_02C36938;
|
|
L_02C36938: ; // 0x2c36938
|
|
/* 02C36938 */ _t7 = cpu->r[31] + 0x0000037Cu;
|
|
/* 02C36938 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
L_02C3693C: ; // 0x2c3693c
|
|
/* 02C3693C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C3693C */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C36940 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C36940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C36944 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C36944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C36948 */ cpu->lr = cpu->r[0];
|
|
/* 02C3694C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C3694C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C36950 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C36954 */ return;
|
|
L_02C4538C: ; // 0x2c4538c
|
|
/* 02C4538C */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4538C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C45390 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C45394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45398 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45398 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C45398 */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C45398 */ goto L_02C4539C;
|
|
L_02C4539C: ; // 0x2c4539c
|
|
/* 02C4539C */ cpu->r[5] = cpu->r[4];
|
|
/* 02C453A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C453A4 */ goto L_02C368FC;
|
|
}
|
|
|
|
// fn_02C453A8 @ 0x2c453a8
|
|
void Gambit_fn_02C453A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02C453A8: ; // 0x2c453a8
|
|
/* 02C453A8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C453AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C453AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C453AC */ cpu->r[1] = _t0;
|
|
/* 02C453B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C453B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C453B4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C453B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C453B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C453B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C453BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C453BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C453C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C453C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C453C0 */ if (_t5) goto L_02C453C4; else goto L_02C453D4;
|
|
L_02C453C4: ; // 0x2c453c4
|
|
/* 02C453C4 */ cpu->r[3] = 0x00001AC4u;
|
|
/* 02C453C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C453CC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C453CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C453D0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C453D0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C453D0 */ if (_t7) goto L_02C454C8; else goto L_02C453D4;
|
|
L_02C453D4: ; // 0x2c453d4
|
|
/* 02C453D4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C453D8 */ _t8 = cpu->r[31] + 0x00000024u;
|
|
/* 02C453D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02C453DC */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02C453DC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02C453E0 */ _t10 = cpu->r[31] + 0x00000014u;
|
|
/* 02C453E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02C453E4 */ cpu->r[3] = cpu->r[31] + 0x000002F4u;
|
|
/* 02C453E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C453E8 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02C453E8 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02C453EC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C453EC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C453EC */ if (_t13) goto L_02C453F0; else goto L_02C45400;
|
|
L_02C453F0: ; // 0x2c453f0
|
|
/* 02C453F0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C453F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C453F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C453FC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C453FC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C453FC */ if (_t15) goto L_02C4540C; else goto L_02C45400;
|
|
L_02C45400: ; // 0x2c45400
|
|
/* 02C45400 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02C45400 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02C45404 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45404 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02C45408 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02C45408 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
L_02C4540C: ; // 0x2c4540c
|
|
/* 02C4540C */ cpu->r[3] = cpu->r[31] + 0x00000300u;
|
|
/* 02C45410 */ Gambit_fn_02C2188C(cpu);
|
|
/* 02C45414 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C45418 */ cpu->r[0] = cpu->r[0] + 0xFFFFCF10u;
|
|
/* 02C4541C */ cpu->r[3] = cpu->r[31] + 0x0000033Cu;
|
|
/* 02C45420 */ _t19 = cpu->r[31] + 0x00000334u;
|
|
/* 02C45420 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02C45424 */ Gambit_fn_02C2188C(cpu);
|
|
/* 02C45428 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C4542C */ cpu->r[0] = cpu->r[0] + 0xFFFFCF40u;
|
|
/* 02C45430 */ cpu->r[3] = cpu->r[31] + 0x00000378u;
|
|
/* 02C45430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45434 */ _t20 = cpu->r[31] + 0x00000370u;
|
|
/* 02C45434 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02C45438 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45438 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C45438 */ if (_t22) goto L_02C4543C; else goto L_02C4544C;
|
|
L_02C4543C: ; // 0x2c4543c
|
|
/* 02C4543C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C45440 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C45444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45448 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45448 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C45448 */ if (_t24) goto L_02C45474; else goto L_02C4544C;
|
|
L_02C4544C: ; // 0x2c4544c
|
|
/* 02C4544C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45450 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45450 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C45450 */ if (_t26) goto L_02C45454; else goto L_02C45464;
|
|
L_02C45454: ; // 0x2c45454
|
|
/* 02C45454 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C45458 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4545C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45460 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45460 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C45460 */ if (_t28) goto L_02C45474; else goto L_02C45464;
|
|
L_02C45464: ; // 0x2c45464
|
|
/* 02C45464 */ cpu->r[11] = cpu->r[3] + 0x00000004u;
|
|
/* 02C45468 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45468 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02C4546C */ _t30 = cpu->r[11] + 0x00000004u;
|
|
/* 02C4546C */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 02C45470 */ _t31 = cpu->r[11] + 0x00000000u;
|
|
/* 02C45470 */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
L_02C45474: ; // 0x2c45474
|
|
/* 02C45474 */ cpu->r[3] = cpu->r[31] + 0x00000384u;
|
|
/* 02C45474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45478 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45478 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C45478 */ if (_t33) goto L_02C4547C; else goto L_02C4548C;
|
|
L_02C4547C: ; // 0x2c4547c
|
|
/* 02C4547C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C45480 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C45484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45488 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45488 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C45488 */ if (_t35) goto L_02C45498; else goto L_02C4548C;
|
|
L_02C4548C: ; // 0x2c4548c
|
|
/* 02C4548C */ _t36 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4548C */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
|
|
/* 02C45490 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45490 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02C45494 */ _t38 = cpu->r[3] + 0x00000008u;
|
|
/* 02C45494 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
L_02C45498: ; // 0x2c45498
|
|
/* 02C45498 */ _t39 = cpu->r[31] + 0x00001590u;
|
|
/* 02C45498 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 02C4549C */ cpu->r[3] = cpu->r[31] + 0x00000384u;
|
|
/* 02C454A0 */ cpu->r[4] = cpu->r[31] + 0x00000390u;
|
|
/* 02C454A4 */ _t40 = cpu->r[31] + 0x00001ABCu;
|
|
/* 02C454A4 */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 02C454A8 */ cpu->r[5] = 0x00001200u;
|
|
/* 02C454AC */ cpu->r[6] = 0x00000090u;
|
|
/* 02C454B0 */ _t41 = cpu->r[31] + 0x00001AC0u;
|
|
/* 02C454B0 */ rbrew_write32(cpu->mem, _t41, cpu->r[30]);
|
|
/* 02C454B4 */ Gambit_fn_02C1E2D0(cpu);
|
|
/* 02C454B8 */ cpu->r[5] = 0x0000027Fu;
|
|
/* 02C454BC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C454C0 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02C454C4 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
L_02C454C8: ; // 0x2c454c8
|
|
/* 02C454C8 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02C454C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C454CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C454D0 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C454D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C454D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C454D8 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C454D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C454DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C454E0 */ return;
|
|
}
|
|
|
|
// fn_02C453AC @ 0x2c453ac
|
|
void Gambit_fn_02C453AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02C453AC: ; // 0x2c453ac
|
|
/* 02C453AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C453AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C453AC */ cpu->r[1] = _t0;
|
|
/* 02C453B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C453B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C453B4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C453B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C453B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C453B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C453BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C453BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C453C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C453C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C453C0 */ if (_t5) goto L_02C453C4; else goto L_02C453D4;
|
|
L_02C453C4: ; // 0x2c453c4
|
|
/* 02C453C4 */ cpu->r[3] = 0x00001AC4u;
|
|
/* 02C453C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C453CC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C453CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C453D0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C453D0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C453D0 */ if (_t7) goto L_02C454C8; else goto L_02C453D4;
|
|
L_02C453D4: ; // 0x2c453d4
|
|
/* 02C453D4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C453D8 */ _t8 = cpu->r[31] + 0x00000024u;
|
|
/* 02C453D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02C453DC */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02C453DC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02C453E0 */ _t10 = cpu->r[31] + 0x00000014u;
|
|
/* 02C453E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02C453E4 */ cpu->r[3] = cpu->r[31] + 0x000002F4u;
|
|
/* 02C453E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C453E8 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02C453E8 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02C453EC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C453EC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C453EC */ if (_t13) goto L_02C453F0; else goto L_02C45400;
|
|
L_02C453F0: ; // 0x2c453f0
|
|
/* 02C453F0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C453F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C453F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C453FC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C453FC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C453FC */ if (_t15) goto L_02C4540C; else goto L_02C45400;
|
|
L_02C45400: ; // 0x2c45400
|
|
/* 02C45400 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02C45400 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02C45404 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45404 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02C45408 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02C45408 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
L_02C4540C: ; // 0x2c4540c
|
|
/* 02C4540C */ cpu->r[3] = cpu->r[31] + 0x00000300u;
|
|
/* 02C45410 */ Gambit_fn_02C2188C(cpu);
|
|
/* 02C45414 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C45418 */ cpu->r[0] = cpu->r[0] + 0xFFFFCF10u;
|
|
/* 02C4541C */ cpu->r[3] = cpu->r[31] + 0x0000033Cu;
|
|
/* 02C45420 */ _t19 = cpu->r[31] + 0x00000334u;
|
|
/* 02C45420 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02C45424 */ Gambit_fn_02C2188C(cpu);
|
|
/* 02C45428 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C4542C */ cpu->r[0] = cpu->r[0] + 0xFFFFCF40u;
|
|
/* 02C45430 */ cpu->r[3] = cpu->r[31] + 0x00000378u;
|
|
/* 02C45430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45434 */ _t20 = cpu->r[31] + 0x00000370u;
|
|
/* 02C45434 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02C45438 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45438 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C45438 */ if (_t22) goto L_02C4543C; else goto L_02C4544C;
|
|
L_02C4543C: ; // 0x2c4543c
|
|
/* 02C4543C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C45440 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C45444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45448 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45448 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C45448 */ if (_t24) goto L_02C45474; else goto L_02C4544C;
|
|
L_02C4544C: ; // 0x2c4544c
|
|
/* 02C4544C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45450 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45450 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C45450 */ if (_t26) goto L_02C45454; else goto L_02C45464;
|
|
L_02C45454: ; // 0x2c45454
|
|
/* 02C45454 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C45458 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4545C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45460 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45460 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C45460 */ if (_t28) goto L_02C45474; else goto L_02C45464;
|
|
L_02C45464: ; // 0x2c45464
|
|
/* 02C45464 */ cpu->r[11] = cpu->r[3] + 0x00000004u;
|
|
/* 02C45468 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45468 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02C4546C */ _t30 = cpu->r[11] + 0x00000004u;
|
|
/* 02C4546C */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 02C45470 */ _t31 = cpu->r[11] + 0x00000000u;
|
|
/* 02C45470 */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
L_02C45474: ; // 0x2c45474
|
|
/* 02C45474 */ cpu->r[3] = cpu->r[31] + 0x00000384u;
|
|
/* 02C45474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45478 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45478 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C45478 */ if (_t33) goto L_02C4547C; else goto L_02C4548C;
|
|
L_02C4547C: ; // 0x2c4547c
|
|
/* 02C4547C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C45480 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C45484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45488 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45488 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C45488 */ if (_t35) goto L_02C45498; else goto L_02C4548C;
|
|
L_02C4548C: ; // 0x2c4548c
|
|
/* 02C4548C */ _t36 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4548C */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
|
|
/* 02C45490 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45490 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02C45494 */ _t38 = cpu->r[3] + 0x00000008u;
|
|
/* 02C45494 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
L_02C45498: ; // 0x2c45498
|
|
/* 02C45498 */ _t39 = cpu->r[31] + 0x00001590u;
|
|
/* 02C45498 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 02C4549C */ cpu->r[3] = cpu->r[31] + 0x00000384u;
|
|
/* 02C454A0 */ cpu->r[4] = cpu->r[31] + 0x00000390u;
|
|
/* 02C454A4 */ _t40 = cpu->r[31] + 0x00001ABCu;
|
|
/* 02C454A4 */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 02C454A8 */ cpu->r[5] = 0x00001200u;
|
|
/* 02C454AC */ cpu->r[6] = 0x00000090u;
|
|
/* 02C454B0 */ _t41 = cpu->r[31] + 0x00001AC0u;
|
|
/* 02C454B0 */ rbrew_write32(cpu->mem, _t41, cpu->r[30]);
|
|
/* 02C454B4 */ Gambit_fn_02C1E2D0(cpu);
|
|
/* 02C454B8 */ cpu->r[5] = 0x0000027Fu;
|
|
/* 02C454BC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C454C0 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02C454C4 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
L_02C454C8: ; // 0x2c454c8
|
|
/* 02C454C8 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02C454C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C454CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C454D0 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C454D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C454D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C454D8 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C454D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C454DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C454E0 */ return;
|
|
}
|
|
|
|
// fn_02C454E4 @ 0x2c454e4
|
|
void Gambit_fn_02C454E4(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_02C454E4: ; // 0x2c454e4
|
|
/* 02C454E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C454E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C454E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C454E8 */ cpu->r[1] = _t0;
|
|
/* 02C454EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C454EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C454F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C454F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C454F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C454F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C454F8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C454FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C454FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C45500 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45500 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C45500 */ if (_t5) goto L_02C45570; else goto L_02C45504;
|
|
L_02C45504: ; // 0x2c45504
|
|
/* 02C45504 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C45508 */ Gambit_fn_02C3828C(cpu);
|
|
/* 02C4550C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C45510 */ _t6 = cpu->r[3] + 0xFFFFB924u;
|
|
/* 02C45510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C45514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45518 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45518 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C45518 */ if (_t8) goto L_02C45540; else goto L_02C4551C;
|
|
L_02C4551C: ; // 0x2c4551c
|
|
/* 02C4551C */ _t9 = cpu->r[31] + 0x00001590u;
|
|
/* 02C4551C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C45520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C45524 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45524 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C45524 */ if (_t11) goto L_02C45540; else goto L_02C45528;
|
|
L_02C45528: ; // 0x2c45528
|
|
/* 02C45528 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4552C */ _t13 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C4552C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C45530 */ cpu->ctr = cpu->r[0];
|
|
/* 02C45534 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C45538 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C4553C */ _t14 = cpu->r[31] + 0x00001590u;
|
|
/* 02C4553C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
L_02C45540: ; // 0x2c45540
|
|
/* 02C45540 */ cpu->r[3] = cpu->r[31] + 0x00000384u;
|
|
/* 02C45544 */ Gambit_fn_02C1E38C(cpu);
|
|
/* 02C45548 */ cpu->r[3] = cpu->r[31] + 0x0000033Cu;
|
|
/* 02C4554C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C45550 */ Gambit_fn_02C227C0(cpu);
|
|
/* 02C45554 */ cpu->r[3] = cpu->r[31] + 0x00000300u;
|
|
/* 02C45558 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4555C */ Gambit_fn_02C227C0(cpu);
|
|
/* 02C45560 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C45560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C45564 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45564 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C45564 */ if (_t16) goto L_02C45570; else goto L_02C45568;
|
|
L_02C45568: ; // 0x2c45568
|
|
/* 02C45568 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4556C */ Gambit_fn_02801BB0(cpu);
|
|
L_02C45570: ; // 0x2c45570
|
|
/* 02C45570 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C45570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C45574 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45574 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C45578 */ cpu->lr = cpu->r[0];
|
|
/* 02C4557C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4557C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C45580 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C45584 */ return;
|
|
}
|
|
|
|
// fn_02C454E8 @ 0x2c454e8
|
|
void Gambit_fn_02C454E8(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_02C454E8: ; // 0x2c454e8
|
|
/* 02C454E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C454E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C454E8 */ cpu->r[1] = _t0;
|
|
/* 02C454EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C454EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C454F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C454F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C454F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C454F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C454F8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C454FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C454FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C45500 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45500 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C45500 */ if (_t5) goto L_02C45570; else goto L_02C45504;
|
|
L_02C45504: ; // 0x2c45504
|
|
/* 02C45504 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C45508 */ Gambit_fn_02C3828C(cpu);
|
|
/* 02C4550C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C45510 */ _t6 = cpu->r[3] + 0xFFFFB924u;
|
|
/* 02C45510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C45514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45518 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45518 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C45518 */ if (_t8) goto L_02C45540; else goto L_02C4551C;
|
|
L_02C4551C: ; // 0x2c4551c
|
|
/* 02C4551C */ _t9 = cpu->r[31] + 0x00001590u;
|
|
/* 02C4551C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C45520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C45524 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45524 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C45524 */ if (_t11) goto L_02C45540; else goto L_02C45528;
|
|
L_02C45528: ; // 0x2c45528
|
|
/* 02C45528 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4552C */ _t13 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C4552C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C45530 */ cpu->ctr = cpu->r[0];
|
|
/* 02C45534 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C45538 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C4553C */ _t14 = cpu->r[31] + 0x00001590u;
|
|
/* 02C4553C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
L_02C45540: ; // 0x2c45540
|
|
/* 02C45540 */ cpu->r[3] = cpu->r[31] + 0x00000384u;
|
|
/* 02C45544 */ Gambit_fn_02C1E38C(cpu);
|
|
/* 02C45548 */ cpu->r[3] = cpu->r[31] + 0x0000033Cu;
|
|
/* 02C4554C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C45550 */ Gambit_fn_02C227C0(cpu);
|
|
/* 02C45554 */ cpu->r[3] = cpu->r[31] + 0x00000300u;
|
|
/* 02C45558 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4555C */ Gambit_fn_02C227C0(cpu);
|
|
/* 02C45560 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C45560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C45564 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45564 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C45564 */ if (_t16) goto L_02C45570; else goto L_02C45568;
|
|
L_02C45568: ; // 0x2c45568
|
|
/* 02C45568 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4556C */ Gambit_fn_02801BB0(cpu);
|
|
L_02C45570: ; // 0x2c45570
|
|
/* 02C45570 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C45570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C45574 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45574 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C45578 */ cpu->lr = cpu->r[0];
|
|
/* 02C4557C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4557C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C45580 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C45584 */ return;
|
|
}
|
|
|
|
// fn_02C45588 @ 0x2c45588
|
|
void Gambit_fn_02C45588(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C45588: ; // 0x2c45588
|
|
/* 02C45588 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4558C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4558C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4558C */ cpu->r[1] = _t0;
|
|
/* 02C45590 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45590 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C45594 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C45598 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45598 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4559C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4559C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C455A0 */ Gambit_fn_02C28F0C(cpu);
|
|
/* 02C455A4 */ cpu->r[4] = 0x00000014u;
|
|
/* 02C455A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C455AC */ Gambit_fn_02C1EA54(cpu);
|
|
/* 02C455B0 */ cpu->r[0] = 0x00000038u;
|
|
/* 02C455B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C455B8 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C455B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C455BC */ _t5 = cpu->r[30] + 0x00000010u;
|
|
/* 02C455BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C455C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C455C4 */ _t6 = cpu->r[4] + 0x00000010u;
|
|
/* 02C455C4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C455C8 */ Gambit_fn_02C1EB5C(cpu);
|
|
/* 02C455CC */ cpu->r[4] = 0x00000001u;
|
|
/* 02C455D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C455D4 */ Gambit_fn_02C1EC30(cpu);
|
|
/* 02C455D8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C455D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C455DC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C455DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C455E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C455E4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C455E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C455E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C455EC */ return;
|
|
}
|
|
|
|
// fn_02C4558C @ 0x2c4558c
|
|
void Gambit_fn_02C4558C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C4558C: ; // 0x2c4558c
|
|
/* 02C4558C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4558C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4558C */ cpu->r[1] = _t0;
|
|
/* 02C45590 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45590 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C45594 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C45598 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45598 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4559C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4559C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C455A0 */ Gambit_fn_02C28F0C(cpu);
|
|
/* 02C455A4 */ cpu->r[4] = 0x00000014u;
|
|
/* 02C455A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C455AC */ Gambit_fn_02C1EA54(cpu);
|
|
/* 02C455B0 */ cpu->r[0] = 0x00000038u;
|
|
/* 02C455B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C455B8 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C455B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C455BC */ _t5 = cpu->r[30] + 0x00000010u;
|
|
/* 02C455BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C455C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C455C4 */ _t6 = cpu->r[4] + 0x00000010u;
|
|
/* 02C455C4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C455C8 */ Gambit_fn_02C1EB5C(cpu);
|
|
/* 02C455CC */ cpu->r[4] = 0x00000001u;
|
|
/* 02C455D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C455D4 */ Gambit_fn_02C1EC30(cpu);
|
|
/* 02C455D8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C455D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C455DC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C455DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C455E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C455E4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C455E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C455E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C455EC */ return;
|
|
}
|
|
|
|
// fn_02C455F0 @ 0x2c455f0
|
|
void Gambit_fn_02C455F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56;
|
|
|
|
L_02C455F0: ; // 0x2c455f0
|
|
/* 02C455F0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C455F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C455F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C455F4 */ cpu->r[1] = _t0;
|
|
/* 02C455F8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C455F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C455FC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C455FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C45600 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C45604 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C45604 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C45608 */ _t4 = cpu->r[30] + 0x00000020u;
|
|
/* 02C45608 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4560C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45610 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45610 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C45610 */ if (_t6) goto L_02C45614; else goto L_02C45624;
|
|
L_02C45614: ; // 0x2c45614
|
|
/* 02C45614 */ _t7 = cpu->r[30] + 0x00000014u;
|
|
/* 02C45614 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4561C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4561C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4561C */ if (_t9) goto L_02C45620; else goto L_02C45714;
|
|
L_02C45620: ; // 0x2c45620
|
|
/* 02C45620 */ goto L_02C45678;
|
|
L_02C45624: ; // 0x2c45624
|
|
/* 02C45624 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45624 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C45628 */ _t11 = cpu->r[30] + 0x000002C4u;
|
|
/* 02C45628 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4562C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C45630 */ _t12 = cpu->r[30] + 0x000002C0u;
|
|
/* 02C45630 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C45634 */ _t13 = cpu->r[30] + 0x00000024u;
|
|
/* 02C45634 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C45638 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45638 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C45638 */ if (_t15) goto L_02C45668; else goto L_02C4563C;
|
|
L_02C4563C: ; // 0x2c4563c
|
|
/* 02C4563C */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4563C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C45640 */ _t17 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C45640 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C45644 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C45648 */ cpu->ctr = cpu->r[11];
|
|
/* 02C4564C */ cpu->r[9] = cpu->r[9] + 0xFFFFBBB0u;
|
|
/* 02C45650 */ cpu->r[5] = 0x00000200u;
|
|
/* 02C45654 */ cpu->r[4] = cpu->r[30] + 0x000018BCu;
|
|
/* 02C45658 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4565C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C45660 */ _t18 = cpu->r[30] + 0x00000014u;
|
|
/* 02C45660 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02C45664 */ goto L_02C45670;
|
|
L_02C45668: ; // 0x2c45668
|
|
/* 02C45668 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C4566C */ _t19 = cpu->r[30] + 0x00000014u;
|
|
/* 02C4566C */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
L_02C45670: ; // 0x2c45670
|
|
/* 02C45670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C45674 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45674 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C45674 */ if (_t21) goto L_02C45678; else goto L_02C45714;
|
|
L_02C45678: ; // 0x2c45678
|
|
/* 02C45678 */ cpu->r[31] = cpu->r[30] + 0x000018BCu;
|
|
/* 02C45678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4567C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4567C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C4567C */ if (_t23) goto L_02C4568C; else goto L_02C45680;
|
|
L_02C45680: ; // 0x2c45680
|
|
/* 02C45680 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C45684 */ Gambit_fn_02C205BC(cpu);
|
|
/* 02C45688 */ cpu->r[31] = cpu->r[3];
|
|
L_02C4568C: ; // 0x2c4568c
|
|
/* 02C4568C */ _t24 = cpu->r[30] + 0x000002D0u;
|
|
/* 02C4568C */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C45690 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C45694 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C45698 */ _t25 = cpu->r[31] + 0x00000084u;
|
|
/* 02C45698 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
|
|
/* 02C4569C */ _t26 = cpu->r[30] + 0x000002CCu;
|
|
/* 02C4569C */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C456A0 */ cpu->r[6] = cpu->r[6] + 0xFFFFD260u;
|
|
/* 02C456A4 */ _t27 = cpu->r[30] + 0x000002C8u;
|
|
/* 02C456A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C456A8 */ cpu->r[5] = cpu->r[30] + 0x00000040u;
|
|
/* 02C456AC */ Gambit_fn_02C1F6BC(cpu);
|
|
/* 02C456B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C456B4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C456B4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C456B4 */ if (_t29) goto L_02C456B8; else goto L_02C456D4;
|
|
L_02C456B8: ; // 0x2c456b8
|
|
/* 02C456B8 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C456B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C456BC */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C456BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C456C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C456C4 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C456C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C456C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C456CC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C456D0 */ return;
|
|
L_02C456D4: ; // 0x2c456d4
|
|
/* 02C456D4 */ _t33 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C456D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C456D8 */ _t34 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02C456D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C456DC */ cpu->ctr = cpu->r[0];
|
|
/* 02C456E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C456E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C456E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C456EC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C456EC */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C456EC */ if (_t36) goto L_02C45710; else goto L_02C456F0;
|
|
L_02C456F0: ; // 0x2c456f0
|
|
/* 02C456F0 */ _t37 = cpu->r[30] + 0x000002C0u;
|
|
/* 02C456F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C456F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C456F8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C456F8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C456F8 */ if (_t39) goto L_02C45710; else goto L_02C456FC;
|
|
L_02C456FC: ; // 0x2c456fc
|
|
/* 02C456FC */ _t40 = cpu->r[30] + 0x000002C4u;
|
|
/* 02C456FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C45700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C45704 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45704 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C45704 */ if (_t42) goto L_02C45710; else goto L_02C45708;
|
|
L_02C45708: ; // 0x2c45708
|
|
/* 02C45708 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4570C */ Gambit_fn_02C206BC(cpu);
|
|
L_02C45710: ; // 0x2c45710
|
|
/* 02C45710 */ _t43 = cpu->r[30] + 0x00000014u;
|
|
/* 02C45710 */ rbrew_write32(cpu->mem, _t43, cpu->r[31]);
|
|
L_02C45714: ; // 0x2c45714
|
|
/* 02C45714 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C45718 */ _t44 = cpu->r[30] + 0x00000000u;
|
|
/* 02C45718 */ rbrew_write32(cpu->mem, _t44, cpu->r[31]);
|
|
/* 02C4571C */ _t45 = cpu->r[3] + 0xFFFFB924u;
|
|
/* 02C4571C */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C45720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45724 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45724 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C45724 */ if (_t47) goto L_02C45748; else goto L_02C45728;
|
|
L_02C45728: ; // 0x2c45728
|
|
/* 02C45728 */ _t48 = cpu->r[30] + 0x00001590u;
|
|
/* 02C45728 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C4572C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C45730 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45730 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C45730 */ if (_t50) goto L_02C45734; else goto L_02C45748;
|
|
L_02C45734: ; // 0x2c45734
|
|
/* 02C45734 */ _t51 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45734 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C45738 */ _t52 = cpu->r[12] + 0x00000014u;
|
|
/* 02C45738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C4573C */ cpu->ctr = cpu->r[0];
|
|
/* 02C45740 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C45744 */ _t53 = cpu->r[30] + 0x00001590u;
|
|
/* 02C45744 */ rbrew_write32(cpu->mem, _t53, cpu->r[3]);
|
|
L_02C45748: ; // 0x2c45748
|
|
/* 02C45748 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02C45748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C4574C */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4574C */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C45750 */ cpu->lr = cpu->r[0];
|
|
/* 02C45754 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45754 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C45758 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4575C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C45760 */ return;
|
|
}
|
|
|
|
// fn_02C455F4 @ 0x2c455f4
|
|
void Gambit_fn_02C455F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56;
|
|
|
|
L_02C455F4: ; // 0x2c455f4
|
|
/* 02C455F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C455F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C455F4 */ cpu->r[1] = _t0;
|
|
/* 02C455F8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C455F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C455FC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C455FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C45600 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C45604 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C45604 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C45608 */ _t4 = cpu->r[30] + 0x00000020u;
|
|
/* 02C45608 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4560C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45610 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45610 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C45610 */ if (_t6) goto L_02C45614; else goto L_02C45624;
|
|
L_02C45614: ; // 0x2c45614
|
|
/* 02C45614 */ _t7 = cpu->r[30] + 0x00000014u;
|
|
/* 02C45614 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4561C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4561C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4561C */ if (_t9) goto L_02C45620; else goto L_02C45714;
|
|
L_02C45620: ; // 0x2c45620
|
|
/* 02C45620 */ goto L_02C45678;
|
|
L_02C45624: ; // 0x2c45624
|
|
/* 02C45624 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45624 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C45628 */ _t11 = cpu->r[30] + 0x000002C4u;
|
|
/* 02C45628 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4562C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C45630 */ _t12 = cpu->r[30] + 0x000002C0u;
|
|
/* 02C45630 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C45634 */ _t13 = cpu->r[30] + 0x00000024u;
|
|
/* 02C45634 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C45638 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45638 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C45638 */ if (_t15) goto L_02C45668; else goto L_02C4563C;
|
|
L_02C4563C: ; // 0x2c4563c
|
|
/* 02C4563C */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4563C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C45640 */ _t17 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C45640 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C45644 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C45648 */ cpu->ctr = cpu->r[11];
|
|
/* 02C4564C */ cpu->r[9] = cpu->r[9] + 0xFFFFBBB0u;
|
|
/* 02C45650 */ cpu->r[5] = 0x00000200u;
|
|
/* 02C45654 */ cpu->r[4] = cpu->r[30] + 0x000018BCu;
|
|
/* 02C45658 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4565C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C45660 */ _t18 = cpu->r[30] + 0x00000014u;
|
|
/* 02C45660 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02C45664 */ goto L_02C45670;
|
|
L_02C45668: ; // 0x2c45668
|
|
/* 02C45668 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C4566C */ _t19 = cpu->r[30] + 0x00000014u;
|
|
/* 02C4566C */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
L_02C45670: ; // 0x2c45670
|
|
/* 02C45670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C45674 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45674 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C45674 */ if (_t21) goto L_02C45678; else goto L_02C45714;
|
|
L_02C45678: ; // 0x2c45678
|
|
/* 02C45678 */ cpu->r[31] = cpu->r[30] + 0x000018BCu;
|
|
/* 02C45678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4567C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4567C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C4567C */ if (_t23) goto L_02C4568C; else goto L_02C45680;
|
|
L_02C45680: ; // 0x2c45680
|
|
/* 02C45680 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C45684 */ Gambit_fn_02C205BC(cpu);
|
|
/* 02C45688 */ cpu->r[31] = cpu->r[3];
|
|
L_02C4568C: ; // 0x2c4568c
|
|
/* 02C4568C */ _t24 = cpu->r[30] + 0x000002D0u;
|
|
/* 02C4568C */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C45690 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C45694 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C45698 */ _t25 = cpu->r[31] + 0x00000084u;
|
|
/* 02C45698 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
|
|
/* 02C4569C */ _t26 = cpu->r[30] + 0x000002CCu;
|
|
/* 02C4569C */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C456A0 */ cpu->r[6] = cpu->r[6] + 0xFFFFD260u;
|
|
/* 02C456A4 */ _t27 = cpu->r[30] + 0x000002C8u;
|
|
/* 02C456A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C456A8 */ cpu->r[5] = cpu->r[30] + 0x00000040u;
|
|
/* 02C456AC */ Gambit_fn_02C1F6BC(cpu);
|
|
/* 02C456B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C456B4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C456B4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C456B4 */ if (_t29) goto L_02C456B8; else goto L_02C456D4;
|
|
L_02C456B8: ; // 0x2c456b8
|
|
/* 02C456B8 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C456B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C456BC */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C456BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C456C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C456C4 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C456C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C456C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C456CC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C456D0 */ return;
|
|
L_02C456D4: ; // 0x2c456d4
|
|
/* 02C456D4 */ _t33 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C456D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C456D8 */ _t34 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02C456D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C456DC */ cpu->ctr = cpu->r[0];
|
|
/* 02C456E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C456E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C456E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C456EC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C456EC */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C456EC */ if (_t36) goto L_02C45710; else goto L_02C456F0;
|
|
L_02C456F0: ; // 0x2c456f0
|
|
/* 02C456F0 */ _t37 = cpu->r[30] + 0x000002C0u;
|
|
/* 02C456F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C456F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C456F8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C456F8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C456F8 */ if (_t39) goto L_02C45710; else goto L_02C456FC;
|
|
L_02C456FC: ; // 0x2c456fc
|
|
/* 02C456FC */ _t40 = cpu->r[30] + 0x000002C4u;
|
|
/* 02C456FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C45700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C45704 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45704 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C45704 */ if (_t42) goto L_02C45710; else goto L_02C45708;
|
|
L_02C45708: ; // 0x2c45708
|
|
/* 02C45708 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4570C */ Gambit_fn_02C206BC(cpu);
|
|
L_02C45710: ; // 0x2c45710
|
|
/* 02C45710 */ _t43 = cpu->r[30] + 0x00000014u;
|
|
/* 02C45710 */ rbrew_write32(cpu->mem, _t43, cpu->r[31]);
|
|
L_02C45714: ; // 0x2c45714
|
|
/* 02C45714 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C45718 */ _t44 = cpu->r[30] + 0x00000000u;
|
|
/* 02C45718 */ rbrew_write32(cpu->mem, _t44, cpu->r[31]);
|
|
/* 02C4571C */ _t45 = cpu->r[3] + 0xFFFFB924u;
|
|
/* 02C4571C */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C45720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45724 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45724 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C45724 */ if (_t47) goto L_02C45748; else goto L_02C45728;
|
|
L_02C45728: ; // 0x2c45728
|
|
/* 02C45728 */ _t48 = cpu->r[30] + 0x00001590u;
|
|
/* 02C45728 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C4572C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C45730 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45730 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C45730 */ if (_t50) goto L_02C45734; else goto L_02C45748;
|
|
L_02C45734: ; // 0x2c45734
|
|
/* 02C45734 */ _t51 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45734 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C45738 */ _t52 = cpu->r[12] + 0x00000014u;
|
|
/* 02C45738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C4573C */ cpu->ctr = cpu->r[0];
|
|
/* 02C45740 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C45744 */ _t53 = cpu->r[30] + 0x00001590u;
|
|
/* 02C45744 */ rbrew_write32(cpu->mem, _t53, cpu->r[3]);
|
|
L_02C45748: ; // 0x2c45748
|
|
/* 02C45748 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02C45748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C4574C */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4574C */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C45750 */ cpu->lr = cpu->r[0];
|
|
/* 02C45754 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45754 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C45758 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4575C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C45760 */ return;
|
|
}
|
|
|
|
// fn_02C45768 @ 0x2c45768
|
|
void Gambit_fn_02C45768(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02C45768: ; // 0x2c45768
|
|
/* 02C45768 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C45768 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45768 */ cpu->r[1] = _t0;
|
|
/* 02C4576C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4576C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C45770 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C45774 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45774 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C45778 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C4577C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4577C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C45780 */ _t4 = cpu->r[3] + 0xFFFFB924u;
|
|
/* 02C45780 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C45784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45788 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C4578C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4578C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4578C */ if (_t6) goto L_02C457B0; else goto L_02C45790;
|
|
L_02C45790: ; // 0x2c45790
|
|
/* 02C45790 */ _t7 = cpu->r[31] + 0x00001590u;
|
|
/* 02C45790 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C45798 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45798 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C45798 */ if (_t9) goto L_02C457B0; else goto L_02C4579C;
|
|
L_02C4579C: ; // 0x2c4579c
|
|
/* 02C4579C */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4579C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C457A0 */ _t11 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C457A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C457A4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C457A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C457AC */ _t12 = cpu->r[31] + 0x00001590u;
|
|
/* 02C457AC */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02C457B0: ; // 0x2c457b0
|
|
/* 02C457B0 */ _t13 = cpu->r[31] + 0x00000014u;
|
|
/* 02C457B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C457B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C457B8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C457B8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C457B8 */ if (_t15) goto L_02C457D4; else goto L_02C457BC;
|
|
L_02C457BC: ; // 0x2c457bc
|
|
/* 02C457BC */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C457BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C457C0 */ _t17 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02C457C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C457C4 */ cpu->ctr = cpu->r[11];
|
|
/* 02C457C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C457CC */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02C457CC */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02C457D0 */ _t19 = cpu->r[31] + 0x00000014u;
|
|
/* 02C457D0 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_02C457D4: ; // 0x2c457d4
|
|
/* 02C457D4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02C457D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C457D8 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C457D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C457DC */ cpu->lr = cpu->r[0];
|
|
/* 02C457E0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C457E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C457E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C457E8 */ return;
|
|
}
|
|
|
|
// fn_02C457EC @ 0x2c457ec
|
|
void Gambit_fn_02C457EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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;
|
|
|
|
L_02C457EC: ; // 0x2c457ec
|
|
/* 02C457EC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C457EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C457EC */ cpu->r[1] = _t0;
|
|
/* 02C457F0 */ /* nop */
|
|
/* 02C457F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C457F8 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C457F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C457FC */ cpu->r[29] = cpu->r[4];
|
|
/* 02C45800 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C45804 */ _t2 = cpu->r[29] + 0x00000004u;
|
|
/* 02C45804 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C45808 */ Gambit_fn_02C41CA8(cpu);
|
|
/* 02C4580C */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4580C */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C45810 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000008u);
|
|
/* 02C45814 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C45814 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C45814 */ if (_t5) goto L_02C45818; else goto L_02C4581C;
|
|
L_02C45818: ; // 0x2c45818
|
|
/* 02C45818 */ cpu->r[31] = 0x00000008u;
|
|
L_02C4581C: ; // 0x2c4581c
|
|
/* 02C4581C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C45820 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C45824 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45824 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C45824 */ if (_t7) goto L_02C45978; else goto L_02C45828;
|
|
L_02C45828: ; // 0x2c45828
|
|
/* 02C45828 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C4582C */ cpu->r[26] = 0x00000040u;
|
|
/* 02C45830 */ cpu->r[25] = cpu->r[1] + 0x0000000Du;
|
|
/* 02C45834 */ cpu->r[24] = cpu->r[30];
|
|
/* 02C45838 */ cpu->r[27] = 0x0000007Fu;
|
|
L_02C4583C: ; // 0x2c4583c
|
|
/* 02C4583C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4583C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[24]);
|
|
/* 02C45840 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C45844 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C45848 */ _t9 = cpu->r[1] + 0x00000009u;
|
|
/* 02C45848 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[24]);
|
|
/* 02C4584C */ cpu->r[5] = 0x00000002u;
|
|
/* 02C45850 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45850 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[24]);
|
|
/* 02C45854 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C45858 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4585C */ cpu->r[5] = cpu->r[23];
|
|
/* 02C45860 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C45864 */ Gambit_fn_02C41F8C(cpu);
|
|
/* 02C45868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4586C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4586C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4586C */ if (_t12) goto L_02C45870; else goto L_02C45888;
|
|
L_02C45870: ; // 0x2c45870
|
|
/* 02C45870 */ /* nop */
|
|
/* 02C45874 */ _t13 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C45874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C45878 */ cpu->lr = cpu->r[0];
|
|
/* 02C4587C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C45880 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C45884 */ return;
|
|
L_02C45888: ; // 0x2c45888
|
|
/* 02C45888 */ _t14 = cpu->r[28] + 0x00000018u;
|
|
/* 02C45888 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4588C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4588C */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02C45890 */ cpu->r[10] = cpu->r[11] + cpu->r[30];
|
|
/* 02C45894 */ _t16 = cpu->r[10] + 0x00000034u;
|
|
/* 02C45894 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
/* 02C45898 */ _t17 = cpu->r[28] + 0x00000018u;
|
|
/* 02C45898 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4589C */ cpu->r[4] = cpu->r[6] + cpu->r[30];
|
|
/* 02C458A0 */ _t18 = cpu->r[1] + 0x00000009u;
|
|
/* 02C458A0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C458A4 */ _t19 = cpu->r[4] + 0x00000035u;
|
|
/* 02C458A4 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[8]);
|
|
/* 02C458A8 */ _t20 = cpu->r[28] + 0x00000018u;
|
|
/* 02C458A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C458AC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C458AC */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C458B0 */ cpu->r[9] = cpu->r[10] + cpu->r[30];
|
|
/* 02C458B4 */ _t22 = cpu->r[9] + 0x0000003Fu;
|
|
/* 02C458B4 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[12]);
|
|
/* 02C458B8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C458B8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C458BC */ cpu->r[8] = 0x00000000u;
|
|
/* 02C458C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[5]);
|
|
/* 02C458C4 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C458C4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C458C4 */ if (_t25) goto L_02C458C8; else goto L_02C458F4;
|
|
L_02C458C8: ; // 0x2c458c8
|
|
/* 02C458C8 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
L_02C458CC: ; // 0x2c458cc
|
|
/* 02C458CC */ _t26 = cpu->r[28] + 0x00000018u;
|
|
/* 02C458CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C458D0 */ cpu->r[12] = cpu->r[4] + 0x00000034u;
|
|
/* 02C458D4 */ cpu->r[5] = cpu->r[12] + cpu->r[30];
|
|
/* 02C458D8 */ _t27 = cpu->r[9] + 0x00000001u;
|
|
/* 02C458D8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02C458D8 */ cpu->r[9] = _t27;
|
|
/* 02C458DC */ cpu->r[6] = cpu->r[5] + cpu->r[8];
|
|
/* 02C458E0 */ _t28 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C458E0 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[7]);
|
|
/* 02C458E4 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C458E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02C458E8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C458EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[12]);
|
|
/* 02C458F0 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C458F0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C458F0 */ if (_t31) goto L_02C458CC; else goto L_02C458F4;
|
|
L_02C458F4: ; // 0x2c458f4
|
|
/* 02C458F4 */ _t32 = cpu->r[28] + 0x00000018u;
|
|
/* 02C458F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C458F8 */ cpu->r[9] = cpu->r[10] + cpu->r[30];
|
|
/* 02C458FC */ _t33 = cpu->r[9] + 0x00000036u;
|
|
/* 02C458FC */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[24]);
|
|
/* 02C45900 */ _t34 = cpu->r[28] + 0x00000018u;
|
|
/* 02C45900 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C45904 */ cpu->r[11] = cpu->r[8] + cpu->r[30];
|
|
/* 02C45908 */ cpu->r[7] = 0x00000003u;
|
|
/* 02C4590C */ _t35 = cpu->r[11] + 0x00000037u;
|
|
/* 02C4590C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[24]);
|
|
/* 02C45910 */ _t36 = cpu->r[28] + 0x00000018u;
|
|
/* 02C45910 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C45914 */ cpu->ctr = cpu->r[7];
|
|
/* 02C45918 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C4591C */ cpu->r[9] = cpu->r[11] + cpu->r[30];
|
|
/* 02C45920 */ cpu->r[0] = cpu->r[10];
|
|
/* 02C45924 */ _t37 = cpu->r[9] + 0x00000038u;
|
|
/* 02C45924 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[27]);
|
|
L_02C45928: ; // 0x2c45928
|
|
/* 02C45928 */ _t38 = cpu->r[28] + 0x00000018u;
|
|
/* 02C45928 */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C4592C */ cpu->r[12] = cpu->r[4] + 0x00000034u;
|
|
/* 02C45930 */ cpu->r[5] = cpu->r[12] + cpu->r[30];
|
|
/* 02C45934 */ cpu->r[6] = cpu->r[5] + cpu->r[10];
|
|
/* 02C45938 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C4593C */ _t39 = cpu->r[6] + 0x00000005u;
|
|
/* 02C4593C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 02C45940 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C45940 */ _t40 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C45940 */ _t41 = _t40 >> (0x00000002u & 31u);
|
|
/* 02C45940 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C45940 */ if (_t42) goto L_02C45928; else goto L_02C45944;
|
|
L_02C45944: ; // 0x2c45944
|
|
/* 02C45944 */ _t43 = cpu->r[28] + 0x00000018u;
|
|
/* 02C45944 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C45948 */ cpu->r[7] = cpu->r[9] + cpu->r[30];
|
|
/* 02C4594C */ _t44 = cpu->r[7] + 0x0000003Cu;
|
|
/* 02C4594C */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[26]);
|
|
/* 02C45950 */ _t45 = cpu->r[28] + 0x00000018u;
|
|
/* 02C45950 */ cpu->r[4] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C45954 */ cpu->r[12] = cpu->r[4] + cpu->r[30];
|
|
/* 02C45958 */ _t46 = cpu->r[12] + 0x0000003Du;
|
|
/* 02C45958 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[24]);
|
|
/* 02C4595C */ _t47 = cpu->r[28] + 0x00000018u;
|
|
/* 02C4595C */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C45960 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02C45964 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C45964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C45968 */ cpu->r[5] = cpu->r[6] + cpu->r[30];
|
|
/* 02C4596C */ cpu->r[30] = cpu->r[30] + 0x0000000Eu;
|
|
/* 02C45970 */ _t48 = cpu->r[5] + 0x0000003Eu;
|
|
/* 02C45970 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[24]);
|
|
/* 02C45974 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45974 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C45974 */ if (_t50) goto L_02C45978; else goto L_02C4583C;
|
|
L_02C45978: ; // 0x2c45978
|
|
/* 02C45978 */ /* nop */
|
|
/* 02C4597C */ _t51 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4597C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C45980 */ cpu->lr = cpu->r[0];
|
|
/* 02C45984 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C45988 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C4598C */ return;
|
|
}
|
|
|
|
// fn_02C45990 @ 0x2c45990
|
|
void Gambit_fn_02C45990(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02C45990: ; // 0x2c45990
|
|
/* 02C45990 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C45990 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45990 */ cpu->r[1] = _t0;
|
|
/* 02C45994 */ cpu->r[0] = cpu->lr;
|
|
/* 02C45998 */ /* nop */
|
|
/* 02C4599C */ cpu->r[31] = cpu->r[6];
|
|
/* 02C459A0 */ cpu->r[7] = cpu->r[5];
|
|
/* 02C459A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C459A4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C459A8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C459AC */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02C459AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C459B0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C459B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C459B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C459B4 */ if (_t3) goto L_02C45A70; else goto L_02C459B8;
|
|
L_02C459B8: ; // 0x2c459b8
|
|
/* 02C459B8 */ cpu->r[28] = cpu->r[1] + 0x00000010u;
|
|
/* 02C459BC */ cpu->r[27] = 0x00000000u;
|
|
L_02C459C0: ; // 0x2c459c0
|
|
/* 02C459C0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C459C4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02C459C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C459CC */ Gambit_fn_02C42064(cpu);
|
|
/* 02C459D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C459D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C459D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C459D4 */ if (_t5) goto L_02C459D8; else goto L_02C459F0;
|
|
L_02C459D8: ; // 0x2c459d8
|
|
/* 02C459D8 */ /* nop */
|
|
/* 02C459DC */ _t6 = cpu->r[1] + 0x00000054u;
|
|
/* 02C459DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C459E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C459E4 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C459E8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C459EC */ return;
|
|
L_02C459F0: ; // 0x2c459f0
|
|
/* 02C459F0 */ cpu->r[12] = cpu->r[29] + 0x00001598u;
|
|
/* 02C459F4 */ cpu->r[0] = 0x00000008u;
|
|
/* 02C459F8 */ cpu->r[3] = cpu->r[12] + cpu->r[27];
|
|
/* 02C459FC */ cpu->ctr = cpu->r[0];
|
|
/* 02C45A00 */ cpu->r[5] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 02C45A04 */ cpu->r[12] = cpu->r[28] + 0xFFFFFFFCu;
|
|
/* 02C45A08 */ cpu->r[10] = 0x00000000u;
|
|
L_02C45A0C: ; // 0x2c45a0c
|
|
/* 02C45A0C */ _t7 = cpu->r[12] + 0x00000004u;
|
|
/* 02C45A0C */ cpu->r[0] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C45A0C */ cpu->r[12] = _t7;
|
|
/* 02C45A10 */ _t8 = cpu->r[3] + cpu->r[10];
|
|
/* 02C45A10 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]);
|
|
/* 02C45A14 */ _t9 = cpu->r[12] + 0x00000002u;
|
|
/* 02C45A14 */ cpu->r[4] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C45A18 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C45A1C */ _t10 = cpu->r[5] + 0x00000006u;
|
|
/* 02C45A1C */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[4]);
|
|
/* 02C45A20 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 02C45A24 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C45A24 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C45A24 */ _t12 = _t11 >> (0x00000002u & 31u);
|
|
/* 02C45A24 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C45A24 */ if (_t13) goto L_02C45A0C; else goto L_02C45A28;
|
|
L_02C45A28: ; // 0x2c45a28
|
|
/* 02C45A28 */ _t14 = cpu->r[1] + 0x00000030u;
|
|
/* 02C45A28 */ cpu->r[0] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C45A2C */ _t15 = cpu->r[3] + 0x00000020u;
|
|
/* 02C45A2C */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[0]);
|
|
/* 02C45A30 */ _t16 = cpu->r[1] + 0x00000032u;
|
|
/* 02C45A30 */ cpu->r[0] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C45A34 */ _t17 = cpu->r[3] + 0x00000022u;
|
|
/* 02C45A34 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[0]);
|
|
/* 02C45A38 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02C45A38 */ cpu->r[11] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C45A3C */ _t19 = cpu->r[3] + 0x00000024u;
|
|
/* 02C45A3C */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[11]);
|
|
/* 02C45A40 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45A40 */ cpu->r[9] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02C45A44 */ _t21 = cpu->r[3] + 0x00000026u;
|
|
/* 02C45A44 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[9]);
|
|
/* 02C45A48 */ _t22 = cpu->r[1] + 0x0000000Au;
|
|
/* 02C45A48 */ cpu->r[8] = rbrew_read16(cpu->mem, _t22);
|
|
/* 02C45A4C */ _t23 = cpu->r[3] + 0x00000028u;
|
|
/* 02C45A4C */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[8]);
|
|
/* 02C45A50 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45A50 */ cpu->r[5] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02C45A54 */ _t25 = cpu->r[3] + 0x0000002Au;
|
|
/* 02C45A54 */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[5]);
|
|
/* 02C45A58 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 02C45A58 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 02C45A5C */ cpu->r[27] = cpu->r[27] + 0x0000002Cu;
|
|
/* 02C45A60 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C45A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C45A64 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02C45A68 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02C45A6C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45A6C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C45A6C */ if (_t28) goto L_02C45A70; else goto L_02C459C0;
|
|
L_02C45A70: ; // 0x2c45a70
|
|
/* 02C45A70 */ /* nop */
|
|
/* 02C45A74 */ _t29 = cpu->r[1] + 0x00000054u;
|
|
/* 02C45A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C45A78 */ cpu->lr = cpu->r[0];
|
|
/* 02C45A7C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C45A80 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C45A84 */ return;
|
|
}
|
|
|
|
// fn_02C45A88 @ 0x2c45a88
|
|
void Gambit_fn_02C45A88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02C45A88: ; // 0x2c45a88
|
|
/* 02C45A88 */ cpu->r[0] = cpu->lr;
|
|
/* 02C45A8C */ _t0 = cpu->r[1] + 0xFFFFFEF0u;
|
|
/* 02C45A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45A8C */ cpu->r[1] = _t0;
|
|
/* 02C45A90 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C45A94 */ _t1 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02C45A94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C45A98 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45A9C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C45AA0 */ _t2 = cpu->r[1] + 0x00000114u;
|
|
/* 02C45AA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C45AA4 */ Gambit_fn_02C42388(cpu);
|
|
/* 02C45AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45AAC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45AAC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C45AAC */ if (_t4) goto L_02C45B30; else goto L_02C45AB0;
|
|
L_02C45AB0: ; // 0x2c45ab0
|
|
/* 02C45AB0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45AB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C45AB4 */ _t6 = cpu->r[31] + 0x00001594u;
|
|
/* 02C45AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C45AB8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45AB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45ABC */ _t8 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C45ABC */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02C45AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
|
|
/* 02C45AC4 */ _t9 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C45AC4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C45AC8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45AC8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C45AC8 */ if (_t11) goto L_02C45ACC; else goto L_02C45B44;
|
|
L_02C45ACC: ; // 0x2c45acc
|
|
/* 02C45ACC */ _t12 = cpu->r[31] + 0x00000028u;
|
|
/* 02C45ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C45AD0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C45AD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02C45AD8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C45AD8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C45AD8 */ if (_t14) goto L_02C45ADC; else goto L_02C45B18;
|
|
L_02C45ADC: ; // 0x2c45adc
|
|
/* 02C45ADC */ cpu->r[10] = cpu->r[31] + 0x0000185Cu;
|
|
/* 02C45AE0 */ cpu->r[7] = cpu->r[1] + 0x0000000Au;
|
|
/* 02C45AE4 */ cpu->r[6] = 0x00000000u;
|
|
L_02C45AE8: ; // 0x2c45ae8
|
|
/* 02C45AE8 */ _t15 = cpu->r[7] + 0x00000006u;
|
|
/* 02C45AE8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C45AE8 */ cpu->r[7] = _t15;
|
|
/* 02C45AEC */ _t16 = cpu->r[10] + cpu->r[6];
|
|
/* 02C45AEC */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[11]);
|
|
/* 02C45AF0 */ _t17 = cpu->r[7] + 0x00000002u;
|
|
/* 02C45AF0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C45AF4 */ cpu->r[8] = cpu->r[10] + cpu->r[6];
|
|
/* 02C45AF8 */ _t18 = cpu->r[8] + 0x00000002u;
|
|
/* 02C45AF8 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[12]);
|
|
/* 02C45AFC */ _t19 = cpu->r[7] + 0x00000004u;
|
|
/* 02C45AFC */ cpu->r[0] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C45B00 */ _t20 = cpu->r[8] + 0x00000004u;
|
|
/* 02C45B00 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02C45B04 */ _t21 = cpu->r[31] + 0x00000028u;
|
|
/* 02C45B04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C45B08 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02C45B0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02C45B10 */ cpu->r[6] = cpu->r[6] + 0x00000006u;
|
|
/* 02C45B14 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C45B14 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C45B14 */ if (_t23) goto L_02C45AE8; else goto L_02C45B18;
|
|
L_02C45B18: ; // 0x2c45b18
|
|
/* 02C45B18 */ _t24 = cpu->r[31] + 0x00001858u;
|
|
/* 02C45B18 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 02C45B1C */ _t25 = cpu->r[1] + 0x00000114u;
|
|
/* 02C45B1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C45B20 */ _t26 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02C45B20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C45B24 */ cpu->lr = cpu->r[0];
|
|
/* 02C45B28 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02C45B2C */ return;
|
|
L_02C45B30: ; // 0x2c45b30
|
|
/* 02C45B30 */ _t27 = cpu->r[31] + 0x00000018u;
|
|
/* 02C45B30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C45B34 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C45B38 */ _t28 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C45B38 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C45B3C */ _t29 = cpu->r[12] + 0x00000010u;
|
|
/* 02C45B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C45B40 */ _t30 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C45B40 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
L_02C45B44: ; // 0x2c45b44
|
|
/* 02C45B44 */ _t31 = cpu->r[1] + 0x00000114u;
|
|
/* 02C45B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C45B48 */ _t32 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02C45B48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C45B4C */ cpu->lr = cpu->r[0];
|
|
/* 02C45B50 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02C45B54 */ return;
|
|
}
|
|
|
|
// fn_02C45A8C @ 0x2c45a8c
|
|
void Gambit_fn_02C45A8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02C45A8C: ; // 0x2c45a8c
|
|
/* 02C45A8C */ _t0 = cpu->r[1] + 0xFFFFFEF0u;
|
|
/* 02C45A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45A8C */ cpu->r[1] = _t0;
|
|
/* 02C45A90 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C45A94 */ _t1 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02C45A94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C45A98 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45A9C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C45AA0 */ _t2 = cpu->r[1] + 0x00000114u;
|
|
/* 02C45AA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C45AA4 */ Gambit_fn_02C42388(cpu);
|
|
/* 02C45AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45AAC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45AAC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C45AAC */ if (_t4) goto L_02C45B30; else goto L_02C45AB0;
|
|
L_02C45AB0: ; // 0x2c45ab0
|
|
/* 02C45AB0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45AB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C45AB4 */ _t6 = cpu->r[31] + 0x00001594u;
|
|
/* 02C45AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C45AB8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45AB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45ABC */ _t8 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C45ABC */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02C45AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
|
|
/* 02C45AC4 */ _t9 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C45AC4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C45AC8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45AC8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C45AC8 */ if (_t11) goto L_02C45ACC; else goto L_02C45B44;
|
|
L_02C45ACC: ; // 0x2c45acc
|
|
/* 02C45ACC */ _t12 = cpu->r[31] + 0x00000028u;
|
|
/* 02C45ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C45AD0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C45AD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02C45AD8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C45AD8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C45AD8 */ if (_t14) goto L_02C45ADC; else goto L_02C45B18;
|
|
L_02C45ADC: ; // 0x2c45adc
|
|
/* 02C45ADC */ cpu->r[10] = cpu->r[31] + 0x0000185Cu;
|
|
/* 02C45AE0 */ cpu->r[7] = cpu->r[1] + 0x0000000Au;
|
|
/* 02C45AE4 */ cpu->r[6] = 0x00000000u;
|
|
L_02C45AE8: ; // 0x2c45ae8
|
|
/* 02C45AE8 */ _t15 = cpu->r[7] + 0x00000006u;
|
|
/* 02C45AE8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C45AE8 */ cpu->r[7] = _t15;
|
|
/* 02C45AEC */ _t16 = cpu->r[10] + cpu->r[6];
|
|
/* 02C45AEC */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[11]);
|
|
/* 02C45AF0 */ _t17 = cpu->r[7] + 0x00000002u;
|
|
/* 02C45AF0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C45AF4 */ cpu->r[8] = cpu->r[10] + cpu->r[6];
|
|
/* 02C45AF8 */ _t18 = cpu->r[8] + 0x00000002u;
|
|
/* 02C45AF8 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[12]);
|
|
/* 02C45AFC */ _t19 = cpu->r[7] + 0x00000004u;
|
|
/* 02C45AFC */ cpu->r[0] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C45B00 */ _t20 = cpu->r[8] + 0x00000004u;
|
|
/* 02C45B00 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02C45B04 */ _t21 = cpu->r[31] + 0x00000028u;
|
|
/* 02C45B04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C45B08 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02C45B0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02C45B10 */ cpu->r[6] = cpu->r[6] + 0x00000006u;
|
|
/* 02C45B14 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C45B14 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C45B14 */ if (_t23) goto L_02C45AE8; else goto L_02C45B18;
|
|
L_02C45B18: ; // 0x2c45b18
|
|
/* 02C45B18 */ _t24 = cpu->r[31] + 0x00001858u;
|
|
/* 02C45B18 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 02C45B1C */ _t25 = cpu->r[1] + 0x00000114u;
|
|
/* 02C45B1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C45B20 */ _t26 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02C45B20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C45B24 */ cpu->lr = cpu->r[0];
|
|
/* 02C45B28 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02C45B2C */ return;
|
|
L_02C45B30: ; // 0x2c45b30
|
|
/* 02C45B30 */ _t27 = cpu->r[31] + 0x00000018u;
|
|
/* 02C45B30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C45B34 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C45B38 */ _t28 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C45B38 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C45B3C */ _t29 = cpu->r[12] + 0x00000010u;
|
|
/* 02C45B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C45B40 */ _t30 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C45B40 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
L_02C45B44: ; // 0x2c45b44
|
|
/* 02C45B44 */ _t31 = cpu->r[1] + 0x00000114u;
|
|
/* 02C45B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C45B48 */ _t32 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02C45B48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C45B4C */ cpu->lr = cpu->r[0];
|
|
/* 02C45B50 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02C45B54 */ return;
|
|
}
|
|
|
|
// fn_02C45B58 @ 0x2c45b58
|
|
void Gambit_fn_02C45B58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02C45B58: ; // 0x2c45b58
|
|
/* 02C45B58 */ cpu->r[0] = cpu->lr;
|
|
/* 02C45B5C */ _t0 = cpu->r[1] + 0xFFFFFEE8u;
|
|
/* 02C45B5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45B5C */ cpu->r[1] = _t0;
|
|
/* 02C45B60 */ _t1 = cpu->r[1] + 0x00000114u;
|
|
/* 02C45B60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C45B64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C45B68 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02C45B6C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C45B70 */ _t2 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02C45B70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C45B74 */ Gambit_fn_02C42388(cpu);
|
|
/* 02C45B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45B7C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C45B80 */ _t3 = cpu->r[31] + 0x000002EEu;
|
|
/* 02C45B80 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[3]);
|
|
/* 02C45B84 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45B84 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C45B84 */ if (_t5) goto L_02C45BE8; else goto L_02C45B88;
|
|
L_02C45B88: ; // 0x2c45b88
|
|
/* 02C45B88 */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 02C45B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C45B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C45B90 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45B90 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C45B90 */ if (_t8) goto L_02C45BE8; else goto L_02C45B94;
|
|
L_02C45B94: ; // 0x2c45b94
|
|
/* 02C45B94 */ cpu->ctr = cpu->r[12];
|
|
/* 02C45B98 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45B9C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45B9C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C45BA0 */ _t10 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C45BA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C45BA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C45BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45BAC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45BAC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C45BAC */ if (_t12) goto L_02C45BB0; else goto L_02C45BC8;
|
|
L_02C45BB0: ; // 0x2c45bb0
|
|
/* 02C45BB0 */ _t13 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02C45BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C45BB4 */ _t14 = cpu->r[1] + 0x00000114u;
|
|
/* 02C45BB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C45BB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C45BBC */ cpu->r[1] = cpu->r[1] + 0x00000118u;
|
|
/* 02C45BC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C45BC4 */ return;
|
|
L_02C45BC8: ; // 0x2c45bc8
|
|
/* 02C45BC8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45BC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C45BCC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C45BD0 */ _t16 = cpu->r[31] + 0x000002F0u;
|
|
/* 02C45BD0 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 02C45BD4 */ Gambit_fn_02C45A88(cpu);
|
|
/* 02C45BD8 */ _t17 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C45BD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C45BDC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C45BE0 */ _t18 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C45BE0 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02C45BE4 */ goto L_02C45C04;
|
|
L_02C45BE8: ; // 0x2c45be8
|
|
/* 02C45BE8 */ _t19 = cpu->r[31] + 0x00000018u;
|
|
/* 02C45BE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C45BEC */ _t20 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C45BEC */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02C45BF0 */ _t21 = cpu->r[11] + 0x00000010u;
|
|
/* 02C45BF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C45BF4 */ _t22 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C45BF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C45BF8 */ _t23 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C45BF8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C45BFC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C45C00 */ _t24 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C45C00 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
L_02C45C04: ; // 0x2c45c04
|
|
/* 02C45C04 */ _t25 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02C45C04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C45C08 */ _t26 = cpu->r[1] + 0x00000114u;
|
|
/* 02C45C08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C45C0C */ cpu->lr = cpu->r[0];
|
|
/* 02C45C10 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
|
|
/* 02C45C14 */ return;
|
|
}
|
|
|
|
// fn_02C45B5C @ 0x2c45b5c
|
|
void Gambit_fn_02C45B5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02C45B5C: ; // 0x2c45b5c
|
|
/* 02C45B5C */ _t0 = cpu->r[1] + 0xFFFFFEE8u;
|
|
/* 02C45B5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45B5C */ cpu->r[1] = _t0;
|
|
/* 02C45B60 */ _t1 = cpu->r[1] + 0x00000114u;
|
|
/* 02C45B60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C45B64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C45B68 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02C45B6C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C45B70 */ _t2 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02C45B70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C45B74 */ Gambit_fn_02C42388(cpu);
|
|
/* 02C45B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45B7C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C45B80 */ _t3 = cpu->r[31] + 0x000002EEu;
|
|
/* 02C45B80 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[3]);
|
|
/* 02C45B84 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45B84 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C45B84 */ if (_t5) goto L_02C45BE8; else goto L_02C45B88;
|
|
L_02C45B88: ; // 0x2c45b88
|
|
/* 02C45B88 */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 02C45B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C45B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C45B90 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45B90 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C45B90 */ if (_t8) goto L_02C45BE8; else goto L_02C45B94;
|
|
L_02C45B94: ; // 0x2c45b94
|
|
/* 02C45B94 */ cpu->ctr = cpu->r[12];
|
|
/* 02C45B98 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45B9C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45B9C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C45BA0 */ _t10 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C45BA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C45BA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C45BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45BAC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45BAC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C45BAC */ if (_t12) goto L_02C45BB0; else goto L_02C45BC8;
|
|
L_02C45BB0: ; // 0x2c45bb0
|
|
/* 02C45BB0 */ _t13 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02C45BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C45BB4 */ _t14 = cpu->r[1] + 0x00000114u;
|
|
/* 02C45BB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C45BB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C45BBC */ cpu->r[1] = cpu->r[1] + 0x00000118u;
|
|
/* 02C45BC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C45BC4 */ return;
|
|
L_02C45BC8: ; // 0x2c45bc8
|
|
/* 02C45BC8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45BC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C45BCC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C45BD0 */ _t16 = cpu->r[31] + 0x000002F0u;
|
|
/* 02C45BD0 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 02C45BD4 */ Gambit_fn_02C45A88(cpu);
|
|
/* 02C45BD8 */ _t17 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C45BD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C45BDC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C45BE0 */ _t18 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C45BE0 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02C45BE4 */ goto L_02C45C04;
|
|
L_02C45BE8: ; // 0x2c45be8
|
|
/* 02C45BE8 */ _t19 = cpu->r[31] + 0x00000018u;
|
|
/* 02C45BE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C45BEC */ _t20 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C45BEC */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02C45BF0 */ _t21 = cpu->r[11] + 0x00000010u;
|
|
/* 02C45BF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C45BF4 */ _t22 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C45BF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C45BF8 */ _t23 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C45BF8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C45BFC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C45C00 */ _t24 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C45C00 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
L_02C45C04: ; // 0x2c45c04
|
|
/* 02C45C04 */ _t25 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02C45C04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C45C08 */ _t26 = cpu->r[1] + 0x00000114u;
|
|
/* 02C45C08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C45C0C */ cpu->lr = cpu->r[0];
|
|
/* 02C45C10 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
|
|
/* 02C45C14 */ return;
|
|
}
|
|
|
|
// fn_02C45C18 @ 0x2c45c18
|
|
void Gambit_fn_02C45C18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C45C18: ; // 0x2c45c18
|
|
/* 02C45C18 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C45C1C */ _t0 = cpu->r[12] + 0x00000018u;
|
|
/* 02C45C1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C45C20 */ _t1 = cpu->r[12] + 0x000002F4u;
|
|
/* 02C45C20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C45C24 */ _t2 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C45C24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C45C28 */ _t3 = cpu->r[12] + 0x00000014u;
|
|
/* 02C45C28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C45C2C */ cpu->r[0] = cpu->r[10] / cpu->r[0];
|
|
/* 02C45C30 */ _t4 = cpu->r[12] + 0x00000028u;
|
|
/* 02C45C30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C45C34 */ _t5 = cpu->r[12] + 0x000002D4u;
|
|
/* 02C45C34 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C45C38 */ _t6 = cpu->r[9] + 0x00000020u;
|
|
/* 02C45C38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C45C3C */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C45C3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45C40 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[11]);
|
|
/* 02C45C44 */ _t8 = cpu->r[10] + 0x00000094u;
|
|
/* 02C45C44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C45C48 */ cpu->ctr = cpu->r[11];
|
|
/* 02C45C4C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]);
|
|
/* 02C45C50 */ _t9 = cpu->r[12] + 0x000002E0u;
|
|
/* 02C45C50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C45C54 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C45C58 */ cpu->r[4] = cpu->r[9] + cpu->r[8];
|
|
/* 02C45C5C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C45C60 @ 0x2c45c60
|
|
void Gambit_fn_02C45C60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C45C60: ; // 0x2c45c60
|
|
/* 02C45C60 */ cpu->r[0] = cpu->lr;
|
|
/* 02C45C64 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02C45C64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45C64 */ cpu->r[1] = _t0;
|
|
/* 02C45C68 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C45C68 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C45C6C */ _t2 = cpu->r[1] + 0x00000060u;
|
|
/* 02C45C6C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C45C70 */ _t3 = cpu->r[1] + 0x00000064u;
|
|
/* 02C45C70 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C45C74 */ _t4 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C45C74 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C45C78 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C45C7C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45C80 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C45C84 */ Gambit_fn_02C41D70(cpu);
|
|
/* 02C45C88 */ cpu->r[5] = 0x10220000u;
|
|
/* 02C45C8C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C45C90 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45C94 */ cpu->r[5] = cpu->r[5] + 0x00005900u;
|
|
/* 02C45C98 */ cpu->r[6] = 0x00005200u;
|
|
/* 02C45C9C */ Gambit_fn_02C420EC(cpu);
|
|
/* 02C45CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45CA4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45CA4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C45CA4 */ if (_t6) goto L_02C45E64; else goto L_02C45CA8;
|
|
L_02C45CA8: ; // 0x2c45ca8
|
|
/* 02C45CA8 */ _t7 = cpu->r[29] + 0x00000010u;
|
|
/* 02C45CA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45CAC */ _t8 = cpu->r[30] + 0x00000010u;
|
|
/* 02C45CAC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C45CB0 */ _t9 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C45CB0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C45CB4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02C45CB8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45CBC */ _t10 = cpu->r[30] + 0x00000058u;
|
|
/* 02C45CBC */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[8]);
|
|
/* 02C45CC0 */ Gambit_fn_02C41E84(cpu);
|
|
/* 02C45CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45CC8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45CC8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C45CC8 */ if (_t12) goto L_02C45E64; else goto L_02C45CCC;
|
|
L_02C45CCC: ; // 0x2c45ccc
|
|
/* 02C45CCC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45CCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C45CD0 */ Gambit_fn_02C41CC8(cpu);
|
|
/* 02C45CD4 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45CD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C45CD8 */ _t15 = cpu->r[29] + 0x00000018u;
|
|
/* 02C45CD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C45CDC */ _t16 = cpu->r[29] + 0x00000028u;
|
|
/* 02C45CDC */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02C45CE0 */ _t17 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C45CE0 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02C45CE4 */ _t18 = cpu->r[29] + 0x00000018u;
|
|
/* 02C45CE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C45CE8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02C45CEC */ Gambit_fn_02C42474(cpu);
|
|
/* 02C45CF0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45CF4 */ Gambit_fn_02C41E4C(cpu);
|
|
/* 02C45CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45CFC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45CFC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C45CFC */ if (_t20) goto L_02C45D14; else goto L_02C45D00;
|
|
L_02C45D00: ; // 0x2c45d00
|
|
/* 02C45D00 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C45D04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45D08 */ Gambit_fn_02C457EC(cpu);
|
|
/* 02C45D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45D10 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45D10 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C45D10 */ if (_t22) goto L_02C45E64; else goto L_02C45D14;
|
|
L_02C45D14: ; // 0x2c45d14
|
|
/* 02C45D14 */ _t23 = cpu->r[29] + 0x00000018u;
|
|
/* 02C45D14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C45D18 */ _t24 = cpu->r[11] + 0x00000000u;
|
|
/* 02C45D18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C45D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u);
|
|
/* 02C45D20 */ _t25 = cpu->r[29] + 0x00001594u;
|
|
/* 02C45D20 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 02C45D24 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45D24 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C45D24 */ if (_t27) goto L_02C45D28; else goto L_02C45D48;
|
|
L_02C45D28: ; // 0x2c45d28
|
|
/* 02C45D28 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45D2C */ cpu->r[6] = cpu->r[30] + 0x00000018u;
|
|
/* 02C45D30 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C45D34 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C45D38 */ Gambit_fn_02C45990(cpu);
|
|
/* 02C45D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45D40 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45D40 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C45D40 */ if (_t29) goto L_02C45E64; else goto L_02C45D44;
|
|
L_02C45D44: ; // 0x2c45d44
|
|
/* 02C45D44 */ goto L_02C45D64;
|
|
L_02C45D48: ; // 0x2c45d48
|
|
/* 02C45D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C45D4C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45D4C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C45D4C */ if (_t31) goto L_02C45D64; else goto L_02C45D50;
|
|
L_02C45D50: ; // 0x2c45d50
|
|
/* 02C45D50 */ cpu->ctr = cpu->r[31];
|
|
/* 02C45D54 */ cpu->r[12] = cpu->r[30] + 0x00000014u;
|
|
/* 02C45D58 */ cpu->r[0] = 0x00000000u;
|
|
L_02C45D5C: ; // 0x2c45d5c
|
|
/* 02C45D5C */ _t32 = cpu->r[12] + 0x00000004u;
|
|
/* 02C45D5C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02C45D5C */ cpu->r[12] = _t32;
|
|
/* 02C45D60 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C45D60 */ _t33 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C45D60 */ _t34 = _t33 >> (0x00000002u & 31u);
|
|
/* 02C45D60 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C45D60 */ if (_t35) goto L_02C45D5C; else goto L_02C45D64;
|
|
L_02C45D64: ; // 0x2c45d64
|
|
/* 02C45D64 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45D64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C45D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45D6C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45D6C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C45D6C */ if (_t38) goto L_02C45E0C; else goto L_02C45D70;
|
|
L_02C45D70: ; // 0x2c45d70
|
|
/* 02C45D70 */ Gambit_fn_02C41C38(cpu);
|
|
/* 02C45D74 */ cpu->r[8] = cpu->r[3] + 0x00000008u;
|
|
/* 02C45D78 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45D78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C45D7C */ Gambit_fn_02C41C88(cpu);
|
|
/* 02C45D80 */ _t40 = cpu->r[3] + 0x00000034u;
|
|
/* 02C45D80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C45D84 */ _t41 = cpu->r[29] + 0x00000018u;
|
|
/* 02C45D84 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C45D88 */ cpu->r[11] = cpu->r[8] + cpu->r[10];
|
|
/* 02C45D8C */ _t42 = cpu->r[29] + 0x000002E0u;
|
|
/* 02C45D8C */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
|
|
/* 02C45D90 */ _t43 = cpu->r[7] + 0x00000010u;
|
|
/* 02C45D90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C45D94 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C45D98 */ _t44 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C45D98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C45D9C */ cpu->r[9] = cpu->r[0] / cpu->r[10];
|
|
/* 02C45DA0 */ _t45 = cpu->r[29] + 0x000002D8u;
|
|
/* 02C45DA0 */ rbrew_write32(cpu->mem, _t45, cpu->r[9]);
|
|
/* 02C45DA4 */ _t46 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C45DA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C45DA8 */ _t47 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C45DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C45DAC */ cpu->r[0] = cpu->r[12] / cpu->r[0];
|
|
/* 02C45DB0 */ _t48 = cpu->r[29] + 0x00000028u;
|
|
/* 02C45DB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C45DB4 */ _t49 = cpu->r[29] + 0x000002DCu;
|
|
/* 02C45DB4 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02C45DB8 */ _t50 = cpu->r[7] + 0x00000020u;
|
|
/* 02C45DB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C45DBC */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[10]);
|
|
/* 02C45DC0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C45DC4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]);
|
|
/* 02C45DC8 */ _t51 = cpu->r[29] + 0x000002E8u;
|
|
/* 02C45DC8 */ rbrew_write32(cpu->mem, _t51, cpu->r[9]);
|
|
/* 02C45DCC */ cpu->r[7] = cpu->r[11] + cpu->r[12];
|
|
/* 02C45DD0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C45DD4 */ _t52 = cpu->r[29] + 0x000002E4u;
|
|
/* 02C45DD4 */ rbrew_write32(cpu->mem, _t52, cpu->r[7]);
|
|
/* 02C45DD8 */ Gambit_fn_02C45B58(cpu);
|
|
/* 02C45DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45DE0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45DE0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C45DE0 */ if (_t54) goto L_02C45E64; else goto L_02C45DE4;
|
|
L_02C45DE4: ; // 0x2c45de4
|
|
/* 02C45DE4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C45DE8 */ Gambit_fn_02C45C18(cpu);
|
|
/* 02C45DEC */ _t55 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C45DEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C45DF0 */ _t56 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C45DF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C45DF4 */ _t57 = cpu->r[1] + 0x00000060u;
|
|
/* 02C45DF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C45DF8 */ cpu->lr = cpu->r[0];
|
|
/* 02C45DFC */ _t58 = cpu->r[1] + 0x00000064u;
|
|
/* 02C45DFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C45E00 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02C45E04 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C45E08 */ return;
|
|
L_02C45E0C: ; // 0x2c45e0c
|
|
/* 02C45E0C */ _t59 = cpu->r[29] + 0x00000018u;
|
|
/* 02C45E0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C45E10 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C45E14 */ _t60 = cpu->r[29] + 0x000002E0u;
|
|
/* 02C45E14 */ rbrew_write32(cpu->mem, _t60, cpu->r[11]);
|
|
/* 02C45E18 */ _t61 = cpu->r[7] + 0x00000010u;
|
|
/* 02C45E18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C45E1C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C45E20 */ _t62 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C45E20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C45E24 */ cpu->r[9] = cpu->r[0] / cpu->r[10];
|
|
/* 02C45E28 */ _t63 = cpu->r[29] + 0x000002D8u;
|
|
/* 02C45E28 */ rbrew_write32(cpu->mem, _t63, cpu->r[9]);
|
|
/* 02C45E2C */ _t64 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C45E2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C45E30 */ _t65 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C45E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C45E34 */ cpu->r[0] = cpu->r[12] / cpu->r[0];
|
|
/* 02C45E38 */ _t66 = cpu->r[29] + 0x00000028u;
|
|
/* 02C45E38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C45E3C */ _t67 = cpu->r[29] + 0x000002DCu;
|
|
/* 02C45E3C */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 02C45E40 */ _t68 = cpu->r[7] + 0x00000020u;
|
|
/* 02C45E40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C45E44 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[10]);
|
|
/* 02C45E48 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]);
|
|
/* 02C45E4C */ _t69 = cpu->r[29] + 0x000002E8u;
|
|
/* 02C45E4C */ rbrew_write32(cpu->mem, _t69, cpu->r[11]);
|
|
/* 02C45E50 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C45E54 */ _t70 = cpu->r[29] + 0x000002E4u;
|
|
/* 02C45E54 */ rbrew_write32(cpu->mem, _t70, cpu->r[12]);
|
|
/* 02C45E58 */ Gambit_fn_02C45B58(cpu);
|
|
/* 02C45E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45E60 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45E60 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C45E60 */ if (_t72) goto L_02C45E64; else goto L_02C45DE4;
|
|
L_02C45E64: ; // 0x2c45e64
|
|
/* 02C45E64 */ _t73 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C45E64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C45E68 */ _t74 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C45E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C45E6C */ _t75 = cpu->r[1] + 0x00000060u;
|
|
/* 02C45E6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C45E70 */ cpu->lr = cpu->r[0];
|
|
/* 02C45E74 */ _t76 = cpu->r[1] + 0x00000064u;
|
|
/* 02C45E74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C45E78 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02C45E7C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C45E80 */ return;
|
|
}
|
|
|
|
// fn_02C45C64 @ 0x2c45c64
|
|
void Gambit_fn_02C45C64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C45C64: ; // 0x2c45c64
|
|
/* 02C45C64 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02C45C64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45C64 */ cpu->r[1] = _t0;
|
|
/* 02C45C68 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C45C68 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C45C6C */ _t2 = cpu->r[1] + 0x00000060u;
|
|
/* 02C45C6C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C45C70 */ _t3 = cpu->r[1] + 0x00000064u;
|
|
/* 02C45C70 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C45C74 */ _t4 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C45C74 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C45C78 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C45C7C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45C80 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C45C84 */ Gambit_fn_02C41D70(cpu);
|
|
/* 02C45C88 */ cpu->r[5] = 0x10220000u;
|
|
/* 02C45C8C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C45C90 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45C94 */ cpu->r[5] = cpu->r[5] + 0x00005900u;
|
|
/* 02C45C98 */ cpu->r[6] = 0x00005200u;
|
|
/* 02C45C9C */ Gambit_fn_02C420EC(cpu);
|
|
/* 02C45CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45CA4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45CA4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C45CA4 */ if (_t6) goto L_02C45E64; else goto L_02C45CA8;
|
|
L_02C45CA8: ; // 0x2c45ca8
|
|
/* 02C45CA8 */ _t7 = cpu->r[29] + 0x00000010u;
|
|
/* 02C45CA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45CAC */ _t8 = cpu->r[30] + 0x00000010u;
|
|
/* 02C45CAC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C45CB0 */ _t9 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C45CB0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C45CB4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02C45CB8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45CBC */ _t10 = cpu->r[30] + 0x00000058u;
|
|
/* 02C45CBC */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[8]);
|
|
/* 02C45CC0 */ Gambit_fn_02C41E84(cpu);
|
|
/* 02C45CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45CC8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45CC8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C45CC8 */ if (_t12) goto L_02C45E64; else goto L_02C45CCC;
|
|
L_02C45CCC: ; // 0x2c45ccc
|
|
/* 02C45CCC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45CCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C45CD0 */ Gambit_fn_02C41CC8(cpu);
|
|
/* 02C45CD4 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45CD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C45CD8 */ _t15 = cpu->r[29] + 0x00000018u;
|
|
/* 02C45CD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C45CDC */ _t16 = cpu->r[29] + 0x00000028u;
|
|
/* 02C45CDC */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02C45CE0 */ _t17 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C45CE0 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02C45CE4 */ _t18 = cpu->r[29] + 0x00000018u;
|
|
/* 02C45CE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C45CE8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02C45CEC */ Gambit_fn_02C42474(cpu);
|
|
/* 02C45CF0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45CF4 */ Gambit_fn_02C41E4C(cpu);
|
|
/* 02C45CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45CFC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45CFC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C45CFC */ if (_t20) goto L_02C45D14; else goto L_02C45D00;
|
|
L_02C45D00: ; // 0x2c45d00
|
|
/* 02C45D00 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C45D04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45D08 */ Gambit_fn_02C457EC(cpu);
|
|
/* 02C45D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45D10 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45D10 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C45D10 */ if (_t22) goto L_02C45E64; else goto L_02C45D14;
|
|
L_02C45D14: ; // 0x2c45d14
|
|
/* 02C45D14 */ _t23 = cpu->r[29] + 0x00000018u;
|
|
/* 02C45D14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C45D18 */ _t24 = cpu->r[11] + 0x00000000u;
|
|
/* 02C45D18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C45D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u);
|
|
/* 02C45D20 */ _t25 = cpu->r[29] + 0x00001594u;
|
|
/* 02C45D20 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 02C45D24 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45D24 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C45D24 */ if (_t27) goto L_02C45D28; else goto L_02C45D48;
|
|
L_02C45D28: ; // 0x2c45d28
|
|
/* 02C45D28 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45D2C */ cpu->r[6] = cpu->r[30] + 0x00000018u;
|
|
/* 02C45D30 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C45D34 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C45D38 */ Gambit_fn_02C45990(cpu);
|
|
/* 02C45D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45D40 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45D40 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C45D40 */ if (_t29) goto L_02C45E64; else goto L_02C45D44;
|
|
L_02C45D44: ; // 0x2c45d44
|
|
/* 02C45D44 */ goto L_02C45D64;
|
|
L_02C45D48: ; // 0x2c45d48
|
|
/* 02C45D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C45D4C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45D4C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C45D4C */ if (_t31) goto L_02C45D64; else goto L_02C45D50;
|
|
L_02C45D50: ; // 0x2c45d50
|
|
/* 02C45D50 */ cpu->ctr = cpu->r[31];
|
|
/* 02C45D54 */ cpu->r[12] = cpu->r[30] + 0x00000014u;
|
|
/* 02C45D58 */ cpu->r[0] = 0x00000000u;
|
|
L_02C45D5C: ; // 0x2c45d5c
|
|
/* 02C45D5C */ _t32 = cpu->r[12] + 0x00000004u;
|
|
/* 02C45D5C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02C45D5C */ cpu->r[12] = _t32;
|
|
/* 02C45D60 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C45D60 */ _t33 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C45D60 */ _t34 = _t33 >> (0x00000002u & 31u);
|
|
/* 02C45D60 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C45D60 */ if (_t35) goto L_02C45D5C; else goto L_02C45D64;
|
|
L_02C45D64: ; // 0x2c45d64
|
|
/* 02C45D64 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45D64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C45D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45D6C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45D6C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C45D6C */ if (_t38) goto L_02C45E0C; else goto L_02C45D70;
|
|
L_02C45D70: ; // 0x2c45d70
|
|
/* 02C45D70 */ Gambit_fn_02C41C38(cpu);
|
|
/* 02C45D74 */ cpu->r[8] = cpu->r[3] + 0x00000008u;
|
|
/* 02C45D78 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C45D78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C45D7C */ Gambit_fn_02C41C88(cpu);
|
|
/* 02C45D80 */ _t40 = cpu->r[3] + 0x00000034u;
|
|
/* 02C45D80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C45D84 */ _t41 = cpu->r[29] + 0x00000018u;
|
|
/* 02C45D84 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C45D88 */ cpu->r[11] = cpu->r[8] + cpu->r[10];
|
|
/* 02C45D8C */ _t42 = cpu->r[29] + 0x000002E0u;
|
|
/* 02C45D8C */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
|
|
/* 02C45D90 */ _t43 = cpu->r[7] + 0x00000010u;
|
|
/* 02C45D90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C45D94 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C45D98 */ _t44 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C45D98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C45D9C */ cpu->r[9] = cpu->r[0] / cpu->r[10];
|
|
/* 02C45DA0 */ _t45 = cpu->r[29] + 0x000002D8u;
|
|
/* 02C45DA0 */ rbrew_write32(cpu->mem, _t45, cpu->r[9]);
|
|
/* 02C45DA4 */ _t46 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C45DA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C45DA8 */ _t47 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C45DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C45DAC */ cpu->r[0] = cpu->r[12] / cpu->r[0];
|
|
/* 02C45DB0 */ _t48 = cpu->r[29] + 0x00000028u;
|
|
/* 02C45DB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C45DB4 */ _t49 = cpu->r[29] + 0x000002DCu;
|
|
/* 02C45DB4 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02C45DB8 */ _t50 = cpu->r[7] + 0x00000020u;
|
|
/* 02C45DB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C45DBC */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[10]);
|
|
/* 02C45DC0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C45DC4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]);
|
|
/* 02C45DC8 */ _t51 = cpu->r[29] + 0x000002E8u;
|
|
/* 02C45DC8 */ rbrew_write32(cpu->mem, _t51, cpu->r[9]);
|
|
/* 02C45DCC */ cpu->r[7] = cpu->r[11] + cpu->r[12];
|
|
/* 02C45DD0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C45DD4 */ _t52 = cpu->r[29] + 0x000002E4u;
|
|
/* 02C45DD4 */ rbrew_write32(cpu->mem, _t52, cpu->r[7]);
|
|
/* 02C45DD8 */ Gambit_fn_02C45B58(cpu);
|
|
/* 02C45DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45DE0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45DE0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C45DE0 */ if (_t54) goto L_02C45E64; else goto L_02C45DE4;
|
|
L_02C45DE4: ; // 0x2c45de4
|
|
/* 02C45DE4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C45DE8 */ Gambit_fn_02C45C18(cpu);
|
|
/* 02C45DEC */ _t55 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C45DEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C45DF0 */ _t56 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C45DF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C45DF4 */ _t57 = cpu->r[1] + 0x00000060u;
|
|
/* 02C45DF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C45DF8 */ cpu->lr = cpu->r[0];
|
|
/* 02C45DFC */ _t58 = cpu->r[1] + 0x00000064u;
|
|
/* 02C45DFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C45E00 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02C45E04 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C45E08 */ return;
|
|
L_02C45E0C: ; // 0x2c45e0c
|
|
/* 02C45E0C */ _t59 = cpu->r[29] + 0x00000018u;
|
|
/* 02C45E0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C45E10 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C45E14 */ _t60 = cpu->r[29] + 0x000002E0u;
|
|
/* 02C45E14 */ rbrew_write32(cpu->mem, _t60, cpu->r[11]);
|
|
/* 02C45E18 */ _t61 = cpu->r[7] + 0x00000010u;
|
|
/* 02C45E18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C45E1C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C45E20 */ _t62 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C45E20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C45E24 */ cpu->r[9] = cpu->r[0] / cpu->r[10];
|
|
/* 02C45E28 */ _t63 = cpu->r[29] + 0x000002D8u;
|
|
/* 02C45E28 */ rbrew_write32(cpu->mem, _t63, cpu->r[9]);
|
|
/* 02C45E2C */ _t64 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C45E2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C45E30 */ _t65 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C45E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C45E34 */ cpu->r[0] = cpu->r[12] / cpu->r[0];
|
|
/* 02C45E38 */ _t66 = cpu->r[29] + 0x00000028u;
|
|
/* 02C45E38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C45E3C */ _t67 = cpu->r[29] + 0x000002DCu;
|
|
/* 02C45E3C */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 02C45E40 */ _t68 = cpu->r[7] + 0x00000020u;
|
|
/* 02C45E40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C45E44 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[10]);
|
|
/* 02C45E48 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]);
|
|
/* 02C45E4C */ _t69 = cpu->r[29] + 0x000002E8u;
|
|
/* 02C45E4C */ rbrew_write32(cpu->mem, _t69, cpu->r[11]);
|
|
/* 02C45E50 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C45E54 */ _t70 = cpu->r[29] + 0x000002E4u;
|
|
/* 02C45E54 */ rbrew_write32(cpu->mem, _t70, cpu->r[12]);
|
|
/* 02C45E58 */ Gambit_fn_02C45B58(cpu);
|
|
/* 02C45E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45E60 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45E60 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C45E60 */ if (_t72) goto L_02C45E64; else goto L_02C45DE4;
|
|
L_02C45E64: ; // 0x2c45e64
|
|
/* 02C45E64 */ _t73 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C45E64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C45E68 */ _t74 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C45E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C45E6C */ _t75 = cpu->r[1] + 0x00000060u;
|
|
/* 02C45E6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C45E70 */ cpu->lr = cpu->r[0];
|
|
/* 02C45E74 */ _t76 = cpu->r[1] + 0x00000064u;
|
|
/* 02C45E74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C45E78 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02C45E7C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C45E80 */ return;
|
|
}
|
|
|
|
// fn_02C45E84 @ 0x2c45e84
|
|
void Gambit_fn_02C45E84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C45E84: ; // 0x2c45e84
|
|
/* 02C45E84 */ _t0 = cpu->r[3] + 0x00000018u;
|
|
/* 02C45E84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C45E88 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C45E8C */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 02C45E8C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C45E90 */ _t2 = cpu->r[3] + 0x00000018u;
|
|
/* 02C45E90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C45E94 */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02C45E94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C45E98 */ _t4 = cpu->r[10] + 0x00000004u;
|
|
/* 02C45E98 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02C45E9C */ _t5 = cpu->r[3] + 0x00000018u;
|
|
/* 02C45E9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C45EA0 */ _t6 = cpu->r[3] + 0x0000002Eu;
|
|
/* 02C45EA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C45EA4 */ _t7 = cpu->r[12] + 0x00000008u;
|
|
/* 02C45EA4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 02C45EA8 */ _t8 = cpu->r[3] + 0x00000018u;
|
|
/* 02C45EA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C45EAC */ _t9 = cpu->r[3] + 0x00000030u;
|
|
/* 02C45EAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C45EB0 */ _t10 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C45EB0 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02C45EB4 */ _t11 = cpu->r[3] + 0x00000018u;
|
|
/* 02C45EB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C45EB8 */ _t12 = cpu->r[3] + 0x00000034u;
|
|
/* 02C45EB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C45EBC */ _t13 = cpu->r[12] + 0x00000010u;
|
|
/* 02C45EBC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02C45EC0 */ _t14 = cpu->r[3] + 0x00000018u;
|
|
/* 02C45EC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C45EC4 */ _t15 = cpu->r[3] + 0x00000030u;
|
|
/* 02C45EC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C45EC8 */ _t16 = cpu->r[10] + 0x00000014u;
|
|
/* 02C45EC8 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02C45ECC */ _t17 = cpu->r[3] + 0x00000018u;
|
|
/* 02C45ECC */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C45ED0 */ _t18 = cpu->r[3] + 0x00000034u;
|
|
/* 02C45ED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C45ED4 */ _t19 = cpu->r[12] + 0x00000018u;
|
|
/* 02C45ED4 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02C45ED8 */ _t20 = cpu->r[3] + 0x00000018u;
|
|
/* 02C45ED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C45EDC */ _t21 = cpu->r[4] + 0x00000008u;
|
|
/* 02C45EDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C45EE0 */ _t22 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02C45EE0 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 02C45EE4 */ _t23 = cpu->r[3] + 0x00000018u;
|
|
/* 02C45EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C45EE8 */ _t24 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C45EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C45EEC */ _t25 = cpu->r[12] + 0x00000020u;
|
|
/* 02C45EEC */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02C45EF0 */ _t26 = cpu->r[3] + 0x00000018u;
|
|
/* 02C45EF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C45EF4 */ _t27 = cpu->r[11] + 0x00000020u;
|
|
/* 02C45EF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C45EF8 */ _t28 = cpu->r[11] + 0x00000024u;
|
|
/* 02C45EF8 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
|
|
/* 02C45EFC */ return;
|
|
}
|
|
|
|
// fn_02C45F00 @ 0x2c45f00
|
|
void Gambit_fn_02C45F00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C45F00: ; // 0x2c45f00
|
|
/* 02C45F00 */ cpu->r[0] = cpu->lr;
|
|
/* 02C45F04 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C45F04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45F04 */ cpu->r[1] = _t0;
|
|
/* 02C45F08 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C45F08 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C45F0C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C45F0C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C45F10 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C45F14 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02C45F14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C45F18 */ _t4 = cpu->r[12] + 0xFFFFB924u;
|
|
/* 02C45F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C45F18 */ cpu->r[12] = _t4;
|
|
/* 02C45F1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C45F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C45F24 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C45F28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45F28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C45F28 */ if (_t6) goto L_02C460B8; else goto L_02C45F2C;
|
|
L_02C45F2C: ; // 0x2c45f2c
|
|
/* 02C45F2C */ _t7 = cpu->r[31] + 0x00000010u;
|
|
/* 02C45F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45F30 */ _t8 = cpu->r[30] + 0x00000010u;
|
|
/* 02C45F30 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C45F34 */ _t9 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C45F34 */ cpu->r[8] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C45F38 */ _t10 = cpu->r[30] + 0x00000058u;
|
|
/* 02C45F38 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[8]);
|
|
/* 02C45F3C */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02C45F3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C45F40 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45F40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C45F44 */ _t13 = cpu->r[9] + 0x00000024u;
|
|
/* 02C45F44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C45F48 */ _t14 = cpu->r[31] + 0x00000014u;
|
|
/* 02C45F48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C45F4C */ cpu->ctr = cpu->r[7];
|
|
/* 02C45F50 */ _t15 = cpu->r[31] + 0x00001590u;
|
|
/* 02C45F50 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C45F54 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45F58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C45F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45F60 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45F60 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C45F60 */ if (_t17) goto L_02C460B8; else goto L_02C45F64;
|
|
L_02C45F64: ; // 0x2c45f64
|
|
/* 02C45F64 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45F64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C45F68 */ _t19 = cpu->r[31] + 0x00000018u;
|
|
/* 02C45F68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C45F6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45F70 */ _t20 = cpu->r[31] + 0x00000028u;
|
|
/* 02C45F70 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 02C45F74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C45F78 */ _t21 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C45F78 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02C45F7C */ Gambit_fn_02C45E84(cpu);
|
|
/* 02C45F80 */ _t22 = cpu->r[31] + 0x00000018u;
|
|
/* 02C45F80 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C45F84 */ _t23 = cpu->r[6] + 0x00000010u;
|
|
/* 02C45F84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C45F88 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C45F8C */ _t24 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02C45F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C45F90 */ cpu->r[0] = cpu->r[11] / cpu->r[0];
|
|
/* 02C45F94 */ _t25 = cpu->r[31] + 0x000002D8u;
|
|
/* 02C45F94 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02C45F98 */ _t26 = cpu->r[6] + 0x00000008u;
|
|
/* 02C45F98 */ cpu->r[8] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C45F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C45FA0 */ _t27 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02C45FA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C45FA4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45FA4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C45FA4 */ if (_t29) goto L_02C45FB4; else goto L_02C45FA8;
|
|
L_02C45FA8: ; // 0x2c45fa8
|
|
/* 02C45FA8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[0]);
|
|
/* 02C45FAC */ _t30 = cpu->r[6] + 0x00000010u;
|
|
/* 02C45FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C45FB0 */ cpu->r[12] = cpu->r[0] - cpu->r[10];
|
|
L_02C45FB4: ; // 0x2c45fb4
|
|
/* 02C45FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C45FB8 */ _t31 = cpu->r[6] + 0x00000028u;
|
|
/* 02C45FB8 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02C45FBC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45FBC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C45FBC */ if (_t33) goto L_02C45FD4; else goto L_02C45FC0;
|
|
L_02C45FC0: ; // 0x2c45fc0
|
|
/* 02C45FC0 */ cpu->ctr = cpu->r[9];
|
|
/* 02C45FC4 */ cpu->r[7] = cpu->r[30] + 0x00000014u;
|
|
/* 02C45FC8 */ cpu->r[0] = 0x00000000u;
|
|
L_02C45FCC: ; // 0x2c45fcc
|
|
/* 02C45FCC */ _t34 = cpu->r[7] + 0x00000004u;
|
|
/* 02C45FCC */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02C45FCC */ cpu->r[7] = _t34;
|
|
/* 02C45FD0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C45FD0 */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C45FD0 */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 02C45FD0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C45FD0 */ if (_t37) goto L_02C45FCC; else goto L_02C45FD4;
|
|
L_02C45FD4: ; // 0x2c45fd4
|
|
/* 02C45FD4 */ _t38 = cpu->r[31] + 0x00000018u;
|
|
/* 02C45FD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C45FD8 */ _t39 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C45FD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C45FDC */ _t40 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02C45FDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C45FE0 */ cpu->r[8] = cpu->r[10] / cpu->r[9];
|
|
/* 02C45FE4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[9]);
|
|
/* 02C45FE8 */ _t41 = cpu->r[6] + 0x00000028u;
|
|
/* 02C45FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C45FEC */ cpu->r[11] = cpu->r[10] - cpu->r[12];
|
|
/* 02C45FF0 */ cpu->r[7] = cpu->r[9] - cpu->r[0];
|
|
/* 02C45FF4 */ cpu->r[12] = cpu->r[9] - cpu->r[11];
|
|
/* 02C45FF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 02C45FFC */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C45FFC */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C45FFC */ if (_t43) goto L_02C46064; else goto L_02C46000;
|
|
L_02C46000: ; // 0x2c46000
|
|
/* 02C46000 */ cpu->r[7] = cpu->r[10] + cpu->r[12];
|
|
/* 02C46004 */ _t44 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C46004 */ rbrew_write32(cpu->mem, _t44, cpu->r[7]);
|
|
/* 02C46008 */ _t45 = cpu->r[31] + 0x00000018u;
|
|
/* 02C46008 */ cpu->r[6] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C4600C */ _t46 = cpu->r[6] + 0x00000028u;
|
|
/* 02C4600C */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C46010 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
/* 02C46014 */ _t47 = cpu->r[6] + 0x00000028u;
|
|
/* 02C46014 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 02C46018 */ _t48 = cpu->r[31] + 0x00000018u;
|
|
/* 02C46018 */ cpu->r[6] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C4601C */ _t49 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C4601C */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C46020 */ _t50 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02C46020 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C46024 */ cpu->r[8] = cpu->r[12] / cpu->r[7];
|
|
/* 02C46028 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[7]);
|
|
/* 02C4602C */ _t51 = cpu->r[31] + 0x000002DCu;
|
|
/* 02C4602C */ rbrew_write32(cpu->mem, _t51, cpu->r[8]);
|
|
/* 02C46030 */ cpu->r[11] = cpu->r[12] - cpu->r[0];
|
|
/* 02C46034 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C46038 */ _t52 = cpu->r[31] + 0x000002E8u;
|
|
/* 02C46038 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
/* 02C4603C */ Gambit_fn_02C45B58(cpu);
|
|
/* 02C46040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46044 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46044 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C46044 */ if (_t54) goto L_02C460B8; else goto L_02C46048;
|
|
L_02C46048: ; // 0x2c46048
|
|
/* 02C46048 */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 02C46048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C4604C */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4604C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C46050 */ cpu->lr = cpu->r[0];
|
|
/* 02C46054 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C46058 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4605C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C46060 */ return;
|
|
L_02C46064: ; // 0x2c46064
|
|
/* 02C46064 */ cpu->r[8] = cpu->r[12] + cpu->r[9];
|
|
/* 02C46068 */ cpu->r[9] = cpu->r[10] + cpu->r[8];
|
|
/* 02C4606C */ _t58 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C4606C */ rbrew_write32(cpu->mem, _t58, cpu->r[9]);
|
|
/* 02C46070 */ _t59 = cpu->r[31] + 0x00000018u;
|
|
/* 02C46070 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C46074 */ _t60 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02C46074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C46078 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
/* 02C4607C */ _t61 = cpu->r[6] + 0x00000028u;
|
|
/* 02C4607C */ cpu->r[11] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C46080 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
/* 02C46084 */ _t62 = cpu->r[6] + 0x00000028u;
|
|
/* 02C46084 */ rbrew_write32(cpu->mem, _t62, cpu->r[11]);
|
|
/* 02C46088 */ _t63 = cpu->r[31] + 0x00000018u;
|
|
/* 02C46088 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C4608C */ _t64 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C4608C */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C46090 */ _t65 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02C46090 */ cpu->r[7] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C46094 */ cpu->r[8] = cpu->r[12] / cpu->r[7];
|
|
/* 02C46098 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[7]);
|
|
/* 02C4609C */ _t66 = cpu->r[31] + 0x000002DCu;
|
|
/* 02C4609C */ rbrew_write32(cpu->mem, _t66, cpu->r[8]);
|
|
/* 02C460A0 */ cpu->r[11] = cpu->r[12] - cpu->r[0];
|
|
/* 02C460A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C460A8 */ _t67 = cpu->r[31] + 0x000002E8u;
|
|
/* 02C460A8 */ rbrew_write32(cpu->mem, _t67, cpu->r[11]);
|
|
/* 02C460AC */ Gambit_fn_02C45B58(cpu);
|
|
/* 02C460B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C460B4 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C460B4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C460B4 */ if (_t69) goto L_02C460B8; else goto L_02C46048;
|
|
L_02C460B8: ; // 0x2c460b8
|
|
/* 02C460B8 */ _t70 = cpu->r[1] + 0x00000024u;
|
|
/* 02C460B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C460BC */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 02C460BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C460C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C460C4 */ _t72 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C460C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C460C8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C460CC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C460D0 */ return;
|
|
}
|
|
|
|
// fn_02C45F04 @ 0x2c45f04
|
|
void Gambit_fn_02C45F04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C45F04: ; // 0x2c45f04
|
|
/* 02C45F04 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C45F04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45F04 */ cpu->r[1] = _t0;
|
|
/* 02C45F08 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C45F08 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C45F0C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C45F0C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C45F10 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C45F14 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02C45F14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C45F18 */ _t4 = cpu->r[12] + 0xFFFFB924u;
|
|
/* 02C45F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C45F18 */ cpu->r[12] = _t4;
|
|
/* 02C45F1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C45F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C45F24 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C45F28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45F28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C45F28 */ if (_t6) goto L_02C460B8; else goto L_02C45F2C;
|
|
L_02C45F2C: ; // 0x2c45f2c
|
|
/* 02C45F2C */ _t7 = cpu->r[31] + 0x00000010u;
|
|
/* 02C45F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45F30 */ _t8 = cpu->r[30] + 0x00000010u;
|
|
/* 02C45F30 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C45F34 */ _t9 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C45F34 */ cpu->r[8] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C45F38 */ _t10 = cpu->r[30] + 0x00000058u;
|
|
/* 02C45F38 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[8]);
|
|
/* 02C45F3C */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02C45F3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C45F40 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02C45F40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C45F44 */ _t13 = cpu->r[9] + 0x00000024u;
|
|
/* 02C45F44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C45F48 */ _t14 = cpu->r[31] + 0x00000014u;
|
|
/* 02C45F48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C45F4C */ cpu->ctr = cpu->r[7];
|
|
/* 02C45F50 */ _t15 = cpu->r[31] + 0x00001590u;
|
|
/* 02C45F50 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C45F54 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45F58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C45F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45F60 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45F60 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C45F60 */ if (_t17) goto L_02C460B8; else goto L_02C45F64;
|
|
L_02C45F64: ; // 0x2c45f64
|
|
/* 02C45F64 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45F64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C45F68 */ _t19 = cpu->r[31] + 0x00000018u;
|
|
/* 02C45F68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C45F6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C45F70 */ _t20 = cpu->r[31] + 0x00000028u;
|
|
/* 02C45F70 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 02C45F74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C45F78 */ _t21 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C45F78 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02C45F7C */ Gambit_fn_02C45E84(cpu);
|
|
/* 02C45F80 */ _t22 = cpu->r[31] + 0x00000018u;
|
|
/* 02C45F80 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C45F84 */ _t23 = cpu->r[6] + 0x00000010u;
|
|
/* 02C45F84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C45F88 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C45F8C */ _t24 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02C45F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C45F90 */ cpu->r[0] = cpu->r[11] / cpu->r[0];
|
|
/* 02C45F94 */ _t25 = cpu->r[31] + 0x000002D8u;
|
|
/* 02C45F94 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02C45F98 */ _t26 = cpu->r[6] + 0x00000008u;
|
|
/* 02C45F98 */ cpu->r[8] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C45F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C45FA0 */ _t27 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02C45FA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C45FA4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45FA4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C45FA4 */ if (_t29) goto L_02C45FB4; else goto L_02C45FA8;
|
|
L_02C45FA8: ; // 0x2c45fa8
|
|
/* 02C45FA8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[0]);
|
|
/* 02C45FAC */ _t30 = cpu->r[6] + 0x00000010u;
|
|
/* 02C45FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C45FB0 */ cpu->r[12] = cpu->r[0] - cpu->r[10];
|
|
L_02C45FB4: ; // 0x2c45fb4
|
|
/* 02C45FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C45FB8 */ _t31 = cpu->r[6] + 0x00000028u;
|
|
/* 02C45FB8 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02C45FBC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45FBC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C45FBC */ if (_t33) goto L_02C45FD4; else goto L_02C45FC0;
|
|
L_02C45FC0: ; // 0x2c45fc0
|
|
/* 02C45FC0 */ cpu->ctr = cpu->r[9];
|
|
/* 02C45FC4 */ cpu->r[7] = cpu->r[30] + 0x00000014u;
|
|
/* 02C45FC8 */ cpu->r[0] = 0x00000000u;
|
|
L_02C45FCC: ; // 0x2c45fcc
|
|
/* 02C45FCC */ _t34 = cpu->r[7] + 0x00000004u;
|
|
/* 02C45FCC */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02C45FCC */ cpu->r[7] = _t34;
|
|
/* 02C45FD0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C45FD0 */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C45FD0 */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 02C45FD0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C45FD0 */ if (_t37) goto L_02C45FCC; else goto L_02C45FD4;
|
|
L_02C45FD4: ; // 0x2c45fd4
|
|
/* 02C45FD4 */ _t38 = cpu->r[31] + 0x00000018u;
|
|
/* 02C45FD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C45FD8 */ _t39 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C45FD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C45FDC */ _t40 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02C45FDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C45FE0 */ cpu->r[8] = cpu->r[10] / cpu->r[9];
|
|
/* 02C45FE4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[9]);
|
|
/* 02C45FE8 */ _t41 = cpu->r[6] + 0x00000028u;
|
|
/* 02C45FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C45FEC */ cpu->r[11] = cpu->r[10] - cpu->r[12];
|
|
/* 02C45FF0 */ cpu->r[7] = cpu->r[9] - cpu->r[0];
|
|
/* 02C45FF4 */ cpu->r[12] = cpu->r[9] - cpu->r[11];
|
|
/* 02C45FF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 02C45FFC */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C45FFC */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C45FFC */ if (_t43) goto L_02C46064; else goto L_02C46000;
|
|
L_02C46000: ; // 0x2c46000
|
|
/* 02C46000 */ cpu->r[7] = cpu->r[10] + cpu->r[12];
|
|
/* 02C46004 */ _t44 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C46004 */ rbrew_write32(cpu->mem, _t44, cpu->r[7]);
|
|
/* 02C46008 */ _t45 = cpu->r[31] + 0x00000018u;
|
|
/* 02C46008 */ cpu->r[6] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C4600C */ _t46 = cpu->r[6] + 0x00000028u;
|
|
/* 02C4600C */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C46010 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
/* 02C46014 */ _t47 = cpu->r[6] + 0x00000028u;
|
|
/* 02C46014 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 02C46018 */ _t48 = cpu->r[31] + 0x00000018u;
|
|
/* 02C46018 */ cpu->r[6] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C4601C */ _t49 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C4601C */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C46020 */ _t50 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02C46020 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C46024 */ cpu->r[8] = cpu->r[12] / cpu->r[7];
|
|
/* 02C46028 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[7]);
|
|
/* 02C4602C */ _t51 = cpu->r[31] + 0x000002DCu;
|
|
/* 02C4602C */ rbrew_write32(cpu->mem, _t51, cpu->r[8]);
|
|
/* 02C46030 */ cpu->r[11] = cpu->r[12] - cpu->r[0];
|
|
/* 02C46034 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C46038 */ _t52 = cpu->r[31] + 0x000002E8u;
|
|
/* 02C46038 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
/* 02C4603C */ Gambit_fn_02C45B58(cpu);
|
|
/* 02C46040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46044 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46044 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C46044 */ if (_t54) goto L_02C460B8; else goto L_02C46048;
|
|
L_02C46048: ; // 0x2c46048
|
|
/* 02C46048 */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 02C46048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C4604C */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4604C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C46050 */ cpu->lr = cpu->r[0];
|
|
/* 02C46054 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C46058 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4605C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C46060 */ return;
|
|
L_02C46064: ; // 0x2c46064
|
|
/* 02C46064 */ cpu->r[8] = cpu->r[12] + cpu->r[9];
|
|
/* 02C46068 */ cpu->r[9] = cpu->r[10] + cpu->r[8];
|
|
/* 02C4606C */ _t58 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C4606C */ rbrew_write32(cpu->mem, _t58, cpu->r[9]);
|
|
/* 02C46070 */ _t59 = cpu->r[31] + 0x00000018u;
|
|
/* 02C46070 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C46074 */ _t60 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02C46074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C46078 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
/* 02C4607C */ _t61 = cpu->r[6] + 0x00000028u;
|
|
/* 02C4607C */ cpu->r[11] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C46080 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
/* 02C46084 */ _t62 = cpu->r[6] + 0x00000028u;
|
|
/* 02C46084 */ rbrew_write32(cpu->mem, _t62, cpu->r[11]);
|
|
/* 02C46088 */ _t63 = cpu->r[31] + 0x00000018u;
|
|
/* 02C46088 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C4608C */ _t64 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C4608C */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C46090 */ _t65 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02C46090 */ cpu->r[7] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C46094 */ cpu->r[8] = cpu->r[12] / cpu->r[7];
|
|
/* 02C46098 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[7]);
|
|
/* 02C4609C */ _t66 = cpu->r[31] + 0x000002DCu;
|
|
/* 02C4609C */ rbrew_write32(cpu->mem, _t66, cpu->r[8]);
|
|
/* 02C460A0 */ cpu->r[11] = cpu->r[12] - cpu->r[0];
|
|
/* 02C460A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C460A8 */ _t67 = cpu->r[31] + 0x000002E8u;
|
|
/* 02C460A8 */ rbrew_write32(cpu->mem, _t67, cpu->r[11]);
|
|
/* 02C460AC */ Gambit_fn_02C45B58(cpu);
|
|
/* 02C460B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C460B4 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C460B4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C460B4 */ if (_t69) goto L_02C460B8; else goto L_02C46048;
|
|
L_02C460B8: ; // 0x2c460b8
|
|
/* 02C460B8 */ _t70 = cpu->r[1] + 0x00000024u;
|
|
/* 02C460B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C460BC */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 02C460BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C460C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C460C4 */ _t72 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C460C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C460C8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C460CC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C460D0 */ return;
|
|
}
|
|
|
|
// fn_02C460D4 @ 0x2c460d4
|
|
void Gambit_fn_02C460D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C460D4: ; // 0x2c460d4
|
|
/* 02C460D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C460D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C460D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C460D8 */ cpu->r[1] = _t0;
|
|
/* 02C460DC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C460DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C460E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C460E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C460E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C460E8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C460E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C460EC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C460EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C460F0 */ Gambit_fn_02C28F0C(cpu);
|
|
/* 02C460F4 */ cpu->r[4] = 0x0000005Cu;
|
|
/* 02C460F8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C460FC */ Gambit_fn_02C1EA54(cpu);
|
|
/* 02C46100 */ cpu->r[11] = 0x00000036u;
|
|
/* 02C46104 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C46108 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02C46108 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02C4610C */ _t6 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C4610C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C46110 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C46114 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46114 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C46114 */ if (_t8) goto L_02C46124; else goto L_02C46118;
|
|
L_02C46118: ; // 0x2c46118
|
|
/* 02C46118 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46118 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C46118 */ if (_t10) goto L_02C46150; else goto L_02C4611C;
|
|
L_02C4611C: ; // 0x2c4611c
|
|
/* 02C4611C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C46120 */ goto L_02C46160;
|
|
L_02C46124: ; // 0x2c46124
|
|
/* 02C46124 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C46128 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4612C */ Gambit_fn_02C45C60(cpu);
|
|
/* 02C46130 */ _t11 = cpu->r[30] + 0x00000014u;
|
|
/* 02C46130 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[3]);
|
|
/* 02C46134 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46138 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4613C */ Gambit_fn_02C1EB5C(cpu);
|
|
/* 02C46140 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C46144 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46148 */ Gambit_fn_02C1EC30(cpu);
|
|
/* 02C4614C */ goto L_02C4617C;
|
|
L_02C46150: ; // 0x2c46150
|
|
/* 02C46150 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C46154 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C46158 */ Gambit_fn_02C45F00(cpu);
|
|
/* 02C4615C */ cpu->r[12] = cpu->r[3];
|
|
L_02C46160: ; // 0x2c46160
|
|
/* 02C46160 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C46164 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46168 */ _t12 = cpu->r[30] + 0x00000014u;
|
|
/* 02C46168 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 02C4616C */ Gambit_fn_02C1EB5C(cpu);
|
|
/* 02C46170 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C46174 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46178 */ Gambit_fn_02C1EC30(cpu);
|
|
L_02C4617C: ; // 0x2c4617c
|
|
/* 02C4617C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4617C */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C46180 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C46184 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C46184 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C46188 */ cpu->lr = cpu->r[0];
|
|
/* 02C4618C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4618C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C46190 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C46194 */ return;
|
|
}
|
|
|
|
// fn_02C460D8 @ 0x2c460d8
|
|
void Gambit_fn_02C460D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C460D8: ; // 0x2c460d8
|
|
/* 02C460D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C460D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C460D8 */ cpu->r[1] = _t0;
|
|
/* 02C460DC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C460DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C460E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C460E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C460E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C460E8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C460E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C460EC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C460EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C460F0 */ Gambit_fn_02C28F0C(cpu);
|
|
/* 02C460F4 */ cpu->r[4] = 0x0000005Cu;
|
|
/* 02C460F8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C460FC */ Gambit_fn_02C1EA54(cpu);
|
|
/* 02C46100 */ cpu->r[11] = 0x00000036u;
|
|
/* 02C46104 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C46108 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02C46108 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02C4610C */ _t6 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C4610C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C46110 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C46114 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46114 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C46114 */ if (_t8) goto L_02C46124; else goto L_02C46118;
|
|
L_02C46118: ; // 0x2c46118
|
|
/* 02C46118 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46118 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C46118 */ if (_t10) goto L_02C46150; else goto L_02C4611C;
|
|
L_02C4611C: ; // 0x2c4611c
|
|
/* 02C4611C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C46120 */ goto L_02C46160;
|
|
L_02C46124: ; // 0x2c46124
|
|
/* 02C46124 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C46128 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4612C */ Gambit_fn_02C45C60(cpu);
|
|
/* 02C46130 */ _t11 = cpu->r[30] + 0x00000014u;
|
|
/* 02C46130 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[3]);
|
|
/* 02C46134 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46138 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4613C */ Gambit_fn_02C1EB5C(cpu);
|
|
/* 02C46140 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C46144 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46148 */ Gambit_fn_02C1EC30(cpu);
|
|
/* 02C4614C */ goto L_02C4617C;
|
|
L_02C46150: ; // 0x2c46150
|
|
/* 02C46150 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C46154 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C46158 */ Gambit_fn_02C45F00(cpu);
|
|
/* 02C4615C */ cpu->r[12] = cpu->r[3];
|
|
L_02C46160: ; // 0x2c46160
|
|
/* 02C46160 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C46164 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46168 */ _t12 = cpu->r[30] + 0x00000014u;
|
|
/* 02C46168 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 02C4616C */ Gambit_fn_02C1EB5C(cpu);
|
|
/* 02C46170 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C46174 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46178 */ Gambit_fn_02C1EC30(cpu);
|
|
L_02C4617C: ; // 0x2c4617c
|
|
/* 02C4617C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4617C */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C46180 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C46184 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C46184 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C46188 */ cpu->lr = cpu->r[0];
|
|
/* 02C4618C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4618C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C46190 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C46194 */ return;
|
|
}
|
|
|
|
// fn_02C46198 @ 0x2c46198
|
|
void Gambit_fn_02C46198(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_02C46198: ; // 0x2c46198
|
|
/* 02C46198 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4619C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4619C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4619C */ cpu->r[1] = _t0;
|
|
/* 02C461A0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C461A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C461A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C461A8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C461A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C461AC */ _t3 = cpu->r[31] + 0x00000018u;
|
|
/* 02C461AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C461B0 */ _t4 = cpu->r[12] + 0x00000008u;
|
|
/* 02C461B0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C461B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C461B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C461B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C461B8 */ if (_t6) goto L_02C461EC; else goto L_02C461BC;
|
|
L_02C461BC: ; // 0x2c461bc
|
|
/* 02C461BC */ _t7 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C461BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C461C0 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 02C461C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C461C4 */ _t9 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C461C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C461C8 */ _t10 = cpu->r[12] + 0x00000010u;
|
|
/* 02C461C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C461CC */ _t11 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C461CC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02C461D0 */ _t12 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C461D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C461D4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C461D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C461D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C461DC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C461DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C461E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C461E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C461E8 */ return;
|
|
L_02C461EC: ; // 0x2c461ec
|
|
/* 02C461EC */ _t15 = cpu->r[31] + 0x000002EEu;
|
|
/* 02C461EC */ cpu->r[9] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02C461F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C461F4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C461F4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C461F4 */ if (_t17) goto L_02C46254; else goto L_02C461F8;
|
|
L_02C461F8: ; // 0x2c461f8
|
|
/* 02C461F8 */ _t18 = cpu->r[31] + 0x00000038u;
|
|
/* 02C461F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C461FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C46200 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46200 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C46200 */ if (_t20) goto L_02C46254; else goto L_02C46204;
|
|
L_02C46204: ; // 0x2c46204
|
|
/* 02C46204 */ cpu->ctr = cpu->r[0];
|
|
/* 02C46208 */ _t21 = cpu->r[31] + 0x000002F0u;
|
|
/* 02C46208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C4620C */ _t22 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C4620C */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C46210 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C46210 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02C46214 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C46218 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4621C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46220 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46220 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C46220 */ if (_t25) goto L_02C46254; else goto L_02C46224;
|
|
L_02C46224: ; // 0x2c46224
|
|
/* 02C46224 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C46224 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C46228 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4622C */ _t27 = cpu->r[31] + 0x000002F0u;
|
|
/* 02C4622C */ rbrew_write32(cpu->mem, _t27, cpu->r[4]);
|
|
/* 02C46230 */ Gambit_fn_02C45A88(cpu);
|
|
/* 02C46234 */ _t28 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C46234 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C46238 */ _t29 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C46238 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
/* 02C4623C */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4623C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C46240 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46240 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C46244 */ cpu->lr = cpu->r[0];
|
|
/* 02C46248 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4624C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C46250 */ return;
|
|
L_02C46254: ; // 0x2c46254
|
|
/* 02C46254 */ _t32 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C46254 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C46258 */ _t33 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C46258 */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
|
|
/* 02C4625C */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4625C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C46260 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46260 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C46264 */ cpu->lr = cpu->r[0];
|
|
/* 02C46268 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4626C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C46270 */ return;
|
|
}
|
|
|
|
// fn_02C4619C @ 0x2c4619c
|
|
void Gambit_fn_02C4619C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_02C4619C: ; // 0x2c4619c
|
|
/* 02C4619C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4619C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4619C */ cpu->r[1] = _t0;
|
|
/* 02C461A0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C461A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C461A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C461A8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C461A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C461AC */ _t3 = cpu->r[31] + 0x00000018u;
|
|
/* 02C461AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C461B0 */ _t4 = cpu->r[12] + 0x00000008u;
|
|
/* 02C461B0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C461B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C461B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C461B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C461B8 */ if (_t6) goto L_02C461EC; else goto L_02C461BC;
|
|
L_02C461BC: ; // 0x2c461bc
|
|
/* 02C461BC */ _t7 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C461BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C461C0 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 02C461C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C461C4 */ _t9 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C461C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C461C8 */ _t10 = cpu->r[12] + 0x00000010u;
|
|
/* 02C461C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C461CC */ _t11 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C461CC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02C461D0 */ _t12 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C461D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C461D4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C461D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C461D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C461DC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C461DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C461E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C461E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C461E8 */ return;
|
|
L_02C461EC: ; // 0x2c461ec
|
|
/* 02C461EC */ _t15 = cpu->r[31] + 0x000002EEu;
|
|
/* 02C461EC */ cpu->r[9] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02C461F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C461F4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C461F4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C461F4 */ if (_t17) goto L_02C46254; else goto L_02C461F8;
|
|
L_02C461F8: ; // 0x2c461f8
|
|
/* 02C461F8 */ _t18 = cpu->r[31] + 0x00000038u;
|
|
/* 02C461F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C461FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C46200 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46200 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C46200 */ if (_t20) goto L_02C46254; else goto L_02C46204;
|
|
L_02C46204: ; // 0x2c46204
|
|
/* 02C46204 */ cpu->ctr = cpu->r[0];
|
|
/* 02C46208 */ _t21 = cpu->r[31] + 0x000002F0u;
|
|
/* 02C46208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C4620C */ _t22 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C4620C */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C46210 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C46210 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02C46214 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C46218 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4621C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46220 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46220 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C46220 */ if (_t25) goto L_02C46254; else goto L_02C46224;
|
|
L_02C46224: ; // 0x2c46224
|
|
/* 02C46224 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C46224 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C46228 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4622C */ _t27 = cpu->r[31] + 0x000002F0u;
|
|
/* 02C4622C */ rbrew_write32(cpu->mem, _t27, cpu->r[4]);
|
|
/* 02C46230 */ Gambit_fn_02C45A88(cpu);
|
|
/* 02C46234 */ _t28 = cpu->r[31] + 0x000002F8u;
|
|
/* 02C46234 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C46238 */ _t29 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C46238 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
/* 02C4623C */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4623C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C46240 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46240 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C46244 */ cpu->lr = cpu->r[0];
|
|
/* 02C46248 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4624C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C46250 */ return;
|
|
L_02C46254: ; // 0x2c46254
|
|
/* 02C46254 */ _t32 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C46254 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C46258 */ _t33 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C46258 */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
|
|
/* 02C4625C */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4625C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C46260 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46260 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C46264 */ cpu->lr = cpu->r[0];
|
|
/* 02C46268 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4626C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C46270 */ return;
|
|
}
|
|
|
|
// fn_02C46274 @ 0x2c46274
|
|
void Gambit_fn_02C46274(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C46274: ; // 0x2c46274
|
|
/* 02C46274 */ cpu->r[0] = cpu->lr;
|
|
/* 02C46278 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C46278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C46278 */ cpu->r[1] = _t0;
|
|
/* 02C4627C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4627C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C46280 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46280 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C46284 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C46288 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4628C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4628C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C46290 */ Gambit_fn_02C46198(cpu);
|
|
/* 02C46294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46298 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46298 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C46298 */ if (_t5) goto L_02C462C4; else goto L_02C4629C;
|
|
L_02C4629C: ; // 0x2c4629c
|
|
/* 02C4629C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4629C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C462A0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C462A4 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02C462A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C462A8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C462A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C462AC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C462AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C462B0 */ cpu->lr = cpu->r[0];
|
|
/* 02C462B4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C462B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C462B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C462BC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C462C0 */ return;
|
|
L_02C462C4: ; // 0x2c462c4
|
|
/* 02C462C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C462C8 */ _t11 = cpu->r[31] + 0x000002EDu;
|
|
/* 02C462C8 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 02C462CC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C462CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C462D0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C462D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C462D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C462D8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C462D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C462DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C462E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C462E4 */ return;
|
|
}
|
|
|
|
// fn_02C46278 @ 0x2c46278
|
|
void Gambit_fn_02C46278(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C46278: ; // 0x2c46278
|
|
/* 02C46278 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C46278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C46278 */ cpu->r[1] = _t0;
|
|
/* 02C4627C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4627C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C46280 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46280 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C46284 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C46288 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4628C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4628C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C46290 */ Gambit_fn_02C46198(cpu);
|
|
/* 02C46294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46298 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46298 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C46298 */ if (_t5) goto L_02C462C4; else goto L_02C4629C;
|
|
L_02C4629C: ; // 0x2c4629c
|
|
/* 02C4629C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4629C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C462A0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C462A4 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02C462A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C462A8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C462A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C462AC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C462AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C462B0 */ cpu->lr = cpu->r[0];
|
|
/* 02C462B4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C462B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C462B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C462BC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C462C0 */ return;
|
|
L_02C462C4: ; // 0x2c462c4
|
|
/* 02C462C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C462C8 */ _t11 = cpu->r[31] + 0x000002EDu;
|
|
/* 02C462C8 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 02C462CC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C462CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C462D0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C462D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C462D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C462D8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C462D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C462DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C462E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C462E4 */ return;
|
|
}
|
|
|
|
// fn_02C462E8 @ 0x2c462e8
|
|
void Gambit_fn_02C462E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C462E8: ; // 0x2c462e8
|
|
/* 02C462E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C462EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C462EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C462EC */ cpu->r[1] = _t0;
|
|
/* 02C462F0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C462F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C462F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C462F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C462F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C462FC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C462FC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C46300 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46300 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C46304 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C46308 */ _t5 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C46308 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4630C */ _t6 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C4630C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C46310 */ cpu->r[12] = cpu->r[11] + cpu->r[4];
|
|
/* 02C46314 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C46318 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46318 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C46318 */ if (_t8) goto L_02C46368; else goto L_02C4631C;
|
|
L_02C4631C: ; // 0x2c4631c
|
|
/* 02C4631C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C46320 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C46324 */ cpu->r[30] = cpu->r[12] - cpu->r[0];
|
|
/* 02C46328 */ Gambit_fn_02C46274(cpu);
|
|
/* 02C4632C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46330 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46330 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C46330 */ if (_t10) goto L_02C46334; else goto L_02C46354;
|
|
L_02C46334: ; // 0x2c46334
|
|
/* 02C46334 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46334 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C46338 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4633C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4633C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C46340 */ cpu->lr = cpu->r[0];
|
|
/* 02C46344 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46344 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C46348 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4634C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C46350 */ return;
|
|
L_02C46354: ; // 0x2c46354
|
|
/* 02C46354 */ _t15 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C46354 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C46358 */ _t16 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C46358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4635C */ cpu->r[12] = cpu->r[10] + cpu->r[30];
|
|
/* 02C46360 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C46364 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46364 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C46364 */ if (_t18) goto L_02C46368; else goto L_02C4631C;
|
|
L_02C46368: ; // 0x2c46368
|
|
/* 02C46368 */ _t19 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C46368 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C4636C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4636C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C46370 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C46374 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C46374 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C46378 */ cpu->lr = cpu->r[0];
|
|
/* 02C4637C */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4637C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C46380 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C46384 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C46388 */ return;
|
|
}
|
|
|
|
// fn_02C462EC @ 0x2c462ec
|
|
void Gambit_fn_02C462EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C462EC: ; // 0x2c462ec
|
|
/* 02C462EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C462EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C462EC */ cpu->r[1] = _t0;
|
|
/* 02C462F0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C462F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C462F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C462F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C462F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C462FC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C462FC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C46300 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46300 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C46304 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C46308 */ _t5 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C46308 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4630C */ _t6 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C4630C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C46310 */ cpu->r[12] = cpu->r[11] + cpu->r[4];
|
|
/* 02C46314 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C46318 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46318 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C46318 */ if (_t8) goto L_02C46368; else goto L_02C4631C;
|
|
L_02C4631C: ; // 0x2c4631c
|
|
/* 02C4631C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C46320 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C46324 */ cpu->r[30] = cpu->r[12] - cpu->r[0];
|
|
/* 02C46328 */ Gambit_fn_02C46274(cpu);
|
|
/* 02C4632C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46330 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46330 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C46330 */ if (_t10) goto L_02C46334; else goto L_02C46354;
|
|
L_02C46334: ; // 0x2c46334
|
|
/* 02C46334 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46334 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C46338 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4633C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4633C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C46340 */ cpu->lr = cpu->r[0];
|
|
/* 02C46344 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46344 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C46348 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4634C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C46350 */ return;
|
|
L_02C46354: ; // 0x2c46354
|
|
/* 02C46354 */ _t15 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C46354 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C46358 */ _t16 = cpu->r[31] + 0x000002FCu;
|
|
/* 02C46358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4635C */ cpu->r[12] = cpu->r[10] + cpu->r[30];
|
|
/* 02C46360 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C46364 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46364 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C46364 */ if (_t18) goto L_02C46368; else goto L_02C4631C;
|
|
L_02C46368: ; // 0x2c46368
|
|
/* 02C46368 */ _t19 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C46368 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C4636C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4636C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C46370 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C46374 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C46374 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C46378 */ cpu->lr = cpu->r[0];
|
|
/* 02C4637C */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4637C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C46380 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C46384 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C46388 */ return;
|
|
}
|
|
|
|
// fn_02C4638C @ 0x2c4638c
|
|
void Gambit_fn_02C4638C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54;
|
|
|
|
L_02C4638C: ; // 0x2c4638c
|
|
/* 02C4638C */ cpu->r[0] = cpu->lr;
|
|
/* 02C46390 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C46390 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C46390 */ cpu->r[1] = _t0;
|
|
/* 02C46394 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C46394 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C46398 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46398 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4639C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C463A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C463A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C463A4 */ _t4 = cpu->r[30] + 0x000002D8u;
|
|
/* 02C463A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C463A8 */ _t5 = cpu->r[30] + 0x000002D4u;
|
|
/* 02C463A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C463AC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C463B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C463B4 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 02C463B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C463B8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C463B8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C463B8 */ if (_t8) goto L_02C46400; else goto L_02C463BC;
|
|
L_02C463BC: ; // 0x2c463bc
|
|
/* 02C463BC */ _t9 = cpu->r[10] + 0x00000020u;
|
|
/* 02C463BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C463C0 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02C463C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C463C4 */ _t11 = cpu->r[30] + 0x00000018u;
|
|
/* 02C463C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C463C8 */ _t12 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C463C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C463CC */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02C463CC */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02C463D0 */ _t14 = cpu->r[30] + 0x00000018u;
|
|
/* 02C463D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C463D4 */ _t15 = cpu->r[30] + 0x000002F4u;
|
|
/* 02C463D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C463D8 */ _t16 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C463D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C463DC */ cpu->r[12] = cpu->r[10] / cpu->r[11];
|
|
/* 02C463E0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[11]);
|
|
/* 02C463E4 */ cpu->r[3] = cpu->r[10] - cpu->r[12];
|
|
/* 02C463E8 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 02C463E8 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 02C463EC */ _t18 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C463EC */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 02C463F0 */ _t19 = cpu->r[30] + 0x00001594u;
|
|
/* 02C463F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C463F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000002u);
|
|
/* 02C463F8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C463F8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C463F8 */ if (_t21) goto L_02C463FC; else goto L_02C46464;
|
|
L_02C463FC: ; // 0x2c463fc
|
|
/* 02C463FC */ goto L_02C46440;
|
|
L_02C46400: ; // 0x2c46400
|
|
/* 02C46400 */ _t22 = cpu->r[10] + 0x00000024u;
|
|
/* 02C46400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C46404 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 02C46404 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C46408 */ _t24 = cpu->r[30] + 0x00000018u;
|
|
/* 02C46408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C4640C */ _t25 = cpu->r[12] + 0x00000028u;
|
|
/* 02C4640C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C46410 */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 02C46410 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 02C46414 */ _t27 = cpu->r[30] + 0x00000018u;
|
|
/* 02C46414 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C46418 */ _t28 = cpu->r[30] + 0x000002F4u;
|
|
/* 02C46418 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C4641C */ _t29 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C4641C */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C46420 */ cpu->r[12] = cpu->r[10] / cpu->r[11];
|
|
/* 02C46424 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[11]);
|
|
/* 02C46428 */ cpu->r[3] = cpu->r[10] - cpu->r[12];
|
|
/* 02C4642C */ _t30 = cpu->r[31] + 0x00000008u;
|
|
/* 02C4642C */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
/* 02C46430 */ _t31 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C46430 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
/* 02C46434 */ _t32 = cpu->r[30] + 0x00001594u;
|
|
/* 02C46434 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C46438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000002u);
|
|
/* 02C4643C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4643C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C4643C */ if (_t34) goto L_02C46440; else goto L_02C46464;
|
|
L_02C46440: ; // 0x2c46440
|
|
/* 02C46440 */ _t35 = cpu->r[31] + 0x00000008u;
|
|
/* 02C46440 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C46444 */ cpu->r[10] = 0x92490000u;
|
|
/* 02C46448 */ cpu->r[10] = cpu->r[10] + 0x00002493u;
|
|
/* 02C4644C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C46450 */ /* nop */
|
|
/* 02C46454 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C46458 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Eu);
|
|
/* 02C4645C */ _t36 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C4645C */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02C46460 */ _t37 = cpu->r[30] + 0x00001594u;
|
|
/* 02C46460 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
L_02C46464: ; // 0x2c46464
|
|
/* 02C46464 */ Gambit_fn_02C32E18(cpu);
|
|
/* 02C46468 */ _t38 = cpu->r[31] + 0x00000000u;
|
|
/* 02C46468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C4646C */ _t39 = cpu->r[31] + 0x00000004u;
|
|
/* 02C4646C */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C46470 */ cpu->r[11] = cpu->r[0] - cpu->r[3];
|
|
/* 02C46474 */ _t40 = cpu->r[31] + 0x00000008u;
|
|
/* 02C46474 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C46478 */ _t41 = cpu->r[31] + 0x00000010u;
|
|
/* 02C46478 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]);
|
|
/* 02C4647C */ cpu->r[12] = cpu->r[12] - cpu->r[9];
|
|
/* 02C46480 */ _t42 = cpu->r[31] + 0x00000014u;
|
|
/* 02C46480 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
|
|
/* 02C46484 */ _t43 = cpu->r[31] + 0x00000004u;
|
|
/* 02C46484 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02C46488 */ _t44 = cpu->r[30] + 0x000002F4u;
|
|
/* 02C46488 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C4648C */ _t45 = cpu->r[30] + 0x000002FCu;
|
|
/* 02C4648C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C46490 */ cpu->r[11] = cpu->r[9] + cpu->r[12];
|
|
/* 02C46494 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02C46498 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C46498 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C46498 */ if (_t47) goto L_02C4649C; else goto L_02C464B4;
|
|
L_02C4649C: ; // 0x2c4649c
|
|
/* 02C4649C */ cpu->r[12] = cpu->r[0] - cpu->r[9];
|
|
/* 02C464A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000480u);
|
|
/* 02C464A4 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 02C464A4 */ rbrew_write32(cpu->mem, _t48, cpu->r[12]);
|
|
/* 02C464A8 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C464A8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C464A8 */ if (_t50) goto L_02C464AC; else goto L_02C464B4;
|
|
L_02C464AC: ; // 0x2c464ac
|
|
/* 02C464AC */ cpu->r[0] = 0x00000900u;
|
|
/* 02C464B0 */ _t51 = cpu->r[31] + 0x00000014u;
|
|
/* 02C464B0 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
L_02C464B4: ; // 0x2c464b4
|
|
/* 02C464B4 */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02C464B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C464B8 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02C464B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C464BC */ cpu->lr = cpu->r[0];
|
|
/* 02C464C0 */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C464C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C464C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C464C8 */ return;
|
|
}
|
|
|
|
// fn_02C46390 @ 0x2c46390
|
|
void Gambit_fn_02C46390(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54;
|
|
|
|
L_02C46390: ; // 0x2c46390
|
|
/* 02C46390 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C46390 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C46390 */ cpu->r[1] = _t0;
|
|
/* 02C46394 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C46394 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C46398 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46398 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4639C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C463A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C463A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C463A4 */ _t4 = cpu->r[30] + 0x000002D8u;
|
|
/* 02C463A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C463A8 */ _t5 = cpu->r[30] + 0x000002D4u;
|
|
/* 02C463A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C463AC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C463B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C463B4 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 02C463B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C463B8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C463B8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C463B8 */ if (_t8) goto L_02C46400; else goto L_02C463BC;
|
|
L_02C463BC: ; // 0x2c463bc
|
|
/* 02C463BC */ _t9 = cpu->r[10] + 0x00000020u;
|
|
/* 02C463BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C463C0 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02C463C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C463C4 */ _t11 = cpu->r[30] + 0x00000018u;
|
|
/* 02C463C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C463C8 */ _t12 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C463C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C463CC */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02C463CC */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02C463D0 */ _t14 = cpu->r[30] + 0x00000018u;
|
|
/* 02C463D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C463D4 */ _t15 = cpu->r[30] + 0x000002F4u;
|
|
/* 02C463D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C463D8 */ _t16 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C463D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C463DC */ cpu->r[12] = cpu->r[10] / cpu->r[11];
|
|
/* 02C463E0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[11]);
|
|
/* 02C463E4 */ cpu->r[3] = cpu->r[10] - cpu->r[12];
|
|
/* 02C463E8 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 02C463E8 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 02C463EC */ _t18 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C463EC */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 02C463F0 */ _t19 = cpu->r[30] + 0x00001594u;
|
|
/* 02C463F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C463F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000002u);
|
|
/* 02C463F8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C463F8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C463F8 */ if (_t21) goto L_02C463FC; else goto L_02C46464;
|
|
L_02C463FC: ; // 0x2c463fc
|
|
/* 02C463FC */ goto L_02C46440;
|
|
L_02C46400: ; // 0x2c46400
|
|
/* 02C46400 */ _t22 = cpu->r[10] + 0x00000024u;
|
|
/* 02C46400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C46404 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 02C46404 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C46408 */ _t24 = cpu->r[30] + 0x00000018u;
|
|
/* 02C46408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C4640C */ _t25 = cpu->r[12] + 0x00000028u;
|
|
/* 02C4640C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C46410 */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 02C46410 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 02C46414 */ _t27 = cpu->r[30] + 0x00000018u;
|
|
/* 02C46414 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C46418 */ _t28 = cpu->r[30] + 0x000002F4u;
|
|
/* 02C46418 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C4641C */ _t29 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C4641C */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C46420 */ cpu->r[12] = cpu->r[10] / cpu->r[11];
|
|
/* 02C46424 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[11]);
|
|
/* 02C46428 */ cpu->r[3] = cpu->r[10] - cpu->r[12];
|
|
/* 02C4642C */ _t30 = cpu->r[31] + 0x00000008u;
|
|
/* 02C4642C */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
/* 02C46430 */ _t31 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C46430 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
/* 02C46434 */ _t32 = cpu->r[30] + 0x00001594u;
|
|
/* 02C46434 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C46438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000002u);
|
|
/* 02C4643C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4643C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C4643C */ if (_t34) goto L_02C46440; else goto L_02C46464;
|
|
L_02C46440: ; // 0x2c46440
|
|
/* 02C46440 */ _t35 = cpu->r[31] + 0x00000008u;
|
|
/* 02C46440 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C46444 */ cpu->r[10] = 0x92490000u;
|
|
/* 02C46448 */ cpu->r[10] = cpu->r[10] + 0x00002493u;
|
|
/* 02C4644C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C46450 */ /* nop */
|
|
/* 02C46454 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C46458 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Eu);
|
|
/* 02C4645C */ _t36 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C4645C */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02C46460 */ _t37 = cpu->r[30] + 0x00001594u;
|
|
/* 02C46460 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
L_02C46464: ; // 0x2c46464
|
|
/* 02C46464 */ Gambit_fn_02C32E18(cpu);
|
|
/* 02C46468 */ _t38 = cpu->r[31] + 0x00000000u;
|
|
/* 02C46468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C4646C */ _t39 = cpu->r[31] + 0x00000004u;
|
|
/* 02C4646C */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C46470 */ cpu->r[11] = cpu->r[0] - cpu->r[3];
|
|
/* 02C46474 */ _t40 = cpu->r[31] + 0x00000008u;
|
|
/* 02C46474 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C46478 */ _t41 = cpu->r[31] + 0x00000010u;
|
|
/* 02C46478 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]);
|
|
/* 02C4647C */ cpu->r[12] = cpu->r[12] - cpu->r[9];
|
|
/* 02C46480 */ _t42 = cpu->r[31] + 0x00000014u;
|
|
/* 02C46480 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
|
|
/* 02C46484 */ _t43 = cpu->r[31] + 0x00000004u;
|
|
/* 02C46484 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02C46488 */ _t44 = cpu->r[30] + 0x000002F4u;
|
|
/* 02C46488 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C4648C */ _t45 = cpu->r[30] + 0x000002FCu;
|
|
/* 02C4648C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C46490 */ cpu->r[11] = cpu->r[9] + cpu->r[12];
|
|
/* 02C46494 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02C46498 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C46498 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C46498 */ if (_t47) goto L_02C4649C; else goto L_02C464B4;
|
|
L_02C4649C: ; // 0x2c4649c
|
|
/* 02C4649C */ cpu->r[12] = cpu->r[0] - cpu->r[9];
|
|
/* 02C464A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000480u);
|
|
/* 02C464A4 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 02C464A4 */ rbrew_write32(cpu->mem, _t48, cpu->r[12]);
|
|
/* 02C464A8 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C464A8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C464A8 */ if (_t50) goto L_02C464AC; else goto L_02C464B4;
|
|
L_02C464AC: ; // 0x2c464ac
|
|
/* 02C464AC */ cpu->r[0] = 0x00000900u;
|
|
/* 02C464B0 */ _t51 = cpu->r[31] + 0x00000014u;
|
|
/* 02C464B0 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
L_02C464B4: ; // 0x2c464b4
|
|
/* 02C464B4 */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02C464B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C464B8 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02C464B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C464BC */ cpu->lr = cpu->r[0];
|
|
/* 02C464C0 */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C464C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C464C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C464C8 */ return;
|
|
}
|
|
|
|
// fn_02C464CC @ 0x2c464cc
|
|
void Gambit_fn_02C464CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_02C464CC: ; // 0x2c464cc
|
|
/* 02C464CC */ cpu->r[0] = cpu->lr;
|
|
/* 02C464D0 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02C464D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C464D0 */ cpu->r[1] = _t0;
|
|
/* 02C464D4 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02C464D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C464D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C464DC */ _t2 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C464DC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C464E0 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 02C464E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C464E4 */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 02C464E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C464E8 */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C464E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C464EC */ _t6 = cpu->r[31] + 0x00000014u;
|
|
/* 02C464EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C464F0 */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C464F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C464F4 */ _t8 = cpu->r[12] + 0x000000BCu;
|
|
/* 02C464F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C464F8 */ cpu->ctr = cpu->r[0];
|
|
/* 02C464FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46500 */ cpu->r[29] = cpu->r[1] + 0x00000028u;
|
|
/* 02C46504 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C46508 */ _t9 = cpu->r[31] + 0x000002D4u;
|
|
/* 02C46508 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4650C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C46510 */ cpu->r[30] = cpu->r[1] + 0x00000008u;
|
|
/* 02C46514 */ _t10 = cpu->r[31] + 0x00000028u;
|
|
/* 02C46514 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C46518 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C4651C */ cpu->r[4] = cpu->r[30];
|
|
/* 02C46520 */ Gambit_fn_02C422AC(cpu);
|
|
/* 02C46524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46528 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46528 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C46528 */ if (_t12) goto L_02C4652C; else goto L_02C46550;
|
|
L_02C4652C: ; // 0x2c4652c
|
|
/* 02C4652C */ _t13 = cpu->r[1] + 0x00000048u;
|
|
/* 02C4652C */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C46530 */ _t14 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C46530 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C46534 */ _t15 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C46534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C46538 */ _t16 = cpu->r[1] + 0x00000050u;
|
|
/* 02C46538 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4653C */ cpu->lr = cpu->r[0];
|
|
/* 02C46540 */ _t17 = cpu->r[1] + 0x00000054u;
|
|
/* 02C46540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C46544 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C46548 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4654C */ return;
|
|
L_02C46550: ; // 0x2c46550
|
|
/* 02C46550 */ _t18 = cpu->r[31] + 0x00000014u;
|
|
/* 02C46550 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C46554 */ _t19 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C46554 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C46558 */ _t20 = cpu->r[6] + 0x00000094u;
|
|
/* 02C46558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C4655C */ cpu->ctr = cpu->r[0];
|
|
/* 02C46560 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C46564 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C46568 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4656C */ _t21 = cpu->r[31] + 0x00000028u;
|
|
/* 02C4656C */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C46570 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C46574 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02C46578 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46578 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C46578 */ if (_t23) goto L_02C4657C; else goto L_02C465AC;
|
|
L_02C4657C: ; // 0x2c4657c
|
|
/* 02C4657C */ cpu->r[9] = cpu->r[29] + 0xFFFFFFFEu;
|
|
/* 02C46580 */ cpu->r[11] = cpu->r[30] + 0xFFFFFFFEu;
|
|
/* 02C46584 */ cpu->r[8] = cpu->r[31] + 0x00001856u;
|
|
L_02C46588: ; // 0x2c46588
|
|
/* 02C46588 */ _t24 = cpu->r[11] + 0x00000002u;
|
|
/* 02C46588 */ cpu->r[0] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02C46588 */ cpu->r[11] = _t24;
|
|
/* 02C4658C */ _t25 = cpu->r[9] + 0x00000002u;
|
|
/* 02C4658C */ cpu->r[10] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02C4658C */ cpu->r[9] = _t25;
|
|
/* 02C46590 */ _t26 = cpu->r[8] + 0x00000008u;
|
|
/* 02C46590 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[0]);
|
|
/* 02C46594 */ _t27 = cpu->r[8] + 0x0000000Au;
|
|
/* 02C46594 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[10]);
|
|
/* 02C46598 */ _t28 = cpu->r[31] + 0x00000028u;
|
|
/* 02C46598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C4659C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C465A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C465A4 */ cpu->r[8] = cpu->r[8] + 0x00000006u;
|
|
/* 02C465A8 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C465A8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C465A8 */ if (_t30) goto L_02C46588; else goto L_02C465AC;
|
|
L_02C465AC: ; // 0x2c465ac
|
|
/* 02C465AC */ _t31 = cpu->r[1] + 0x00000048u;
|
|
/* 02C465AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C465B0 */ _t32 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C465B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C465B4 */ _t33 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C465B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C465B8 */ _t34 = cpu->r[1] + 0x00000050u;
|
|
/* 02C465B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C465BC */ cpu->lr = cpu->r[0];
|
|
/* 02C465C0 */ _t35 = cpu->r[1] + 0x00000054u;
|
|
/* 02C465C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C465C4 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C465C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C465CC */ return;
|
|
}
|
|
|
|
// fn_02C464D0 @ 0x2c464d0
|
|
void Gambit_fn_02C464D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_02C464D0: ; // 0x2c464d0
|
|
/* 02C464D0 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02C464D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C464D0 */ cpu->r[1] = _t0;
|
|
/* 02C464D4 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02C464D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C464D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C464DC */ _t2 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C464DC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C464E0 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 02C464E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C464E4 */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 02C464E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C464E8 */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C464E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C464EC */ _t6 = cpu->r[31] + 0x00000014u;
|
|
/* 02C464EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C464F0 */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C464F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C464F4 */ _t8 = cpu->r[12] + 0x000000BCu;
|
|
/* 02C464F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C464F8 */ cpu->ctr = cpu->r[0];
|
|
/* 02C464FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46500 */ cpu->r[29] = cpu->r[1] + 0x00000028u;
|
|
/* 02C46504 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C46508 */ _t9 = cpu->r[31] + 0x000002D4u;
|
|
/* 02C46508 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4650C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C46510 */ cpu->r[30] = cpu->r[1] + 0x00000008u;
|
|
/* 02C46514 */ _t10 = cpu->r[31] + 0x00000028u;
|
|
/* 02C46514 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C46518 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C4651C */ cpu->r[4] = cpu->r[30];
|
|
/* 02C46520 */ Gambit_fn_02C422AC(cpu);
|
|
/* 02C46524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46528 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46528 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C46528 */ if (_t12) goto L_02C4652C; else goto L_02C46550;
|
|
L_02C4652C: ; // 0x2c4652c
|
|
/* 02C4652C */ _t13 = cpu->r[1] + 0x00000048u;
|
|
/* 02C4652C */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C46530 */ _t14 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C46530 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C46534 */ _t15 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C46534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C46538 */ _t16 = cpu->r[1] + 0x00000050u;
|
|
/* 02C46538 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4653C */ cpu->lr = cpu->r[0];
|
|
/* 02C46540 */ _t17 = cpu->r[1] + 0x00000054u;
|
|
/* 02C46540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C46544 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C46548 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4654C */ return;
|
|
L_02C46550: ; // 0x2c46550
|
|
/* 02C46550 */ _t18 = cpu->r[31] + 0x00000014u;
|
|
/* 02C46550 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C46554 */ _t19 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C46554 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C46558 */ _t20 = cpu->r[6] + 0x00000094u;
|
|
/* 02C46558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C4655C */ cpu->ctr = cpu->r[0];
|
|
/* 02C46560 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C46564 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C46568 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4656C */ _t21 = cpu->r[31] + 0x00000028u;
|
|
/* 02C4656C */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C46570 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C46574 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02C46578 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46578 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C46578 */ if (_t23) goto L_02C4657C; else goto L_02C465AC;
|
|
L_02C4657C: ; // 0x2c4657c
|
|
/* 02C4657C */ cpu->r[9] = cpu->r[29] + 0xFFFFFFFEu;
|
|
/* 02C46580 */ cpu->r[11] = cpu->r[30] + 0xFFFFFFFEu;
|
|
/* 02C46584 */ cpu->r[8] = cpu->r[31] + 0x00001856u;
|
|
L_02C46588: ; // 0x2c46588
|
|
/* 02C46588 */ _t24 = cpu->r[11] + 0x00000002u;
|
|
/* 02C46588 */ cpu->r[0] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02C46588 */ cpu->r[11] = _t24;
|
|
/* 02C4658C */ _t25 = cpu->r[9] + 0x00000002u;
|
|
/* 02C4658C */ cpu->r[10] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02C4658C */ cpu->r[9] = _t25;
|
|
/* 02C46590 */ _t26 = cpu->r[8] + 0x00000008u;
|
|
/* 02C46590 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[0]);
|
|
/* 02C46594 */ _t27 = cpu->r[8] + 0x0000000Au;
|
|
/* 02C46594 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[10]);
|
|
/* 02C46598 */ _t28 = cpu->r[31] + 0x00000028u;
|
|
/* 02C46598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C4659C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C465A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C465A4 */ cpu->r[8] = cpu->r[8] + 0x00000006u;
|
|
/* 02C465A8 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C465A8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C465A8 */ if (_t30) goto L_02C46588; else goto L_02C465AC;
|
|
L_02C465AC: ; // 0x2c465ac
|
|
/* 02C465AC */ _t31 = cpu->r[1] + 0x00000048u;
|
|
/* 02C465AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C465B0 */ _t32 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C465B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C465B4 */ _t33 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C465B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C465B8 */ _t34 = cpu->r[1] + 0x00000050u;
|
|
/* 02C465B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C465BC */ cpu->lr = cpu->r[0];
|
|
/* 02C465C0 */ _t35 = cpu->r[1] + 0x00000054u;
|
|
/* 02C465C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C465C4 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C465C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C465CC */ return;
|
|
}
|
|
|
|
// fn_02C465D0 @ 0x2c465d0
|
|
void Gambit_fn_02C465D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C465D0: ; // 0x2c465d0
|
|
/* 02C465D0 */ _t0 = cpu->r[3] + 0x00000028u;
|
|
/* 02C465D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C465D4 */ cpu->r[0] = cpu->r[4] + 0x00000002u;
|
|
/* 02C465D8 */ cpu->r[3] = 0x00000002u;
|
|
/* 02C465DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02C465E0 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C465E0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C465E0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02C465E0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C465E0 */ goto L_02C465E4;
|
|
L_02C465E4: ; // 0x2c465e4
|
|
/* 02C465E4 */ cpu->r[3] = cpu->r[12] - cpu->r[4];
|
|
/* 02C465E8 */ return;
|
|
}
|
|
|
|
// fn_02C465EC @ 0x2c465ec
|
|
void Gambit_fn_02C465EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C465EC: ; // 0x2c465ec
|
|
/* 02C465EC */ cpu->r[0] = cpu->lr;
|
|
/* 02C465F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C465F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C465F0 */ cpu->r[1] = _t0;
|
|
/* 02C465F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C465F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C465F8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C465F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C465FC */ _t3 = cpu->r[3] + 0x00000014u;
|
|
/* 02C465FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C46600 */ _t4 = cpu->r[5] + 0x00000000u;
|
|
/* 02C46600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C46604 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C46604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C46608 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[6]);
|
|
/* 02C4660C */ _t6 = cpu->r[11] + 0x00000024u;
|
|
/* 02C4660C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C46610 */ cpu->ctr = cpu->r[0];
|
|
/* 02C46614 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C46618 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4661C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4661C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C46620 */ cpu->r[10] = cpu->r[3] ^ cpu->r[31];
|
|
/* 02C46624 */ cpu->lr = cpu->r[0];
|
|
/* 02C46628 */ cpu->r[12] = rbrew_clz32(cpu->r[10]);
|
|
/* 02C4662C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4662C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C46630 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C46634 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C46638 */ return;
|
|
}
|
|
|
|
// fn_02C465F0 @ 0x2c465f0
|
|
void Gambit_fn_02C465F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C465F0: ; // 0x2c465f0
|
|
/* 02C465F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C465F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C465F0 */ cpu->r[1] = _t0;
|
|
/* 02C465F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C465F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C465F8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C465F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C465FC */ _t3 = cpu->r[3] + 0x00000014u;
|
|
/* 02C465FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C46600 */ _t4 = cpu->r[5] + 0x00000000u;
|
|
/* 02C46600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C46604 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C46604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C46608 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[6]);
|
|
/* 02C4660C */ _t6 = cpu->r[11] + 0x00000024u;
|
|
/* 02C4660C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C46610 */ cpu->ctr = cpu->r[0];
|
|
/* 02C46614 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C46618 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4661C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4661C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C46620 */ cpu->r[10] = cpu->r[3] ^ cpu->r[31];
|
|
/* 02C46624 */ cpu->lr = cpu->r[0];
|
|
/* 02C46628 */ cpu->r[12] = rbrew_clz32(cpu->r[10]);
|
|
/* 02C4662C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4662C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C46630 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C46634 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C46638 */ return;
|
|
}
|
|
|
|
// fn_02C4663C @ 0x2c4663c
|
|
void Gambit_fn_02C4663C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C4663C: ; // 0x2c4663c
|
|
/* 02C4663C */ cpu->r[0] = cpu->lr;
|
|
/* 02C46640 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C46640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C46640 */ cpu->r[1] = _t0;
|
|
/* 02C46644 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46644 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C46648 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4664C */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000006u);
|
|
/* 02C46650 */ cpu->r[3] = cpu->r[31] + cpu->r[7];
|
|
/* 02C46654 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46654 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C46658 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02C46658 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C4665C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000002Cu);
|
|
/* 02C46660 */ _t4 = cpu->r[3] + 0x0000185Cu;
|
|
/* 02C46660 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]);
|
|
/* 02C46660 */ cpu->r[3] = _t4;
|
|
/* 02C46664 */ _t5 = cpu->r[6] + 0x00000008u;
|
|
/* 02C46664 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C46668 */ cpu->r[0] = 0x92490000u;
|
|
/* 02C4666C */ cpu->r[0] = cpu->r[0] | 0x00002493u;
|
|
/* 02C46670 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C46674 */ /* nop */
|
|
/* 02C46678 */ cpu->r[9] = cpu->r[31] + 0x00001598u;
|
|
/* 02C4667C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C46680 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C46684 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Eu);
|
|
/* 02C46688 */ cpu->r[4] = cpu->r[9] + cpu->r[10];
|
|
/* 02C4668C */ Gambit_fn_02C36784(cpu);
|
|
/* 02C46690 */ _t6 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C46690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C46694 */ _t7 = cpu->r[31] + 0x00001858u;
|
|
/* 02C46694 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C46698 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4669C */ cpu->lr = cpu->r[0];
|
|
/* 02C466A0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C466A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C466A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C466A8 */ return;
|
|
}
|
|
|
|
// fn_02C46640 @ 0x2c46640
|
|
void Gambit_fn_02C46640(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C46640: ; // 0x2c46640
|
|
/* 02C46640 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C46640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C46640 */ cpu->r[1] = _t0;
|
|
/* 02C46644 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46644 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C46648 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4664C */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000006u);
|
|
/* 02C46650 */ cpu->r[3] = cpu->r[31] + cpu->r[7];
|
|
/* 02C46654 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46654 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C46658 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02C46658 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C4665C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000002Cu);
|
|
/* 02C46660 */ _t4 = cpu->r[3] + 0x0000185Cu;
|
|
/* 02C46660 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]);
|
|
/* 02C46660 */ cpu->r[3] = _t4;
|
|
/* 02C46664 */ _t5 = cpu->r[6] + 0x00000008u;
|
|
/* 02C46664 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C46668 */ cpu->r[0] = 0x92490000u;
|
|
/* 02C4666C */ cpu->r[0] = cpu->r[0] | 0x00002493u;
|
|
/* 02C46670 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C46674 */ /* nop */
|
|
/* 02C46678 */ cpu->r[9] = cpu->r[31] + 0x00001598u;
|
|
/* 02C4667C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C46680 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C46684 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Eu);
|
|
/* 02C46688 */ cpu->r[4] = cpu->r[9] + cpu->r[10];
|
|
/* 02C4668C */ Gambit_fn_02C36784(cpu);
|
|
/* 02C46690 */ _t6 = cpu->r[31] + 0x000002F4u;
|
|
/* 02C46690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C46694 */ _t7 = cpu->r[31] + 0x00001858u;
|
|
/* 02C46694 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C46698 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4669C */ cpu->lr = cpu->r[0];
|
|
/* 02C466A0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C466A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C466A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C466A8 */ return;
|
|
}
|
|
|
|
// fn_02C466AC @ 0x2c466ac
|
|
void Gambit_fn_02C466AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C466AC: ; // 0x2c466ac
|
|
/* 02C466AC */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02C466AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C466AC */ cpu->r[1] = _t0;
|
|
/* 02C466B0 */ /* nop */
|
|
/* 02C466B4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C466B8 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02C466B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C466BC */ cpu->r[22] = 0x00000000u;
|
|
/* 02C466C0 */ cpu->r[26] = cpu->r[5];
|
|
/* 02C466C4 */ cpu->r[25] = cpu->r[3];
|
|
/* 02C466C8 */ _t2 = cpu->r[25] + 0x00000028u;
|
|
/* 02C466C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C466CC */ cpu->r[27] = cpu->r[6];
|
|
/* 02C466D0 */ cpu->r[28] = cpu->r[7];
|
|
/* 02C466D4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C466D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 02C466DC */ cpu->r[21] = cpu->r[8];
|
|
/* 02C466E0 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C466E0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C466E0 */ if (_t4) goto L_02C466E4; else goto L_02C467C8;
|
|
L_02C466E4: ; // 0x2c466e4
|
|
/* 02C466E4 */ cpu->r[29] = 0x10220000u;
|
|
/* 02C466E8 */ cpu->r[29] = cpu->r[29] + 0x00005900u;
|
|
L_02C466EC: ; // 0x2c466ec
|
|
/* 02C466EC */ _t5 = cpu->r[25] + 0x00000010u;
|
|
/* 02C466EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C466F0 */ _t6 = cpu->r[6] + 0x00000186u;
|
|
/* 02C466F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C466F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C466F8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C466F8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C466F8 */ if (_t8) goto L_02C466FC; else goto L_02C46728;
|
|
L_02C466FC: ; // 0x2c466fc
|
|
/* 02C466FC */ cpu->r[3] = cpu->r[25];
|
|
/* 02C46700 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C46704 */ Gambit_fn_02C465D0(cpu);
|
|
/* 02C46708 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4670C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C46710 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C46714 */ cpu->r[6] = cpu->r[30];
|
|
/* 02C46718 */ cpu->r[5] = cpu->r[26];
|
|
/* 02C4671C */ Gambit_fn_02C465EC(cpu);
|
|
/* 02C46720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46724 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46724 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C46724 */ if (_t10) goto L_02C46728; else goto L_02C46740;
|
|
L_02C46728: ; // 0x2c46728
|
|
/* 02C46728 */ /* nop */
|
|
/* 02C4672C */ _t11 = cpu->r[1] + 0x00000044u;
|
|
/* 02C4672C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C46730 */ cpu->lr = cpu->r[0];
|
|
/* 02C46734 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02C46738 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4673C */ return;
|
|
L_02C46740: ; // 0x2c46740
|
|
/* 02C46740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C46744 */ cpu->r[19] = 0x00000000u;
|
|
/* 02C46748 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46748 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C46748 */ if (_t13) goto L_02C467BC; else goto L_02C4674C;
|
|
L_02C4674C: ; // 0x2c4674c
|
|
/* 02C4674C */ cpu->r[23] = cpu->r[31] + 0xFFFFFFFCu;
|
|
L_02C46750: ; // 0x2c46750
|
|
/* 02C46750 */ _t14 = cpu->r[26] + 0x00000000u;
|
|
/* 02C46750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C46754 */ _t15 = cpu->r[26] + 0x00000014u;
|
|
/* 02C46754 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C46758 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[19]);
|
|
/* 02C4675C */ _t16 = cpu->r[23] + 0x00000004u;
|
|
/* 02C4675C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4675C */ cpu->r[23] = _t16;
|
|
/* 02C46760 */ _t17 = cpu->r[26] + 0x00000010u;
|
|
/* 02C46760 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C46764 */ cpu->r[24] = cpu->r[12] + cpu->r[27];
|
|
/* 02C46768 */ cpu->r[20] = cpu->r[29] + cpu->r[0];
|
|
/* 02C4676C */ cpu->r[3] = cpu->r[24];
|
|
/* 02C46770 */ cpu->r[4] = cpu->r[20] + cpu->r[4];
|
|
/* 02C46774 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C46778 */ _t18 = cpu->r[26] + 0x00000014u;
|
|
/* 02C46778 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4677C */ cpu->r[3] = cpu->r[24];
|
|
/* 02C46780 */ Gambit_fn_02C33C0C(cpu);
|
|
/* 02C46784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C46788 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46788 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C46788 */ if (_t20) goto L_02C467A8; else goto L_02C4678C;
|
|
L_02C4678C: ; // 0x2c4678c
|
|
/* 02C4678C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C46790 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46790 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C46790 */ if (_t22) goto L_02C467A8; else goto L_02C46794;
|
|
L_02C46794: ; // 0x2c46794
|
|
/* 02C46794 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C46798 */ cpu->r[5] = cpu->r[22];
|
|
/* 02C4679C */ cpu->r[4] = cpu->r[20];
|
|
/* 02C467A0 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C467A4 */ Gambit_fn_02C4663C(cpu);
|
|
L_02C467A8: ; // 0x2c467a8
|
|
/* 02C467A8 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02C467AC */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C467AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C467B0 */ cpu->r[19] = cpu->r[19] + 0x00000001u;
|
|
/* 02C467B4 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 02C467B8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C467B8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C467B8 */ if (_t24) goto L_02C467BC; else goto L_02C46750;
|
|
L_02C467BC: ; // 0x2c467bc
|
|
/* 02C467BC */ _t25 = cpu->r[25] + 0x00000028u;
|
|
/* 02C467BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C467C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 02C467C4 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C467C4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C467C4 */ if (_t27) goto L_02C466EC; else goto L_02C467C8;
|
|
L_02C467C8: ; // 0x2c467c8
|
|
/* 02C467C8 */ /* nop */
|
|
/* 02C467CC */ _t28 = cpu->r[1] + 0x00000044u;
|
|
/* 02C467CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C467D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C467D4 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02C467D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C467DC */ return;
|
|
}
|
|
|
|
// fn_02C467E0 @ 0x2c467e0
|
|
void Gambit_fn_02C467E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116;
|
|
|
|
L_02C467E0: ; // 0x2c467e0
|
|
/* 02C467E0 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02C467E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C467E0 */ cpu->r[1] = _t0;
|
|
/* 02C467E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C467E8 */ /* nop */
|
|
/* 02C467EC */ cpu->r[28] = cpu->r[3];
|
|
/* 02C467F0 */ cpu->r[31] = cpu->r[8];
|
|
/* 02C467F4 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C467F8 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C467FC */ cpu->r[6] = cpu->r[7] | cpu->r[31];
|
|
/* 02C467FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C46800 */ cpu->r[26] = cpu->r[4] + 0x00000018u;
|
|
/* 02C46804 */ cpu->r[25] = cpu->r[27];
|
|
/* 02C46808 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C46808 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4680C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C46810 */ cpu->r[22] = cpu->r[25];
|
|
/* 02C46814 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02C46814 */ rbrew_write32(cpu->mem, _t2, cpu->r[27]);
|
|
/* 02C46818 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46818 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C46818 */ if (_t4) goto L_02C46868; else goto L_02C4681C;
|
|
L_02C4681C: ; // 0x2c4681c
|
|
/* 02C4681C */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C46820 */ cpu->r[4] = cpu->r[7] + cpu->r[31];
|
|
/* 02C46824 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C46828 */ Gambit_fn_02C462E8(cpu);
|
|
/* 02C4682C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46830 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46830 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C46830 */ if (_t6) goto L_02C46834; else goto L_02C46850;
|
|
L_02C46834: ; // 0x2c46834
|
|
/* 02C46834 */ _t7 = cpu->r[26] + 0x00000004u;
|
|
/* 02C46834 */ rbrew_write32(cpu->mem, _t7, cpu->r[27]);
|
|
/* 02C46838 */ /* nop */
|
|
/* 02C4683C */ _t8 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C4683C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C46840 */ cpu->lr = cpu->r[0];
|
|
/* 02C46844 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C46848 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C4684C */ return;
|
|
L_02C46850: ; // 0x2c46850
|
|
/* 02C46850 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C46854 */ Gambit_fn_02C45C18(cpu);
|
|
/* 02C46858 */ _t9 = cpu->r[28] + 0x00001594u;
|
|
/* 02C46858 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4685C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u);
|
|
/* 02C46860 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46860 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C46860 */ if (_t11) goto L_02C46864; else goto L_02C46868;
|
|
L_02C46864: ; // 0x2c46864
|
|
/* 02C46864 */ cpu->r[22] = 0x00000001u;
|
|
L_02C46868: ; // 0x2c46868
|
|
/* 02C46868 */ _t12 = cpu->r[28] + 0x000002F4u;
|
|
/* 02C46868 */ cpu->r[24] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4686C */ cpu->r[23] = 0x00000000u;
|
|
/* 02C46870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C46874 */ cpu->r[20] = 0x00000001u;
|
|
/* 02C46878 */ cpu->r[21] = cpu->r[23];
|
|
/* 02C4687C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4687C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4687C */ if (_t14) goto L_02C46884; else goto L_02C46880;
|
|
L_02C46880: ; // 0x2c46880
|
|
/* 02C46880 */ cpu->r[20] = 0x00000000u;
|
|
L_02C46884: ; // 0x2c46884
|
|
/* 02C46884 */ cpu->r[31] = 0x00000000u;
|
|
L_02C46888: ; // 0x2c46888
|
|
/* 02C46888 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46888 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 02C4688C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C46890 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02C46890 */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02C46894 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C46898 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46898 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02C4689C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4689C */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02C468A0 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C468A0 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 02C468A4 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C468A4 */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
|
|
/* 02C468A8 */ Gambit_fn_02C4638C(cpu);
|
|
/* 02C468AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02C468B0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C468B0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C468B0 */ if (_t22) goto L_02C468D8; else goto L_02C468B4;
|
|
L_02C468B4: ; // 0x2c468b4
|
|
/* 02C468B4 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02C468B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C468B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C468BC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02C468BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C468C0 */ cpu->r[25] = cpu->r[9] - cpu->r[10];
|
|
/* 02C468C4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C468C4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C468C4 */ if (_t26) goto L_02C468D8; else goto L_02C468C8;
|
|
L_02C468C8: ; // 0x2c468c8
|
|
/* 02C468C8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C468CC */ Gambit_fn_02C464CC(cpu);
|
|
/* 02C468D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C468D4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C468D4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C468D4 */ if (_t28) goto L_02C468FC; else goto L_02C468D8;
|
|
L_02C468D8: ; // 0x2c468d8
|
|
/* 02C468D8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C468DC */ cpu->r[8] = cpu->r[22];
|
|
/* 02C468E0 */ cpu->r[7] = cpu->r[20];
|
|
/* 02C468E4 */ cpu->r[6] = cpu->r[21];
|
|
/* 02C468E8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C468EC */ cpu->r[3] = cpu->r[28];
|
|
/* 02C468F0 */ Gambit_fn_02C466AC(cpu);
|
|
/* 02C468F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C468F8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C468F8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C468F8 */ if (_t30) goto L_02C468FC; else goto L_02C46914;
|
|
L_02C468FC: ; // 0x2c468fc
|
|
/* 02C468FC */ /* nop */
|
|
/* 02C46900 */ _t31 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C46900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C46904 */ cpu->lr = cpu->r[0];
|
|
/* 02C46908 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C4690C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C46910 */ return;
|
|
L_02C46914: ; // 0x2c46914
|
|
/* 02C46914 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46914 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C46918 */ _t33 = cpu->r[28] + 0x000002D4u;
|
|
/* 02C46918 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C4691C */ _t34 = cpu->r[28] + 0x000002F4u;
|
|
/* 02C4691C */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C46920 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C46924 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C46928 */ cpu->r[23] = cpu->r[23] + cpu->r[12];
|
|
/* 02C4692C */ _t36 = cpu->r[28] + 0x000002FCu;
|
|
/* 02C4692C */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C46930 */ cpu->r[6] = cpu->r[10] + cpu->r[12];
|
|
/* 02C46934 */ cpu->r[21] = cpu->r[21] + cpu->r[0];
|
|
/* 02C46938 */ _t37 = cpu->r[28] + 0x000002F4u;
|
|
/* 02C46938 */ rbrew_write32(cpu->mem, _t37, cpu->r[6]);
|
|
/* 02C4693C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 02C46940 */ _t38 = cpu->r[28] + 0x000002D4u;
|
|
/* 02C46940 */ rbrew_write32(cpu->mem, _t38, cpu->r[11]);
|
|
/* 02C46944 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46944 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C46944 */ if (_t40) goto L_02C46948; else goto L_02C46978;
|
|
L_02C46948: ; // 0x2c46948
|
|
/* 02C46948 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4694C */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02C46950 */ Gambit_fn_02C46274(cpu);
|
|
/* 02C46954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46958 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46958 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C46958 */ if (_t42) goto L_02C46998; else goto L_02C4695C;
|
|
L_02C4695C: ; // 0x2c4695c
|
|
/* 02C4695C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C46960 */ Gambit_fn_02C45C18(cpu);
|
|
/* 02C46964 */ _t43 = cpu->r[26] + 0x00000010u;
|
|
/* 02C46964 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[27]);
|
|
/* 02C46968 */ _t44 = cpu->r[28] + 0x00001594u;
|
|
/* 02C46968 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C4696C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000002u);
|
|
/* 02C46970 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46970 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C46970 */ if (_t46) goto L_02C46974; else goto L_02C46AD0;
|
|
L_02C46974: ; // 0x2c46974
|
|
/* 02C46974 */ goto L_02C469A8;
|
|
L_02C46978: ; // 0x2c46978
|
|
/* 02C46978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C4697C */ cpu->r[20] = 0x00000000u;
|
|
/* 02C46980 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46980 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C46980 */ if (_t48) goto L_02C46888; else goto L_02C46984;
|
|
L_02C46984: ; // 0x2c46984
|
|
/* 02C46984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], 0x00000480u);
|
|
/* 02C46988 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46988 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C46988 */ if (_t50) goto L_02C46888; else goto L_02C4698C;
|
|
L_02C4698C: ; // 0x2c4698c
|
|
/* 02C4698C */ cpu->r[5] = cpu->r[8] - cpu->r[6];
|
|
/* 02C46990 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000480u);
|
|
/* 02C46994 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46994 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C46994 */ if (_t52) goto L_02C46888; else goto L_02C46998;
|
|
L_02C46998: ; // 0x2c46998
|
|
/* 02C46998 */ _t53 = cpu->r[26] + 0x00000010u;
|
|
/* 02C46998 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[27]);
|
|
/* 02C4699C */ _t54 = cpu->r[28] + 0x00001594u;
|
|
/* 02C4699C */ cpu->r[6] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C469A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000002u);
|
|
/* 02C469A4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C469A4 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C469A4 */ if (_t56) goto L_02C469A8; else goto L_02C46AD0;
|
|
L_02C469A8: ; // 0x2c469a8
|
|
/* 02C469A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C469AC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C469AC */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C469AC */ if (_t58) goto L_02C469B0; else goto L_02C46A00;
|
|
L_02C469B0: ; // 0x2c469b0
|
|
/* 02C469B0 */ _t59 = cpu->r[28] + 0x00000028u;
|
|
/* 02C469B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C469B4 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C469B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C469BC */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C469BC */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C469BC */ if (_t61) goto L_02C469C0; else goto L_02C46AC8;
|
|
L_02C469C0: ; // 0x2c469c0
|
|
/* 02C469C0 */ cpu->r[9] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C469C4 */ cpu->r[6] = cpu->r[28] + 0x0000156Cu;
|
|
L_02C469C8: ; // 0x2c469c8
|
|
/* 02C469C8 */ _t62 = cpu->r[6] + 0x0000004Cu;
|
|
/* 02C469C8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t62);
|
|
/* 02C469CC */ _t63 = cpu->r[9] + 0x00000006u;
|
|
/* 02C469CC */ rbrew_write16(cpu->mem, _t63, (uint16_t)cpu->r[8]);
|
|
/* 02C469CC */ cpu->r[9] = _t63;
|
|
/* 02C469D0 */ _t64 = cpu->r[6] + 0x0000004Eu;
|
|
/* 02C469D0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t64);
|
|
/* 02C469D4 */ _t65 = cpu->r[9] + 0x00000002u;
|
|
/* 02C469D4 */ rbrew_write16(cpu->mem, _t65, (uint16_t)cpu->r[10]);
|
|
/* 02C469D8 */ _t66 = cpu->r[6] + 0x00000050u;
|
|
/* 02C469D8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t66);
|
|
/* 02C469DC */ _t67 = cpu->r[9] + 0x00000004u;
|
|
/* 02C469DC */ rbrew_write16(cpu->mem, _t67, (uint16_t)cpu->r[11]);
|
|
/* 02C469E0 */ _t68 = cpu->r[28] + 0x00000028u;
|
|
/* 02C469E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C469E4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C469E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C469EC */ cpu->r[6] = cpu->r[6] + 0x0000002Cu;
|
|
/* 02C469F0 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C469F0 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C469F0 */ if (_t70) goto L_02C469C8; else goto L_02C469F4;
|
|
L_02C469F4: ; // 0x2c469f4
|
|
/* 02C469F4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C469F8 */ _t71 = cpu->r[26] + 0x00000010u;
|
|
/* 02C469F8 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[0]);
|
|
/* 02C469FC */ goto L_02C46AD0;
|
|
L_02C46A00: ; // 0x2c46a00
|
|
/* 02C46A00 */ _t72 = cpu->r[28] + 0x00000018u;
|
|
/* 02C46A00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C46A04 */ _t73 = cpu->r[10] + 0x00000008u;
|
|
/* 02C46A04 */ cpu->r[5] = rbrew_read8(cpu->mem, _t73);
|
|
/* 02C46A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C46A0C */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46A0C */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C46A0C */ if (_t75) goto L_02C46A6C; else goto L_02C46A10;
|
|
L_02C46A10: ; // 0x2c46a10
|
|
/* 02C46A10 */ _t76 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C46A10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C46A14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[7]);
|
|
/* 02C46A18 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46A18 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02C46A18 */ if (_t78) goto L_02C46A1C; else goto L_02C46A6C;
|
|
L_02C46A1C: ; // 0x2c46a1c
|
|
/* 02C46A1C */ _t79 = cpu->r[28] + 0x00000028u;
|
|
/* 02C46A1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C46A20 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C46A24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02C46A28 */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46A28 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02C46A28 */ if (_t81) goto L_02C46A2C; else goto L_02C46AC8;
|
|
L_02C46A2C: ; // 0x2c46a2c
|
|
/* 02C46A2C */ cpu->r[7] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C46A30 */ cpu->r[6] = cpu->r[28] + 0x0000156Cu;
|
|
L_02C46A34: ; // 0x2c46a34
|
|
/* 02C46A34 */ _t82 = cpu->r[6] + 0x00000052u;
|
|
/* 02C46A34 */ cpu->r[9] = rbrew_read16(cpu->mem, _t82);
|
|
/* 02C46A38 */ _t83 = cpu->r[7] + 0x00000006u;
|
|
/* 02C46A38 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[9]);
|
|
/* 02C46A38 */ cpu->r[7] = _t83;
|
|
/* 02C46A3C */ _t84 = cpu->r[6] + 0x00000054u;
|
|
/* 02C46A3C */ cpu->r[10] = rbrew_read16(cpu->mem, _t84);
|
|
/* 02C46A40 */ _t85 = cpu->r[7] + 0x00000002u;
|
|
/* 02C46A40 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[10]);
|
|
/* 02C46A44 */ _t86 = cpu->r[6] + 0x00000056u;
|
|
/* 02C46A44 */ cpu->r[11] = rbrew_read16(cpu->mem, _t86);
|
|
/* 02C46A48 */ _t87 = cpu->r[7] + 0x00000004u;
|
|
/* 02C46A48 */ rbrew_write16(cpu->mem, _t87, (uint16_t)cpu->r[11]);
|
|
/* 02C46A4C */ _t88 = cpu->r[28] + 0x00000028u;
|
|
/* 02C46A4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C46A50 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02C46A54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 02C46A58 */ cpu->r[6] = cpu->r[6] + 0x0000002Cu;
|
|
/* 02C46A5C */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46A5C */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C46A5C */ if (_t90) goto L_02C46A34; else goto L_02C46A60;
|
|
L_02C46A60: ; // 0x2c46a60
|
|
/* 02C46A60 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C46A64 */ _t91 = cpu->r[26] + 0x00000010u;
|
|
/* 02C46A64 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[0]);
|
|
/* 02C46A68 */ goto L_02C46AD0;
|
|
L_02C46A6C: ; // 0x2c46a6c
|
|
/* 02C46A6C */ _t92 = cpu->r[28] + 0x00001858u;
|
|
/* 02C46A6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C46A70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 02C46A74 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46A74 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02C46A74 */ if (_t94) goto L_02C46A78; else goto L_02C46AD0;
|
|
L_02C46A78: ; // 0x2c46a78
|
|
/* 02C46A78 */ _t95 = cpu->r[28] + 0x00000028u;
|
|
/* 02C46A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02C46A7C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C46A80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02C46A84 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46A84 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C46A84 */ if (_t97) goto L_02C46A88; else goto L_02C46AC8;
|
|
L_02C46A88: ; // 0x2c46a88
|
|
/* 02C46A88 */ cpu->r[12] = cpu->r[28] + 0x0000185Cu;
|
|
/* 02C46A8C */ cpu->r[5] = cpu->r[26] + 0x00000012u;
|
|
/* 02C46A90 */ cpu->r[9] = 0x00000000u;
|
|
L_02C46A94: ; // 0x2c46a94
|
|
/* 02C46A94 */ _t98 = cpu->r[12] + cpu->r[9];
|
|
/* 02C46A94 */ cpu->r[8] = rbrew_read16(cpu->mem, _t98);
|
|
/* 02C46A98 */ cpu->r[7] = cpu->r[12] + cpu->r[9];
|
|
/* 02C46A9C */ _t99 = cpu->r[5] + cpu->r[9];
|
|
/* 02C46A9C */ rbrew_write16(cpu->mem, _t99, (uint16_t)cpu->r[8]);
|
|
/* 02C46AA0 */ _t100 = cpu->r[7] + 0x00000002u;
|
|
/* 02C46AA0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t100);
|
|
/* 02C46AA4 */ cpu->r[10] = cpu->r[5] + cpu->r[9];
|
|
/* 02C46AA8 */ _t101 = cpu->r[10] + 0x00000002u;
|
|
/* 02C46AA8 */ rbrew_write16(cpu->mem, _t101, (uint16_t)cpu->r[0]);
|
|
/* 02C46AAC */ _t102 = cpu->r[7] + 0x00000004u;
|
|
/* 02C46AAC */ cpu->r[11] = rbrew_read16(cpu->mem, _t102);
|
|
/* 02C46AB0 */ _t103 = cpu->r[10] + 0x00000004u;
|
|
/* 02C46AB0 */ rbrew_write16(cpu->mem, _t103, (uint16_t)cpu->r[11]);
|
|
/* 02C46AB4 */ _t104 = cpu->r[28] + 0x00000028u;
|
|
/* 02C46AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02C46AB8 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02C46ABC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02C46AC0 */ cpu->r[9] = cpu->r[9] + 0x00000006u;
|
|
/* 02C46AC4 */ _t105 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46AC4 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C46AC4 */ if (_t106) goto L_02C46A94; else goto L_02C46AC8;
|
|
L_02C46AC8: ; // 0x2c46ac8
|
|
/* 02C46AC8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C46ACC */ _t107 = cpu->r[26] + 0x00000010u;
|
|
/* 02C46ACC */ rbrew_write8(cpu->mem, _t107, (uint8_t)cpu->r[0]);
|
|
L_02C46AD0: ; // 0x2c46ad0
|
|
/* 02C46AD0 */ _t108 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C46AD0 */ rbrew_write32(cpu->mem, _t108, cpu->r[25]);
|
|
/* 02C46AD4 */ _t109 = cpu->r[26] + 0x00000004u;
|
|
/* 02C46AD4 */ rbrew_write32(cpu->mem, _t109, cpu->r[23]);
|
|
/* 02C46AD8 */ _t110 = cpu->r[26] + 0x00000008u;
|
|
/* 02C46AD8 */ rbrew_write32(cpu->mem, _t110, cpu->r[24]);
|
|
/* 02C46ADC */ _t111 = cpu->r[26] + 0x00000000u;
|
|
/* 02C46ADC */ rbrew_write32(cpu->mem, _t111, cpu->r[30]);
|
|
/* 02C46AE0 */ _t112 = cpu->r[1] + 0x00000020u;
|
|
/* 02C46AE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02C46AE4 */ _t113 = cpu->r[26] + 0x00000074u;
|
|
/* 02C46AE4 */ rbrew_write32(cpu->mem, _t113, cpu->r[0]);
|
|
/* 02C46AE8 */ _t114 = cpu->r[28] + 0x000002EDu;
|
|
/* 02C46AE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t114);
|
|
/* 02C46AEC */ _t115 = cpu->r[26] + 0x00000078u;
|
|
/* 02C46AEC */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[0]);
|
|
/* 02C46AF0 */ /* nop */
|
|
/* 02C46AF4 */ _t116 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C46AF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02C46AF8 */ cpu->lr = cpu->r[0];
|
|
/* 02C46AFC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C46B00 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C46B04 */ return;
|
|
}
|
|
|
|
// fn_02C46B08 @ 0x2c46b08
|
|
void Gambit_fn_02C46B08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C46B08: ; // 0x2c46b08
|
|
/* 02C46B08 */ cpu->r[0] = cpu->lr;
|
|
/* 02C46B0C */ cpu->r[10] = cpu->r[3];
|
|
/* 02C46B10 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C46B10 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C46B14 */ cpu->r[12] = cpu->r[5];
|
|
/* 02C46B18 */ _t1 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C46B18 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C46B18 */ cpu->r[1] = _t1;
|
|
/* 02C46B1C */ _t2 = cpu->r[10] + 0x00000028u;
|
|
/* 02C46B1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C46B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C46B24 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C46B28 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46B28 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C46B28 */ if (_t4) goto L_02C46B48; else goto L_02C46B2C;
|
|
L_02C46B2C: ; // 0x2c46b2c
|
|
/* 02C46B2C */ cpu->ctr = cpu->r[5];
|
|
/* 02C46B30 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C46B34 */ cpu->r[8] = cpu->r[1] + 0x00000004u;
|
|
L_02C46B38: ; // 0x2c46b38
|
|
/* 02C46B38 */ _t5 = cpu->r[12] + cpu->r[11];
|
|
/* 02C46B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C46B3C */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02C46B40 */ _t6 = cpu->r[8] + 0x00000004u;
|
|
/* 02C46B40 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C46B40 */ cpu->r[8] = _t6;
|
|
/* 02C46B44 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C46B44 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C46B44 */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 02C46B44 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C46B44 */ if (_t9) goto L_02C46B38; else goto L_02C46B48;
|
|
L_02C46B48: ; // 0x2c46b48
|
|
/* 02C46B48 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C46B4C */ _t10 = cpu->r[3] + 0xFFFFB924u;
|
|
/* 02C46B4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C46B50 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02C46B50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C46B54 */ _t12 = cpu->r[11] + 0x00000034u;
|
|
/* 02C46B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C46B58 */ _t13 = cpu->r[10] + 0x00000014u;
|
|
/* 02C46B58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C46B5C */ cpu->ctr = cpu->r[0];
|
|
/* 02C46B60 */ _t14 = cpu->r[10] + 0x00001590u;
|
|
/* 02C46B60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C46B64 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02C46B68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46B6C */ _t15 = cpu->r[1] + 0x00000054u;
|
|
/* 02C46B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C46B70 */ cpu->lr = cpu->r[0];
|
|
/* 02C46B74 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C46B78 */ return;
|
|
}
|
|
|
|
// fn_02C46B18 @ 0x2c46b18
|
|
void Gambit_fn_02C46B18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C46B18: ; // 0x2c46b18
|
|
/* 02C46B18 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C46B18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C46B18 */ cpu->r[1] = _t0;
|
|
/* 02C46B1C */ _t1 = cpu->r[10] + 0x00000028u;
|
|
/* 02C46B1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C46B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C46B24 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C46B28 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46B28 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C46B28 */ if (_t3) goto L_02C46B48; else goto L_02C46B2C;
|
|
L_02C46B2C: ; // 0x2c46b2c
|
|
/* 02C46B2C */ cpu->ctr = cpu->r[5];
|
|
/* 02C46B30 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C46B34 */ cpu->r[8] = cpu->r[1] + 0x00000004u;
|
|
L_02C46B38: ; // 0x2c46b38
|
|
/* 02C46B38 */ _t4 = cpu->r[12] + cpu->r[11];
|
|
/* 02C46B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C46B3C */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02C46B40 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02C46B40 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C46B40 */ cpu->r[8] = _t5;
|
|
/* 02C46B44 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C46B44 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C46B44 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 02C46B44 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C46B44 */ if (_t8) goto L_02C46B38; else goto L_02C46B48;
|
|
L_02C46B48: ; // 0x2c46b48
|
|
/* 02C46B48 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C46B4C */ _t9 = cpu->r[3] + 0xFFFFB924u;
|
|
/* 02C46B4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C46B50 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C46B50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C46B54 */ _t11 = cpu->r[11] + 0x00000034u;
|
|
/* 02C46B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C46B58 */ _t12 = cpu->r[10] + 0x00000014u;
|
|
/* 02C46B58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C46B5C */ cpu->ctr = cpu->r[0];
|
|
/* 02C46B60 */ _t13 = cpu->r[10] + 0x00001590u;
|
|
/* 02C46B60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C46B64 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02C46B68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46B6C */ _t14 = cpu->r[1] + 0x00000054u;
|
|
/* 02C46B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C46B70 */ cpu->lr = cpu->r[0];
|
|
/* 02C46B74 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C46B78 */ return;
|
|
}
|
|
|
|
// fn_02C46B7C @ 0x2c46b7c
|
|
void Gambit_fn_02C46B7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C46B7C: ; // 0x2c46b7c
|
|
/* 02C46B7C */ _t0 = cpu->r[3] + 0x000002DCu;
|
|
/* 02C46B7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C46B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C46B84 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C46B88 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46B88 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C46B88 */ if (_t2) goto L_02C46B9C; else goto L_02C46B8C;
|
|
L_02C46B8C: ; // 0x2c46b8c
|
|
/* 02C46B8C */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C46B90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02C46B94 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46B94 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C46B94 */ if (_t4) goto L_02C46B98; else goto L_02C46B9C;
|
|
L_02C46B98: ; // 0x2c46b98
|
|
/* 02C46B98 */ cpu->r[0] = 0x00000001u;
|
|
L_02C46B9C: ; // 0x2c46b9c
|
|
/* 02C46B9C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C46BA0 */ return;
|
|
}
|
|
|
|
// fn_02C46BA4 @ 0x2c46ba4
|
|
void Gambit_fn_02C46BA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02C46BA4: ; // 0x2c46ba4
|
|
/* 02C46BA4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C46BA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C46BA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C46BA8 */ cpu->r[1] = _t0;
|
|
/* 02C46BAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46BAC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C46BB0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C46BB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C46BB4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46BB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C46BB8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46BB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C46BBC */ cpu->r[29] = cpu->r[3];
|
|
/* 02C46BC0 */ _t5 = cpu->r[29] + 0x00000018u;
|
|
/* 02C46BC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C46BC4 */ _t6 = cpu->r[29] + 0x000002F4u;
|
|
/* 02C46BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C46BC8 */ _t7 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C46BC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C46BCC */ cpu->r[10] = cpu->r[0] / cpu->r[8];
|
|
/* 02C46BD0 */ _t8 = cpu->r[29] + 0x00000014u;
|
|
/* 02C46BD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C46BD4 */ _t9 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46BD4 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02C46BD8 */ _t10 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C46BD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C46BDC */ _t11 = cpu->r[9] + 0x00000094u;
|
|
/* 02C46BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C46BE0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C46BE4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C46BE8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C46BEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46BF0 */ _t12 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46BF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C46BF4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C46BF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C46BFC */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46BFC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C46BFC */ if (_t14) goto L_02C46C00; else goto L_02C46C58;
|
|
L_02C46C00: ; // 0x2c46c00
|
|
/* 02C46C00 */ cpu->r[31] = 0x101D0000u;
|
|
L_02C46C04: ; // 0x2c46c04
|
|
/* 02C46C04 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46C08 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C46C0C */ Gambit_fn_02C46B7C(cpu);
|
|
/* 02C46C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46C14 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46C14 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C46C14 */ if (_t16) goto L_02C46C30; else goto L_02C46C18;
|
|
L_02C46C18: ; // 0x2c46c18
|
|
/* 02C46C18 */ _t17 = cpu->r[29] + 0x00000014u;
|
|
/* 02C46C18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C46C1C */ _t18 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C46C1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C46C20 */ _t19 = cpu->r[12] + 0x000000BCu;
|
|
/* 02C46C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C46C24 */ cpu->ctr = cpu->r[0];
|
|
/* 02C46C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46C2C */ _t20 = cpu->r[29] + 0x000002E4u;
|
|
/* 02C46C2C */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
L_02C46C30: ; // 0x2c46c30
|
|
/* 02C46C30 */ _t21 = cpu->r[31] + 0xFFFFB924u;
|
|
/* 02C46C30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C46C34 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02C46C34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C46C38 */ _t23 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C46C38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C46C3C */ _t24 = cpu->r[29] + 0x00000014u;
|
|
/* 02C46C3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C46C40 */ cpu->ctr = cpu->r[10];
|
|
/* 02C46C44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46C48 */ _t25 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46C48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C46C4C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C46C50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 02C46C54 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46C54 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C46C54 */ if (_t27) goto L_02C46C04; else goto L_02C46C58;
|
|
L_02C46C58: ; // 0x2c46c58
|
|
/* 02C46C58 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46C58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C46C5C */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46C5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C46C60 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02C46C60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C46C64 */ cpu->lr = cpu->r[0];
|
|
/* 02C46C68 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46C68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C46C6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C46C70 */ return;
|
|
}
|
|
|
|
// fn_02C46BA8 @ 0x2c46ba8
|
|
void Gambit_fn_02C46BA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02C46BA8: ; // 0x2c46ba8
|
|
/* 02C46BA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C46BA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C46BA8 */ cpu->r[1] = _t0;
|
|
/* 02C46BAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46BAC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C46BB0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C46BB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C46BB4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46BB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C46BB8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46BB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C46BBC */ cpu->r[29] = cpu->r[3];
|
|
/* 02C46BC0 */ _t5 = cpu->r[29] + 0x00000018u;
|
|
/* 02C46BC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C46BC4 */ _t6 = cpu->r[29] + 0x000002F4u;
|
|
/* 02C46BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C46BC8 */ _t7 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C46BC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C46BCC */ cpu->r[10] = cpu->r[0] / cpu->r[8];
|
|
/* 02C46BD0 */ _t8 = cpu->r[29] + 0x00000014u;
|
|
/* 02C46BD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C46BD4 */ _t9 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46BD4 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02C46BD8 */ _t10 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C46BD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C46BDC */ _t11 = cpu->r[9] + 0x00000094u;
|
|
/* 02C46BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C46BE0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C46BE4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C46BE8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C46BEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46BF0 */ _t12 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46BF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C46BF4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C46BF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C46BFC */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46BFC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C46BFC */ if (_t14) goto L_02C46C00; else goto L_02C46C58;
|
|
L_02C46C00: ; // 0x2c46c00
|
|
/* 02C46C00 */ cpu->r[31] = 0x101D0000u;
|
|
L_02C46C04: ; // 0x2c46c04
|
|
/* 02C46C04 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46C08 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C46C0C */ Gambit_fn_02C46B7C(cpu);
|
|
/* 02C46C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46C14 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46C14 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C46C14 */ if (_t16) goto L_02C46C30; else goto L_02C46C18;
|
|
L_02C46C18: ; // 0x2c46c18
|
|
/* 02C46C18 */ _t17 = cpu->r[29] + 0x00000014u;
|
|
/* 02C46C18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C46C1C */ _t18 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C46C1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C46C20 */ _t19 = cpu->r[12] + 0x000000BCu;
|
|
/* 02C46C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C46C24 */ cpu->ctr = cpu->r[0];
|
|
/* 02C46C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46C2C */ _t20 = cpu->r[29] + 0x000002E4u;
|
|
/* 02C46C2C */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
L_02C46C30: ; // 0x2c46c30
|
|
/* 02C46C30 */ _t21 = cpu->r[31] + 0xFFFFB924u;
|
|
/* 02C46C30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C46C34 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02C46C34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C46C38 */ _t23 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C46C38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C46C3C */ _t24 = cpu->r[29] + 0x00000014u;
|
|
/* 02C46C3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C46C40 */ cpu->ctr = cpu->r[10];
|
|
/* 02C46C44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46C48 */ _t25 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46C48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C46C4C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C46C50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 02C46C54 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46C54 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C46C54 */ if (_t27) goto L_02C46C04; else goto L_02C46C58;
|
|
L_02C46C58: ; // 0x2c46c58
|
|
/* 02C46C58 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C46C58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C46C5C */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C46C5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C46C60 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02C46C60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C46C64 */ cpu->lr = cpu->r[0];
|
|
/* 02C46C68 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02C46C68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C46C6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C46C70 */ return;
|
|
}
|
|
|
|
// fn_02C46C74 @ 0x2c46c74
|
|
void Gambit_fn_02C46C74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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;
|
|
|
|
L_02C46C74: ; // 0x2c46c74
|
|
/* 02C46C74 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C46C74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C46C74 */ cpu->r[1] = _t0;
|
|
/* 02C46C78 */ /* nop */
|
|
/* 02C46C7C */ cpu->r[0] = cpu->lr;
|
|
/* 02C46C80 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C46C80 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C46C84 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C46C88 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C46C8C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C46C90 */ _t2 = cpu->r[29] + 0x000002D8u;
|
|
/* 02C46C90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C46C94 */ cpu->r[25] = cpu->r[7];
|
|
/* 02C46C98 */ _t3 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46C98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C46C9C */ cpu->r[26] = cpu->r[28];
|
|
/* 02C46CA0 */ cpu->r[27] = cpu->r[4] + 0x00000018u;
|
|
/* 02C46CA4 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C46CA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02C46CAC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C46CAC */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 02C46CB0 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C46CB0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C46CB0 */ if (_t6) goto L_02C46CB4; else goto L_02C46D20;
|
|
L_02C46CB4: ; // 0x2c46cb4
|
|
/* 02C46CB4 */ _t7 = cpu->r[29] + 0x00000018u;
|
|
/* 02C46CB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C46CB8 */ _t8 = cpu->r[9] + 0x00000008u;
|
|
/* 02C46CB8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C46CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C46CC0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46CC0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C46CC0 */ if (_t10) goto L_02C46D20; else goto L_02C46CC4;
|
|
L_02C46CC4: ; // 0x2c46cc4
|
|
/* 02C46CC4 */ _t11 = cpu->r[29] + 0x000002DCu;
|
|
/* 02C46CC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C46CC8 */ _t12 = cpu->r[29] + 0x00000014u;
|
|
/* 02C46CC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C46CCC */ _t13 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46CCC */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02C46CD0 */ _t14 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C46CD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C46CD4 */ _t15 = cpu->r[12] + 0x00000094u;
|
|
/* 02C46CD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C46CD8 */ _t16 = cpu->r[29] + 0x000002E4u;
|
|
/* 02C46CD8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C46CDC */ cpu->ctr = cpu->r[0];
|
|
/* 02C46CE0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C46CE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46CE8 */ _t17 = cpu->r[29] + 0x000002DCu;
|
|
/* 02C46CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C46CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C46CF0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46CF0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C46CF0 */ if (_t19) goto L_02C46D0C; else goto L_02C46CF4;
|
|
L_02C46CF4: ; // 0x2c46cf4
|
|
/* 02C46CF4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C46CF8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C46CFC */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46D00 */ Gambit_fn_02C46B08(cpu);
|
|
/* 02C46D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46D08 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46D08 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C46D08 */ if (_t21) goto L_02C46E90; else goto L_02C46D0C;
|
|
L_02C46D0C: ; // 0x2c46d0c
|
|
/* 02C46D0C */ _t22 = cpu->r[29] + 0x00000018u;
|
|
/* 02C46D0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C46D10 */ cpu->r[8] = 0x00000001u;
|
|
/* 02C46D14 */ _t23 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C46D14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C46D18 */ _t24 = cpu->r[29] + 0x000002ECu;
|
|
/* 02C46D18 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[8]);
|
|
/* 02C46D1C */ _t25 = cpu->r[29] + 0x000002F4u;
|
|
/* 02C46D1C */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
L_02C46D20: ; // 0x2c46d20
|
|
/* 02C46D20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C46D24 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46D24 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C46D24 */ if (_t27) goto L_02C46D90; else goto L_02C46D28;
|
|
L_02C46D28: ; // 0x2c46d28
|
|
/* 02C46D28 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C46D2C */ cpu->r[4] = cpu->r[25];
|
|
/* 02C46D30 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46D34 */ Gambit_fn_02C462E8(cpu);
|
|
/* 02C46D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46D3C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46D3C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C46D3C */ if (_t29) goto L_02C46D40; else goto L_02C46D5C;
|
|
L_02C46D40: ; // 0x2c46d40
|
|
/* 02C46D40 */ _t30 = cpu->r[27] + 0x00000004u;
|
|
/* 02C46D40 */ rbrew_write32(cpu->mem, _t30, cpu->r[28]);
|
|
/* 02C46D44 */ /* nop */
|
|
/* 02C46D48 */ _t31 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C46D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C46D4C */ cpu->lr = cpu->r[0];
|
|
/* 02C46D50 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C46D54 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C46D58 */ return;
|
|
L_02C46D5C: ; // 0x2c46d5c
|
|
/* 02C46D5C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46D60 */ Gambit_fn_02C46BA4(cpu);
|
|
/* 02C46D64 */ _t32 = cpu->r[29] + 0x00000018u;
|
|
/* 02C46D64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C46D68 */ _t33 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46D68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C46D6C */ _t34 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C46D6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C46D70 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)cpu->r[11]);
|
|
/* 02C46D74 */ _t35 = cpu->r[29] + 0x000002F4u;
|
|
/* 02C46D74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C46D78 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46D7C */ cpu->r[26] = cpu->r[12] - cpu->r[10];
|
|
/* 02C46D80 */ Gambit_fn_02C46B7C(cpu);
|
|
/* 02C46D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46D88 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46D88 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C46D88 */ if (_t37) goto L_02C46DD0; else goto L_02C46D8C;
|
|
L_02C46D8C: ; // 0x2c46d8c
|
|
/* 02C46D8C */ goto L_02C46DB4;
|
|
L_02C46D90: ; // 0x2c46d90
|
|
/* 02C46D90 */ _t38 = cpu->r[29] + 0x000002ECu;
|
|
/* 02C46D90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02C46D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C46D98 */ _t39 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46D98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C46D9C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46D9C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C46D9C */ if (_t41) goto L_02C46DA4; else goto L_02C46DA0;
|
|
L_02C46DA0: ; // 0x2c46da0
|
|
/* 02C46DA0 */ _t42 = cpu->r[29] + 0x000002E8u;
|
|
/* 02C46DA0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t42);
|
|
L_02C46DA4: ; // 0x2c46da4
|
|
/* 02C46DA4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46DA8 */ Gambit_fn_02C46B7C(cpu);
|
|
/* 02C46DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46DB0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46DB0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C46DB0 */ if (_t44) goto L_02C46DD0; else goto L_02C46DB4;
|
|
L_02C46DB4: ; // 0x2c46db4
|
|
/* 02C46DB4 */ _t45 = cpu->r[29] + 0x00000014u;
|
|
/* 02C46DB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C46DB8 */ _t46 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C46DB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C46DBC */ _t47 = cpu->r[12] + 0x000000BCu;
|
|
/* 02C46DBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C46DC0 */ cpu->ctr = cpu->r[5];
|
|
/* 02C46DC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46DC8 */ _t48 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46DC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C46DCC */ _t49 = cpu->r[29] + 0x000002E4u;
|
|
/* 02C46DCC */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
|
|
L_02C46DD0: ; // 0x2c46dd0
|
|
/* 02C46DD0 */ _t50 = cpu->r[29] + 0x000002F4u;
|
|
/* 02C46DD0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C46DD4 */ _t51 = cpu->r[29] + 0x00000014u;
|
|
/* 02C46DD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C46DD8 */ _t52 = cpu->r[29] + 0x000002D8u;
|
|
/* 02C46DD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C46DDC */ _t53 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C46DDC */ cpu->r[25] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C46DE0 */ _t54 = cpu->r[29] + 0x00000018u;
|
|
/* 02C46DE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C46DE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 02C46DE8 */ _t55 = cpu->r[25] + 0x000000BCu;
|
|
/* 02C46DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C46DEC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46DEC */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C46DEC */ if (_t57) goto L_02C46E20; else goto L_02C46DF0;
|
|
L_02C46DF0: ; // 0x2c46df0
|
|
/* 02C46DF0 */ cpu->ctr = cpu->r[0];
|
|
/* 02C46DF4 */ cpu->r[22] = 0x00000000u;
|
|
/* 02C46DF8 */ _t58 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C46DF8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C46DFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46E00 */ _t59 = cpu->r[25] + 0x0000008Cu;
|
|
/* 02C46E00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C46E04 */ cpu->r[25] = cpu->r[3];
|
|
/* 02C46E08 */ _t60 = cpu->r[29] + 0x00000014u;
|
|
/* 02C46E08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C46E0C */ cpu->ctr = cpu->r[9];
|
|
/* 02C46E10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46E14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[3]);
|
|
/* 02C46E18 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46E18 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C46E18 */ if (_t62) goto L_02C46E70; else goto L_02C46E1C;
|
|
L_02C46E1C: ; // 0x2c46e1c
|
|
/* 02C46E1C */ goto L_02C46E4C;
|
|
L_02C46E20: ; // 0x2c46e20
|
|
/* 02C46E20 */ cpu->ctr = cpu->r[0];
|
|
/* 02C46E24 */ cpu->r[22] = 0x00000001u;
|
|
/* 02C46E28 */ _t63 = cpu->r[7] + 0x00000028u;
|
|
/* 02C46E28 */ cpu->r[24] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C46E2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46E30 */ _t64 = cpu->r[25] + 0x0000008Cu;
|
|
/* 02C46E30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C46E34 */ cpu->r[25] = cpu->r[3];
|
|
/* 02C46E38 */ _t65 = cpu->r[29] + 0x00000014u;
|
|
/* 02C46E38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C46E3C */ cpu->ctr = cpu->r[9];
|
|
/* 02C46E40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46E44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[3]);
|
|
/* 02C46E48 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46E48 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C46E48 */ if (_t67) goto L_02C46E70; else goto L_02C46E4C;
|
|
L_02C46E4C: ; // 0x2c46e4c
|
|
/* 02C46E4C */ _t68 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46E4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C46E50 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C46E54 */ _t69 = cpu->r[29] + 0x000002D8u;
|
|
/* 02C46E54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C46E58 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C46E5C */ _t70 = cpu->r[29] + 0x000002ECu;
|
|
/* 02C46E5C */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[28]);
|
|
/* 02C46E60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02C46E64 */ _t71 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46E64 */ rbrew_write32(cpu->mem, _t71, cpu->r[4]);
|
|
/* 02C46E68 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C46E68 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C46E68 */ if (_t73) goto L_02C46E6C; else goto L_02C46F64;
|
|
L_02C46E6C: ; // 0x2c46e6c
|
|
/* 02C46E6C */ goto L_02C46F4C;
|
|
L_02C46E70: ; // 0x2c46e70
|
|
/* 02C46E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C46E74 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46E74 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C46E74 */ if (_t75) goto L_02C46F24; else goto L_02C46E78;
|
|
L_02C46E78: ; // 0x2c46e78
|
|
/* 02C46E78 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C46E7C */ cpu->r[4] = cpu->r[22];
|
|
/* 02C46E80 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C46E84 */ Gambit_fn_02C46B08(cpu);
|
|
/* 02C46E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C46E8C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46E8C */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C46E8C */ if (_t77) goto L_02C46E90; else goto L_02C46EA8;
|
|
L_02C46E90: ; // 0x2c46e90
|
|
/* 02C46E90 */ /* nop */
|
|
/* 02C46E94 */ _t78 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C46E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C46E98 */ cpu->lr = cpu->r[0];
|
|
/* 02C46E9C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C46EA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C46EA4 */ return;
|
|
L_02C46EA8: ; // 0x2c46ea8
|
|
/* 02C46EA8 */ _t79 = cpu->r[29] + 0x00000028u;
|
|
/* 02C46EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C46EAC */ cpu->r[22] = 0x00000000u;
|
|
/* 02C46EB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 02C46EB4 */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46EB4 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02C46EB4 */ if (_t81) goto L_02C46EB8; else goto L_02C46EDC;
|
|
L_02C46EB8: ; // 0x2c46eb8
|
|
/* 02C46EB8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFCu;
|
|
/* 02C46EBC */ cpu->r[25] = rbrew_rlwinm(cpu->r[24], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C46EC0: ; // 0x2c46ec0
|
|
/* 02C46EC0 */ _t82 = cpu->r[30] + 0x00000004u;
|
|
/* 02C46EC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C46EC0 */ cpu->r[30] = _t82;
|
|
/* 02C46EC4 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C46EC8 */ Gambit_fn_02C33C0C(cpu);
|
|
/* 02C46ECC */ _t83 = cpu->r[29] + 0x00000028u;
|
|
/* 02C46ECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C46ED0 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 02C46ED4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 02C46ED8 */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46ED8 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02C46ED8 */ if (_t85) goto L_02C46EC0; else goto L_02C46EDC;
|
|
L_02C46EDC: ; // 0x2c46edc
|
|
/* 02C46EDC */ _t86 = cpu->r[29] + 0x00000018u;
|
|
/* 02C46EDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C46EE0 */ _t87 = cpu->r[12] + 0x00000008u;
|
|
/* 02C46EE0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02C46EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C46EE8 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46EE8 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02C46EE8 */ if (_t89) goto L_02C46EEC; else goto L_02C46F24;
|
|
L_02C46EEC: ; // 0x2c46eec
|
|
/* 02C46EEC */ _t90 = cpu->r[29] + 0x00000014u;
|
|
/* 02C46EEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C46EF0 */ _t91 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C46EF0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C46EF4 */ _t92 = cpu->r[25] + 0x000000BCu;
|
|
/* 02C46EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C46EF8 */ cpu->ctr = cpu->r[0];
|
|
/* 02C46EFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46F00 */ _t93 = cpu->r[25] + 0x0000008Cu;
|
|
/* 02C46F00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02C46F04 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C46F08 */ _t94 = cpu->r[29] + 0x00000014u;
|
|
/* 02C46F08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C46F0C */ cpu->ctr = cpu->r[7];
|
|
/* 02C46F10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C46F14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
|
|
/* 02C46F18 */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C46F18 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02C46F18 */ if (_t96) goto L_02C46F24; else goto L_02C46F1C;
|
|
L_02C46F1C: ; // 0x2c46f1c
|
|
/* 02C46F1C */ _t97 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02C46F20 */ _t98 = cpu->r[29] + 0x000002D8u;
|
|
/* 02C46F20 */ rbrew_write32(cpu->mem, _t98, cpu->r[0]);
|
|
L_02C46F24: ; // 0x2c46f24
|
|
/* 02C46F24 */ _t99 = cpu->r[29] + 0x000002F4u;
|
|
/* 02C46F24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C46F28 */ _t100 = cpu->r[29] + 0x000002D8u;
|
|
/* 02C46F28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C46F2C */ cpu->r[9] = cpu->r[9] + cpu->r[24];
|
|
/* 02C46F30 */ _t101 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46F30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02C46F34 */ _t102 = cpu->r[29] + 0x000002F4u;
|
|
/* 02C46F34 */ rbrew_write32(cpu->mem, _t102, cpu->r[9]);
|
|
/* 02C46F38 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C46F3C */ _t103 = cpu->r[29] + 0x000002ECu;
|
|
/* 02C46F3C */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[28]);
|
|
/* 02C46F40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02C46F44 */ _t104 = cpu->r[29] + 0x000002D4u;
|
|
/* 02C46F44 */ rbrew_write32(cpu->mem, _t104, cpu->r[4]);
|
|
/* 02C46F48 */ _t105 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C46F48 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C46F48 */ if (_t106) goto L_02C46F4C; else goto L_02C46F64;
|
|
L_02C46F4C: ; // 0x2c46f4c
|
|
/* 02C46F4C */ _t107 = cpu->r[29] + 0x00000018u;
|
|
/* 02C46F4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02C46F50 */ _t108 = cpu->r[11] + 0x00000008u;
|
|
/* 02C46F50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t108);
|
|
/* 02C46F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C46F58 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46F58 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02C46F58 */ if (_t110) goto L_02C46F5C; else goto L_02C46F64;
|
|
L_02C46F5C: ; // 0x2c46f5c
|
|
/* 02C46F5C */ cpu->r[0] = 0x00000001u;
|
|
/* 02C46F60 */ _t111 = cpu->r[29] + 0x000002EDu;
|
|
/* 02C46F60 */ rbrew_write8(cpu->mem, _t111, (uint8_t)cpu->r[0]);
|
|
L_02C46F64: ; // 0x2c46f64
|
|
/* 02C46F64 */ _t112 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C46F64 */ rbrew_write32(cpu->mem, _t112, cpu->r[26]);
|
|
/* 02C46F68 */ _t113 = cpu->r[27] + 0x00000004u;
|
|
/* 02C46F68 */ rbrew_write32(cpu->mem, _t113, cpu->r[24]);
|
|
/* 02C46F6C */ _t114 = cpu->r[27] + 0x00000000u;
|
|
/* 02C46F6C */ rbrew_write32(cpu->mem, _t114, cpu->r[31]);
|
|
/* 02C46F70 */ _t115 = cpu->r[27] + 0x00000008u;
|
|
/* 02C46F70 */ rbrew_write32(cpu->mem, _t115, cpu->r[23]);
|
|
/* 02C46F74 */ _t116 = cpu->r[27] + 0x00000010u;
|
|
/* 02C46F74 */ rbrew_write8(cpu->mem, _t116, (uint8_t)cpu->r[28]);
|
|
/* 02C46F78 */ _t117 = cpu->r[1] + 0x00000008u;
|
|
/* 02C46F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02C46F7C */ _t118 = cpu->r[27] + 0x00000074u;
|
|
/* 02C46F7C */ rbrew_write32(cpu->mem, _t118, cpu->r[0]);
|
|
/* 02C46F80 */ _t119 = cpu->r[29] + 0x000002EDu;
|
|
/* 02C46F80 */ cpu->r[6] = rbrew_read8(cpu->mem, _t119);
|
|
/* 02C46F84 */ _t120 = cpu->r[27] + 0x00000078u;
|
|
/* 02C46F84 */ rbrew_write8(cpu->mem, _t120, (uint8_t)cpu->r[6]);
|
|
/* 02C46F88 */ /* nop */
|
|
/* 02C46F8C */ _t121 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C46F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02C46F90 */ cpu->lr = cpu->r[0];
|
|
/* 02C46F94 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C46F98 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C46F9C */ return;
|
|
}
|
|
|
|
// fn_02C46FA0 @ 0x2c46fa0
|
|
void Gambit_fn_02C46FA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C46FA0: ; // 0x2c46fa0
|
|
/* 02C46FA0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C46FA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C46FA0 */ cpu->r[1] = _t0;
|
|
/* 02C46FA4 */ /* nop */
|
|
/* 02C46FA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C46FAC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C46FAC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C46FB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C46FB4 */ _t2 = cpu->r[30] + 0x000002EDu;
|
|
/* 02C46FB4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C46FB8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C46FBC */ cpu->r[25] = cpu->r[5];
|
|
/* 02C46FC0 */ cpu->r[26] = cpu->r[6];
|
|
/* 02C46FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C46FC8 */ cpu->r[28] = cpu->r[7];
|
|
/* 02C46FCC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46FCC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C46FCC */ if (_t4) goto L_02C46FD0; else goto L_02C470C0;
|
|
L_02C46FD0: ; // 0x2c46fd0
|
|
/* 02C46FD0 */ Gambit_fn_02C28F0C(cpu);
|
|
/* 02C46FD4 */ cpu->r[4] = 0x00000094u;
|
|
/* 02C46FD8 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C46FDC */ Gambit_fn_02C1EA54(cpu);
|
|
/* 02C46FE0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C46FE4 */ cpu->r[11] = 0x00000037u;
|
|
/* 02C46FE8 */ _t5 = cpu->r[29] + 0x00000004u;
|
|
/* 02C46FE8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02C46FEC */ _t6 = cpu->r[30] + 0x00000014u;
|
|
/* 02C46FEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C46FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C46FF4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46FF4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C46FF4 */ if (_t8) goto L_02C47098; else goto L_02C46FF8;
|
|
L_02C46FF8: ; // 0x2c46ff8
|
|
/* 02C46FF8 */ _t9 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C46FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C46FFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C47000 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47000 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C47000 */ if (_t11) goto L_02C47010; else goto L_02C47004;
|
|
L_02C47004: ; // 0x2c47004
|
|
/* 02C47004 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47004 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C47004 */ if (_t13) goto L_02C47054; else goto L_02C47008;
|
|
L_02C47008: ; // 0x2c47008
|
|
/* 02C47008 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4700C */ goto L_02C4709C;
|
|
L_02C47010: ; // 0x2c47010
|
|
/* 02C47010 */ cpu->r[8] = cpu->r[28];
|
|
/* 02C47014 */ cpu->r[7] = cpu->r[26];
|
|
/* 02C47018 */ cpu->r[6] = cpu->r[25];
|
|
/* 02C4701C */ cpu->r[5] = cpu->r[31];
|
|
/* 02C47020 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C47024 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47028 */ Gambit_fn_02C467E0(cpu);
|
|
/* 02C4702C */ _t14 = cpu->r[29] + 0x00000014u;
|
|
/* 02C4702C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[3]);
|
|
/* 02C47030 */ _t15 = cpu->r[30] + 0x00000010u;
|
|
/* 02C47030 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C47034 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C47038 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C4703C */ _t16 = cpu->r[29] + 0x00000010u;
|
|
/* 02C4703C */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02C47040 */ Gambit_fn_02C1EB5C(cpu);
|
|
/* 02C47044 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C47048 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C4704C */ Gambit_fn_02C1EC30(cpu);
|
|
/* 02C47050 */ goto L_02C470C0;
|
|
L_02C47054: ; // 0x2c47054
|
|
/* 02C47054 */ cpu->r[8] = cpu->r[28];
|
|
/* 02C47058 */ cpu->r[7] = cpu->r[26];
|
|
/* 02C4705C */ cpu->r[6] = cpu->r[25];
|
|
/* 02C47060 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C47064 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C47068 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4706C */ Gambit_fn_02C46C74(cpu);
|
|
/* 02C47070 */ _t17 = cpu->r[29] + 0x00000014u;
|
|
/* 02C47070 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[3]);
|
|
/* 02C47074 */ _t18 = cpu->r[30] + 0x00000010u;
|
|
/* 02C47074 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C47078 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4707C */ cpu->r[3] = cpu->r[27];
|
|
/* 02C47080 */ _t19 = cpu->r[29] + 0x00000010u;
|
|
/* 02C47080 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02C47084 */ Gambit_fn_02C1EB5C(cpu);
|
|
/* 02C47088 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C4708C */ cpu->r[3] = cpu->r[27];
|
|
/* 02C47090 */ Gambit_fn_02C1EC30(cpu);
|
|
/* 02C47094 */ goto L_02C470C0;
|
|
L_02C47098: ; // 0x2c47098
|
|
/* 02C47098 */ cpu->r[3] = 0x00000000u;
|
|
L_02C4709C: ; // 0x2c4709c
|
|
/* 02C4709C */ _t20 = cpu->r[29] + 0x00000014u;
|
|
/* 02C4709C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[3]);
|
|
/* 02C470A0 */ _t21 = cpu->r[30] + 0x00000010u;
|
|
/* 02C470A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C470A4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C470A8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C470AC */ _t22 = cpu->r[29] + 0x00000010u;
|
|
/* 02C470AC */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02C470B0 */ Gambit_fn_02C1EB5C(cpu);
|
|
/* 02C470B4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C470B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C470BC */ Gambit_fn_02C1EC30(cpu);
|
|
L_02C470C0: ; // 0x2c470c0
|
|
/* 02C470C0 */ /* nop */
|
|
/* 02C470C4 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C470C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C470C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C470CC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C470D0 */ return;
|
|
}
|
|
|
|
// fn_02C470D4 @ 0x2c470d4
|
|
void Gambit_fn_02C470D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56;
|
|
|
|
L_02C470D4: ; // 0x2c470d4
|
|
/* 02C470D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C470D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C470D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C470D8 */ cpu->r[1] = _t0;
|
|
/* 02C470DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C470DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C470E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C470E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C470E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C470E8 */ Gambit_fn_02C4533C(cpu);
|
|
/* 02C470EC */ cpu->r[5] = 0x00000000u;
|
|
/* 02C470F0 */ _t3 = cpu->r[31] + 0x0000018Du;
|
|
/* 02C470F0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[5]);
|
|
/* 02C470F4 */ _t4 = cpu->r[31] + 0x00000185u;
|
|
/* 02C470F4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[5]);
|
|
/* 02C470F8 */ _t5 = cpu->r[31] + 0x00000188u;
|
|
/* 02C470F8 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[5]);
|
|
/* 02C470FC */ _t6 = cpu->r[31] + 0x00000184u;
|
|
/* 02C470FC */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[5]);
|
|
/* 02C47100 */ _t7 = cpu->r[31] + 0x00000498u;
|
|
/* 02C47100 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 02C47104 */ _t8 = cpu->r[31] + 0x000001BCu;
|
|
/* 02C47104 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02C47108 */ _t9 = cpu->r[31] + 0x00000186u;
|
|
/* 02C47108 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[5]);
|
|
/* 02C4710C */ _t10 = cpu->r[31] + 0x0000018Au;
|
|
/* 02C4710C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[5]);
|
|
/* 02C47110 */ _t11 = cpu->r[31] + 0x00000190u;
|
|
/* 02C47110 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]);
|
|
/* 02C47114 */ _t12 = cpu->r[31] + 0x00000187u;
|
|
/* 02C47114 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[5]);
|
|
/* 02C47118 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4711C */ _t13 = cpu->r[31] + 0x00000189u;
|
|
/* 02C4711C */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[5]);
|
|
/* 02C47120 */ Gambit_fn_02C381D8(cpu);
|
|
/* 02C47124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47128 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47128 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C47128 */ if (_t15) goto L_02C47134; else goto L_02C4712C;
|
|
L_02C4712C: ; // 0x2c4712c
|
|
/* 02C4712C */ _t16 = cpu->r[31] + 0x0000019Cu;
|
|
/* 02C4712C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C47130 */ Gambit_fn_02C38348(cpu);
|
|
L_02C47134: ; // 0x2c47134
|
|
/* 02C47134 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C47138 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C4713C */ _t17 = cpu->r[8] + 0xFFFFCFA0u;
|
|
/* 02C4713C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C47140 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C47144 */ _t18 = cpu->r[6] + 0xFFFFCFB4u;
|
|
/* 02C47144 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C47148 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4714C */ _t19 = cpu->r[31] + 0x00000278u;
|
|
/* 02C4714C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02C47150 */ cpu->f[9] = cpu->f[0];
|
|
/* 02C47154 */ cpu->r[5] = cpu->r[31] + 0x00000278u;
|
|
/* 02C47158 */ _t20 = cpu->r[31] + 0x00000274u;
|
|
/* 02C47158 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
L_02C4715C: ; // 0x2c4715c
|
|
/* 02C4715C */ _t21 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4715C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[9]);
|
|
/* 02C4715C */ cpu->r[5] = _t21;
|
|
/* 02C47160 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C47160 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C47160 */ _t23 = _t22 >> (0x00000002u & 31u);
|
|
/* 02C47160 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C47160 */ if (_t24) goto L_02C4715C; else goto L_02C47164;
|
|
L_02C47164: ; // 0x2c47164
|
|
/* 02C47164 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C47168 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C4716C */ cpu->r[12] = cpu->r[31] + 0x00005124u;
|
|
/* 02C47170 */ cpu->r[11] = 0x00000008u;
|
|
L_02C47174: ; // 0x2c47174
|
|
/* 02C47174 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02C47174 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[10]);
|
|
/* 02C47178 */ cpu->r[9] = 0x00000003u;
|
|
/* 02C4717C */ _t26 = cpu->r[12] + 0x00000018u;
|
|
/* 02C4717C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 02C47180 */ cpu->r[5] = cpu->r[12] + 0x00000060u;
|
|
/* 02C47184 */ _t27 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C47184 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02C47188 */ cpu->f[10] = cpu->f[0];
|
|
/* 02C4718C */ _t28 = cpu->r[12] + 0x00000060u;
|
|
/* 02C4718C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02C47190 */ _t29 = cpu->r[12] + 0x00000020u;
|
|
/* 02C47190 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 02C47194 */ _t30 = cpu->r[12] + 0x00000058u;
|
|
/* 02C47194 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02C47198 */ _t31 = cpu->r[12] + 0x00000024u;
|
|
/* 02C47198 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 02C4719C */ cpu->ctr = cpu->r[9];
|
|
/* 02C471A0 */ _t32 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02C471A0 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
L_02C471A4: ; // 0x2c471a4
|
|
/* 02C471A4 */ _t33 = cpu->r[5] + 0x00000004u;
|
|
/* 02C471A4 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[10]);
|
|
/* 02C471A4 */ cpu->r[5] = _t33;
|
|
/* 02C471A8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C471A8 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C471A8 */ _t35 = _t34 >> (0x00000002u & 31u);
|
|
/* 02C471A8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C471A8 */ if (_t36) goto L_02C471A4; else goto L_02C471AC;
|
|
L_02C471AC: ; // 0x2c471ac
|
|
/* 02C471AC */ cpu->f[12] = cpu->f[0];
|
|
/* 02C471B0 */ cpu->r[5] = cpu->r[12] + 0x00000020u;
|
|
/* 02C471B4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C471B8 */ cpu->f[8] = cpu->f[13];
|
|
/* 02C471BC */ cpu->r[7] = 0x00000002u;
|
|
L_02C471C0: ; // 0x2c471c0
|
|
/* 02C471C0 */ _t37 = cpu->r[5] + 0x00000050u;
|
|
/* 02C471C0 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[8]);
|
|
/* 02C471C0 */ cpu->r[5] = _t37;
|
|
/* 02C471C4 */ cpu->r[8] = cpu->r[5] + 0x00000040u;
|
|
/* 02C471C8 */ _t38 = cpu->r[5] + 0x00000040u;
|
|
/* 02C471C8 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[12]);
|
|
/* 02C471CC */ cpu->f[11] = cpu->f[12];
|
|
/* 02C471D0 */ _t39 = cpu->r[5] + 0x00000004u;
|
|
/* 02C471D0 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
/* 02C471D4 */ cpu->r[6] = 0x00000003u;
|
|
/* 02C471D8 */ _t40 = cpu->r[5] + 0x00000038u;
|
|
/* 02C471D8 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[12]);
|
|
/* 02C471DC */ cpu->ctr = cpu->r[6];
|
|
/* 02C471E0 */ _t41 = cpu->r[5] + 0x0000003Cu;
|
|
/* 02C471E0 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[12]);
|
|
L_02C471E4: ; // 0x2c471e4
|
|
/* 02C471E4 */ _t42 = cpu->r[8] + 0x00000004u;
|
|
/* 02C471E4 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[11]);
|
|
/* 02C471E4 */ cpu->r[8] = _t42;
|
|
/* 02C471E8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C471E8 */ _t43 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C471E8 */ _t44 = _t43 >> (0x00000002u & 31u);
|
|
/* 02C471E8 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C471E8 */ if (_t45) goto L_02C471E4; else goto L_02C471EC;
|
|
L_02C471EC: ; // 0x2c471ec
|
|
/* 02C471EC */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C471EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C471F0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C471F0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C471F0 */ if (_t47) goto L_02C471F4; else goto L_02C471C0;
|
|
L_02C471F4: ; // 0x2c471f4
|
|
/* 02C471F4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C471F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C471F8 */ cpu->r[12] = cpu->r[12] + 0x00000110u;
|
|
/* 02C471FC */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C471FC */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C471FC */ if (_t49) goto L_02C47200; else goto L_02C47174;
|
|
L_02C47200: ; // 0x2c47200
|
|
/* 02C47200 */ cpu->r[10] = 0x00000010u;
|
|
/* 02C47204 */ cpu->r[4] = cpu->r[31] + 0xFFFFFFDCu;
|
|
/* 02C47208 */ cpu->ctr = cpu->r[10];
|
|
/* 02C4720C */ cpu->r[6] = 0x00000000u;
|
|
L_02C47210: ; // 0x2c47210
|
|
/* 02C47210 */ _t50 = cpu->r[4] + 0x000004C8u;
|
|
/* 02C47210 */ rbrew_write32(cpu->mem, _t50, cpu->r[6]);
|
|
/* 02C47210 */ cpu->r[4] = _t50;
|
|
/* 02C47214 */ _t51 = cpu->r[4] + 0x00000004u;
|
|
/* 02C47214 */ rbrew_write32(cpu->mem, _t51, cpu->r[6]);
|
|
/* 02C47218 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C47218 */ _t52 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C47218 */ _t53 = _t52 >> (0x00000002u & 31u);
|
|
/* 02C47218 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C47218 */ if (_t54) goto L_02C47210; else goto L_02C4721C;
|
|
L_02C4721C: ; // 0x2c4721c
|
|
/* 02C4721C */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4721C */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C47220 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47220 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C47224 */ cpu->lr = cpu->r[0];
|
|
/* 02C47228 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4722C */ return;
|
|
}
|
|
|
|
// fn_02C470D8 @ 0x2c470d8
|
|
void Gambit_fn_02C470D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56;
|
|
|
|
L_02C470D8: ; // 0x2c470d8
|
|
/* 02C470D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C470D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C470D8 */ cpu->r[1] = _t0;
|
|
/* 02C470DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C470DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C470E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C470E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C470E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C470E8 */ Gambit_fn_02C4533C(cpu);
|
|
/* 02C470EC */ cpu->r[5] = 0x00000000u;
|
|
/* 02C470F0 */ _t3 = cpu->r[31] + 0x0000018Du;
|
|
/* 02C470F0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[5]);
|
|
/* 02C470F4 */ _t4 = cpu->r[31] + 0x00000185u;
|
|
/* 02C470F4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[5]);
|
|
/* 02C470F8 */ _t5 = cpu->r[31] + 0x00000188u;
|
|
/* 02C470F8 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[5]);
|
|
/* 02C470FC */ _t6 = cpu->r[31] + 0x00000184u;
|
|
/* 02C470FC */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[5]);
|
|
/* 02C47100 */ _t7 = cpu->r[31] + 0x00000498u;
|
|
/* 02C47100 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 02C47104 */ _t8 = cpu->r[31] + 0x000001BCu;
|
|
/* 02C47104 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02C47108 */ _t9 = cpu->r[31] + 0x00000186u;
|
|
/* 02C47108 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[5]);
|
|
/* 02C4710C */ _t10 = cpu->r[31] + 0x0000018Au;
|
|
/* 02C4710C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[5]);
|
|
/* 02C47110 */ _t11 = cpu->r[31] + 0x00000190u;
|
|
/* 02C47110 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]);
|
|
/* 02C47114 */ _t12 = cpu->r[31] + 0x00000187u;
|
|
/* 02C47114 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[5]);
|
|
/* 02C47118 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4711C */ _t13 = cpu->r[31] + 0x00000189u;
|
|
/* 02C4711C */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[5]);
|
|
/* 02C47120 */ Gambit_fn_02C381D8(cpu);
|
|
/* 02C47124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47128 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47128 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C47128 */ if (_t15) goto L_02C47134; else goto L_02C4712C;
|
|
L_02C4712C: ; // 0x2c4712c
|
|
/* 02C4712C */ _t16 = cpu->r[31] + 0x0000019Cu;
|
|
/* 02C4712C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C47130 */ Gambit_fn_02C38348(cpu);
|
|
L_02C47134: ; // 0x2c47134
|
|
/* 02C47134 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C47138 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C4713C */ _t17 = cpu->r[8] + 0xFFFFCFA0u;
|
|
/* 02C4713C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C47140 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C47144 */ _t18 = cpu->r[6] + 0xFFFFCFB4u;
|
|
/* 02C47144 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C47148 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4714C */ _t19 = cpu->r[31] + 0x00000278u;
|
|
/* 02C4714C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02C47150 */ cpu->f[9] = cpu->f[0];
|
|
/* 02C47154 */ cpu->r[5] = cpu->r[31] + 0x00000278u;
|
|
/* 02C47158 */ _t20 = cpu->r[31] + 0x00000274u;
|
|
/* 02C47158 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
L_02C4715C: ; // 0x2c4715c
|
|
/* 02C4715C */ _t21 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4715C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[9]);
|
|
/* 02C4715C */ cpu->r[5] = _t21;
|
|
/* 02C47160 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C47160 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C47160 */ _t23 = _t22 >> (0x00000002u & 31u);
|
|
/* 02C47160 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C47160 */ if (_t24) goto L_02C4715C; else goto L_02C47164;
|
|
L_02C47164: ; // 0x2c47164
|
|
/* 02C47164 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C47168 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C4716C */ cpu->r[12] = cpu->r[31] + 0x00005124u;
|
|
/* 02C47170 */ cpu->r[11] = 0x00000008u;
|
|
L_02C47174: ; // 0x2c47174
|
|
/* 02C47174 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02C47174 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[10]);
|
|
/* 02C47178 */ cpu->r[9] = 0x00000003u;
|
|
/* 02C4717C */ _t26 = cpu->r[12] + 0x00000018u;
|
|
/* 02C4717C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 02C47180 */ cpu->r[5] = cpu->r[12] + 0x00000060u;
|
|
/* 02C47184 */ _t27 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C47184 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02C47188 */ cpu->f[10] = cpu->f[0];
|
|
/* 02C4718C */ _t28 = cpu->r[12] + 0x00000060u;
|
|
/* 02C4718C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02C47190 */ _t29 = cpu->r[12] + 0x00000020u;
|
|
/* 02C47190 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 02C47194 */ _t30 = cpu->r[12] + 0x00000058u;
|
|
/* 02C47194 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02C47198 */ _t31 = cpu->r[12] + 0x00000024u;
|
|
/* 02C47198 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 02C4719C */ cpu->ctr = cpu->r[9];
|
|
/* 02C471A0 */ _t32 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02C471A0 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
L_02C471A4: ; // 0x2c471a4
|
|
/* 02C471A4 */ _t33 = cpu->r[5] + 0x00000004u;
|
|
/* 02C471A4 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[10]);
|
|
/* 02C471A4 */ cpu->r[5] = _t33;
|
|
/* 02C471A8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C471A8 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C471A8 */ _t35 = _t34 >> (0x00000002u & 31u);
|
|
/* 02C471A8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C471A8 */ if (_t36) goto L_02C471A4; else goto L_02C471AC;
|
|
L_02C471AC: ; // 0x2c471ac
|
|
/* 02C471AC */ cpu->f[12] = cpu->f[0];
|
|
/* 02C471B0 */ cpu->r[5] = cpu->r[12] + 0x00000020u;
|
|
/* 02C471B4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C471B8 */ cpu->f[8] = cpu->f[13];
|
|
/* 02C471BC */ cpu->r[7] = 0x00000002u;
|
|
L_02C471C0: ; // 0x2c471c0
|
|
/* 02C471C0 */ _t37 = cpu->r[5] + 0x00000050u;
|
|
/* 02C471C0 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[8]);
|
|
/* 02C471C0 */ cpu->r[5] = _t37;
|
|
/* 02C471C4 */ cpu->r[8] = cpu->r[5] + 0x00000040u;
|
|
/* 02C471C8 */ _t38 = cpu->r[5] + 0x00000040u;
|
|
/* 02C471C8 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[12]);
|
|
/* 02C471CC */ cpu->f[11] = cpu->f[12];
|
|
/* 02C471D0 */ _t39 = cpu->r[5] + 0x00000004u;
|
|
/* 02C471D0 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
/* 02C471D4 */ cpu->r[6] = 0x00000003u;
|
|
/* 02C471D8 */ _t40 = cpu->r[5] + 0x00000038u;
|
|
/* 02C471D8 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[12]);
|
|
/* 02C471DC */ cpu->ctr = cpu->r[6];
|
|
/* 02C471E0 */ _t41 = cpu->r[5] + 0x0000003Cu;
|
|
/* 02C471E0 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[12]);
|
|
L_02C471E4: ; // 0x2c471e4
|
|
/* 02C471E4 */ _t42 = cpu->r[8] + 0x00000004u;
|
|
/* 02C471E4 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[11]);
|
|
/* 02C471E4 */ cpu->r[8] = _t42;
|
|
/* 02C471E8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C471E8 */ _t43 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C471E8 */ _t44 = _t43 >> (0x00000002u & 31u);
|
|
/* 02C471E8 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C471E8 */ if (_t45) goto L_02C471E4; else goto L_02C471EC;
|
|
L_02C471EC: ; // 0x2c471ec
|
|
/* 02C471EC */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C471EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C471F0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C471F0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C471F0 */ if (_t47) goto L_02C471F4; else goto L_02C471C0;
|
|
L_02C471F4: ; // 0x2c471f4
|
|
/* 02C471F4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C471F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C471F8 */ cpu->r[12] = cpu->r[12] + 0x00000110u;
|
|
/* 02C471FC */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C471FC */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C471FC */ if (_t49) goto L_02C47200; else goto L_02C47174;
|
|
L_02C47200: ; // 0x2c47200
|
|
/* 02C47200 */ cpu->r[10] = 0x00000010u;
|
|
/* 02C47204 */ cpu->r[4] = cpu->r[31] + 0xFFFFFFDCu;
|
|
/* 02C47208 */ cpu->ctr = cpu->r[10];
|
|
/* 02C4720C */ cpu->r[6] = 0x00000000u;
|
|
L_02C47210: ; // 0x2c47210
|
|
/* 02C47210 */ _t50 = cpu->r[4] + 0x000004C8u;
|
|
/* 02C47210 */ rbrew_write32(cpu->mem, _t50, cpu->r[6]);
|
|
/* 02C47210 */ cpu->r[4] = _t50;
|
|
/* 02C47214 */ _t51 = cpu->r[4] + 0x00000004u;
|
|
/* 02C47214 */ rbrew_write32(cpu->mem, _t51, cpu->r[6]);
|
|
/* 02C47218 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C47218 */ _t52 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C47218 */ _t53 = _t52 >> (0x00000002u & 31u);
|
|
/* 02C47218 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C47218 */ if (_t54) goto L_02C47210; else goto L_02C4721C;
|
|
L_02C4721C: ; // 0x2c4721c
|
|
/* 02C4721C */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4721C */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C47220 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47220 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C47224 */ cpu->lr = cpu->r[0];
|
|
/* 02C47228 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4722C */ return;
|
|
}
|
|
|
|
// fn_02C47230 @ 0x2c47230
|
|
void Gambit_fn_02C47230(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C47230: ; // 0x2c47230
|
|
/* 02C47230 */ cpu->r[0] = cpu->lr;
|
|
/* 02C47234 */ cpu->r[8] = cpu->r[4];
|
|
/* 02C47238 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C4723C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C47240 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C47240 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C47244 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C47248 */ _t1 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02C47248 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C47248 */ cpu->r[1] = _t1;
|
|
/* 02C4724C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47250 */ Gambit_fn_02C4277C(cpu);
|
|
/* 02C47254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47258 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47258 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C47258 */ if (_t3) goto L_02C4725C; else goto L_02C47270;
|
|
L_02C4725C: ; // 0x2c4725c
|
|
/* 02C4725C */ _t4 = cpu->r[1] + 0x00000064u;
|
|
/* 02C4725C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C47260 */ cpu->lr = cpu->r[0];
|
|
/* 02C47264 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02C47268 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4726C */ return;
|
|
L_02C47270: ; // 0x2c47270
|
|
/* 02C47270 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C47270 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C47274 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C47278 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C47278 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4727C */ _t7 = cpu->r[6] + 0x0000048Cu;
|
|
/* 02C4727C */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C47280 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47280 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C47284 */ _t9 = cpu->r[6] + 0x00000494u;
|
|
/* 02C47284 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C47288 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02C4728C */ _t10 = cpu->r[6] + 0x00000490u;
|
|
/* 02C4728C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02C47290 */ Gambit_fn_02C426B0(cpu);
|
|
/* 02C47294 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02C47294 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C47298 */ Gambit_fn_02C41CC8(cpu);
|
|
/* 02C4729C */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4729C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C472A0 */ cpu->r[3] = cpu->r[6] + 0x000001C8u;
|
|
/* 02C472A4 */ _t13 = cpu->r[6] + 0x000001F4u;
|
|
/* 02C472A4 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 02C472A8 */ Gambit_fn_02C42474(cpu);
|
|
/* 02C472AC */ _t14 = cpu->r[6] + 0x000001F4u;
|
|
/* 02C472AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C472B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000010u);
|
|
/* 02C472B4 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C472B4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C472B4 */ if (_t16) goto L_02C472B8; else goto L_02C472BC;
|
|
L_02C472B8: ; // 0x2c472b8
|
|
/* 02C472B8 */ cpu->r[0] = 0x00000010u;
|
|
L_02C472BC: ; // 0x2c472bc
|
|
/* 02C472BC */ _t17 = cpu->r[6] + 0x0000049Cu;
|
|
/* 02C472BC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02C472C0 */ _t18 = cpu->r[1] + 0x00000064u;
|
|
/* 02C472C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C472C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C472C8 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02C472CC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C472D0 */ return;
|
|
}
|
|
|
|
// fn_02C47248 @ 0x2c47248
|
|
void Gambit_fn_02C47248(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C47248: ; // 0x2c47248
|
|
/* 02C47248 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02C47248 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47248 */ cpu->r[1] = _t0;
|
|
/* 02C4724C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47250 */ Gambit_fn_02C4277C(cpu);
|
|
/* 02C47254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47258 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47258 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C47258 */ if (_t2) goto L_02C4725C; else goto L_02C47270;
|
|
L_02C4725C: ; // 0x2c4725c
|
|
/* 02C4725C */ _t3 = cpu->r[1] + 0x00000064u;
|
|
/* 02C4725C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C47260 */ cpu->lr = cpu->r[0];
|
|
/* 02C47264 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02C47268 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4726C */ return;
|
|
L_02C47270: ; // 0x2c47270
|
|
/* 02C47270 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C47270 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C47274 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C47278 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C47278 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4727C */ _t6 = cpu->r[6] + 0x0000048Cu;
|
|
/* 02C4727C */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02C47280 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47280 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C47284 */ _t8 = cpu->r[6] + 0x00000494u;
|
|
/* 02C47284 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C47288 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02C4728C */ _t9 = cpu->r[6] + 0x00000490u;
|
|
/* 02C4728C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C47290 */ Gambit_fn_02C426B0(cpu);
|
|
/* 02C47294 */ _t10 = cpu->r[8] + 0x00000004u;
|
|
/* 02C47294 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C47298 */ Gambit_fn_02C41CC8(cpu);
|
|
/* 02C4729C */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4729C */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C472A0 */ cpu->r[3] = cpu->r[6] + 0x000001C8u;
|
|
/* 02C472A4 */ _t12 = cpu->r[6] + 0x000001F4u;
|
|
/* 02C472A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02C472A8 */ Gambit_fn_02C42474(cpu);
|
|
/* 02C472AC */ _t13 = cpu->r[6] + 0x000001F4u;
|
|
/* 02C472AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C472B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000010u);
|
|
/* 02C472B4 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C472B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C472B4 */ if (_t15) goto L_02C472B8; else goto L_02C472BC;
|
|
L_02C472B8: ; // 0x2c472b8
|
|
/* 02C472B8 */ cpu->r[0] = 0x00000010u;
|
|
L_02C472BC: ; // 0x2c472bc
|
|
/* 02C472BC */ _t16 = cpu->r[6] + 0x0000049Cu;
|
|
/* 02C472BC */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02C472C0 */ _t17 = cpu->r[1] + 0x00000064u;
|
|
/* 02C472C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C472C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C472C8 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02C472CC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C472D0 */ return;
|
|
}
|
|
|
|
// fn_02C472D4 @ 0x2c472d4
|
|
void Gambit_fn_02C472D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C472D4: ; // 0x2c472d4
|
|
/* 02C472D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C472D8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C472D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C472DC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C472DC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C472DC */ cpu->r[1] = _t1;
|
|
/* 02C472E0 */ _t2 = cpu->r[3] + 0x000001B4u;
|
|
/* 02C472E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C472E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C472E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C472EC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C472EC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C472EC */ if (_t4) goto L_02C472F0; else goto L_02C472F8;
|
|
L_02C472F0: ; // 0x2c472f0
|
|
/* 02C472F0 */ _t5 = cpu->r[3] + 0x000001B8u;
|
|
/* 02C472F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C472F4 */ goto L_02C47350;
|
|
L_02C472F8: ; // 0x2c472f8
|
|
/* 02C472F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02C472FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C472FC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C472FC */ if (_t7) goto L_02C47300; else goto L_02C4734C;
|
|
L_02C47300: ; // 0x2c47300
|
|
/* 02C47300 */ _t8 = cpu->r[3] + 0x000001B8u;
|
|
/* 02C47300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C47304 */ _t9 = cpu->r[4] + 0x00000004u;
|
|
/* 02C47304 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C47308 */ /* nop */
|
|
/* 02C4730C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[12]);
|
|
/* 02C47310 */ /* nop */
|
|
/* 02C47314 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[12]);
|
|
/* 02C47318 */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
/* 02C4731C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C47320 */ cpu->r[6] = 0x000003E8u;
|
|
/* 02C47324 */ Gambit_fn_02C89C4C(cpu);
|
|
/* 02C47328 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000000u);
|
|
/* 02C4732C */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4732C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4732C */ if (_t11) goto L_02C47340; else goto L_02C47330;
|
|
L_02C47330: ; // 0x2c47330
|
|
/* 02C47330 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47330 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C47330 */ if (_t13) goto L_02C47348; else goto L_02C47334;
|
|
L_02C47334: ; // 0x2c47334
|
|
/* 02C47334 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02C47338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02C4733C */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4733C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C4733C */ if (_t15) goto L_02C47340; else goto L_02C47348;
|
|
L_02C47340: ; // 0x2c47340
|
|
/* 02C47340 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C47344 */ goto L_02C4734C;
|
|
L_02C47348: ; // 0x2c47348
|
|
/* 02C47348 */ cpu->r[0] = cpu->r[4];
|
|
L_02C4734C: ; // 0x2c4734c
|
|
/* 02C4734C */ cpu->r[3] = cpu->r[0];
|
|
L_02C47350: ; // 0x2c47350
|
|
/* 02C47350 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C47354 */ cpu->lr = cpu->r[0];
|
|
/* 02C47358 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4735C */ return;
|
|
}
|
|
|
|
// fn_02C472DC @ 0x2c472dc
|
|
void Gambit_fn_02C472DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C472DC: ; // 0x2c472dc
|
|
/* 02C472DC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C472DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C472DC */ cpu->r[1] = _t0;
|
|
/* 02C472E0 */ _t1 = cpu->r[3] + 0x000001B4u;
|
|
/* 02C472E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C472E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C472E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C472EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C472EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C472EC */ if (_t3) goto L_02C472F0; else goto L_02C472F8;
|
|
L_02C472F0: ; // 0x2c472f0
|
|
/* 02C472F0 */ _t4 = cpu->r[3] + 0x000001B8u;
|
|
/* 02C472F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C472F4 */ goto L_02C47350;
|
|
L_02C472F8: ; // 0x2c472f8
|
|
/* 02C472F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02C472FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C472FC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C472FC */ if (_t6) goto L_02C47300; else goto L_02C4734C;
|
|
L_02C47300: ; // 0x2c47300
|
|
/* 02C47300 */ _t7 = cpu->r[3] + 0x000001B8u;
|
|
/* 02C47300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C47304 */ _t8 = cpu->r[4] + 0x00000004u;
|
|
/* 02C47304 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C47308 */ /* nop */
|
|
/* 02C4730C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[12]);
|
|
/* 02C47310 */ /* nop */
|
|
/* 02C47314 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[12]);
|
|
/* 02C47318 */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
/* 02C4731C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C47320 */ cpu->r[6] = 0x000003E8u;
|
|
/* 02C47324 */ Gambit_fn_02C89C4C(cpu);
|
|
/* 02C47328 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000000u);
|
|
/* 02C4732C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4732C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4732C */ if (_t10) goto L_02C47340; else goto L_02C47330;
|
|
L_02C47330: ; // 0x2c47330
|
|
/* 02C47330 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47330 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C47330 */ if (_t12) goto L_02C47348; else goto L_02C47334;
|
|
L_02C47334: ; // 0x2c47334
|
|
/* 02C47334 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02C47338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02C4733C */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4733C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4733C */ if (_t14) goto L_02C47340; else goto L_02C47348;
|
|
L_02C47340: ; // 0x2c47340
|
|
/* 02C47340 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C47344 */ goto L_02C4734C;
|
|
L_02C47348: ; // 0x2c47348
|
|
/* 02C47348 */ cpu->r[0] = cpu->r[4];
|
|
L_02C4734C: ; // 0x2c4734c
|
|
/* 02C4734C */ cpu->r[3] = cpu->r[0];
|
|
L_02C47350: ; // 0x2c47350
|
|
/* 02C47350 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C47354 */ cpu->lr = cpu->r[0];
|
|
/* 02C47358 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4735C */ return;
|
|
}
|
|
|
|
// fn_02C47360 @ 0x2c47360
|
|
void Gambit_fn_02C47360(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C47360: ; // 0x2c47360
|
|
/* 02C47360 */ cpu->r[0] = cpu->lr;
|
|
/* 02C47364 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C47364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47364 */ cpu->r[1] = _t0;
|
|
/* 02C47368 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47368 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4736C */ cpu->r[31] = cpu->r[4];
|
|
/* 02C47370 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47370 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C47374 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02C47374 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C47378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4737C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4737C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4737C */ if (_t5) goto L_02C47380; else goto L_02C473AC;
|
|
L_02C47380: ; // 0x2c47380
|
|
/* 02C47380 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C47384 */ Gambit_fn_02C472D4(cpu);
|
|
/* 02C47388 */ _t6 = cpu->r[31] + 0x00000010u;
|
|
/* 02C47388 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4738C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C47390 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47390 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C47390 */ if (_t8) goto L_02C473AC; else goto L_02C47394;
|
|
L_02C47394: ; // 0x2c47394
|
|
/* 02C47394 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C47398 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47398 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4739C */ cpu->lr = cpu->r[0];
|
|
/* 02C473A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C473A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C473A8 */ return;
|
|
L_02C473AC: ; // 0x2c473ac
|
|
/* 02C473AC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C473AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C473B0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C473B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C473B4 */ cpu->lr = cpu->r[0];
|
|
/* 02C473B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C473BC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C473C0 */ return;
|
|
}
|
|
|
|
// fn_02C47364 @ 0x2c47364
|
|
void Gambit_fn_02C47364(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C47364: ; // 0x2c47364
|
|
/* 02C47364 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C47364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47364 */ cpu->r[1] = _t0;
|
|
/* 02C47368 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47368 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4736C */ cpu->r[31] = cpu->r[4];
|
|
/* 02C47370 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47370 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C47374 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02C47374 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C47378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4737C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4737C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4737C */ if (_t5) goto L_02C47380; else goto L_02C473AC;
|
|
L_02C47380: ; // 0x2c47380
|
|
/* 02C47380 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C47384 */ Gambit_fn_02C472D4(cpu);
|
|
/* 02C47388 */ _t6 = cpu->r[31] + 0x00000010u;
|
|
/* 02C47388 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4738C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C47390 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47390 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C47390 */ if (_t8) goto L_02C473AC; else goto L_02C47394;
|
|
L_02C47394: ; // 0x2c47394
|
|
/* 02C47394 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C47398 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47398 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4739C */ cpu->lr = cpu->r[0];
|
|
/* 02C473A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C473A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C473A8 */ return;
|
|
L_02C473AC: ; // 0x2c473ac
|
|
/* 02C473AC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C473AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C473B0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C473B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C473B4 */ cpu->lr = cpu->r[0];
|
|
/* 02C473B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C473BC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C473C0 */ return;
|
|
}
|
|
|
|
// fn_02C473C4 @ 0x2c473c4
|
|
void Gambit_fn_02C473C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C473C4: ; // 0x2c473c4
|
|
/* 02C473C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C473C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C473C4 */ cpu->r[1] = _t0;
|
|
/* 02C473C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C473C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C473CC */ _t2 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C473CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C473D0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C473D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02C473D8 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C473D8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C473D8 */ if (_t4) goto L_02C473DC; else goto L_02C474A4;
|
|
L_02C473DC: ; // 0x2c473dc
|
|
/* 02C473DC */ cpu->r[8] = cpu->r[3] + 0x00005124u;
|
|
/* 02C473E0 */ cpu->r[12] = cpu->r[4] + 0x00000026u;
|
|
/* 02C473E4 */ cpu->r[7] = 0x00000000u;
|
|
L_02C473E8: ; // 0x2c473e8
|
|
/* 02C473E8 */ _t5 = cpu->r[12] + 0x0000000Eu;
|
|
/* 02C473E8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C473E8 */ cpu->r[12] = _t5;
|
|
/* 02C473EC */ cpu->r[11] = cpu->r[8] + cpu->r[7];
|
|
/* 02C473F0 */ _t6 = cpu->r[11] + 0x0000000Du;
|
|
/* 02C473F0 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[10]);
|
|
/* 02C473F4 */ _t7 = cpu->r[12] + 0x00000001u;
|
|
/* 02C473F4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C473F8 */ _t8 = cpu->r[11] + 0x0000000Eu;
|
|
/* 02C473F8 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[10]);
|
|
/* 02C473FC */ _t9 = cpu->r[12] + 0x00000002u;
|
|
/* 02C473FC */ cpu->r[4] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C47400 */ cpu->r[9] = cpu->r[11] + 0x00000010u;
|
|
/* 02C47404 */ cpu->r[6] = 0x00000003u;
|
|
/* 02C47408 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C4740C */ _t10 = cpu->r[11] + 0x0000000Fu;
|
|
/* 02C4740C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[4]);
|
|
/* 02C47410 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 02C47410 */ cpu->r[4] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C47414 */ cpu->r[10] = cpu->r[12] + 0x00000005u;
|
|
/* 02C47418 */ cpu->ctr = cpu->r[6];
|
|
/* 02C4741C */ _t12 = cpu->r[11] + 0x00000010u;
|
|
/* 02C4741C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[4]);
|
|
L_02C47420: ; // 0x2c47420
|
|
/* 02C47420 */ _t13 = cpu->r[10] + cpu->r[5];
|
|
/* 02C47420 */ cpu->r[6] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C47424 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02C47428 */ _t14 = cpu->r[9] + 0x00000001u;
|
|
/* 02C47428 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[6]);
|
|
/* 02C47428 */ cpu->r[9] = _t14;
|
|
/* 02C4742C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4742C */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4742C */ _t16 = _t15 >> (0x00000002u & 31u);
|
|
/* 02C4742C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C4742C */ if (_t17) goto L_02C47420; else goto L_02C47430;
|
|
L_02C47430: ; // 0x2c47430
|
|
/* 02C47430 */ _t18 = cpu->r[12] + 0x00000008u;
|
|
/* 02C47430 */ cpu->r[9] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C47434 */ _t19 = cpu->r[11] + 0x00000014u;
|
|
/* 02C47434 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[9]);
|
|
/* 02C47438 */ _t20 = cpu->r[12] + 0x00000009u;
|
|
/* 02C47438 */ cpu->r[10] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C4743C */ _t21 = cpu->r[11] + 0x00000015u;
|
|
/* 02C4743C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[10]);
|
|
/* 02C47440 */ _t22 = cpu->r[12] + 0x0000000Au;
|
|
/* 02C47440 */ cpu->r[9] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C47444 */ _t23 = cpu->r[11] + 0x00000016u;
|
|
/* 02C47444 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[9]);
|
|
/* 02C47448 */ _t24 = cpu->r[12] + 0x00000003u;
|
|
/* 02C47448 */ cpu->r[10] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C4744C */ _t25 = cpu->r[11] + 0x00000017u;
|
|
/* 02C4744C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[10]);
|
|
/* 02C47450 */ _t26 = cpu->r[12] + 0x0000000Bu;
|
|
/* 02C47450 */ cpu->r[9] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C47454 */ _t27 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C47454 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[9]);
|
|
/* 02C47458 */ _t28 = cpu->r[12] + 0x0000000Bu;
|
|
/* 02C47458 */ cpu->r[10] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02C4745C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C47460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[10]);
|
|
/* 02C47464 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47464 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C47464 */ if (_t30) goto L_02C47468; else goto L_02C47490;
|
|
L_02C47468: ; // 0x2c47468
|
|
/* 02C47468 */ cpu->r[9] = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C4746C */ cpu->r[10] = cpu->r[3] + 0x000004A4u;
|
|
L_02C47470: ; // 0x2c47470
|
|
/* 02C47470 */ _t31 = cpu->r[9] + cpu->r[4];
|
|
/* 02C47470 */ cpu->r[6] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02C47474 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x000004C8u);
|
|
/* 02C47478 */ cpu->r[6] = cpu->r[10] + cpu->r[5];
|
|
/* 02C4747C */ _t32 = cpu->r[11] + 0x00000004u;
|
|
/* 02C4747C */ rbrew_write32(cpu->mem, _t32, cpu->r[6]);
|
|
/* 02C4747C */ cpu->r[11] = _t32;
|
|
/* 02C47480 */ _t33 = cpu->r[12] + 0x0000000Bu;
|
|
/* 02C47480 */ cpu->r[6] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02C47484 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C47488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[6]);
|
|
/* 02C4748C */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4748C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C4748C */ if (_t35) goto L_02C47470; else goto L_02C47490;
|
|
L_02C47490: ; // 0x2c47490
|
|
/* 02C47490 */ _t36 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C47490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C47494 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C47498 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[11]);
|
|
/* 02C4749C */ cpu->r[7] = cpu->r[7] + 0x00000110u;
|
|
/* 02C474A0 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C474A0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C474A0 */ if (_t38) goto L_02C473E8; else goto L_02C474A4;
|
|
L_02C474A4: ; // 0x2c474a4
|
|
/* 02C474A4 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C474A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C474A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C474AC */ return;
|
|
}
|
|
|
|
// fn_02C474B0 @ 0x2c474b0
|
|
void Gambit_fn_02C474B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C474B0: ; // 0x2c474b0
|
|
/* 02C474B0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C474B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C474B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C474B4 */ cpu->r[1] = _t0;
|
|
/* 02C474B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C474B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C474BC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C474BC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C474C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C474C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C474C8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C474C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C474CC */ Gambit_fn_02C47360(cpu);
|
|
/* 02C474D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C474D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C474D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C474D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C474D8 */ if (_t5) goto L_02C474DC; else goto L_02C47510;
|
|
L_02C474DC: ; // 0x2c474dc
|
|
/* 02C474DC */ _t6 = cpu->r[30] + 0x00000174u;
|
|
/* 02C474DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C474E0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C474E4 */ _t7 = cpu->r[30] + 0x00000027u;
|
|
/* 02C474E4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 02C474E8 */ _t8 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C474E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C474EC */ cpu->ctr = cpu->r[0];
|
|
/* 02C474F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C474F4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C474F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C474F8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C474F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C474FC */ cpu->lr = cpu->r[0];
|
|
/* 02C47500 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47500 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C47504 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C47508 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4750C */ return;
|
|
L_02C47510: ; // 0x2c47510
|
|
/* 02C47510 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C47514 */ Gambit_fn_02C473C4(cpu);
|
|
/* 02C47518 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4751C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4751C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C47520 */ cpu->lr = cpu->r[0];
|
|
/* 02C47524 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47524 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C47528 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4752C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C47530 */ return;
|
|
}
|
|
|
|
// fn_02C474B4 @ 0x2c474b4
|
|
void Gambit_fn_02C474B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C474B4: ; // 0x2c474b4
|
|
/* 02C474B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C474B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C474B4 */ cpu->r[1] = _t0;
|
|
/* 02C474B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C474B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C474BC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C474BC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C474C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C474C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C474C8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C474C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C474CC */ Gambit_fn_02C47360(cpu);
|
|
/* 02C474D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C474D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C474D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C474D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C474D8 */ if (_t5) goto L_02C474DC; else goto L_02C47510;
|
|
L_02C474DC: ; // 0x2c474dc
|
|
/* 02C474DC */ _t6 = cpu->r[30] + 0x00000174u;
|
|
/* 02C474DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C474E0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C474E4 */ _t7 = cpu->r[30] + 0x00000027u;
|
|
/* 02C474E4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 02C474E8 */ _t8 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C474E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C474EC */ cpu->ctr = cpu->r[0];
|
|
/* 02C474F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C474F4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C474F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C474F8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C474F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C474FC */ cpu->lr = cpu->r[0];
|
|
/* 02C47500 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47500 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C47504 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C47508 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4750C */ return;
|
|
L_02C47510: ; // 0x2c47510
|
|
/* 02C47510 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C47514 */ Gambit_fn_02C473C4(cpu);
|
|
/* 02C47518 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4751C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4751C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C47520 */ cpu->lr = cpu->r[0];
|
|
/* 02C47524 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47524 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C47528 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4752C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C47530 */ return;
|
|
}
|
|
|
|
// fn_02C47534 @ 0x2c47534
|
|
void Gambit_fn_02C47534(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C47534: ; // 0x2c47534
|
|
/* 02C47534 */ _t0 = cpu->r[3] + 0x000001E8u;
|
|
/* 02C47534 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C47538 */ _t1 = cpu->r[3] + 0x000001A0u;
|
|
/* 02C47538 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C4753C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00002000u);
|
|
/* 02C47540 */ _t2 = cpu->r[10] + 0x00000008u;
|
|
/* 02C47540 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C47544 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C47544 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C47544 */ if (_t4) goto L_02C4755C; else goto L_02C47548;
|
|
L_02C47548: ; // 0x2c47548
|
|
/* 02C47548 */ cpu->r[0] = cpu->r[12] + 0x00000900u;
|
|
/* 02C4754C */ cpu->r[0] = cpu->r[11] / cpu->r[0];
|
|
/* 02C47550 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02C47554 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47554 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C47554 */ if (_t6) goto L_02C47558; else goto L_02C47564;
|
|
L_02C47558: ; // 0x2c47558
|
|
/* 02C47558 */ _t7 = cpu->r[3] + 0x000001A4u;
|
|
/* 02C47558 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_02C4755C: ; // 0x2c4755c
|
|
/* 02C4755C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C47560 */ return;
|
|
L_02C47564: ; // 0x2c47564
|
|
/* 02C47564 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000020u);
|
|
/* 02C47568 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C47568 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C47568 */ if (_t9) goto L_02C4756C; else goto L_02C47570;
|
|
L_02C4756C: ; // 0x2c4756c
|
|
/* 02C4756C */ cpu->r[0] = 0x00000020u;
|
|
L_02C47570: ; // 0x2c47570
|
|
/* 02C47570 */ _t10 = cpu->r[3] + 0x000001A4u;
|
|
/* 02C47570 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C47574 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C47578 */ _t11 = cpu->r[3] + 0x000001A8u;
|
|
/* 02C47578 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02C4757C */ _t12 = cpu->r[3] + 0x000001B0u;
|
|
/* 02C4757C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02C47580 */ _t13 = cpu->r[3] + 0x000001ACu;
|
|
/* 02C47580 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02C47584 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C47588 */ return;
|
|
}
|
|
|
|
// fn_02C47590 @ 0x2c47590
|
|
void Gambit_fn_02C47590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C47590: ; // 0x2c47590
|
|
/* 02C47590 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C47590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47590 */ cpu->r[1] = _t0;
|
|
/* 02C47594 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47594 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C47598 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C4759C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u);
|
|
/* 02C475A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C475A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C475A4 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C475A4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C475A4 */ if (_t4) goto L_02C475A8; else goto L_02C475C4;
|
|
L_02C475A8: ; // 0x2c475a8
|
|
/* 02C475A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000003u);
|
|
/* 02C475AC */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C475AC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C475AC */ if (_t6) goto L_02C475B0; else goto L_02C475C8;
|
|
L_02C475B0: ; // 0x2c475b0
|
|
/* 02C475B0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C475B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C475B4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C475B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C475B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C475BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C475C0 */ return;
|
|
L_02C475C4: ; // 0x2c475c4
|
|
/* 02C475C4 */ Gambit_fn_02C27EFC(cpu);
|
|
L_02C475C8: ; // 0x2c475c8
|
|
/* 02C475C8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C475CC */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02C475CC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C475D0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C475D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C475D4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C475D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C475D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C475DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C475E0 */ return;
|
|
}
|
|
|
|
// fn_02C475E4 @ 0x2c475e4
|
|
void Gambit_fn_02C475E4(CPUState* cpu) {
|
|
uint32_t _t0, _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_02C475E4: ; // 0x2c475e4
|
|
/* 02C475E4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C475E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C475E4 */ cpu->r[1] = _t0;
|
|
/* 02C475E8 */ /* nop */
|
|
/* 02C475EC */ cpu->r[0] = cpu->lr;
|
|
/* 02C475F0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C475F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C475F4 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C475F8 */ _t2 = cpu->r[27] + 0x0000049Cu;
|
|
/* 02C475F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C475FC */ cpu->r[30] = 0x00000000u;
|
|
/* 02C47600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 02C47604 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47604 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C47604 */ if (_t4) goto L_02C47608; else goto L_02C476BC;
|
|
L_02C47608: ; // 0x2c47608
|
|
/* 02C47608 */ cpu->r[31] = cpu->r[27] + 0x000004A4u;
|
|
/* 02C4760C */ cpu->r[28] = 0x02C40000u;
|
|
/* 02C47610 */ cpu->r[29] = cpu->r[31];
|
|
/* 02C47614 */ Gambit_fn_02C2784C(cpu);
|
|
/* 02C47618 */ cpu->r[6] = cpu->r[28] + 0x0000758Cu;
|
|
/* 02C4761C */ cpu->r[4] = 0x00000001u;
|
|
/* 02C47620 */ _t5 = cpu->r[27] + 0x0000004Cu;
|
|
/* 02C47620 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C47624 */ cpu->r[7] = cpu->r[29];
|
|
/* 02C47628 */ cpu->r[5] = 0x000000FFu;
|
|
/* 02C4762C */ Gambit_fn_02C36A14(cpu);
|
|
/* 02C47630 */ cpu->r[0] = cpu->r[3];
|
|
/* 02C47630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47634 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47634 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C47634 */ if (_t7) goto L_02C47660; else goto L_02C47638;
|
|
L_02C47638: ; // 0x2c47638
|
|
/* 02C47638 */ goto L_02C476A4;
|
|
L_02C4763C: ; // 0x2c4763c
|
|
/* 02C4763C */ Gambit_fn_02C2784C(cpu);
|
|
/* 02C47640 */ _t8 = cpu->r[27] + 0x0000004Cu;
|
|
/* 02C47640 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C47644 */ cpu->r[5] = 0x000000FFu;
|
|
/* 02C47648 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C4764C */ cpu->r[7] = cpu->r[29];
|
|
/* 02C47650 */ cpu->r[6] = cpu->r[28] + 0x0000758Cu;
|
|
/* 02C47654 */ Gambit_fn_02C36A14(cpu);
|
|
/* 02C47658 */ cpu->r[0] = cpu->r[3];
|
|
/* 02C47658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4765C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4765C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4765C */ if (_t10) goto L_02C47660; else goto L_02C476A4;
|
|
L_02C47660: ; // 0x2c47660
|
|
/* 02C47660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C47664 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47664 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C47664 */ if (_t12) goto L_02C4768C; else goto L_02C47668;
|
|
L_02C47668: ; // 0x2c47668
|
|
/* 02C47668 */ cpu->r[29] = 0x00000000u;
|
|
L_02C4766C: ; // 0x2c4766c
|
|
/* 02C4766C */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02C4766C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C47670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47674 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47674 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C47674 */ if (_t15) goto L_02C47680; else goto L_02C47678;
|
|
L_02C47678: ; // 0x2c47678
|
|
/* 02C47678 */ Gambit_fn_02C27EFC(cpu);
|
|
/* 02C4767C */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 02C4767C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_02C47680: ; // 0x2c47680
|
|
/* 02C47680 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C47680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C47684 */ cpu->r[31] = cpu->r[31] + 0x000004C8u;
|
|
/* 02C47688 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47688 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C47688 */ if (_t18) goto L_02C4768C; else goto L_02C4766C;
|
|
L_02C4768C: ; // 0x2c4768c
|
|
/* 02C4768C */ /* nop */
|
|
/* 02C47690 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C47690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C47694 */ cpu->lr = cpu->r[0];
|
|
/* 02C47698 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4769C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C476A0 */ return;
|
|
L_02C476A4: ; // 0x2c476a4
|
|
/* 02C476A4 */ _t20 = cpu->r[29] + 0x00000004u;
|
|
/* 02C476A4 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02C476A8 */ _t21 = cpu->r[27] + 0x0000049Cu;
|
|
/* 02C476A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C476AC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C476B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C476B4 */ cpu->r[29] = cpu->r[29] + 0x000004C8u;
|
|
/* 02C476B8 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C476B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C476B8 */ if (_t23) goto L_02C4763C; else goto L_02C476BC;
|
|
L_02C476BC: ; // 0x2c476bc
|
|
/* 02C476BC */ /* nop */
|
|
/* 02C476C0 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02C476C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C476C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C476C8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C476CC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C476D0 */ return;
|
|
}
|
|
|
|
// fn_02C476D4 @ 0x2c476d4
|
|
void Gambit_fn_02C476D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C476D4: ; // 0x2c476d4
|
|
/* 02C476D4 */ _t0 = cpu->r[4] + 0x00000010u;
|
|
/* 02C476D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C476D8 */ _t1 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C476D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C476DC */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C476E0 */ cpu->r[12] = cpu->r[0] / cpu->r[10];
|
|
/* 02C476E4 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C476E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02C476E8 */ _t3 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C476E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C476EC */ _t4 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C476EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C476F0 */ cpu->r[0] = cpu->r[11] / cpu->r[9];
|
|
/* 02C476F4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[9]);
|
|
/* 02C476F8 */ cpu->r[11] = cpu->r[11] - cpu->r[0];
|
|
/* 02C476FC */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02C476FC */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02C47700 */ _t6 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C47700 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C47704 */ cpu->r[11] = cpu->r[9] - cpu->r[11];
|
|
/* 02C47708 */ _t7 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C47708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4770C */ cpu->r[9] = cpu->r[11] / cpu->r[0];
|
|
/* 02C47710 */ cpu->r[11] = cpu->r[12] - cpu->r[9];
|
|
/* 02C47714 */ cpu->r[10] = cpu->r[11] + 0x00000001u;
|
|
/* 02C47718 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02C47718 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02C4771C */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4771C */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02C47720 */ return;
|
|
}
|
|
|
|
// fn_02C47724 @ 0x2c47724
|
|
void Gambit_fn_02C47724(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C47724: ; // 0x2c47724
|
|
/* 02C47724 */ _t0 = cpu->r[3] + 0x000001F0u;
|
|
/* 02C47724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C47728 */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 02C47728 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4772C */ _t2 = cpu->r[3] + 0x000001ECu;
|
|
/* 02C4772C */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C47730 */ _t3 = cpu->r[4] + 0x00000080u;
|
|
/* 02C47730 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02C47734 */ _t4 = cpu->r[5] + 0x00000000u;
|
|
/* 02C47734 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C47738 */ _t5 = cpu->r[4] + 0x0000007Cu;
|
|
/* 02C47738 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02C4773C */ _t6 = cpu->r[3] + 0x000001D0u;
|
|
/* 02C4773C */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C47740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47744 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47744 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C47744 */ if (_t8) goto L_02C47748; else goto L_02C4775C;
|
|
L_02C47748: ; // 0x2c47748
|
|
/* 02C47748 */ cpu->r[11] = 0x00000001u;
|
|
/* 02C4774C */ cpu->r[10] = 0x00000000u;
|
|
/* 02C47750 */ _t9 = cpu->r[4] + 0x00000078u;
|
|
/* 02C47750 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[11]);
|
|
/* 02C47754 */ _t10 = cpu->r[3] + 0x00000498u;
|
|
/* 02C47754 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02C47758 */ return;
|
|
L_02C4775C: ; // 0x2c4775c
|
|
/* 02C4775C */ _t11 = cpu->r[4] + 0x00000074u;
|
|
/* 02C4775C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C47760 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C47764 */ _t12 = cpu->r[4] + 0x00000074u;
|
|
/* 02C47764 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02C47768 */ _t13 = cpu->r[3] + 0x000001D4u;
|
|
/* 02C47768 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4776C */ _t14 = cpu->r[3] + 0x00000498u;
|
|
/* 02C4776C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02C47770 */ return;
|
|
}
|
|
|
|
// fn_02C47774 @ 0x2c47774
|
|
void Gambit_fn_02C47774(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C47774: ; // 0x2c47774
|
|
/* 02C47774 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02C47774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47774 */ cpu->r[1] = _t0;
|
|
/* 02C47778 */ /* nop */
|
|
/* 02C4777C */ cpu->r[0] = cpu->lr;
|
|
/* 02C47780 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C47780 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C47784 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C47788 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C4778C */ _t2 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C4778C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C47790 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C47794 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C47798 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[12]);
|
|
/* 02C4779C */ cpu->r[30] = cpu->r[6];
|
|
/* 02C477A0 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C477A0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C477A0 */ if (_t4) goto L_02C477A4; else goto L_02C4784C;
|
|
L_02C477A4: ; // 0x2c477a4
|
|
/* 02C477A4 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C477A8 */ cpu->r[31] = cpu->r[7];
|
|
L_02C477AC: ; // 0x2c477ac
|
|
/* 02C477AC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C477B0 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02C477B4 */ cpu->r[6] = cpu->r[25];
|
|
/* 02C477B8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C477BC */ Gambit_fn_02C426F4(cpu);
|
|
/* 02C477C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C477C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C477C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C477C4 */ if (_t6) goto L_02C477C8; else goto L_02C477E0;
|
|
L_02C477C8: ; // 0x2c477c8
|
|
/* 02C477C8 */ /* nop */
|
|
/* 02C477CC */ _t7 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C477CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C477D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C477D4 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C477D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C477DC */ return;
|
|
L_02C477E0: ; // 0x2c477e0
|
|
/* 02C477E0 */ cpu->r[9] = 0x00000008u;
|
|
/* 02C477E4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C477E8 */ cpu->ctr = cpu->r[9];
|
|
/* 02C477EC */ cpu->r[12] = cpu->r[30] + 0xFFFFFFFCu;
|
|
L_02C477F0: ; // 0x2c477f0
|
|
/* 02C477F0 */ _t8 = cpu->r[4] + 0x00000004u;
|
|
/* 02C477F0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C477F0 */ cpu->r[4] = _t8;
|
|
/* 02C477F4 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02C477F4 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[0]);
|
|
/* 02C477F4 */ cpu->r[12] = _t9;
|
|
/* 02C477F8 */ _t10 = cpu->r[4] + 0x00000002u;
|
|
/* 02C477F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C477FC */ _t11 = cpu->r[12] + 0x00000002u;
|
|
/* 02C477FC */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[0]);
|
|
/* 02C47800 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C47800 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C47800 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02C47800 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C47800 */ if (_t14) goto L_02C477F0; else goto L_02C47804;
|
|
L_02C47804: ; // 0x2c47804
|
|
/* 02C47804 */ cpu->r[10] = cpu->r[27] + cpu->r[26];
|
|
/* 02C47808 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4780C */ _t15 = cpu->r[10] + 0x000004A8u;
|
|
/* 02C4780C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C47810 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C47814 */ Gambit_fn_02C28040(cpu);
|
|
/* 02C47818 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C47818 */ cpu->r[8] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C4781C */ _t17 = cpu->r[1] + 0x0000000Au;
|
|
/* 02C4781C */ cpu->r[0] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C47820 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02C47820 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[8]);
|
|
/* 02C47824 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47824 */ cpu->r[10] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C47828 */ _t20 = cpu->r[31] + 0x00000002u;
|
|
/* 02C47828 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02C4782C */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 02C4782C */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[10]);
|
|
/* 02C47830 */ _t22 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C47830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C47834 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C47838 */ cpu->r[30] = cpu->r[30] + 0x00000020u;
|
|
/* 02C4783C */ cpu->r[31] = cpu->r[31] + 0x00000006u;
|
|
/* 02C47840 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 02C47844 */ cpu->r[26] = cpu->r[26] + 0x000004C8u;
|
|
/* 02C47848 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47848 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C47848 */ if (_t24) goto L_02C477AC; else goto L_02C4784C;
|
|
L_02C4784C: ; // 0x2c4784c
|
|
/* 02C4784C */ /* nop */
|
|
/* 02C47850 */ _t25 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C47850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C47854 */ cpu->lr = cpu->r[0];
|
|
/* 02C47858 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C4785C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C47860 */ return;
|
|
}
|
|
|
|
// fn_02C47864 @ 0x2c47864
|
|
void Gambit_fn_02C47864(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C47864: ; // 0x2c47864
|
|
/* 02C47864 */ cpu->r[0] = cpu->lr;
|
|
/* 02C47868 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C47868 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47868 */ cpu->r[1] = _t0;
|
|
/* 02C4786C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4786C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C47870 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47870 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C47874 */ _t3 = cpu->r[3] + 0x000001E4u;
|
|
/* 02C47874 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C47878 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4787C */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C4787C */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C47880 */ _t5 = cpu->r[3] + 0x000001E8u;
|
|
/* 02C47880 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C47884 */ _t6 = cpu->r[31] + 0x00000080u;
|
|
/* 02C47884 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C47888 */ _t7 = cpu->r[5] + 0x00000008u;
|
|
/* 02C47888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4788C */ _t8 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C4788C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C47890 */ _t9 = cpu->r[5] + 0x00000004u;
|
|
/* 02C47890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C47894 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02C47894 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C47898 */ _t11 = cpu->r[5] + 0x00000008u;
|
|
/* 02C47898 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4789C */ _t12 = cpu->r[3] + 0x000001E4u;
|
|
/* 02C4789C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C478A0 */ cpu->r[9] = cpu->r[10] + 0x00000001u;
|
|
/* 02C478A4 */ _t13 = cpu->r[3] + 0x000001C8u;
|
|
/* 02C478A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C478A8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[9]);
|
|
/* 02C478AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C478B0 */ _t14 = cpu->r[3] + 0x00000498u;
|
|
/* 02C478B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02C478B4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C478B4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C478B4 */ if (_t16) goto L_02C478B8; else goto L_02C478F4;
|
|
L_02C478B8: ; // 0x2c478b8
|
|
/* 02C478B8 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C478BC */ cpu->r[7] = cpu->r[31] + 0x00000012u;
|
|
/* 02C478C0 */ cpu->r[6] = cpu->r[3] + 0x0000028Cu;
|
|
/* 02C478C4 */ cpu->r[5] = cpu->r[3] + 0x000001C8u;
|
|
/* 02C478C8 */ Gambit_fn_02C47774(cpu);
|
|
/* 02C478CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C478D0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C478D0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C478D0 */ if (_t18) goto L_02C478D4; else goto L_02C478EC;
|
|
L_02C478D4: ; // 0x2c478d4
|
|
/* 02C478D4 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C478D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C478D8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C478D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C478DC */ cpu->lr = cpu->r[0];
|
|
/* 02C478E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C478E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C478E8 */ return;
|
|
L_02C478EC: ; // 0x2c478ec
|
|
/* 02C478EC */ cpu->r[8] = 0x00000001u;
|
|
/* 02C478F0 */ _t21 = cpu->r[31] + 0x00000010u;
|
|
/* 02C478F0 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[8]);
|
|
L_02C478F4: ; // 0x2c478f4
|
|
/* 02C478F4 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C478F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C478F8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C478F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C478FC */ cpu->lr = cpu->r[0];
|
|
/* 02C47900 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C47904 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C47908 */ return;
|
|
}
|
|
|
|
// fn_02C47868 @ 0x2c47868
|
|
void Gambit_fn_02C47868(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C47868: ; // 0x2c47868
|
|
/* 02C47868 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C47868 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47868 */ cpu->r[1] = _t0;
|
|
/* 02C4786C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4786C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C47870 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47870 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C47874 */ _t3 = cpu->r[3] + 0x000001E4u;
|
|
/* 02C47874 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C47878 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4787C */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C4787C */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C47880 */ _t5 = cpu->r[3] + 0x000001E8u;
|
|
/* 02C47880 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C47884 */ _t6 = cpu->r[31] + 0x00000080u;
|
|
/* 02C47884 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C47888 */ _t7 = cpu->r[5] + 0x00000008u;
|
|
/* 02C47888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4788C */ _t8 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C4788C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C47890 */ _t9 = cpu->r[5] + 0x00000004u;
|
|
/* 02C47890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C47894 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02C47894 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C47898 */ _t11 = cpu->r[5] + 0x00000008u;
|
|
/* 02C47898 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4789C */ _t12 = cpu->r[3] + 0x000001E4u;
|
|
/* 02C4789C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C478A0 */ cpu->r[9] = cpu->r[10] + 0x00000001u;
|
|
/* 02C478A4 */ _t13 = cpu->r[3] + 0x000001C8u;
|
|
/* 02C478A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C478A8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[9]);
|
|
/* 02C478AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C478B0 */ _t14 = cpu->r[3] + 0x00000498u;
|
|
/* 02C478B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02C478B4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C478B4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C478B4 */ if (_t16) goto L_02C478B8; else goto L_02C478F4;
|
|
L_02C478B8: ; // 0x2c478b8
|
|
/* 02C478B8 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C478BC */ cpu->r[7] = cpu->r[31] + 0x00000012u;
|
|
/* 02C478C0 */ cpu->r[6] = cpu->r[3] + 0x0000028Cu;
|
|
/* 02C478C4 */ cpu->r[5] = cpu->r[3] + 0x000001C8u;
|
|
/* 02C478C8 */ Gambit_fn_02C47774(cpu);
|
|
/* 02C478CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C478D0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C478D0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C478D0 */ if (_t18) goto L_02C478D4; else goto L_02C478EC;
|
|
L_02C478D4: ; // 0x2c478d4
|
|
/* 02C478D4 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C478D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C478D8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C478D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C478DC */ cpu->lr = cpu->r[0];
|
|
/* 02C478E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C478E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C478E8 */ return;
|
|
L_02C478EC: ; // 0x2c478ec
|
|
/* 02C478EC */ cpu->r[8] = 0x00000001u;
|
|
/* 02C478F0 */ _t21 = cpu->r[31] + 0x00000010u;
|
|
/* 02C478F0 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[8]);
|
|
L_02C478F4: ; // 0x2c478f4
|
|
/* 02C478F4 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C478F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C478F8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C478F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C478FC */ cpu->lr = cpu->r[0];
|
|
/* 02C47900 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C47904 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C47908 */ return;
|
|
}
|
|
|
|
// fn_02C4790C @ 0x2c4790c
|
|
void Gambit_fn_02C4790C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C4790C: ; // 0x2c4790c
|
|
/* 02C4790C */ _t0 = cpu->r[3] + 0x000001E4u;
|
|
/* 02C4790C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C47910 */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 02C47910 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C47914 */ _t2 = cpu->r[3] + 0x000001E8u;
|
|
/* 02C47914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C47918 */ _t3 = cpu->r[4] + 0x00000080u;
|
|
/* 02C47918 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4791C */ _t4 = cpu->r[5] + 0x00000008u;
|
|
/* 02C4791C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C47920 */ cpu->r[12] = cpu->r[9] + cpu->r[6];
|
|
/* 02C47924 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C47928 */ _t5 = cpu->r[4] + 0x0000007Cu;
|
|
/* 02C47928 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02C4792C */ _t6 = cpu->r[3] + 0x00000498u;
|
|
/* 02C4792C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C47930 */ _t7 = cpu->r[3] + 0x000001E4u;
|
|
/* 02C47930 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C47934 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
/* 02C47938 */ _t8 = cpu->r[3] + 0x00000498u;
|
|
/* 02C47938 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02C4793C */ return;
|
|
}
|
|
|
|
// fn_02C47940 @ 0x2c47940
|
|
void Gambit_fn_02C47940(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C47940: ; // 0x2c47940
|
|
/* 02C47940 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02C47940 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47940 */ cpu->r[1] = _t0;
|
|
/* 02C47944 */ /* nop */
|
|
/* 02C47948 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4794C */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C4794C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C47950 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C47954 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C47958 */ _t2 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C47958 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4795C */ cpu->r[27] = cpu->r[3];
|
|
/* 02C47960 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C47964 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[12]);
|
|
/* 02C47968 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C4796C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4796C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4796C */ if (_t4) goto L_02C47970; else goto L_02C47A18;
|
|
L_02C47970: ; // 0x2c47970
|
|
/* 02C47970 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C47974 */ cpu->r[31] = cpu->r[7];
|
|
L_02C47978: ; // 0x2c47978
|
|
/* 02C47978 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4797C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02C47980 */ cpu->r[6] = cpu->r[25];
|
|
/* 02C47984 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C47988 */ Gambit_fn_02C426F4(cpu);
|
|
/* 02C4798C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47990 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47990 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C47990 */ if (_t6) goto L_02C47994; else goto L_02C479AC;
|
|
L_02C47994: ; // 0x2c47994
|
|
/* 02C47994 */ /* nop */
|
|
/* 02C47998 */ _t7 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C47998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4799C */ cpu->lr = cpu->r[0];
|
|
/* 02C479A0 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C479A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C479A8 */ return;
|
|
L_02C479AC: ; // 0x2c479ac
|
|
/* 02C479AC */ cpu->r[9] = 0x00000008u;
|
|
/* 02C479B0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C479B4 */ cpu->ctr = cpu->r[9];
|
|
/* 02C479B8 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFFCu;
|
|
L_02C479BC: ; // 0x2c479bc
|
|
/* 02C479BC */ _t8 = cpu->r[4] + 0x00000004u;
|
|
/* 02C479BC */ cpu->r[0] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C479BC */ cpu->r[4] = _t8;
|
|
/* 02C479C0 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02C479C0 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[0]);
|
|
/* 02C479C0 */ cpu->r[12] = _t9;
|
|
/* 02C479C4 */ _t10 = cpu->r[4] + 0x00000002u;
|
|
/* 02C479C4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C479C8 */ _t11 = cpu->r[12] + 0x00000002u;
|
|
/* 02C479C8 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[0]);
|
|
/* 02C479CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C479CC */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C479CC */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02C479CC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C479CC */ if (_t14) goto L_02C479BC; else goto L_02C479D0;
|
|
L_02C479D0: ; // 0x2c479d0
|
|
/* 02C479D0 */ cpu->r[10] = cpu->r[27] + cpu->r[26];
|
|
/* 02C479D4 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C479D8 */ _t15 = cpu->r[10] + 0x000004A8u;
|
|
/* 02C479D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C479DC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C479E0 */ Gambit_fn_02C28040(cpu);
|
|
/* 02C479E4 */ _t16 = cpu->r[1] + 0x00000030u;
|
|
/* 02C479E4 */ cpu->r[8] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C479E8 */ _t17 = cpu->r[1] + 0x00000032u;
|
|
/* 02C479E8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C479EC */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02C479EC */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[8]);
|
|
/* 02C479F0 */ _t19 = cpu->r[1] + 0x00000034u;
|
|
/* 02C479F0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C479F4 */ _t20 = cpu->r[31] + 0x00000002u;
|
|
/* 02C479F4 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02C479F8 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 02C479F8 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[10]);
|
|
/* 02C479FC */ _t22 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C479FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C47A00 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C47A04 */ cpu->r[30] = cpu->r[30] + 0x00000020u;
|
|
/* 02C47A08 */ cpu->r[31] = cpu->r[31] + 0x00000006u;
|
|
/* 02C47A0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 02C47A10 */ cpu->r[26] = cpu->r[26] + 0x000004C8u;
|
|
/* 02C47A14 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47A14 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C47A14 */ if (_t24) goto L_02C47978; else goto L_02C47A18;
|
|
L_02C47A18: ; // 0x2c47a18
|
|
/* 02C47A18 */ /* nop */
|
|
/* 02C47A1C */ _t25 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C47A1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C47A20 */ cpu->lr = cpu->r[0];
|
|
/* 02C47A24 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C47A28 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C47A2C */ return;
|
|
}
|
|
|
|
// fn_02C47A30 @ 0x2c47a30
|
|
void Gambit_fn_02C47A30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C47A30: ; // 0x2c47a30
|
|
/* 02C47A30 */ cpu->r[0] = cpu->lr;
|
|
/* 02C47A34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C47A34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47A34 */ cpu->r[1] = _t0;
|
|
/* 02C47A38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47A38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C47A3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47A3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C47A40 */ _t3 = cpu->r[3] + 0x000001E4u;
|
|
/* 02C47A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C47A44 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C47A48 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C47A48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C47A4C */ _t5 = cpu->r[3] + 0x000001E8u;
|
|
/* 02C47A4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C47A50 */ _t6 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C47A50 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
|
|
/* 02C47A54 */ _t7 = cpu->r[31] + 0x00000080u;
|
|
/* 02C47A54 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02C47A58 */ _t8 = cpu->r[3] + 0x00000498u;
|
|
/* 02C47A58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C47A5C */ _t9 = cpu->r[3] + 0x000001E4u;
|
|
/* 02C47A5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C47A60 */ _t10 = cpu->r[3] + 0x000001C8u;
|
|
/* 02C47A60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C47A64 */ cpu->r[10] = cpu->r[10] + cpu->r[11];
|
|
/* 02C47A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C47A6C */ _t11 = cpu->r[3] + 0x00000498u;
|
|
/* 02C47A6C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02C47A70 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47A70 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C47A70 */ if (_t13) goto L_02C47A74; else goto L_02C47ABC;
|
|
L_02C47A74: ; // 0x2c47a74
|
|
/* 02C47A74 */ _t14 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C47A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C47A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47A7C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47A7C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C47A7C */ if (_t16) goto L_02C47A80; else goto L_02C47ABC;
|
|
L_02C47A80: ; // 0x2c47a80
|
|
/* 02C47A80 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C47A84 */ cpu->r[7] = cpu->r[31] + 0x00000012u;
|
|
/* 02C47A88 */ cpu->r[6] = cpu->r[3] + 0x0000028Cu;
|
|
/* 02C47A8C */ cpu->r[5] = cpu->r[3] + 0x000001C8u;
|
|
/* 02C47A90 */ Gambit_fn_02C47940(cpu);
|
|
/* 02C47A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47A98 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47A98 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C47A98 */ if (_t18) goto L_02C47A9C; else goto L_02C47AB4;
|
|
L_02C47A9C: ; // 0x2c47a9c
|
|
/* 02C47A9C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C47AA0 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47AA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C47AA4 */ cpu->lr = cpu->r[0];
|
|
/* 02C47AA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C47AAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C47AB0 */ return;
|
|
L_02C47AB4: ; // 0x2c47ab4
|
|
/* 02C47AB4 */ cpu->r[9] = 0x00000001u;
|
|
/* 02C47AB8 */ _t21 = cpu->r[31] + 0x00000010u;
|
|
/* 02C47AB8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[9]);
|
|
L_02C47ABC: ; // 0x2c47abc
|
|
/* 02C47ABC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C47AC0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47AC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C47AC4 */ cpu->lr = cpu->r[0];
|
|
/* 02C47AC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C47ACC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C47AD0 */ return;
|
|
}
|
|
|
|
// fn_02C47A34 @ 0x2c47a34
|
|
void Gambit_fn_02C47A34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C47A34: ; // 0x2c47a34
|
|
/* 02C47A34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C47A34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47A34 */ cpu->r[1] = _t0;
|
|
/* 02C47A38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47A38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C47A3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47A3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C47A40 */ _t3 = cpu->r[3] + 0x000001E4u;
|
|
/* 02C47A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C47A44 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C47A48 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C47A48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C47A4C */ _t5 = cpu->r[3] + 0x000001E8u;
|
|
/* 02C47A4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C47A50 */ _t6 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C47A50 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
|
|
/* 02C47A54 */ _t7 = cpu->r[31] + 0x00000080u;
|
|
/* 02C47A54 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02C47A58 */ _t8 = cpu->r[3] + 0x00000498u;
|
|
/* 02C47A58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C47A5C */ _t9 = cpu->r[3] + 0x000001E4u;
|
|
/* 02C47A5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C47A60 */ _t10 = cpu->r[3] + 0x000001C8u;
|
|
/* 02C47A60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C47A64 */ cpu->r[10] = cpu->r[10] + cpu->r[11];
|
|
/* 02C47A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C47A6C */ _t11 = cpu->r[3] + 0x00000498u;
|
|
/* 02C47A6C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02C47A70 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47A70 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C47A70 */ if (_t13) goto L_02C47A74; else goto L_02C47ABC;
|
|
L_02C47A74: ; // 0x2c47a74
|
|
/* 02C47A74 */ _t14 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C47A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C47A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47A7C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47A7C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C47A7C */ if (_t16) goto L_02C47A80; else goto L_02C47ABC;
|
|
L_02C47A80: ; // 0x2c47a80
|
|
/* 02C47A80 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C47A84 */ cpu->r[7] = cpu->r[31] + 0x00000012u;
|
|
/* 02C47A88 */ cpu->r[6] = cpu->r[3] + 0x0000028Cu;
|
|
/* 02C47A8C */ cpu->r[5] = cpu->r[3] + 0x000001C8u;
|
|
/* 02C47A90 */ Gambit_fn_02C47940(cpu);
|
|
/* 02C47A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47A98 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47A98 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C47A98 */ if (_t18) goto L_02C47A9C; else goto L_02C47AB4;
|
|
L_02C47A9C: ; // 0x2c47a9c
|
|
/* 02C47A9C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C47AA0 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47AA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C47AA4 */ cpu->lr = cpu->r[0];
|
|
/* 02C47AA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C47AAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C47AB0 */ return;
|
|
L_02C47AB4: ; // 0x2c47ab4
|
|
/* 02C47AB4 */ cpu->r[9] = 0x00000001u;
|
|
/* 02C47AB8 */ _t21 = cpu->r[31] + 0x00000010u;
|
|
/* 02C47AB8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[9]);
|
|
L_02C47ABC: ; // 0x2c47abc
|
|
/* 02C47ABC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C47AC0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C47AC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C47AC4 */ cpu->lr = cpu->r[0];
|
|
/* 02C47AC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C47ACC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C47AD0 */ return;
|
|
}
|
|
|
|
// fn_02C47AD4 @ 0x2c47ad4
|
|
void Gambit_fn_02C47AD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C47AD4: ; // 0x2c47ad4
|
|
/* 02C47AD4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C47AD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47AD4 */ cpu->r[1] = _t0;
|
|
/* 02C47AD8 */ /* nop */
|
|
/* 02C47ADC */ cpu->r[0] = cpu->lr;
|
|
/* 02C47AE0 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C47AE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C47AE4 */ cpu->r[29] = cpu->r[6];
|
|
/* 02C47AE8 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C47AEC */ _t2 = cpu->r[27] + 0x00000184u;
|
|
/* 02C47AEC */ cpu->r[9] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C47AF0 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C47AF4 */ cpu->r[30] = cpu->r[7];
|
|
/* 02C47AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C47AFC */ cpu->r[31] = cpu->r[8];
|
|
/* 02C47B00 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47B00 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C47B00 */ if (_t4) goto L_02C47B04; else goto L_02C47B1C;
|
|
L_02C47B04: ; // 0x2c47b04
|
|
/* 02C47B04 */ /* nop */
|
|
/* 02C47B08 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C47B08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C47B0C */ cpu->lr = cpu->r[0];
|
|
/* 02C47B10 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C47B14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C47B18 */ return;
|
|
L_02C47B1C: ; // 0x2c47b1c
|
|
/* 02C47B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C47B20 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47B20 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C47B20 */ if (_t7) goto L_02C47B24; else goto L_02C47B58;
|
|
L_02C47B24: ; // 0x2c47b24
|
|
/* 02C47B24 */ _t8 = cpu->r[27] + 0x00000174u;
|
|
/* 02C47B24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C47B28 */ cpu->r[9] = 0x00000001u;
|
|
/* 02C47B2C */ _t9 = cpu->r[27] + 0x00000027u;
|
|
/* 02C47B2C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[9]);
|
|
/* 02C47B30 */ _t10 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C47B30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C47B34 */ cpu->ctr = cpu->r[11];
|
|
/* 02C47B38 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C47B3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C47B40 */ /* nop */
|
|
/* 02C47B44 */ _t11 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C47B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C47B48 */ cpu->lr = cpu->r[0];
|
|
/* 02C47B4C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C47B50 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C47B54 */ return;
|
|
L_02C47B58: ; // 0x2c47b58
|
|
/* 02C47B58 */ _t12 = cpu->r[28] + 0x00000004u;
|
|
/* 02C47B58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C47B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C47B60 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47B60 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C47B60 */ if (_t14) goto L_02C47C9C; else goto L_02C47B64;
|
|
L_02C47B64: ; // 0x2c47b64
|
|
/* 02C47B64 */ _t15 = cpu->r[27] + 0x0000049Cu;
|
|
/* 02C47B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C47B68 */ cpu->r[22] = 0x00000000u;
|
|
/* 02C47B6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 02C47B70 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47B70 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C47B70 */ if (_t17) goto L_02C47B74; else goto L_02C47C78;
|
|
L_02C47B74: ; // 0x2c47b74
|
|
/* 02C47B74 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C47B78 */ cpu->r[26] = cpu->r[27] + 0x000004A4u;
|
|
/* 02C47B7C */ cpu->r[21] = cpu->r[23];
|
|
/* 02C47B80 */ cpu->r[24] = cpu->r[23];
|
|
/* 02C47B84 */ cpu->r[25] = cpu->r[21];
|
|
L_02C47B88: ; // 0x2c47b88
|
|
/* 02C47B88 */ _t18 = cpu->r[28] + 0x00000000u;
|
|
/* 02C47B88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C47B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C47B90 */ cpu->r[3] = cpu->r[26] + cpu->r[23];
|
|
/* 02C47B94 */ _t19 = cpu->r[27] + 0x000001E8u;
|
|
/* 02C47B94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C47B98 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47B98 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C47B98 */ if (_t21) goto L_02C47B9C; else goto L_02C47BCC;
|
|
L_02C47B9C: ; // 0x2c47b9c
|
|
/* 02C47B9C */ cpu->r[0] = cpu->r[7] + 0x00000900u;
|
|
/* 02C47BA0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C47BA4 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02C47BA8 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02C47BA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C47BAC */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[10]);
|
|
/* 02C47BB0 */ _t23 = cpu->r[28] + 0x00000010u;
|
|
/* 02C47BB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C47BB4 */ cpu->r[4] = cpu->r[12] + cpu->r[7];
|
|
/* 02C47BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47BBC */ cpu->r[8] = cpu->r[9] + cpu->r[8];
|
|
/* 02C47BC0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C47BC4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47BC4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C47BC4 */ if (_t25) goto L_02C47C20; else goto L_02C47BC8;
|
|
L_02C47BC8: ; // 0x2c47bc8
|
|
/* 02C47BC8 */ goto L_02C47BFC;
|
|
L_02C47BCC: ; // 0x2c47bcc
|
|
/* 02C47BCC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[0]);
|
|
/* 02C47BD0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C47BD4 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02C47BD8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[30]);
|
|
/* 02C47BDC */ _t26 = cpu->r[28] + 0x00000010u;
|
|
/* 02C47BDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C47BE0 */ cpu->r[4] = cpu->r[12] + cpu->r[7];
|
|
/* 02C47BE4 */ _t27 = cpu->r[27] + 0x00000494u;
|
|
/* 02C47BE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C47BE8 */ cpu->r[8] = cpu->r[11] + cpu->r[21];
|
|
/* 02C47BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47BF0 */ cpu->r[8] = cpu->r[9] + cpu->r[8];
|
|
/* 02C47BF4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C47BF8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47BF8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C47BF8 */ if (_t29) goto L_02C47C20; else goto L_02C47BFC;
|
|
L_02C47BFC: ; // 0x2c47bfc
|
|
/* 02C47BFC */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000006u);
|
|
/* 02C47C00 */ cpu->r[10] = cpu->r[28] + cpu->r[24];
|
|
/* 02C47C04 */ _t30 = cpu->r[10] + 0x00000012u;
|
|
/* 02C47C04 */ cpu->r[11] = rbrew_read16(cpu->mem, _t30);
|
|
/* 02C47C08 */ cpu->r[9] = cpu->r[3] + cpu->r[9];
|
|
/* 02C47C0C */ _t31 = cpu->r[9] + 0x00000408u;
|
|
/* 02C47C0C */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[11]);
|
|
/* 02C47C0C */ cpu->r[9] = _t31;
|
|
/* 02C47C10 */ _t32 = cpu->r[10] + 0x00000014u;
|
|
/* 02C47C10 */ cpu->r[12] = rbrew_read16(cpu->mem, _t32);
|
|
/* 02C47C14 */ _t33 = cpu->r[9] + 0x00000002u;
|
|
/* 02C47C14 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[12]);
|
|
/* 02C47C18 */ _t34 = cpu->r[10] + 0x00000016u;
|
|
/* 02C47C18 */ cpu->r[0] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02C47C1C */ _t35 = cpu->r[9] + 0x00000004u;
|
|
/* 02C47C1C */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[0]);
|
|
L_02C47C20: ; // 0x2c47c20
|
|
/* 02C47C20 */ _t36 = cpu->r[4] + 0x00000008u;
|
|
/* 02C47C20 */ rbrew_write32(cpu->mem, _t36, cpu->r[25]);
|
|
/* 02C47C24 */ _t37 = cpu->r[4] + 0x00000000u;
|
|
/* 02C47C24 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 02C47C28 */ _t38 = cpu->r[4] + 0x00000004u;
|
|
/* 02C47C28 */ rbrew_write32(cpu->mem, _t38, cpu->r[25]);
|
|
/* 02C47C2C */ _t39 = cpu->r[4] + 0x00000010u;
|
|
/* 02C47C2C */ rbrew_write32(cpu->mem, _t39, cpu->r[25]);
|
|
/* 02C47C30 */ _t40 = cpu->r[4] + 0x00000018u;
|
|
/* 02C47C30 */ rbrew_write32(cpu->mem, _t40, cpu->r[25]);
|
|
/* 02C47C34 */ _t41 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C47C34 */ rbrew_write32(cpu->mem, _t41, cpu->r[25]);
|
|
/* 02C47C38 */ _t42 = cpu->r[4] + 0x00000014u;
|
|
/* 02C47C38 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[25]);
|
|
/* 02C47C3C */ _t43 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C47C3C */ rbrew_write32(cpu->mem, _t43, cpu->r[25]);
|
|
/* 02C47C40 */ _t44 = cpu->r[28] + 0x00000004u;
|
|
/* 02C47C40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C47C44 */ _t45 = cpu->r[4] + 0x00000004u;
|
|
/* 02C47C44 */ rbrew_write32(cpu->mem, _t45, cpu->r[12]);
|
|
/* 02C47C48 */ _t46 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C47C48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C47C4C */ _t47 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C47C4C */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
|
|
/* 02C47C50 */ _t48 = cpu->r[4] + 0x00000008u;
|
|
/* 02C47C50 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02C47C54 */ _t49 = cpu->r[28] + 0x00000078u;
|
|
/* 02C47C54 */ cpu->r[5] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02C47C58 */ Gambit_fn_02C4538C(cpu);
|
|
/* 02C47C5C */ _t50 = cpu->r[27] + 0x0000049Cu;
|
|
/* 02C47C5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C47C60 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 02C47C64 */ cpu->r[21] = cpu->r[21] + cpu->r[31];
|
|
/* 02C47C68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 02C47C6C */ cpu->r[23] = cpu->r[23] + 0x000004C8u;
|
|
/* 02C47C70 */ cpu->r[24] = cpu->r[24] + 0x00000006u;
|
|
/* 02C47C74 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47C74 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C47C74 */ if (_t52) goto L_02C47B88; else goto L_02C47C78;
|
|
L_02C47C78: ; // 0x2c47c78
|
|
/* 02C47C78 */ _t53 = cpu->r[28] + 0x00000000u;
|
|
/* 02C47C78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C47C7C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000000Cu);
|
|
/* 02C47C80 */ _t54 = cpu->r[28] + 0x00000008u;
|
|
/* 02C47C80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C47C84 */ cpu->r[7] = cpu->r[27] + cpu->r[0];
|
|
/* 02C47C88 */ _t55 = cpu->r[7] + 0x000059A4u;
|
|
/* 02C47C88 */ rbrew_write32(cpu->mem, _t55, cpu->r[8]);
|
|
/* 02C47C88 */ cpu->r[7] = _t55;
|
|
/* 02C47C8C */ _t56 = cpu->r[28] + 0x00000004u;
|
|
/* 02C47C8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C47C90 */ _t57 = cpu->r[7] + 0x00000004u;
|
|
/* 02C47C90 */ rbrew_write32(cpu->mem, _t57, cpu->r[9]);
|
|
/* 02C47C94 */ _t58 = cpu->r[28] + 0x00000074u;
|
|
/* 02C47C94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C47C98 */ _t59 = cpu->r[7] + 0x00000008u;
|
|
/* 02C47C98 */ rbrew_write32(cpu->mem, _t59, cpu->r[10]);
|
|
L_02C47C9C: ; // 0x2c47c9c
|
|
/* 02C47C9C */ _t60 = cpu->r[28] + 0x00000078u;
|
|
/* 02C47C9C */ cpu->r[11] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02C47CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C47CA4 */ _t61 = cpu->r[27] + 0x00000185u;
|
|
/* 02C47CA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t61);
|
|
/* 02C47CA8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47CA8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C47CA8 */ if (_t63) goto L_02C47CB4; else goto L_02C47CAC;
|
|
L_02C47CAC: ; // 0x2c47cac
|
|
/* 02C47CAC */ cpu->r[12] = 0x00000001u;
|
|
/* 02C47CB0 */ _t64 = cpu->r[27] + 0x0000018Au;
|
|
/* 02C47CB0 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[12]);
|
|
L_02C47CB4: ; // 0x2c47cb4
|
|
/* 02C47CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47CB8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47CB8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C47CB8 */ if (_t66) goto L_02C47CBC; else goto L_02C47CE8;
|
|
L_02C47CBC: ; // 0x2c47cbc
|
|
/* 02C47CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C47CC0 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47CC0 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C47CC0 */ if (_t68) goto L_02C47CC4; else goto L_02C47CE8;
|
|
L_02C47CC4: ; // 0x2c47cc4
|
|
/* 02C47CC4 */ _t69 = cpu->r[27] + 0x00000194u;
|
|
/* 02C47CC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C47CC8 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C47CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C47CCC */ _t70 = cpu->r[27] + 0x00000194u;
|
|
/* 02C47CCC */ rbrew_write32(cpu->mem, _t70, cpu->r[8]);
|
|
/* 02C47CD0 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47CD0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C47CD0 */ if (_t72) goto L_02C47CE0; else goto L_02C47CD4;
|
|
L_02C47CD4: ; // 0x2c47cd4
|
|
/* 02C47CD4 */ _t73 = cpu->r[27] + 0x0000018Au;
|
|
/* 02C47CD4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t73);
|
|
/* 02C47CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C47CDC */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47CDC */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C47CDC */ if (_t75) goto L_02C47CE8; else goto L_02C47CE0;
|
|
L_02C47CE0: ; // 0x2c47ce0
|
|
/* 02C47CE0 */ cpu->r[8] = 0x00000001u;
|
|
/* 02C47CE4 */ _t76 = cpu->r[27] + 0x00000185u;
|
|
/* 02C47CE4 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[8]);
|
|
L_02C47CE8: ; // 0x2c47ce8
|
|
/* 02C47CE8 */ /* nop */
|
|
/* 02C47CEC */ _t77 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C47CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C47CF0 */ cpu->lr = cpu->r[0];
|
|
/* 02C47CF4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C47CF8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C47CFC */ return;
|
|
}
|
|
|
|
// fn_02C47D00 @ 0x2c47d00
|
|
void Gambit_fn_02C47D00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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;
|
|
|
|
L_02C47D00: ; // 0x2c47d00
|
|
/* 02C47D00 */ cpu->r[0] = cpu->lr;
|
|
/* 02C47D04 */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02C47D04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47D04 */ cpu->r[1] = _t0;
|
|
/* 02C47D08 */ _t1 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C47D08 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C47D0C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C47D10 */ _t2 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C47D10 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C47D14 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C47D18 */ cpu->r[4] = cpu->r[30] + 0x000001C8u;
|
|
/* 02C47D1C */ _t3 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C47D1C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C47D20 */ _t4 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C47D20 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C47D24 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47D28 */ _t5 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C47D28 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C47D2C */ Gambit_fn_02C476D4(cpu);
|
|
/* 02C47D30 */ _t6 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C47D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C47D34 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C47D38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02C47D3C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47D3C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C47D3C */ if (_t8) goto L_02C47D40; else goto L_02C47F24;
|
|
L_02C47D40: ; // 0x2c47d40
|
|
/* 02C47D40 */ cpu->r[29] = 0x00000000u;
|
|
L_02C47D44: ; // 0x2c47d44
|
|
/* 02C47D44 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C47D44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C47D48 */ _t10 = cpu->r[1] + 0x00000094u;
|
|
/* 02C47D48 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 02C47D4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]);
|
|
/* 02C47D50 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02C47D50 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02C47D54 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C47D58 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02C47D58 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02C47D5C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C47D5C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02C47D60 */ _t14 = cpu->r[1] + 0x00000090u;
|
|
/* 02C47D60 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[6]);
|
|
/* 02C47D64 */ _t15 = cpu->r[1] + 0x00000020u;
|
|
/* 02C47D64 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02C47D68 */ _t16 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02C47D68 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02C47D6C */ _t17 = cpu->r[1] + 0x00000098u;
|
|
/* 02C47D6C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02C47D70 */ _t18 = cpu->r[1] + 0x00000028u;
|
|
/* 02C47D70 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[6]);
|
|
/* 02C47D74 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C47D74 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C47D74 */ if (_t20) goto L_02C47D78; else goto L_02C47D8C;
|
|
L_02C47D78: ; // 0x2c47d78
|
|
/* 02C47D78 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47D78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C47D7C */ cpu->r[9] = cpu->r[28] - cpu->r[7];
|
|
/* 02C47D80 */ cpu->r[11] = cpu->r[9] / cpu->r[10];
|
|
/* 02C47D84 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[10]);
|
|
/* 02C47D88 */ cpu->r[6] = cpu->r[9] - cpu->r[11];
|
|
L_02C47D8C: ; // 0x2c47d8c
|
|
/* 02C47D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C47D90 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47D90 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C47D90 */ if (_t23) goto L_02C47DA8; else goto L_02C47D94;
|
|
L_02C47D94: ; // 0x2c47d94
|
|
/* 02C47D94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]);
|
|
/* 02C47D98 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47D98 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C47D98 */ if (_t25) goto L_02C47DF8; else goto L_02C47D9C;
|
|
L_02C47D9C: ; // 0x2c47d9c
|
|
/* 02C47D9C */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C47D9C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C47D9C */ if (_t27) goto L_02C47DA0; else goto L_02C47DA8;
|
|
L_02C47DA0: ; // 0x2c47da0
|
|
/* 02C47DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C47DA4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47DA4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C47DA4 */ if (_t29) goto L_02C47DA8; else goto L_02C47DF8;
|
|
L_02C47DA8: ; // 0x2c47da8
|
|
/* 02C47DA8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47DAC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47DB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47DB4 */ Gambit_fn_02C47724(cpu);
|
|
/* 02C47DB8 */ _t30 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47DB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C47DBC */ cpu->r[4] = 0x00000001u;
|
|
/* 02C47DC0 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02C47DC0 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 02C47DC4 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47DC8 */ _t32 = cpu->r[1] + 0x00000098u;
|
|
/* 02C47DC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C47DCC */ cpu->r[6] = cpu->r[4];
|
|
/* 02C47DD0 */ _t33 = cpu->r[1] + 0x00000094u;
|
|
/* 02C47DD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C47DD4 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02C47DD4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02C47DD8 */ Gambit_fn_02C47AD4(cpu);
|
|
/* 02C47DDC */ _t35 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47DDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C47DE0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C47DE4 */ _t36 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C47DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C47DE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C47DEC */ _t37 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47DEC */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 02C47DF0 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47DF0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C47DF0 */ if (_t39) goto L_02C47F08; else goto L_02C47DF4;
|
|
L_02C47DF4: ; // 0x2c47df4
|
|
/* 02C47DF4 */ goto L_02C47F04;
|
|
L_02C47DF8: ; // 0x2c47df8
|
|
/* 02C47DF8 */ _t40 = cpu->r[30] + 0x000001D0u;
|
|
/* 02C47DF8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C47DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C47E00 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47E00 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C47E00 */ if (_t42) goto L_02C47E84; else goto L_02C47E04;
|
|
L_02C47E04: ; // 0x2c47e04
|
|
/* 02C47E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]);
|
|
/* 02C47E08 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C47E08 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C47E08 */ if (_t44) goto L_02C47E0C; else goto L_02C47E84;
|
|
L_02C47E0C: ; // 0x2c47e0c
|
|
/* 02C47E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 02C47E10 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47E14 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47E14 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C47E14 */ if (_t46) goto L_02C47E18; else goto L_02C47E34;
|
|
L_02C47E18: ; // 0x2c47e18
|
|
/* 02C47E18 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47E1C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47E20 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C47E24 */ Gambit_fn_02C47864(cpu);
|
|
/* 02C47E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47E2C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47E2C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C47E2C */ if (_t48) goto L_02C47EA0; else goto L_02C47E30;
|
|
L_02C47E30: ; // 0x2c47e30
|
|
/* 02C47E30 */ goto L_02C47EC4;
|
|
L_02C47E34: ; // 0x2c47e34
|
|
/* 02C47E34 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47E38 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47E3C */ Gambit_fn_02C4790C(cpu);
|
|
/* 02C47E40 */ _t49 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C47E44 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C47E48 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02C47E48 */ rbrew_write32(cpu->mem, _t50, cpu->r[29]);
|
|
/* 02C47E4C */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47E50 */ _t51 = cpu->r[1] + 0x00000098u;
|
|
/* 02C47E50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C47E54 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C47E58 */ _t52 = cpu->r[1] + 0x00000094u;
|
|
/* 02C47E58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C47E5C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47E60 */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 02C47E60 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02C47E64 */ Gambit_fn_02C47AD4(cpu);
|
|
/* 02C47E68 */ _t54 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47E68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C47E6C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C47E70 */ _t55 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C47E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C47E74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C47E78 */ _t56 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47E78 */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
|
|
/* 02C47E7C */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47E7C */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C47E7C */ if (_t58) goto L_02C47F08; else goto L_02C47E80;
|
|
L_02C47E80: ; // 0x2c47e80
|
|
/* 02C47E80 */ goto L_02C47F04;
|
|
L_02C47E84: ; // 0x2c47e84
|
|
/* 02C47E84 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47E88 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C47E8C */ cpu->r[5] = cpu->r[28];
|
|
/* 02C47E90 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47E94 */ Gambit_fn_02C47A30(cpu);
|
|
/* 02C47E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47E9C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47E9C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C47E9C */ if (_t60) goto L_02C47EA0; else goto L_02C47EC4;
|
|
L_02C47EA0: ; // 0x2c47ea0
|
|
/* 02C47EA0 */ _t61 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C47EA0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C47EA4 */ _t62 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C47EA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C47EA8 */ _t63 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C47EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C47EAC */ _t64 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C47EAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C47EB0 */ cpu->lr = cpu->r[0];
|
|
/* 02C47EB4 */ _t65 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C47EB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C47EB8 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02C47EBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C47EC0 */ return;
|
|
L_02C47EC4: ; // 0x2c47ec4
|
|
/* 02C47EC4 */ _t66 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C47EC8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C47ECC */ _t67 = cpu->r[1] + 0x00000024u;
|
|
/* 02C47ECC */ rbrew_write32(cpu->mem, _t67, cpu->r[29]);
|
|
/* 02C47ED0 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47ED4 */ _t68 = cpu->r[1] + 0x00000098u;
|
|
/* 02C47ED4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C47ED8 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C47EDC */ _t69 = cpu->r[1] + 0x00000094u;
|
|
/* 02C47EDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C47EE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47EE4 */ _t70 = cpu->r[1] + 0x00000018u;
|
|
/* 02C47EE4 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 02C47EE8 */ Gambit_fn_02C47AD4(cpu);
|
|
/* 02C47EEC */ _t71 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47EEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C47EF0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C47EF4 */ _t72 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C47EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C47EF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C47EFC */ _t73 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47EFC */ rbrew_write32(cpu->mem, _t73, cpu->r[12]);
|
|
/* 02C47F00 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47F00 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C47F00 */ if (_t75) goto L_02C47F08; else goto L_02C47F04;
|
|
L_02C47F04: ; // 0x2c47f04
|
|
/* 02C47F04 */ _t76 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47F04 */ rbrew_write32(cpu->mem, _t76, cpu->r[29]);
|
|
L_02C47F08: ; // 0x2c47f08
|
|
/* 02C47F08 */ _t77 = cpu->r[1] + 0x00000090u;
|
|
/* 02C47F08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t77);
|
|
/* 02C47F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47F10 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47F10 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C47F10 */ if (_t79) goto L_02C47F14; else goto L_02C47F24;
|
|
L_02C47F14: ; // 0x2c47f14
|
|
/* 02C47F14 */ _t80 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C47F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C47F18 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C47F1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02C47F20 */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47F20 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C47F20 */ if (_t82) goto L_02C47D44; else goto L_02C47F24;
|
|
L_02C47F24: ; // 0x2c47f24
|
|
/* 02C47F24 */ _t83 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C47F24 */ cpu->r[28] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C47F28 */ _t84 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C47F28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C47F2C */ _t85 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C47F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C47F30 */ _t86 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C47F30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C47F34 */ cpu->lr = cpu->r[0];
|
|
/* 02C47F38 */ _t87 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C47F38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C47F3C */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02C47F40 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C47F44 */ return;
|
|
}
|
|
|
|
// fn_02C47D04 @ 0x2c47d04
|
|
void Gambit_fn_02C47D04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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;
|
|
|
|
L_02C47D04: ; // 0x2c47d04
|
|
/* 02C47D04 */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02C47D04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47D04 */ cpu->r[1] = _t0;
|
|
/* 02C47D08 */ _t1 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C47D08 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C47D0C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C47D10 */ _t2 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C47D10 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C47D14 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C47D18 */ cpu->r[4] = cpu->r[30] + 0x000001C8u;
|
|
/* 02C47D1C */ _t3 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C47D1C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C47D20 */ _t4 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C47D20 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C47D24 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47D28 */ _t5 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C47D28 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C47D2C */ Gambit_fn_02C476D4(cpu);
|
|
/* 02C47D30 */ _t6 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C47D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C47D34 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C47D38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02C47D3C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47D3C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C47D3C */ if (_t8) goto L_02C47D40; else goto L_02C47F24;
|
|
L_02C47D40: ; // 0x2c47d40
|
|
/* 02C47D40 */ cpu->r[29] = 0x00000000u;
|
|
L_02C47D44: ; // 0x2c47d44
|
|
/* 02C47D44 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C47D44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C47D48 */ _t10 = cpu->r[1] + 0x00000094u;
|
|
/* 02C47D48 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 02C47D4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]);
|
|
/* 02C47D50 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02C47D50 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02C47D54 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C47D58 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02C47D58 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02C47D5C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C47D5C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02C47D60 */ _t14 = cpu->r[1] + 0x00000090u;
|
|
/* 02C47D60 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[6]);
|
|
/* 02C47D64 */ _t15 = cpu->r[1] + 0x00000020u;
|
|
/* 02C47D64 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02C47D68 */ _t16 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02C47D68 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02C47D6C */ _t17 = cpu->r[1] + 0x00000098u;
|
|
/* 02C47D6C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02C47D70 */ _t18 = cpu->r[1] + 0x00000028u;
|
|
/* 02C47D70 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[6]);
|
|
/* 02C47D74 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C47D74 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C47D74 */ if (_t20) goto L_02C47D78; else goto L_02C47D8C;
|
|
L_02C47D78: ; // 0x2c47d78
|
|
/* 02C47D78 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02C47D78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C47D7C */ cpu->r[9] = cpu->r[28] - cpu->r[7];
|
|
/* 02C47D80 */ cpu->r[11] = cpu->r[9] / cpu->r[10];
|
|
/* 02C47D84 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[10]);
|
|
/* 02C47D88 */ cpu->r[6] = cpu->r[9] - cpu->r[11];
|
|
L_02C47D8C: ; // 0x2c47d8c
|
|
/* 02C47D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C47D90 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47D90 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C47D90 */ if (_t23) goto L_02C47DA8; else goto L_02C47D94;
|
|
L_02C47D94: ; // 0x2c47d94
|
|
/* 02C47D94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]);
|
|
/* 02C47D98 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47D98 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C47D98 */ if (_t25) goto L_02C47DF8; else goto L_02C47D9C;
|
|
L_02C47D9C: ; // 0x2c47d9c
|
|
/* 02C47D9C */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C47D9C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C47D9C */ if (_t27) goto L_02C47DA0; else goto L_02C47DA8;
|
|
L_02C47DA0: ; // 0x2c47da0
|
|
/* 02C47DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C47DA4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47DA4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C47DA4 */ if (_t29) goto L_02C47DA8; else goto L_02C47DF8;
|
|
L_02C47DA8: ; // 0x2c47da8
|
|
/* 02C47DA8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47DAC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47DB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47DB4 */ Gambit_fn_02C47724(cpu);
|
|
/* 02C47DB8 */ _t30 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47DB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C47DBC */ cpu->r[4] = 0x00000001u;
|
|
/* 02C47DC0 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02C47DC0 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 02C47DC4 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47DC8 */ _t32 = cpu->r[1] + 0x00000098u;
|
|
/* 02C47DC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C47DCC */ cpu->r[6] = cpu->r[4];
|
|
/* 02C47DD0 */ _t33 = cpu->r[1] + 0x00000094u;
|
|
/* 02C47DD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C47DD4 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02C47DD4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02C47DD8 */ Gambit_fn_02C47AD4(cpu);
|
|
/* 02C47DDC */ _t35 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47DDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C47DE0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C47DE4 */ _t36 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C47DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C47DE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C47DEC */ _t37 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47DEC */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 02C47DF0 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47DF0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C47DF0 */ if (_t39) goto L_02C47F08; else goto L_02C47DF4;
|
|
L_02C47DF4: ; // 0x2c47df4
|
|
/* 02C47DF4 */ goto L_02C47F04;
|
|
L_02C47DF8: ; // 0x2c47df8
|
|
/* 02C47DF8 */ _t40 = cpu->r[30] + 0x000001D0u;
|
|
/* 02C47DF8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C47DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C47E00 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47E00 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C47E00 */ if (_t42) goto L_02C47E84; else goto L_02C47E04;
|
|
L_02C47E04: ; // 0x2c47e04
|
|
/* 02C47E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]);
|
|
/* 02C47E08 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C47E08 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C47E08 */ if (_t44) goto L_02C47E0C; else goto L_02C47E84;
|
|
L_02C47E0C: ; // 0x2c47e0c
|
|
/* 02C47E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 02C47E10 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47E14 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47E14 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C47E14 */ if (_t46) goto L_02C47E18; else goto L_02C47E34;
|
|
L_02C47E18: ; // 0x2c47e18
|
|
/* 02C47E18 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47E1C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47E20 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C47E24 */ Gambit_fn_02C47864(cpu);
|
|
/* 02C47E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47E2C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47E2C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C47E2C */ if (_t48) goto L_02C47EA0; else goto L_02C47E30;
|
|
L_02C47E30: ; // 0x2c47e30
|
|
/* 02C47E30 */ goto L_02C47EC4;
|
|
L_02C47E34: ; // 0x2c47e34
|
|
/* 02C47E34 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47E38 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47E3C */ Gambit_fn_02C4790C(cpu);
|
|
/* 02C47E40 */ _t49 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C47E44 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C47E48 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02C47E48 */ rbrew_write32(cpu->mem, _t50, cpu->r[29]);
|
|
/* 02C47E4C */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47E50 */ _t51 = cpu->r[1] + 0x00000098u;
|
|
/* 02C47E50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C47E54 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C47E58 */ _t52 = cpu->r[1] + 0x00000094u;
|
|
/* 02C47E58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C47E5C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47E60 */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 02C47E60 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02C47E64 */ Gambit_fn_02C47AD4(cpu);
|
|
/* 02C47E68 */ _t54 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47E68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C47E6C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C47E70 */ _t55 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C47E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C47E74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C47E78 */ _t56 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47E78 */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
|
|
/* 02C47E7C */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47E7C */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C47E7C */ if (_t58) goto L_02C47F08; else goto L_02C47E80;
|
|
L_02C47E80: ; // 0x2c47e80
|
|
/* 02C47E80 */ goto L_02C47F04;
|
|
L_02C47E84: ; // 0x2c47e84
|
|
/* 02C47E84 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47E88 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C47E8C */ cpu->r[5] = cpu->r[28];
|
|
/* 02C47E90 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47E94 */ Gambit_fn_02C47A30(cpu);
|
|
/* 02C47E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47E9C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47E9C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C47E9C */ if (_t60) goto L_02C47EA0; else goto L_02C47EC4;
|
|
L_02C47EA0: ; // 0x2c47ea0
|
|
/* 02C47EA0 */ _t61 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C47EA0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C47EA4 */ _t62 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C47EA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C47EA8 */ _t63 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C47EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C47EAC */ _t64 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C47EAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C47EB0 */ cpu->lr = cpu->r[0];
|
|
/* 02C47EB4 */ _t65 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C47EB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C47EB8 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02C47EBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C47EC0 */ return;
|
|
L_02C47EC4: ; // 0x2c47ec4
|
|
/* 02C47EC4 */ _t66 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C47EC8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C47ECC */ _t67 = cpu->r[1] + 0x00000024u;
|
|
/* 02C47ECC */ rbrew_write32(cpu->mem, _t67, cpu->r[29]);
|
|
/* 02C47ED0 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02C47ED4 */ _t68 = cpu->r[1] + 0x00000098u;
|
|
/* 02C47ED4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C47ED8 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C47EDC */ _t69 = cpu->r[1] + 0x00000094u;
|
|
/* 02C47EDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C47EE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47EE4 */ _t70 = cpu->r[1] + 0x00000018u;
|
|
/* 02C47EE4 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 02C47EE8 */ Gambit_fn_02C47AD4(cpu);
|
|
/* 02C47EEC */ _t71 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47EEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C47EF0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C47EF4 */ _t72 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C47EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C47EF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C47EFC */ _t73 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47EFC */ rbrew_write32(cpu->mem, _t73, cpu->r[12]);
|
|
/* 02C47F00 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47F00 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C47F00 */ if (_t75) goto L_02C47F08; else goto L_02C47F04;
|
|
L_02C47F04: ; // 0x2c47f04
|
|
/* 02C47F04 */ _t76 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C47F04 */ rbrew_write32(cpu->mem, _t76, cpu->r[29]);
|
|
L_02C47F08: ; // 0x2c47f08
|
|
/* 02C47F08 */ _t77 = cpu->r[1] + 0x00000090u;
|
|
/* 02C47F08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t77);
|
|
/* 02C47F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47F10 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47F10 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C47F10 */ if (_t79) goto L_02C47F14; else goto L_02C47F24;
|
|
L_02C47F14: ; // 0x2c47f14
|
|
/* 02C47F14 */ _t80 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C47F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C47F18 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C47F1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02C47F20 */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47F20 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C47F20 */ if (_t82) goto L_02C47D44; else goto L_02C47F24;
|
|
L_02C47F24: ; // 0x2c47f24
|
|
/* 02C47F24 */ _t83 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C47F24 */ cpu->r[28] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C47F28 */ _t84 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C47F28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C47F2C */ _t85 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C47F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C47F30 */ _t86 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C47F30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C47F34 */ cpu->lr = cpu->r[0];
|
|
/* 02C47F38 */ _t87 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C47F38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C47F3C */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02C47F40 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C47F44 */ return;
|
|
}
|
|
|
|
// fn_02C47F48 @ 0x2c47f48
|
|
void Gambit_fn_02C47F48(CPUState* cpu) {
|
|
uint32_t _t0, _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_02C47F48: ; // 0x2c47f48
|
|
/* 02C47F48 */ cpu->r[0] = cpu->lr;
|
|
/* 02C47F4C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C47F4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47F4C */ cpu->r[1] = _t0;
|
|
/* 02C47F50 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C47F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C47F54 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C47F54 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C47F58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C47F5C */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02C47F5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C47F60 */ _t4 = cpu->r[30] + 0x00000184u;
|
|
/* 02C47F60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C47F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47F68 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C47F6C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47F6C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C47F6C */ if (_t6) goto L_02C4800C; else goto L_02C47F70;
|
|
L_02C47F70: ; // 0x2c47f70
|
|
/* 02C47F70 */ _t7 = cpu->r[31] + 0x000002A8u;
|
|
/* 02C47F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C47F74 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47F78 */ _t8 = cpu->r[30] + 0x00000288u;
|
|
/* 02C47F78 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C47F7C */ Gambit_fn_02C425B8(cpu);
|
|
/* 02C47F80 */ _t9 = cpu->r[30] + 0x00000288u;
|
|
/* 02C47F80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C47F84 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47F88 */ Gambit_fn_02C42634(cpu);
|
|
/* 02C47F8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47F90 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47F94 */ Gambit_fn_02C47230(cpu);
|
|
/* 02C47F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47F9C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47F9C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C47F9C */ if (_t11) goto L_02C4800C; else goto L_02C47FA0;
|
|
L_02C47FA0: ; // 0x2c47fa0
|
|
/* 02C47FA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47FA4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C47FA8 */ Gambit_fn_02C385F0(cpu);
|
|
/* 02C47FAC */ cpu->r[4] = cpu->r[30] + 0x000001C8u;
|
|
/* 02C47FB0 */ Gambit_fn_02C474B0(cpu);
|
|
/* 02C47FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47FB8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47FB8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C47FB8 */ if (_t13) goto L_02C4800C; else goto L_02C47FBC;
|
|
L_02C47FBC: ; // 0x2c47fbc
|
|
/* 02C47FBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47FC0 */ Gambit_fn_02C47534(cpu);
|
|
/* 02C47FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47FC8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47FC8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C47FC8 */ if (_t15) goto L_02C4800C; else goto L_02C47FCC;
|
|
L_02C47FCC: ; // 0x2c47fcc
|
|
/* 02C47FCC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47FD0 */ Gambit_fn_02C475E4(cpu);
|
|
/* 02C47FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47FD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47FDC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47FDC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C47FDC */ if (_t17) goto L_02C47FE0; else goto L_02C47FFC;
|
|
L_02C47FE0: ; // 0x2c47fe0
|
|
/* 02C47FE0 */ Gambit_fn_02C37D98(cpu);
|
|
/* 02C47FE4 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02C47FE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C47FE8 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02C47FE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C47FEC */ cpu->lr = cpu->r[0];
|
|
/* 02C47FF0 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C47FF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C47FF4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C47FF8 */ return;
|
|
L_02C47FFC: ; // 0x2c47ffc
|
|
/* 02C47FFC */ cpu->r[0] = 0x00000001u;
|
|
/* 02C48000 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C48004 */ _t21 = cpu->r[30] + 0x00000187u;
|
|
/* 02C48004 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 02C48008 */ Gambit_fn_02C47D00(cpu);
|
|
L_02C4800C: ; // 0x2c4800c
|
|
/* 02C4800C */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4800C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C48010 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 02C48010 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C48014 */ cpu->lr = cpu->r[0];
|
|
/* 02C48018 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48018 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C4801C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C48020 */ return;
|
|
}
|
|
|
|
// fn_02C47F4C @ 0x2c47f4c
|
|
void Gambit_fn_02C47F4C(CPUState* cpu) {
|
|
uint32_t _t0, _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_02C47F4C: ; // 0x2c47f4c
|
|
/* 02C47F4C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C47F4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47F4C */ cpu->r[1] = _t0;
|
|
/* 02C47F50 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C47F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C47F54 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C47F54 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C47F58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C47F5C */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02C47F5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C47F60 */ _t4 = cpu->r[30] + 0x00000184u;
|
|
/* 02C47F60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C47F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47F68 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C47F6C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47F6C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C47F6C */ if (_t6) goto L_02C4800C; else goto L_02C47F70;
|
|
L_02C47F70: ; // 0x2c47f70
|
|
/* 02C47F70 */ _t7 = cpu->r[31] + 0x000002A8u;
|
|
/* 02C47F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C47F74 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47F78 */ _t8 = cpu->r[30] + 0x00000288u;
|
|
/* 02C47F78 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C47F7C */ Gambit_fn_02C425B8(cpu);
|
|
/* 02C47F80 */ _t9 = cpu->r[30] + 0x00000288u;
|
|
/* 02C47F80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C47F84 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47F88 */ Gambit_fn_02C42634(cpu);
|
|
/* 02C47F8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C47F90 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47F94 */ Gambit_fn_02C47230(cpu);
|
|
/* 02C47F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47F9C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47F9C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C47F9C */ if (_t11) goto L_02C4800C; else goto L_02C47FA0;
|
|
L_02C47FA0: ; // 0x2c47fa0
|
|
/* 02C47FA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47FA4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C47FA8 */ Gambit_fn_02C385F0(cpu);
|
|
/* 02C47FAC */ cpu->r[4] = cpu->r[30] + 0x000001C8u;
|
|
/* 02C47FB0 */ Gambit_fn_02C474B0(cpu);
|
|
/* 02C47FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47FB8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47FB8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C47FB8 */ if (_t13) goto L_02C4800C; else goto L_02C47FBC;
|
|
L_02C47FBC: ; // 0x2c47fbc
|
|
/* 02C47FBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47FC0 */ Gambit_fn_02C47534(cpu);
|
|
/* 02C47FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47FC8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47FC8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C47FC8 */ if (_t15) goto L_02C4800C; else goto L_02C47FCC;
|
|
L_02C47FCC: ; // 0x2c47fcc
|
|
/* 02C47FCC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47FD0 */ Gambit_fn_02C475E4(cpu);
|
|
/* 02C47FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C47FD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47FDC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47FDC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C47FDC */ if (_t17) goto L_02C47FE0; else goto L_02C47FFC;
|
|
L_02C47FE0: ; // 0x2c47fe0
|
|
/* 02C47FE0 */ Gambit_fn_02C37D98(cpu);
|
|
/* 02C47FE4 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02C47FE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C47FE8 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02C47FE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C47FEC */ cpu->lr = cpu->r[0];
|
|
/* 02C47FF0 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C47FF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C47FF4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C47FF8 */ return;
|
|
L_02C47FFC: ; // 0x2c47ffc
|
|
/* 02C47FFC */ cpu->r[0] = 0x00000001u;
|
|
/* 02C48000 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C48004 */ _t21 = cpu->r[30] + 0x00000187u;
|
|
/* 02C48004 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 02C48008 */ Gambit_fn_02C47D00(cpu);
|
|
L_02C4800C: ; // 0x2c4800c
|
|
/* 02C4800C */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4800C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C48010 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 02C48010 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C48014 */ cpu->lr = cpu->r[0];
|
|
/* 02C48018 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48018 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C4801C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C48020 */ return;
|
|
}
|
|
|
|
// fn_02C48024 @ 0x2c48024
|
|
void Gambit_fn_02C48024(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C38928: ; // 0x2c38928
|
|
/* 02C38928 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C38928 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C38928 */ cpu->r[1] = _t0;
|
|
/* 02C3892C */ /* nop */
|
|
/* 02C38930 */ cpu->r[0] = cpu->lr;
|
|
/* 02C38934 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C38934 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C38938 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C3893C */ _t2 = cpu->r[29] + 0x000004A0u;
|
|
/* 02C3893C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C38940 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C38944 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02C38948 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C38948 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C38948 */ if (_t4) goto L_02C3894C; else goto L_02C389C8;
|
|
L_02C3894C: ; // 0x2c3894c
|
|
/* 02C3894C */ cpu->r[31] = cpu->r[29] + 0x00005014u;
|
|
L_02C38950: ; // 0x2c38950
|
|
/* 02C38950 */ _t5 = cpu->r[31] + 0x00000110u;
|
|
/* 02C38950 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C38950 */ cpu->r[31] = _t5;
|
|
/* 02C38954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C38958 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C38958 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C38958 */ if (_t7) goto L_02C389BC; else goto L_02C3895C;
|
|
L_02C3895C: ; // 0x2c3895c
|
|
/* 02C3895C */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C3895C */ cpu->r[9] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C38960 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C38964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
|
|
/* 02C38968 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C38968 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C38968 */ if (_t10) goto L_02C3896C; else goto L_02C389BC;
|
|
L_02C3896C: ; // 0x2c3896c
|
|
/* 02C3896C */ cpu->r[26] = cpu->r[31];
|
|
L_02C38970: ; // 0x2c38970
|
|
/* 02C38970 */ _t11 = cpu->r[26] + 0x00000004u;
|
|
/* 02C38970 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C38970 */ cpu->r[26] = _t11;
|
|
/* 02C38974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C38978 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C38978 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C38978 */ if (_t13) goto L_02C389AC; else goto L_02C3897C;
|
|
L_02C3897C: ; // 0x2c3897c
|
|
/* 02C3897C */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 02C3897C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C38980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C38984 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C38984 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C38984 */ if (_t16) goto L_02C389AC; else goto L_02C38988;
|
|
L_02C38988: ; // 0x2c38988
|
|
/* 02C38988 */ _t17 = cpu->r[29] + 0x000001C8u;
|
|
/* 02C38988 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C3898C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C38990 */ Gambit_fn_02C27FA8(cpu);
|
|
/* 02C38994 */ _t18 = cpu->r[29] + 0x000001CCu;
|
|
/* 02C38994 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C38998 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C3899C */ Gambit_fn_02C27FE0(cpu);
|
|
/* 02C389A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C389A4 */ Gambit_fn_02C27898(cpu);
|
|
/* 02C389A8 */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C389A8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t19);
|
|
L_02C389AC: ; // 0x2c389ac
|
|
/* 02C389AC */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C389B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
|
|
/* 02C389B4 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C389B4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C389B4 */ if (_t21) goto L_02C38970; else goto L_02C389B8;
|
|
L_02C389B8: ; // 0x2c389b8
|
|
/* 02C389B8 */ _t22 = cpu->r[29] + 0x000004A0u;
|
|
/* 02C389B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
L_02C389BC: ; // 0x2c389bc
|
|
/* 02C389BC */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02C389C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02C389C4 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C389C4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C389C4 */ if (_t24) goto L_02C38950; else goto L_02C389C8;
|
|
L_02C389C8: ; // 0x2c389c8
|
|
/* 02C389C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C389CC */ Gambit_fn_02C38878(cpu);
|
|
/* 02C389D0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C389D4 */ _t25 = cpu->r[29] + 0x00000025u;
|
|
/* 02C389D4 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 02C389D8 */ /* nop */
|
|
/* 02C389DC */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 02C389DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C389E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C389E4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C389E8 */ return;
|
|
L_02C48024: ; // 0x2c48024
|
|
/* 02C48024 */ _t27 = cpu->r[3] + 0x0000018Du;
|
|
/* 02C48024 */ cpu->r[12] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02C48028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4802C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4802C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C4802C */ _t30 = _t29 ^ 0x00000001u;
|
|
/* 02C4802C */ if (_t30) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4802C */ goto L_02C48030;
|
|
L_02C48030: ; // 0x2c48030
|
|
/* 02C48030 */ _t31 = cpu->r[3] + 0x00000025u;
|
|
/* 02C48030 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02C48034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C48038 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48038 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C48038 */ _t34 = _t33 ^ 0x00000001u;
|
|
/* 02C48038 */ if (_t34) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C48038 */ goto L_02C4803C;
|
|
L_02C4803C: ; // 0x2c4803c
|
|
/* 02C4803C */ goto L_02C38928;
|
|
}
|
|
|
|
// fn_02C48040 @ 0x2c48040
|
|
void Gambit_fn_02C48040(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30;
|
|
|
|
L_02C37CA0: ; // 0x2c37ca0
|
|
/* 02C37CA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C37CA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C37CA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C37CA4 */ cpu->r[1] = _t0;
|
|
/* 02C37CA8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C37CA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C37CAC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C37CAC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C37CB0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C37CB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C37CB4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C37CB4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C37CB8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C37CB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C37CBC */ cpu->r[29] = cpu->r[3];
|
|
/* 02C37CC0 */ _t6 = cpu->r[29] + 0x0000019Cu;
|
|
/* 02C37CC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C37CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C37CC8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C37CC8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C37CC8 */ if (_t8) goto L_02C37CD0; else goto L_02C37CCC;
|
|
L_02C37CCC: ; // 0x2c37ccc
|
|
/* 02C37CCC */ Gambit_fn_02C37C6C(cpu);
|
|
L_02C37CD0: ; // 0x2c37cd0
|
|
/* 02C37CD0 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C37CD4 */ _t9 = cpu->r[29] + 0x0000049Cu;
|
|
/* 02C37CD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C37CD8 */ cpu->r[30] = cpu->r[28];
|
|
/* 02C37CDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C37CE0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C37CE0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C37CE0 */ if (_t11) goto L_02C37CE4; else goto L_02C37D0C;
|
|
L_02C37CE4: ; // 0x2c37ce4
|
|
/* 02C37CE4 */ cpu->r[31] = cpu->r[29] + 0xFFFFFFDCu;
|
|
L_02C37CE8: ; // 0x2c37ce8
|
|
/* 02C37CE8 */ _t12 = cpu->r[31] + 0x000004CCu;
|
|
/* 02C37CE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C37CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C37CF0 */ cpu->r[31] = cpu->r[31] + 0x000004C8u;
|
|
/* 02C37CF4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C37CF4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C37CF4 */ if (_t14) goto L_02C37D00; else goto L_02C37CF8;
|
|
L_02C37CF8: ; // 0x2c37cf8
|
|
/* 02C37CF8 */ Gambit_fn_02C27C90(cpu);
|
|
/* 02C37CFC */ _t15 = cpu->r[29] + 0x0000049Cu;
|
|
/* 02C37CFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
L_02C37D00: ; // 0x2c37d00
|
|
/* 02C37D00 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C37D04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C37D08 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C37D08 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C37D08 */ if (_t17) goto L_02C37CE8; else goto L_02C37D0C;
|
|
L_02C37D0C: ; // 0x2c37d0c
|
|
/* 02C37D0C */ _t18 = cpu->r[29] + 0x0000018Cu;
|
|
/* 02C37D0C */ cpu->r[12] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C37D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C37D14 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C37D14 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C37D14 */ if (_t20) goto L_02C37D28; else goto L_02C37D18;
|
|
L_02C37D18: ; // 0x2c37d18
|
|
/* 02C37D18 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C37D1C */ cpu->r[4] = cpu->r[29] + 0x00000178u;
|
|
/* 02C37D20 */ Gambit_fn_02C35F90(cpu);
|
|
/* 02C37D24 */ _t21 = cpu->r[29] + 0x0000018Cu;
|
|
/* 02C37D24 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[28]);
|
|
L_02C37D28: ; // 0x2c37d28
|
|
/* 02C37D28 */ _t22 = cpu->r[29] + 0x00000025u;
|
|
/* 02C37D28 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C37D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C37D30 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C37D30 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C37D30 */ if (_t24) goto L_02C37D38; else goto L_02C37D34;
|
|
L_02C37D34: ; // 0x2c37d34
|
|
/* 02C37D34 */ _t25 = cpu->r[29] + 0x00000025u;
|
|
/* 02C37D34 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[28]);
|
|
L_02C37D38: ; // 0x2c37d38
|
|
/* 02C37D38 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C37D38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C37D3C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C37D3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C37D40 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C37D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C37D44 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02C37D44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C37D48 */ cpu->lr = cpu->r[0];
|
|
/* 02C37D4C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C37D4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C37D50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C37D54 */ return;
|
|
L_02C48040: ; // 0x2c48040
|
|
/* 02C48040 */ goto L_02C37CA0;
|
|
}
|
|
|
|
// fn_02C48044 @ 0x2c48044
|
|
void Gambit_fn_02C48044(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02C38878: ; // 0x2c38878
|
|
/* 02C38878 */ cpu->r[0] = cpu->lr;
|
|
/* 02C3887C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C3887C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C3887C */ cpu->r[1] = _t0;
|
|
/* 02C38880 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C38880 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C38884 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C38884 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C38888 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C38888 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C3888C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C3888C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C38890 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C38894 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C38894 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C38898 */ _t6 = cpu->r[28] + 0x00000026u;
|
|
/* 02C38898 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C3889C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C388A0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C388A4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C388A4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C388A4 */ if (_t8) goto L_02C388AC; else goto L_02C388A8;
|
|
L_02C388A8: ; // 0x2c388a8
|
|
/* 02C388A8 */ cpu->r[29] = 0x00000001u;
|
|
L_02C388AC: ; // 0x2c388ac
|
|
/* 02C388AC */ _t9 = cpu->r[28] + 0x00000189u;
|
|
/* 02C388AC */ cpu->r[11] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C388B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C388B4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C388B4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C388B4 */ if (_t11) goto L_02C388BC; else goto L_02C388B8;
|
|
L_02C388B8: ; // 0x2c388b8
|
|
/* 02C388B8 */ cpu->r[29] = 0x00000001u;
|
|
L_02C388BC: ; // 0x2c388bc
|
|
/* 02C388BC */ _t12 = cpu->r[28] + 0x00000188u;
|
|
/* 02C388BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C388C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02C388C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C388C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C388C4 */ if (_t14) goto L_02C38908; else goto L_02C388C8;
|
|
L_02C388C8: ; // 0x2c388c8
|
|
/* 02C388C8 */ _t15 = cpu->r[28] + 0x0000049Cu;
|
|
/* 02C388C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C388CC */ cpu->r[30] = 0x00000000u;
|
|
/* 02C388D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C388D4 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C388D4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C388D4 */ if (_t17) goto L_02C388D8; else goto L_02C38904;
|
|
L_02C388D8: ; // 0x2c388d8
|
|
/* 02C388D8 */ cpu->r[31] = cpu->r[28] + 0xFFFFFFDCu;
|
|
L_02C388DC: ; // 0x2c388dc
|
|
/* 02C388DC */ _t18 = cpu->r[31] + 0x000004CCu;
|
|
/* 02C388DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C388E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C388E4 */ cpu->r[31] = cpu->r[31] + 0x000004C8u;
|
|
/* 02C388E8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C388E8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C388E8 */ if (_t20) goto L_02C388F8; else goto L_02C388EC;
|
|
L_02C388EC: ; // 0x2c388ec
|
|
/* 02C388EC */ cpu->r[4] = cpu->r[29];
|
|
/* 02C388F0 */ Gambit_fn_02C27F88(cpu);
|
|
/* 02C388F4 */ _t21 = cpu->r[28] + 0x0000049Cu;
|
|
/* 02C388F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
L_02C388F8: ; // 0x2c388f8
|
|
/* 02C388F8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C388FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C38900 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C38900 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C38900 */ if (_t23) goto L_02C388DC; else goto L_02C38904;
|
|
L_02C38904: ; // 0x2c38904
|
|
/* 02C38904 */ _t24 = cpu->r[28] + 0x00000188u;
|
|
/* 02C38904 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[29]);
|
|
L_02C38908: ; // 0x2c38908
|
|
/* 02C38908 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02C38908 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C3890C */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C3890C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C38910 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C38910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C38914 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02C38914 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C38918 */ cpu->lr = cpu->r[0];
|
|
/* 02C3891C */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02C3891C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C38920 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C38924 */ return;
|
|
L_02C48044: ; // 0x2c48044
|
|
/* 02C48044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C48048 */ _t30 = cpu->r[3] + 0x00000026u;
|
|
/* 02C48048 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[4]);
|
|
/* 02C4804C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4804C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C4804C */ if (_t32) goto L_02C48058; else goto L_02C48050;
|
|
L_02C48050: ; // 0x2c48050
|
|
/* 02C48050 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C48054 */ _t33 = cpu->r[3] + 0x00000189u;
|
|
/* 02C48054 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
L_02C48058: ; // 0x2c48058
|
|
/* 02C48058 */ goto L_02C38878;
|
|
}
|
|
|
|
// fn_02C4805C @ 0x2c4805c
|
|
void Gambit_fn_02C4805C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C4805C: ; // 0x2c4805c
|
|
/* 02C4805C */ cpu->r[10] = 0x00000000u;
|
|
/* 02C48060 */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C48064 */ cpu->r[12] = cpu->r[10];
|
|
/* 02C48068 */ goto L_02C4808C;
|
|
L_02C4806C: ; // 0x2c4806c
|
|
/* 02C4806C */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4806C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C48070 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48070 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C48070 */ if (_t2) goto L_02C48080; else goto L_02C48074;
|
|
L_02C48074: ; // 0x2c48074
|
|
/* 02C48074 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 02C48078 */ _t3 = cpu->r[11] + 0x0000513Cu;
|
|
/* 02C48078 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 02C4807C */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C4807C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C48080: ; // 0x2c48080
|
|
/* 02C48080 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48084 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C48088 */ cpu->r[12] = cpu->r[12] + 0x00000110u;
|
|
L_02C4808C: ; // 0x2c4808c
|
|
/* 02C4808C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02C48090 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48090 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C48090 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C48090 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C48090 */ goto L_02C48094;
|
|
L_02C48094: ; // 0x2c48094
|
|
/* 02C48094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C48098 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48098 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C48098 */ if (_t9) goto L_02C4809C; else goto L_02C4806C;
|
|
L_02C4809C: ; // 0x2c4809c
|
|
/* 02C4809C */ return;
|
|
}
|
|
|
|
// fn_02C480A0 @ 0x2c480a0
|
|
void Gambit_fn_02C480A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C480A0: ; // 0x2c480a0
|
|
/* 02C480A0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C480A4 */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C480A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C480A8 */ cpu->r[12] = cpu->r[10];
|
|
/* 02C480AC */ goto L_02C480D0;
|
|
L_02C480B0: ; // 0x2c480b0
|
|
/* 02C480B0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C480B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C480B4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C480B4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C480B4 */ if (_t2) goto L_02C480C4; else goto L_02C480B8;
|
|
L_02C480B8: ; // 0x2c480b8
|
|
/* 02C480B8 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 02C480BC */ _t3 = cpu->r[11] + 0x00005131u;
|
|
/* 02C480BC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[5]);
|
|
/* 02C480C0 */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C480C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C480C4: ; // 0x2c480c4
|
|
/* 02C480C4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C480C8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C480CC */ cpu->r[12] = cpu->r[12] + 0x00000110u;
|
|
L_02C480D0: ; // 0x2c480d0
|
|
/* 02C480D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02C480D4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C480D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C480D4 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C480D4 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C480D4 */ goto L_02C480D8;
|
|
L_02C480D8: ; // 0x2c480d8
|
|
/* 02C480D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C480DC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C480DC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C480DC */ if (_t9) goto L_02C480E0; else goto L_02C480B0;
|
|
L_02C480E0: ; // 0x2c480e0
|
|
/* 02C480E0 */ return;
|
|
}
|
|
|
|
// fn_02C480E4 @ 0x2c480e4
|
|
void Gambit_fn_02C480E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C480E4: ; // 0x2c480e4
|
|
/* 02C480E4 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C480E8 */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C480E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C480EC */ cpu->r[12] = cpu->r[10];
|
|
/* 02C480F0 */ goto L_02C48114;
|
|
L_02C480F4: ; // 0x2c480f4
|
|
/* 02C480F4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C480F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C480F8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C480F8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C480F8 */ if (_t2) goto L_02C48108; else goto L_02C480FC;
|
|
L_02C480FC: ; // 0x2c480fc
|
|
/* 02C480FC */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 02C48100 */ _t3 = cpu->r[11] + 0x00005140u;
|
|
/* 02C48100 */ rbrew_write32(cpu->mem, _t3, cpu->r[5]);
|
|
/* 02C48104 */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C48108: ; // 0x2c48108
|
|
/* 02C48108 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4810C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C48110 */ cpu->r[12] = cpu->r[12] + 0x00000110u;
|
|
L_02C48114: ; // 0x2c48114
|
|
/* 02C48114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02C48118 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48118 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C48118 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C48118 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C48118 */ goto L_02C4811C;
|
|
L_02C4811C: ; // 0x2c4811c
|
|
/* 02C4811C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C48120 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48120 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C48120 */ if (_t9) goto L_02C48124; else goto L_02C480F4;
|
|
L_02C48124: ; // 0x2c48124
|
|
/* 02C48124 */ return;
|
|
}
|
|
|
|
// fn_02C48128 @ 0x2c48128
|
|
void Gambit_fn_02C48128(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C48128: ; // 0x2c48128
|
|
/* 02C48128 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C4812C */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C4812C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C48130 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02C48134 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C48138 */ goto L_02C4815C;
|
|
L_02C4813C: ; // 0x2c4813c
|
|
/* 02C4813C */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4813C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C48140 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48140 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C48140 */ if (_t2) goto L_02C48150; else goto L_02C48144;
|
|
L_02C48144: ; // 0x2c48144
|
|
/* 02C48144 */ cpu->r[11] = cpu->r[3] + cpu->r[10];
|
|
/* 02C48148 */ _t3 = cpu->r[11] + 0x00005140u;
|
|
/* 02C48148 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C4814C */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C4814C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C48150: ; // 0x2c48150
|
|
/* 02C48150 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48154 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02C48158 */ cpu->r[10] = cpu->r[10] + 0x00000110u;
|
|
L_02C4815C: ; // 0x2c4815c
|
|
/* 02C4815C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02C48160 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48160 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C48160 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C48160 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C48160 */ goto L_02C48164;
|
|
L_02C48164: ; // 0x2c48164
|
|
/* 02C48164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C48168 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48168 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C48168 */ if (_t9) goto L_02C4816C; else goto L_02C4813C;
|
|
L_02C4816C: ; // 0x2c4816c
|
|
/* 02C4816C */ return;
|
|
}
|
|
|
|
// fn_02C48170 @ 0x2c48170
|
|
void Gambit_fn_02C48170(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C48170: ; // 0x2c48170
|
|
/* 02C48170 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C48174 */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C48178 */ cpu->r[12] = cpu->r[10];
|
|
/* 02C4817C */ goto L_02C481A0;
|
|
L_02C48180: ; // 0x2c48180
|
|
/* 02C48180 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C48180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C48184 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48184 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C48184 */ if (_t2) goto L_02C48194; else goto L_02C48188;
|
|
L_02C48188: ; // 0x2c48188
|
|
/* 02C48188 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 02C4818C */ _t3 = cpu->r[11] + 0x00005144u;
|
|
/* 02C4818C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 02C48190 */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C48194: ; // 0x2c48194
|
|
/* 02C48194 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48198 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C4819C */ cpu->r[12] = cpu->r[12] + 0x00000110u;
|
|
L_02C481A0: ; // 0x2c481a0
|
|
/* 02C481A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02C481A4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C481A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C481A4 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C481A4 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C481A4 */ goto L_02C481A8;
|
|
L_02C481A8: ; // 0x2c481a8
|
|
/* 02C481A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C481AC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C481AC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C481AC */ if (_t9) goto L_02C481B0; else goto L_02C48180;
|
|
L_02C481B0: ; // 0x2c481b0
|
|
/* 02C481B0 */ return;
|
|
}
|
|
|
|
// fn_02C481B4 @ 0x2c481b4
|
|
void Gambit_fn_02C481B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C481B4: ; // 0x2c481b4
|
|
/* 02C481B4 */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C481B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C481B8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C481BC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000018u);
|
|
/* 02C481C0 */ cpu->r[11] = cpu->r[12];
|
|
/* 02C481C4 */ goto L_02C4820C;
|
|
L_02C481C8: ; // 0x2c481c8
|
|
/* 02C481C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C481C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C481CC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C481CC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C481CC */ if (_t2) goto L_02C48200; else goto L_02C481D0;
|
|
L_02C481D0: ; // 0x2c481d0
|
|
/* 02C481D0 */ cpu->r[9] = cpu->r[3] + 0x00005124u;
|
|
/* 02C481D4 */ cpu->r[8] = cpu->r[9] + cpu->r[11];
|
|
/* 02C481D8 */ cpu->r[0] = 0x00000006u;
|
|
/* 02C481DC */ cpu->r[8] = cpu->r[8] + 0x00000028u;
|
|
/* 02C481E0 */ cpu->ctr = cpu->r[0];
|
|
/* 02C481E4 */ cpu->r[8] = cpu->r[8] + cpu->r[10];
|
|
/* 02C481E8 */ cpu->r[9] = 0x00000000u;
|
|
L_02C481EC: ; // 0x2c481ec
|
|
/* 02C481EC */ _t3 = cpu->r[6] + cpu->r[9];
|
|
/* 02C481EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C481F0 */ _t4 = cpu->r[8] + cpu->r[9];
|
|
/* 02C481F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C481F4 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 02C481F8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C481F8 */ _t5 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C481F8 */ _t6 = _t5 >> (0x00000002u & 31u);
|
|
/* 02C481F8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C481F8 */ if (_t7) goto L_02C481EC; else goto L_02C481FC;
|
|
L_02C481FC: ; // 0x2c481fc
|
|
/* 02C481FC */ _t8 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C481FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
L_02C48200: ; // 0x2c48200
|
|
/* 02C48200 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48204 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C48208 */ cpu->r[11] = cpu->r[11] + 0x00000110u;
|
|
L_02C4820C: ; // 0x2c4820c
|
|
/* 02C4820C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 02C48210 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48210 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C48210 */ _t11 = _t10 ^ 0x00000001u;
|
|
/* 02C48210 */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C48210 */ goto L_02C48214;
|
|
L_02C48214: ; // 0x2c48214
|
|
/* 02C48214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C48218 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48218 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C48218 */ if (_t13) goto L_02C4821C; else goto L_02C481C8;
|
|
L_02C4821C: ; // 0x2c4821c
|
|
/* 02C4821C */ return;
|
|
}
|
|
|
|
// fn_02C48220 @ 0x2c48220
|
|
void Gambit_fn_02C48220(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C48220: ; // 0x2c48220
|
|
/* 02C48220 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C48224 */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C48228 */ cpu->r[12] = cpu->r[10];
|
|
/* 02C4822C */ goto L_02C48250;
|
|
L_02C48230: ; // 0x2c48230
|
|
/* 02C48230 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C48230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C48234 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48234 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C48234 */ if (_t2) goto L_02C48244; else goto L_02C48238;
|
|
L_02C48238: ; // 0x2c48238
|
|
/* 02C48238 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 02C4823C */ _t3 = cpu->r[11] + 0x0000517Cu;
|
|
/* 02C4823C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 02C48240 */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C48244: ; // 0x2c48244
|
|
/* 02C48244 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48248 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C4824C */ cpu->r[12] = cpu->r[12] + 0x00000110u;
|
|
L_02C48250: ; // 0x2c48250
|
|
/* 02C48250 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02C48254 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48254 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C48254 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C48254 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C48254 */ goto L_02C48258;
|
|
L_02C48258: ; // 0x2c48258
|
|
/* 02C48258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C4825C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4825C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4825C */ if (_t9) goto L_02C48260; else goto L_02C48230;
|
|
L_02C48260: ; // 0x2c48260
|
|
/* 02C48260 */ return;
|
|
}
|
|
|
|
// fn_02C48264 @ 0x2c48264
|
|
void Gambit_fn_02C48264(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C48264: ; // 0x2c48264
|
|
/* 02C48264 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C48268 */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4826C */ cpu->r[12] = cpu->r[10];
|
|
/* 02C48270 */ goto L_02C48294;
|
|
L_02C48274: ; // 0x2c48274
|
|
/* 02C48274 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C48274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C48278 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48278 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C48278 */ if (_t2) goto L_02C48288; else goto L_02C4827C;
|
|
L_02C4827C: ; // 0x2c4827c
|
|
/* 02C4827C */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 02C48280 */ _t3 = cpu->r[11] + 0x00005180u;
|
|
/* 02C48280 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 02C48284 */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C48288: ; // 0x2c48288
|
|
/* 02C48288 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4828C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C48290 */ cpu->r[12] = cpu->r[12] + 0x00000110u;
|
|
L_02C48294: ; // 0x2c48294
|
|
/* 02C48294 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02C48298 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48298 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C48298 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C48298 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C48298 */ goto L_02C4829C;
|
|
L_02C4829C: ; // 0x2c4829c
|
|
/* 02C4829C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C482A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C482A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C482A0 */ if (_t9) goto L_02C482A4; else goto L_02C48274;
|
|
L_02C482A4: ; // 0x2c482a4
|
|
/* 02C482A4 */ return;
|
|
}
|
|
|
|
// fn_02C482A8 @ 0x2c482a8
|
|
void Gambit_fn_02C482A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C482A8: ; // 0x2c482a8
|
|
/* 02C482A8 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C482AC */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C482AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C482B0 */ cpu->r[12] = cpu->r[10];
|
|
/* 02C482B4 */ goto L_02C482D8;
|
|
L_02C482B8: ; // 0x2c482b8
|
|
/* 02C482B8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C482B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C482BC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C482BC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C482BC */ if (_t2) goto L_02C482CC; else goto L_02C482C0;
|
|
L_02C482C0: ; // 0x2c482c0
|
|
/* 02C482C0 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 02C482C4 */ _t3 = cpu->r[11] + 0x00005184u;
|
|
/* 02C482C4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 02C482C8 */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C482C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C482CC: ; // 0x2c482cc
|
|
/* 02C482CC */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C482D0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C482D4 */ cpu->r[12] = cpu->r[12] + 0x00000110u;
|
|
L_02C482D8: ; // 0x2c482d8
|
|
/* 02C482D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02C482DC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C482DC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C482DC */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C482DC */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C482DC */ goto L_02C482E0;
|
|
L_02C482E0: ; // 0x2c482e0
|
|
/* 02C482E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C482E4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C482E4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C482E4 */ if (_t9) goto L_02C482E8; else goto L_02C482B8;
|
|
L_02C482E8: ; // 0x2c482e8
|
|
/* 02C482E8 */ return;
|
|
}
|
|
|
|
// fn_02C482EC @ 0x2c482ec
|
|
void Gambit_fn_02C482EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C482EC: ; // 0x2c482ec
|
|
/* 02C482EC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C482F0 */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C482F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C482F4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C482F8 */ cpu->r[7] = cpu->r[12];
|
|
/* 02C482FC */ goto L_02C48328;
|
|
L_02C48300: ; // 0x2c48300
|
|
/* 02C48300 */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C48300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C48304 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48304 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C48304 */ if (_t2) goto L_02C4831C; else goto L_02C48308;
|
|
L_02C48308: ; // 0x2c48308
|
|
/* 02C48308 */ cpu->r[10] = cpu->r[3] + 0x00005124u;
|
|
/* 02C4830C */ cpu->r[11] = cpu->r[10] + cpu->r[7];
|
|
/* 02C48310 */ cpu->r[10] = cpu->r[11] + cpu->r[8];
|
|
/* 02C48314 */ _t3 = cpu->r[10] + 0x00000064u;
|
|
/* 02C48314 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 02C48318 */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C4831C: ; // 0x2c4831c
|
|
/* 02C4831C */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48320 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C48324 */ cpu->r[7] = cpu->r[7] + 0x00000110u;
|
|
L_02C48328: ; // 0x2c48328
|
|
/* 02C48328 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C4832C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4832C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4832C */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C4832C */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4832C */ goto L_02C48330;
|
|
L_02C48330: ; // 0x2c48330
|
|
/* 02C48330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C48334 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48334 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C48334 */ if (_t9) goto L_02C48338; else goto L_02C48300;
|
|
L_02C48338: ; // 0x2c48338
|
|
/* 02C48338 */ return;
|
|
}
|
|
|
|
// fn_02C4833C @ 0x2c4833c
|
|
void Gambit_fn_02C4833C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C4833C: ; // 0x2c4833c
|
|
/* 02C4833C */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C4833C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C48340 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C48344 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000050u);
|
|
/* 02C48348 */ cpu->r[8] = cpu->r[12];
|
|
/* 02C4834C */ goto L_02C48378;
|
|
L_02C48350: ; // 0x2c48350
|
|
/* 02C48350 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C48350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C48354 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48354 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C48354 */ if (_t2) goto L_02C4836C; else goto L_02C48358;
|
|
L_02C48358: ; // 0x2c48358
|
|
/* 02C48358 */ cpu->r[10] = cpu->r[3] + 0x00005124u;
|
|
/* 02C4835C */ cpu->r[11] = cpu->r[10] + cpu->r[8];
|
|
/* 02C48360 */ cpu->r[10] = cpu->r[11] + cpu->r[7];
|
|
/* 02C48364 */ _t3 = cpu->r[10] + 0x00000070u;
|
|
/* 02C48364 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 02C48368 */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C4836C: ; // 0x2c4836c
|
|
/* 02C4836C */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48370 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C48374 */ cpu->r[8] = cpu->r[8] + 0x00000110u;
|
|
L_02C48378: ; // 0x2c48378
|
|
/* 02C48378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C4837C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4837C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4837C */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C4837C */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4837C */ goto L_02C48380;
|
|
L_02C48380: ; // 0x2c48380
|
|
/* 02C48380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C48384 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48384 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C48384 */ if (_t9) goto L_02C48388; else goto L_02C48350;
|
|
L_02C48388: ; // 0x2c48388
|
|
/* 02C48388 */ return;
|
|
}
|
|
|
|
// fn_02C4838C @ 0x2c4838c
|
|
void Gambit_fn_02C4838C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C4838C: ; // 0x2c4838c
|
|
/* 02C4838C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4838C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4838C */ cpu->r[1] = _t0;
|
|
/* 02C48390 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48390 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C48394 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000018u);
|
|
/* 02C48398 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C4839C */ cpu->r[9] = cpu->r[8];
|
|
/* 02C483A0 */ _t2 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C483A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C483A4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000050u);
|
|
/* 02C483A8 */ goto L_02C483F8;
|
|
L_02C483AC: ; // 0x2c483ac
|
|
/* 02C483AC */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C483AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C483B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C483B0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C483B0 */ if (_t4) goto L_02C483EC; else goto L_02C483B4;
|
|
L_02C483B4: ; // 0x2c483b4
|
|
/* 02C483B4 */ cpu->r[12] = cpu->r[3] + 0x00005124u;
|
|
/* 02C483B8 */ cpu->r[11] = cpu->r[12] + cpu->r[9];
|
|
/* 02C483BC */ cpu->r[12] = cpu->r[11] + 0x00000070u;
|
|
/* 02C483C0 */ cpu->r[10] = 0x00000006u;
|
|
/* 02C483C4 */ cpu->r[12] = cpu->r[12] + cpu->r[6];
|
|
/* 02C483C8 */ cpu->ctr = cpu->r[10];
|
|
/* 02C483CC */ cpu->r[12] = cpu->r[12] + 0x00000008u;
|
|
/* 02C483D0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C483D4 */ cpu->r[12] = cpu->r[12] + cpu->r[31];
|
|
L_02C483D8: ; // 0x2c483d8
|
|
/* 02C483D8 */ _t5 = cpu->r[7] + cpu->r[11];
|
|
/* 02C483D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C483DC */ _t6 = cpu->r[12] + cpu->r[11];
|
|
/* 02C483DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C483E0 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02C483E4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C483E4 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C483E4 */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 02C483E4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C483E4 */ if (_t9) goto L_02C483D8; else goto L_02C483E8;
|
|
L_02C483E8: ; // 0x2c483e8
|
|
/* 02C483E8 */ _t10 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C483E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
L_02C483EC: ; // 0x2c483ec
|
|
/* 02C483EC */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C483F0 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C483F4 */ cpu->r[9] = cpu->r[9] + 0x00000110u;
|
|
L_02C483F8: ; // 0x2c483f8
|
|
/* 02C483F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[11]);
|
|
/* 02C483FC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C483FC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C483FC */ if (_t12) goto L_02C48400; else goto L_02C48408;
|
|
L_02C48400: ; // 0x2c48400
|
|
/* 02C48400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C48404 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48404 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C48404 */ if (_t14) goto L_02C48408; else goto L_02C483AC;
|
|
L_02C48408: ; // 0x2c48408
|
|
/* 02C48408 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48408 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4840C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C48410 */ return;
|
|
}
|
|
|
|
// fn_02C48414 @ 0x2c48414
|
|
void Gambit_fn_02C48414(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C48414: ; // 0x2c48414
|
|
/* 02C48414 */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C48418 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C4841C */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000050u);
|
|
/* 02C48420 */ cpu->r[8] = cpu->r[12];
|
|
/* 02C48424 */ goto L_02C48450;
|
|
L_02C48428: ; // 0x2c48428
|
|
/* 02C48428 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C48428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4842C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4842C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4842C */ if (_t2) goto L_02C48444; else goto L_02C48430;
|
|
L_02C48430: ; // 0x2c48430
|
|
/* 02C48430 */ cpu->r[10] = cpu->r[3] + 0x00005124u;
|
|
/* 02C48434 */ cpu->r[11] = cpu->r[10] + cpu->r[8];
|
|
/* 02C48438 */ cpu->r[10] = cpu->r[11] + cpu->r[7];
|
|
/* 02C4843C */ _t3 = cpu->r[10] + 0x000000A8u;
|
|
/* 02C4843C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 02C48440 */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C48444: ; // 0x2c48444
|
|
/* 02C48444 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48448 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4844C */ cpu->r[8] = cpu->r[8] + 0x00000110u;
|
|
L_02C48450: ; // 0x2c48450
|
|
/* 02C48450 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C48454 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48454 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C48454 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C48454 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C48454 */ goto L_02C48458;
|
|
L_02C48458: ; // 0x2c48458
|
|
/* 02C48458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4845C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4845C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4845C */ if (_t9) goto L_02C48460; else goto L_02C48428;
|
|
L_02C48460: ; // 0x2c48460
|
|
/* 02C48460 */ return;
|
|
}
|
|
|
|
// fn_02C48464 @ 0x2c48464
|
|
void Gambit_fn_02C48464(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C48464: ; // 0x2c48464
|
|
/* 02C48464 */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48464 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C48468 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C4846C */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000050u);
|
|
/* 02C48470 */ cpu->r[8] = cpu->r[12];
|
|
/* 02C48474 */ goto L_02C484A0;
|
|
L_02C48478: ; // 0x2c48478
|
|
/* 02C48478 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C48478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4847C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4847C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4847C */ if (_t2) goto L_02C48494; else goto L_02C48480;
|
|
L_02C48480: ; // 0x2c48480
|
|
/* 02C48480 */ cpu->r[10] = cpu->r[3] + 0x00005124u;
|
|
/* 02C48484 */ cpu->r[11] = cpu->r[10] + cpu->r[8];
|
|
/* 02C48488 */ cpu->r[10] = cpu->r[11] + cpu->r[7];
|
|
/* 02C4848C */ _t3 = cpu->r[10] + 0x000000ACu;
|
|
/* 02C4848C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 02C48490 */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C48490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C48494: ; // 0x2c48494
|
|
/* 02C48494 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48498 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4849C */ cpu->r[8] = cpu->r[8] + 0x00000110u;
|
|
L_02C484A0: ; // 0x2c484a0
|
|
/* 02C484A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C484A4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C484A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C484A4 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C484A4 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C484A4 */ goto L_02C484A8;
|
|
L_02C484A8: ; // 0x2c484a8
|
|
/* 02C484A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C484AC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C484AC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C484AC */ if (_t9) goto L_02C484B0; else goto L_02C48478;
|
|
L_02C484B0: ; // 0x2c484b0
|
|
/* 02C484B0 */ return;
|
|
}
|
|
|
|
// fn_02C484B4 @ 0x2c484b4
|
|
void Gambit_fn_02C484B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C484B4: ; // 0x2c484b4
|
|
/* 02C484B4 */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C484B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C484B8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C484BC */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000050u);
|
|
/* 02C484C0 */ cpu->r[8] = cpu->r[12];
|
|
/* 02C484C4 */ goto L_02C484F0;
|
|
L_02C484C8: ; // 0x2c484c8
|
|
/* 02C484C8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C484C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C484CC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C484CC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C484CC */ if (_t2) goto L_02C484E4; else goto L_02C484D0;
|
|
L_02C484D0: ; // 0x2c484d0
|
|
/* 02C484D0 */ cpu->r[10] = cpu->r[3] + 0x00005124u;
|
|
/* 02C484D4 */ cpu->r[11] = cpu->r[10] + cpu->r[8];
|
|
/* 02C484D8 */ cpu->r[10] = cpu->r[11] + cpu->r[7];
|
|
/* 02C484DC */ _t3 = cpu->r[10] + 0x000000B0u;
|
|
/* 02C484DC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 02C484E0 */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C484E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C484E4: ; // 0x2c484e4
|
|
/* 02C484E4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C484E8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C484EC */ cpu->r[8] = cpu->r[8] + 0x00000110u;
|
|
L_02C484F0: ; // 0x2c484f0
|
|
/* 02C484F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C484F4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C484F4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C484F4 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C484F4 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C484F4 */ goto L_02C484F8;
|
|
L_02C484F8: ; // 0x2c484f8
|
|
/* 02C484F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C484FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C484FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C484FC */ if (_t9) goto L_02C48500; else goto L_02C484C8;
|
|
L_02C48500: ; // 0x2c48500
|
|
/* 02C48500 */ return;
|
|
}
|
|
|
|
// fn_02C48504 @ 0x2c48504
|
|
void Gambit_fn_02C48504(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C48504: ; // 0x2c48504
|
|
/* 02C48504 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000050u);
|
|
/* 02C48508 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C4850C */ _t0 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C4850C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C48510 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C48514 */ cpu->r[10] = cpu->r[12];
|
|
/* 02C48518 */ goto L_02C4854C;
|
|
L_02C4851C: ; // 0x2c4851c
|
|
/* 02C4851C */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4851C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C48520 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48520 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C48520 */ if (_t2) goto L_02C48540; else goto L_02C48524;
|
|
L_02C48524: ; // 0x2c48524
|
|
/* 02C48524 */ cpu->r[7] = cpu->r[3] + 0x00005124u;
|
|
/* 02C48528 */ cpu->r[9] = cpu->r[7] + cpu->r[10];
|
|
/* 02C4852C */ cpu->r[6] = cpu->r[9] + 0x00000070u;
|
|
/* 02C48530 */ cpu->r[7] = cpu->r[6] + cpu->r[8];
|
|
/* 02C48534 */ cpu->r[9] = cpu->r[7] + cpu->r[11];
|
|
/* 02C48538 */ _t3 = cpu->r[9] + 0x00000044u;
|
|
/* 02C48538 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 02C4853C */ _t4 = cpu->r[3] + 0x000004A0u;
|
|
/* 02C4853C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C48540: ; // 0x2c48540
|
|
/* 02C48540 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48544 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C48548 */ cpu->r[10] = cpu->r[10] + 0x00000110u;
|
|
L_02C4854C: ; // 0x2c4854c
|
|
/* 02C4854C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C48550 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48550 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C48550 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C48550 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C48550 */ goto L_02C48554;
|
|
L_02C48554: ; // 0x2c48554
|
|
/* 02C48554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C48558 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48558 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C48558 */ if (_t9) goto L_02C4855C; else goto L_02C4851C;
|
|
L_02C4855C: ; // 0x2c4855c
|
|
/* 02C4855C */ return;
|
|
}
|
|
|
|
// fn_02C48560 @ 0x2c48560
|
|
void Gambit_fn_02C48560(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C48560: ; // 0x2c48560
|
|
/* 02C48560 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C48560 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C48560 */ cpu->r[1] = _t0;
|
|
/* 02C48564 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48564 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C48568 */ _t2 = cpu->r[3] + 0x00000010u;
|
|
/* 02C48568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4856C */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4856C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C48570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 02C48574 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48574 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C48574 */ if (_t5) goto L_02C48578; else goto L_02C48610;
|
|
L_02C48578: ; // 0x2c48578
|
|
/* 02C48578 */ cpu->r[12] = cpu->r[11] + 0x00000007u;
|
|
/* 02C4857C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C48580 */ /* nop */
|
|
/* 02C48584 */ cpu->r[8] = cpu->r[12];
|
|
/* 02C48584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C48588 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4858C */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4858C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4858C */ if (_t7) goto L_02C48590; else goto L_02C48610;
|
|
L_02C48590: ; // 0x2c48590
|
|
/* 02C48590 */ cpu->r[12] = cpu->r[3] + 0x00000014u;
|
|
/* 02C48594 */ cpu->r[10] = 0x00000000u;
|
|
L_02C48598: ; // 0x2c48598
|
|
/* 02C48598 */ _t8 = cpu->r[12] + cpu->r[4];
|
|
/* 02C48598 */ cpu->r[11] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C4859C */ cpu->r[5] = cpu->r[11];
|
|
/* 02C485A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x000000FFu);
|
|
/* 02C485A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C485A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C485A4 */ if (_t10) goto L_02C48600; else goto L_02C485A8;
|
|
L_02C485A8: ; // 0x2c485a8
|
|
/* 02C485A8 */ cpu->r[9] = cpu->r[10];
|
|
/* 02C485AC */ cpu->r[7] = 0x00000000u;
|
|
/* 02C485B0 */ cpu->r[6] = 0x00000001u;
|
|
L_02C485B4: ; // 0x2c485b4
|
|
/* 02C485B4 */ cpu->r[31] = cpu->r[5] & cpu->r[6];
|
|
/* 02C485B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C485B8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C485B8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C485B8 */ if (_t12) goto L_02C485BC; else goto L_02C485EC;
|
|
L_02C485BC: ; // 0x2c485bc
|
|
/* 02C485BC */ cpu->r[11] = cpu->r[11] | cpu->r[6];
|
|
/* 02C485C0 */ _t13 = cpu->r[12] + cpu->r[4];
|
|
/* 02C485C0 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[11]);
|
|
/* 02C485C4 */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 02C485C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C485C8 */ _t15 = cpu->r[3] + 0x00000010u;
|
|
/* 02C485C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C485CC */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[9]);
|
|
/* 02C485D0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C485D4 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02C485D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C485D8 */ _t17 = cpu->r[3] + 0x00000010u;
|
|
/* 02C485D8 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02C485DC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C485DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C485E0 */ cpu->r[3] = cpu->r[12] + cpu->r[11];
|
|
/* 02C485E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C485E8 */ return;
|
|
L_02C485EC: ; // 0x2c485ec
|
|
/* 02C485EC */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02C485F0 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02C485F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u);
|
|
/* 02C485F8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x00000018u, 0x0000001Eu);
|
|
/* 02C485FC */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C485FC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C485FC */ if (_t20) goto L_02C485B4; else goto L_02C48600;
|
|
L_02C48600: ; // 0x2c48600
|
|
/* 02C48600 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C48600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C48604 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C48608 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02C4860C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4860C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C4860C */ if (_t22) goto L_02C48610; else goto L_02C48598;
|
|
L_02C48610: ; // 0x2c48610
|
|
/* 02C48610 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48610 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C48614 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C48618 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4861C */ return;
|
|
}
|
|
|
|
// fn_02C48620 @ 0x2c48620
|
|
void Gambit_fn_02C48620(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02C48620: ; // 0x2c48620
|
|
/* 02C48620 */ cpu->r[0] = cpu->lr;
|
|
/* 02C48624 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C48624 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C48624 */ cpu->r[1] = _t0;
|
|
/* 02C48628 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48628 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C4862C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4862C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C48630 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48630 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C48634 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C48638 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48638 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4863C */ _t5 = cpu->r[30] + 0x0000049Cu;
|
|
/* 02C4863C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C48640 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C48644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C48648 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48648 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C48648 */ if (_t7) goto L_02C4864C; else goto L_02C486C4;
|
|
L_02C4864C: ; // 0x2c4864c
|
|
/* 02C4864C */ cpu->r[29] = 0x00000000u;
|
|
L_02C48650: ; // 0x2c48650
|
|
/* 02C48650 */ _t8 = cpu->r[30] + 0x000001A0u;
|
|
/* 02C48650 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C48654 */ Gambit_fn_02C48560(cpu);
|
|
/* 02C48658 */ cpu->r[0] = cpu->r[3];
|
|
/* 02C48658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4865C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4865C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4865C */ if (_t10) goto L_02C48660; else goto L_02C486A8;
|
|
L_02C48660: ; // 0x2c48660
|
|
/* 02C48660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C48664 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48664 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C48664 */ if (_t12) goto L_02C48688; else goto L_02C48668;
|
|
L_02C48668: ; // 0x2c48668
|
|
/* 02C48668 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4866C */ cpu->r[5] = cpu->r[30] + 0xFFFFFFDCu;
|
|
L_02C48670: ; // 0x2c48670
|
|
/* 02C48670 */ _t13 = cpu->r[30] + 0x000001A0u;
|
|
/* 02C48670 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C48674 */ _t14 = cpu->r[5] + 0x000004C8u;
|
|
/* 02C48674 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C48674 */ cpu->r[5] = _t14;
|
|
/* 02C48678 */ Gambit_fn_02C37D58(cpu);
|
|
/* 02C4867C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C4867C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C48680 */ _t15 = cpu->r[5] + 0x00000000u;
|
|
/* 02C48680 */ rbrew_write32(cpu->mem, _t15, cpu->r[6]);
|
|
/* 02C48684 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48684 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C48684 */ if (_t17) goto L_02C48688; else goto L_02C48670;
|
|
L_02C48688: ; // 0x2c48688
|
|
/* 02C48688 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48688 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4868C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4868C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C48690 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C48690 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C48694 */ cpu->lr = cpu->r[0];
|
|
/* 02C48698 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C4869C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C486A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C486A4 */ return;
|
|
L_02C486A8: ; // 0x2c486a8
|
|
/* 02C486A8 */ cpu->r[10] = cpu->r[30] + cpu->r[29];
|
|
/* 02C486AC */ _t22 = cpu->r[10] + 0x000004A4u;
|
|
/* 02C486AC */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02C486B0 */ _t23 = cpu->r[30] + 0x0000049Cu;
|
|
/* 02C486B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C486B4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C486B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C486BC */ cpu->r[29] = cpu->r[29] + 0x000004C8u;
|
|
/* 02C486C0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C486C0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C486C0 */ if (_t25) goto L_02C48650; else goto L_02C486C4;
|
|
L_02C486C4: ; // 0x2c486c4
|
|
/* 02C486C4 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C486C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C486C8 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C486C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C486CC */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02C486CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C486D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C486D4 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02C486D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C486D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C486DC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C486E0 */ return;
|
|
}
|
|
|
|
// fn_02C48624 @ 0x2c48624
|
|
void Gambit_fn_02C48624(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02C48624: ; // 0x2c48624
|
|
/* 02C48624 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C48624 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C48624 */ cpu->r[1] = _t0;
|
|
/* 02C48628 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48628 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C4862C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4862C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C48630 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48630 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C48634 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C48638 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48638 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4863C */ _t5 = cpu->r[30] + 0x0000049Cu;
|
|
/* 02C4863C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C48640 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C48644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C48648 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48648 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C48648 */ if (_t7) goto L_02C4864C; else goto L_02C486C4;
|
|
L_02C4864C: ; // 0x2c4864c
|
|
/* 02C4864C */ cpu->r[29] = 0x00000000u;
|
|
L_02C48650: ; // 0x2c48650
|
|
/* 02C48650 */ _t8 = cpu->r[30] + 0x000001A0u;
|
|
/* 02C48650 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C48654 */ Gambit_fn_02C48560(cpu);
|
|
/* 02C48658 */ cpu->r[0] = cpu->r[3];
|
|
/* 02C48658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4865C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4865C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4865C */ if (_t10) goto L_02C48660; else goto L_02C486A8;
|
|
L_02C48660: ; // 0x2c48660
|
|
/* 02C48660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C48664 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48664 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C48664 */ if (_t12) goto L_02C48688; else goto L_02C48668;
|
|
L_02C48668: ; // 0x2c48668
|
|
/* 02C48668 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4866C */ cpu->r[5] = cpu->r[30] + 0xFFFFFFDCu;
|
|
L_02C48670: ; // 0x2c48670
|
|
/* 02C48670 */ _t13 = cpu->r[30] + 0x000001A0u;
|
|
/* 02C48670 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C48674 */ _t14 = cpu->r[5] + 0x000004C8u;
|
|
/* 02C48674 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C48674 */ cpu->r[5] = _t14;
|
|
/* 02C48678 */ Gambit_fn_02C37D58(cpu);
|
|
/* 02C4867C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C4867C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C48680 */ _t15 = cpu->r[5] + 0x00000000u;
|
|
/* 02C48680 */ rbrew_write32(cpu->mem, _t15, cpu->r[6]);
|
|
/* 02C48684 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48684 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C48684 */ if (_t17) goto L_02C48688; else goto L_02C48670;
|
|
L_02C48688: ; // 0x2c48688
|
|
/* 02C48688 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48688 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4868C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4868C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C48690 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C48690 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C48694 */ cpu->lr = cpu->r[0];
|
|
/* 02C48698 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C4869C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C486A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C486A4 */ return;
|
|
L_02C486A8: ; // 0x2c486a8
|
|
/* 02C486A8 */ cpu->r[10] = cpu->r[30] + cpu->r[29];
|
|
/* 02C486AC */ _t22 = cpu->r[10] + 0x000004A4u;
|
|
/* 02C486AC */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02C486B0 */ _t23 = cpu->r[30] + 0x0000049Cu;
|
|
/* 02C486B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C486B4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C486B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C486BC */ cpu->r[29] = cpu->r[29] + 0x000004C8u;
|
|
/* 02C486C0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C486C0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C486C0 */ if (_t25) goto L_02C48650; else goto L_02C486C4;
|
|
L_02C486C4: ; // 0x2c486c4
|
|
/* 02C486C4 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C486C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C486C8 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C486C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C486CC */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02C486CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C486D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C486D4 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02C486D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C486D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C486DC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C486E0 */ return;
|
|
}
|
|
|
|
// fn_02C486E4 @ 0x2c486e4
|
|
void Gambit_fn_02C486E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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;
|
|
|
|
L_02C486E4: ; // 0x2c486e4
|
|
/* 02C486E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C486E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C486E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C486E8 */ cpu->r[1] = _t0;
|
|
/* 02C486EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C486EC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C486F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C486F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C486F4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C486F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C486F8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C486F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C486FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C48700 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48700 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C48704 */ _t6 = cpu->r[30] + 0x00000184u;
|
|
/* 02C48704 */ cpu->r[8] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C48708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4870C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C48710 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48710 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C48710 */ if (_t8) goto L_02C487F4; else goto L_02C48714;
|
|
L_02C48714: ; // 0x2c48714
|
|
/* 02C48714 */ _t9 = cpu->r[30] + 0x000001C0u;
|
|
/* 02C48714 */ cpu->r[9] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C48718 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]);
|
|
/* 02C4871C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4871C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4871C */ if (_t11) goto L_02C48720; else goto L_02C487F4;
|
|
L_02C48720: ; // 0x2c48720
|
|
/* 02C48720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C48724 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C48728 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48728 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C48728 */ if (_t13) goto L_02C4872C; else goto L_02C48768;
|
|
L_02C4872C: ; // 0x2c4872c
|
|
/* 02C4872C */ _t14 = cpu->r[30] + 0x00000174u;
|
|
/* 02C4872C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C48730 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C48734 */ _t15 = cpu->r[30] + 0x00000027u;
|
|
/* 02C48734 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[10]);
|
|
/* 02C48738 */ _t16 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C48738 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4873C */ cpu->ctr = cpu->r[12];
|
|
/* 02C48740 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C48744 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02C48744 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C48748 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48748 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4874C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4874C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C48750 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48750 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C48754 */ cpu->lr = cpu->r[0];
|
|
/* 02C48758 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C48758 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C4875C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C48760 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C48764 */ return;
|
|
L_02C48768: ; // 0x2c48768
|
|
/* 02C48768 */ _t22 = cpu->r[30] + 0x000001F4u;
|
|
/* 02C48768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C4876C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000010u);
|
|
/* 02C48770 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C48770 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C48770 */ if (_t24) goto L_02C48774; else goto L_02C48778;
|
|
L_02C48774: ; // 0x2c48774
|
|
/* 02C48774 */ cpu->r[0] = 0x00000010u;
|
|
L_02C48778: ; // 0x2c48778
|
|
/* 02C48778 */ _t25 = cpu->r[30] + 0x0000049Cu;
|
|
/* 02C48778 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02C4877C */ Gambit_fn_02C48620(cpu);
|
|
/* 02C48780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C48784 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C48788 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48788 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C48788 */ if (_t27) goto L_02C4878C; else goto L_02C487C8;
|
|
L_02C4878C: ; // 0x2c4878c
|
|
/* 02C4878C */ _t28 = cpu->r[30] + 0x00000174u;
|
|
/* 02C4878C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C48790 */ _t29 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C48790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C48794 */ cpu->ctr = cpu->r[0];
|
|
/* 02C48798 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4879C */ cpu->r[0] = 0x00000001u;
|
|
/* 02C487A0 */ _t30 = cpu->r[30] + 0x00000028u;
|
|
/* 02C487A0 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 02C487A4 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C487A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C487A8 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C487A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C487AC */ cpu->r[3] = cpu->r[0];
|
|
/* 02C487B0 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C487B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C487B4 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02C487B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C487B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C487BC */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02C487BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C487C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C487C4 */ return;
|
|
L_02C487C8: ; // 0x2c487c8
|
|
/* 02C487C8 */ cpu->r[4] = cpu->r[30] + 0x000001C8u;
|
|
/* 02C487CC */ Gambit_fn_02C474B0(cpu);
|
|
/* 02C487D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C487D4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C487D4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C487D4 */ if (_t37) goto L_02C487F4; else goto L_02C487D8;
|
|
L_02C487D8: ; // 0x2c487d8
|
|
/* 02C487D8 */ _t38 = cpu->r[30] + 0x00000187u;
|
|
/* 02C487D8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02C487DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C487E0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C487E0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C487E0 */ if (_t40) goto L_02C487E4; else goto L_02C488A0;
|
|
L_02C487E4: ; // 0x2c487e4
|
|
/* 02C487E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C487E8 */ Gambit_fn_02C47534(cpu);
|
|
/* 02C487EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C487F0 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C487F0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C487F0 */ if (_t42) goto L_02C487F4; else goto L_02C48818;
|
|
L_02C487F4: ; // 0x2c487f4
|
|
/* 02C487F4 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02C487F4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C487F8 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C487F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C487FC */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C487FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C48800 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02C48800 */ cpu->r[30] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C48804 */ cpu->lr = cpu->r[0];
|
|
/* 02C48808 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C4880C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C48810 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C48814 */ return;
|
|
L_02C48818: ; // 0x2c48818
|
|
/* 02C48818 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4881C */ Gambit_fn_02C475E4(cpu);
|
|
/* 02C48820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C48824 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48824 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C48824 */ if (_t49) goto L_02C48828; else goto L_02C48854;
|
|
L_02C48828: ; // 0x2c48828
|
|
/* 02C48828 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4882C */ Gambit_fn_02C37D98(cpu);
|
|
/* 02C48830 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02C48830 */ cpu->r[28] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C48834 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48834 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C48838 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C4883C */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4883C */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C48840 */ cpu->lr = cpu->r[0];
|
|
/* 02C48844 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C48848 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4884C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C48850 */ return;
|
|
L_02C48854: ; // 0x2c48854
|
|
/* 02C48854 */ _t55 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C48854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C48858 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C4885C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[10]);
|
|
/* 02C48860 */ _t56 = cpu->r[30] + 0x00000194u;
|
|
/* 02C48860 */ rbrew_write32(cpu->mem, _t56, cpu->r[29]);
|
|
/* 02C48864 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48864 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C48864 */ if (_t58) goto L_02C48868; else goto L_02C488A8;
|
|
L_02C48868: ; // 0x2c48868
|
|
/* 02C48868 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4886C */ Gambit_fn_02C38B04(cpu);
|
|
/* 02C48870 */ _t59 = cpu->r[30] + 0x00000194u;
|
|
/* 02C48870 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C48874 */ _t60 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C48874 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C48878 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C4887C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C48880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 02C48884 */ _t61 = cpu->r[30] + 0x00000194u;
|
|
/* 02C48884 */ rbrew_write32(cpu->mem, _t61, cpu->r[11]);
|
|
/* 02C48888 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48888 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C48888 */ if (_t63) goto L_02C48868; else goto L_02C4888C;
|
|
L_02C4888C: ; // 0x2c4888c
|
|
/* 02C4888C */ _t64 = cpu->r[30] + 0x0000049Cu;
|
|
/* 02C4888C */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C48890 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C48894 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02C48898 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48898 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C48898 */ if (_t66) goto L_02C4889C; else goto L_02C488F0;
|
|
L_02C4889C: ; // 0x2c4889c
|
|
/* 02C4889C */ goto L_02C488B8;
|
|
L_02C488A0: ; // 0x2c488a0
|
|
/* 02C488A0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C488A4 */ _t67 = cpu->r[30] + 0x00000185u;
|
|
/* 02C488A4 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[0]);
|
|
L_02C488A8: ; // 0x2c488a8
|
|
/* 02C488A8 */ _t68 = cpu->r[30] + 0x0000049Cu;
|
|
/* 02C488A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C488AC */ cpu->r[28] = 0x00000000u;
|
|
/* 02C488B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02C488B4 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C488B4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C488B4 */ if (_t70) goto L_02C488B8; else goto L_02C488F0;
|
|
L_02C488B8: ; // 0x2c488b8
|
|
/* 02C488B8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 02C488BC */ cpu->r[29] = 0x00000000u;
|
|
L_02C488C0: ; // 0x2c488c0
|
|
/* 02C488C0 */ _t71 = cpu->r[31] + 0x00000004u;
|
|
/* 02C488C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C488C0 */ cpu->r[31] = _t71;
|
|
/* 02C488C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C488C8 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C488C8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C488C8 */ if (_t73) goto L_02C488E0; else goto L_02C488CC;
|
|
L_02C488CC: ; // 0x2c488cc
|
|
/* 02C488CC */ cpu->r[6] = cpu->r[30] + cpu->r[29];
|
|
/* 02C488D0 */ _t74 = cpu->r[6] + 0x000004A8u;
|
|
/* 02C488D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C488D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C488D8 */ Gambit_fn_02C28040(cpu);
|
|
/* 02C488DC */ _t75 = cpu->r[30] + 0x0000049Cu;
|
|
/* 02C488DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
L_02C488E0: ; // 0x2c488e0
|
|
/* 02C488E0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C488E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02C488E8 */ cpu->r[29] = cpu->r[29] + 0x000004C8u;
|
|
/* 02C488EC */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C488EC */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C488EC */ if (_t77) goto L_02C488C0; else goto L_02C488F0;
|
|
L_02C488F0: ; // 0x2c488f0
|
|
/* 02C488F0 */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 02C488F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C488F4 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C488F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C488F8 */ _t80 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C488F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C488FC */ _t81 = cpu->r[1] + 0x00000010u;
|
|
/* 02C488FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C48900 */ cpu->lr = cpu->r[0];
|
|
/* 02C48904 */ _t82 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48904 */ cpu->r[31] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C48908 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4890C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C48910 */ return;
|
|
}
|
|
|
|
// fn_02C486E8 @ 0x2c486e8
|
|
void Gambit_fn_02C486E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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;
|
|
|
|
L_02C486E8: ; // 0x2c486e8
|
|
/* 02C486E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C486E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C486E8 */ cpu->r[1] = _t0;
|
|
/* 02C486EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C486EC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C486F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C486F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C486F4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C486F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C486F8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C486F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C486FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C48700 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48700 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C48704 */ _t6 = cpu->r[30] + 0x00000184u;
|
|
/* 02C48704 */ cpu->r[8] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C48708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4870C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C48710 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48710 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C48710 */ if (_t8) goto L_02C487F4; else goto L_02C48714;
|
|
L_02C48714: ; // 0x2c48714
|
|
/* 02C48714 */ _t9 = cpu->r[30] + 0x000001C0u;
|
|
/* 02C48714 */ cpu->r[9] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C48718 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]);
|
|
/* 02C4871C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4871C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4871C */ if (_t11) goto L_02C48720; else goto L_02C487F4;
|
|
L_02C48720: ; // 0x2c48720
|
|
/* 02C48720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C48724 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C48728 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48728 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C48728 */ if (_t13) goto L_02C4872C; else goto L_02C48768;
|
|
L_02C4872C: ; // 0x2c4872c
|
|
/* 02C4872C */ _t14 = cpu->r[30] + 0x00000174u;
|
|
/* 02C4872C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C48730 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C48734 */ _t15 = cpu->r[30] + 0x00000027u;
|
|
/* 02C48734 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[10]);
|
|
/* 02C48738 */ _t16 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C48738 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4873C */ cpu->ctr = cpu->r[12];
|
|
/* 02C48740 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C48744 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02C48744 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C48748 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48748 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4874C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4874C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C48750 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48750 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C48754 */ cpu->lr = cpu->r[0];
|
|
/* 02C48758 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C48758 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C4875C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C48760 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C48764 */ return;
|
|
L_02C48768: ; // 0x2c48768
|
|
/* 02C48768 */ _t22 = cpu->r[30] + 0x000001F4u;
|
|
/* 02C48768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C4876C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000010u);
|
|
/* 02C48770 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C48770 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C48770 */ if (_t24) goto L_02C48774; else goto L_02C48778;
|
|
L_02C48774: ; // 0x2c48774
|
|
/* 02C48774 */ cpu->r[0] = 0x00000010u;
|
|
L_02C48778: ; // 0x2c48778
|
|
/* 02C48778 */ _t25 = cpu->r[30] + 0x0000049Cu;
|
|
/* 02C48778 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02C4877C */ Gambit_fn_02C48620(cpu);
|
|
/* 02C48780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C48784 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C48788 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48788 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C48788 */ if (_t27) goto L_02C4878C; else goto L_02C487C8;
|
|
L_02C4878C: ; // 0x2c4878c
|
|
/* 02C4878C */ _t28 = cpu->r[30] + 0x00000174u;
|
|
/* 02C4878C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C48790 */ _t29 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C48790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C48794 */ cpu->ctr = cpu->r[0];
|
|
/* 02C48798 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4879C */ cpu->r[0] = 0x00000001u;
|
|
/* 02C487A0 */ _t30 = cpu->r[30] + 0x00000028u;
|
|
/* 02C487A0 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 02C487A4 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C487A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C487A8 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C487A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C487AC */ cpu->r[3] = cpu->r[0];
|
|
/* 02C487B0 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C487B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C487B4 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02C487B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C487B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C487BC */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02C487BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C487C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C487C4 */ return;
|
|
L_02C487C8: ; // 0x2c487c8
|
|
/* 02C487C8 */ cpu->r[4] = cpu->r[30] + 0x000001C8u;
|
|
/* 02C487CC */ Gambit_fn_02C474B0(cpu);
|
|
/* 02C487D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C487D4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C487D4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C487D4 */ if (_t37) goto L_02C487F4; else goto L_02C487D8;
|
|
L_02C487D8: ; // 0x2c487d8
|
|
/* 02C487D8 */ _t38 = cpu->r[30] + 0x00000187u;
|
|
/* 02C487D8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02C487DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C487E0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C487E0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C487E0 */ if (_t40) goto L_02C487E4; else goto L_02C488A0;
|
|
L_02C487E4: ; // 0x2c487e4
|
|
/* 02C487E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C487E8 */ Gambit_fn_02C47534(cpu);
|
|
/* 02C487EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C487F0 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C487F0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C487F0 */ if (_t42) goto L_02C487F4; else goto L_02C48818;
|
|
L_02C487F4: ; // 0x2c487f4
|
|
/* 02C487F4 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02C487F4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C487F8 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C487F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C487FC */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C487FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C48800 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02C48800 */ cpu->r[30] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C48804 */ cpu->lr = cpu->r[0];
|
|
/* 02C48808 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C4880C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C48810 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C48814 */ return;
|
|
L_02C48818: ; // 0x2c48818
|
|
/* 02C48818 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4881C */ Gambit_fn_02C475E4(cpu);
|
|
/* 02C48820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C48824 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48824 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C48824 */ if (_t49) goto L_02C48828; else goto L_02C48854;
|
|
L_02C48828: ; // 0x2c48828
|
|
/* 02C48828 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4882C */ Gambit_fn_02C37D98(cpu);
|
|
/* 02C48830 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02C48830 */ cpu->r[28] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C48834 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48834 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C48838 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C4883C */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4883C */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C48840 */ cpu->lr = cpu->r[0];
|
|
/* 02C48844 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C48848 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4884C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C48850 */ return;
|
|
L_02C48854: ; // 0x2c48854
|
|
/* 02C48854 */ _t55 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C48854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C48858 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C4885C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[10]);
|
|
/* 02C48860 */ _t56 = cpu->r[30] + 0x00000194u;
|
|
/* 02C48860 */ rbrew_write32(cpu->mem, _t56, cpu->r[29]);
|
|
/* 02C48864 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48864 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C48864 */ if (_t58) goto L_02C48868; else goto L_02C488A8;
|
|
L_02C48868: ; // 0x2c48868
|
|
/* 02C48868 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4886C */ Gambit_fn_02C38B04(cpu);
|
|
/* 02C48870 */ _t59 = cpu->r[30] + 0x00000194u;
|
|
/* 02C48870 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C48874 */ _t60 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C48874 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C48878 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C4887C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C48880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 02C48884 */ _t61 = cpu->r[30] + 0x00000194u;
|
|
/* 02C48884 */ rbrew_write32(cpu->mem, _t61, cpu->r[11]);
|
|
/* 02C48888 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48888 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C48888 */ if (_t63) goto L_02C48868; else goto L_02C4888C;
|
|
L_02C4888C: ; // 0x2c4888c
|
|
/* 02C4888C */ _t64 = cpu->r[30] + 0x0000049Cu;
|
|
/* 02C4888C */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C48890 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C48894 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02C48898 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C48898 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C48898 */ if (_t66) goto L_02C4889C; else goto L_02C488F0;
|
|
L_02C4889C: ; // 0x2c4889c
|
|
/* 02C4889C */ goto L_02C488B8;
|
|
L_02C488A0: ; // 0x2c488a0
|
|
/* 02C488A0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C488A4 */ _t67 = cpu->r[30] + 0x00000185u;
|
|
/* 02C488A4 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[0]);
|
|
L_02C488A8: ; // 0x2c488a8
|
|
/* 02C488A8 */ _t68 = cpu->r[30] + 0x0000049Cu;
|
|
/* 02C488A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C488AC */ cpu->r[28] = 0x00000000u;
|
|
/* 02C488B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02C488B4 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C488B4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C488B4 */ if (_t70) goto L_02C488B8; else goto L_02C488F0;
|
|
L_02C488B8: ; // 0x2c488b8
|
|
/* 02C488B8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 02C488BC */ cpu->r[29] = 0x00000000u;
|
|
L_02C488C0: ; // 0x2c488c0
|
|
/* 02C488C0 */ _t71 = cpu->r[31] + 0x00000004u;
|
|
/* 02C488C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C488C0 */ cpu->r[31] = _t71;
|
|
/* 02C488C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C488C8 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C488C8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C488C8 */ if (_t73) goto L_02C488E0; else goto L_02C488CC;
|
|
L_02C488CC: ; // 0x2c488cc
|
|
/* 02C488CC */ cpu->r[6] = cpu->r[30] + cpu->r[29];
|
|
/* 02C488D0 */ _t74 = cpu->r[6] + 0x000004A8u;
|
|
/* 02C488D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C488D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C488D8 */ Gambit_fn_02C28040(cpu);
|
|
/* 02C488DC */ _t75 = cpu->r[30] + 0x0000049Cu;
|
|
/* 02C488DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
L_02C488E0: ; // 0x2c488e0
|
|
/* 02C488E0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C488E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02C488E8 */ cpu->r[29] = cpu->r[29] + 0x000004C8u;
|
|
/* 02C488EC */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C488EC */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C488EC */ if (_t77) goto L_02C488C0; else goto L_02C488F0;
|
|
L_02C488F0: ; // 0x2c488f0
|
|
/* 02C488F0 */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 02C488F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C488F4 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C488F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C488F8 */ _t80 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C488F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C488FC */ _t81 = cpu->r[1] + 0x00000010u;
|
|
/* 02C488FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C48900 */ cpu->lr = cpu->r[0];
|
|
/* 02C48904 */ _t82 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48904 */ cpu->r[31] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C48908 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4890C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C48910 */ return;
|
|
}
|
|
|
|
// fn_02C48914 @ 0x2c48914
|
|
void Gambit_fn_02C48914(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C47AD4: ; // 0x2c47ad4
|
|
/* 02C47AD4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C47AD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C47AD4 */ cpu->r[1] = _t0;
|
|
/* 02C47AD8 */ /* nop */
|
|
/* 02C47ADC */ cpu->r[0] = cpu->lr;
|
|
/* 02C47AE0 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C47AE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C47AE4 */ cpu->r[29] = cpu->r[6];
|
|
/* 02C47AE8 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C47AEC */ _t2 = cpu->r[27] + 0x00000184u;
|
|
/* 02C47AEC */ cpu->r[9] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C47AF0 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C47AF4 */ cpu->r[30] = cpu->r[7];
|
|
/* 02C47AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C47AFC */ cpu->r[31] = cpu->r[8];
|
|
/* 02C47B00 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47B00 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C47B00 */ if (_t4) goto L_02C47B04; else goto L_02C47B1C;
|
|
L_02C47B04: ; // 0x2c47b04
|
|
/* 02C47B04 */ /* nop */
|
|
/* 02C47B08 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C47B08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C47B0C */ cpu->lr = cpu->r[0];
|
|
/* 02C47B10 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C47B14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C47B18 */ return;
|
|
L_02C47B1C: ; // 0x2c47b1c
|
|
/* 02C47B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C47B20 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47B20 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C47B20 */ if (_t7) goto L_02C47B24; else goto L_02C47B58;
|
|
L_02C47B24: ; // 0x2c47b24
|
|
/* 02C47B24 */ _t8 = cpu->r[27] + 0x00000174u;
|
|
/* 02C47B24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C47B28 */ cpu->r[9] = 0x00000001u;
|
|
/* 02C47B2C */ _t9 = cpu->r[27] + 0x00000027u;
|
|
/* 02C47B2C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[9]);
|
|
/* 02C47B30 */ _t10 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C47B30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C47B34 */ cpu->ctr = cpu->r[11];
|
|
/* 02C47B38 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C47B3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C47B40 */ /* nop */
|
|
/* 02C47B44 */ _t11 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C47B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C47B48 */ cpu->lr = cpu->r[0];
|
|
/* 02C47B4C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C47B50 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C47B54 */ return;
|
|
L_02C47B58: ; // 0x2c47b58
|
|
/* 02C47B58 */ _t12 = cpu->r[28] + 0x00000004u;
|
|
/* 02C47B58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C47B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C47B60 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47B60 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C47B60 */ if (_t14) goto L_02C47C9C; else goto L_02C47B64;
|
|
L_02C47B64: ; // 0x2c47b64
|
|
/* 02C47B64 */ _t15 = cpu->r[27] + 0x0000049Cu;
|
|
/* 02C47B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C47B68 */ cpu->r[22] = 0x00000000u;
|
|
/* 02C47B6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 02C47B70 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47B70 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C47B70 */ if (_t17) goto L_02C47B74; else goto L_02C47C78;
|
|
L_02C47B74: ; // 0x2c47b74
|
|
/* 02C47B74 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C47B78 */ cpu->r[26] = cpu->r[27] + 0x000004A4u;
|
|
/* 02C47B7C */ cpu->r[21] = cpu->r[23];
|
|
/* 02C47B80 */ cpu->r[24] = cpu->r[23];
|
|
/* 02C47B84 */ cpu->r[25] = cpu->r[21];
|
|
L_02C47B88: ; // 0x2c47b88
|
|
/* 02C47B88 */ _t18 = cpu->r[28] + 0x00000000u;
|
|
/* 02C47B88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C47B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C47B90 */ cpu->r[3] = cpu->r[26] + cpu->r[23];
|
|
/* 02C47B94 */ _t19 = cpu->r[27] + 0x000001E8u;
|
|
/* 02C47B94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C47B98 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47B98 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C47B98 */ if (_t21) goto L_02C47B9C; else goto L_02C47BCC;
|
|
L_02C47B9C: ; // 0x2c47b9c
|
|
/* 02C47B9C */ cpu->r[0] = cpu->r[7] + 0x00000900u;
|
|
/* 02C47BA0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C47BA4 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02C47BA8 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02C47BA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C47BAC */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[10]);
|
|
/* 02C47BB0 */ _t23 = cpu->r[28] + 0x00000010u;
|
|
/* 02C47BB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C47BB4 */ cpu->r[4] = cpu->r[12] + cpu->r[7];
|
|
/* 02C47BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47BBC */ cpu->r[8] = cpu->r[9] + cpu->r[8];
|
|
/* 02C47BC0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C47BC4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47BC4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C47BC4 */ if (_t25) goto L_02C47C20; else goto L_02C47BC8;
|
|
L_02C47BC8: ; // 0x2c47bc8
|
|
/* 02C47BC8 */ goto L_02C47BFC;
|
|
L_02C47BCC: ; // 0x2c47bcc
|
|
/* 02C47BCC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[0]);
|
|
/* 02C47BD0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C47BD4 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02C47BD8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[30]);
|
|
/* 02C47BDC */ _t26 = cpu->r[28] + 0x00000010u;
|
|
/* 02C47BDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C47BE0 */ cpu->r[4] = cpu->r[12] + cpu->r[7];
|
|
/* 02C47BE4 */ _t27 = cpu->r[27] + 0x00000494u;
|
|
/* 02C47BE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C47BE8 */ cpu->r[8] = cpu->r[11] + cpu->r[21];
|
|
/* 02C47BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47BF0 */ cpu->r[8] = cpu->r[9] + cpu->r[8];
|
|
/* 02C47BF4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C47BF8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47BF8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C47BF8 */ if (_t29) goto L_02C47C20; else goto L_02C47BFC;
|
|
L_02C47BFC: ; // 0x2c47bfc
|
|
/* 02C47BFC */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000006u);
|
|
/* 02C47C00 */ cpu->r[10] = cpu->r[28] + cpu->r[24];
|
|
/* 02C47C04 */ _t30 = cpu->r[10] + 0x00000012u;
|
|
/* 02C47C04 */ cpu->r[11] = rbrew_read16(cpu->mem, _t30);
|
|
/* 02C47C08 */ cpu->r[9] = cpu->r[3] + cpu->r[9];
|
|
/* 02C47C0C */ _t31 = cpu->r[9] + 0x00000408u;
|
|
/* 02C47C0C */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[11]);
|
|
/* 02C47C0C */ cpu->r[9] = _t31;
|
|
/* 02C47C10 */ _t32 = cpu->r[10] + 0x00000014u;
|
|
/* 02C47C10 */ cpu->r[12] = rbrew_read16(cpu->mem, _t32);
|
|
/* 02C47C14 */ _t33 = cpu->r[9] + 0x00000002u;
|
|
/* 02C47C14 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[12]);
|
|
/* 02C47C18 */ _t34 = cpu->r[10] + 0x00000016u;
|
|
/* 02C47C18 */ cpu->r[0] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02C47C1C */ _t35 = cpu->r[9] + 0x00000004u;
|
|
/* 02C47C1C */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[0]);
|
|
L_02C47C20: ; // 0x2c47c20
|
|
/* 02C47C20 */ _t36 = cpu->r[4] + 0x00000008u;
|
|
/* 02C47C20 */ rbrew_write32(cpu->mem, _t36, cpu->r[25]);
|
|
/* 02C47C24 */ _t37 = cpu->r[4] + 0x00000000u;
|
|
/* 02C47C24 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 02C47C28 */ _t38 = cpu->r[4] + 0x00000004u;
|
|
/* 02C47C28 */ rbrew_write32(cpu->mem, _t38, cpu->r[25]);
|
|
/* 02C47C2C */ _t39 = cpu->r[4] + 0x00000010u;
|
|
/* 02C47C2C */ rbrew_write32(cpu->mem, _t39, cpu->r[25]);
|
|
/* 02C47C30 */ _t40 = cpu->r[4] + 0x00000018u;
|
|
/* 02C47C30 */ rbrew_write32(cpu->mem, _t40, cpu->r[25]);
|
|
/* 02C47C34 */ _t41 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C47C34 */ rbrew_write32(cpu->mem, _t41, cpu->r[25]);
|
|
/* 02C47C38 */ _t42 = cpu->r[4] + 0x00000014u;
|
|
/* 02C47C38 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[25]);
|
|
/* 02C47C3C */ _t43 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C47C3C */ rbrew_write32(cpu->mem, _t43, cpu->r[25]);
|
|
/* 02C47C40 */ _t44 = cpu->r[28] + 0x00000004u;
|
|
/* 02C47C40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C47C44 */ _t45 = cpu->r[4] + 0x00000004u;
|
|
/* 02C47C44 */ rbrew_write32(cpu->mem, _t45, cpu->r[12]);
|
|
/* 02C47C48 */ _t46 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C47C48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C47C4C */ _t47 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C47C4C */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
|
|
/* 02C47C50 */ _t48 = cpu->r[4] + 0x00000008u;
|
|
/* 02C47C50 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02C47C54 */ _t49 = cpu->r[28] + 0x00000078u;
|
|
/* 02C47C54 */ cpu->r[5] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02C47C58 */ Gambit_fn_02C4538C(cpu);
|
|
/* 02C47C5C */ _t50 = cpu->r[27] + 0x0000049Cu;
|
|
/* 02C47C5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C47C60 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 02C47C64 */ cpu->r[21] = cpu->r[21] + cpu->r[31];
|
|
/* 02C47C68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 02C47C6C */ cpu->r[23] = cpu->r[23] + 0x000004C8u;
|
|
/* 02C47C70 */ cpu->r[24] = cpu->r[24] + 0x00000006u;
|
|
/* 02C47C74 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47C74 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C47C74 */ if (_t52) goto L_02C47B88; else goto L_02C47C78;
|
|
L_02C47C78: ; // 0x2c47c78
|
|
/* 02C47C78 */ _t53 = cpu->r[28] + 0x00000000u;
|
|
/* 02C47C78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C47C7C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000000Cu);
|
|
/* 02C47C80 */ _t54 = cpu->r[28] + 0x00000008u;
|
|
/* 02C47C80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C47C84 */ cpu->r[7] = cpu->r[27] + cpu->r[0];
|
|
/* 02C47C88 */ _t55 = cpu->r[7] + 0x000059A4u;
|
|
/* 02C47C88 */ rbrew_write32(cpu->mem, _t55, cpu->r[8]);
|
|
/* 02C47C88 */ cpu->r[7] = _t55;
|
|
/* 02C47C8C */ _t56 = cpu->r[28] + 0x00000004u;
|
|
/* 02C47C8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C47C90 */ _t57 = cpu->r[7] + 0x00000004u;
|
|
/* 02C47C90 */ rbrew_write32(cpu->mem, _t57, cpu->r[9]);
|
|
/* 02C47C94 */ _t58 = cpu->r[28] + 0x00000074u;
|
|
/* 02C47C94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C47C98 */ _t59 = cpu->r[7] + 0x00000008u;
|
|
/* 02C47C98 */ rbrew_write32(cpu->mem, _t59, cpu->r[10]);
|
|
L_02C47C9C: ; // 0x2c47c9c
|
|
/* 02C47C9C */ _t60 = cpu->r[28] + 0x00000078u;
|
|
/* 02C47C9C */ cpu->r[11] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02C47CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C47CA4 */ _t61 = cpu->r[27] + 0x00000185u;
|
|
/* 02C47CA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t61);
|
|
/* 02C47CA8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47CA8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C47CA8 */ if (_t63) goto L_02C47CB4; else goto L_02C47CAC;
|
|
L_02C47CAC: ; // 0x2c47cac
|
|
/* 02C47CAC */ cpu->r[12] = 0x00000001u;
|
|
/* 02C47CB0 */ _t64 = cpu->r[27] + 0x0000018Au;
|
|
/* 02C47CB0 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[12]);
|
|
L_02C47CB4: ; // 0x2c47cb4
|
|
/* 02C47CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C47CB8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47CB8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C47CB8 */ if (_t66) goto L_02C47CBC; else goto L_02C47CE8;
|
|
L_02C47CBC: ; // 0x2c47cbc
|
|
/* 02C47CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C47CC0 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47CC0 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C47CC0 */ if (_t68) goto L_02C47CC4; else goto L_02C47CE8;
|
|
L_02C47CC4: ; // 0x2c47cc4
|
|
/* 02C47CC4 */ _t69 = cpu->r[27] + 0x00000194u;
|
|
/* 02C47CC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C47CC8 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C47CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C47CCC */ _t70 = cpu->r[27] + 0x00000194u;
|
|
/* 02C47CCC */ rbrew_write32(cpu->mem, _t70, cpu->r[8]);
|
|
/* 02C47CD0 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47CD0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C47CD0 */ if (_t72) goto L_02C47CE0; else goto L_02C47CD4;
|
|
L_02C47CD4: ; // 0x2c47cd4
|
|
/* 02C47CD4 */ _t73 = cpu->r[27] + 0x0000018Au;
|
|
/* 02C47CD4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t73);
|
|
/* 02C47CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C47CDC */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47CDC */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C47CDC */ if (_t75) goto L_02C47CE8; else goto L_02C47CE0;
|
|
L_02C47CE0: ; // 0x2c47ce0
|
|
/* 02C47CE0 */ cpu->r[8] = 0x00000001u;
|
|
/* 02C47CE4 */ _t76 = cpu->r[27] + 0x00000185u;
|
|
/* 02C47CE4 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[8]);
|
|
L_02C47CE8: ; // 0x2c47ce8
|
|
/* 02C47CE8 */ /* nop */
|
|
/* 02C47CEC */ _t77 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C47CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C47CF0 */ cpu->lr = cpu->r[0];
|
|
/* 02C47CF4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C47CF8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C47CFC */ return;
|
|
L_02C48914: ; // 0x2c48914
|
|
/* 02C48914 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C48918 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C4891C */ cpu->r[8] = cpu->r[6];
|
|
/* 02C48920 */ goto L_02C47AD4;
|
|
}
|
|
|
|
// fn_02C48924 @ 0x2c48924
|
|
void Gambit_fn_02C48924(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C48924: ; // 0x2c48924
|
|
/* 02C48924 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C48924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C48924 */ cpu->r[1] = _t0;
|
|
/* 02C48928 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4892C */ /* nop */
|
|
/* 02C48930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C48934 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C48938 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C4893C */ cpu->r[31] = cpu->r[7];
|
|
/* 02C48940 */ cpu->r[30] = cpu->r[8];
|
|
/* 02C48944 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C48944 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C48948 */ cpu->r[29] = cpu->r[6];
|
|
/* 02C4894C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4894C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4894C */ if (_t3) goto L_02C48950; else goto L_02C48960;
|
|
L_02C48950: ; // 0x2c48950
|
|
/* 02C48950 */ cpu->r[3] = 0x00000020u;
|
|
/* 02C48954 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C48958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4895C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4895C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4895C */ if (_t5) goto L_02C48988; else goto L_02C48960;
|
|
L_02C48960: ; // 0x2c48960
|
|
/* 02C48960 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C48960 */ rbrew_write32(cpu->mem, _t6, cpu->r[27]);
|
|
/* 02C48964 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02C48968 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02C48968 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 02C4896C */ cpu->r[0] = 0x00000004u;
|
|
/* 02C48970 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02C48970 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 02C48974 */ cpu->ctr = cpu->r[0];
|
|
/* 02C48978 */ _t9 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C48978 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
L_02C4897C: ; // 0x2c4897c
|
|
/* 02C4897C */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4897C */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02C4897C */ cpu->r[12] = _t10;
|
|
/* 02C48980 */ cpu->r[31] = cpu->r[31] + 0x00000008u;
|
|
/* 02C48984 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C48984 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C48984 */ _t12 = _t11 >> (0x00000002u & 31u);
|
|
/* 02C48984 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C48984 */ if (_t13) goto L_02C4897C; else goto L_02C48988;
|
|
L_02C48988: ; // 0x2c48988
|
|
/* 02C48988 */ /* nop */
|
|
/* 02C4898C */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4898C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C48990 */ cpu->lr = cpu->r[0];
|
|
/* 02C48994 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C48998 */ return;
|
|
}
|
|
|
|
// fn_02C4899C @ 0x2c4899c
|
|
void Gambit_fn_02C4899C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C4899C: ; // 0x2c4899c
|
|
/* 02C4899C */ _t0 = cpu->r[1] + 0xFFFFFD48u;
|
|
/* 02C4899C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4899C */ cpu->r[1] = _t0;
|
|
/* 02C489A0 */ /* nop */
|
|
/* 02C489A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C489A8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C489AC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C489B0 */ _t1 = cpu->r[1] + 0x000002BCu;
|
|
/* 02C489B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C489B4 */ Gambit_fn_02C3531C(cpu);
|
|
/* 02C489B8 */ _t2 = cpu->r[30] + 0x00000038u;
|
|
/* 02C489B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C489BC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C489C0 */ Gambit_fn_02C353C0(cpu);
|
|
/* 02C489C4 */ _t3 = cpu->r[30] + 0x00000048u;
|
|
/* 02C489C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C489C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C489CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C489CC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C489CC */ if (_t5) goto L_02C489D0; else goto L_02C48A2C;
|
|
L_02C489D0: ; // 0x2c489d0
|
|
/* 02C489D0 */ _t6 = cpu->r[30] + 0x00000044u;
|
|
/* 02C489D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C489D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFFu);
|
|
/* 02C489D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C489D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C489D8 */ if (_t8) goto L_02C48A2C; else goto L_02C489DC;
|
|
L_02C489DC: ; // 0x2c489dc
|
|
/* 02C489DC */ _t9 = cpu->r[30] + 0x00000094u;
|
|
/* 02C489DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C489E0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C489E4 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C489E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C489EC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02C489F0 */ Gambit_fn_02C34EAC(cpu);
|
|
/* 02C489F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C489F8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C489F8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C489F8 */ if (_t11) goto L_02C489FC; else goto L_02C48A1C;
|
|
L_02C489FC: ; // 0x2c489fc
|
|
/* 02C489FC */ _t12 = cpu->r[30] + 0x00000094u;
|
|
/* 02C489FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C48A00 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C48A04 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C48A08 */ _t13 = cpu->r[8] + 0x00000014u;
|
|
/* 02C48A08 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[4]);
|
|
/* 02C48A0C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48A10 */ _t14 = cpu->r[30] + 0x00000098u;
|
|
/* 02C48A10 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]);
|
|
/* 02C48A14 */ Gambit_fn_02C1BDA4(cpu);
|
|
/* 02C48A18 */ goto L_02C48C04;
|
|
L_02C48A1C: ; // 0x2c48a1c
|
|
/* 02C48A1C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02C48A20 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C48A24 */ Gambit_fn_02C23410(cpu);
|
|
/* 02C48A28 */ _t15 = cpu->r[30] + 0x00000048u;
|
|
/* 02C48A28 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_02C48A2C: ; // 0x2c48a2c
|
|
/* 02C48A2C */ cpu->r[6] = 0x02C50000u;
|
|
/* 02C48A30 */ cpu->r[27] = cpu->r[1] + 0x00000270u;
|
|
/* 02C48A34 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C48A38 */ cpu->r[6] = cpu->r[6] + 0xFFFFD15Cu;
|
|
/* 02C48A3C */ cpu->r[3] = cpu->r[27];
|
|
/* 02C48A40 */ cpu->r[5] = 0x00000008u;
|
|
/* 02C48A44 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02C48A48 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C48A4C */ cpu->r[23] = 0x00000000u;
|
|
/* 02C48A50 */ cpu->r[22] = cpu->r[27];
|
|
/* 02C48A54 */ _t16 = cpu->r[12] + 0xFFFFD264u;
|
|
/* 02C48A54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C48A58 */ cpu->r[29] = 0x00000004u;
|
|
/* 02C48A5C */ cpu->r[24] = cpu->r[1] + 0x00000008u;
|
|
/* 02C48A60 */ cpu->r[25] = 0x00000002u;
|
|
/* 02C48A64 */ cpu->r[28] = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C48A68 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02C48A68 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
L_02C48A6C: ; // 0x2c48a6c
|
|
/* 02C48A6C */ cpu->r[26] = cpu->r[28] + cpu->r[23];
|
|
/* 02C48A70 */ _t18 = cpu->r[26] + 0x00000004u;
|
|
/* 02C48A70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C48A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C48A78 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48A78 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C48A78 */ if (_t20) goto L_02C48A7C; else goto L_02C48ADC;
|
|
L_02C48A7C: ; // 0x2c48a7c
|
|
/* 02C48A7C */ _t21 = cpu->r[26] + 0x00000000u;
|
|
/* 02C48A7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C48A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFFu);
|
|
/* 02C48A84 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48A84 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C48A84 */ if (_t23) goto L_02C48B74; else goto L_02C48A88;
|
|
L_02C48A88: ; // 0x2c48a88
|
|
/* 02C48A88 */ _t24 = cpu->r[30] + 0x00000094u;
|
|
/* 02C48A88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C48A8C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C48A90 */ cpu->r[6] = 0x00000004u;
|
|
/* 02C48A94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C48A98 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02C48A9C */ Gambit_fn_02C34EAC(cpu);
|
|
/* 02C48AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C48AA4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48AA4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C48AA4 */ if (_t26) goto L_02C48AA8; else goto L_02C48AC8;
|
|
L_02C48AA8: ; // 0x2c48aa8
|
|
/* 02C48AA8 */ _t27 = cpu->r[30] + 0x00000094u;
|
|
/* 02C48AA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C48AAC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C48AB0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C48AB4 */ _t28 = cpu->r[11] + 0x00000014u;
|
|
/* 02C48AB4 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[25]);
|
|
/* 02C48AB8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48ABC */ _t29 = cpu->r[30] + 0x00000098u;
|
|
/* 02C48ABC */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[12]);
|
|
/* 02C48AC0 */ Gambit_fn_02C1BDA4(cpu);
|
|
/* 02C48AC4 */ goto L_02C48C04;
|
|
L_02C48AC8: ; // 0x2c48ac8
|
|
/* 02C48AC8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02C48ACC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C48AD0 */ Gambit_fn_02C23410(cpu);
|
|
/* 02C48AD4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C48AD8 */ _t30 = cpu->r[26] + 0x00000004u;
|
|
/* 02C48AD8 */ rbrew_write32(cpu->mem, _t30, cpu->r[5]);
|
|
L_02C48ADC: ; // 0x2c48adc
|
|
/* 02C48ADC */ _t31 = cpu->r[26] + 0x00000000u;
|
|
/* 02C48ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C48AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02C48AE4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48AE4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C48AE4 */ if (_t33) goto L_02C48B74; else goto L_02C48AE8;
|
|
L_02C48AE8: ; // 0x2c48ae8
|
|
/* 02C48AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C48AEC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48AEC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C48AEC */ if (_t35) goto L_02C48B74; else goto L_02C48AF0;
|
|
L_02C48AF0: ; // 0x2c48af0
|
|
/* 02C48AF0 */ _t36 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C48AF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C48AF4 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C48AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C48AF8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48AF8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C48AF8 */ if (_t38) goto L_02C48B00; else goto L_02C48AFC;
|
|
L_02C48AFC: ; // 0x2c48afc
|
|
/* 02C48AFC */ cpu->r[7] = cpu->r[6] + 0x0000000Cu;
|
|
L_02C48B00: ; // 0x2c48b00
|
|
/* 02C48B00 */ _t39 = cpu->r[30] + 0x00000038u;
|
|
/* 02C48B00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C48B04 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C48B08 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C48B0C */ Gambit_fn_02C23550(cpu);
|
|
/* 02C48B10 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02C48B14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[8]);
|
|
/* 02C48B18 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48B18 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C48B18 */ if (_t41) goto L_02C48B24; else goto L_02C48B1C;
|
|
L_02C48B1C: ; // 0x2c48b1c
|
|
/* 02C48B1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
|
|
/* 02C48B20 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48B20 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C48B20 */ if (_t43) goto L_02C48B24; else goto L_02C48B74;
|
|
L_02C48B24: ; // 0x2c48b24
|
|
/* 02C48B24 */ _t44 = cpu->r[30] + 0x00000094u;
|
|
/* 02C48B24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C48B28 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02C48B2C */ _t45 = cpu->r[26] + 0x00000004u;
|
|
/* 02C48B2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C48B30 */ Gambit_fn_02C35198(cpu);
|
|
/* 02C48B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C48B38 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48B38 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C48B38 */ if (_t47) goto L_02C48B3C; else goto L_02C48B5C;
|
|
L_02C48B3C: ; // 0x2c48b3c
|
|
/* 02C48B3C */ _t48 = cpu->r[30] + 0x00000094u;
|
|
/* 02C48B3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C48B40 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C48B44 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C48B48 */ _t49 = cpu->r[7] + 0x00000014u;
|
|
/* 02C48B48 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[25]);
|
|
/* 02C48B4C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48B50 */ _t50 = cpu->r[30] + 0x00000098u;
|
|
/* 02C48B50 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[12]);
|
|
/* 02C48B54 */ Gambit_fn_02C1BDA4(cpu);
|
|
/* 02C48B58 */ goto L_02C48C04;
|
|
L_02C48B5C: ; // 0x2c48b5c
|
|
/* 02C48B5C */ _t51 = cpu->r[26] + 0x00000004u;
|
|
/* 02C48B5C */ cpu->r[5] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C48B60 */ cpu->r[7] = cpu->r[1] + 0x00000018u;
|
|
/* 02C48B64 */ _t52 = cpu->r[30] + 0x00000038u;
|
|
/* 02C48B64 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C48B68 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C48B6C */ cpu->r[4] = cpu->r[24];
|
|
/* 02C48B70 */ Gambit_fn_02C23550(cpu);
|
|
L_02C48B74: ; // 0x2c48b74
|
|
/* 02C48B74 */ cpu->r[23] = cpu->r[23] + 0x00000008u;
|
|
/* 02C48B78 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C48B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C48B7C */ cpu->r[22] = cpu->r[22] + 0x00000008u;
|
|
/* 02C48B80 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C48B84 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48B84 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C48B84 */ if (_t54) goto L_02C48B88; else goto L_02C48A6C;
|
|
L_02C48B88: ; // 0x2c48b88
|
|
/* 02C48B88 */ _t55 = cpu->r[30] + 0x00000048u;
|
|
/* 02C48B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C48B8C */ cpu->r[8] = 0x00000000u;
|
|
/* 02C48B90 */ cpu->r[5] = cpu->r[30] + 0x00000090u;
|
|
/* 02C48B94 */ cpu->r[10] = cpu->r[1] + 0x00000007u;
|
|
/* 02C48B98 */ _t56 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02C48B98 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 02C48B9C */ cpu->r[0] = 0x00000004u;
|
|
/* 02C48BA0 */ cpu->r[11] = cpu->r[27] + 0xFFFFFFF8u;
|
|
/* 02C48BA4 */ cpu->r[7] = cpu->r[30] + 0x0000006Cu;
|
|
/* 02C48BA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02C48BAC */ cpu->r[12] = cpu->r[8];
|
|
L_02C48BB0: ; // 0x2c48bb0
|
|
/* 02C48BB0 */ _t57 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C48BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C48BB4 */ cpu->r[6] = cpu->r[28] + cpu->r[12];
|
|
/* 02C48BB8 */ _t58 = cpu->r[6] + 0x00000004u;
|
|
/* 02C48BB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C48BBC */ _t59 = cpu->r[10] + 0x00000001u;
|
|
/* 02C48BBC */ cpu->r[6] = rbrew_read8(cpu->mem, _t59);
|
|
/* 02C48BBC */ cpu->r[10] = _t59;
|
|
/* 02C48BC0 */ _t60 = cpu->r[7] + 0x00000004u;
|
|
/* 02C48BC0 */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 02C48BC0 */ cpu->r[7] = _t60;
|
|
/* 02C48BC4 */ cpu->r[11] = cpu->r[11] + 0x00000008u;
|
|
/* 02C48BC8 */ _t61 = cpu->r[7] + 0x00000010u;
|
|
/* 02C48BC8 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 02C48BCC */ cpu->r[12] = cpu->r[12] + 0x00000008u;
|
|
/* 02C48BD0 */ _t62 = cpu->r[5] + cpu->r[8];
|
|
/* 02C48BD0 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[6]);
|
|
/* 02C48BD4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C48BD8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C48BD8 */ _t63 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C48BD8 */ _t64 = _t63 >> (0x00000002u & 31u);
|
|
/* 02C48BD8 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C48BD8 */ if (_t65) goto L_02C48BB0; else goto L_02C48BDC;
|
|
L_02C48BDC: ; // 0x2c48bdc
|
|
/* 02C48BDC */ _t66 = cpu->r[30] + 0x00000094u;
|
|
/* 02C48BDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C48BE0 */ cpu->r[8] = 0x00000002u;
|
|
/* 02C48BE4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48BE8 */ _t67 = cpu->r[7] + 0x00000014u;
|
|
/* 02C48BE8 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[8]);
|
|
/* 02C48BEC */ Gambit_fn_02C1BD7C(cpu);
|
|
/* 02C48BF0 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C48BF4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C48BF8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48BFC */ _t68 = cpu->r[30] + 0x00000098u;
|
|
/* 02C48BFC */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[12]);
|
|
/* 02C48C00 */ Gambit_fn_02C1BDA4(cpu);
|
|
L_02C48C04: ; // 0x2c48c04
|
|
/* 02C48C04 */ /* nop */
|
|
/* 02C48C08 */ _t69 = cpu->r[1] + 0x000002BCu;
|
|
/* 02C48C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C48C0C */ cpu->lr = cpu->r[0];
|
|
/* 02C48C10 */ cpu->r[1] = cpu->r[1] + 0x000002B8u;
|
|
/* 02C48C14 */ return;
|
|
}
|
|
|
|
// fn_02C48C18 @ 0x2c48c18
|
|
void Gambit_fn_02C48C18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C48C18: ; // 0x2c48c18
|
|
/* 02C48C18 */ cpu->r[11] = 0x00000010u;
|
|
/* 02C48C1C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C48C20 */ cpu->r[12] = 0x10220000u;
|
|
/* 02C48C24 */ cpu->ctr = cpu->r[11];
|
|
/* 02C48C28 */ cpu->r[12] = cpu->r[12] + 0x00005832u;
|
|
L_02C48C2C: ; // 0x2c48c2c
|
|
/* 02C48C2C */ _t0 = cpu->r[12] + 0x00000002u;
|
|
/* 02C48C2C */ rbrew_write16(cpu->mem, _t0, (uint16_t)cpu->r[0]);
|
|
/* 02C48C2C */ cpu->r[12] = _t0;
|
|
/* 02C48C30 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C48C30 */ _t1 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C48C30 */ _t2 = _t1 >> (0x00000002u & 31u);
|
|
/* 02C48C30 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C48C30 */ if (_t3) goto L_02C48C2C; else goto L_02C48C34;
|
|
L_02C48C34: ; // 0x2c48c34
|
|
/* 02C48C34 */ return;
|
|
}
|
|
|
|
// fn_02C48C38 @ 0x2c48c38
|
|
void Gambit_fn_02C48C38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_02C48C38: ; // 0x2c48c38
|
|
/* 02C48C38 */ cpu->r[0] = cpu->lr;
|
|
/* 02C48C3C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C48C3C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C48C40 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C48C44 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C48C44 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C48C44 */ cpu->r[1] = _t1;
|
|
/* 02C48C48 */ Gambit_fn_02C4533C(cpu);
|
|
/* 02C48C4C */ cpu->r[8] = 0x00000000u;
|
|
/* 02C48C50 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C48C54 */ _t2 = cpu->r[6] + 0x000001B4u;
|
|
/* 02C48C54 */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[8]);
|
|
/* 02C48C58 */ cpu->r[12] = 0x0000007Fu;
|
|
/* 02C48C5C */ _t3 = cpu->r[10] + 0xFFFFCFA0u;
|
|
/* 02C48C5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C48C60 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C48C64 */ _t4 = cpu->r[6] + 0x000001B1u;
|
|
/* 02C48C64 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02C48C68 */ _t5 = cpu->r[6] + 0x00000194u;
|
|
/* 02C48C68 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[13]);
|
|
/* 02C48C6C */ _t6 = cpu->r[11] + 0xFFFFCFB4u;
|
|
/* 02C48C6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C48C70 */ _t7 = cpu->r[6] + 0x000001A0u;
|
|
/* 02C48C70 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02C48C74 */ _t8 = cpu->r[6] + 0x000001A4u;
|
|
/* 02C48C74 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02C48C78 */ _t9 = cpu->r[6] + 0x00000228u;
|
|
/* 02C48C78 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02C48C7C */ cpu->r[0] = 0x00000030u;
|
|
/* 02C48C80 */ _t10 = cpu->r[6] + 0x0000019Cu;
|
|
/* 02C48C80 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02C48C84 */ _t11 = cpu->r[6] + 0x000001ADu;
|
|
/* 02C48C84 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 02C48C88 */ _t12 = cpu->r[6] + 0x000001B8u;
|
|
/* 02C48C88 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02C48C8C */ _t13 = cpu->r[6] + 0x00000190u;
|
|
/* 02C48C8C */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[8]);
|
|
/* 02C48C90 */ _t14 = cpu->r[6] + 0x000001C0u;
|
|
/* 02C48C90 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 02C48C94 */ cpu->r[0] = 0x00000010u;
|
|
/* 02C48C98 */ _t15 = cpu->r[6] + 0x000001C4u;
|
|
/* 02C48C98 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 02C48C9C */ _t16 = cpu->r[6] + 0x00000026u;
|
|
/* 02C48C9C */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[8]);
|
|
/* 02C48CA0 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02C48CA4 */ _t17 = cpu->r[6] + 0x000001A8u;
|
|
/* 02C48CA4 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02C48CA8 */ _t18 = cpu->r[6] + 0x000001B2u;
|
|
/* 02C48CA8 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[8]);
|
|
/* 02C48CAC */ _t19 = cpu->r[6] + 0x00000024u;
|
|
/* 02C48CAC */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[8]);
|
|
/* 02C48CB0 */ _t20 = cpu->r[6] + 0x000001B0u;
|
|
/* 02C48CB0 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[12]);
|
|
/* 02C48CB4 */ cpu->r[10] = 0x00000078u;
|
|
/* 02C48CB8 */ _t21 = cpu->r[6] + 0x00000025u;
|
|
/* 02C48CB8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[8]);
|
|
/* 02C48CBC */ cpu->r[12] = cpu->r[6] + 0x00000206u;
|
|
/* 02C48CC0 */ _t22 = cpu->r[6] + 0x00000198u;
|
|
/* 02C48CC0 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 02C48CC4 */ cpu->r[9] = 0x00000040u;
|
|
/* 02C48CC8 */ _t23 = cpu->r[6] + 0x000001AEu;
|
|
/* 02C48CC8 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[10]);
|
|
/* 02C48CCC */ cpu->ctr = cpu->r[0];
|
|
/* 02C48CD0 */ _t24 = cpu->r[6] + 0x000001ACu;
|
|
/* 02C48CD0 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[9]);
|
|
L_02C48CD4: ; // 0x2c48cd4
|
|
/* 02C48CD4 */ _t25 = cpu->r[12] + 0x00000002u;
|
|
/* 02C48CD4 */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[7]);
|
|
/* 02C48CD4 */ cpu->r[12] = _t25;
|
|
/* 02C48CD8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C48CD8 */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C48CD8 */ _t27 = _t26 >> (0x00000002u & 31u);
|
|
/* 02C48CD8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C48CD8 */ if (_t28) goto L_02C48CD4; else goto L_02C48CDC;
|
|
L_02C48CDC: ; // 0x2c48cdc
|
|
/* 02C48CDC */ cpu->r[12] = 0x00000010u;
|
|
/* 02C48CE0 */ cpu->r[9] = cpu->r[6] + 0x000001C4u;
|
|
/* 02C48CE4 */ cpu->ctr = cpu->r[12];
|
|
/* 02C48CE8 */ cpu->r[0] = 0x00000000u;
|
|
L_02C48CEC: ; // 0x2c48cec
|
|
/* 02C48CEC */ _t29 = cpu->r[9] + 0x00000004u;
|
|
/* 02C48CEC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02C48CEC */ cpu->r[9] = _t29;
|
|
/* 02C48CF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C48CF0 */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C48CF0 */ _t31 = _t30 >> (0x00000002u & 31u);
|
|
/* 02C48CF0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C48CF0 */ if (_t32) goto L_02C48CEC; else goto L_02C48CF4;
|
|
L_02C48CF4: ; // 0x2c48cf4
|
|
/* 02C48CF4 */ _t33 = cpu->r[6] + 0x0000029Eu;
|
|
/* 02C48CF4 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[8]);
|
|
/* 02C48CF8 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C48CFC */ _t34 = cpu->r[6] + 0x0000029Du;
|
|
/* 02C48CFC */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[10]);
|
|
/* 02C48D00 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C48D04 */ cpu->lr = cpu->r[0];
|
|
/* 02C48D08 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C48D0C */ return;
|
|
}
|
|
|
|
// fn_02C48C44 @ 0x2c48c44
|
|
void Gambit_fn_02C48C44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C48C44: ; // 0x2c48c44
|
|
/* 02C48C44 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C48C44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C48C44 */ cpu->r[1] = _t0;
|
|
/* 02C48C48 */ Gambit_fn_02C4533C(cpu);
|
|
/* 02C48C4C */ cpu->r[8] = 0x00000000u;
|
|
/* 02C48C50 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C48C54 */ _t1 = cpu->r[6] + 0x000001B4u;
|
|
/* 02C48C54 */ rbrew_write16(cpu->mem, _t1, (uint16_t)cpu->r[8]);
|
|
/* 02C48C58 */ cpu->r[12] = 0x0000007Fu;
|
|
/* 02C48C5C */ _t2 = cpu->r[10] + 0xFFFFCFA0u;
|
|
/* 02C48C5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C48C60 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C48C64 */ _t3 = cpu->r[6] + 0x000001B1u;
|
|
/* 02C48C64 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[12]);
|
|
/* 02C48C68 */ _t4 = cpu->r[6] + 0x00000194u;
|
|
/* 02C48C68 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
|
|
/* 02C48C6C */ _t5 = cpu->r[11] + 0xFFFFCFB4u;
|
|
/* 02C48C6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C48C70 */ _t6 = cpu->r[6] + 0x000001A0u;
|
|
/* 02C48C70 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 02C48C74 */ _t7 = cpu->r[6] + 0x000001A4u;
|
|
/* 02C48C74 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02C48C78 */ _t8 = cpu->r[6] + 0x00000228u;
|
|
/* 02C48C78 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02C48C7C */ cpu->r[0] = 0x00000030u;
|
|
/* 02C48C80 */ _t9 = cpu->r[6] + 0x0000019Cu;
|
|
/* 02C48C80 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02C48C84 */ _t10 = cpu->r[6] + 0x000001ADu;
|
|
/* 02C48C84 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
/* 02C48C88 */ _t11 = cpu->r[6] + 0x000001B8u;
|
|
/* 02C48C88 */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 02C48C8C */ _t12 = cpu->r[6] + 0x00000190u;
|
|
/* 02C48C8C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[8]);
|
|
/* 02C48C90 */ _t13 = cpu->r[6] + 0x000001C0u;
|
|
/* 02C48C90 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 02C48C94 */ cpu->r[0] = 0x00000010u;
|
|
/* 02C48C98 */ _t14 = cpu->r[6] + 0x000001C4u;
|
|
/* 02C48C98 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 02C48C9C */ _t15 = cpu->r[6] + 0x00000026u;
|
|
/* 02C48C9C */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[8]);
|
|
/* 02C48CA0 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02C48CA4 */ _t16 = cpu->r[6] + 0x000001A8u;
|
|
/* 02C48CA4 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 02C48CA8 */ _t17 = cpu->r[6] + 0x000001B2u;
|
|
/* 02C48CA8 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[8]);
|
|
/* 02C48CAC */ _t18 = cpu->r[6] + 0x00000024u;
|
|
/* 02C48CAC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[8]);
|
|
/* 02C48CB0 */ _t19 = cpu->r[6] + 0x000001B0u;
|
|
/* 02C48CB0 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[12]);
|
|
/* 02C48CB4 */ cpu->r[10] = 0x00000078u;
|
|
/* 02C48CB8 */ _t20 = cpu->r[6] + 0x00000025u;
|
|
/* 02C48CB8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[8]);
|
|
/* 02C48CBC */ cpu->r[12] = cpu->r[6] + 0x00000206u;
|
|
/* 02C48CC0 */ _t21 = cpu->r[6] + 0x00000198u;
|
|
/* 02C48CC0 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02C48CC4 */ cpu->r[9] = 0x00000040u;
|
|
/* 02C48CC8 */ _t22 = cpu->r[6] + 0x000001AEu;
|
|
/* 02C48CC8 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[10]);
|
|
/* 02C48CCC */ cpu->ctr = cpu->r[0];
|
|
/* 02C48CD0 */ _t23 = cpu->r[6] + 0x000001ACu;
|
|
/* 02C48CD0 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[9]);
|
|
L_02C48CD4: ; // 0x2c48cd4
|
|
/* 02C48CD4 */ _t24 = cpu->r[12] + 0x00000002u;
|
|
/* 02C48CD4 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[7]);
|
|
/* 02C48CD4 */ cpu->r[12] = _t24;
|
|
/* 02C48CD8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C48CD8 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C48CD8 */ _t26 = _t25 >> (0x00000002u & 31u);
|
|
/* 02C48CD8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C48CD8 */ if (_t27) goto L_02C48CD4; else goto L_02C48CDC;
|
|
L_02C48CDC: ; // 0x2c48cdc
|
|
/* 02C48CDC */ cpu->r[12] = 0x00000010u;
|
|
/* 02C48CE0 */ cpu->r[9] = cpu->r[6] + 0x000001C4u;
|
|
/* 02C48CE4 */ cpu->ctr = cpu->r[12];
|
|
/* 02C48CE8 */ cpu->r[0] = 0x00000000u;
|
|
L_02C48CEC: ; // 0x2c48cec
|
|
/* 02C48CEC */ _t28 = cpu->r[9] + 0x00000004u;
|
|
/* 02C48CEC */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C48CEC */ cpu->r[9] = _t28;
|
|
/* 02C48CF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C48CF0 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C48CF0 */ _t30 = _t29 >> (0x00000002u & 31u);
|
|
/* 02C48CF0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C48CF0 */ if (_t31) goto L_02C48CEC; else goto L_02C48CF4;
|
|
L_02C48CF4: ; // 0x2c48cf4
|
|
/* 02C48CF4 */ _t32 = cpu->r[6] + 0x0000029Eu;
|
|
/* 02C48CF4 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[8]);
|
|
/* 02C48CF8 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C48CFC */ _t33 = cpu->r[6] + 0x0000029Du;
|
|
/* 02C48CFC */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[10]);
|
|
/* 02C48D00 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C48D04 */ cpu->lr = cpu->r[0];
|
|
/* 02C48D08 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C48D0C */ return;
|
|
}
|
|
|
|
// fn_02C48D10 @ 0x2c48d10
|
|
void Gambit_fn_02C48D10(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C48D10: ; // 0x2c48d10
|
|
/* 02C48D10 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C48D10 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02C48D14 */ return;
|
|
}
|
|
|
|
// fn_02C48D18 @ 0x2c48d18
|
|
void Gambit_fn_02C48D18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C48D18: ; // 0x2c48d18
|
|
/* 02C48D18 */ cpu->r[0] = cpu->lr;
|
|
/* 02C48D1C */ cpu->r[12] = cpu->r[3];
|
|
/* 02C48D20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000000Fu);
|
|
/* 02C48D24 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C48D24 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C48D28 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C48D2C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C48D2C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C48D2C */ cpu->r[1] = _t1;
|
|
/* 02C48D30 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C48D30 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C48D30 */ if (_t3) goto L_02C48D4C; else goto L_02C48D34;
|
|
L_02C48D34: ; // 0x2c48d34
|
|
/* 02C48D34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C48D38 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02C48D3C */ _t4 = cpu->r[11] + 0x000001C8u;
|
|
/* 02C48D3C */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02C48D40 */ Gambit_fn_02C48D10(cpu);
|
|
/* 02C48D44 */ _t5 = cpu->r[12] + 0x0000003Du;
|
|
/* 02C48D44 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C48D48 */ _t6 = cpu->r[3] + 0x0000015Du;
|
|
/* 02C48D48 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
L_02C48D4C: ; // 0x2c48d4c
|
|
/* 02C48D4C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C48D50 */ cpu->lr = cpu->r[0];
|
|
/* 02C48D54 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C48D58 */ return;
|
|
}
|
|
|
|
// fn_02C48D2C @ 0x2c48d2c
|
|
void Gambit_fn_02C48D2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C48D2C: ; // 0x2c48d2c
|
|
/* 02C48D2C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C48D2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C48D2C */ cpu->r[1] = _t0;
|
|
/* 02C48D30 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C48D30 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C48D30 */ if (_t2) goto L_02C48D4C; else goto L_02C48D34;
|
|
L_02C48D34: ; // 0x2c48d34
|
|
/* 02C48D34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C48D38 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02C48D3C */ _t3 = cpu->r[11] + 0x000001C8u;
|
|
/* 02C48D3C */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02C48D40 */ Gambit_fn_02C48D10(cpu);
|
|
/* 02C48D44 */ _t4 = cpu->r[12] + 0x0000003Du;
|
|
/* 02C48D44 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C48D48 */ _t5 = cpu->r[3] + 0x0000015Du;
|
|
/* 02C48D48 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
L_02C48D4C: ; // 0x2c48d4c
|
|
/* 02C48D4C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C48D50 */ cpu->lr = cpu->r[0];
|
|
/* 02C48D54 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C48D58 */ return;
|
|
}
|
|
|
|
// fn_02C48D5C @ 0x2c48d5c
|
|
void Gambit_fn_02C48D5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C48D5C: ; // 0x2c48d5c
|
|
/* 02C48D5C */ cpu->r[0] = cpu->lr;
|
|
/* 02C48D60 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C48D60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C48D60 */ cpu->r[1] = _t0;
|
|
/* 02C48D64 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C48D64 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C48D68 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C48D68 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C48D6C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48D6C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C48D70 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48D70 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C48D74 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48D74 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C48D78 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C48D7C */ _t6 = cpu->r[29] + 0x00000008u;
|
|
/* 02C48D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C48D80 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C48D84 */ _t7 = cpu->r[28] + 0x000001B8u;
|
|
/* 02C48D84 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C48D88 */ _t8 = cpu->r[29] + 0x00000004u;
|
|
/* 02C48D88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C48D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C48D90 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C48D94 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48D94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C48D94 */ if (_t10) goto L_02C48DAC; else goto L_02C48D98;
|
|
L_02C48D98: ; // 0x2c48d98
|
|
/* 02C48D98 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C48D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C48D9C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48D9C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C48D9C */ if (_t12) goto L_02C48DA4; else goto L_02C48DA0;
|
|
L_02C48DA0: ; // 0x2c48da0
|
|
/* 02C48DA0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C48DA4: ; // 0x2c48da4
|
|
/* 02C48DA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C48DA8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48DA8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C48DA8 */ if (_t14) goto L_02C48DAC; else goto L_02C48D98;
|
|
L_02C48DAC: ; // 0x2c48dac
|
|
/* 02C48DAC */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 02C48DAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C48DB0 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02C48DB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C48DB4 */ _t17 = cpu->r[10] + 0x00000024u;
|
|
/* 02C48DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C48DB8 */ cpu->ctr = cpu->r[0];
|
|
/* 02C48DBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C48DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]);
|
|
/* 02C48DC4 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C48DC4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C48DC4 */ if (_t19) goto L_02C48DC8; else goto L_02C48DFC;
|
|
L_02C48DC8: ; // 0x2c48dc8
|
|
/* 02C48DC8 */ _t20 = cpu->r[28] + 0x00000174u;
|
|
/* 02C48DC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C48DCC */ _t21 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C48DCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C48DD0 */ cpu->ctr = cpu->r[12];
|
|
/* 02C48DD4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C48DD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C48DDC */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02C48DDC */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C48DE0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48DE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C48DE4 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C48DE8 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02C48DE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C48DEC */ cpu->lr = cpu->r[0];
|
|
/* 02C48DF0 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48DF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C48DF4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C48DF8 */ return;
|
|
L_02C48DFC: ; // 0x2c48dfc
|
|
/* 02C48DFC */ _t27 = cpu->r[29] + 0x00000004u;
|
|
/* 02C48DFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C48E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C48E04 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C48E08 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48E08 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C48E08 */ if (_t29) goto L_02C48E48; else goto L_02C48E0C;
|
|
L_02C48E0C: ; // 0x2c48e0c
|
|
/* 02C48E0C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C48E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C48E10 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48E10 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C48E10 */ if (_t31) goto L_02C48E3C; else goto L_02C48E14;
|
|
L_02C48E14: ; // 0x2c48e14
|
|
/* 02C48E14 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 02C48E14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C48E18 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 02C48E18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C48E1C */ _t34 = cpu->r[11] + 0x00000014u;
|
|
/* 02C48E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C48E20 */ cpu->ctr = cpu->r[12];
|
|
/* 02C48E24 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C48E28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C48E2C */ cpu->r[5] = cpu->r[3];
|
|
/* 02C48E30 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C48E34 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C48E38 */ Gambit_fn_02C48D18(cpu);
|
|
L_02C48E3C: ; // 0x2c48e3c
|
|
/* 02C48E3C */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C48E40 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C48E44 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48E44 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C48E44 */ if (_t36) goto L_02C48E48; else goto L_02C48E0C;
|
|
L_02C48E48: ; // 0x2c48e48
|
|
/* 02C48E48 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 02C48E48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C48E4C */ _t38 = cpu->r[28] + 0x000001BCu;
|
|
/* 02C48E4C */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 02C48E50 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02C48E50 */ cpu->r[28] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C48E54 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48E54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C48E58 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48E58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C48E5C */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02C48E5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C48E60 */ cpu->lr = cpu->r[0];
|
|
/* 02C48E64 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48E64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C48E68 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C48E6C */ return;
|
|
}
|
|
|
|
// fn_02C48D60 @ 0x2c48d60
|
|
void Gambit_fn_02C48D60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C48D60: ; // 0x2c48d60
|
|
/* 02C48D60 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C48D60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C48D60 */ cpu->r[1] = _t0;
|
|
/* 02C48D64 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C48D64 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C48D68 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C48D68 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C48D6C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48D6C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C48D70 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48D70 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C48D74 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48D74 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C48D78 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C48D7C */ _t6 = cpu->r[29] + 0x00000008u;
|
|
/* 02C48D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C48D80 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C48D84 */ _t7 = cpu->r[28] + 0x000001B8u;
|
|
/* 02C48D84 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C48D88 */ _t8 = cpu->r[29] + 0x00000004u;
|
|
/* 02C48D88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C48D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C48D90 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C48D94 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48D94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C48D94 */ if (_t10) goto L_02C48DAC; else goto L_02C48D98;
|
|
L_02C48D98: ; // 0x2c48d98
|
|
/* 02C48D98 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C48D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C48D9C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48D9C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C48D9C */ if (_t12) goto L_02C48DA4; else goto L_02C48DA0;
|
|
L_02C48DA0: ; // 0x2c48da0
|
|
/* 02C48DA0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C48DA4: ; // 0x2c48da4
|
|
/* 02C48DA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C48DA8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48DA8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C48DA8 */ if (_t14) goto L_02C48DAC; else goto L_02C48D98;
|
|
L_02C48DAC: ; // 0x2c48dac
|
|
/* 02C48DAC */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 02C48DAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C48DB0 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02C48DB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C48DB4 */ _t17 = cpu->r[10] + 0x00000024u;
|
|
/* 02C48DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C48DB8 */ cpu->ctr = cpu->r[0];
|
|
/* 02C48DBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C48DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]);
|
|
/* 02C48DC4 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C48DC4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C48DC4 */ if (_t19) goto L_02C48DC8; else goto L_02C48DFC;
|
|
L_02C48DC8: ; // 0x2c48dc8
|
|
/* 02C48DC8 */ _t20 = cpu->r[28] + 0x00000174u;
|
|
/* 02C48DC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C48DCC */ _t21 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C48DCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C48DD0 */ cpu->ctr = cpu->r[12];
|
|
/* 02C48DD4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C48DD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C48DDC */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02C48DDC */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C48DE0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48DE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C48DE4 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C48DE8 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02C48DE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C48DEC */ cpu->lr = cpu->r[0];
|
|
/* 02C48DF0 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48DF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C48DF4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C48DF8 */ return;
|
|
L_02C48DFC: ; // 0x2c48dfc
|
|
/* 02C48DFC */ _t27 = cpu->r[29] + 0x00000004u;
|
|
/* 02C48DFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C48E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C48E04 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C48E08 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48E08 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C48E08 */ if (_t29) goto L_02C48E48; else goto L_02C48E0C;
|
|
L_02C48E0C: ; // 0x2c48e0c
|
|
/* 02C48E0C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C48E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C48E10 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48E10 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C48E10 */ if (_t31) goto L_02C48E3C; else goto L_02C48E14;
|
|
L_02C48E14: ; // 0x2c48e14
|
|
/* 02C48E14 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 02C48E14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C48E18 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 02C48E18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C48E1C */ _t34 = cpu->r[11] + 0x00000014u;
|
|
/* 02C48E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C48E20 */ cpu->ctr = cpu->r[12];
|
|
/* 02C48E24 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C48E28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C48E2C */ cpu->r[5] = cpu->r[3];
|
|
/* 02C48E30 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C48E34 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C48E38 */ Gambit_fn_02C48D18(cpu);
|
|
L_02C48E3C: ; // 0x2c48e3c
|
|
/* 02C48E3C */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C48E40 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C48E44 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48E44 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C48E44 */ if (_t36) goto L_02C48E48; else goto L_02C48E0C;
|
|
L_02C48E48: ; // 0x2c48e48
|
|
/* 02C48E48 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 02C48E48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C48E4C */ _t38 = cpu->r[28] + 0x000001BCu;
|
|
/* 02C48E4C */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 02C48E50 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02C48E50 */ cpu->r[28] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C48E54 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48E54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C48E58 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C48E58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C48E5C */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02C48E5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C48E60 */ cpu->lr = cpu->r[0];
|
|
/* 02C48E64 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48E64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C48E68 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C48E6C */ return;
|
|
}
|
|
|
|
// fn_02C48E70 @ 0x2c48e70
|
|
void Gambit_fn_02C48E70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02C48E70: ; // 0x2c48e70
|
|
/* 02C48E70 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C48E70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C48E70 */ cpu->r[1] = _t0;
|
|
/* 02C48E74 */ /* nop */
|
|
/* 02C48E78 */ cpu->r[0] = cpu->lr;
|
|
/* 02C48E7C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C48E7C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C48E80 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C48E84 */ _t2 = cpu->r[30] + 0x00000024u;
|
|
/* 02C48E84 */ cpu->r[11] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C48E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C48E8C */ cpu->r[31] = cpu->r[4];
|
|
/* 02C48E90 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48E90 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C48E90 */ if (_t4) goto L_02C48E9C; else goto L_02C48E94;
|
|
L_02C48E94: ; // 0x2c48e94
|
|
/* 02C48E94 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C48E98 */ Gambit_fn_02C3A62C(cpu);
|
|
L_02C48E9C: ; // 0x2c48e9c
|
|
/* 02C48E9C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C48EA0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C48EA4 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C48EA8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C48EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C48EAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48EAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C48EAC */ if (_t6) goto L_02C48EB0; else goto L_02C48ED8;
|
|
L_02C48EB0: ; // 0x2c48eb0
|
|
/* 02C48EB0 */ _t7 = cpu->r[30] + 0x00000174u;
|
|
/* 02C48EB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C48EB4 */ _t8 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C48EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C48EB8 */ cpu->ctr = cpu->r[0];
|
|
/* 02C48EBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C48EC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C48EC4 */ /* nop */
|
|
/* 02C48EC8 */ _t9 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C48EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C48ECC */ cpu->lr = cpu->r[0];
|
|
/* 02C48ED0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C48ED4 */ return;
|
|
L_02C48ED8: ; // 0x2c48ed8
|
|
/* 02C48ED8 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02C48ED8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C48EDC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C48EE0 */ Gambit_fn_02C3AD04(cpu);
|
|
/* 02C48EE4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C48EE8 */ Gambit_fn_02C3AC04(cpu);
|
|
/* 02C48EEC */ _t11 = cpu->r[31] + 0x00000028u;
|
|
/* 02C48EEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C48EF0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C48EF4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C48EF8 */ Gambit_fn_02C3ADB8(cpu);
|
|
/* 02C48EFC */ Gambit_fn_02C3ADC8(cpu);
|
|
/* 02C48F00 */ cpu->r[29] = cpu->r[31] + 0x00000024u;
|
|
/* 02C48F04 */ cpu->r[28] = cpu->r[30] + 0x0000022Cu;
|
|
/* 02C48F08 */ cpu->r[27] = cpu->r[31];
|
|
/* 02C48F0C */ cpu->r[26] = cpu->r[30] + 0x0000026Cu;
|
|
/* 02C48F10 */ cpu->r[25] = 0x00000004u;
|
|
/* 02C48F14 */ cpu->r[24] = 0x00000000u;
|
|
L_02C48F18: ; // 0x2c48f18
|
|
/* 02C48F18 */ _t12 = cpu->r[27] + 0x00000004u;
|
|
/* 02C48F18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C48F18 */ cpu->r[27] = _t12;
|
|
/* 02C48F1C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C48F20 */ Gambit_fn_02C3AE78(cpu);
|
|
/* 02C48F24 */ _t13 = cpu->r[29] + cpu->r[24];
|
|
/* 02C48F24 */ cpu->r[5] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C48F28 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C48F2C */ _t14 = cpu->r[27] + 0x00000010u;
|
|
/* 02C48F2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C48F30 */ Gambit_fn_02C3B020(cpu);
|
|
/* 02C48F34 */ cpu->r[26] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C48F38 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C48F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C48F3C */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C48F40 */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02C48F44 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C48F44 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C48F44 */ if (_t16) goto L_02C48F48; else goto L_02C48F18;
|
|
L_02C48F48: ; // 0x2c48f48
|
|
/* 02C48F48 */ cpu->r[0] = 0xAAAA0000u;
|
|
/* 02C48F4C */ cpu->r[7] = 0x00000003u;
|
|
/* 02C48F50 */ cpu->r[0] = cpu->r[0] | 0x0000AAABu;
|
|
/* 02C48F54 */ _t17 = cpu->r[30] + 0x0000029Cu;
|
|
/* 02C48F54 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[7]);
|
|
/* 02C48F58 */ _t18 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C48F58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C48F5C */ cpu->r[31] = 0x00000001u;
|
|
/* 02C48F60 */ /* nop */
|
|
/* 02C48F64 */ _t19 = cpu->r[30] + 0x00000024u;
|
|
/* 02C48F64 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[31]);
|
|
/* 02C48F68 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C48F6C */ _t20 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C48F6C */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 02C48F70 */ Gambit_fn_02C26F1C(cpu);
|
|
/* 02C48F74 */ cpu->r[4] = cpu->r[30] + 0x00000178u;
|
|
/* 02C48F78 */ Gambit_fn_02C2700C(cpu);
|
|
/* 02C48F7C */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C48F80 */ cpu->r[4] = cpu->r[30] + 0x00000184u;
|
|
/* 02C48F84 */ Gambit_fn_02C35F5C(cpu);
|
|
/* 02C48F88 */ _t21 = cpu->r[30] + 0x0000029Eu;
|
|
/* 02C48F88 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
|
|
/* 02C48F8C */ /* nop */
|
|
/* 02C48F90 */ _t22 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C48F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C48F94 */ cpu->lr = cpu->r[0];
|
|
/* 02C48F98 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C48F9C */ return;
|
|
}
|
|
|
|
// fn_02C48FA0 @ 0x2c48fa0
|
|
void Gambit_fn_02C48FA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02C48FA0: ; // 0x2c48fa0
|
|
/* 02C48FA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C48FA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C48FA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C48FA4 */ cpu->r[1] = _t0;
|
|
/* 02C48FA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48FA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C48FAC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C48FAC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C48FB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48FB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C48FB4 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02C48FB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C48FB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C48FBC */ _t5 = cpu->r[30] + 0x000002A0u;
|
|
/* 02C48FBC */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02C48FC0 */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 02C48FC0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C48FC4 */ _t7 = cpu->r[30] + 0x000002A4u;
|
|
/* 02C48FC4 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02C48FC8 */ _t8 = cpu->r[4] + 0x00000008u;
|
|
/* 02C48FC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C48FCC */ cpu->r[10] = 0x0000000Du;
|
|
/* 02C48FD0 */ cpu->r[8] = cpu->r[5] + 0xFFFFFFFCu;
|
|
/* 02C48FD4 */ _t9 = cpu->r[30] + 0x000002A8u;
|
|
/* 02C48FD4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C48FD8 */ _t10 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C48FD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C48FDC */ cpu->ctr = cpu->r[10];
|
|
/* 02C48FE0 */ cpu->r[9] = cpu->r[30] + 0x000002B4u;
|
|
/* 02C48FE4 */ _t11 = cpu->r[30] + 0x000002ACu;
|
|
/* 02C48FE4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02C48FE8: ; // 0x2c48fe8
|
|
/* 02C48FE8 */ _t12 = cpu->r[8] + 0x00000004u;
|
|
/* 02C48FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C48FE8 */ cpu->r[8] = _t12;
|
|
/* 02C48FEC */ _t13 = cpu->r[9] + 0x00000004u;
|
|
/* 02C48FEC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02C48FEC */ cpu->r[9] = _t13;
|
|
/* 02C48FF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C48FF0 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C48FF0 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 02C48FF0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C48FF0 */ if (_t16) goto L_02C48FE8; else goto L_02C48FF4;
|
|
L_02C48FF4: ; // 0x2c48ff4
|
|
/* 02C48FF4 */ cpu->r[31] = 0x00000001u;
|
|
/* 02C48FF8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C48FFC */ _t17 = cpu->r[30] + 0x0000029Cu;
|
|
/* 02C48FFC */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[31]);
|
|
/* 02C49000 */ _t18 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C49000 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02C49004 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C49008 */ cpu->r[4] = cpu->r[30] + 0x00000184u;
|
|
/* 02C4900C */ Gambit_fn_02C35F5C(cpu);
|
|
/* 02C49010 */ _t19 = cpu->r[30] + 0x0000029Eu;
|
|
/* 02C49010 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[31]);
|
|
/* 02C49014 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C49018 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49018 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C4901C */ cpu->lr = cpu->r[0];
|
|
/* 02C49020 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49020 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C49024 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C49028 */ return;
|
|
}
|
|
|
|
// fn_02C48FA4 @ 0x2c48fa4
|
|
void Gambit_fn_02C48FA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02C48FA4: ; // 0x2c48fa4
|
|
/* 02C48FA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C48FA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C48FA4 */ cpu->r[1] = _t0;
|
|
/* 02C48FA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C48FA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C48FAC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C48FAC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C48FB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C48FB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C48FB4 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02C48FB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C48FB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C48FBC */ _t5 = cpu->r[30] + 0x000002A0u;
|
|
/* 02C48FBC */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02C48FC0 */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 02C48FC0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C48FC4 */ _t7 = cpu->r[30] + 0x000002A4u;
|
|
/* 02C48FC4 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02C48FC8 */ _t8 = cpu->r[4] + 0x00000008u;
|
|
/* 02C48FC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C48FCC */ cpu->r[10] = 0x0000000Du;
|
|
/* 02C48FD0 */ cpu->r[8] = cpu->r[5] + 0xFFFFFFFCu;
|
|
/* 02C48FD4 */ _t9 = cpu->r[30] + 0x000002A8u;
|
|
/* 02C48FD4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C48FD8 */ _t10 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C48FD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C48FDC */ cpu->ctr = cpu->r[10];
|
|
/* 02C48FE0 */ cpu->r[9] = cpu->r[30] + 0x000002B4u;
|
|
/* 02C48FE4 */ _t11 = cpu->r[30] + 0x000002ACu;
|
|
/* 02C48FE4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02C48FE8: ; // 0x2c48fe8
|
|
/* 02C48FE8 */ _t12 = cpu->r[8] + 0x00000004u;
|
|
/* 02C48FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C48FE8 */ cpu->r[8] = _t12;
|
|
/* 02C48FEC */ _t13 = cpu->r[9] + 0x00000004u;
|
|
/* 02C48FEC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02C48FEC */ cpu->r[9] = _t13;
|
|
/* 02C48FF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C48FF0 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C48FF0 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 02C48FF0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C48FF0 */ if (_t16) goto L_02C48FE8; else goto L_02C48FF4;
|
|
L_02C48FF4: ; // 0x2c48ff4
|
|
/* 02C48FF4 */ cpu->r[31] = 0x00000001u;
|
|
/* 02C48FF8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C48FFC */ _t17 = cpu->r[30] + 0x0000029Cu;
|
|
/* 02C48FFC */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[31]);
|
|
/* 02C49000 */ _t18 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C49000 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02C49004 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C49008 */ cpu->r[4] = cpu->r[30] + 0x00000184u;
|
|
/* 02C4900C */ Gambit_fn_02C35F5C(cpu);
|
|
/* 02C49010 */ _t19 = cpu->r[30] + 0x0000029Eu;
|
|
/* 02C49010 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[31]);
|
|
/* 02C49014 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C49018 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49018 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C4901C */ cpu->lr = cpu->r[0];
|
|
/* 02C49020 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49020 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C49024 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C49028 */ return;
|
|
}
|
|
|
|
// fn_02C4902C @ 0x2c4902c
|
|
void Gambit_fn_02C4902C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4902C: ; // 0x2c4902c
|
|
/* 02C4902C */ cpu->r[0] = 0x00000001u;
|
|
/* 02C49030 */ _t0 = cpu->r[3] + 0x00000025u;
|
|
/* 02C49030 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 02C49034 */ return;
|
|
}
|
|
|
|
// fn_02C49038 @ 0x2c49038
|
|
void Gambit_fn_02C49038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C3A62C: ; // 0x2c3a62c
|
|
/* 02C3A62C */ cpu->r[0] = cpu->lr;
|
|
/* 02C3A630 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C3A630 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C3A630 */ cpu->r[1] = _t0;
|
|
/* 02C3A634 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C3A634 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C3A638 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C3A638 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C3A63C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C3A63C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C3A640 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C3A644 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C3A644 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C3A648 */ _t5 = cpu->r[31] + 0x0000029Eu;
|
|
/* 02C3A648 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C3A64C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C3A650 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C3A654 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3A654 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C3A654 */ if (_t7) goto L_02C3A668; else goto L_02C3A658;
|
|
L_02C3A658: ; // 0x2c3a658
|
|
/* 02C3A658 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C3A65C */ cpu->r[4] = cpu->r[31] + 0x00000184u;
|
|
/* 02C3A660 */ Gambit_fn_02C35F90(cpu);
|
|
/* 02C3A664 */ _t8 = cpu->r[31] + 0x0000029Eu;
|
|
/* 02C3A664 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
|
|
L_02C3A668: ; // 0x2c3a668
|
|
/* 02C3A668 */ _t9 = cpu->r[31] + 0x00000025u;
|
|
/* 02C3A668 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C3A66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C3A670 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3A670 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C3A670 */ if (_t11) goto L_02C3A678; else goto L_02C3A674;
|
|
L_02C3A674: ; // 0x2c3a674
|
|
/* 02C3A674 */ _t12 = cpu->r[31] + 0x00000025u;
|
|
/* 02C3A674 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[30]);
|
|
L_02C3A678: ; // 0x2c3a678
|
|
/* 02C3A678 */ cpu->r[30] = 0x00000010u;
|
|
/* 02C3A67C */ cpu->r[29] = 0x00000000u;
|
|
L_02C3A680: ; // 0x2c3a680
|
|
/* 02C3A680 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3A684 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C3A688 */ Gambit_fn_02C3A5B8(cpu);
|
|
/* 02C3A68C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C3A68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C3A690 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C3A694 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3A694 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C3A694 */ if (_t14) goto L_02C3A698; else goto L_02C3A680;
|
|
L_02C3A698: ; // 0x2c3a698
|
|
/* 02C3A698 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C3A698 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C3A69C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C3A69C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C3A6A0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02C3A6A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C3A6A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C3A6A8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02C3A6A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C3A6AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C3A6B0 */ return;
|
|
L_02C49038: ; // 0x2c49038
|
|
/* 02C49038 */ goto L_02C3A62C;
|
|
}
|
|
|
|
// fn_02C4903C @ 0x2c4903c
|
|
void Gambit_fn_02C4903C(CPUState* 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_02C4903C: ; // 0x2c4903c
|
|
/* 02C4903C */ cpu->r[0] = cpu->lr;
|
|
/* 02C49040 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C49040 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49040 */ cpu->r[1] = _t0;
|
|
/* 02C49044 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49044 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C49048 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49048 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4904C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4904C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C49050 */ _t4 = cpu->r[3] + 0x00000218u;
|
|
/* 02C49050 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C49054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C49058 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4905C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4905C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4905C */ if (_t6) goto L_02C4909C; else goto L_02C49060;
|
|
L_02C49060: ; // 0x2c49060
|
|
/* 02C49060 */ _t7 = cpu->r[30] + 0x000000B1u;
|
|
/* 02C49060 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C49064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C49068 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49068 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C49068 */ if (_t9) goto L_02C49090; else goto L_02C4906C;
|
|
L_02C4906C: ; // 0x2c4906c
|
|
/* 02C4906C */ _t10 = cpu->r[30] + 0x000000B0u;
|
|
/* 02C4906C */ cpu->r[12] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C49070 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C49074 */ cpu->r[0] = cpu->r[12] - cpu->r[0];
|
|
/* 02C49078 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02C4907C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4907C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4907C */ if (_t12) goto L_02C49090; else goto L_02C49080;
|
|
L_02C49080: ; // 0x2c49080
|
|
/* 02C49080 */ _t13 = cpu->r[30] + 0x00000238u;
|
|
/* 02C49080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C49084 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C49088 */ _t14 = cpu->r[30] + 0x000000B0u;
|
|
/* 02C49088 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[31]);
|
|
/* 02C4908C */ Gambit_fn_02C27F88(cpu);
|
|
L_02C49090: ; // 0x2c49090
|
|
/* 02C49090 */ _t15 = cpu->r[30] + 0x0000023Cu;
|
|
/* 02C49090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C49094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C49098 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49098 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C49098 */ if (_t17) goto L_02C4909C; else goto L_02C49060;
|
|
L_02C4909C: ; // 0x2c4909c
|
|
/* 02C4909C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4909C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C490A0 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C490A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C490A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C490A8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C490A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C490AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C490B0 */ return;
|
|
}
|
|
|
|
// fn_02C49040 @ 0x2c49040
|
|
void Gambit_fn_02C49040(CPUState* 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_02C49040: ; // 0x2c49040
|
|
/* 02C49040 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C49040 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49040 */ cpu->r[1] = _t0;
|
|
/* 02C49044 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49044 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C49048 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49048 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4904C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4904C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C49050 */ _t4 = cpu->r[3] + 0x00000218u;
|
|
/* 02C49050 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C49054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C49058 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4905C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4905C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4905C */ if (_t6) goto L_02C4909C; else goto L_02C49060;
|
|
L_02C49060: ; // 0x2c49060
|
|
/* 02C49060 */ _t7 = cpu->r[30] + 0x000000B1u;
|
|
/* 02C49060 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C49064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C49068 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49068 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C49068 */ if (_t9) goto L_02C49090; else goto L_02C4906C;
|
|
L_02C4906C: ; // 0x2c4906c
|
|
/* 02C4906C */ _t10 = cpu->r[30] + 0x000000B0u;
|
|
/* 02C4906C */ cpu->r[12] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C49070 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C49074 */ cpu->r[0] = cpu->r[12] - cpu->r[0];
|
|
/* 02C49078 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02C4907C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4907C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4907C */ if (_t12) goto L_02C49090; else goto L_02C49080;
|
|
L_02C49080: ; // 0x2c49080
|
|
/* 02C49080 */ _t13 = cpu->r[30] + 0x00000238u;
|
|
/* 02C49080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C49084 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C49088 */ _t14 = cpu->r[30] + 0x000000B0u;
|
|
/* 02C49088 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[31]);
|
|
/* 02C4908C */ Gambit_fn_02C27F88(cpu);
|
|
L_02C49090: ; // 0x2c49090
|
|
/* 02C49090 */ _t15 = cpu->r[30] + 0x0000023Cu;
|
|
/* 02C49090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C49094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C49098 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49098 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C49098 */ if (_t17) goto L_02C4909C; else goto L_02C49060;
|
|
L_02C4909C: ; // 0x2c4909c
|
|
/* 02C4909C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4909C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C490A0 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C490A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C490A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C490A8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C490A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C490AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C490B0 */ return;
|
|
}
|
|
|
|
// fn_02C490B4 @ 0x2c490b4
|
|
void Gambit_fn_02C490B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C490B4: ; // 0x2c490b4
|
|
/* 02C490B4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C490B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C490B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C490B8 */ cpu->r[1] = _t0;
|
|
/* 02C490BC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C490BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C490C0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C490C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C490C4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C490C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C490C8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C490C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C490CC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C490D0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C490D4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C490D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C490D8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C490DC */ _t6 = cpu->r[30] + 0x00000026u;
|
|
/* 02C490DC */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[31]);
|
|
/* 02C490E0 */ cpu->r[29] = 0x00000010u;
|
|
L_02C490E4: ; // 0x2c490e4
|
|
/* 02C490E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C490E8 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C490EC */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C490F0 */ cpu->r[0] = cpu->r[3];
|
|
/* 02C490F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C490F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C490F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C490F4 */ if (_t8) goto L_02C49104; else goto L_02C490F8;
|
|
L_02C490F8: ; // 0x2c490f8
|
|
/* 02C490F8 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C490FC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C49100 */ Gambit_fn_02C4903C(cpu);
|
|
L_02C49104: ; // 0x2c49104
|
|
/* 02C49104 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C49104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C49108 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C4910C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4910C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4910C */ if (_t10) goto L_02C49110; else goto L_02C490E4;
|
|
L_02C49110: ; // 0x2c49110
|
|
/* 02C49110 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49110 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C49114 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49114 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C49118 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4911C */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4911C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C49120 */ cpu->lr = cpu->r[0];
|
|
/* 02C49124 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49124 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C49128 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4912C */ return;
|
|
}
|
|
|
|
// fn_02C490B8 @ 0x2c490b8
|
|
void Gambit_fn_02C490B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C490B8: ; // 0x2c490b8
|
|
/* 02C490B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C490B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C490B8 */ cpu->r[1] = _t0;
|
|
/* 02C490BC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C490BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C490C0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C490C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C490C4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C490C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C490C8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C490C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C490CC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C490D0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C490D4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C490D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C490D8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C490DC */ _t6 = cpu->r[30] + 0x00000026u;
|
|
/* 02C490DC */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[31]);
|
|
/* 02C490E0 */ cpu->r[29] = 0x00000010u;
|
|
L_02C490E4: ; // 0x2c490e4
|
|
/* 02C490E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C490E8 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C490EC */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C490F0 */ cpu->r[0] = cpu->r[3];
|
|
/* 02C490F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C490F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C490F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C490F4 */ if (_t8) goto L_02C49104; else goto L_02C490F8;
|
|
L_02C490F8: ; // 0x2c490f8
|
|
/* 02C490F8 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C490FC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C49100 */ Gambit_fn_02C4903C(cpu);
|
|
L_02C49104: ; // 0x2c49104
|
|
/* 02C49104 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C49104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C49108 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C4910C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4910C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4910C */ if (_t10) goto L_02C49110; else goto L_02C490E4;
|
|
L_02C49110: ; // 0x2c49110
|
|
/* 02C49110 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49110 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C49114 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49114 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C49118 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4911C */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4911C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C49120 */ cpu->lr = cpu->r[0];
|
|
/* 02C49124 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49124 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C49128 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4912C */ return;
|
|
}
|
|
|
|
// fn_02C49130 @ 0x2c49130
|
|
void Gambit_fn_02C49130(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C49130: ; // 0x2c49130
|
|
/* 02C49130 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C49134 */ _t0 = cpu->r[12] + 0x000001B8u;
|
|
/* 02C49134 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C49138 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C49138 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C4913C */ cpu->r[6] = cpu->r[5];
|
|
/* 02C49140 */ _t2 = cpu->r[10] + 0x00000014u;
|
|
/* 02C49140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49144 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C49148 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4914C */ cpu->r[4] = cpu->r[12];
|
|
/* 02C49150 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C49154 @ 0x2c49154
|
|
void Gambit_fn_02C49154(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C49154: ; // 0x2c49154
|
|
/* 02C49154 */ _t0 = cpu->r[3] + 0x000001C0u;
|
|
/* 02C49154 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02C49158 */ _t1 = cpu->r[3] + 0x000001C4u;
|
|
/* 02C49158 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02C4915C */ return;
|
|
}
|
|
|
|
// fn_02C49160 @ 0x2c49160
|
|
void Gambit_fn_02C49160(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C49160: ; // 0x2c49160
|
|
/* 02C49160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000010u);
|
|
/* 02C49164 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C49164 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C49164 */ if (_t1) goto L_02C49168; else goto L_02C49178;
|
|
L_02C49168: ; // 0x2c49168
|
|
/* 02C49168 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C4916C */ cpu->r[12] = cpu->r[3] + 0x00000208u;
|
|
/* 02C49170 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C49174 */ return;
|
|
L_02C49178: ; // 0x2c49178
|
|
/* 02C49178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000020u);
|
|
/* 02C4917C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C49180 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C49180 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C49180 */ _t4 = _t3 ^ 0x00000001u;
|
|
/* 02C49180 */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C49180 */ goto L_02C49184;
|
|
L_02C49184: ; // 0x2c49184
|
|
/* 02C49184 */ cpu->r[12] = 0x10220000u;
|
|
/* 02C49188 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C4918C */ cpu->r[12] = cpu->r[12] + 0x00005814u;
|
|
/* 02C49190 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C49194 */ return;
|
|
}
|
|
|
|
// fn_02C49198 @ 0x2c49198
|
|
void Gambit_fn_02C49198(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C49198: ; // 0x2c49198
|
|
/* 02C49198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000010u);
|
|
/* 02C4919C */ cpu->r[12] = cpu->r[3];
|
|
/* 02C491A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C491A4 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C491A4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C491A4 */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 02C491A4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C491A4 */ goto L_02C491A8;
|
|
L_02C491A8: ; // 0x2c491a8
|
|
/* 02C491A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C491AC */ cpu->r[12] = cpu->r[12] + 0x000001F4u;
|
|
/* 02C491B0 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C491B4 */ return;
|
|
}
|
|
|
|
// fn_02C491B8 @ 0x2c491b8
|
|
void Gambit_fn_02C491B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C491B8: ; // 0x2c491b8
|
|
/* 02C491B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C491BC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C491BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C491BC */ cpu->r[1] = _t0;
|
|
/* 02C491C0 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C491C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C491C4 */ cpu->r[10] = cpu->r[3];
|
|
/* 02C491C8 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02C491C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C491CC */ _t3 = cpu->r[10] + 0x000001C0u;
|
|
/* 02C491CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C491D0 */ cpu->r[11] = cpu->r[4];
|
|
/* 02C491D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C491D8 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C491DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C491DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C491DC */ if (_t5) goto L_02C49238; else goto L_02C491E0;
|
|
L_02C491E0: ; // 0x2c491e0
|
|
/* 02C491E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C491E4 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C491E8 */ Gambit_fn_02C49160(cpu);
|
|
/* 02C491EC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C491EC */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C491F0 */ cpu->r[4] = 0x00000010u;
|
|
/* 02C491F4 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C491F8 */ Gambit_fn_02C49160(cpu);
|
|
/* 02C491FC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C491FC */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02C49200 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C49204 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C49208 */ Gambit_fn_02C49198(cpu);
|
|
/* 02C4920C */ _t8 = cpu->r[10] + 0x000001C0u;
|
|
/* 02C4920C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C49210 */ _t9 = cpu->r[10] + 0x000001C4u;
|
|
/* 02C49210 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C49214 */ cpu->ctr = cpu->r[0];
|
|
/* 02C49218 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49218 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02C4921C */ _t11 = cpu->r[31] + 0x00000108u;
|
|
/* 02C4921C */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C49220 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49224 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49224 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 02C49228 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C4922C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C49230 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49230 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C49234 */ _t14 = cpu->r[31] + 0x00000108u;
|
|
/* 02C49234 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
L_02C49238: ; // 0x2c49238
|
|
/* 02C49238 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02C49238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4923C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4923C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C49240 */ cpu->lr = cpu->r[0];
|
|
/* 02C49244 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C49248 */ return;
|
|
}
|
|
|
|
// fn_02C491BC @ 0x2c491bc
|
|
void Gambit_fn_02C491BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C491BC: ; // 0x2c491bc
|
|
/* 02C491BC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C491BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C491BC */ cpu->r[1] = _t0;
|
|
/* 02C491C0 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C491C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C491C4 */ cpu->r[10] = cpu->r[3];
|
|
/* 02C491C8 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02C491C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C491CC */ _t3 = cpu->r[10] + 0x000001C0u;
|
|
/* 02C491CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C491D0 */ cpu->r[11] = cpu->r[4];
|
|
/* 02C491D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C491D8 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C491DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C491DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C491DC */ if (_t5) goto L_02C49238; else goto L_02C491E0;
|
|
L_02C491E0: ; // 0x2c491e0
|
|
/* 02C491E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C491E4 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C491E8 */ Gambit_fn_02C49160(cpu);
|
|
/* 02C491EC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C491EC */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C491F0 */ cpu->r[4] = 0x00000010u;
|
|
/* 02C491F4 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C491F8 */ Gambit_fn_02C49160(cpu);
|
|
/* 02C491FC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C491FC */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02C49200 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C49204 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C49208 */ Gambit_fn_02C49198(cpu);
|
|
/* 02C4920C */ _t8 = cpu->r[10] + 0x000001C0u;
|
|
/* 02C4920C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C49210 */ _t9 = cpu->r[10] + 0x000001C4u;
|
|
/* 02C49210 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C49214 */ cpu->ctr = cpu->r[0];
|
|
/* 02C49218 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49218 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02C4921C */ _t11 = cpu->r[31] + 0x00000108u;
|
|
/* 02C4921C */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C49220 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49224 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49224 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 02C49228 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C4922C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C49230 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49230 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C49234 */ _t14 = cpu->r[31] + 0x00000108u;
|
|
/* 02C49234 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
L_02C49238: ; // 0x2c49238
|
|
/* 02C49238 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02C49238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4923C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4923C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C49240 */ cpu->lr = cpu->r[0];
|
|
/* 02C49244 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C49248 */ return;
|
|
}
|
|
|
|
// fn_02C4924C @ 0x2c4924c
|
|
void Gambit_fn_02C4924C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4924C: ; // 0x2c4924c
|
|
/* 02C4924C */ _t0 = cpu->r[3] + 0x00000198u;
|
|
/* 02C4924C */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C49250 */ return;
|
|
}
|
|
|
|
// fn_02C49254 @ 0x2c49254
|
|
void Gambit_fn_02C49254(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C49254: ; // 0x2c49254
|
|
/* 02C49254 */ _t0 = cpu->r[3] + 0x000001ACu;
|
|
/* 02C49254 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02C49258 */ return;
|
|
}
|
|
|
|
// fn_02C4925C @ 0x2c4925c
|
|
void Gambit_fn_02C4925C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4925C: ; // 0x2c4925c
|
|
/* 02C4925C */ _t0 = cpu->r[3] + 0x00000190u;
|
|
/* 02C4925C */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02C49260 */ return;
|
|
}
|
|
|
|
// fn_02C49264 @ 0x2c49264
|
|
void Gambit_fn_02C49264(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C49264: ; // 0x2c49264
|
|
/* 02C49264 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49268 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C49268 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4926C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C49270 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49270 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C49270 */ cpu->r[1] = _t1;
|
|
/* 02C49274 */ _t2 = cpu->r[12] + 0xFFFFCE28u;
|
|
/* 02C49274 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49274 */ cpu->r[12] = _t2;
|
|
/* 02C49278 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C4927C */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4927C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49280 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49284 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49284 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C49288 */ cpu->r[5] = cpu->r[9];
|
|
/* 02C4928C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4928C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49290 */ Gambit_fn_02C4D834(cpu);
|
|
/* 02C49294 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49298 */ cpu->lr = cpu->r[0];
|
|
/* 02C4929C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C492A0 */ return;
|
|
}
|
|
|
|
// fn_02C49270 @ 0x2c49270
|
|
void Gambit_fn_02C49270(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C49270: ; // 0x2c49270
|
|
/* 02C49270 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49270 */ cpu->r[1] = _t0;
|
|
/* 02C49274 */ _t1 = cpu->r[12] + 0xFFFFCE28u;
|
|
/* 02C49274 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C49274 */ cpu->r[12] = _t1;
|
|
/* 02C49278 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C4927C */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4927C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49280 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49284 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49284 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C49288 */ cpu->r[5] = cpu->r[9];
|
|
/* 02C4928C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4928C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C49290 */ Gambit_fn_02C4D834(cpu);
|
|
/* 02C49294 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C49298 */ cpu->lr = cpu->r[0];
|
|
/* 02C4929C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C492A0 */ return;
|
|
}
|
|
|
|
// fn_02C492A4 @ 0x2c492a4
|
|
void Gambit_fn_02C492A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C492A4: ; // 0x2c492a4
|
|
/* 02C492A4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C492A8 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C492AC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C492AC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C492B0 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C492B4 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C492B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C492B4 */ cpu->r[1] = _t1;
|
|
/* 02C492B8 */ _t2 = cpu->r[10] + 0xFFFFCE30u;
|
|
/* 02C492B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C492B8 */ cpu->r[10] = _t2;
|
|
/* 02C492BC */ cpu->r[6] = cpu->r[5];
|
|
/* 02C492C0 */ _t3 = cpu->r[10] + 0x00000004u;
|
|
/* 02C492C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C492C4 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C492C8 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C492C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C492CC */ cpu->r[5] = cpu->r[11];
|
|
/* 02C492D0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C492D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C492D4 */ Gambit_fn_02C4D8E8(cpu);
|
|
/* 02C492D8 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C492D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C492DC */ cpu->lr = cpu->r[0];
|
|
/* 02C492E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C492E4 */ return;
|
|
}
|
|
|
|
// fn_02C492B4 @ 0x2c492b4
|
|
void Gambit_fn_02C492B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C492B4: ; // 0x2c492b4
|
|
/* 02C492B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C492B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C492B4 */ cpu->r[1] = _t0;
|
|
/* 02C492B8 */ _t1 = cpu->r[10] + 0xFFFFCE30u;
|
|
/* 02C492B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C492B8 */ cpu->r[10] = _t1;
|
|
/* 02C492BC */ cpu->r[6] = cpu->r[5];
|
|
/* 02C492C0 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02C492C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C492C4 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C492C8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C492C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C492CC */ cpu->r[5] = cpu->r[11];
|
|
/* 02C492D0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C492D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C492D4 */ Gambit_fn_02C4D8E8(cpu);
|
|
/* 02C492D8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C492D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C492DC */ cpu->lr = cpu->r[0];
|
|
/* 02C492E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C492E4 */ return;
|
|
}
|
|
|
|
// fn_02C492E8 @ 0x2c492e8
|
|
void Gambit_fn_02C492E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C492E8: ; // 0x2c492e8
|
|
/* 02C492E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C492EC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C492EC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C492F0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C492F4 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C492F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C492F4 */ cpu->r[1] = _t1;
|
|
/* 02C492F8 */ _t2 = cpu->r[12] + 0xFFFFCE38u;
|
|
/* 02C492F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C492F8 */ cpu->r[12] = _t2;
|
|
/* 02C492FC */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02C492FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49300 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49300 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C49304 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49308 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49308 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C4930C */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49310 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49314 */ cpu->lr = cpu->r[0];
|
|
/* 02C49318 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4931C */ return;
|
|
}
|
|
|
|
// fn_02C492F4 @ 0x2c492f4
|
|
void Gambit_fn_02C492F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C492F4: ; // 0x2c492f4
|
|
/* 02C492F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C492F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C492F4 */ cpu->r[1] = _t0;
|
|
/* 02C492F8 */ _t1 = cpu->r[12] + 0xFFFFCE38u;
|
|
/* 02C492F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C492F8 */ cpu->r[12] = _t1;
|
|
/* 02C492FC */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02C492FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49300 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49300 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C49304 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49308 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49308 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4930C */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49310 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C49314 */ cpu->lr = cpu->r[0];
|
|
/* 02C49318 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4931C */ return;
|
|
}
|
|
|
|
// fn_02C49320 @ 0x2c49320
|
|
void Gambit_fn_02C49320(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C49320: ; // 0x2c49320
|
|
/* 02C49320 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49324 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C49324 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C49328 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4932C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4932C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4932C */ cpu->r[1] = _t1;
|
|
/* 02C49330 */ _t2 = cpu->r[12] + 0xFFFFCE40u;
|
|
/* 02C49330 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49330 */ cpu->r[12] = _t2;
|
|
/* 02C49334 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02C49334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49338 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49338 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C4933C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49340 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49340 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49344 */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49348 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4934C */ cpu->lr = cpu->r[0];
|
|
/* 02C49350 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49354 */ return;
|
|
}
|
|
|
|
// fn_02C4932C @ 0x2c4932c
|
|
void Gambit_fn_02C4932C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C4932C: ; // 0x2c4932c
|
|
/* 02C4932C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4932C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4932C */ cpu->r[1] = _t0;
|
|
/* 02C49330 */ _t1 = cpu->r[12] + 0xFFFFCE40u;
|
|
/* 02C49330 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C49330 */ cpu->r[12] = _t1;
|
|
/* 02C49334 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02C49334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49338 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49338 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C4933C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49340 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49340 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C49344 */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49348 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4934C */ cpu->lr = cpu->r[0];
|
|
/* 02C49350 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49354 */ return;
|
|
}
|
|
|
|
// fn_02C49358 @ 0x2c49358
|
|
void Gambit_fn_02C49358(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C49358: ; // 0x2c49358
|
|
/* 02C49358 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4935C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4935C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C49360 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C49364 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49364 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C49364 */ cpu->r[1] = _t1;
|
|
/* 02C49368 */ _t2 = cpu->r[12] + 0xFFFFCE48u;
|
|
/* 02C49368 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49368 */ cpu->r[12] = _t2;
|
|
/* 02C4936C */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4936C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49370 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49370 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C49374 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49378 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49378 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C4937C */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49380 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49384 */ cpu->lr = cpu->r[0];
|
|
/* 02C49388 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4938C */ return;
|
|
}
|
|
|
|
// fn_02C49364 @ 0x2c49364
|
|
void Gambit_fn_02C49364(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C49364: ; // 0x2c49364
|
|
/* 02C49364 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49364 */ cpu->r[1] = _t0;
|
|
/* 02C49368 */ _t1 = cpu->r[12] + 0xFFFFCE48u;
|
|
/* 02C49368 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C49368 */ cpu->r[12] = _t1;
|
|
/* 02C4936C */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4936C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49370 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49370 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C49374 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49378 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49378 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4937C */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49380 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C49384 */ cpu->lr = cpu->r[0];
|
|
/* 02C49388 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4938C */ return;
|
|
}
|
|
|
|
// fn_02C49390 @ 0x2c49390
|
|
void Gambit_fn_02C49390(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C49390: ; // 0x2c49390
|
|
/* 02C49390 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49394 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C49394 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C49398 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C4939C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4939C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4939C */ cpu->r[1] = _t1;
|
|
/* 02C493A0 */ _t2 = cpu->r[10] + 0xFFFFCE50u;
|
|
/* 02C493A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C493A0 */ cpu->r[10] = _t2;
|
|
/* 02C493A4 */ _t3 = cpu->r[10] + 0x00000004u;
|
|
/* 02C493A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C493A8 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C493AC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C493AC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C493B0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C493B4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C493B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C493B8 */ Gambit_fn_02C4DA74(cpu);
|
|
/* 02C493BC */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C493BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C493C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C493C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C493C8 */ return;
|
|
}
|
|
|
|
// fn_02C4939C @ 0x2c4939c
|
|
void Gambit_fn_02C4939C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C4939C: ; // 0x2c4939c
|
|
/* 02C4939C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4939C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4939C */ cpu->r[1] = _t0;
|
|
/* 02C493A0 */ _t1 = cpu->r[10] + 0xFFFFCE50u;
|
|
/* 02C493A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C493A0 */ cpu->r[10] = _t1;
|
|
/* 02C493A4 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02C493A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C493A8 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C493AC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C493AC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C493B0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C493B4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C493B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C493B8 */ Gambit_fn_02C4DA74(cpu);
|
|
/* 02C493BC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C493BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C493C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C493C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C493C8 */ return;
|
|
}
|
|
|
|
// fn_02C493CC @ 0x2c493cc
|
|
void Gambit_fn_02C493CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C493CC: ; // 0x2c493cc
|
|
/* 02C493CC */ cpu->r[0] = cpu->lr;
|
|
/* 02C493D0 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C493D4 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu);
|
|
/* 02C493D8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C493D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C493DC */ cpu->r[12] = cpu->r[3] + cpu->r[7];
|
|
/* 02C493E0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C493E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C493E0 */ cpu->r[1] = _t1;
|
|
/* 02C493E4 */ _t2 = cpu->r[12] + 0x00000274u;
|
|
/* 02C493E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C493E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C493EC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C493EC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C493EC */ if (_t4) goto L_02C493F0; else goto L_02C49404;
|
|
L_02C493F0: ; // 0x2c493f0
|
|
/* 02C493F0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C493F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C493F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C493F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C493FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C49400 */ return;
|
|
L_02C49404: ; // 0x2c49404
|
|
/* 02C49404 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C49408 */ _t6 = cpu->r[11] + 0xFFFFCE58u;
|
|
/* 02C49408 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49408 */ cpu->r[11] = _t6;
|
|
/* 02C4940C */ _t7 = cpu->r[11] + 0x00000004u;
|
|
/* 02C4940C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C49410 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49410 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02C49414 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49418 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49418 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02C4941C */ Gambit_fn_02C4DB4C(cpu);
|
|
/* 02C49420 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C49424 */ cpu->lr = cpu->r[0];
|
|
/* 02C49428 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4942C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C49430 */ return;
|
|
}
|
|
|
|
// fn_02C493E0 @ 0x2c493e0
|
|
void Gambit_fn_02C493E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C493E0: ; // 0x2c493e0
|
|
/* 02C493E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C493E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C493E0 */ cpu->r[1] = _t0;
|
|
/* 02C493E4 */ _t1 = cpu->r[12] + 0x00000274u;
|
|
/* 02C493E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C493E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C493EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C493EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C493EC */ if (_t3) goto L_02C493F0; else goto L_02C49404;
|
|
L_02C493F0: ; // 0x2c493f0
|
|
/* 02C493F0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C493F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C493F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C493F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C493FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C49400 */ return;
|
|
L_02C49404: ; // 0x2c49404
|
|
/* 02C49404 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C49408 */ _t5 = cpu->r[11] + 0xFFFFCE58u;
|
|
/* 02C49408 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C49408 */ cpu->r[11] = _t5;
|
|
/* 02C4940C */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 02C4940C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49410 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49410 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02C49414 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49418 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49418 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02C4941C */ Gambit_fn_02C4DB4C(cpu);
|
|
/* 02C49420 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C49424 */ cpu->lr = cpu->r[0];
|
|
/* 02C49428 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4942C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C49430 */ return;
|
|
}
|
|
|
|
// fn_02C49434 @ 0x2c49434
|
|
void Gambit_fn_02C49434(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C49434: ; // 0x2c49434
|
|
/* 02C49434 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49438 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C49438 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4943C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C49440 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49440 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C49440 */ cpu->r[1] = _t1;
|
|
/* 02C49444 */ _t2 = cpu->r[12] + 0xFFFFCE60u;
|
|
/* 02C49444 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49444 */ cpu->r[12] = _t2;
|
|
/* 02C49448 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02C49448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4944C */ cpu->r[6] = cpu->r[5];
|
|
/* 02C49450 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49450 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C49454 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49458 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49458 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C4945C */ Gambit_fn_02C4DC00(cpu);
|
|
/* 02C49460 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49464 */ cpu->lr = cpu->r[0];
|
|
/* 02C49468 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4946C */ return;
|
|
}
|
|
|
|
// fn_02C49440 @ 0x2c49440
|
|
void Gambit_fn_02C49440(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C49440: ; // 0x2c49440
|
|
/* 02C49440 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49440 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49440 */ cpu->r[1] = _t0;
|
|
/* 02C49444 */ _t1 = cpu->r[12] + 0xFFFFCE60u;
|
|
/* 02C49444 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C49444 */ cpu->r[12] = _t1;
|
|
/* 02C49448 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02C49448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4944C */ cpu->r[6] = cpu->r[5];
|
|
/* 02C49450 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49450 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C49454 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49458 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49458 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4945C */ Gambit_fn_02C4DC00(cpu);
|
|
/* 02C49460 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C49464 */ cpu->lr = cpu->r[0];
|
|
/* 02C49468 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4946C */ return;
|
|
}
|
|
|
|
// fn_02C49470 @ 0x2c49470
|
|
void Gambit_fn_02C49470(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C49470: ; // 0x2c49470
|
|
/* 02C49470 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49474 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C49474 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C49478 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4947C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4947C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4947C */ cpu->r[1] = _t1;
|
|
/* 02C49480 */ _t2 = cpu->r[12] + 0xFFFFCE68u;
|
|
/* 02C49480 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49480 */ cpu->r[12] = _t2;
|
|
/* 02C49484 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02C49484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49488 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C4948C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4948C */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C49490 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49494 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49494 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49498 */ Gambit_fn_02C4DCB4(cpu);
|
|
/* 02C4949C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4949C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C494A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C494A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C494A8 */ return;
|
|
}
|
|
|
|
// fn_02C4947C @ 0x2c4947c
|
|
void Gambit_fn_02C4947C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C4947C: ; // 0x2c4947c
|
|
/* 02C4947C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4947C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4947C */ cpu->r[1] = _t0;
|
|
/* 02C49480 */ _t1 = cpu->r[12] + 0xFFFFCE68u;
|
|
/* 02C49480 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C49480 */ cpu->r[12] = _t1;
|
|
/* 02C49484 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02C49484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49488 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C4948C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4948C */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C49490 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49494 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49494 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C49498 */ Gambit_fn_02C4DCB4(cpu);
|
|
/* 02C4949C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4949C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C494A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C494A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C494A8 */ return;
|
|
}
|
|
|
|
// fn_02C494AC @ 0x2c494ac
|
|
void Gambit_fn_02C494AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C494AC: ; // 0x2c494ac
|
|
/* 02C494AC */ cpu->r[0] = cpu->lr;
|
|
/* 02C494B0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C494B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C494B4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C494B8 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C494B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C494B8 */ cpu->r[1] = _t1;
|
|
/* 02C494BC */ _t2 = cpu->r[12] + 0xFFFFCE70u;
|
|
/* 02C494BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C494BC */ cpu->r[12] = _t2;
|
|
/* 02C494C0 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C494C4 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02C494C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C494C8 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C494CC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C494CC */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C494D0 */ cpu->r[5] = cpu->r[9];
|
|
/* 02C494D4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C494D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C494D8 */ Gambit_fn_02C4DB4C(cpu);
|
|
/* 02C494DC */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C494DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C494E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C494E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C494E8 */ return;
|
|
}
|
|
|
|
// fn_02C494B8 @ 0x2c494b8
|
|
void Gambit_fn_02C494B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C494B8: ; // 0x2c494b8
|
|
/* 02C494B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C494B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C494B8 */ cpu->r[1] = _t0;
|
|
/* 02C494BC */ _t1 = cpu->r[12] + 0xFFFFCE70u;
|
|
/* 02C494BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C494BC */ cpu->r[12] = _t1;
|
|
/* 02C494C0 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C494C4 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02C494C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C494C8 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C494CC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C494CC */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C494D0 */ cpu->r[5] = cpu->r[9];
|
|
/* 02C494D4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C494D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C494D8 */ Gambit_fn_02C4DB4C(cpu);
|
|
/* 02C494DC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C494DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C494E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C494E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C494E8 */ return;
|
|
}
|
|
|
|
// fn_02C494EC @ 0x2c494ec
|
|
void Gambit_fn_02C494EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C494EC: ; // 0x2c494ec
|
|
/* 02C494EC */ cpu->r[0] = cpu->lr;
|
|
/* 02C494F0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C494F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C494F4 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C494F8 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C494F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C494F8 */ cpu->r[1] = _t1;
|
|
/* 02C494FC */ _t2 = cpu->r[11] + 0xFFFFCE70u;
|
|
/* 02C494FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C494FC */ cpu->r[11] = _t2;
|
|
/* 02C49500 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 02C49500 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49504 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02C49508 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49508 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4950C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49510 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49510 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02C49514 */ Gambit_fn_02C4DB4C(cpu);
|
|
/* 02C49518 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4951C */ cpu->lr = cpu->r[0];
|
|
/* 02C49520 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49524 */ return;
|
|
}
|
|
|
|
// fn_02C494F8 @ 0x2c494f8
|
|
void Gambit_fn_02C494F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C494F8: ; // 0x2c494f8
|
|
/* 02C494F8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C494F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C494F8 */ cpu->r[1] = _t0;
|
|
/* 02C494FC */ _t1 = cpu->r[11] + 0xFFFFCE70u;
|
|
/* 02C494FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C494FC */ cpu->r[11] = _t1;
|
|
/* 02C49500 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02C49500 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49504 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02C49508 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49508 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4950C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49510 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49510 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C49514 */ Gambit_fn_02C4DB4C(cpu);
|
|
/* 02C49518 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4951C */ cpu->lr = cpu->r[0];
|
|
/* 02C49520 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49524 */ return;
|
|
}
|
|
|
|
// fn_02C49528 @ 0x2c49528
|
|
void Gambit_fn_02C49528(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C49528: ; // 0x2c49528
|
|
/* 02C49528 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4952C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4952C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C49530 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C49534 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49534 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C49534 */ cpu->r[1] = _t1;
|
|
/* 02C49538 */ _t2 = cpu->r[12] + 0xFFFFCE78u;
|
|
/* 02C49538 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49538 */ cpu->r[12] = _t2;
|
|
/* 02C4953C */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4953C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49540 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49540 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C49544 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49548 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49548 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C4954C */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49550 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49554 */ cpu->lr = cpu->r[0];
|
|
/* 02C49558 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4955C */ return;
|
|
}
|
|
|
|
// fn_02C49534 @ 0x2c49534
|
|
void Gambit_fn_02C49534(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C49534: ; // 0x2c49534
|
|
/* 02C49534 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49534 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49534 */ cpu->r[1] = _t0;
|
|
/* 02C49538 */ _t1 = cpu->r[12] + 0xFFFFCE78u;
|
|
/* 02C49538 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C49538 */ cpu->r[12] = _t1;
|
|
/* 02C4953C */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4953C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49540 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49540 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C49544 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49548 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49548 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4954C */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49550 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C49554 */ cpu->lr = cpu->r[0];
|
|
/* 02C49558 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4955C */ return;
|
|
}
|
|
|
|
// fn_02C49560 @ 0x2c49560
|
|
void Gambit_fn_02C49560(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C49560: ; // 0x2c49560
|
|
/* 02C49560 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C49560 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49560 */ cpu->r[1] = _t0;
|
|
/* 02C49564 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49568 */ /* nop */
|
|
/* 02C4956C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C49570 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C49574 */ cpu->r[25] = cpu->r[5];
|
|
/* 02C49578 */ cpu->r[26] = cpu->r[6];
|
|
/* 02C4957C */ cpu->r[28] = 0x00000006u;
|
|
/* 02C49580 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C49584 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C49584 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C49588 */ cpu->r[29] = cpu->r[27];
|
|
L_02C4958C: ; // 0x2c4958c
|
|
/* 02C4958C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C49590 */ _t2 = cpu->r[26] + cpu->r[29];
|
|
/* 02C49590 */ cpu->r[1] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49594 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C49598 */ _t3 = cpu->r[10] + 0xFFFFCE80u;
|
|
/* 02C49598 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49598 */ cpu->r[10] = _t3;
|
|
/* 02C4959C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C495A0 */ _t4 = cpu->r[10] + 0x00000004u;
|
|
/* 02C495A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C495A4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C495A8 */ cpu->r[7] = cpu->r[27];
|
|
/* 02C495AC */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C495AC */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02C495B0 */ cpu->r[6] = cpu->r[25];
|
|
/* 02C495B4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C495B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C495B8 */ Gambit_fn_02C4DD68(cpu);
|
|
/* 02C495BC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C495BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C495C0 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02C495C4 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C495C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C495C8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C495C8 */ if (_t8) goto L_02C495CC; else goto L_02C4958C;
|
|
L_02C495CC: ; // 0x2c495cc
|
|
/* 02C495CC */ /* nop */
|
|
/* 02C495D0 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 02C495D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C495D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C495D8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C495DC */ return;
|
|
}
|
|
|
|
// fn_02C495E0 @ 0x2c495e0
|
|
void Gambit_fn_02C495E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C495E0: ; // 0x2c495e0
|
|
/* 02C495E0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C495E4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C495E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C495E8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C495EC */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C495EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C495EC */ cpu->r[1] = _t1;
|
|
/* 02C495F0 */ _t2 = cpu->r[12] + 0xFFFFCE88u;
|
|
/* 02C495F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C495F0 */ cpu->r[12] = _t2;
|
|
/* 02C495F4 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02C495F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C495F8 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C495F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C495FC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49600 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49600 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49604 */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49608 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4960C */ cpu->lr = cpu->r[0];
|
|
/* 02C49610 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49614 */ return;
|
|
}
|
|
|
|
// fn_02C495EC @ 0x2c495ec
|
|
void Gambit_fn_02C495EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C495EC: ; // 0x2c495ec
|
|
/* 02C495EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C495EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C495EC */ cpu->r[1] = _t0;
|
|
/* 02C495F0 */ _t1 = cpu->r[12] + 0xFFFFCE88u;
|
|
/* 02C495F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C495F0 */ cpu->r[12] = _t1;
|
|
/* 02C495F4 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02C495F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C495F8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C495F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C495FC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49600 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49600 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C49604 */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49608 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4960C */ cpu->lr = cpu->r[0];
|
|
/* 02C49610 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49614 */ return;
|
|
}
|
|
|
|
// fn_02C49618 @ 0x2c49618
|
|
void Gambit_fn_02C49618(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C49618: ; // 0x2c49618
|
|
/* 02C49618 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4961C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4961C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C49620 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C49624 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49624 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C49624 */ cpu->r[1] = _t1;
|
|
/* 02C49628 */ _t2 = cpu->r[12] + 0xFFFFCE90u;
|
|
/* 02C49628 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49628 */ cpu->r[12] = _t2;
|
|
/* 02C4962C */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4962C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49630 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49630 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C49634 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49638 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49638 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C4963C */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49640 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49644 */ cpu->lr = cpu->r[0];
|
|
/* 02C49648 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4964C */ return;
|
|
}
|
|
|
|
// fn_02C49624 @ 0x2c49624
|
|
void Gambit_fn_02C49624(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C49624: ; // 0x2c49624
|
|
/* 02C49624 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49624 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49624 */ cpu->r[1] = _t0;
|
|
/* 02C49628 */ _t1 = cpu->r[12] + 0xFFFFCE90u;
|
|
/* 02C49628 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C49628 */ cpu->r[12] = _t1;
|
|
/* 02C4962C */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4962C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49630 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49630 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C49634 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49638 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49638 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4963C */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49640 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C49644 */ cpu->lr = cpu->r[0];
|
|
/* 02C49648 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4964C */ return;
|
|
}
|
|
|
|
// fn_02C49650 @ 0x2c49650
|
|
void Gambit_fn_02C49650(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C49650: ; // 0x2c49650
|
|
/* 02C49650 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49654 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C49654 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C49658 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4965C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4965C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4965C */ cpu->r[1] = _t1;
|
|
/* 02C49660 */ _t2 = cpu->r[12] + 0xFFFFCE98u;
|
|
/* 02C49660 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49660 */ cpu->r[12] = _t2;
|
|
/* 02C49664 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02C49664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49668 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49668 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C4966C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49670 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49670 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49674 */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49678 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4967C */ cpu->lr = cpu->r[0];
|
|
/* 02C49680 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49684 */ return;
|
|
}
|
|
|
|
// fn_02C4965C @ 0x2c4965c
|
|
void Gambit_fn_02C4965C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C4965C: ; // 0x2c4965c
|
|
/* 02C4965C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4965C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4965C */ cpu->r[1] = _t0;
|
|
/* 02C49660 */ _t1 = cpu->r[12] + 0xFFFFCE98u;
|
|
/* 02C49660 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C49660 */ cpu->r[12] = _t1;
|
|
/* 02C49664 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02C49664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49668 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49668 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C4966C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49670 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49670 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C49674 */ Gambit_fn_02C4D9A8(cpu);
|
|
/* 02C49678 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4967C */ cpu->lr = cpu->r[0];
|
|
/* 02C49680 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49684 */ return;
|
|
}
|
|
|
|
// fn_02C49688 @ 0x2c49688
|
|
void Gambit_fn_02C49688(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C49688: ; // 0x2c49688
|
|
/* 02C49688 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4968C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4968C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C49690 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C49694 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49694 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C49694 */ cpu->r[1] = _t1;
|
|
/* 02C49698 */ _t2 = cpu->r[10] + 0xFFFFCEA0u;
|
|
/* 02C49698 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49698 */ cpu->r[10] = _t2;
|
|
/* 02C4969C */ _t3 = cpu->r[10] + 0x00000004u;
|
|
/* 02C4969C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C496A0 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C496A4 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C496A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C496A8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C496AC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C496AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C496B0 */ Gambit_fn_02C4DE4C(cpu);
|
|
/* 02C496B4 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C496B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C496B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C496BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C496C0 */ return;
|
|
}
|
|
|
|
// fn_02C49694 @ 0x2c49694
|
|
void Gambit_fn_02C49694(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C49694: ; // 0x2c49694
|
|
/* 02C49694 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49694 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49694 */ cpu->r[1] = _t0;
|
|
/* 02C49698 */ _t1 = cpu->r[10] + 0xFFFFCEA0u;
|
|
/* 02C49698 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C49698 */ cpu->r[10] = _t1;
|
|
/* 02C4969C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02C4969C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C496A0 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C496A4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C496A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C496A8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C496AC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C496AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C496B0 */ Gambit_fn_02C4DE4C(cpu);
|
|
/* 02C496B4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C496B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C496B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C496BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C496C0 */ return;
|
|
}
|
|
|
|
// fn_02C496C4 @ 0x2c496c4
|
|
void Gambit_fn_02C496C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C496C4: ; // 0x2c496c4
|
|
/* 02C496C4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C496C8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C496C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C496CC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C496D0 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C496D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C496D0 */ cpu->r[1] = _t1;
|
|
/* 02C496D4 */ _t2 = cpu->r[10] + 0xFFFFCEA8u;
|
|
/* 02C496D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C496D4 */ cpu->r[10] = _t2;
|
|
/* 02C496D8 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C496DC */ _t3 = cpu->r[10] + 0x00000004u;
|
|
/* 02C496DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C496E0 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C496E4 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C496E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C496E8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C496EC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C496EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C496F0 */ Gambit_fn_02C4DF24(cpu);
|
|
/* 02C496F4 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C496F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C496F8 */ cpu->lr = cpu->r[0];
|
|
/* 02C496FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49700 */ return;
|
|
}
|
|
|
|
// fn_02C496D0 @ 0x2c496d0
|
|
void Gambit_fn_02C496D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C496D0: ; // 0x2c496d0
|
|
/* 02C496D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C496D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C496D0 */ cpu->r[1] = _t0;
|
|
/* 02C496D4 */ _t1 = cpu->r[10] + 0xFFFFCEA8u;
|
|
/* 02C496D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C496D4 */ cpu->r[10] = _t1;
|
|
/* 02C496D8 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C496DC */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02C496DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C496E0 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C496E4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C496E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C496E8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C496EC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C496EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C496F0 */ Gambit_fn_02C4DF24(cpu);
|
|
/* 02C496F4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C496F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C496F8 */ cpu->lr = cpu->r[0];
|
|
/* 02C496FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49700 */ return;
|
|
}
|
|
|
|
// fn_02C49704 @ 0x2c49704
|
|
void Gambit_fn_02C49704(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C49704: ; // 0x2c49704
|
|
/* 02C49704 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C49704 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49704 */ cpu->r[1] = _t0;
|
|
/* 02C49708 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4970C */ /* nop */
|
|
/* 02C49710 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C49714 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C49718 */ cpu->r[24] = cpu->r[5];
|
|
/* 02C4971C */ cpu->r[25] = cpu->r[6];
|
|
/* 02C49720 */ cpu->r[27] = cpu->r[7];
|
|
/* 02C49724 */ cpu->r[28] = 0x00000006u;
|
|
/* 02C49728 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C4972C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4972C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C49730 */ cpu->r[29] = cpu->r[26];
|
|
L_02C49734: ; // 0x2c49734
|
|
/* 02C49734 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C49738 */ _t2 = cpu->r[27] + cpu->r[29];
|
|
/* 02C49738 */ cpu->r[1] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4973C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49740 */ _t3 = cpu->r[10] + 0xFFFFCEB0u;
|
|
/* 02C49740 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49740 */ cpu->r[10] = _t3;
|
|
/* 02C49744 */ cpu->r[8] = cpu->r[26];
|
|
/* 02C49748 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4974C */ _t4 = cpu->r[10] + 0x00000004u;
|
|
/* 02C4974C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C49750 */ cpu->r[7] = cpu->r[25];
|
|
/* 02C49754 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C49758 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49758 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02C4975C */ cpu->r[4] = cpu->r[24];
|
|
/* 02C49760 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49760 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C49764 */ Gambit_fn_02C4DFFC(cpu);
|
|
/* 02C49768 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C49768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C4976C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C49770 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C49774 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49774 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C49774 */ if (_t8) goto L_02C49778; else goto L_02C49734;
|
|
L_02C49778: ; // 0x2c49778
|
|
/* 02C49778 */ /* nop */
|
|
/* 02C4977C */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4977C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C49780 */ cpu->lr = cpu->r[0];
|
|
/* 02C49784 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C49788 */ return;
|
|
}
|
|
|
|
// fn_02C4978C @ 0x2c4978c
|
|
void Gambit_fn_02C4978C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4978C: ; // 0x2c4978c
|
|
/* 02C4978C */ cpu->r[0] = cpu->lr;
|
|
/* 02C49790 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C49790 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C49794 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C49798 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49798 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C49798 */ cpu->r[1] = _t1;
|
|
/* 02C4979C */ _t2 = cpu->r[10] + 0xFFFFCEB8u;
|
|
/* 02C4979C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4979C */ cpu->r[10] = _t2;
|
|
/* 02C497A0 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C497A4 */ _t3 = cpu->r[10] + 0x00000004u;
|
|
/* 02C497A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C497A8 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C497AC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C497AC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C497B0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C497B4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C497B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C497B8 */ Gambit_fn_02C4DF24(cpu);
|
|
/* 02C497BC */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C497BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C497C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C497C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C497C8 */ return;
|
|
}
|
|
|
|
// fn_02C49798 @ 0x2c49798
|
|
void Gambit_fn_02C49798(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C49798: ; // 0x2c49798
|
|
/* 02C49798 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49798 */ cpu->r[1] = _t0;
|
|
/* 02C4979C */ _t1 = cpu->r[10] + 0xFFFFCEB8u;
|
|
/* 02C4979C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C4979C */ cpu->r[10] = _t1;
|
|
/* 02C497A0 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C497A4 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02C497A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C497A8 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C497AC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C497AC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C497B0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C497B4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C497B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C497B8 */ Gambit_fn_02C4DF24(cpu);
|
|
/* 02C497BC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C497BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C497C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C497C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C497C8 */ return;
|
|
}
|
|
|
|
// fn_02C497CC @ 0x2c497cc
|
|
void Gambit_fn_02C497CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C497CC: ; // 0x2c497cc
|
|
/* 02C497CC */ cpu->r[0] = cpu->lr;
|
|
/* 02C497D0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C497D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C497D4 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C497D8 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C497D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C497D8 */ cpu->r[1] = _t1;
|
|
/* 02C497DC */ _t2 = cpu->r[10] + 0xFFFFCEC0u;
|
|
/* 02C497DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C497DC */ cpu->r[10] = _t2;
|
|
/* 02C497E0 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C497E4 */ _t3 = cpu->r[10] + 0x00000004u;
|
|
/* 02C497E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C497E8 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C497EC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C497EC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C497F0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C497F4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C497F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C497F8 */ Gambit_fn_02C4DF24(cpu);
|
|
/* 02C497FC */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C497FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49800 */ cpu->lr = cpu->r[0];
|
|
/* 02C49804 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49808 */ return;
|
|
}
|
|
|
|
// fn_02C497D8 @ 0x2c497d8
|
|
void Gambit_fn_02C497D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C497D8: ; // 0x2c497d8
|
|
/* 02C497D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C497D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C497D8 */ cpu->r[1] = _t0;
|
|
/* 02C497DC */ _t1 = cpu->r[10] + 0xFFFFCEC0u;
|
|
/* 02C497DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C497DC */ cpu->r[10] = _t1;
|
|
/* 02C497E0 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C497E4 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02C497E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C497E8 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C497EC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C497EC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C497F0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C497F4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C497F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C497F8 */ Gambit_fn_02C4DF24(cpu);
|
|
/* 02C497FC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C497FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C49800 */ cpu->lr = cpu->r[0];
|
|
/* 02C49804 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49808 */ return;
|
|
}
|
|
|
|
// fn_02C4980C @ 0x2c4980c
|
|
void Gambit_fn_02C4980C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4980C: ; // 0x2c4980c
|
|
/* 02C4980C */ cpu->r[0] = cpu->lr;
|
|
/* 02C49810 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C49810 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C49814 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C49818 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49818 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C49818 */ cpu->r[1] = _t1;
|
|
/* 02C4981C */ _t2 = cpu->r[10] + 0xFFFFCEC8u;
|
|
/* 02C4981C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4981C */ cpu->r[10] = _t2;
|
|
/* 02C49820 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C49824 */ _t3 = cpu->r[10] + 0x00000004u;
|
|
/* 02C49824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49828 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C4982C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4982C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C49830 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49834 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49834 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49838 */ Gambit_fn_02C4DF24(cpu);
|
|
/* 02C4983C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4983C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49840 */ cpu->lr = cpu->r[0];
|
|
/* 02C49844 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49848 */ return;
|
|
}
|
|
|
|
// fn_02C49818 @ 0x2c49818
|
|
void Gambit_fn_02C49818(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C49818: ; // 0x2c49818
|
|
/* 02C49818 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49818 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49818 */ cpu->r[1] = _t0;
|
|
/* 02C4981C */ _t1 = cpu->r[10] + 0xFFFFCEC8u;
|
|
/* 02C4981C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C4981C */ cpu->r[10] = _t1;
|
|
/* 02C49820 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C49824 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02C49824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49828 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C4982C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4982C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C49830 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49834 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49834 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C49838 */ Gambit_fn_02C4DF24(cpu);
|
|
/* 02C4983C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4983C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C49840 */ cpu->lr = cpu->r[0];
|
|
/* 02C49844 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49848 */ return;
|
|
}
|
|
|
|
// fn_02C4984C @ 0x2c4984c
|
|
void Gambit_fn_02C4984C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4984C: ; // 0x2c4984c
|
|
/* 02C4984C */ cpu->r[0] = cpu->lr;
|
|
/* 02C49850 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C49854 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C49858 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C49858 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4985C */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C49860 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49860 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C49860 */ cpu->r[1] = _t1;
|
|
/* 02C49864 */ _t2 = cpu->r[9] + 0xFFFFCED0u;
|
|
/* 02C49864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49864 */ cpu->r[9] = _t2;
|
|
/* 02C49868 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C4986C */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4986C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49870 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49874 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49874 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C49878 */ cpu->r[5] = cpu->r[10];
|
|
/* 02C4987C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4987C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49880 */ Gambit_fn_02C4E0EC(cpu);
|
|
/* 02C49884 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49888 */ cpu->lr = cpu->r[0];
|
|
/* 02C4988C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49890 */ return;
|
|
}
|
|
|
|
// fn_02C49860 @ 0x2c49860
|
|
void Gambit_fn_02C49860(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C49860: ; // 0x2c49860
|
|
/* 02C49860 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49860 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49860 */ cpu->r[1] = _t0;
|
|
/* 02C49864 */ _t1 = cpu->r[9] + 0xFFFFCED0u;
|
|
/* 02C49864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C49864 */ cpu->r[9] = _t1;
|
|
/* 02C49868 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C4986C */ _t2 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4986C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C49870 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49874 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49874 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C49878 */ cpu->r[5] = cpu->r[10];
|
|
/* 02C4987C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4987C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C49880 */ Gambit_fn_02C4E0EC(cpu);
|
|
/* 02C49884 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C49888 */ cpu->lr = cpu->r[0];
|
|
/* 02C4988C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49890 */ return;
|
|
}
|
|
|
|
// fn_02C49894 @ 0x2c49894
|
|
void Gambit_fn_02C49894(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C49894: ; // 0x2c49894
|
|
/* 02C49894 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C49898 */ cpu->r[0] = cpu->r[3] + 0x00000208u;
|
|
/* 02C4989C */ _t0 = cpu->r[12] + cpu->r[0];
|
|
/* 02C4989C */ rbrew_write16(cpu->mem, _t0, (uint16_t)cpu->r[5]);
|
|
/* 02C498A0 */ return;
|
|
}
|
|
|
|
// fn_02C498A4 @ 0x2c498a4
|
|
void Gambit_fn_02C498A4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C498A4: ; // 0x2c498a4
|
|
/* 02C498A4 */ cpu->r[0] = 0x10220000u;
|
|
/* 02C498A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C498AC */ cpu->r[0] = cpu->r[0] + 0x00005834u;
|
|
/* 02C498B0 */ _t0 = cpu->r[12] + cpu->r[0];
|
|
/* 02C498B0 */ rbrew_write16(cpu->mem, _t0, (uint16_t)cpu->r[4]);
|
|
/* 02C498B4 */ return;
|
|
}
|
|
|
|
// fn_02C498B8 @ 0x2c498b8
|
|
void Gambit_fn_02C498B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02C498B8: ; // 0x2c498b8
|
|
/* 02C498B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C498BC */ _t0 = cpu->r[1] + 0xFFFFFD88u;
|
|
/* 02C498BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C498BC */ cpu->r[1] = _t0;
|
|
/* 02C498C0 */ _t1 = cpu->r[1] + 0x00000270u;
|
|
/* 02C498C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C498C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C498C8 */ _t2 = cpu->r[1] + 0x00000274u;
|
|
/* 02C498C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C498CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C498D0 */ _t3 = cpu->r[1] + 0x0000027Cu;
|
|
/* 02C498D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C498D4 */ Gambit_fn_02C3531C(cpu);
|
|
/* 02C498D8 */ _t4 = cpu->r[30] + 0x00000038u;
|
|
/* 02C498D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C498DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C498E0 */ Gambit_fn_02C353C0(cpu);
|
|
/* 02C498E4 */ _t5 = cpu->r[30] + 0x00000048u;
|
|
/* 02C498E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C498E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C498EC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C498EC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C498EC */ if (_t7) goto L_02C498F0; else goto L_02C4994C;
|
|
L_02C498F0: ; // 0x2c498f0
|
|
/* 02C498F0 */ _t8 = cpu->r[30] + 0x00000044u;
|
|
/* 02C498F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C498F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFFu);
|
|
/* 02C498F8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C498F8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C498F8 */ if (_t10) goto L_02C4994C; else goto L_02C498FC;
|
|
L_02C498FC: ; // 0x2c498fc
|
|
/* 02C498FC */ _t11 = cpu->r[30] + 0x00000058u;
|
|
/* 02C498FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C49900 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C49904 */ cpu->r[6] = 0x00000002u;
|
|
/* 02C49908 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4990C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02C49910 */ Gambit_fn_02C34EAC(cpu);
|
|
/* 02C49914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C49918 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49918 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C49918 */ if (_t13) goto L_02C4991C; else goto L_02C4993C;
|
|
L_02C4991C: ; // 0x2c4991c
|
|
/* 02C4991C */ _t14 = cpu->r[30] + 0x00000058u;
|
|
/* 02C4991C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C49920 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C49924 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C49928 */ _t15 = cpu->r[11] + 0x00000014u;
|
|
/* 02C49928 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[4]);
|
|
/* 02C4992C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49930 */ _t16 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C49930 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[10]);
|
|
/* 02C49934 */ Gambit_fn_02C1BDA4(cpu);
|
|
/* 02C49938 */ goto L_02C499F8;
|
|
L_02C4993C: ; // 0x2c4993c
|
|
/* 02C4993C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02C49940 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C49944 */ Gambit_fn_02C23410(cpu);
|
|
/* 02C49948 */ _t17 = cpu->r[30] + 0x00000048u;
|
|
/* 02C49948 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
L_02C4994C: ; // 0x2c4994c
|
|
/* 02C4994C */ _t18 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C4994C */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C49950 */ _t19 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C49950 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C49954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C49958 */ _t20 = cpu->r[30] + 0x00000038u;
|
|
/* 02C49958 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C4995C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4995C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C4995C */ if (_t22) goto L_02C49964; else goto L_02C49960;
|
|
L_02C49960: ; // 0x2c49960
|
|
/* 02C49960 */ cpu->r[6] = cpu->r[6] + 0x0000000Cu;
|
|
L_02C49964: ; // 0x2c49964
|
|
/* 02C49964 */ Gambit_fn_02C243B8(cpu);
|
|
/* 02C49968 */ cpu->r[10] = cpu->r[3];
|
|
/* 02C49968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4996C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4996C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4996C */ if (_t24) goto L_02C49970; else goto L_02C499C4;
|
|
L_02C49970: ; // 0x2c49970
|
|
/* 02C49970 */ _t25 = cpu->r[30] + 0x00000058u;
|
|
/* 02C49970 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C49974 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02C49978 */ _t26 = cpu->r[30] + 0x00000048u;
|
|
/* 02C49978 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4997C */ _t27 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C4997C */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C49980 */ Gambit_fn_02C35254(cpu);
|
|
/* 02C49984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C49988 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49988 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C49988 */ if (_t29) goto L_02C4998C; else goto L_02C499AC;
|
|
L_02C4998C: ; // 0x2c4998c
|
|
/* 02C4998C */ _t30 = cpu->r[30] + 0x00000058u;
|
|
/* 02C4998C */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C49990 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C49994 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C49998 */ _t31 = cpu->r[9] + 0x00000014u;
|
|
/* 02C49998 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[4]);
|
|
/* 02C4999C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C499A0 */ _t32 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C499A0 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[10]);
|
|
/* 02C499A4 */ Gambit_fn_02C1BDA4(cpu);
|
|
/* 02C499A8 */ goto L_02C499F8;
|
|
L_02C499AC: ; // 0x2c499ac
|
|
/* 02C499AC */ _t33 = cpu->r[30] + 0x00000048u;
|
|
/* 02C499AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C499B0 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C499B4 */ _t34 = cpu->r[30] + 0x00000038u;
|
|
/* 02C499B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C499B8 */ _t35 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C499B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C499BC */ Gambit_fn_02C243B8(cpu);
|
|
/* 02C499C0 */ cpu->r[10] = cpu->r[3];
|
|
L_02C499C4: ; // 0x2c499c4
|
|
/* 02C499C4 */ _t36 = cpu->r[30] + 0x00000054u;
|
|
/* 02C499C4 */ rbrew_write32(cpu->mem, _t36, cpu->r[10]);
|
|
/* 02C499C8 */ _t37 = cpu->r[30] + 0x00000048u;
|
|
/* 02C499C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C499CC */ _t38 = cpu->r[30] + 0x00000058u;
|
|
/* 02C499CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C499D0 */ _t39 = cpu->r[30] + 0x00000050u;
|
|
/* 02C499D0 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02C499D4 */ cpu->r[0] = 0x00000002u;
|
|
/* 02C499D8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C499DC */ _t40 = cpu->r[12] + 0x00000014u;
|
|
/* 02C499DC */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[0]);
|
|
/* 02C499E0 */ Gambit_fn_02C1BD7C(cpu);
|
|
/* 02C499E4 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C499E8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C499EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C499F0 */ _t41 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C499F0 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[10]);
|
|
/* 02C499F4 */ Gambit_fn_02C1BDA4(cpu);
|
|
L_02C499F8: ; // 0x2c499f8
|
|
/* 02C499F8 */ _t42 = cpu->r[1] + 0x0000027Cu;
|
|
/* 02C499F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C499FC */ _t43 = cpu->r[1] + 0x00000270u;
|
|
/* 02C499FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C49A00 */ cpu->lr = cpu->r[0];
|
|
/* 02C49A04 */ _t44 = cpu->r[1] + 0x00000274u;
|
|
/* 02C49A04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C49A08 */ cpu->r[1] = cpu->r[1] + 0x00000278u;
|
|
/* 02C49A0C */ return;
|
|
}
|
|
|
|
// fn_02C498BC @ 0x2c498bc
|
|
void Gambit_fn_02C498BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02C498BC: ; // 0x2c498bc
|
|
/* 02C498BC */ _t0 = cpu->r[1] + 0xFFFFFD88u;
|
|
/* 02C498BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C498BC */ cpu->r[1] = _t0;
|
|
/* 02C498C0 */ _t1 = cpu->r[1] + 0x00000270u;
|
|
/* 02C498C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C498C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C498C8 */ _t2 = cpu->r[1] + 0x00000274u;
|
|
/* 02C498C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C498CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C498D0 */ _t3 = cpu->r[1] + 0x0000027Cu;
|
|
/* 02C498D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C498D4 */ Gambit_fn_02C3531C(cpu);
|
|
/* 02C498D8 */ _t4 = cpu->r[30] + 0x00000038u;
|
|
/* 02C498D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C498DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C498E0 */ Gambit_fn_02C353C0(cpu);
|
|
/* 02C498E4 */ _t5 = cpu->r[30] + 0x00000048u;
|
|
/* 02C498E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C498E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C498EC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C498EC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C498EC */ if (_t7) goto L_02C498F0; else goto L_02C4994C;
|
|
L_02C498F0: ; // 0x2c498f0
|
|
/* 02C498F0 */ _t8 = cpu->r[30] + 0x00000044u;
|
|
/* 02C498F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C498F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFFu);
|
|
/* 02C498F8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C498F8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C498F8 */ if (_t10) goto L_02C4994C; else goto L_02C498FC;
|
|
L_02C498FC: ; // 0x2c498fc
|
|
/* 02C498FC */ _t11 = cpu->r[30] + 0x00000058u;
|
|
/* 02C498FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C49900 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C49904 */ cpu->r[6] = 0x00000002u;
|
|
/* 02C49908 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4990C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02C49910 */ Gambit_fn_02C34EAC(cpu);
|
|
/* 02C49914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C49918 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49918 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C49918 */ if (_t13) goto L_02C4991C; else goto L_02C4993C;
|
|
L_02C4991C: ; // 0x2c4991c
|
|
/* 02C4991C */ _t14 = cpu->r[30] + 0x00000058u;
|
|
/* 02C4991C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C49920 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C49924 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C49928 */ _t15 = cpu->r[11] + 0x00000014u;
|
|
/* 02C49928 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[4]);
|
|
/* 02C4992C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49930 */ _t16 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C49930 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[10]);
|
|
/* 02C49934 */ Gambit_fn_02C1BDA4(cpu);
|
|
/* 02C49938 */ goto L_02C499F8;
|
|
L_02C4993C: ; // 0x2c4993c
|
|
/* 02C4993C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02C49940 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C49944 */ Gambit_fn_02C23410(cpu);
|
|
/* 02C49948 */ _t17 = cpu->r[30] + 0x00000048u;
|
|
/* 02C49948 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
L_02C4994C: ; // 0x2c4994c
|
|
/* 02C4994C */ _t18 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C4994C */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C49950 */ _t19 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C49950 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C49954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C49958 */ _t20 = cpu->r[30] + 0x00000038u;
|
|
/* 02C49958 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C4995C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4995C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C4995C */ if (_t22) goto L_02C49964; else goto L_02C49960;
|
|
L_02C49960: ; // 0x2c49960
|
|
/* 02C49960 */ cpu->r[6] = cpu->r[6] + 0x0000000Cu;
|
|
L_02C49964: ; // 0x2c49964
|
|
/* 02C49964 */ Gambit_fn_02C243B8(cpu);
|
|
/* 02C49968 */ cpu->r[10] = cpu->r[3];
|
|
/* 02C49968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4996C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4996C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4996C */ if (_t24) goto L_02C49970; else goto L_02C499C4;
|
|
L_02C49970: ; // 0x2c49970
|
|
/* 02C49970 */ _t25 = cpu->r[30] + 0x00000058u;
|
|
/* 02C49970 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C49974 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02C49978 */ _t26 = cpu->r[30] + 0x00000048u;
|
|
/* 02C49978 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4997C */ _t27 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C4997C */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C49980 */ Gambit_fn_02C35254(cpu);
|
|
/* 02C49984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C49988 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49988 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C49988 */ if (_t29) goto L_02C4998C; else goto L_02C499AC;
|
|
L_02C4998C: ; // 0x2c4998c
|
|
/* 02C4998C */ _t30 = cpu->r[30] + 0x00000058u;
|
|
/* 02C4998C */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C49990 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C49994 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C49998 */ _t31 = cpu->r[9] + 0x00000014u;
|
|
/* 02C49998 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[4]);
|
|
/* 02C4999C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C499A0 */ _t32 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C499A0 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[10]);
|
|
/* 02C499A4 */ Gambit_fn_02C1BDA4(cpu);
|
|
/* 02C499A8 */ goto L_02C499F8;
|
|
L_02C499AC: ; // 0x2c499ac
|
|
/* 02C499AC */ _t33 = cpu->r[30] + 0x00000048u;
|
|
/* 02C499AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C499B0 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C499B4 */ _t34 = cpu->r[30] + 0x00000038u;
|
|
/* 02C499B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C499B8 */ _t35 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C499B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C499BC */ Gambit_fn_02C243B8(cpu);
|
|
/* 02C499C0 */ cpu->r[10] = cpu->r[3];
|
|
L_02C499C4: ; // 0x2c499c4
|
|
/* 02C499C4 */ _t36 = cpu->r[30] + 0x00000054u;
|
|
/* 02C499C4 */ rbrew_write32(cpu->mem, _t36, cpu->r[10]);
|
|
/* 02C499C8 */ _t37 = cpu->r[30] + 0x00000048u;
|
|
/* 02C499C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C499CC */ _t38 = cpu->r[30] + 0x00000058u;
|
|
/* 02C499CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C499D0 */ _t39 = cpu->r[30] + 0x00000050u;
|
|
/* 02C499D0 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02C499D4 */ cpu->r[0] = 0x00000002u;
|
|
/* 02C499D8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C499DC */ _t40 = cpu->r[12] + 0x00000014u;
|
|
/* 02C499DC */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[0]);
|
|
/* 02C499E0 */ Gambit_fn_02C1BD7C(cpu);
|
|
/* 02C499E4 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C499E8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C499EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C499F0 */ _t41 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C499F0 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[10]);
|
|
/* 02C499F4 */ Gambit_fn_02C1BDA4(cpu);
|
|
L_02C499F8: ; // 0x2c499f8
|
|
/* 02C499F8 */ _t42 = cpu->r[1] + 0x0000027Cu;
|
|
/* 02C499F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C499FC */ _t43 = cpu->r[1] + 0x00000270u;
|
|
/* 02C499FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C49A00 */ cpu->lr = cpu->r[0];
|
|
/* 02C49A04 */ _t44 = cpu->r[1] + 0x00000274u;
|
|
/* 02C49A04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C49A08 */ cpu->r[1] = cpu->r[1] + 0x00000278u;
|
|
/* 02C49A0C */ return;
|
|
}
|
|
|
|
// fn_02C49A10 @ 0x2c49a10
|
|
void Gambit_fn_02C49A10(CPUState* cpu) {
|
|
uint32_t _t0, _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_02C49A10: ; // 0x2c49a10
|
|
/* 02C49A10 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49A14 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C49A14 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C49A18 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C49A1C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C49A1C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C49A1C */ cpu->r[1] = _t1;
|
|
/* 02C49A20 */ Gambit_fn_02C4533C(cpu);
|
|
/* 02C49A24 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C49A28 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C49A2C */ _t2 = cpu->r[6] + 0x00000198u;
|
|
/* 02C49A2C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02C49A30 */ cpu->r[10] = 0x00000040u;
|
|
/* 02C49A34 */ _t3 = cpu->r[12] + 0xFFFFCFA0u;
|
|
/* 02C49A34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C49A38 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C49A3C */ _t4 = cpu->r[6] + 0x00000192u;
|
|
/* 02C49A3C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[10]);
|
|
/* 02C49A40 */ cpu->r[12] = cpu->r[11];
|
|
/* 02C49A44 */ _t5 = cpu->r[6] + 0x000001A0u;
|
|
/* 02C49A44 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49A48 */ cpu->r[8] = cpu->r[12];
|
|
/* 02C49A4C */ _t6 = cpu->r[6] + 0x00000191u;
|
|
/* 02C49A4C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[11]);
|
|
/* 02C49A50 */ cpu->r[9] = cpu->r[6] + 0x000001CCu;
|
|
/* 02C49A54 */ _t7 = cpu->r[6] + 0x000001CAu;
|
|
/* 02C49A54 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 02C49A58 */ _t8 = cpu->r[6] + 0x000001C9u;
|
|
/* 02C49A58 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[10]);
|
|
/* 02C49A5C */ _t9 = cpu->r[6] + 0x00000194u;
|
|
/* 02C49A5C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02C49A60 */ _t10 = cpu->r[6] + 0x0000019Cu;
|
|
/* 02C49A60 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02C49A64 */ cpu->r[7] = 0x00000003u;
|
|
/* 02C49A68 */ _t11 = cpu->r[6] + 0x000001ACu;
|
|
/* 02C49A68 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02C49A6C */ cpu->ctr = cpu->r[7];
|
|
/* 02C49A70 */ _t12 = cpu->r[6] + 0x000001C0u;
|
|
/* 02C49A70 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
L_02C49A74: ; // 0x2c49a74
|
|
/* 02C49A74 */ _t13 = cpu->r[9] + cpu->r[12];
|
|
/* 02C49A74 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[8]);
|
|
/* 02C49A78 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C49A7C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C49A7C */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C49A7C */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 02C49A7C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C49A7C */ if (_t16) goto L_02C49A74; else goto L_02C49A80;
|
|
L_02C49A80: ; // 0x2c49a80
|
|
/* 02C49A80 */ cpu->r[9] = 0x0000007Fu;
|
|
/* 02C49A84 */ cpu->r[3] = cpu->r[6] + 0x000001B0u;
|
|
/* 02C49A88 */ _t17 = cpu->r[6] + 0x000001CBu;
|
|
/* 02C49A88 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[9]);
|
|
/* 02C49A8C */ Gambit_fn_02C3CC80(cpu);
|
|
/* 02C49A90 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C49A94 */ _t18 = cpu->r[6] + 0x000001DAu;
|
|
/* 02C49A94 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[11]);
|
|
/* 02C49A98 */ _t19 = cpu->r[6] + 0x000001D9u;
|
|
/* 02C49A98 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 02C49A9C */ _t20 = cpu->r[6] + 0x00000190u;
|
|
/* 02C49A9C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[11]);
|
|
/* 02C49AA0 */ _t21 = cpu->r[6] + 0x000001D4u;
|
|
/* 02C49AA0 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 02C49AA4 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02C49AA8 */ _t22 = cpu->r[6] + 0x000001D8u;
|
|
/* 02C49AA8 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[11]);
|
|
/* 02C49AAC */ _t23 = cpu->r[6] + 0x00000193u;
|
|
/* 02C49AAC */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[10]);
|
|
/* 02C49AB0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49AB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C49AB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C49AB8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49ABC */ return;
|
|
}
|
|
|
|
// fn_02C49A1C @ 0x2c49a1c
|
|
void Gambit_fn_02C49A1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C49A1C: ; // 0x2c49a1c
|
|
/* 02C49A1C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C49A1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49A1C */ cpu->r[1] = _t0;
|
|
/* 02C49A20 */ Gambit_fn_02C4533C(cpu);
|
|
/* 02C49A24 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C49A28 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C49A2C */ _t1 = cpu->r[6] + 0x00000198u;
|
|
/* 02C49A2C */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02C49A30 */ cpu->r[10] = 0x00000040u;
|
|
/* 02C49A34 */ _t2 = cpu->r[12] + 0xFFFFCFA0u;
|
|
/* 02C49A34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C49A38 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C49A3C */ _t3 = cpu->r[6] + 0x00000192u;
|
|
/* 02C49A3C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[10]);
|
|
/* 02C49A40 */ cpu->r[12] = cpu->r[11];
|
|
/* 02C49A44 */ _t4 = cpu->r[6] + 0x000001A0u;
|
|
/* 02C49A44 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C49A48 */ cpu->r[8] = cpu->r[12];
|
|
/* 02C49A4C */ _t5 = cpu->r[6] + 0x00000191u;
|
|
/* 02C49A4C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[11]);
|
|
/* 02C49A50 */ cpu->r[9] = cpu->r[6] + 0x000001CCu;
|
|
/* 02C49A54 */ _t6 = cpu->r[6] + 0x000001CAu;
|
|
/* 02C49A54 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[11]);
|
|
/* 02C49A58 */ _t7 = cpu->r[6] + 0x000001C9u;
|
|
/* 02C49A58 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[10]);
|
|
/* 02C49A5C */ _t8 = cpu->r[6] + 0x00000194u;
|
|
/* 02C49A5C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02C49A60 */ _t9 = cpu->r[6] + 0x0000019Cu;
|
|
/* 02C49A60 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C49A64 */ cpu->r[7] = 0x00000003u;
|
|
/* 02C49A68 */ _t10 = cpu->r[6] + 0x000001ACu;
|
|
/* 02C49A68 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02C49A6C */ cpu->ctr = cpu->r[7];
|
|
/* 02C49A70 */ _t11 = cpu->r[6] + 0x000001C0u;
|
|
/* 02C49A70 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
L_02C49A74: ; // 0x2c49a74
|
|
/* 02C49A74 */ _t12 = cpu->r[9] + cpu->r[12];
|
|
/* 02C49A74 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[8]);
|
|
/* 02C49A78 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C49A7C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C49A7C */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C49A7C */ _t14 = _t13 >> (0x00000002u & 31u);
|
|
/* 02C49A7C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C49A7C */ if (_t15) goto L_02C49A74; else goto L_02C49A80;
|
|
L_02C49A80: ; // 0x2c49a80
|
|
/* 02C49A80 */ cpu->r[9] = 0x0000007Fu;
|
|
/* 02C49A84 */ cpu->r[3] = cpu->r[6] + 0x000001B0u;
|
|
/* 02C49A88 */ _t16 = cpu->r[6] + 0x000001CBu;
|
|
/* 02C49A88 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[9]);
|
|
/* 02C49A8C */ Gambit_fn_02C3CC80(cpu);
|
|
/* 02C49A90 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C49A94 */ _t17 = cpu->r[6] + 0x000001DAu;
|
|
/* 02C49A94 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[11]);
|
|
/* 02C49A98 */ _t18 = cpu->r[6] + 0x000001D9u;
|
|
/* 02C49A98 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 02C49A9C */ _t19 = cpu->r[6] + 0x00000190u;
|
|
/* 02C49A9C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[11]);
|
|
/* 02C49AA0 */ _t20 = cpu->r[6] + 0x000001D4u;
|
|
/* 02C49AA0 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02C49AA4 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02C49AA8 */ _t21 = cpu->r[6] + 0x000001D8u;
|
|
/* 02C49AA8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[11]);
|
|
/* 02C49AAC */ _t22 = cpu->r[6] + 0x00000193u;
|
|
/* 02C49AAC */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[10]);
|
|
/* 02C49AB0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49AB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C49AB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C49AB8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C49ABC */ return;
|
|
}
|
|
|
|
// fn_02C49AC0 @ 0x2c49ac0
|
|
void Gambit_fn_02C49AC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C49AC0: ; // 0x2c49ac0
|
|
/* 02C49AC0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49AC4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49AC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49AC4 */ cpu->r[1] = _t0;
|
|
/* 02C49AC8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49AC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C49ACC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49ACC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C49AD0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49AD0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C49AD4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49AD4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C49AD8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C49ADC */ _t5 = cpu->r[29] + 0x00000024u;
|
|
/* 02C49ADC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C49AE0 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C49AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C49AE8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C49AEC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49AEC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C49AEC */ if (_t7) goto L_02C49AF8; else goto L_02C49AF0;
|
|
L_02C49AF0: ; // 0x2c49af0
|
|
/* 02C49AF0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C49AF4 */ Gambit_fn_02C3BC30(cpu);
|
|
L_02C49AF8: ; // 0x2c49af8
|
|
/* 02C49AF8 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C49AF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C49AFC */ _t9 = cpu->r[29] + 0x000001A0u;
|
|
/* 02C49AFC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C49B00 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02C49B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C49B04 */ _t11 = cpu->r[29] + 0x000001A4u;
|
|
/* 02C49B04 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02C49B08 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02C49B08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C49B0C */ _t13 = cpu->r[29] + 0x000001A8u;
|
|
/* 02C49B0C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02C49B10 */ cpu->r[12] = 0xAAAB0000u;
|
|
/* 02C49B14 */ _t14 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C49B14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C49B18 */ cpu->r[12] = cpu->r[12] + 0xFFFFAAABu;
|
|
/* 02C49B1C */ /* nop */
|
|
/* 02C49B20 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C49B24 */ _t15 = cpu->r[29] + 0x000001ACu;
|
|
/* 02C49B24 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 02C49B28 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02C49B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C49B2C */ _t17 = cpu->r[29] + 0x00000198u;
|
|
/* 02C49B2C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02C49B30 */ _t18 = cpu->r[31] + 0x00000004u;
|
|
/* 02C49B30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C49B34 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C49B38 */ _t19 = cpu->r[29] + 0x0000019Cu;
|
|
/* 02C49B38 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02C49B3C */ _t20 = cpu->r[31] + 0x00000008u;
|
|
/* 02C49B3C */ cpu->r[11] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C49B40 */ cpu->r[31] = 0x00000001u;
|
|
/* 02C49B44 */ _t21 = cpu->r[29] + 0x000001D8u;
|
|
/* 02C49B44 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 02C49B48 */ _t22 = cpu->r[29] + 0x00000024u;
|
|
/* 02C49B48 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[31]);
|
|
/* 02C49B4C */ _t23 = cpu->r[29] + 0x00000193u;
|
|
/* 02C49B4C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]);
|
|
/* 02C49B50 */ Gambit_fn_02C26F1C(cpu);
|
|
/* 02C49B54 */ cpu->r[4] = cpu->r[29] + 0x00000178u;
|
|
/* 02C49B58 */ Gambit_fn_02C2700C(cpu);
|
|
/* 02C49B5C */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C49B60 */ cpu->r[4] = cpu->r[29] + 0x00000184u;
|
|
/* 02C49B64 */ Gambit_fn_02C35F5C(cpu);
|
|
/* 02C49B68 */ _t24 = cpu->r[29] + 0x000001DAu;
|
|
/* 02C49B68 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]);
|
|
/* 02C49B6C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49B6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C49B70 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C49B74 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49B74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C49B78 */ cpu->lr = cpu->r[0];
|
|
/* 02C49B7C */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49B7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C49B80 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49B84 */ return;
|
|
}
|
|
|
|
// fn_02C49AC4 @ 0x2c49ac4
|
|
void Gambit_fn_02C49AC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C49AC4: ; // 0x2c49ac4
|
|
/* 02C49AC4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49AC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49AC4 */ cpu->r[1] = _t0;
|
|
/* 02C49AC8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49AC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C49ACC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49ACC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C49AD0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49AD0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C49AD4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49AD4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C49AD8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C49ADC */ _t5 = cpu->r[29] + 0x00000024u;
|
|
/* 02C49ADC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C49AE0 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C49AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C49AE8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C49AEC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49AEC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C49AEC */ if (_t7) goto L_02C49AF8; else goto L_02C49AF0;
|
|
L_02C49AF0: ; // 0x2c49af0
|
|
/* 02C49AF0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C49AF4 */ Gambit_fn_02C3BC30(cpu);
|
|
L_02C49AF8: ; // 0x2c49af8
|
|
/* 02C49AF8 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C49AF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C49AFC */ _t9 = cpu->r[29] + 0x000001A0u;
|
|
/* 02C49AFC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C49B00 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02C49B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C49B04 */ _t11 = cpu->r[29] + 0x000001A4u;
|
|
/* 02C49B04 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02C49B08 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02C49B08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C49B0C */ _t13 = cpu->r[29] + 0x000001A8u;
|
|
/* 02C49B0C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02C49B10 */ cpu->r[12] = 0xAAAB0000u;
|
|
/* 02C49B14 */ _t14 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C49B14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C49B18 */ cpu->r[12] = cpu->r[12] + 0xFFFFAAABu;
|
|
/* 02C49B1C */ /* nop */
|
|
/* 02C49B20 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C49B24 */ _t15 = cpu->r[29] + 0x000001ACu;
|
|
/* 02C49B24 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 02C49B28 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02C49B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C49B2C */ _t17 = cpu->r[29] + 0x00000198u;
|
|
/* 02C49B2C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02C49B30 */ _t18 = cpu->r[31] + 0x00000004u;
|
|
/* 02C49B30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C49B34 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C49B38 */ _t19 = cpu->r[29] + 0x0000019Cu;
|
|
/* 02C49B38 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02C49B3C */ _t20 = cpu->r[31] + 0x00000008u;
|
|
/* 02C49B3C */ cpu->r[11] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C49B40 */ cpu->r[31] = 0x00000001u;
|
|
/* 02C49B44 */ _t21 = cpu->r[29] + 0x000001D8u;
|
|
/* 02C49B44 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 02C49B48 */ _t22 = cpu->r[29] + 0x00000024u;
|
|
/* 02C49B48 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[31]);
|
|
/* 02C49B4C */ _t23 = cpu->r[29] + 0x00000193u;
|
|
/* 02C49B4C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]);
|
|
/* 02C49B50 */ Gambit_fn_02C26F1C(cpu);
|
|
/* 02C49B54 */ cpu->r[4] = cpu->r[29] + 0x00000178u;
|
|
/* 02C49B58 */ Gambit_fn_02C2700C(cpu);
|
|
/* 02C49B5C */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C49B60 */ cpu->r[4] = cpu->r[29] + 0x00000184u;
|
|
/* 02C49B64 */ Gambit_fn_02C35F5C(cpu);
|
|
/* 02C49B68 */ _t24 = cpu->r[29] + 0x000001DAu;
|
|
/* 02C49B68 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]);
|
|
/* 02C49B6C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49B6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C49B70 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C49B74 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49B74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C49B78 */ cpu->lr = cpu->r[0];
|
|
/* 02C49B7C */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49B7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C49B80 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49B84 */ return;
|
|
}
|
|
|
|
// fn_02C49B88 @ 0x2c49b88
|
|
void Gambit_fn_02C49B88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C49B88: ; // 0x2c49b88
|
|
/* 02C49B88 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49B8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C49B8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49B8C */ cpu->r[1] = _t0;
|
|
/* 02C49B90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49B90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C49B94 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49B94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C49B98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49B98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C49B9C */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02C49B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C49BA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C49BA4 */ _t5 = cpu->r[30] + 0x000001A0u;
|
|
/* 02C49BA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49BA8 */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 02C49BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49BAC */ _t7 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C49BAC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C49BB0 */ _t8 = cpu->r[4] + 0x00000008u;
|
|
/* 02C49BB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C49BB4 */ cpu->r[12] = 0xAAAB0000u;
|
|
/* 02C49BB8 */ _t9 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C49BB8 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02C49BBC */ _t10 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C49BBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C49BC0 */ cpu->r[12] = cpu->r[12] + 0xFFFFAAABu;
|
|
/* 02C49BC4 */ /* nop */
|
|
/* 02C49BC8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C49BCC */ _t11 = cpu->r[30] + 0x000001ACu;
|
|
/* 02C49BCC */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02C49BD0 */ _t12 = cpu->r[5] + 0x00000000u;
|
|
/* 02C49BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C49BD4 */ _t13 = cpu->r[30] + 0x000001E4u;
|
|
/* 02C49BD4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02C49BD8 */ _t14 = cpu->r[5] + 0x00000004u;
|
|
/* 02C49BD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C49BDC */ _t15 = cpu->r[30] + 0x000001E8u;
|
|
/* 02C49BDC */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 02C49BE0 */ _t16 = cpu->r[5] + 0x00000008u;
|
|
/* 02C49BE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C49BE4 */ _t17 = cpu->r[30] + 0x000001ECu;
|
|
/* 02C49BE4 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02C49BE8 */ _t18 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02C49BE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C49BEC */ _t19 = cpu->r[30] + 0x000001F0u;
|
|
/* 02C49BEC */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02C49BF0 */ _t20 = cpu->r[5] + 0x00000010u;
|
|
/* 02C49BF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C49BF4 */ cpu->r[31] = 0x00000001u;
|
|
/* 02C49BF8 */ _t21 = cpu->r[30] + 0x000001F4u;
|
|
/* 02C49BF8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02C49BFC */ _t22 = cpu->r[5] + 0x00000014u;
|
|
/* 02C49BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C49C00 */ _t23 = cpu->r[30] + 0x000001D8u;
|
|
/* 02C49C00 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]);
|
|
/* 02C49C04 */ _t24 = cpu->r[30] + 0x000001F8u;
|
|
/* 02C49C04 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02C49C08 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C49C0C */ cpu->r[4] = cpu->r[30] + 0x00000184u;
|
|
/* 02C49C10 */ Gambit_fn_02C35F5C(cpu);
|
|
/* 02C49C14 */ _t25 = cpu->r[30] + 0x000001DAu;
|
|
/* 02C49C14 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[31]);
|
|
/* 02C49C18 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C49C1C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49C1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C49C20 */ cpu->lr = cpu->r[0];
|
|
/* 02C49C24 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49C24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C49C28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C49C2C */ return;
|
|
}
|
|
|
|
// fn_02C49B8C @ 0x2c49b8c
|
|
void Gambit_fn_02C49B8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C49B8C: ; // 0x2c49b8c
|
|
/* 02C49B8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C49B8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49B8C */ cpu->r[1] = _t0;
|
|
/* 02C49B90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49B90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C49B94 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49B94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C49B98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49B98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C49B9C */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02C49B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C49BA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C49BA4 */ _t5 = cpu->r[30] + 0x000001A0u;
|
|
/* 02C49BA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49BA8 */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 02C49BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49BAC */ _t7 = cpu->r[30] + 0x000001A4u;
|
|
/* 02C49BAC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C49BB0 */ _t8 = cpu->r[4] + 0x00000008u;
|
|
/* 02C49BB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C49BB4 */ cpu->r[12] = 0xAAAB0000u;
|
|
/* 02C49BB8 */ _t9 = cpu->r[30] + 0x000001A8u;
|
|
/* 02C49BB8 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02C49BBC */ _t10 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C49BBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C49BC0 */ cpu->r[12] = cpu->r[12] + 0xFFFFAAABu;
|
|
/* 02C49BC4 */ /* nop */
|
|
/* 02C49BC8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C49BCC */ _t11 = cpu->r[30] + 0x000001ACu;
|
|
/* 02C49BCC */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02C49BD0 */ _t12 = cpu->r[5] + 0x00000000u;
|
|
/* 02C49BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C49BD4 */ _t13 = cpu->r[30] + 0x000001E4u;
|
|
/* 02C49BD4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02C49BD8 */ _t14 = cpu->r[5] + 0x00000004u;
|
|
/* 02C49BD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C49BDC */ _t15 = cpu->r[30] + 0x000001E8u;
|
|
/* 02C49BDC */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 02C49BE0 */ _t16 = cpu->r[5] + 0x00000008u;
|
|
/* 02C49BE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C49BE4 */ _t17 = cpu->r[30] + 0x000001ECu;
|
|
/* 02C49BE4 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02C49BE8 */ _t18 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02C49BE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C49BEC */ _t19 = cpu->r[30] + 0x000001F0u;
|
|
/* 02C49BEC */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02C49BF0 */ _t20 = cpu->r[5] + 0x00000010u;
|
|
/* 02C49BF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C49BF4 */ cpu->r[31] = 0x00000001u;
|
|
/* 02C49BF8 */ _t21 = cpu->r[30] + 0x000001F4u;
|
|
/* 02C49BF8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02C49BFC */ _t22 = cpu->r[5] + 0x00000014u;
|
|
/* 02C49BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C49C00 */ _t23 = cpu->r[30] + 0x000001D8u;
|
|
/* 02C49C00 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]);
|
|
/* 02C49C04 */ _t24 = cpu->r[30] + 0x000001F8u;
|
|
/* 02C49C04 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02C49C08 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C49C0C */ cpu->r[4] = cpu->r[30] + 0x00000184u;
|
|
/* 02C49C10 */ Gambit_fn_02C35F5C(cpu);
|
|
/* 02C49C14 */ _t25 = cpu->r[30] + 0x000001DAu;
|
|
/* 02C49C14 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[31]);
|
|
/* 02C49C18 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C49C1C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49C1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C49C20 */ cpu->lr = cpu->r[0];
|
|
/* 02C49C24 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49C24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C49C28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C49C2C */ return;
|
|
}
|
|
|
|
// fn_02C49C30 @ 0x2c49c30
|
|
void Gambit_fn_02C49C30(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C49C30: ; // 0x2c49c30
|
|
/* 02C49C30 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C49C34 */ _t0 = cpu->r[3] + 0x00000025u;
|
|
/* 02C49C34 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 02C49C38 */ return;
|
|
}
|
|
|
|
// fn_02C49C3C @ 0x2c49c3c
|
|
void Gambit_fn_02C49C3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C3BC30: ; // 0x2c3bc30
|
|
/* 02C3BC30 */ cpu->r[0] = cpu->lr;
|
|
/* 02C3BC34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C3BC34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C3BC34 */ cpu->r[1] = _t0;
|
|
/* 02C3BC38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C3BC38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C3BC3C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C3BC3C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C3BC40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C3BC44 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C3BC44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C3BC48 */ _t4 = cpu->r[31] + 0x000001DAu;
|
|
/* 02C3BC48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C3BC4C */ cpu->r[30] = 0x00000000u;
|
|
/* 02C3BC50 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C3BC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C3BC58 */ _t5 = cpu->r[31] + 0x00000027u;
|
|
/* 02C3BC58 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[12]);
|
|
/* 02C3BC5C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3BC5C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C3BC5C */ if (_t7) goto L_02C3BC70; else goto L_02C3BC60;
|
|
L_02C3BC60: ; // 0x2c3bc60
|
|
/* 02C3BC60 */ Gambit_fn_02C21AF4(cpu);
|
|
/* 02C3BC64 */ cpu->r[4] = cpu->r[31] + 0x00000184u;
|
|
/* 02C3BC68 */ Gambit_fn_02C35F90(cpu);
|
|
/* 02C3BC6C */ _t8 = cpu->r[31] + 0x000001DAu;
|
|
/* 02C3BC6C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
|
|
L_02C3BC70: ; // 0x2c3bc70
|
|
/* 02C3BC70 */ _t9 = cpu->r[31] + 0x00000025u;
|
|
/* 02C3BC70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C3BC74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C3BC78 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3BC78 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C3BC78 */ if (_t11) goto L_02C3BC80; else goto L_02C3BC7C;
|
|
L_02C3BC7C: ; // 0x2c3bc7c
|
|
/* 02C3BC7C */ _t12 = cpu->r[31] + 0x00000025u;
|
|
/* 02C3BC7C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[30]);
|
|
L_02C3BC80: ; // 0x2c3bc80
|
|
/* 02C3BC80 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C3BC80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C3BC84 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C3BC84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C3BC88 */ cpu->lr = cpu->r[0];
|
|
/* 02C3BC8C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C3BC8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C3BC90 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C3BC94 */ return;
|
|
L_02C49C3C: ; // 0x2c49c3c
|
|
/* 02C49C3C */ goto L_02C3BC30;
|
|
}
|
|
|
|
// fn_02C49C40 @ 0x2c49c40
|
|
void Gambit_fn_02C49C40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C27F88: ; // 0x2c27f88
|
|
/* 02C27F88 */ _t0 = cpu->r[3] + 0x00000377u;
|
|
/* 02C27F88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C27F8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02C27F90 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C27F90 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C27F90 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C27F90 */ goto L_02C27F94;
|
|
L_02C27F94: ; // 0x2c27f94
|
|
/* 02C27F94 */ _t3 = cpu->r[3] + 0x00000380u;
|
|
/* 02C27F94 */ cpu->r[12] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C27F98 */ _t4 = cpu->r[3] + 0x00000377u;
|
|
/* 02C27F98 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[4]);
|
|
/* 02C27F9C */ cpu->r[12] = cpu->r[12] | 0x00000002u;
|
|
/* 02C27FA0 */ _t5 = cpu->r[3] + 0x00000380u;
|
|
/* 02C27FA0 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[12]);
|
|
/* 02C27FA4 */ return;
|
|
L_02C49C40: ; // 0x2c49c40
|
|
/* 02C49C40 */ _t6 = cpu->r[3] + 0x000001D4u;
|
|
/* 02C49C40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49C44 */ cpu->r[10] = cpu->r[4];
|
|
/* 02C49C48 */ _t7 = cpu->r[3] + 0x00000026u;
|
|
/* 02C49C48 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[10]);
|
|
/* 02C49C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C49C50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49C50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C49C50 */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C49C50 */ goto L_02C49C54;
|
|
L_02C49C54: ; // 0x2c49c54
|
|
/* 02C49C54 */ _t10 = cpu->r[8] + 0x000000B1u;
|
|
/* 02C49C54 */ cpu->r[11] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C49C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C49C5C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49C5C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C49C5C */ if (_t12) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C49C5C */ goto L_02C49C60;
|
|
L_02C49C60: ; // 0x2c49c60
|
|
/* 02C49C60 */ _t13 = cpu->r[8] + 0x000000B0u;
|
|
/* 02C49C60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C49C64 */ cpu->r[9] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 02C49C68 */ cpu->r[12] = cpu->r[0] - cpu->r[9];
|
|
/* 02C49C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02C49C70 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49C70 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C49C70 */ if (_t15) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C49C70 */ goto L_02C49C74;
|
|
L_02C49C74: ; // 0x2c49c74
|
|
/* 02C49C74 */ _t16 = cpu->r[8] + 0x00000238u;
|
|
/* 02C49C74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C49C78 */ cpu->r[4] = cpu->r[10];
|
|
/* 02C49C7C */ _t17 = cpu->r[8] + 0x000000B0u;
|
|
/* 02C49C7C */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[10]);
|
|
/* 02C49C80 */ goto L_02C27F88;
|
|
}
|
|
|
|
// fn_02C49C84 @ 0x2c49c84
|
|
void Gambit_fn_02C49C84(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C49C84: ; // 0x2c49c84
|
|
/* 02C49C84 */ _t0 = cpu->r[3] + 0x00000192u;
|
|
/* 02C49C84 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02C49C88 */ return;
|
|
}
|
|
|
|
// fn_02C49C8C @ 0x2c49c8c
|
|
void Gambit_fn_02C49C8C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C49C8C: ; // 0x2c49c8c
|
|
/* 02C49C8C */ _t0 = cpu->r[3] + 0x00000191u;
|
|
/* 02C49C8C */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02C49C90 */ return;
|
|
}
|
|
|
|
// fn_02C49C94 @ 0x2c49c94
|
|
void Gambit_fn_02C49C94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C49C94: ; // 0x2c49c94
|
|
/* 02C49C94 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C49C98 */ cpu->r[0] = cpu->r[4];
|
|
/* 02C49C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C49CA0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49CA0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C49CA0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C49CA0 */ goto L_02C49CA4;
|
|
L_02C49CA4: ; // 0x2c49ca4
|
|
/* 02C49CA4 */ cpu->r[9] = cpu->r[5] / cpu->r[6];
|
|
/* 02C49CA8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C49CAC */ _t2 = cpu->r[11] + 0x00000010u;
|
|
/* 02C49CAC */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02C49CB0 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 02C49CB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[5]);
|
|
/* 02C49CB4 */ cpu->r[3] = cpu->r[11] + 0x00000014u;
|
|
/* 02C49CB8 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02C49CB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C49CBC */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C49CBC */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 02C49CC0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Au);
|
|
/* 02C49CC4 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C49CC8 */ _t6 = cpu->r[11] + 0x00000008u;
|
|
/* 02C49CC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02C49CCC */ rbrew_dispatch(cpu, 0x02d0a6f0u); return;
|
|
}
|
|
|
|
// fn_02C49CD0 @ 0x2c49cd0
|
|
void Gambit_fn_02C49CD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C49CD0: ; // 0x2c49cd0
|
|
/* 02C49CD0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C49CD4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C49CD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[12]);
|
|
/* 02C49CD8 */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C49CD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02C49CDC */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02C49CDC */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02C49CE0 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02C49CE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C49CE4 */ return;
|
|
}
|
|
|
|
// fn_02C49CE8 @ 0x2c49ce8
|
|
void Gambit_fn_02C49CE8(CPUState* cpu) {
|
|
L_02C49CE8: ; // 0x2c49ce8
|
|
/* 02C49CE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C49CEC */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000002F4u);
|
|
/* 02C49CF0 */ return;
|
|
}
|
|
|
|
// fn_02C49CF4 @ 0x2c49cf4
|
|
void Gambit_fn_02C49CF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C49CF4: ; // 0x2c49cf4
|
|
/* 02C49CF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49CF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C49CF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49CF8 */ cpu->r[1] = _t0;
|
|
/* 02C49CFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49CFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C49D00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C49D04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49D04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C49D08 */ _t3 = cpu->r[31] + 0x00000018u;
|
|
/* 02C49D08 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C49D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C49D10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49D10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C49D10 */ if (_t5) goto L_02C49D14; else goto L_02C49D2C;
|
|
L_02C49D14: ; // 0x2c49d14
|
|
/* 02C49D14 */ cpu->r[6] = 0x000002F4u;
|
|
/* 02C49D18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C49D1C */ Gambit_fn_02C1E2D0(cpu);
|
|
/* 02C49D20 */ _t6 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C49D20 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C49D24 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C49D28 */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 02C49D28 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
L_02C49D2C: ; // 0x2c49d2c
|
|
/* 02C49D2C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C49D30 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49D30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C49D34 */ cpu->lr = cpu->r[0];
|
|
/* 02C49D38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C49D3C */ return;
|
|
}
|
|
|
|
// fn_02C49CF8 @ 0x2c49cf8
|
|
void Gambit_fn_02C49CF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C49CF8: ; // 0x2c49cf8
|
|
/* 02C49CF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C49CF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49CF8 */ cpu->r[1] = _t0;
|
|
/* 02C49CFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49CFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C49D00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C49D04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49D04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C49D08 */ _t3 = cpu->r[31] + 0x00000018u;
|
|
/* 02C49D08 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C49D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C49D10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49D10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C49D10 */ if (_t5) goto L_02C49D14; else goto L_02C49D2C;
|
|
L_02C49D14: ; // 0x2c49d14
|
|
/* 02C49D14 */ cpu->r[6] = 0x000002F4u;
|
|
/* 02C49D18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C49D1C */ Gambit_fn_02C1E2D0(cpu);
|
|
/* 02C49D20 */ _t6 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C49D20 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C49D24 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C49D28 */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 02C49D28 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
L_02C49D2C: ; // 0x2c49d2c
|
|
/* 02C49D2C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C49D30 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49D30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C49D34 */ cpu->lr = cpu->r[0];
|
|
/* 02C49D38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C49D3C */ return;
|
|
}
|
|
|
|
// fn_02C49D40 @ 0x2c49d40
|
|
void Gambit_fn_02C49D40(CPUState* 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_02C49D40: ; // 0x2c49d40
|
|
/* 02C49D40 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49D44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49D44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49D44 */ cpu->r[1] = _t0;
|
|
/* 02C49D48 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49D48 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C49D4C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49D4C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C49D50 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49D50 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C49D54 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49D54 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C49D58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C49D5C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49D5C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49D60 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 02C49D60 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C49D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C49D68 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49D68 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C49D68 */ if (_t8) goto L_02C49DDC; else goto L_02C49D6C;
|
|
L_02C49D6C: ; // 0x2c49d6c
|
|
/* 02C49D6C */ _t9 = cpu->r[30] + 0x00000010u;
|
|
/* 02C49D6C */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C49D70 */ cpu->r[29] = cpu->r[30] + 0x00000010u;
|
|
/* 02C49D74 */ cpu->r[11] = cpu->r[28] ^ cpu->r[29];
|
|
/* 02C49D78 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 02C49D7C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C49D80 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02C49D84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C49D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C49D88 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49D88 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C49D88 */ if (_t11) goto L_02C49DCC; else goto L_02C49D8C;
|
|
L_02C49D8C: ; // 0x2c49d8c
|
|
/* 02C49D8C */ cpu->r[31] = cpu->r[28] + 0xFFFFFD14u;
|
|
/* 02C49D90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C49D94 */ _t12 = cpu->r[28] + 0x00000000u;
|
|
/* 02C49D94 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C49D98 */ Gambit_fn_02C449C8(cpu);
|
|
/* 02C49D9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C49DA0 */ cpu->r[4] = 0x00000003u;
|
|
/* 02C49DA4 */ Gambit_fn_02C3CFA0(cpu);
|
|
/* 02C49DA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C49DAC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C49DB0 */ Gambit_fn_02C3D140(cpu);
|
|
/* 02C49DB4 */ cpu->r[0] = cpu->r[28] ^ cpu->r[29];
|
|
/* 02C49DB8 */ cpu->r[10] = rbrew_clz32(cpu->r[0]);
|
|
/* 02C49DBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C49DC0 */ cpu->r[12] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C49DC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C49DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C49DC8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49DC8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C49DC8 */ if (_t14) goto L_02C49DCC; else goto L_02C49D8C;
|
|
L_02C49DCC: ; // 0x2c49dcc
|
|
/* 02C49DCC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C49DD0 */ Gambit_fn_02C1E38C(cpu);
|
|
/* 02C49DD4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C49DD8 */ _t15 = cpu->r[30] + 0x00000018u;
|
|
/* 02C49DD8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[9]);
|
|
L_02C49DDC: ; // 0x2c49ddc
|
|
/* 02C49DDC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49DDC */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C49DE0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49DE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C49DE4 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C49DE8 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49DE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C49DEC */ cpu->lr = cpu->r[0];
|
|
/* 02C49DF0 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49DF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C49DF4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49DF8 */ return;
|
|
}
|
|
|
|
// fn_02C49D44 @ 0x2c49d44
|
|
void Gambit_fn_02C49D44(CPUState* 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_02C49D44: ; // 0x2c49d44
|
|
/* 02C49D44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49D44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49D44 */ cpu->r[1] = _t0;
|
|
/* 02C49D48 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49D48 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C49D4C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49D4C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C49D50 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49D50 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C49D54 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49D54 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C49D58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C49D5C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49D5C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49D60 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 02C49D60 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C49D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C49D68 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49D68 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C49D68 */ if (_t8) goto L_02C49DDC; else goto L_02C49D6C;
|
|
L_02C49D6C: ; // 0x2c49d6c
|
|
/* 02C49D6C */ _t9 = cpu->r[30] + 0x00000010u;
|
|
/* 02C49D6C */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C49D70 */ cpu->r[29] = cpu->r[30] + 0x00000010u;
|
|
/* 02C49D74 */ cpu->r[11] = cpu->r[28] ^ cpu->r[29];
|
|
/* 02C49D78 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 02C49D7C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C49D80 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02C49D84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C49D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C49D88 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49D88 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C49D88 */ if (_t11) goto L_02C49DCC; else goto L_02C49D8C;
|
|
L_02C49D8C: ; // 0x2c49d8c
|
|
/* 02C49D8C */ cpu->r[31] = cpu->r[28] + 0xFFFFFD14u;
|
|
/* 02C49D90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C49D94 */ _t12 = cpu->r[28] + 0x00000000u;
|
|
/* 02C49D94 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C49D98 */ Gambit_fn_02C449C8(cpu);
|
|
/* 02C49D9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C49DA0 */ cpu->r[4] = 0x00000003u;
|
|
/* 02C49DA4 */ Gambit_fn_02C3CFA0(cpu);
|
|
/* 02C49DA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C49DAC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C49DB0 */ Gambit_fn_02C3D140(cpu);
|
|
/* 02C49DB4 */ cpu->r[0] = cpu->r[28] ^ cpu->r[29];
|
|
/* 02C49DB8 */ cpu->r[10] = rbrew_clz32(cpu->r[0]);
|
|
/* 02C49DBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C49DC0 */ cpu->r[12] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C49DC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C49DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C49DC8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49DC8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C49DC8 */ if (_t14) goto L_02C49DCC; else goto L_02C49D8C;
|
|
L_02C49DCC: ; // 0x2c49dcc
|
|
/* 02C49DCC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C49DD0 */ Gambit_fn_02C1E38C(cpu);
|
|
/* 02C49DD4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C49DD8 */ _t15 = cpu->r[30] + 0x00000018u;
|
|
/* 02C49DD8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[9]);
|
|
L_02C49DDC: ; // 0x2c49ddc
|
|
/* 02C49DDC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49DDC */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C49DE0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49DE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C49DE4 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C49DE8 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49DE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C49DEC */ cpu->lr = cpu->r[0];
|
|
/* 02C49DF0 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49DF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C49DF4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49DF8 */ return;
|
|
}
|
|
|
|
// fn_02C49DFC @ 0x2c49dfc
|
|
void Gambit_fn_02C49DFC(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_02C49DFC: ; // 0x2c49dfc
|
|
/* 02C49DFC */ cpu->r[0] = cpu->lr;
|
|
/* 02C49E00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49E00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49E00 */ cpu->r[1] = _t0;
|
|
/* 02C49E04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49E04 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C49E08 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49E08 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C49E0C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49E0C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C49E10 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49E10 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C49E14 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C49E18 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49E18 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49E1C */ _t6 = cpu->r[30] + 0x00000010u;
|
|
/* 02C49E1C */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49E20 */ cpu->r[29] = cpu->r[30] + 0x00000010u;
|
|
/* 02C49E24 */ cpu->r[10] = cpu->r[28] ^ cpu->r[29];
|
|
/* 02C49E28 */ cpu->r[11] = rbrew_clz32(cpu->r[10]);
|
|
/* 02C49E2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C49E30 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C49E34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C49E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C49E38 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49E38 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C49E38 */ if (_t8) goto L_02C49E8C; else goto L_02C49E3C;
|
|
L_02C49E3C: ; // 0x2c49e3c
|
|
/* 02C49E3C */ cpu->r[31] = cpu->r[28] + 0xFFFFFD14u;
|
|
/* 02C49E40 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C49E44 */ _t9 = cpu->r[28] + 0x00000000u;
|
|
/* 02C49E44 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C49E48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C49E4C */ Gambit_fn_02C44A18(cpu);
|
|
/* 02C49E50 */ _t10 = cpu->r[31] + 0x000000B1u;
|
|
/* 02C49E50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C49E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C49E58 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49E58 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C49E58 */ if (_t12) goto L_02C49E5C; else goto L_02C49E74;
|
|
L_02C49E5C: ; // 0x2c49e5c
|
|
/* 02C49E5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C49E60 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C49E64 */ Gambit_fn_02C3CFA0(cpu);
|
|
/* 02C49E68 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C49E6C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C49E70 */ Gambit_fn_02C3D140(cpu);
|
|
L_02C49E74: ; // 0x2c49e74
|
|
/* 02C49E74 */ cpu->r[0] = cpu->r[28] ^ cpu->r[29];
|
|
/* 02C49E78 */ cpu->r[11] = rbrew_clz32(cpu->r[0]);
|
|
/* 02C49E7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C49E80 */ cpu->r[12] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C49E84 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C49E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C49E88 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49E88 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C49E88 */ if (_t14) goto L_02C49E8C; else goto L_02C49E3C;
|
|
L_02C49E8C: ; // 0x2c49e8c
|
|
/* 02C49E8C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49E8C */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C49E90 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49E90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C49E94 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C49E98 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49E98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C49E9C */ cpu->lr = cpu->r[0];
|
|
/* 02C49EA0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49EA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C49EA4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49EA8 */ return;
|
|
}
|
|
|
|
// fn_02C49E00 @ 0x2c49e00
|
|
void Gambit_fn_02C49E00(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_02C49E00: ; // 0x2c49e00
|
|
/* 02C49E00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C49E00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49E00 */ cpu->r[1] = _t0;
|
|
/* 02C49E04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49E04 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C49E08 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49E08 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C49E0C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49E0C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C49E10 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49E10 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C49E14 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C49E18 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49E18 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C49E1C */ _t6 = cpu->r[30] + 0x00000010u;
|
|
/* 02C49E1C */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49E20 */ cpu->r[29] = cpu->r[30] + 0x00000010u;
|
|
/* 02C49E24 */ cpu->r[10] = cpu->r[28] ^ cpu->r[29];
|
|
/* 02C49E28 */ cpu->r[11] = rbrew_clz32(cpu->r[10]);
|
|
/* 02C49E2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C49E30 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C49E34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C49E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C49E38 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49E38 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C49E38 */ if (_t8) goto L_02C49E8C; else goto L_02C49E3C;
|
|
L_02C49E3C: ; // 0x2c49e3c
|
|
/* 02C49E3C */ cpu->r[31] = cpu->r[28] + 0xFFFFFD14u;
|
|
/* 02C49E40 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C49E44 */ _t9 = cpu->r[28] + 0x00000000u;
|
|
/* 02C49E44 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C49E48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C49E4C */ Gambit_fn_02C44A18(cpu);
|
|
/* 02C49E50 */ _t10 = cpu->r[31] + 0x000000B1u;
|
|
/* 02C49E50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C49E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C49E58 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49E58 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C49E58 */ if (_t12) goto L_02C49E5C; else goto L_02C49E74;
|
|
L_02C49E5C: ; // 0x2c49e5c
|
|
/* 02C49E5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C49E60 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C49E64 */ Gambit_fn_02C3CFA0(cpu);
|
|
/* 02C49E68 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C49E6C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C49E70 */ Gambit_fn_02C3D140(cpu);
|
|
L_02C49E74: ; // 0x2c49e74
|
|
/* 02C49E74 */ cpu->r[0] = cpu->r[28] ^ cpu->r[29];
|
|
/* 02C49E78 */ cpu->r[11] = rbrew_clz32(cpu->r[0]);
|
|
/* 02C49E7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C49E80 */ cpu->r[12] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C49E84 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C49E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C49E88 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49E88 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C49E88 */ if (_t14) goto L_02C49E8C; else goto L_02C49E3C;
|
|
L_02C49E8C: ; // 0x2c49e8c
|
|
/* 02C49E8C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C49E8C */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C49E90 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49E90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C49E94 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C49E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C49E98 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02C49E98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C49E9C */ cpu->lr = cpu->r[0];
|
|
/* 02C49EA0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49EA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C49EA4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C49EA8 */ return;
|
|
}
|
|
|
|
// fn_02C49EAC @ 0x2c49eac
|
|
void Gambit_fn_02C49EAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C49EAC: ; // 0x2c49eac
|
|
/* 02C49EAC */ _t0 = cpu->r[3] + 0x00000218u;
|
|
/* 02C49EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C49EB0 */ _t1 = cpu->r[4] + 0x0000023Cu;
|
|
/* 02C49EB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C49EB4 */ _t2 = cpu->r[3] + 0x00000218u;
|
|
/* 02C49EB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02C49EB8 */ return;
|
|
}
|
|
|
|
// fn_02C49EBC @ 0x2c49ebc
|
|
void Gambit_fn_02C49EBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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;
|
|
|
|
L_02C49EBC: ; // 0x2c49ebc
|
|
/* 02C49EBC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C49EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49EBC */ cpu->r[1] = _t0;
|
|
/* 02C49EC0 */ /* nop */
|
|
/* 02C49EC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49EC8 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02C49EC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C49ECC */ cpu->r[29] = cpu->r[6];
|
|
/* 02C49ED0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C49ED4 */ _t2 = cpu->r[28] + 0x000001D4u;
|
|
/* 02C49ED4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C49ED8 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[0]);
|
|
/* 02C49EDC */ cpu->r[0] = 0x81020000u;
|
|
/* 02C49EE0 */ cpu->r[0] = cpu->r[0] | 0x00000409u;
|
|
/* 02C49EE4 */ cpu->r[25] = cpu->r[7];
|
|
/* 02C49EE8 */ cpu->r[31] = (uint32_t)(((int64_t)(int32_t)cpu->r[0] * (int64_t)(int32_t)cpu->r[6]) >> 32);
|
|
/* 02C49EEC */ _t3 = cpu->r[28] + 0x00000214u;
|
|
/* 02C49EEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C49EF4 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C49EF8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C49EFC */ cpu->r[31] = cpu->r[6] + cpu->r[31];
|
|
/* 02C49F00 */ /* nop */
|
|
/* 02C49F04 */ /* nop */
|
|
/* 02C49F08 */ cpu->r[26] = cpu->r[10] + 0x000001ACu;
|
|
/* 02C49F0C */ cpu->r[31] = cpu->r[31] - cpu->r[5];
|
|
/* 02C49F10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49F10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C49F10 */ if (_t5) goto L_02C49F30; else goto L_02C49F14;
|
|
L_02C49F14: ; // 0x2c49f14
|
|
/* 02C49F14 */ _t6 = cpu->r[28] + 0x00000218u;
|
|
/* 02C49F14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C49F1C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49F1C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C49F1C */ if (_t8) goto L_02C49F30; else goto L_02C49F20;
|
|
L_02C49F20: ; // 0x2c49f20
|
|
/* 02C49F20 */ _t9 = cpu->r[30] + 0x00000224u;
|
|
/* 02C49F20 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[27]);
|
|
/* 02C49F24 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C49F28 */ Gambit_fn_02C45124(cpu);
|
|
/* 02C49F2C */ _t10 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02C49F2C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[1]);
|
|
L_02C49F30: ; // 0x2c49f30
|
|
/* 02C49F30 */ _t11 = cpu->r[28] + 0x0000010Bu;
|
|
/* 02C49F30 */ cpu->r[10] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C49F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C49F38 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49F38 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C49F38 */ if (_t13) goto L_02C49FAC; else goto L_02C49F3C;
|
|
L_02C49F3C: ; // 0x2c49f3c
|
|
/* 02C49F3C */ _t14 = cpu->r[28] + 0x00000218u;
|
|
/* 02C49F3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C49F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C49F44 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49F44 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C49F44 */ if (_t16) goto L_02C49FB4; else goto L_02C49F48;
|
|
L_02C49F48: ; // 0x2c49f48
|
|
/* 02C49F48 */ _t17 = cpu->r[30] + 0x00000010u;
|
|
/* 02C49F48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C49F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000004u);
|
|
/* 02C49F50 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49F50 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C49F50 */ if (_t19) goto L_02C49F54; else goto L_02C49F88;
|
|
L_02C49F54: ; // 0x2c49f54
|
|
/* 02C49F54 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C49F58 */ Gambit_fn_02C449C8(cpu);
|
|
/* 02C49F5C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C49F60 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C49F64 */ Gambit_fn_02C3CFA0(cpu);
|
|
/* 02C49F68 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C49F6C */ Gambit_fn_02C44920(cpu);
|
|
/* 02C49F70 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C49F74 */ cpu->r[11] = 0x00000003u;
|
|
/* 02C49F78 */ cpu->r[9] = cpu->r[9] + 0xFFFFD264u;
|
|
/* 02C49F7C */ cpu->r[10] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49F80 */ cpu->ctr = cpu->r[11];
|
|
/* 02C49F84 */ goto L_02C49FC8;
|
|
L_02C49F88: ; // 0x2c49f88
|
|
/* 02C49F88 */ _t20 = cpu->r[30] + 0x00000224u;
|
|
/* 02C49F88 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[27]);
|
|
/* 02C49F8C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C49F90 */ Gambit_fn_02C45124(cpu);
|
|
/* 02C49F94 */ _t21 = cpu->r[30] + 0x00000218u;
|
|
/* 02C49F94 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 02C49F98 */ _t22 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02C49F98 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[1]);
|
|
/* 02C49F9C */ _t23 = cpu->r[28] + 0x000001DCu;
|
|
/* 02C49F9C */ cpu->r[4] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C49FA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000007Fu);
|
|
/* 02C49FA4 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C49FA4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C49FA4 */ if (_t25) goto L_02C4A0B4; else goto L_02C49FA8;
|
|
L_02C49FA8: ; // 0x2c49fa8
|
|
/* 02C49FA8 */ goto L_02C4A0AC;
|
|
L_02C49FAC: ; // 0x2c49fac
|
|
/* 02C49FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C49FB0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49FB0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C49FB0 */ if (_t27) goto L_02C49FB4; else goto L_02C4A0A0;
|
|
L_02C49FB4: ; // 0x2c49fb4
|
|
/* 02C49FB4 */ cpu->r[11] = 0x00000003u;
|
|
/* 02C49FB8 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C49FBC */ cpu->r[10] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49FC0 */ cpu->ctr = cpu->r[11];
|
|
/* 02C49FC4 */ cpu->r[9] = cpu->r[9] + 0xFFFFD264u;
|
|
L_02C49FC8: ; // 0x2c49fc8
|
|
/* 02C49FC8 */ _t28 = cpu->r[9] + 0x00000004u;
|
|
/* 02C49FC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C49FCC */ _t29 = cpu->r[10] + 0x00000004u;
|
|
/* 02C49FCC */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 02C49FD0 */ _t30 = cpu->r[9] + 0x00000008u;
|
|
/* 02C49FD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C49FD4 */ _t31 = cpu->r[10] + 0x00000008u;
|
|
/* 02C49FD4 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02C49FD8 */ _t32 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C49FD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C49FD8 */ cpu->r[9] = _t32;
|
|
/* 02C49FDC */ _t33 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C49FDC */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02C49FDC */ cpu->r[10] = _t33;
|
|
/* 02C49FE0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C49FE0 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C49FE0 */ _t35 = _t34 >> (0x00000002u & 31u);
|
|
/* 02C49FE0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C49FE0 */ if (_t36) goto L_02C49FC8; else goto L_02C49FE4;
|
|
L_02C49FE4: ; // 0x2c49fe4
|
|
/* 02C49FE4 */ _t37 = cpu->r[28] + 0x000001D6u;
|
|
/* 02C49FE4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02C49FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C49FEC */ _t38 = cpu->r[28] + 0x00000168u;
|
|
/* 02C49FEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C49FF0 */ _t39 = cpu->r[1] + 0x00000018u;
|
|
/* 02C49FF0 */ rbrew_write32(cpu->mem, _t39, cpu->r[31]);
|
|
/* 02C49FF4 */ /* nop */
|
|
/* 02C49FF8 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49FF8 */ rbrew_write32(cpu->mem, _t40, cpu->r[27]);
|
|
/* 02C49FFC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C4A000 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A000 */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
|
|
/* 02C4A004 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A004 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C4A004 */ if (_t43) goto L_02C4A008; else goto L_02C4A00C;
|
|
L_02C4A008: ; // 0x2c4a008
|
|
/* 02C4A008 */ cpu->r[0] = cpu->r[29];
|
|
L_02C4A00C: ; // 0x2c4a00c
|
|
/* 02C4A00C */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4A00C */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02C4A010 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02C4A010 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 02C4A014 */ _t46 = cpu->r[26] + 0x00000000u;
|
|
/* 02C4A014 */ cpu->r[10] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02C4A018 */ _t47 = cpu->r[28] + 0x000001D9u;
|
|
/* 02C4A018 */ cpu->r[11] = rbrew_read8(cpu->mem, _t47);
|
|
/* 02C4A01C */ _t48 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4A01C */ rbrew_write32(cpu->mem, _t48, cpu->r[28]);
|
|
/* 02C4A020 */ cpu->r[9] = cpu->r[10] + cpu->r[11];
|
|
/* 02C4A024 */ _t49 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A024 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C4A028 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4A028 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 02C4A02C */ _t51 = cpu->r[3] + 0x0000004Cu;
|
|
/* 02C4A02C */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C4A030 */ _t52 = cpu->r[28] + 0x00000167u;
|
|
/* 02C4A030 */ cpu->r[4] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02C4A034 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A038 */ _t53 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4A038 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 02C4A03C */ Gambit_fn_02C49130(cpu);
|
|
/* 02C4A040 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4A040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4A044 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A044 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C4A044 */ if (_t55) goto L_02C4A2D8; else goto L_02C4A048;
|
|
L_02C4A048: ; // 0x2c4a048
|
|
/* 02C4A048 */ _t56 = cpu->r[30] + 0x00000226u;
|
|
/* 02C4A048 */ cpu->r[0] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02C4A04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4A050 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A050 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C4A050 */ if (_t58) goto L_02C4A094; else goto L_02C4A054;
|
|
L_02C4A054: ; // 0x2c4a054
|
|
/* 02C4A054 */ _t59 = cpu->r[28] + 0x00000218u;
|
|
/* 02C4A054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C4A058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4A05C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A05C */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C4A05C */ if (_t61) goto L_02C4A094; else goto L_02C4A060;
|
|
L_02C4A060: ; // 0x2c4a060
|
|
/* 02C4A060 */ _t62 = cpu->r[31] + 0x00000226u;
|
|
/* 02C4A060 */ cpu->r[5] = rbrew_read8(cpu->mem, _t62);
|
|
/* 02C4A064 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02C4A068 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A068 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C4A068 */ if (_t64) goto L_02C4A06C; else goto L_02C4A080;
|
|
L_02C4A06C: ; // 0x2c4a06c
|
|
/* 02C4A06C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C4A070 */ cpu->r[4] = 0x0000007Eu;
|
|
/* 02C4A074 */ Gambit_fn_02C3A41C(cpu);
|
|
/* 02C4A078 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A07C */ Gambit_fn_02C3A448(cpu);
|
|
L_02C4A080: ; // 0x2c4a080
|
|
/* 02C4A080 */ _t65 = cpu->r[31] + 0x0000023Cu;
|
|
/* 02C4A080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C4A084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4A088 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A088 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C4A088 */ if (_t67) goto L_02C4A094; else goto L_02C4A08C;
|
|
L_02C4A08C: ; // 0x2c4a08c
|
|
/* 02C4A08C */ _t68 = cpu->r[30] + 0x00000226u;
|
|
/* 02C4A08C */ cpu->r[0] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02C4A090 */ goto L_02C4A060;
|
|
L_02C4A094: ; // 0x2c4a094
|
|
/* 02C4A094 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4A098 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4A09C */ Gambit_fn_02C49EAC(cpu);
|
|
L_02C4A0A0: ; // 0x2c4a0a0
|
|
/* 02C4A0A0 */ _t69 = cpu->r[28] + 0x000001DCu;
|
|
/* 02C4A0A0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02C4A0A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000007Fu);
|
|
/* 02C4A0A8 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4A0A8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C4A0A8 */ if (_t71) goto L_02C4A0B4; else goto L_02C4A0AC;
|
|
L_02C4A0AC: ; // 0x2c4a0ac
|
|
/* 02C4A0AC */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C4A0B0 */ Gambit_fn_02C3CB64(cpu);
|
|
L_02C4A0B4: ; // 0x2c4a0b4
|
|
/* 02C4A0B4 */ _t72 = cpu->r[28] + 0x000001DDu;
|
|
/* 02C4A0B4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t72);
|
|
/* 02C4A0B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000007Fu);
|
|
/* 02C4A0BC */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4A0BC */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C4A0BC */ if (_t74) goto L_02C4A0C8; else goto L_02C4A0C0;
|
|
L_02C4A0C0: ; // 0x2c4a0c0
|
|
/* 02C4A0C0 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C4A0C4 */ Gambit_fn_02C3CB94(cpu);
|
|
L_02C4A0C8: ; // 0x2c4a0c8
|
|
/* 02C4A0C8 */ _t75 = cpu->r[28] + 0x000001DEu;
|
|
/* 02C4A0C8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t75);
|
|
/* 02C4A0CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000007Fu);
|
|
/* 02C4A0D0 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4A0D0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C4A0D0 */ if (_t77) goto L_02C4A0DC; else goto L_02C4A0D4;
|
|
L_02C4A0D4: ; // 0x2c4a0d4
|
|
/* 02C4A0D4 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C4A0D8 */ Gambit_fn_02C3CBC0(cpu);
|
|
L_02C4A0DC: ; // 0x2c4a0dc
|
|
/* 02C4A0DC */ _t78 = cpu->r[28] + 0x000001DFu;
|
|
/* 02C4A0DC */ cpu->r[4] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02C4A0E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000007Fu);
|
|
/* 02C4A0E4 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4A0E4 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C4A0E4 */ if (_t80) goto L_02C4A0F0; else goto L_02C4A0E8;
|
|
L_02C4A0E8: ; // 0x2c4a0e8
|
|
/* 02C4A0E8 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C4A0EC */ Gambit_fn_02C3A41C(cpu);
|
|
L_02C4A0F0: ; // 0x2c4a0f0
|
|
/* 02C4A0F0 */ _t81 = cpu->r[28] + 0x000001E0u;
|
|
/* 02C4A0F0 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t81);
|
|
/* 02C4A0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000007Fu);
|
|
/* 02C4A0F8 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4A0F8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C4A0F8 */ if (_t83) goto L_02C4A104; else goto L_02C4A0FC;
|
|
L_02C4A0FC: ; // 0x2c4a0fc
|
|
/* 02C4A0FC */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C4A100 */ Gambit_fn_02C3CB7C(cpu);
|
|
L_02C4A104: ; // 0x2c4a104
|
|
/* 02C4A104 */ _t84 = cpu->r[28] + 0x00000165u;
|
|
/* 02C4A104 */ cpu->r[7] = rbrew_read8(cpu->mem, _t84);
|
|
/* 02C4A108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C4A10C */ _t85 = cpu->r[28] + 0x0000016Cu;
|
|
/* 02C4A10C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02C4A110 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A110 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02C4A110 */ if (_t87) goto L_02C4A144; else goto L_02C4A114;
|
|
L_02C4A114: ; // 0x2c4a114
|
|
/* 02C4A114 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C4A118 */ _t88 = cpu->r[28] + 0x000001DAu;
|
|
/* 02C4A118 */ cpu->r[8] = rbrew_read8(cpu->mem, _t88);
|
|
/* 02C4A11C */ cpu->r[12] = 0x43300000u;
|
|
/* 02C4A120 */ _t89 = cpu->r[9] + 0xFFFFCFA8u;
|
|
/* 02C4A120 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t89);
|
|
/* 02C4A124 */ cpu->r[9] = cpu->r[8] - cpu->r[27];
|
|
/* 02C4A128 */ _t90 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A128 */ rbrew_write32(cpu->mem, _t90, cpu->r[12]);
|
|
/* 02C4A12C */ cpu->r[0] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02C4A130 */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A130 */ rbrew_write32(cpu->mem, _t91, cpu->r[0]);
|
|
/* 02C4A134 */ _t92 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A134 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t92);
|
|
/* 02C4A138 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 02C4A13C */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 02C4A140 */ cpu->f[1] = cpu->f[1] + cpu->f[0];
|
|
L_02C4A144: ; // 0x2c4a144
|
|
/* 02C4A144 */ _t93 = cpu->r[28] + 0x000001DBu;
|
|
/* 02C4A144 */ cpu->r[0] = rbrew_read8(cpu->mem, _t93);
|
|
/* 02C4A148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4A14C */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A14C */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C4A14C */ if (_t95) goto L_02C4A150; else goto L_02C4A180;
|
|
L_02C4A150: ; // 0x2c4a150
|
|
/* 02C4A150 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C4A154 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4A158 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4A15C */ Gambit_fn_02C44FCC(cpu);
|
|
/* 02C4A160 */ _t96 = cpu->r[28] + 0x0000015Fu;
|
|
/* 02C4A160 */ cpu->r[0] = rbrew_read8(cpu->mem, _t96);
|
|
/* 02C4A164 */ _t97 = cpu->r[28] + 0x000001DAu;
|
|
/* 02C4A164 */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[27]);
|
|
/* 02C4A168 */ _t98 = cpu->r[30] + 0x0000020Au;
|
|
/* 02C4A168 */ cpu->r[9] = rbrew_read16(cpu->mem, _t98);
|
|
/* 02C4A16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4A170 */ cpu->r[0] = 0x000000FFu;
|
|
/* 02C4A174 */ _t99 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02C4A174 */ cpu->r[8] = rbrew_read16(cpu->mem, _t99);
|
|
/* 02C4A178 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A178 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C4A178 */ if (_t101) goto L_02C4A1F4; else goto L_02C4A17C;
|
|
L_02C4A17C: ; // 0x2c4a17c
|
|
/* 02C4A17C */ goto L_02C4A1F0;
|
|
L_02C4A180: ; // 0x2c4a180
|
|
/* 02C4A180 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[0]);
|
|
/* 02C4A184 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4A188 */ cpu->r[6] = 0x43300000u;
|
|
/* 02C4A18C */ _t102 = cpu->r[12] + 0xFFFFCFA8u;
|
|
/* 02C4A18C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t102);
|
|
/* 02C4A190 */ cpu->r[7] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C4A194 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A194 */ rbrew_write32(cpu->mem, _t103, cpu->r[6]);
|
|
/* 02C4A198 */ _t104 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A198 */ rbrew_write32(cpu->mem, _t104, cpu->r[7]);
|
|
/* 02C4A19C */ _t105 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A19C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t105);
|
|
/* 02C4A1A0 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 02C4A1A4 */ cpu->f[13] = fabs(cpu->f[1]);
|
|
/* 02C4A1A8 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02C4A1AC */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 02C4A1B0 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 02C4A1B4 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A1B8 */ /* nop */
|
|
/* 02C4A1BC */ _t106 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A1BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02C4A1C0 */ /* nop */
|
|
/* 02C4A1C4 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000005u);
|
|
/* 02C4A1C8 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C4A1CC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4A1D0 */ Gambit_fn_02C44FCC(cpu);
|
|
/* 02C4A1D4 */ _t107 = cpu->r[28] + 0x0000015Fu;
|
|
/* 02C4A1D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t107);
|
|
/* 02C4A1D8 */ _t108 = cpu->r[28] + 0x000001DAu;
|
|
/* 02C4A1D8 */ rbrew_write8(cpu->mem, _t108, (uint8_t)cpu->r[27]);
|
|
/* 02C4A1DC */ _t109 = cpu->r[30] + 0x0000020Au;
|
|
/* 02C4A1DC */ cpu->r[9] = rbrew_read16(cpu->mem, _t109);
|
|
/* 02C4A1E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4A1E4 */ cpu->r[0] = 0x000000FFu;
|
|
/* 02C4A1E8 */ _t110 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02C4A1E8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t110);
|
|
/* 02C4A1EC */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A1EC */ _t112 = _t111 & 0x00000001u;
|
|
/* 02C4A1EC */ if (_t112) goto L_02C4A1F4; else goto L_02C4A1F0;
|
|
L_02C4A1F0: ; // 0x2c4a1f0
|
|
/* 02C4A1F0 */ cpu->r[0] = 0x00000000u;
|
|
L_02C4A1F4: ; // 0x2c4a1f4
|
|
/* 02C4A1F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02C4A1F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4A1FC */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4A1FC */ _t114 = _t113 & 0x00000001u;
|
|
/* 02C4A1FC */ if (_t114) goto L_02C4A264; else goto L_02C4A200;
|
|
L_02C4A200: ; // 0x2c4a200
|
|
/* 02C4A200 */ _t115 = cpu->r[30] + 0x00000209u;
|
|
/* 02C4A200 */ cpu->r[6] = rbrew_read8(cpu->mem, _t115);
|
|
/* 02C4A204 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4A208 */ _t116 = cpu->r[30] + 0x0000020Au;
|
|
/* 02C4A208 */ rbrew_write16(cpu->mem, _t116, (uint16_t)cpu->r[7]);
|
|
/* 02C4A20C */ _t117 = cpu->r[30] + 0x00000208u;
|
|
/* 02C4A20C */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[6]);
|
|
/* 02C4A210 */ _t118 = cpu->r[30] + 0x00000209u;
|
|
/* 02C4A210 */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[0]);
|
|
/* 02C4A214 */ _t119 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02C4A214 */ rbrew_write16(cpu->mem, _t119, (uint16_t)cpu->r[7]);
|
|
/* 02C4A218 */ _t120 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A218 */ cpu->r[12] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02C4A21C */ _t121 = cpu->r[12] + 0x00000190u;
|
|
/* 02C4A21C */ cpu->r[0] = rbrew_read8(cpu->mem, _t121);
|
|
/* 02C4A220 */ _t122 = cpu->r[30] + 0x000000B4u;
|
|
/* 02C4A220 */ rbrew_write8(cpu->mem, _t122, (uint8_t)cpu->r[0]);
|
|
/* 02C4A224 */ _t123 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A224 */ cpu->r[5] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02C4A228 */ _t124 = cpu->r[5] + 0x00000040u;
|
|
/* 02C4A228 */ cpu->r[6] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02C4A22C */ _t125 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02C4A22C */ rbrew_write32(cpu->mem, _t125, cpu->r[6]);
|
|
/* 02C4A230 */ _t126 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A230 */ cpu->r[5] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02C4A234 */ _t127 = cpu->r[5] + 0x00000044u;
|
|
/* 02C4A234 */ cpu->r[8] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02C4A238 */ _t128 = cpu->r[30] + 0x00000238u;
|
|
/* 02C4A238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02C4A23C */ _t129 = cpu->r[30] + 0x00000220u;
|
|
/* 02C4A23C */ rbrew_write32(cpu->mem, _t129, cpu->r[8]);
|
|
/* 02C4A240 */ _t130 = cpu->r[28] + 0x0000015Du;
|
|
/* 02C4A240 */ cpu->r[4] = rbrew_read8(cpu->mem, _t130);
|
|
/* 02C4A244 */ Gambit_fn_02C36460(cpu);
|
|
/* 02C4A248 */ _t131 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A248 */ cpu->r[5] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02C4A24C */ _t132 = cpu->r[5] + 0x0000003Eu;
|
|
/* 02C4A24C */ cpu->r[10] = rbrew_read8(cpu->mem, _t132);
|
|
/* 02C4A250 */ _t133 = cpu->r[30] + 0x000002E9u;
|
|
/* 02C4A250 */ rbrew_write8(cpu->mem, _t133, (uint8_t)cpu->r[10]);
|
|
/* 02C4A254 */ _t134 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A254 */ cpu->r[5] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02C4A258 */ _t135 = cpu->r[5] + 0x0000004Cu;
|
|
/* 02C4A258 */ cpu->r[5] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02C4A25C */ _t136 = cpu->r[30] + 0x000002D8u;
|
|
/* 02C4A25C */ rbrew_write32(cpu->mem, _t136, cpu->r[5]);
|
|
/* 02C4A260 */ goto L_02C4A2D8;
|
|
L_02C4A264: ; // 0x2c4a264
|
|
/* 02C4A264 */ _t137 = cpu->r[30] + 0x00000208u;
|
|
/* 02C4A264 */ cpu->r[10] = rbrew_read8(cpu->mem, _t137);
|
|
/* 02C4A268 */ _t138 = cpu->r[30] + 0x00000209u;
|
|
/* 02C4A268 */ cpu->r[7] = rbrew_read8(cpu->mem, _t138);
|
|
/* 02C4A26C */ cpu->r[5] = cpu->r[7] - cpu->r[10];
|
|
/* 02C4A270 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4A274 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[8]);
|
|
/* 02C4A278 */ _t139 = cpu->r[30] + 0x0000020Au;
|
|
/* 02C4A278 */ rbrew_write16(cpu->mem, _t139, (uint16_t)cpu->r[7]);
|
|
/* 02C4A27C */ _t140 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02C4A27C */ rbrew_write16(cpu->mem, _t140, (uint16_t)cpu->r[7]);
|
|
/* 02C4A280 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[11] / (int32_t)cpu->r[9]);
|
|
/* 02C4A284 */ _t141 = cpu->r[30] + 0x00000238u;
|
|
/* 02C4A284 */ cpu->r[3] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02C4A288 */ cpu->r[6] = cpu->r[10] + cpu->r[12];
|
|
/* 02C4A28C */ _t142 = cpu->r[30] + 0x00000208u;
|
|
/* 02C4A28C */ rbrew_write8(cpu->mem, _t142, (uint8_t)cpu->r[6]);
|
|
/* 02C4A290 */ _t143 = cpu->r[30] + 0x00000209u;
|
|
/* 02C4A290 */ rbrew_write8(cpu->mem, _t143, (uint8_t)cpu->r[0]);
|
|
/* 02C4A294 */ _t144 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A294 */ cpu->r[12] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02C4A298 */ _t145 = cpu->r[12] + 0x00000190u;
|
|
/* 02C4A298 */ cpu->r[0] = rbrew_read8(cpu->mem, _t145);
|
|
/* 02C4A29C */ _t146 = cpu->r[30] + 0x000000B4u;
|
|
/* 02C4A29C */ rbrew_write8(cpu->mem, _t146, (uint8_t)cpu->r[0]);
|
|
/* 02C4A2A0 */ _t147 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A2A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02C4A2A4 */ _t148 = cpu->r[5] + 0x00000040u;
|
|
/* 02C4A2A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02C4A2A8 */ _t149 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02C4A2A8 */ rbrew_write32(cpu->mem, _t149, cpu->r[6]);
|
|
/* 02C4A2AC */ _t150 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A2AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02C4A2B0 */ _t151 = cpu->r[5] + 0x00000044u;
|
|
/* 02C4A2B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02C4A2B4 */ _t152 = cpu->r[30] + 0x00000220u;
|
|
/* 02C4A2B4 */ rbrew_write32(cpu->mem, _t152, cpu->r[8]);
|
|
/* 02C4A2B8 */ _t153 = cpu->r[28] + 0x0000015Du;
|
|
/* 02C4A2B8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t153);
|
|
/* 02C4A2BC */ Gambit_fn_02C36460(cpu);
|
|
/* 02C4A2C0 */ _t154 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A2C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02C4A2C4 */ _t155 = cpu->r[5] + 0x0000003Eu;
|
|
/* 02C4A2C4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t155);
|
|
/* 02C4A2C8 */ _t156 = cpu->r[30] + 0x000002E9u;
|
|
/* 02C4A2C8 */ rbrew_write8(cpu->mem, _t156, (uint8_t)cpu->r[10]);
|
|
/* 02C4A2CC */ _t157 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A2CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02C4A2D0 */ _t158 = cpu->r[5] + 0x0000004Cu;
|
|
/* 02C4A2D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02C4A2D4 */ _t159 = cpu->r[30] + 0x000002D8u;
|
|
/* 02C4A2D4 */ rbrew_write32(cpu->mem, _t159, cpu->r[5]);
|
|
L_02C4A2D8: ; // 0x2c4a2d8
|
|
/* 02C4A2D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4A2DC */ /* nop */
|
|
/* 02C4A2E0 */ _t160 = cpu->r[1] + 0x00000054u;
|
|
/* 02C4A2E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02C4A2E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A2E8 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C4A2EC */ return;
|
|
}
|
|
|
|
// fn_02C4A2F0 @ 0x2c4a2f0
|
|
void Gambit_fn_02C4A2F0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4A2F0: ; // 0x2c4a2f0
|
|
/* 02C4A2F0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C4A2F4 */ cpu->r[0] = cpu->r[3] + 0x000001F4u;
|
|
/* 02C4A2F8 */ _t0 = cpu->r[12] + cpu->r[0];
|
|
/* 02C4A2F8 */ rbrew_write16(cpu->mem, _t0, (uint16_t)cpu->r[5]);
|
|
/* 02C4A2FC */ return;
|
|
}
|
|
|
|
// fn_02C4A300 @ 0x2c4a300
|
|
void Gambit_fn_02C4A300(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C4A300: ; // 0x2c4a300
|
|
/* 02C4A300 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4A304 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4A304 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4A304 */ cpu->r[1] = _t0;
|
|
/* 02C4A308 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A308 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C4A30C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A30C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4A310 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A310 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C4A314 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4A314 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4A318 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4A31C */ _t5 = cpu->r[29] + 0x00000218u;
|
|
/* 02C4A31C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4A320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4A324 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A324 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4A324 */ if (_t7) goto L_02C4A350; else goto L_02C4A328;
|
|
L_02C4A328: ; // 0x2c4a328
|
|
/* 02C4A328 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4A32C */ _t8 = cpu->r[30] + 0x0000023Cu;
|
|
/* 02C4A32C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4A330 */ Gambit_fn_02C449C8(cpu);
|
|
/* 02C4A334 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4A338 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4A33C */ Gambit_fn_02C3CFA0(cpu);
|
|
/* 02C4A340 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4A344 */ Gambit_fn_02C44920(cpu);
|
|
/* 02C4A348 */ cpu->r[30] = cpu->r[31];
|
|
/* 02C4A348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4A34C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A34C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4A34C */ if (_t10) goto L_02C4A350; else goto L_02C4A328;
|
|
L_02C4A350: ; // 0x2c4a350
|
|
/* 02C4A350 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4A354 */ _t11 = cpu->r[29] + 0x00000218u;
|
|
/* 02C4A354 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02C4A358 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A358 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4A35C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4A35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4A360 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A360 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4A364 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A368 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4A36C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4A370 */ return;
|
|
}
|
|
|
|
// fn_02C4A304 @ 0x2c4a304
|
|
void Gambit_fn_02C4A304(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C4A304: ; // 0x2c4a304
|
|
/* 02C4A304 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4A304 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4A304 */ cpu->r[1] = _t0;
|
|
/* 02C4A308 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A308 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C4A30C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A30C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4A310 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A310 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C4A314 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4A314 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4A318 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4A31C */ _t5 = cpu->r[29] + 0x00000218u;
|
|
/* 02C4A31C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4A320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4A324 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A324 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4A324 */ if (_t7) goto L_02C4A350; else goto L_02C4A328;
|
|
L_02C4A328: ; // 0x2c4a328
|
|
/* 02C4A328 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4A32C */ _t8 = cpu->r[30] + 0x0000023Cu;
|
|
/* 02C4A32C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4A330 */ Gambit_fn_02C449C8(cpu);
|
|
/* 02C4A334 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4A338 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4A33C */ Gambit_fn_02C3CFA0(cpu);
|
|
/* 02C4A340 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4A344 */ Gambit_fn_02C44920(cpu);
|
|
/* 02C4A348 */ cpu->r[30] = cpu->r[31];
|
|
/* 02C4A348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4A34C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A34C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4A34C */ if (_t10) goto L_02C4A350; else goto L_02C4A328;
|
|
L_02C4A350: ; // 0x2c4a350
|
|
/* 02C4A350 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4A354 */ _t11 = cpu->r[29] + 0x00000218u;
|
|
/* 02C4A354 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02C4A358 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A358 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4A35C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4A35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4A360 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A360 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4A364 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A368 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4A36C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4A370 */ return;
|
|
}
|
|
|
|
// fn_02C4A374 @ 0x2c4a374
|
|
void Gambit_fn_02C4A374(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91;
|
|
|
|
L_02C4A374: ; // 0x2c4a374
|
|
/* 02C4A374 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4A378 */ cpu->r[9] = 0x00000003u;
|
|
/* 02C4A37C */ cpu->ctr = cpu->r[9];
|
|
/* 02C4A380 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C4A384 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4A384 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4A388 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C4A38C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4A38C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4A38C */ cpu->r[1] = _t1;
|
|
/* 02C4A390 */ _t2 = cpu->r[6] + 0xFFFFCFA0u;
|
|
/* 02C4A390 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C4A394 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C4A398 */ _t3 = cpu->r[4] + 0xFFFFCFB4u;
|
|
/* 02C4A398 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C4A39C */ _t4 = cpu->r[11] + 0x00000010u;
|
|
/* 02C4A39C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 02C4A3A0 */ cpu->f[11] = cpu->f[12];
|
|
/* 02C4A3A4 */ _t5 = cpu->r[11] + 0x00000048u;
|
|
/* 02C4A3A4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[12]);
|
|
/* 02C4A3A8 */ _t6 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C4A3A8 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02C4A3AC */ _t7 = cpu->r[11] + 0x0000004Cu;
|
|
/* 02C4A3AC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 02C4A3B0 */ _t8 = cpu->r[11] + 0x00000008u;
|
|
/* 02C4A3B0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02C4A3B4 */ _t9 = cpu->r[11] + 0x00000050u;
|
|
/* 02C4A3B4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 02C4A3B8 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C4A3BC */ _t10 = cpu->r[11] + 0x00000004u;
|
|
/* 02C4A3BC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02C4A3C0 */ cpu->r[7] = cpu->r[11] + 0x00000050u;
|
|
/* 02C4A3C4 */ _t11 = cpu->r[11] + 0x00000014u;
|
|
/* 02C4A3C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
L_02C4A3C8: ; // 0x2c4a3c8
|
|
/* 02C4A3C8 */ _t12 = cpu->r[7] + 0x00000004u;
|
|
/* 02C4A3C8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[11]);
|
|
/* 02C4A3C8 */ cpu->r[7] = _t12;
|
|
/* 02C4A3CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4A3CC */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4A3CC */ _t14 = _t13 >> (0x00000002u & 31u);
|
|
/* 02C4A3CC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C4A3CC */ if (_t15) goto L_02C4A3C8; else goto L_02C4A3D0;
|
|
L_02C4A3D0: ; // 0x2c4a3d0
|
|
/* 02C4A3D0 */ cpu->f[10] = cpu->f[12];
|
|
/* 02C4A3D4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C4A3D8 */ cpu->r[12] = cpu->r[11] + 0x00000010u;
|
|
/* 02C4A3DC */ cpu->r[7] = 0x00000002u;
|
|
L_02C4A3E0: ; // 0x2c4a3e0
|
|
/* 02C4A3E0 */ _t16 = cpu->r[12] + 0x00000050u;
|
|
/* 02C4A3E0 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02C4A3E0 */ cpu->r[12] = _t16;
|
|
/* 02C4A3E4 */ cpu->r[9] = cpu->r[12] + 0x00000040u;
|
|
/* 02C4A3E8 */ _t17 = cpu->r[12] + 0x00000040u;
|
|
/* 02C4A3E8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[10]);
|
|
/* 02C4A3EC */ cpu->f[9] = cpu->f[10];
|
|
/* 02C4A3F0 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4A3F0 */ rbrew_write32(cpu->mem, _t18, cpu->r[5]);
|
|
/* 02C4A3F4 */ cpu->r[4] = 0x00000003u;
|
|
/* 02C4A3F8 */ _t19 = cpu->r[12] + 0x00000038u;
|
|
/* 02C4A3F8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[10]);
|
|
/* 02C4A3FC */ cpu->ctr = cpu->r[4];
|
|
/* 02C4A400 */ _t20 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02C4A400 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]);
|
|
L_02C4A404: ; // 0x2c4a404
|
|
/* 02C4A404 */ _t21 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4A404 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[9]);
|
|
/* 02C4A404 */ cpu->r[9] = _t21;
|
|
/* 02C4A408 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4A408 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4A408 */ _t23 = _t22 >> (0x00000002u & 31u);
|
|
/* 02C4A408 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4A408 */ if (_t24) goto L_02C4A404; else goto L_02C4A40C;
|
|
L_02C4A40C: ; // 0x2c4a40c
|
|
/* 02C4A40C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C4A40C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C4A410 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A410 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C4A410 */ if (_t26) goto L_02C4A414; else goto L_02C4A3E0;
|
|
L_02C4A414: ; // 0x2c4a414
|
|
/* 02C4A414 */ _t27 = cpu->r[11] + 0x0000015Eu;
|
|
/* 02C4A414 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[10]);
|
|
/* 02C4A418 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C4A41C */ _t28 = cpu->r[11] + 0x00000167u;
|
|
/* 02C4A41C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[10]);
|
|
/* 02C4A420 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4A424 */ _t29 = cpu->r[11] + 0x00000164u;
|
|
/* 02C4A424 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[10]);
|
|
/* 02C4A428 */ cpu->r[7] = cpu->r[4];
|
|
/* 02C4A42C */ _t30 = cpu->r[11] + 0x00000109u;
|
|
/* 02C4A42C */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[12]);
|
|
/* 02C4A430 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C4A434 */ _t31 = cpu->r[11] + 0x00000160u;
|
|
/* 02C4A434 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 02C4A438 */ cpu->r[3] = cpu->r[11] + 0x00000190u;
|
|
/* 02C4A43C */ _t32 = cpu->r[11] + 0x00000108u;
|
|
/* 02C4A43C */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[12]);
|
|
/* 02C4A440 */ cpu->r[8] = cpu->r[11] + 0x000001D0u;
|
|
/* 02C4A444 */ _t33 = cpu->r[11] + 0x00000100u;
|
|
/* 02C4A444 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 02C4A448 */ _t34 = cpu->r[11] + 0x00000165u;
|
|
/* 02C4A448 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[10]);
|
|
/* 02C4A44C */ _t35 = cpu->r[11] + 0x0000015Fu;
|
|
/* 02C4A44C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[10]);
|
|
/* 02C4A450 */ _t36 = cpu->r[11] + 0x0000010Bu;
|
|
/* 02C4A450 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[10]);
|
|
/* 02C4A454 */ _t37 = cpu->r[11] + 0x00000168u;
|
|
/* 02C4A454 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 02C4A458 */ _t38 = cpu->r[11] + 0x00000166u;
|
|
/* 02C4A458 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[10]);
|
|
/* 02C4A45C */ _t39 = cpu->r[11] + 0x0000010Au;
|
|
/* 02C4A45C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[10]);
|
|
/* 02C4A460 */ _t40 = cpu->r[11] + 0x0000015Cu;
|
|
/* 02C4A460 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[10]);
|
|
/* 02C4A464 */ _t41 = cpu->r[11] + 0x00000104u;
|
|
/* 02C4A464 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
L_02C4A468: ; // 0x2c4a468
|
|
/* 02C4A468 */ Gambit_fn_02C3CC80(cpu);
|
|
/* 02C4A46C */ _t42 = cpu->r[8] + cpu->r[4];
|
|
/* 02C4A46C */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[7]);
|
|
/* 02C4A470 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C4A470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4A474 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C4A478 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02C4A47C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A47C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C4A47C */ if (_t44) goto L_02C4A480; else goto L_02C4A468;
|
|
L_02C4A480: ; // 0x2c4a480
|
|
/* 02C4A480 */ _t45 = cpu->r[11] + 0x0000017Au;
|
|
/* 02C4A480 */ rbrew_write16(cpu->mem, _t45, (uint16_t)cpu->r[10]);
|
|
/* 02C4A484 */ cpu->r[9] = 0x0000007Fu;
|
|
/* 02C4A488 */ _t46 = cpu->r[11] + 0x00000178u;
|
|
/* 02C4A488 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[10]);
|
|
/* 02C4A48C */ cpu->r[6] = 0x0000003Cu;
|
|
/* 02C4A490 */ _t47 = cpu->r[11] + 0x00000176u;
|
|
/* 02C4A490 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[9]);
|
|
/* 02C4A494 */ cpu->r[0] = 0x00000002u;
|
|
/* 02C4A498 */ _t48 = cpu->r[11] + 0x000001DAu;
|
|
/* 02C4A498 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[6]);
|
|
/* 02C4A49C */ _t49 = cpu->r[11] + 0x000001D4u;
|
|
/* 02C4A49C */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[9]);
|
|
/* 02C4A4A0 */ cpu->r[8] = 0x000000FFu;
|
|
/* 02C4A4A4 */ _t50 = cpu->r[11] + 0x000001D5u;
|
|
/* 02C4A4A4 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[0]);
|
|
/* 02C4A4A8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4A4AC */ _t51 = cpu->r[11] + 0x000001E0u;
|
|
/* 02C4A4AC */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[8]);
|
|
/* 02C4A4B0 */ _t52 = cpu->r[11] + 0x00000171u;
|
|
/* 02C4A4B0 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[9]);
|
|
/* 02C4A4B4 */ _t53 = cpu->r[11] + 0x0000018Cu;
|
|
/* 02C4A4B4 */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[10]);
|
|
/* 02C4A4B8 */ _t54 = cpu->r[11] + 0x00000170u;
|
|
/* 02C4A4B8 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[9]);
|
|
/* 02C4A4BC */ _t55 = cpu->r[11] + 0x0000018Au;
|
|
/* 02C4A4BC */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[10]);
|
|
/* 02C4A4C0 */ _t56 = cpu->r[11] + 0x000001E3u;
|
|
/* 02C4A4C0 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[9]);
|
|
/* 02C4A4C4 */ _t57 = cpu->r[11] + 0x0000017Du;
|
|
/* 02C4A4C4 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[10]);
|
|
/* 02C4A4C8 */ _t58 = cpu->r[11] + 0x000001D6u;
|
|
/* 02C4A4C8 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[10]);
|
|
/* 02C4A4CC */ _t59 = cpu->r[11] + 0x00000189u;
|
|
/* 02C4A4CC */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[10]);
|
|
/* 02C4A4D0 */ _t60 = cpu->r[11] + 0x000001D8u;
|
|
/* 02C4A4D0 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[10]);
|
|
/* 02C4A4D4 */ _t61 = cpu->r[11] + 0x00000172u;
|
|
/* 02C4A4D4 */ rbrew_write16(cpu->mem, _t61, (uint16_t)cpu->r[10]);
|
|
/* 02C4A4D8 */ _t62 = cpu->r[11] + 0x00000184u;
|
|
/* 02C4A4D8 */ rbrew_write16(cpu->mem, _t62, (uint16_t)cpu->r[10]);
|
|
/* 02C4A4DC */ _t63 = cpu->r[11] + 0x00000188u;
|
|
/* 02C4A4DC */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[10]);
|
|
/* 02C4A4E0 */ _t64 = cpu->r[11] + 0x00000174u;
|
|
/* 02C4A4E0 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[10]);
|
|
/* 02C4A4E4 */ _t65 = cpu->r[11] + 0x00000177u;
|
|
/* 02C4A4E4 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[9]);
|
|
/* 02C4A4E8 */ _t66 = cpu->r[11] + 0x000001DCu;
|
|
/* 02C4A4E8 */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[8]);
|
|
/* 02C4A4EC */ cpu->r[12] = 0x00000003u;
|
|
/* 02C4A4F0 */ _t67 = cpu->r[11] + 0x00000186u;
|
|
/* 02C4A4F0 */ rbrew_write16(cpu->mem, _t67, (uint16_t)cpu->r[10]);
|
|
/* 02C4A4F4 */ cpu->r[0] = cpu->r[6];
|
|
/* 02C4A4F8 */ cpu->r[7] = 0x00000040u;
|
|
/* 02C4A4FC */ _t68 = cpu->r[11] + 0x0000016Cu;
|
|
/* 02C4A4FC */ rbrew_write_f32(cpu->mem, _t68, cpu->f[12]);
|
|
/* 02C4A500 */ cpu->r[9] = cpu->r[11] + 0x000001E4u;
|
|
/* 02C4A504 */ _t69 = cpu->r[11] + 0x00000183u;
|
|
/* 02C4A504 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[10]);
|
|
/* 02C4A508 */ _t70 = cpu->r[11] + 0x000001DDu;
|
|
/* 02C4A508 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[8]);
|
|
/* 02C4A50C */ _t71 = cpu->r[11] + 0x0000017Cu;
|
|
/* 02C4A50C */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[10]);
|
|
/* 02C4A510 */ _t72 = cpu->r[11] + 0x000001DFu;
|
|
/* 02C4A510 */ rbrew_write8(cpu->mem, _t72, (uint8_t)cpu->r[8]);
|
|
/* 02C4A514 */ _t73 = cpu->r[11] + 0x00000180u;
|
|
/* 02C4A514 */ rbrew_write16(cpu->mem, _t73, (uint16_t)cpu->r[10]);
|
|
/* 02C4A518 */ _t74 = cpu->r[11] + 0x00000182u;
|
|
/* 02C4A518 */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[10]);
|
|
/* 02C4A51C */ _t75 = cpu->r[11] + 0x000001DBu;
|
|
/* 02C4A51C */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[10]);
|
|
/* 02C4A520 */ _t76 = cpu->r[11] + 0x000001DEu;
|
|
/* 02C4A520 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[8]);
|
|
/* 02C4A524 */ _t77 = cpu->r[11] + 0x0000017Eu;
|
|
/* 02C4A524 */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[10]);
|
|
/* 02C4A528 */ cpu->ctr = cpu->r[12];
|
|
/* 02C4A52C */ _t78 = cpu->r[11] + 0x000001D9u;
|
|
/* 02C4A52C */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[7]);
|
|
L_02C4A530: ; // 0x2c4a530
|
|
/* 02C4A530 */ _t79 = cpu->r[9] + cpu->r[6];
|
|
/* 02C4A530 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[0]);
|
|
/* 02C4A534 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02C4A538 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4A538 */ _t80 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4A538 */ _t81 = _t80 >> (0x00000002u & 31u);
|
|
/* 02C4A538 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C4A538 */ if (_t82) goto L_02C4A530; else goto L_02C4A53C;
|
|
L_02C4A53C: ; // 0x2c4a53c
|
|
/* 02C4A53C */ _t83 = cpu->r[11] + 0x000001E8u;
|
|
/* 02C4A53C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[12]);
|
|
/* 02C4A540 */ cpu->r[12] = cpu->r[11] + 0x000001F2u;
|
|
/* 02C4A544 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02C4A548 */ _t84 = cpu->r[11] + 0x000001ECu;
|
|
/* 02C4A548 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[12]);
|
|
/* 02C4A54C */ cpu->r[7] = 0x00000010u;
|
|
/* 02C4A550 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C4A554 */ _t85 = cpu->r[11] + 0x000001E2u;
|
|
/* 02C4A554 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[10]);
|
|
/* 02C4A558 */ cpu->ctr = cpu->r[7];
|
|
/* 02C4A55C */ _t86 = cpu->r[11] + 0x000001F0u;
|
|
/* 02C4A55C */ rbrew_write32(cpu->mem, _t86, cpu->r[5]);
|
|
L_02C4A560: ; // 0x2c4a560
|
|
/* 02C4A560 */ _t87 = cpu->r[12] + 0x00000002u;
|
|
/* 02C4A560 */ rbrew_write16(cpu->mem, _t87, (uint16_t)cpu->r[4]);
|
|
/* 02C4A560 */ cpu->r[12] = _t87;
|
|
/* 02C4A564 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4A564 */ _t88 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4A564 */ _t89 = _t88 >> (0x00000002u & 31u);
|
|
/* 02C4A564 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C4A564 */ if (_t90) goto L_02C4A560; else goto L_02C4A568;
|
|
L_02C4A568: ; // 0x2c4a568
|
|
/* 02C4A568 */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C4A56C */ cpu->lr = cpu->r[0];
|
|
/* 02C4A570 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A574 */ return;
|
|
}
|
|
|
|
// fn_02C4A38C @ 0x2c4a38c
|
|
void Gambit_fn_02C4A38C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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;
|
|
|
|
L_02C4A38C: ; // 0x2c4a38c
|
|
/* 02C4A38C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4A38C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4A38C */ cpu->r[1] = _t0;
|
|
/* 02C4A390 */ _t1 = cpu->r[6] + 0xFFFFCFA0u;
|
|
/* 02C4A390 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C4A394 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C4A398 */ _t2 = cpu->r[4] + 0xFFFFCFB4u;
|
|
/* 02C4A398 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C4A39C */ _t3 = cpu->r[11] + 0x00000010u;
|
|
/* 02C4A39C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 02C4A3A0 */ cpu->f[11] = cpu->f[12];
|
|
/* 02C4A3A4 */ _t4 = cpu->r[11] + 0x00000048u;
|
|
/* 02C4A3A4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[12]);
|
|
/* 02C4A3A8 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C4A3A8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02C4A3AC */ _t6 = cpu->r[11] + 0x0000004Cu;
|
|
/* 02C4A3AC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[12]);
|
|
/* 02C4A3B0 */ _t7 = cpu->r[11] + 0x00000008u;
|
|
/* 02C4A3B0 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02C4A3B4 */ _t8 = cpu->r[11] + 0x00000050u;
|
|
/* 02C4A3B4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 02C4A3B8 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C4A3BC */ _t9 = cpu->r[11] + 0x00000004u;
|
|
/* 02C4A3BC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02C4A3C0 */ cpu->r[7] = cpu->r[11] + 0x00000050u;
|
|
/* 02C4A3C4 */ _t10 = cpu->r[11] + 0x00000014u;
|
|
/* 02C4A3C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
L_02C4A3C8: ; // 0x2c4a3c8
|
|
/* 02C4A3C8 */ _t11 = cpu->r[7] + 0x00000004u;
|
|
/* 02C4A3C8 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[11]);
|
|
/* 02C4A3C8 */ cpu->r[7] = _t11;
|
|
/* 02C4A3CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4A3CC */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4A3CC */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02C4A3CC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4A3CC */ if (_t14) goto L_02C4A3C8; else goto L_02C4A3D0;
|
|
L_02C4A3D0: ; // 0x2c4a3d0
|
|
/* 02C4A3D0 */ cpu->f[10] = cpu->f[12];
|
|
/* 02C4A3D4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C4A3D8 */ cpu->r[12] = cpu->r[11] + 0x00000010u;
|
|
/* 02C4A3DC */ cpu->r[7] = 0x00000002u;
|
|
L_02C4A3E0: ; // 0x2c4a3e0
|
|
/* 02C4A3E0 */ _t15 = cpu->r[12] + 0x00000050u;
|
|
/* 02C4A3E0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02C4A3E0 */ cpu->r[12] = _t15;
|
|
/* 02C4A3E4 */ cpu->r[9] = cpu->r[12] + 0x00000040u;
|
|
/* 02C4A3E8 */ _t16 = cpu->r[12] + 0x00000040u;
|
|
/* 02C4A3E8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[10]);
|
|
/* 02C4A3EC */ cpu->f[9] = cpu->f[10];
|
|
/* 02C4A3F0 */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4A3F0 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 02C4A3F4 */ cpu->r[4] = 0x00000003u;
|
|
/* 02C4A3F8 */ _t18 = cpu->r[12] + 0x00000038u;
|
|
/* 02C4A3F8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[10]);
|
|
/* 02C4A3FC */ cpu->ctr = cpu->r[4];
|
|
/* 02C4A400 */ _t19 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02C4A400 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[10]);
|
|
L_02C4A404: ; // 0x2c4a404
|
|
/* 02C4A404 */ _t20 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4A404 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[9]);
|
|
/* 02C4A404 */ cpu->r[9] = _t20;
|
|
/* 02C4A408 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4A408 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4A408 */ _t22 = _t21 >> (0x00000002u & 31u);
|
|
/* 02C4A408 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C4A408 */ if (_t23) goto L_02C4A404; else goto L_02C4A40C;
|
|
L_02C4A40C: ; // 0x2c4a40c
|
|
/* 02C4A40C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C4A40C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C4A410 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A410 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C4A410 */ if (_t25) goto L_02C4A414; else goto L_02C4A3E0;
|
|
L_02C4A414: ; // 0x2c4a414
|
|
/* 02C4A414 */ _t26 = cpu->r[11] + 0x0000015Eu;
|
|
/* 02C4A414 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[10]);
|
|
/* 02C4A418 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C4A41C */ _t27 = cpu->r[11] + 0x00000167u;
|
|
/* 02C4A41C */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[10]);
|
|
/* 02C4A420 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4A424 */ _t28 = cpu->r[11] + 0x00000164u;
|
|
/* 02C4A424 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[10]);
|
|
/* 02C4A428 */ cpu->r[7] = cpu->r[4];
|
|
/* 02C4A42C */ _t29 = cpu->r[11] + 0x00000109u;
|
|
/* 02C4A42C */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[12]);
|
|
/* 02C4A430 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C4A434 */ _t30 = cpu->r[11] + 0x00000160u;
|
|
/* 02C4A434 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 02C4A438 */ cpu->r[3] = cpu->r[11] + 0x00000190u;
|
|
/* 02C4A43C */ _t31 = cpu->r[11] + 0x00000108u;
|
|
/* 02C4A43C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[12]);
|
|
/* 02C4A440 */ cpu->r[8] = cpu->r[11] + 0x000001D0u;
|
|
/* 02C4A444 */ _t32 = cpu->r[11] + 0x00000100u;
|
|
/* 02C4A444 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 02C4A448 */ _t33 = cpu->r[11] + 0x00000165u;
|
|
/* 02C4A448 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[10]);
|
|
/* 02C4A44C */ _t34 = cpu->r[11] + 0x0000015Fu;
|
|
/* 02C4A44C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[10]);
|
|
/* 02C4A450 */ _t35 = cpu->r[11] + 0x0000010Bu;
|
|
/* 02C4A450 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[10]);
|
|
/* 02C4A454 */ _t36 = cpu->r[11] + 0x00000168u;
|
|
/* 02C4A454 */ rbrew_write32(cpu->mem, _t36, cpu->r[10]);
|
|
/* 02C4A458 */ _t37 = cpu->r[11] + 0x00000166u;
|
|
/* 02C4A458 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[10]);
|
|
/* 02C4A45C */ _t38 = cpu->r[11] + 0x0000010Au;
|
|
/* 02C4A45C */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[10]);
|
|
/* 02C4A460 */ _t39 = cpu->r[11] + 0x0000015Cu;
|
|
/* 02C4A460 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[10]);
|
|
/* 02C4A464 */ _t40 = cpu->r[11] + 0x00000104u;
|
|
/* 02C4A464 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
L_02C4A468: ; // 0x2c4a468
|
|
/* 02C4A468 */ Gambit_fn_02C3CC80(cpu);
|
|
/* 02C4A46C */ _t41 = cpu->r[8] + cpu->r[4];
|
|
/* 02C4A46C */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[7]);
|
|
/* 02C4A470 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C4A470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4A474 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C4A478 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02C4A47C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A47C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C4A47C */ if (_t43) goto L_02C4A480; else goto L_02C4A468;
|
|
L_02C4A480: ; // 0x2c4a480
|
|
/* 02C4A480 */ _t44 = cpu->r[11] + 0x0000017Au;
|
|
/* 02C4A480 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[10]);
|
|
/* 02C4A484 */ cpu->r[9] = 0x0000007Fu;
|
|
/* 02C4A488 */ _t45 = cpu->r[11] + 0x00000178u;
|
|
/* 02C4A488 */ rbrew_write16(cpu->mem, _t45, (uint16_t)cpu->r[10]);
|
|
/* 02C4A48C */ cpu->r[6] = 0x0000003Cu;
|
|
/* 02C4A490 */ _t46 = cpu->r[11] + 0x00000176u;
|
|
/* 02C4A490 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[9]);
|
|
/* 02C4A494 */ cpu->r[0] = 0x00000002u;
|
|
/* 02C4A498 */ _t47 = cpu->r[11] + 0x000001DAu;
|
|
/* 02C4A498 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[6]);
|
|
/* 02C4A49C */ _t48 = cpu->r[11] + 0x000001D4u;
|
|
/* 02C4A49C */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[9]);
|
|
/* 02C4A4A0 */ cpu->r[8] = 0x000000FFu;
|
|
/* 02C4A4A4 */ _t49 = cpu->r[11] + 0x000001D5u;
|
|
/* 02C4A4A4 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[0]);
|
|
/* 02C4A4A8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4A4AC */ _t50 = cpu->r[11] + 0x000001E0u;
|
|
/* 02C4A4AC */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[8]);
|
|
/* 02C4A4B0 */ _t51 = cpu->r[11] + 0x00000171u;
|
|
/* 02C4A4B0 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[9]);
|
|
/* 02C4A4B4 */ _t52 = cpu->r[11] + 0x0000018Cu;
|
|
/* 02C4A4B4 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[10]);
|
|
/* 02C4A4B8 */ _t53 = cpu->r[11] + 0x00000170u;
|
|
/* 02C4A4B8 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[9]);
|
|
/* 02C4A4BC */ _t54 = cpu->r[11] + 0x0000018Au;
|
|
/* 02C4A4BC */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[10]);
|
|
/* 02C4A4C0 */ _t55 = cpu->r[11] + 0x000001E3u;
|
|
/* 02C4A4C0 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[9]);
|
|
/* 02C4A4C4 */ _t56 = cpu->r[11] + 0x0000017Du;
|
|
/* 02C4A4C4 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[10]);
|
|
/* 02C4A4C8 */ _t57 = cpu->r[11] + 0x000001D6u;
|
|
/* 02C4A4C8 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[10]);
|
|
/* 02C4A4CC */ _t58 = cpu->r[11] + 0x00000189u;
|
|
/* 02C4A4CC */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[10]);
|
|
/* 02C4A4D0 */ _t59 = cpu->r[11] + 0x000001D8u;
|
|
/* 02C4A4D0 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[10]);
|
|
/* 02C4A4D4 */ _t60 = cpu->r[11] + 0x00000172u;
|
|
/* 02C4A4D4 */ rbrew_write16(cpu->mem, _t60, (uint16_t)cpu->r[10]);
|
|
/* 02C4A4D8 */ _t61 = cpu->r[11] + 0x00000184u;
|
|
/* 02C4A4D8 */ rbrew_write16(cpu->mem, _t61, (uint16_t)cpu->r[10]);
|
|
/* 02C4A4DC */ _t62 = cpu->r[11] + 0x00000188u;
|
|
/* 02C4A4DC */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[10]);
|
|
/* 02C4A4E0 */ _t63 = cpu->r[11] + 0x00000174u;
|
|
/* 02C4A4E0 */ rbrew_write16(cpu->mem, _t63, (uint16_t)cpu->r[10]);
|
|
/* 02C4A4E4 */ _t64 = cpu->r[11] + 0x00000177u;
|
|
/* 02C4A4E4 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[9]);
|
|
/* 02C4A4E8 */ _t65 = cpu->r[11] + 0x000001DCu;
|
|
/* 02C4A4E8 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[8]);
|
|
/* 02C4A4EC */ cpu->r[12] = 0x00000003u;
|
|
/* 02C4A4F0 */ _t66 = cpu->r[11] + 0x00000186u;
|
|
/* 02C4A4F0 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[10]);
|
|
/* 02C4A4F4 */ cpu->r[0] = cpu->r[6];
|
|
/* 02C4A4F8 */ cpu->r[7] = 0x00000040u;
|
|
/* 02C4A4FC */ _t67 = cpu->r[11] + 0x0000016Cu;
|
|
/* 02C4A4FC */ rbrew_write_f32(cpu->mem, _t67, cpu->f[12]);
|
|
/* 02C4A500 */ cpu->r[9] = cpu->r[11] + 0x000001E4u;
|
|
/* 02C4A504 */ _t68 = cpu->r[11] + 0x00000183u;
|
|
/* 02C4A504 */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[10]);
|
|
/* 02C4A508 */ _t69 = cpu->r[11] + 0x000001DDu;
|
|
/* 02C4A508 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[8]);
|
|
/* 02C4A50C */ _t70 = cpu->r[11] + 0x0000017Cu;
|
|
/* 02C4A50C */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[10]);
|
|
/* 02C4A510 */ _t71 = cpu->r[11] + 0x000001DFu;
|
|
/* 02C4A510 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[8]);
|
|
/* 02C4A514 */ _t72 = cpu->r[11] + 0x00000180u;
|
|
/* 02C4A514 */ rbrew_write16(cpu->mem, _t72, (uint16_t)cpu->r[10]);
|
|
/* 02C4A518 */ _t73 = cpu->r[11] + 0x00000182u;
|
|
/* 02C4A518 */ rbrew_write8(cpu->mem, _t73, (uint8_t)cpu->r[10]);
|
|
/* 02C4A51C */ _t74 = cpu->r[11] + 0x000001DBu;
|
|
/* 02C4A51C */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[10]);
|
|
/* 02C4A520 */ _t75 = cpu->r[11] + 0x000001DEu;
|
|
/* 02C4A520 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[8]);
|
|
/* 02C4A524 */ _t76 = cpu->r[11] + 0x0000017Eu;
|
|
/* 02C4A524 */ rbrew_write16(cpu->mem, _t76, (uint16_t)cpu->r[10]);
|
|
/* 02C4A528 */ cpu->ctr = cpu->r[12];
|
|
/* 02C4A52C */ _t77 = cpu->r[11] + 0x000001D9u;
|
|
/* 02C4A52C */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[7]);
|
|
L_02C4A530: ; // 0x2c4a530
|
|
/* 02C4A530 */ _t78 = cpu->r[9] + cpu->r[6];
|
|
/* 02C4A530 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[0]);
|
|
/* 02C4A534 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02C4A538 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4A538 */ _t79 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4A538 */ _t80 = _t79 >> (0x00000002u & 31u);
|
|
/* 02C4A538 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02C4A538 */ if (_t81) goto L_02C4A530; else goto L_02C4A53C;
|
|
L_02C4A53C: ; // 0x2c4a53c
|
|
/* 02C4A53C */ _t82 = cpu->r[11] + 0x000001E8u;
|
|
/* 02C4A53C */ rbrew_write_f32(cpu->mem, _t82, cpu->f[12]);
|
|
/* 02C4A540 */ cpu->r[12] = cpu->r[11] + 0x000001F2u;
|
|
/* 02C4A544 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02C4A548 */ _t83 = cpu->r[11] + 0x000001ECu;
|
|
/* 02C4A548 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[12]);
|
|
/* 02C4A54C */ cpu->r[7] = 0x00000010u;
|
|
/* 02C4A550 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C4A554 */ _t84 = cpu->r[11] + 0x000001E2u;
|
|
/* 02C4A554 */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[10]);
|
|
/* 02C4A558 */ cpu->ctr = cpu->r[7];
|
|
/* 02C4A55C */ _t85 = cpu->r[11] + 0x000001F0u;
|
|
/* 02C4A55C */ rbrew_write32(cpu->mem, _t85, cpu->r[5]);
|
|
L_02C4A560: ; // 0x2c4a560
|
|
/* 02C4A560 */ _t86 = cpu->r[12] + 0x00000002u;
|
|
/* 02C4A560 */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[4]);
|
|
/* 02C4A560 */ cpu->r[12] = _t86;
|
|
/* 02C4A564 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4A564 */ _t87 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4A564 */ _t88 = _t87 >> (0x00000002u & 31u);
|
|
/* 02C4A564 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02C4A564 */ if (_t89) goto L_02C4A560; else goto L_02C4A568;
|
|
L_02C4A568: ; // 0x2c4a568
|
|
/* 02C4A568 */ _t90 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C4A56C */ cpu->lr = cpu->r[0];
|
|
/* 02C4A570 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A574 */ return;
|
|
}
|
|
|
|
// fn_02C4A578 @ 0x2c4a578
|
|
void Gambit_fn_02C4A578(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02C4A578: ; // 0x2c4a578
|
|
/* 02C4A578 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4A57C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4A57C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4A57C */ cpu->r[1] = _t0;
|
|
/* 02C4A580 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A580 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4A584 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A584 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4A588 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C4A58C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4A590 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A590 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4A594 */ _t4 = cpu->r[31] + 0x00000214u;
|
|
/* 02C4A594 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4A598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A59C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A59C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4A59C */ if (_t6) goto L_02C4A5B4; else goto L_02C4A5A0;
|
|
L_02C4A5A0: ; // 0x2c4a5a0
|
|
/* 02C4A5A0 */ _t7 = cpu->r[3] + 0x00000174u;
|
|
/* 02C4A5A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4A5A4 */ _t8 = cpu->r[11] + 0x00000044u;
|
|
/* 02C4A5A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4A5A8 */ cpu->ctr = cpu->r[8];
|
|
/* 02C4A5AC */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4A5B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4A5B4: ; // 0x2c4a5b4
|
|
/* 02C4A5B4 */ _t9 = cpu->r[31] + 0x00000218u;
|
|
/* 02C4A5B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4A5B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02C4A5BC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A5BC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4A5BC */ if (_t11) goto L_02C4A5C0; else goto L_02C4A5E0;
|
|
L_02C4A5C0: ; // 0x2c4a5c0
|
|
/* 02C4A5C0 */ _t12 = cpu->r[30] + 0x0000023Cu;
|
|
/* 02C4A5C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4A5C4 */ _t13 = cpu->r[31] + 0x00000218u;
|
|
/* 02C4A5C4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02C4A5C8 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A5C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4A5CC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A5CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4A5D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A5D4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A5D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4A5D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A5DC */ return;
|
|
L_02C4A5E0: ; // 0x2c4a5e0
|
|
/* 02C4A5E0 */ _t17 = cpu->r[12] + 0x0000023Cu;
|
|
/* 02C4A5E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4A5E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C4A5E8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A5E8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C4A5E8 */ if (_t19) goto L_02C4A624; else goto L_02C4A5EC;
|
|
L_02C4A5EC: ; // 0x2c4a5ec
|
|
/* 02C4A5EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02C4A5F0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A5F0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C4A5F0 */ if (_t21) goto L_02C4A5F4; else goto L_02C4A614;
|
|
L_02C4A5F4: ; // 0x2c4a5f4
|
|
/* 02C4A5F4 */ _t22 = cpu->r[30] + 0x0000023Cu;
|
|
/* 02C4A5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C4A5F8 */ _t23 = cpu->r[12] + 0x0000023Cu;
|
|
/* 02C4A5F8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C4A5FC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A5FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C4A600 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A600 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4A604 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A608 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A608 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4A60C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A610 */ return;
|
|
L_02C4A614: ; // 0x2c4a614
|
|
/* 02C4A614 */ cpu->r[12] = cpu->r[7];
|
|
/* 02C4A618 */ _t27 = cpu->r[12] + 0x0000023Cu;
|
|
/* 02C4A618 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4A61C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C4A620 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A620 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C4A620 */ if (_t29) goto L_02C4A624; else goto L_02C4A5EC;
|
|
L_02C4A624: ; // 0x2c4a624
|
|
/* 02C4A624 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C4A628 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A628 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C4A62C */ cpu->lr = cpu->r[0];
|
|
/* 02C4A630 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A630 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C4A634 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A638 */ return;
|
|
}
|
|
|
|
// fn_02C4A57C @ 0x2c4a57c
|
|
void Gambit_fn_02C4A57C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02C4A57C: ; // 0x2c4a57c
|
|
/* 02C4A57C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4A57C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4A57C */ cpu->r[1] = _t0;
|
|
/* 02C4A580 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A580 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4A584 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A584 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4A588 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C4A58C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4A590 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A590 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4A594 */ _t4 = cpu->r[31] + 0x00000214u;
|
|
/* 02C4A594 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4A598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A59C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A59C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4A59C */ if (_t6) goto L_02C4A5B4; else goto L_02C4A5A0;
|
|
L_02C4A5A0: ; // 0x2c4a5a0
|
|
/* 02C4A5A0 */ _t7 = cpu->r[3] + 0x00000174u;
|
|
/* 02C4A5A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4A5A4 */ _t8 = cpu->r[11] + 0x00000044u;
|
|
/* 02C4A5A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4A5A8 */ cpu->ctr = cpu->r[8];
|
|
/* 02C4A5AC */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4A5B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4A5B4: ; // 0x2c4a5b4
|
|
/* 02C4A5B4 */ _t9 = cpu->r[31] + 0x00000218u;
|
|
/* 02C4A5B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4A5B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02C4A5BC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A5BC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4A5BC */ if (_t11) goto L_02C4A5C0; else goto L_02C4A5E0;
|
|
L_02C4A5C0: ; // 0x2c4a5c0
|
|
/* 02C4A5C0 */ _t12 = cpu->r[30] + 0x0000023Cu;
|
|
/* 02C4A5C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4A5C4 */ _t13 = cpu->r[31] + 0x00000218u;
|
|
/* 02C4A5C4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02C4A5C8 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A5C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4A5CC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A5CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4A5D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A5D4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A5D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4A5D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A5DC */ return;
|
|
L_02C4A5E0: ; // 0x2c4a5e0
|
|
/* 02C4A5E0 */ _t17 = cpu->r[12] + 0x0000023Cu;
|
|
/* 02C4A5E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4A5E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C4A5E8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A5E8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C4A5E8 */ if (_t19) goto L_02C4A624; else goto L_02C4A5EC;
|
|
L_02C4A5EC: ; // 0x2c4a5ec
|
|
/* 02C4A5EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02C4A5F0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A5F0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C4A5F0 */ if (_t21) goto L_02C4A5F4; else goto L_02C4A614;
|
|
L_02C4A5F4: ; // 0x2c4a5f4
|
|
/* 02C4A5F4 */ _t22 = cpu->r[30] + 0x0000023Cu;
|
|
/* 02C4A5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C4A5F8 */ _t23 = cpu->r[12] + 0x0000023Cu;
|
|
/* 02C4A5F8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C4A5FC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A5FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C4A600 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A600 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4A604 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A608 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A608 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4A60C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A610 */ return;
|
|
L_02C4A614: ; // 0x2c4a614
|
|
/* 02C4A614 */ cpu->r[12] = cpu->r[7];
|
|
/* 02C4A618 */ _t27 = cpu->r[12] + 0x0000023Cu;
|
|
/* 02C4A618 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4A61C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C4A620 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A620 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C4A620 */ if (_t29) goto L_02C4A624; else goto L_02C4A5EC;
|
|
L_02C4A624: ; // 0x2c4a624
|
|
/* 02C4A624 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C4A628 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A628 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C4A62C */ cpu->lr = cpu->r[0];
|
|
/* 02C4A630 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A630 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C4A634 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A638 */ return;
|
|
}
|
|
|
|
// fn_02C4A63C @ 0x2c4a63c
|
|
void Gambit_fn_02C4A63C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C4A63C: ; // 0x2c4a63c
|
|
/* 02C4A63C */ cpu->r[0] = cpu->lr;
|
|
/* 02C4A640 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4A640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4A640 */ cpu->r[1] = _t0;
|
|
/* 02C4A644 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A644 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C4A648 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A648 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4A64C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A64C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C4A650 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4A650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4A654 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4A654 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4A658 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A658 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4A658 */ if (_t6) goto L_02C4A65C; else goto L_02C4A66C;
|
|
L_02C4A65C: ; // 0x2c4a65c
|
|
/* 02C4A65C */ cpu->r[3] = 0x00000220u;
|
|
/* 02C4A660 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A664 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4A664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4A668 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A668 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4A668 */ if (_t8) goto L_02C4A7B8; else goto L_02C4A66C;
|
|
L_02C4A66C: ; // 0x2c4a66c
|
|
/* 02C4A66C */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C4A670 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C4A674 */ cpu->r[6] = 0x02C50000u;
|
|
/* 02C4A678 */ cpu->r[0] = cpu->r[0] + 0xFFFFEB9Cu;
|
|
/* 02C4A67C */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 02C4A680 */ cpu->r[6] = cpu->r[6] + 0xFFFFCF18u;
|
|
/* 02C4A684 */ _t9 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02C4A684 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C4A688 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4A68C */ cpu->r[5] = 0x00000018u;
|
|
/* 02C4A690 */ _t10 = cpu->r[31] + 0x00000001u;
|
|
/* 02C4A690 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[30]);
|
|
/* 02C4A694 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02C4A698 */ cpu->r[6] = 0x02C50000u;
|
|
/* 02C4A69C */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02C4A6A0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4A6A4 */ cpu->r[6] = cpu->r[6] + 0xFFFFCF6Cu;
|
|
/* 02C4A6A8 */ cpu->r[5] = 0x00000050u;
|
|
/* 02C4A6AC */ Gambit_fn_02C82E00(cpu);
|
|
/* 02C4A6B0 */ cpu->r[29] = cpu->r[31] + 0x00000100u;
|
|
/* 02C4A6B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4A6B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A6B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4A6B4 */ if (_t12) goto L_02C4A6B8; else goto L_02C4A6C8;
|
|
L_02C4A6B8: ; // 0x2c4a6b8
|
|
/* 02C4A6B8 */ cpu->r[3] = 0x000000F4u;
|
|
/* 02C4A6BC */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A6C0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4A6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4A6C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A6C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4A6C4 */ if (_t14) goto L_02C4A7A8; else goto L_02C4A6C8;
|
|
L_02C4A6C8: ; // 0x2c4a6c8
|
|
/* 02C4A6C8 */ cpu->r[3] = cpu->r[29] + 0x00000070u;
|
|
/* 02C4A6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A6CC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A6CC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4A6CC */ if (_t16) goto L_02C4A6D0; else goto L_02C4A6E0;
|
|
L_02C4A6D0: ; // 0x2c4a6d0
|
|
/* 02C4A6D0 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C4A6D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A6DC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A6DC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4A6DC */ if (_t18) goto L_02C4A6F0; else goto L_02C4A6E0;
|
|
L_02C4A6E0: ; // 0x2c4a6e0
|
|
/* 02C4A6E0 */ _t19 = cpu->r[3] + 0x00000001u;
|
|
/* 02C4A6E0 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 02C4A6E4 */ _t20 = cpu->r[3] + 0x00000002u;
|
|
/* 02C4A6E4 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[30]);
|
|
/* 02C4A6E8 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4A6E8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02C4A6EC */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4A6EC */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[30]);
|
|
L_02C4A6F0: ; // 0x2c4a6f0
|
|
/* 02C4A6F0 */ cpu->r[3] = cpu->r[29] + 0x00000076u;
|
|
/* 02C4A6F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A6F4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A6F4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4A6F4 */ if (_t24) goto L_02C4A6F8; else goto L_02C4A708;
|
|
L_02C4A6F8: ; // 0x2c4a6f8
|
|
/* 02C4A6F8 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C4A6FC */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A704 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A704 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C4A704 */ if (_t26) goto L_02C4A718; else goto L_02C4A708;
|
|
L_02C4A708: ; // 0x2c4a708
|
|
/* 02C4A708 */ _t27 = cpu->r[3] + 0x00000001u;
|
|
/* 02C4A708 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[30]);
|
|
/* 02C4A70C */ _t28 = cpu->r[3] + 0x00000002u;
|
|
/* 02C4A70C */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[30]);
|
|
/* 02C4A710 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4A710 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[30]);
|
|
/* 02C4A714 */ _t30 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4A714 */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[30]);
|
|
L_02C4A718: ; // 0x2c4a718
|
|
/* 02C4A718 */ cpu->r[3] = cpu->r[29] + 0x0000007Cu;
|
|
/* 02C4A718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A71C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A71C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C4A71C */ if (_t32) goto L_02C4A720; else goto L_02C4A730;
|
|
L_02C4A720: ; // 0x2c4a720
|
|
/* 02C4A720 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C4A724 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A72C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A72C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C4A72C */ if (_t34) goto L_02C4A740; else goto L_02C4A730;
|
|
L_02C4A730: ; // 0x2c4a730
|
|
/* 02C4A730 */ _t35 = cpu->r[3] + 0x00000001u;
|
|
/* 02C4A730 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 02C4A734 */ _t36 = cpu->r[3] + 0x00000002u;
|
|
/* 02C4A734 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[30]);
|
|
/* 02C4A738 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4A738 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[30]);
|
|
/* 02C4A73C */ _t38 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4A73C */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[30]);
|
|
L_02C4A740: ; // 0x2c4a740
|
|
/* 02C4A740 */ cpu->r[3] = cpu->r[29] + 0x00000082u;
|
|
/* 02C4A740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A744 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A744 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C4A744 */ if (_t40) goto L_02C4A748; else goto L_02C4A758;
|
|
L_02C4A748: ; // 0x2c4a748
|
|
/* 02C4A748 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C4A74C */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A754 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A754 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C4A754 */ if (_t42) goto L_02C4A768; else goto L_02C4A758;
|
|
L_02C4A758: ; // 0x2c4a758
|
|
/* 02C4A758 */ _t43 = cpu->r[3] + 0x00000001u;
|
|
/* 02C4A758 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[30]);
|
|
/* 02C4A75C */ _t44 = cpu->r[3] + 0x00000002u;
|
|
/* 02C4A75C */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[30]);
|
|
/* 02C4A760 */ _t45 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4A760 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[30]);
|
|
/* 02C4A764 */ _t46 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4A764 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[30]);
|
|
L_02C4A768: ; // 0x2c4a768
|
|
/* 02C4A768 */ cpu->r[3] = cpu->r[29] + 0x00000088u;
|
|
/* 02C4A768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A76C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A76C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C4A76C */ if (_t48) goto L_02C4A770; else goto L_02C4A780;
|
|
L_02C4A770: ; // 0x2c4a770
|
|
/* 02C4A770 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C4A774 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A77C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A77C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C4A77C */ if (_t50) goto L_02C4A790; else goto L_02C4A780;
|
|
L_02C4A780: ; // 0x2c4a780
|
|
/* 02C4A780 */ _t51 = cpu->r[3] + 0x00000001u;
|
|
/* 02C4A780 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[30]);
|
|
/* 02C4A784 */ _t52 = cpu->r[3] + 0x00000002u;
|
|
/* 02C4A784 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[30]);
|
|
/* 02C4A788 */ _t53 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4A788 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[30]);
|
|
/* 02C4A78C */ _t54 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4A78C */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[30]);
|
|
L_02C4A790: ; // 0x2c4a790
|
|
/* 02C4A790 */ cpu->r[6] = 0x02C50000u;
|
|
/* 02C4A794 */ cpu->r[3] = cpu->r[29] + 0x00000090u;
|
|
/* 02C4A798 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C4A79C */ cpu->r[6] = cpu->r[6] + 0xFFFFD120u;
|
|
/* 02C4A7A0 */ cpu->r[5] = 0x00000010u;
|
|
/* 02C4A7A4 */ Gambit_fn_02C82E00(cpu);
|
|
L_02C4A7A8: ; // 0x2c4a7a8
|
|
/* 02C4A7A8 */ _t55 = cpu->r[31] + 0x00000214u;
|
|
/* 02C4A7A8 */ rbrew_write32(cpu->mem, _t55, cpu->r[30]);
|
|
/* 02C4A7AC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A7B0 */ _t56 = cpu->r[31] + 0x00000218u;
|
|
/* 02C4A7B0 */ rbrew_write32(cpu->mem, _t56, cpu->r[30]);
|
|
/* 02C4A7B4 */ Gambit_fn_02C4A374(cpu);
|
|
L_02C4A7B8: ; // 0x2c4a7b8
|
|
/* 02C4A7B8 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A7B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C4A7BC */ _t58 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4A7BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C4A7C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A7C4 */ _t59 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A7C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C4A7C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A7CC */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A7CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C4A7D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4A7D4 */ return;
|
|
}
|
|
|
|
// fn_02C4A640 @ 0x2c4a640
|
|
void Gambit_fn_02C4A640(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C4A640: ; // 0x2c4a640
|
|
/* 02C4A640 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4A640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4A640 */ cpu->r[1] = _t0;
|
|
/* 02C4A644 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A644 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C4A648 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A648 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4A64C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A64C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C4A650 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4A650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4A654 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4A654 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4A658 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A658 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4A658 */ if (_t6) goto L_02C4A65C; else goto L_02C4A66C;
|
|
L_02C4A65C: ; // 0x2c4a65c
|
|
/* 02C4A65C */ cpu->r[3] = 0x00000220u;
|
|
/* 02C4A660 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A664 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4A664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4A668 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A668 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4A668 */ if (_t8) goto L_02C4A7B8; else goto L_02C4A66C;
|
|
L_02C4A66C: ; // 0x2c4a66c
|
|
/* 02C4A66C */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C4A670 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C4A674 */ cpu->r[6] = 0x02C50000u;
|
|
/* 02C4A678 */ cpu->r[0] = cpu->r[0] + 0xFFFFEB9Cu;
|
|
/* 02C4A67C */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 02C4A680 */ cpu->r[6] = cpu->r[6] + 0xFFFFCF18u;
|
|
/* 02C4A684 */ _t9 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02C4A684 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C4A688 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4A68C */ cpu->r[5] = 0x00000018u;
|
|
/* 02C4A690 */ _t10 = cpu->r[31] + 0x00000001u;
|
|
/* 02C4A690 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[30]);
|
|
/* 02C4A694 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02C4A698 */ cpu->r[6] = 0x02C50000u;
|
|
/* 02C4A69C */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02C4A6A0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4A6A4 */ cpu->r[6] = cpu->r[6] + 0xFFFFCF6Cu;
|
|
/* 02C4A6A8 */ cpu->r[5] = 0x00000050u;
|
|
/* 02C4A6AC */ Gambit_fn_02C82E00(cpu);
|
|
/* 02C4A6B0 */ cpu->r[29] = cpu->r[31] + 0x00000100u;
|
|
/* 02C4A6B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4A6B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A6B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4A6B4 */ if (_t12) goto L_02C4A6B8; else goto L_02C4A6C8;
|
|
L_02C4A6B8: ; // 0x2c4a6b8
|
|
/* 02C4A6B8 */ cpu->r[3] = 0x000000F4u;
|
|
/* 02C4A6BC */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A6C0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4A6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4A6C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A6C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4A6C4 */ if (_t14) goto L_02C4A7A8; else goto L_02C4A6C8;
|
|
L_02C4A6C8: ; // 0x2c4a6c8
|
|
/* 02C4A6C8 */ cpu->r[3] = cpu->r[29] + 0x00000070u;
|
|
/* 02C4A6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A6CC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A6CC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4A6CC */ if (_t16) goto L_02C4A6D0; else goto L_02C4A6E0;
|
|
L_02C4A6D0: ; // 0x2c4a6d0
|
|
/* 02C4A6D0 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C4A6D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A6DC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A6DC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4A6DC */ if (_t18) goto L_02C4A6F0; else goto L_02C4A6E0;
|
|
L_02C4A6E0: ; // 0x2c4a6e0
|
|
/* 02C4A6E0 */ _t19 = cpu->r[3] + 0x00000001u;
|
|
/* 02C4A6E0 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 02C4A6E4 */ _t20 = cpu->r[3] + 0x00000002u;
|
|
/* 02C4A6E4 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[30]);
|
|
/* 02C4A6E8 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4A6E8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02C4A6EC */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4A6EC */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[30]);
|
|
L_02C4A6F0: ; // 0x2c4a6f0
|
|
/* 02C4A6F0 */ cpu->r[3] = cpu->r[29] + 0x00000076u;
|
|
/* 02C4A6F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A6F4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A6F4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4A6F4 */ if (_t24) goto L_02C4A6F8; else goto L_02C4A708;
|
|
L_02C4A6F8: ; // 0x2c4a6f8
|
|
/* 02C4A6F8 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C4A6FC */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A704 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A704 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C4A704 */ if (_t26) goto L_02C4A718; else goto L_02C4A708;
|
|
L_02C4A708: ; // 0x2c4a708
|
|
/* 02C4A708 */ _t27 = cpu->r[3] + 0x00000001u;
|
|
/* 02C4A708 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[30]);
|
|
/* 02C4A70C */ _t28 = cpu->r[3] + 0x00000002u;
|
|
/* 02C4A70C */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[30]);
|
|
/* 02C4A710 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4A710 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[30]);
|
|
/* 02C4A714 */ _t30 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4A714 */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[30]);
|
|
L_02C4A718: ; // 0x2c4a718
|
|
/* 02C4A718 */ cpu->r[3] = cpu->r[29] + 0x0000007Cu;
|
|
/* 02C4A718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A71C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A71C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C4A71C */ if (_t32) goto L_02C4A720; else goto L_02C4A730;
|
|
L_02C4A720: ; // 0x2c4a720
|
|
/* 02C4A720 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C4A724 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A72C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A72C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C4A72C */ if (_t34) goto L_02C4A740; else goto L_02C4A730;
|
|
L_02C4A730: ; // 0x2c4a730
|
|
/* 02C4A730 */ _t35 = cpu->r[3] + 0x00000001u;
|
|
/* 02C4A730 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 02C4A734 */ _t36 = cpu->r[3] + 0x00000002u;
|
|
/* 02C4A734 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[30]);
|
|
/* 02C4A738 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4A738 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[30]);
|
|
/* 02C4A73C */ _t38 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4A73C */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[30]);
|
|
L_02C4A740: ; // 0x2c4a740
|
|
/* 02C4A740 */ cpu->r[3] = cpu->r[29] + 0x00000082u;
|
|
/* 02C4A740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A744 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A744 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C4A744 */ if (_t40) goto L_02C4A748; else goto L_02C4A758;
|
|
L_02C4A748: ; // 0x2c4a748
|
|
/* 02C4A748 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C4A74C */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A754 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A754 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C4A754 */ if (_t42) goto L_02C4A768; else goto L_02C4A758;
|
|
L_02C4A758: ; // 0x2c4a758
|
|
/* 02C4A758 */ _t43 = cpu->r[3] + 0x00000001u;
|
|
/* 02C4A758 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[30]);
|
|
/* 02C4A75C */ _t44 = cpu->r[3] + 0x00000002u;
|
|
/* 02C4A75C */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[30]);
|
|
/* 02C4A760 */ _t45 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4A760 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[30]);
|
|
/* 02C4A764 */ _t46 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4A764 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[30]);
|
|
L_02C4A768: ; // 0x2c4a768
|
|
/* 02C4A768 */ cpu->r[3] = cpu->r[29] + 0x00000088u;
|
|
/* 02C4A768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A76C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A76C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C4A76C */ if (_t48) goto L_02C4A770; else goto L_02C4A780;
|
|
L_02C4A770: ; // 0x2c4a770
|
|
/* 02C4A770 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C4A774 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4A778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4A77C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A77C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C4A77C */ if (_t50) goto L_02C4A790; else goto L_02C4A780;
|
|
L_02C4A780: ; // 0x2c4a780
|
|
/* 02C4A780 */ _t51 = cpu->r[3] + 0x00000001u;
|
|
/* 02C4A780 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[30]);
|
|
/* 02C4A784 */ _t52 = cpu->r[3] + 0x00000002u;
|
|
/* 02C4A784 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[30]);
|
|
/* 02C4A788 */ _t53 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4A788 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[30]);
|
|
/* 02C4A78C */ _t54 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4A78C */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[30]);
|
|
L_02C4A790: ; // 0x2c4a790
|
|
/* 02C4A790 */ cpu->r[6] = 0x02C50000u;
|
|
/* 02C4A794 */ cpu->r[3] = cpu->r[29] + 0x00000090u;
|
|
/* 02C4A798 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C4A79C */ cpu->r[6] = cpu->r[6] + 0xFFFFD120u;
|
|
/* 02C4A7A0 */ cpu->r[5] = 0x00000010u;
|
|
/* 02C4A7A4 */ Gambit_fn_02C82E00(cpu);
|
|
L_02C4A7A8: ; // 0x2c4a7a8
|
|
/* 02C4A7A8 */ _t55 = cpu->r[31] + 0x00000214u;
|
|
/* 02C4A7A8 */ rbrew_write32(cpu->mem, _t55, cpu->r[30]);
|
|
/* 02C4A7AC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A7B0 */ _t56 = cpu->r[31] + 0x00000218u;
|
|
/* 02C4A7B0 */ rbrew_write32(cpu->mem, _t56, cpu->r[30]);
|
|
/* 02C4A7B4 */ Gambit_fn_02C4A374(cpu);
|
|
L_02C4A7B8: ; // 0x2c4a7b8
|
|
/* 02C4A7B8 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A7B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C4A7BC */ _t58 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4A7BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C4A7C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A7C4 */ _t59 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A7C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C4A7C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A7CC */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A7CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C4A7D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4A7D4 */ return;
|
|
}
|
|
|
|
// fn_02C4A7D8 @ 0x2c4a7d8
|
|
void Gambit_fn_02C4A7D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C4A7D8: ; // 0x2c4a7d8
|
|
/* 02C4A7D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4A7DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4A7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4A7DC */ cpu->r[1] = _t0;
|
|
/* 02C4A7E0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4A7E4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A7E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4A7E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4A7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4A7EC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4A7F0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A7F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4A7F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A7F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4A7F4 */ if (_t5) goto L_02C4A81C; else goto L_02C4A7F8;
|
|
L_02C4A7F8: ; // 0x2c4a7f8
|
|
/* 02C4A7F8 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C4A7FC */ cpu->r[0] = cpu->r[0] + 0xFFFFEB9Cu;
|
|
/* 02C4A800 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A804 */ _t6 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02C4A804 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C4A808 */ Gambit_fn_02C3A578(cpu);
|
|
/* 02C4A80C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4A80C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4A810 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A810 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4A810 */ if (_t8) goto L_02C4A81C; else goto L_02C4A814;
|
|
L_02C4A814: ; // 0x2c4a814
|
|
/* 02C4A814 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A818 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C4A81C: ; // 0x2c4a81c
|
|
/* 02C4A81C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A81C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4A820 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A820 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4A824 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A828 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A828 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4A82C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A830 */ return;
|
|
}
|
|
|
|
// fn_02C4A7DC @ 0x2c4a7dc
|
|
void Gambit_fn_02C4A7DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C4A7DC: ; // 0x2c4a7dc
|
|
/* 02C4A7DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4A7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4A7DC */ cpu->r[1] = _t0;
|
|
/* 02C4A7E0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4A7E4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A7E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4A7E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4A7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4A7EC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4A7F0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A7F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4A7F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A7F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4A7F4 */ if (_t5) goto L_02C4A81C; else goto L_02C4A7F8;
|
|
L_02C4A7F8: ; // 0x2c4a7f8
|
|
/* 02C4A7F8 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C4A7FC */ cpu->r[0] = cpu->r[0] + 0xFFFFEB9Cu;
|
|
/* 02C4A800 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A804 */ _t6 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02C4A804 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C4A808 */ Gambit_fn_02C3A578(cpu);
|
|
/* 02C4A80C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4A80C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4A810 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A810 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4A810 */ if (_t8) goto L_02C4A81C; else goto L_02C4A814;
|
|
L_02C4A814: ; // 0x2c4a814
|
|
/* 02C4A814 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A818 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C4A81C: ; // 0x2c4a81c
|
|
/* 02C4A81C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A81C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4A820 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A820 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4A824 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A828 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A828 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4A82C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A830 */ return;
|
|
}
|
|
|
|
// fn_02C4A834 @ 0x2c4a834
|
|
void Gambit_fn_02C4A834(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C4A834: ; // 0x2c4a834
|
|
/* 02C4A834 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4A838 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4A838 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4A838 */ cpu->r[1] = _t0;
|
|
/* 02C4A83C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A83C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4A840 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4A844 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u);
|
|
/* 02C4A848 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A848 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4A84C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4A84C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4A84C */ if (_t4) goto L_02C4A874; else goto L_02C4A850;
|
|
L_02C4A850: ; // 0x2c4a850
|
|
/* 02C4A850 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A850 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4A850 */ if (_t6) goto L_02C4A8B4; else goto L_02C4A854;
|
|
L_02C4A854: ; // 0x2c4a854
|
|
/* 02C4A854 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000003u);
|
|
/* 02C4A858 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4A858 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4A858 */ if (_t8) goto L_02C4A894; else goto L_02C4A85C;
|
|
L_02C4A85C: ; // 0x2c4a85c
|
|
/* 02C4A85C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A85C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4A85C */ if (_t10) goto L_02C4A880; else goto L_02C4A860;
|
|
L_02C4A860: ; // 0x2c4a860
|
|
/* 02C4A860 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4A864 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A864 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4A868 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A86C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A870 */ return;
|
|
L_02C4A874: ; // 0x2c4a874
|
|
/* 02C4A874 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4A878 */ _t13 = cpu->r[31] + 0x0000015Eu;
|
|
/* 02C4A878 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 02C4A87C */ goto L_02C4A8BC;
|
|
L_02C4A880: ; // 0x2c4a880
|
|
/* 02C4A880 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A884 */ Gambit_fn_02C4A300(cpu);
|
|
/* 02C4A888 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C4A88C */ _t14 = cpu->r[31] + 0x0000015Eu;
|
|
/* 02C4A88C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 02C4A890 */ goto L_02C4A8BC;
|
|
L_02C4A894: ; // 0x2c4a894
|
|
/* 02C4A894 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A898 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02C4A89C */ Gambit_fn_02C3A4AC(cpu);
|
|
/* 02C4A8A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A8A4 */ Gambit_fn_02C3A534(cpu);
|
|
/* 02C4A8A8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C4A8AC */ _t15 = cpu->r[31] + 0x0000015Eu;
|
|
/* 02C4A8AC */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 02C4A8B0 */ goto L_02C4A8BC;
|
|
L_02C4A8B4: ; // 0x2c4a8b4
|
|
/* 02C4A8B4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C4A8B8 */ _t16 = cpu->r[31] + 0x0000015Eu;
|
|
/* 02C4A8B8 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
L_02C4A8BC: ; // 0x2c4a8bc
|
|
/* 02C4A8BC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A8BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4A8C0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A8C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4A8C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A8C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A8CC */ return;
|
|
}
|
|
|
|
// fn_02C4A838 @ 0x2c4a838
|
|
void Gambit_fn_02C4A838(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C4A838: ; // 0x2c4a838
|
|
/* 02C4A838 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4A838 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4A838 */ cpu->r[1] = _t0;
|
|
/* 02C4A83C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A83C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4A840 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4A844 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u);
|
|
/* 02C4A848 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A848 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4A84C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4A84C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4A84C */ if (_t4) goto L_02C4A874; else goto L_02C4A850;
|
|
L_02C4A850: ; // 0x2c4a850
|
|
/* 02C4A850 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A850 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4A850 */ if (_t6) goto L_02C4A8B4; else goto L_02C4A854;
|
|
L_02C4A854: ; // 0x2c4a854
|
|
/* 02C4A854 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000003u);
|
|
/* 02C4A858 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4A858 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4A858 */ if (_t8) goto L_02C4A894; else goto L_02C4A85C;
|
|
L_02C4A85C: ; // 0x2c4a85c
|
|
/* 02C4A85C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A85C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4A85C */ if (_t10) goto L_02C4A880; else goto L_02C4A860;
|
|
L_02C4A860: ; // 0x2c4a860
|
|
/* 02C4A860 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4A864 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A864 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4A868 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A86C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A870 */ return;
|
|
L_02C4A874: ; // 0x2c4a874
|
|
/* 02C4A874 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4A878 */ _t13 = cpu->r[31] + 0x0000015Eu;
|
|
/* 02C4A878 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 02C4A87C */ goto L_02C4A8BC;
|
|
L_02C4A880: ; // 0x2c4a880
|
|
/* 02C4A880 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A884 */ Gambit_fn_02C4A300(cpu);
|
|
/* 02C4A888 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C4A88C */ _t14 = cpu->r[31] + 0x0000015Eu;
|
|
/* 02C4A88C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 02C4A890 */ goto L_02C4A8BC;
|
|
L_02C4A894: ; // 0x2c4a894
|
|
/* 02C4A894 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A898 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02C4A89C */ Gambit_fn_02C3A4AC(cpu);
|
|
/* 02C4A8A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A8A4 */ Gambit_fn_02C3A534(cpu);
|
|
/* 02C4A8A8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C4A8AC */ _t15 = cpu->r[31] + 0x0000015Eu;
|
|
/* 02C4A8AC */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 02C4A8B0 */ goto L_02C4A8BC;
|
|
L_02C4A8B4: ; // 0x2c4a8b4
|
|
/* 02C4A8B4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C4A8B8 */ _t16 = cpu->r[31] + 0x0000015Eu;
|
|
/* 02C4A8B8 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
L_02C4A8BC: ; // 0x2c4a8bc
|
|
/* 02C4A8BC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4A8BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4A8C0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A8C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4A8C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A8C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A8CC */ return;
|
|
}
|
|
|
|
// fn_02C4A8D0 @ 0x2c4a8d0
|
|
void Gambit_fn_02C4A8D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02C4A8D0: ; // 0x2c4a8d0
|
|
/* 02C4A8D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4A8D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4A8D0 */ cpu->r[1] = _t0;
|
|
/* 02C4A8D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A8D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4A8D8 */ _t2 = cpu->r[3] + 0x00000218u;
|
|
/* 02C4A8D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4A8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4A8E0 */ _t3 = cpu->r[3] + 0x0000015Fu;
|
|
/* 02C4A8E0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[4]);
|
|
/* 02C4A8E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A8E4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4A8E4 */ if (_t5) goto L_02C4A97C; else goto L_02C4A8E8;
|
|
L_02C4A8E8: ; // 0x2c4a8e8
|
|
/* 02C4A8E8 */ cpu->r[12] = 0xAAAB0000u;
|
|
/* 02C4A8EC */ cpu->r[11] = cpu->r[5] + 0x00000002u;
|
|
/* 02C4A8F0 */ cpu->r[12] = cpu->r[12] + 0xFFFFAAABu;
|
|
/* 02C4A8F4 */ /* nop */
|
|
/* 02C4A8F8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C4A8FC */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
L_02C4A900: ; // 0x2c4a900
|
|
/* 02C4A900 */ _t6 = cpu->r[31] + 0x0000020Au;
|
|
/* 02C4A900 */ cpu->r[7] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4A904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C4A908 */ _t7 = cpu->r[31] + 0x0000020Cu;
|
|
/* 02C4A908 */ cpu->r[6] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C4A90C */ cpu->r[12] = 0x000000FFu;
|
|
/* 02C4A910 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A910 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4A910 */ if (_t9) goto L_02C4A918; else goto L_02C4A914;
|
|
L_02C4A914: ; // 0x2c4a914
|
|
/* 02C4A914 */ cpu->r[12] = 0x00000000u;
|
|
L_02C4A918: ; // 0x2c4a918
|
|
/* 02C4A918 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02C4A91C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4A920 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4A920 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4A920 */ if (_t11) goto L_02C4A948; else goto L_02C4A924;
|
|
L_02C4A924: ; // 0x2c4a924
|
|
/* 02C4A924 */ _t12 = cpu->r[31] + 0x00000209u;
|
|
/* 02C4A924 */ cpu->r[10] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C4A928 */ _t13 = cpu->r[31] + 0x00000209u;
|
|
/* 02C4A928 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
/* 02C4A92C */ _t14 = cpu->r[31] + 0x00000208u;
|
|
/* 02C4A92C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[10]);
|
|
/* 02C4A930 */ _t15 = cpu->r[31] + 0x0000020Cu;
|
|
/* 02C4A930 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[5]);
|
|
/* 02C4A934 */ _t16 = cpu->r[31] + 0x0000020Au;
|
|
/* 02C4A934 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[11]);
|
|
/* 02C4A938 */ _t17 = cpu->r[31] + 0x0000023Cu;
|
|
/* 02C4A938 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4A93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4A940 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A940 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C4A940 */ if (_t19) goto L_02C4A944; else goto L_02C4A900;
|
|
L_02C4A944: ; // 0x2c4a944
|
|
/* 02C4A944 */ goto L_02C4A97C;
|
|
L_02C4A948: ; // 0x2c4a948
|
|
/* 02C4A948 */ _t20 = cpu->r[31] + 0x00000208u;
|
|
/* 02C4A948 */ cpu->r[8] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C4A94C */ _t21 = cpu->r[31] + 0x00000209u;
|
|
/* 02C4A94C */ cpu->r[10] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C4A950 */ _t22 = cpu->r[31] + 0x0000020Au;
|
|
/* 02C4A950 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[11]);
|
|
/* 02C4A954 */ cpu->r[9] = cpu->r[10] - cpu->r[8];
|
|
/* 02C4A958 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[6]);
|
|
/* 02C4A95C */ _t23 = cpu->r[31] + 0x0000020Cu;
|
|
/* 02C4A95C */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[5]);
|
|
/* 02C4A960 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[10] / (int32_t)cpu->r[7]);
|
|
/* 02C4A964 */ _t24 = cpu->r[31] + 0x00000209u;
|
|
/* 02C4A964 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]);
|
|
/* 02C4A968 */ cpu->r[9] = cpu->r[8] + cpu->r[7];
|
|
/* 02C4A96C */ _t25 = cpu->r[31] + 0x00000208u;
|
|
/* 02C4A96C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[9]);
|
|
/* 02C4A970 */ _t26 = cpu->r[31] + 0x0000023Cu;
|
|
/* 02C4A970 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4A974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4A978 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A978 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C4A978 */ if (_t28) goto L_02C4A97C; else goto L_02C4A900;
|
|
L_02C4A97C: ; // 0x2c4a97c
|
|
/* 02C4A97C */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A97C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C4A980 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A984 */ return;
|
|
}
|
|
|
|
// fn_02C4A988 @ 0x2c4a988
|
|
void Gambit_fn_02C4A988(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C4A988: ; // 0x2c4a988
|
|
/* 02C4A988 */ _t0 = cpu->r[3] + 0x000001E2u;
|
|
/* 02C4A988 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02C4A98C */ _t1 = cpu->r[3] + 0x000001ECu;
|
|
/* 02C4A98C */ rbrew_write_f32(cpu->mem, _t1, cpu->f[1]);
|
|
/* 02C4A990 */ return;
|
|
}
|
|
|
|
// fn_02C4A994 @ 0x2c4a994
|
|
void Gambit_fn_02C4A994(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4A994: ; // 0x2c4a994
|
|
/* 02C4A994 */ _t0 = cpu->r[3] + 0x00000167u;
|
|
/* 02C4A994 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02C4A998 */ return;
|
|
}
|
|
|
|
// fn_02C4A99C @ 0x2c4a99c
|
|
void Gambit_fn_02C4A99C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4A99C: ; // 0x2c4a99c
|
|
/* 02C4A99C */ _t0 = cpu->r[3] + 0x000001D8u;
|
|
/* 02C4A99C */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02C4A9A0 */ return;
|
|
}
|
|
|
|
// fn_02C4A9A4 @ 0x2c4a9a4
|
|
void Gambit_fn_02C4A9A4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4A9A4: ; // 0x2c4a9a4
|
|
/* 02C4A9A4 */ _t0 = cpu->r[3] + 0x000001D4u;
|
|
/* 02C4A9A4 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02C4A9A8 */ return;
|
|
}
|
|
|
|
// fn_02C4A9AC @ 0x2c4a9ac
|
|
void Gambit_fn_02C4A9AC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4A9AC: ; // 0x2c4a9ac
|
|
/* 02C4A9AC */ _t0 = cpu->r[3] + 0x000001F0u;
|
|
/* 02C4A9AC */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02C4A9B0 */ return;
|
|
}
|
|
|
|
// fn_02C4A9B4 @ 0x2c4a9b4
|
|
void Gambit_fn_02C4A9B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C49160: ; // 0x2c49160
|
|
/* 02C49160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000010u);
|
|
/* 02C49164 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C49164 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C49164 */ if (_t1) goto L_02C49168; else goto L_02C49178;
|
|
L_02C49168: ; // 0x2c49168
|
|
/* 02C49168 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C4916C */ cpu->r[12] = cpu->r[3] + 0x00000208u;
|
|
/* 02C49170 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C49174 */ return;
|
|
L_02C49178: ; // 0x2c49178
|
|
/* 02C49178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000020u);
|
|
/* 02C4917C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C49180 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C49180 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C49180 */ _t4 = _t3 ^ 0x00000001u;
|
|
/* 02C49180 */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C49180 */ goto L_02C49184;
|
|
L_02C49184: ; // 0x2c49184
|
|
/* 02C49184 */ cpu->r[12] = 0x10220000u;
|
|
/* 02C49188 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C4918C */ cpu->r[12] = cpu->r[12] + 0x00005814u;
|
|
/* 02C49190 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C49194 */ return;
|
|
L_02C49198: ; // 0x2c49198
|
|
/* 02C49198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000010u);
|
|
/* 02C4919C */ cpu->r[12] = cpu->r[3];
|
|
/* 02C491A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C491A4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C491A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C491A4 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C491A4 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C491A4 */ goto L_02C491A8;
|
|
L_02C491A8: ; // 0x2c491a8
|
|
/* 02C491A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C491AC */ cpu->r[12] = cpu->r[12] + 0x000001F4u;
|
|
/* 02C491B0 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C491B4 */ return;
|
|
L_02C4A9B4: ; // 0x2c4a9b4
|
|
/* 02C4A9B4 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C4A9B8 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C4A9BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000020u);
|
|
/* 02C4A9C0 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4A9C0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4A9C0 */ if (_t9) goto L_02C4A9C4; else goto L_02C4A9C8;
|
|
L_02C4A9C4: ; // 0x2c4a9c4
|
|
/* 02C4A9C4 */ goto L_02C49160;
|
|
L_02C4A9C8: ; // 0x2c4a9c8
|
|
/* 02C4A9C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000030u);
|
|
/* 02C4A9CC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4A9D0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4A9D0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4A9D0 */ _t12 = _t11 ^ 0x00000001u;
|
|
/* 02C4A9D0 */ if (_t12) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4A9D0 */ goto L_02C4A9D4;
|
|
L_02C4A9D4: ; // 0x2c4a9d4
|
|
/* 02C4A9D4 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C4A9D8 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFE0u;
|
|
/* 02C4A9DC */ goto L_02C49198;
|
|
}
|
|
|
|
// fn_02C4A9E0 @ 0x2c4a9e0
|
|
void Gambit_fn_02C4A9E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C4A9E0: ; // 0x2c4a9e0
|
|
/* 02C4A9E0 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C4A9E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4A9E4 */ cpu->r[12] = cpu->r[11] + 0x00000001u;
|
|
/* 02C4A9E8 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02C4A9E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02C4A9EC */ cpu->r[9] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4A9F0 */ _t2 = cpu->r[11] + 0x00000000u;
|
|
/* 02C4A9F0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C4A9F4 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02C4A9F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02C4A9F8 */ _t4 = cpu->r[11] + 0x00000001u;
|
|
/* 02C4A9F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C4A9FC */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 02C4AA00 */ cpu->r[3] = cpu->r[10] | cpu->r[0];
|
|
/* 02C4AA04 */ return;
|
|
}
|
|
|
|
// fn_02C4AA08 @ 0x2c4aa08
|
|
void Gambit_fn_02C4AA08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4AA08: ; // 0x2c4aa08
|
|
/* 02C4AA08 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C4AA08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4AA0C */ cpu->r[3] = 0x00000000u;
|
|
L_02C4AA10: ; // 0x2c4aa10
|
|
/* 02C4AA10 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4AA10 */ cpu->r[11] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C4AA14 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4AA18 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000007u, 0x00000000u, 0x00000018u);
|
|
/* 02C4AA1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x00000018u);
|
|
/* 02C4AA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4AA20 */ _t2 = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000019u, 0x0000001Fu);
|
|
/* 02C4AA20 */ _t3 = cpu->r[3] & 0xFFFFFF80u;
|
|
/* 02C4AA20 */ cpu->r[3] = _t3 | _t2;
|
|
/* 02C4AA24 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02C4AA24 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C4AA28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AA28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4AA28 */ if (_t6) goto L_02C4AA2C; else goto L_02C4AA10;
|
|
L_02C4AA2C: ; // 0x2c4aa2c
|
|
/* 02C4AA2C */ return;
|
|
}
|
|
|
|
// fn_02C4AA30 @ 0x2c4aa30
|
|
void Gambit_fn_02C4AA30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02C4AA30: ; // 0x2c4aa30
|
|
/* 02C4AA30 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4AA34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4AA34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4AA34 */ cpu->r[1] = _t0;
|
|
/* 02C4AA38 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4AA3C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4AA3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4AA40 */ cpu->r[9] = cpu->r[4];
|
|
/* 02C4AA44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000003u);
|
|
/* 02C4AA48 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4AA48 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4AA4C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4AA50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4AA50 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4AA54 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4AA54 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4AA54 */ if (_t5) goto L_02C4AA58; else goto L_02C4AA6C;
|
|
L_02C4AA58: ; // 0x2c4aa58
|
|
/* 02C4AA58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 02C4AA5C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AA5C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4AA5C */ if (_t7) goto L_02C4AA84; else goto L_02C4AA60;
|
|
L_02C4AA60: ; // 0x2c4aa60
|
|
/* 02C4AA60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u);
|
|
/* 02C4AA64 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AA64 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4AA64 */ if (_t9) goto L_02C4AA98; else goto L_02C4AA68;
|
|
L_02C4AA68: ; // 0x2c4aa68
|
|
/* 02C4AA68 */ goto L_02C4AB24;
|
|
L_02C4AA6C: ; // 0x2c4aa6c
|
|
/* 02C4AA6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000004u);
|
|
/* 02C4AA70 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4AA70 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4AA70 */ if (_t11) goto L_02C4AAAC; else goto L_02C4AA74;
|
|
L_02C4AA74: ; // 0x2c4aa74
|
|
/* 02C4AA74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AA74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C4AA74 */ if (_t13) goto L_02C4AAF0; else goto L_02C4AA78;
|
|
L_02C4AA78: ; // 0x2c4aa78
|
|
/* 02C4AA78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000005u);
|
|
/* 02C4AA7C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AA7C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C4AA7C */ if (_t15) goto L_02C4AAC0; else goto L_02C4AA80;
|
|
L_02C4AA80: ; // 0x2c4aa80
|
|
/* 02C4AA80 */ goto L_02C4AB24;
|
|
L_02C4AA84: ; // 0x2c4aa84
|
|
/* 02C4AA84 */ _t16 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4AA84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4AA88 */ cpu->r[0] = cpu->r[10] + 0x00000001u;
|
|
/* 02C4AA8C */ _t17 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4AA8C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02C4AA90 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 02C4AA90 */ cpu->r[11] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C4AA94 */ goto L_02C4AB24;
|
|
L_02C4AA98: ; // 0x2c4aa98
|
|
/* 02C4AA98 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C4AA9C */ cpu->r[4] = cpu->r[9];
|
|
/* 02C4AAA0 */ Gambit_fn_02C4A9E0(cpu);
|
|
/* 02C4AAA4 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C4AAA8 */ goto L_02C4AB24;
|
|
L_02C4AAAC: ; // 0x2c4aaac
|
|
/* 02C4AAAC */ cpu->r[3] = cpu->r[8];
|
|
/* 02C4AAB0 */ cpu->r[4] = cpu->r[9];
|
|
/* 02C4AAB4 */ Gambit_fn_02C4AA08(cpu);
|
|
/* 02C4AAB8 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C4AABC */ goto L_02C4AB24;
|
|
L_02C4AAC0: ; // 0x2c4aac0
|
|
/* 02C4AAC0 */ _t19 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4AAC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4AAC4 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C4AAC8 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4AACC */ cpu->r[5] = cpu->r[6];
|
|
/* 02C4AAD0 */ _t20 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4AAD0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02C4AAD4 */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4AAD4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C4AAD8 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C4AADC */ Gambit_fn_02C4A9B4(cpu);
|
|
/* 02C4AAE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4AAE4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AAE4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C4AAE4 */ if (_t23) goto L_02C4AB24; else goto L_02C4AAE8;
|
|
L_02C4AAE8: ; // 0x2c4aae8
|
|
/* 02C4AAE8 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4AAE8 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t24);
|
|
/* 02C4AAEC */ goto L_02C4AB24;
|
|
L_02C4AAF0: ; // 0x2c4aaf0
|
|
/* 02C4AAF0 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C4AAF4 */ cpu->r[4] = cpu->r[9];
|
|
/* 02C4AAF8 */ Gambit_fn_02C4A9E0(cpu);
|
|
/* 02C4AAFC */ /* nop */
|
|
/* 02C4AB00 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C4AB04 */ Gambit_fn_02C4A9E0(cpu);
|
|
/* 02C4AB08 */ /* nop */
|
|
/* 02C4AB0C */ Gambit_fn_02C3022C(cpu);
|
|
/* 02C4AB10 */ cpu->r[7] = cpu->r[31] - cpu->r[30];
|
|
/* 02C4AB14 */ cpu->r[8] = cpu->r[7] + 0x00000001u;
|
|
/* 02C4AB18 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[8]);
|
|
/* 02C4AB1C */ /* nop */
|
|
/* 02C4AB20 */ cpu->r[11] = cpu->r[3] + cpu->r[30];
|
|
L_02C4AB24: ; // 0x2c4ab24
|
|
/* 02C4AB24 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4AB24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4AB28 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4AB28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4AB2C */ cpu->lr = cpu->r[0];
|
|
/* 02C4AB30 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4AB30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4AB34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4AB38 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C4AB3C */ return;
|
|
}
|
|
|
|
// fn_02C4AA34 @ 0x2c4aa34
|
|
void Gambit_fn_02C4AA34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02C4AA34: ; // 0x2c4aa34
|
|
/* 02C4AA34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4AA34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4AA34 */ cpu->r[1] = _t0;
|
|
/* 02C4AA38 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4AA3C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4AA3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4AA40 */ cpu->r[9] = cpu->r[4];
|
|
/* 02C4AA44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000003u);
|
|
/* 02C4AA48 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4AA48 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4AA4C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4AA50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4AA50 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4AA54 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4AA54 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4AA54 */ if (_t5) goto L_02C4AA58; else goto L_02C4AA6C;
|
|
L_02C4AA58: ; // 0x2c4aa58
|
|
/* 02C4AA58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 02C4AA5C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AA5C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4AA5C */ if (_t7) goto L_02C4AA84; else goto L_02C4AA60;
|
|
L_02C4AA60: ; // 0x2c4aa60
|
|
/* 02C4AA60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u);
|
|
/* 02C4AA64 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AA64 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4AA64 */ if (_t9) goto L_02C4AA98; else goto L_02C4AA68;
|
|
L_02C4AA68: ; // 0x2c4aa68
|
|
/* 02C4AA68 */ goto L_02C4AB24;
|
|
L_02C4AA6C: ; // 0x2c4aa6c
|
|
/* 02C4AA6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000004u);
|
|
/* 02C4AA70 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4AA70 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4AA70 */ if (_t11) goto L_02C4AAAC; else goto L_02C4AA74;
|
|
L_02C4AA74: ; // 0x2c4aa74
|
|
/* 02C4AA74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AA74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C4AA74 */ if (_t13) goto L_02C4AAF0; else goto L_02C4AA78;
|
|
L_02C4AA78: ; // 0x2c4aa78
|
|
/* 02C4AA78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000005u);
|
|
/* 02C4AA7C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AA7C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C4AA7C */ if (_t15) goto L_02C4AAC0; else goto L_02C4AA80;
|
|
L_02C4AA80: ; // 0x2c4aa80
|
|
/* 02C4AA80 */ goto L_02C4AB24;
|
|
L_02C4AA84: ; // 0x2c4aa84
|
|
/* 02C4AA84 */ _t16 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4AA84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4AA88 */ cpu->r[0] = cpu->r[10] + 0x00000001u;
|
|
/* 02C4AA8C */ _t17 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4AA8C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02C4AA90 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 02C4AA90 */ cpu->r[11] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C4AA94 */ goto L_02C4AB24;
|
|
L_02C4AA98: ; // 0x2c4aa98
|
|
/* 02C4AA98 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C4AA9C */ cpu->r[4] = cpu->r[9];
|
|
/* 02C4AAA0 */ Gambit_fn_02C4A9E0(cpu);
|
|
/* 02C4AAA4 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C4AAA8 */ goto L_02C4AB24;
|
|
L_02C4AAAC: ; // 0x2c4aaac
|
|
/* 02C4AAAC */ cpu->r[3] = cpu->r[8];
|
|
/* 02C4AAB0 */ cpu->r[4] = cpu->r[9];
|
|
/* 02C4AAB4 */ Gambit_fn_02C4AA08(cpu);
|
|
/* 02C4AAB8 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C4AABC */ goto L_02C4AB24;
|
|
L_02C4AAC0: ; // 0x2c4aac0
|
|
/* 02C4AAC0 */ _t19 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4AAC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4AAC4 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C4AAC8 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4AACC */ cpu->r[5] = cpu->r[6];
|
|
/* 02C4AAD0 */ _t20 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4AAD0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02C4AAD4 */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4AAD4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C4AAD8 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C4AADC */ Gambit_fn_02C4A9B4(cpu);
|
|
/* 02C4AAE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4AAE4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AAE4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C4AAE4 */ if (_t23) goto L_02C4AB24; else goto L_02C4AAE8;
|
|
L_02C4AAE8: ; // 0x2c4aae8
|
|
/* 02C4AAE8 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4AAE8 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t24);
|
|
/* 02C4AAEC */ goto L_02C4AB24;
|
|
L_02C4AAF0: ; // 0x2c4aaf0
|
|
/* 02C4AAF0 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C4AAF4 */ cpu->r[4] = cpu->r[9];
|
|
/* 02C4AAF8 */ Gambit_fn_02C4A9E0(cpu);
|
|
/* 02C4AAFC */ /* nop */
|
|
/* 02C4AB00 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C4AB04 */ Gambit_fn_02C4A9E0(cpu);
|
|
/* 02C4AB08 */ /* nop */
|
|
/* 02C4AB0C */ Gambit_fn_02C3022C(cpu);
|
|
/* 02C4AB10 */ cpu->r[7] = cpu->r[31] - cpu->r[30];
|
|
/* 02C4AB14 */ cpu->r[8] = cpu->r[7] + 0x00000001u;
|
|
/* 02C4AB18 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[8]);
|
|
/* 02C4AB1C */ /* nop */
|
|
/* 02C4AB20 */ cpu->r[11] = cpu->r[3] + cpu->r[30];
|
|
L_02C4AB24: ; // 0x2c4ab24
|
|
/* 02C4AB24 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4AB24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4AB28 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4AB28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4AB2C */ cpu->lr = cpu->r[0];
|
|
/* 02C4AB30 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4AB30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4AB34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4AB38 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C4AB3C */ return;
|
|
}
|
|
|
|
// fn_02C4AB40 @ 0x2c4ab40
|
|
void Gambit_fn_02C4AB40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4AB40: ; // 0x2c4ab40
|
|
/* 02C4AB40 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C4AB40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4AB44 */ cpu->r[12] = cpu->r[8] + 0x00000001u;
|
|
/* 02C4AB48 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02C4AB48 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02C4AB4C */ cpu->r[9] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4AB50 */ _t2 = cpu->r[8] + 0x00000000u;
|
|
/* 02C4AB50 */ cpu->r[10] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C4AB54 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
/* 02C4AB58 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02C4AB58 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02C4AB5C */ _t4 = cpu->r[8] + 0x00000001u;
|
|
/* 02C4AB5C */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C4AB60 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C4AB64 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02C4AB64 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02C4AB68 */ cpu->r[10] = cpu->r[10] | cpu->r[11];
|
|
/* 02C4AB6C */ _t6 = cpu->r[8] + 0x00000002u;
|
|
/* 02C4AB6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C4AB70 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C4AB74 */ cpu->r[3] = cpu->r[10] | cpu->r[0];
|
|
/* 02C4AB78 */ return;
|
|
}
|
|
|
|
// fn_02C4AB7C @ 0x2c4ab7c
|
|
void Gambit_fn_02C4AB7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200;
|
|
|
|
L_02C4AB7C: ; // 0x2c4ab7c
|
|
/* 02C4AB7C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C4AB7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4AB7C */ cpu->r[1] = _t0;
|
|
/* 02C4AB80 */ /* nop */
|
|
/* 02C4AB84 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4AB88 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4AB88 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4AB8C */ cpu->r[29] = cpu->r[4];
|
|
/* 02C4AB90 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C4AB94 */ _t2 = cpu->r[29] + 0x00000104u;
|
|
/* 02C4AB94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4AB98 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C4AB9C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C4ABA0 */ cpu->r[10] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4ABA4 */ cpu->r[27] = 0x00000001u;
|
|
/* 02C4ABA8 */ _t3 = cpu->r[29] + 0x00000104u;
|
|
/* 02C4ABA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C4ABAC */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4ABAC */ cpu->r[30] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C4ABB0 */ cpu->r[26] = cpu->r[29] + 0x00000100u;
|
|
/* 02C4ABB4 */ cpu->r[23] = cpu->r[5];
|
|
/* 02C4ABB8 */ cpu->r[11] = cpu->r[5];
|
|
/* 02C4ABBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A2u);
|
|
/* 02C4ABC0 */ _t5 = cpu->r[29] + 0x00000214u;
|
|
/* 02C4ABC0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4ABC4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ABC4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4ABC4 */ if (_t7) goto L_02C4ABC8; else goto L_02C4ABDC;
|
|
L_02C4ABC8: ; // 0x2c4abc8
|
|
/* 02C4ABC8 */ _t8 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4ABC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4ABCC */ _t9 = cpu->r[26] + 0x00000008u;
|
|
/* 02C4ABCC */ cpu->r[27] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C4ABD0 */ cpu->r[6] = cpu->r[8] + 0x00000001u;
|
|
/* 02C4ABD4 */ _t10 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4ABD4 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 02C4ABD8 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 02C4ABD8 */ cpu->r[30] = rbrew_read8(cpu->mem, _t11);
|
|
L_02C4ABDC: ; // 0x2c4abdc
|
|
/* 02C4ABDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A3u);
|
|
/* 02C4ABE0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ABE0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C4ABE0 */ if (_t13) goto L_02C4ABE4; else goto L_02C4AC04;
|
|
L_02C4ABE4: ; // 0x2c4abe4
|
|
/* 02C4ABE4 */ _t14 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4ABE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4ABE8 */ cpu->r[10] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4ABEC */ _t15 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4ABEC */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02C4ABF0 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4ABF0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C4ABF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A0u);
|
|
/* 02C4ABF8 */ cpu->r[23] = 0x00000002u;
|
|
/* 02C4ABFC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ABFC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4ABFC */ if (_t18) goto L_02C4AC00; else goto L_02C4AC6C;
|
|
L_02C4AC00: ; // 0x2c4ac00
|
|
/* 02C4AC00 */ goto L_02C4AC50;
|
|
L_02C4AC04: ; // 0x2c4ac04
|
|
/* 02C4AC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A4u);
|
|
/* 02C4AC08 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AC08 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4AC08 */ if (_t20) goto L_02C4AC0C; else goto L_02C4AC2C;
|
|
L_02C4AC0C: ; // 0x2c4ac0c
|
|
/* 02C4AC0C */ _t21 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C4AC10 */ cpu->r[7] = cpu->r[9] + 0x00000001u;
|
|
/* 02C4AC14 */ _t22 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC14 */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 02C4AC18 */ _t23 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4AC18 */ cpu->r[30] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C4AC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A0u);
|
|
/* 02C4AC20 */ cpu->r[23] = 0x00000004u;
|
|
/* 02C4AC24 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AC24 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C4AC24 */ if (_t25) goto L_02C4AC28; else goto L_02C4AC6C;
|
|
L_02C4AC28: ; // 0x2c4ac28
|
|
/* 02C4AC28 */ goto L_02C4AC50;
|
|
L_02C4AC2C: ; // 0x2c4ac2c
|
|
/* 02C4AC2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A5u);
|
|
/* 02C4AC30 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AC30 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C4AC30 */ if (_t27) goto L_02C4AC34; else goto L_02C4AC48;
|
|
L_02C4AC34: ; // 0x2c4ac34
|
|
/* 02C4AC34 */ _t28 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C4AC38 */ cpu->r[10] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4AC3C */ _t29 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC3C */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
|
|
/* 02C4AC40 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4AC40 */ cpu->r[30] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02C4AC44 */ cpu->r[23] = 0x00000005u;
|
|
L_02C4AC48: ; // 0x2c4ac48
|
|
/* 02C4AC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A0u);
|
|
/* 02C4AC4C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AC4C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C4AC4C */ if (_t32) goto L_02C4AC50; else goto L_02C4AC6C;
|
|
L_02C4AC50: ; // 0x2c4ac50
|
|
/* 02C4AC50 */ _t33 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C4AC54 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C4AC58 */ cpu->r[7] = cpu->r[9] + 0x00000001u;
|
|
/* 02C4AC5C */ cpu->r[11] = 0x00000001u;
|
|
/* 02C4AC60 */ _t34 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC60 */ rbrew_write32(cpu->mem, _t34, cpu->r[7]);
|
|
/* 02C4AC64 */ _t35 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4AC64 */ cpu->r[30] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02C4AC68 */ goto L_02C4AC8C;
|
|
L_02C4AC6C: ; // 0x2c4ac6c
|
|
/* 02C4AC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A1u);
|
|
/* 02C4AC70 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AC70 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C4AC70 */ if (_t37) goto L_02C4AC74; else goto L_02C4AC8C;
|
|
L_02C4AC74: ; // 0x2c4ac74
|
|
/* 02C4AC74 */ _t38 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C4AC78 */ cpu->r[12] = cpu->r[7] + 0x00000001u;
|
|
/* 02C4AC7C */ cpu->r[5] = 0x00000005u;
|
|
/* 02C4AC80 */ _t39 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC80 */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 02C4AC84 */ _t40 = cpu->r[7] + 0x00000000u;
|
|
/* 02C4AC84 */ cpu->r[30] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C4AC88 */ cpu->r[11] = 0x00000001u;
|
|
L_02C4AC8C: ; // 0x2c4ac8c
|
|
/* 02C4AC8C */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x00000018u);
|
|
/* 02C4AC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4AC90 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AC90 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C4AC90 */ if (_t42) goto L_02C4AC94; else goto L_02C4AD70;
|
|
L_02C4AC94: ; // 0x2c4ac94
|
|
/* 02C4AC94 */ _t43 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C4AC98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4AC9C */ cpu->r[0] = cpu->r[10] + 0x00000001u;
|
|
/* 02C4ACA0 */ cpu->r[7] = 0x00000003u;
|
|
/* 02C4ACA4 */ _t44 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4ACA4 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02C4ACA8 */ _t45 = cpu->r[10] + 0x00000000u;
|
|
/* 02C4ACA8 */ cpu->r[25] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02C4ACAC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ACAC */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C4ACAC */ if (_t47) goto L_02C4ACB4; else goto L_02C4ACB0;
|
|
L_02C4ACB0: ; // 0x2c4acb0
|
|
/* 02C4ACB0 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4ACB4: ; // 0x2c4acb4
|
|
/* 02C4ACB4 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4ACB8 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4ACBC */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4ACC0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4ACC4 */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4ACC8 */ _t48 = cpu->r[26] + 0x000000D8u;
|
|
/* 02C4ACC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02C4ACCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4ACD0 */ /* nop */
|
|
/* 02C4ACD4 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C4ACD8 */ cpu->r[5] = cpu->r[30] + cpu->r[0];
|
|
/* 02C4ACDC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ACDC */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C4ACDC */ if (_t50) goto L_02C4B278; else goto L_02C4ACE0;
|
|
L_02C4ACE0: ; // 0x2c4ace0
|
|
/* 02C4ACE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000007Fu);
|
|
/* 02C4ACE4 */ cpu->r[11] = 0x0000007Fu;
|
|
/* 02C4ACE8 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4ACE8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C4ACE8 */ if (_t52) goto L_02C4ACFC; else goto L_02C4ACEC;
|
|
L_02C4ACEC: ; // 0x2c4acec
|
|
/* 02C4ACEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4ACF0 */ cpu->r[11] = cpu->r[5];
|
|
/* 02C4ACF4 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4ACF4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C4ACF4 */ if (_t54) goto L_02C4ACF8; else goto L_02C4ACFC;
|
|
L_02C4ACF8: ; // 0x2c4acf8
|
|
/* 02C4ACF8 */ cpu->r[11] = 0x00000000u;
|
|
L_02C4ACFC: ; // 0x2c4acfc
|
|
/* 02C4ACFC */ _t55 = cpu->r[26] + 0x0000005Eu;
|
|
/* 02C4ACFC */ cpu->r[5] = rbrew_read8(cpu->mem, _t55);
|
|
/* 02C4AD00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4AD04 */ cpu->r[5] = cpu->r[11];
|
|
/* 02C4AD08 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD08 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C4AD08 */ if (_t57) goto L_02C4AD0C; else goto L_02C4AD48;
|
|
L_02C4AD0C: ; // 0x2c4ad0c
|
|
/* 02C4AD0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4AD10 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD10 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C4AD10 */ if (_t59) goto L_02C4AD48; else goto L_02C4AD14;
|
|
L_02C4AD14: ; // 0x2c4ad14
|
|
/* 02C4AD14 */ _t60 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4AD14 */ cpu->r[6] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C4AD18 */ cpu->r[7] = cpu->r[27];
|
|
/* 02C4AD1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AD20 */ cpu->r[12] = cpu->r[6] + 0x00000018u;
|
|
/* 02C4AD24 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4AD24 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C4AD24 */ if (_t62) goto L_02C4AD2C; else goto L_02C4AD28;
|
|
L_02C4AD28: ; // 0x2c4ad28
|
|
/* 02C4AD28 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
L_02C4AD2C: ; // 0x2c4ad2c
|
|
/* 02C4AD2C */ _t63 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4AD2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C4AD30 */ cpu->ctr = cpu->r[8];
|
|
/* 02C4AD34 */ _t64 = cpu->r[26] + 0x0000000Au;
|
|
/* 02C4AD34 */ cpu->r[8] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02C4AD38 */ cpu->r[6] = cpu->r[25];
|
|
/* 02C4AD3C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4AD40 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AD44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4AD48: ; // 0x2c4ad48
|
|
/* 02C4AD48 */ _t65 = cpu->r[26] + 0x00000009u;
|
|
/* 02C4AD48 */ cpu->r[9] = rbrew_read8(cpu->mem, _t65);
|
|
/* 02C4AD4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C4AD50 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD50 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C4AD50 */ if (_t67) goto L_02C4B278; else goto L_02C4AD54;
|
|
L_02C4AD54: ; // 0x2c4ad54
|
|
/* 02C4AD54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AD58 */ _t68 = cpu->r[26] + 0x00000060u;
|
|
/* 02C4AD58 */ rbrew_write32(cpu->mem, _t68, cpu->r[27]);
|
|
/* 02C4AD5C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD5C */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C4AD5C */ if (_t70) goto L_02C4AD60; else goto L_02C4B278;
|
|
L_02C4AD60: ; // 0x2c4ad60
|
|
/* 02C4AD60 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C4AD64 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AD68 */ _t71 = cpu->r[26] + 0x00000064u;
|
|
/* 02C4AD68 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[10]);
|
|
/* 02C4AD6C */ goto L_02C4B27C;
|
|
L_02C4AD70: ; // 0x2c4ad70
|
|
/* 02C4AD70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C4AD74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000C0u);
|
|
/* 02C4AD78 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C4AD7C */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4AD7C */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C4AD7C */ if (_t73) goto L_02C4AD80; else goto L_02C4ADA0;
|
|
L_02C4AD80: ; // 0x2c4ad80
|
|
/* 02C4AD80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000080u);
|
|
/* 02C4AD84 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD84 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C4AD84 */ if (_t75) goto L_02C4ADC8; else goto L_02C4AD88;
|
|
L_02C4AD88: ; // 0x2c4ad88
|
|
/* 02C4AD88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000090u);
|
|
/* 02C4AD8C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD8C */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C4AD8C */ if (_t77) goto L_02C4B000; else goto L_02C4AD90;
|
|
L_02C4AD90: ; // 0x2c4ad90
|
|
/* 02C4AD90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000B0u);
|
|
/* 02C4AD94 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD94 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C4AD94 */ if (_t79) goto L_02C4AF64; else goto L_02C4AD98;
|
|
L_02C4AD98: ; // 0x2c4ad98
|
|
/* 02C4AD98 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AD9C */ goto L_02C4B27C;
|
|
L_02C4ADA0: ; // 0x2c4ada0
|
|
/* 02C4ADA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000C0u);
|
|
/* 02C4ADA4 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADA4 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02C4ADA4 */ if (_t81) goto L_02C4AF64; else goto L_02C4ADA8;
|
|
L_02C4ADA8: ; // 0x2c4ada8
|
|
/* 02C4ADA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000D0u);
|
|
/* 02C4ADAC */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADAC */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C4ADAC */ if (_t83) goto L_02C4AF64; else goto L_02C4ADB0;
|
|
L_02C4ADB0: ; // 0x2c4adb0
|
|
/* 02C4ADB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000E0u);
|
|
/* 02C4ADB4 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADB4 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02C4ADB4 */ if (_t85) goto L_02C4B034; else goto L_02C4ADB8;
|
|
L_02C4ADB8: ; // 0x2c4adb8
|
|
/* 02C4ADB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000F0u);
|
|
/* 02C4ADBC */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADBC */ _t87 = _t86 & 0x00000001u;
|
|
/* 02C4ADBC */ if (_t87) goto L_02C4B090; else goto L_02C4ADC0;
|
|
L_02C4ADC0: ; // 0x2c4adc0
|
|
/* 02C4ADC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4ADC4 */ goto L_02C4B27C;
|
|
L_02C4ADC8: ; // 0x2c4adc8
|
|
/* 02C4ADC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000088u);
|
|
/* 02C4ADCC */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4ADCC */ _t89 = _t88 & 0x00000001u;
|
|
/* 02C4ADCC */ if (_t89) goto L_02C4ADD0; else goto L_02C4ADE8;
|
|
L_02C4ADD0: ; // 0x2c4add0
|
|
/* 02C4ADD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000080u);
|
|
/* 02C4ADD4 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADD4 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02C4ADD4 */ if (_t91) goto L_02C4AE04; else goto L_02C4ADD8;
|
|
L_02C4ADD8: ; // 0x2c4add8
|
|
/* 02C4ADD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000081u);
|
|
/* 02C4ADDC */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADDC */ _t93 = _t92 & 0x00000001u;
|
|
/* 02C4ADDC */ if (_t93) goto L_02C4AE3C; else goto L_02C4ADE0;
|
|
L_02C4ADE0: ; // 0x2c4ade0
|
|
/* 02C4ADE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4ADE4 */ goto L_02C4B27C;
|
|
L_02C4ADE8: ; // 0x2c4ade8
|
|
/* 02C4ADE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000089u);
|
|
/* 02C4ADEC */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4ADEC */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C4ADEC */ if (_t95) goto L_02C4AE98; else goto L_02C4ADF0;
|
|
L_02C4ADF0: ; // 0x2c4adf0
|
|
/* 02C4ADF0 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADF0 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C4ADF0 */ if (_t97) goto L_02C4AEE4; else goto L_02C4ADF4;
|
|
L_02C4ADF4: ; // 0x2c4adf4
|
|
/* 02C4ADF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x0000008Au);
|
|
/* 02C4ADF8 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADF8 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02C4ADF8 */ if (_t99) goto L_02C4AF24; else goto L_02C4ADFC;
|
|
L_02C4ADFC: ; // 0x2c4adfc
|
|
/* 02C4ADFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AE00 */ goto L_02C4B27C;
|
|
L_02C4AE04: ; // 0x2c4ae04
|
|
/* 02C4AE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4AE08 */ cpu->r[7] = 0x00000003u;
|
|
/* 02C4AE0C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AE0C */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C4AE0C */ if (_t101) goto L_02C4AE14; else goto L_02C4AE10;
|
|
L_02C4AE10: ; // 0x2c4ae10
|
|
/* 02C4AE10 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4AE14: ; // 0x2c4ae14
|
|
/* 02C4AE14 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4AE18 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4AE1C */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AE20 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AE24 */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4AE28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AE2C */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AE2C */ _t103 = _t102 & 0x00000001u;
|
|
/* 02C4AE2C */ if (_t103) goto L_02C4B278; else goto L_02C4AE30;
|
|
L_02C4AE30: ; // 0x2c4ae30
|
|
/* 02C4AE30 */ _t104 = cpu->r[26] + 0x00000060u;
|
|
/* 02C4AE30 */ rbrew_write32(cpu->mem, _t104, cpu->r[3]);
|
|
/* 02C4AE34 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AE38 */ goto L_02C4B27C;
|
|
L_02C4AE3C: ; // 0x2c4ae3c
|
|
/* 02C4AE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4AE40 */ cpu->r[7] = 0x00000003u;
|
|
/* 02C4AE44 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AE44 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C4AE44 */ if (_t106) goto L_02C4AE4C; else goto L_02C4AE48;
|
|
L_02C4AE48: ; // 0x2c4ae48
|
|
/* 02C4AE48 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4AE4C: ; // 0x2c4ae4c
|
|
/* 02C4AE4C */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4AE50 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4AE54 */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AE58 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AE5C */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4AE60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AE64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4AE68 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AE68 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02C4AE68 */ if (_t108) goto L_02C4B278; else goto L_02C4AE6C;
|
|
L_02C4AE6C: ; // 0x2c4ae6c
|
|
/* 02C4AE6C */ _t109 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4AE6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C4AE70 */ _t110 = cpu->r[12] + 0x00000014u;
|
|
/* 02C4AE70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C4AE74 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4AE78 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4AE7C */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4AE80 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4AE84 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AE88 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4AE8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4AE90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AE94 */ goto L_02C4B27C;
|
|
L_02C4AE98: ; // 0x2c4ae98
|
|
/* 02C4AE98 */ _t111 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AE98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02C4AE9C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AEA0 */ cpu->r[6] = cpu->r[7] + 0x00000001u;
|
|
/* 02C4AEA4 */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AEA8 */ _t112 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AEA8 */ rbrew_write32(cpu->mem, _t112, cpu->r[6]);
|
|
/* 02C4AEAC */ _t113 = cpu->r[7] + 0x00000000u;
|
|
/* 02C4AEAC */ cpu->r[6] = rbrew_read8(cpu->mem, _t113);
|
|
/* 02C4AEB0 */ Gambit_fn_02C4AB40(cpu);
|
|
/* 02C4AEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AEB8 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C4AEBC */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AEBC */ _t115 = _t114 & 0x00000001u;
|
|
/* 02C4AEBC */ if (_t115) goto L_02C4B278; else goto L_02C4AEC0;
|
|
L_02C4AEC0: ; // 0x2c4aec0
|
|
/* 02C4AEC0 */ _t116 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4AEC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02C4AEC4 */ _t117 = cpu->r[8] + 0x00000014u;
|
|
/* 02C4AEC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02C4AEC8 */ cpu->ctr = cpu->r[9];
|
|
/* 02C4AECC */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4AED0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4AED4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4AEDC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AEE0 */ goto L_02C4B27C;
|
|
L_02C4AEE4: ; // 0x2c4aee4
|
|
/* 02C4AEE4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AEE8 */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AEEC */ Gambit_fn_02C4AB40(cpu);
|
|
/* 02C4AEF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AEF4 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C4AEF8 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AEF8 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02C4AEF8 */ if (_t119) goto L_02C4B278; else goto L_02C4AEFC;
|
|
L_02C4AEFC: ; // 0x2c4aefc
|
|
/* 02C4AEFC */ _t120 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4AEFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02C4AF00 */ _t121 = cpu->r[10] + 0x00000014u;
|
|
/* 02C4AF00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02C4AF04 */ cpu->ctr = cpu->r[11];
|
|
/* 02C4AF08 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4AF0C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4AF10 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AF14 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4AF18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4AF1C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AF20 */ goto L_02C4B27C;
|
|
L_02C4AF24: ; // 0x2c4af24
|
|
/* 02C4AF24 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AF28 */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AF2C */ Gambit_fn_02C4AB40(cpu);
|
|
/* 02C4AF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AF34 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C4AF38 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AF38 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02C4AF38 */ if (_t123) goto L_02C4B278; else goto L_02C4AF3C;
|
|
L_02C4AF3C: ; // 0x2c4af3c
|
|
/* 02C4AF3C */ _t124 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4AF3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02C4AF40 */ _t125 = cpu->r[12] + 0x00000014u;
|
|
/* 02C4AF40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02C4AF44 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4AF48 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4AF4C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4AF50 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AF54 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4AF58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4AF5C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AF60 */ goto L_02C4B27C;
|
|
L_02C4AF64: ; // 0x2c4af64
|
|
/* 02C4AF64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4AF68 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C4AF6C */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AF6C */ _t127 = _t126 & 0x00000001u;
|
|
/* 02C4AF6C */ if (_t127) goto L_02C4AF74; else goto L_02C4AF70;
|
|
L_02C4AF70: ; // 0x2c4af70
|
|
/* 02C4AF70 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4AF74: ; // 0x2c4af74
|
|
/* 02C4AF74 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4AF78 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4AF7C */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AF80 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AF84 */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4AF88 */ cpu->r[31] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4AF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C4AF90 */ _t128 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4AF90 */ rbrew_write8(cpu->mem, _t128, (uint8_t)cpu->r[31]);
|
|
/* 02C4AF94 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AF94 */ _t130 = _t129 & 0x00000001u;
|
|
/* 02C4AF94 */ if (_t130) goto L_02C4AFB4; else goto L_02C4AF98;
|
|
L_02C4AF98: ; // 0x2c4af98
|
|
/* 02C4AF98 */ cpu->r[7] = cpu->r[23];
|
|
/* 02C4AF9C */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4AFA0 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4AFA4 */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AFA8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AFAC */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4AFB0 */ cpu->r[25] = cpu->r[3];
|
|
L_02C4AFB4: ; // 0x2c4afb4
|
|
/* 02C4AFB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AFB8 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AFB8 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02C4AFB8 */ if (_t132) goto L_02C4B278; else goto L_02C4AFBC;
|
|
L_02C4AFBC: ; // 0x2c4afbc
|
|
/* 02C4AFBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000C3u);
|
|
/* 02C4AFC0 */ _t133 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4AFC0 */ _t134 = _t133 & 0x00000001u;
|
|
/* 02C4AFC0 */ if (_t134) goto L_02C4AFD4; else goto L_02C4AFC4;
|
|
L_02C4AFC4: ; // 0x2c4afc4
|
|
/* 02C4AFC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000C4u);
|
|
/* 02C4AFC8 */ _t135 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4AFC8 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02C4AFC8 */ if (_t136) goto L_02C4AFD4; else goto L_02C4AFCC;
|
|
L_02C4AFCC: ; // 0x2c4afcc
|
|
/* 02C4AFCC */ _t137 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4AFCC */ cpu->r[31] = rbrew_read8(cpu->mem, _t137);
|
|
/* 02C4AFD0 */ /* nop */
|
|
L_02C4AFD4: ; // 0x2c4afd4
|
|
/* 02C4AFD4 */ _t138 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4AFD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02C4AFD8 */ _t139 = cpu->r[7] + 0x00000014u;
|
|
/* 02C4AFD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02C4AFDC */ cpu->ctr = cpu->r[8];
|
|
/* 02C4AFE0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4AFE4 */ cpu->r[7] = cpu->r[25];
|
|
/* 02C4AFE8 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4AFEC */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AFF0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4AFF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4AFF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AFFC */ goto L_02C4B27C;
|
|
L_02C4B000: ; // 0x2c4b000
|
|
/* 02C4B000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B004 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B004 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02C4B004 */ if (_t141) goto L_02C4B278; else goto L_02C4B008;
|
|
L_02C4B008: ; // 0x2c4b008
|
|
/* 02C4B008 */ _t142 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4B008 */ cpu->r[9] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02C4B00C */ _t143 = cpu->r[9] + 0x00000014u;
|
|
/* 02C4B00C */ cpu->r[10] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02C4B010 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4B014 */ cpu->ctr = cpu->r[10];
|
|
/* 02C4B018 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4B01C */ cpu->r[7] = cpu->r[6];
|
|
/* 02C4B020 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4B024 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B028 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4B02C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B030 */ goto L_02C4B27C;
|
|
L_02C4B034: ; // 0x2c4b034
|
|
/* 02C4B034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4B038 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C4B03C */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B03C */ _t145 = _t144 & 0x00000001u;
|
|
/* 02C4B03C */ if (_t145) goto L_02C4B044; else goto L_02C4B040;
|
|
L_02C4B040: ; // 0x2c4b040
|
|
/* 02C4B040 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4B044: ; // 0x2c4b044
|
|
/* 02C4B044 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4B048 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4B04C */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B050 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B054 */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4B058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B05C */ /* nop */
|
|
/* 02C4B060 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B060 */ _t147 = _t146 & 0x00000001u;
|
|
/* 02C4B060 */ if (_t147) goto L_02C4B278; else goto L_02C4B064;
|
|
L_02C4B064: ; // 0x2c4b064
|
|
/* 02C4B064 */ _t148 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4B064 */ cpu->r[11] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02C4B068 */ _t149 = cpu->r[11] + 0x00000014u;
|
|
/* 02C4B068 */ cpu->r[12] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02C4B06C */ cpu->ctr = cpu->r[12];
|
|
/* 02C4B070 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4B074 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4B078 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4B07C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B080 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4B084 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4B088 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B08C */ goto L_02C4B27C;
|
|
L_02C4B090: ; // 0x2c4b090
|
|
/* 02C4B090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000F0u);
|
|
/* 02C4B094 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B094 */ _t151 = _t150 & 0x00000001u;
|
|
/* 02C4B094 */ if (_t151) goto L_02C4B0E8; else goto L_02C4B098;
|
|
L_02C4B098: ; // 0x2c4b098
|
|
/* 02C4B098 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000FEu);
|
|
/* 02C4B09C */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B09C */ _t153 = _t152 & 0x00000001u;
|
|
/* 02C4B09C */ if (_t153) goto L_02C4B0B4; else goto L_02C4B0A0;
|
|
L_02C4B0A0: ; // 0x2c4b0a0
|
|
/* 02C4B0A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000FFu);
|
|
/* 02C4B0A4 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B0A4 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02C4B0A4 */ if (_t155) goto L_02C4B0C8; else goto L_02C4B0A8;
|
|
L_02C4B0A8: ; // 0x2c4b0a8
|
|
/* 02C4B0A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B0AC */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B0AC */ _t157 = _t156 & 0x00000001u;
|
|
/* 02C4B0AC */ if (_t157) goto L_02C4B278; else goto L_02C4B0B0;
|
|
L_02C4B0B0: ; // 0x2c4b0b0
|
|
/* 02C4B0B0 */ goto L_02C4B254;
|
|
L_02C4B0B4: ; // 0x2c4b0b4
|
|
/* 02C4B0B4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B0B8 */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B0BC */ Gambit_fn_02C4A9E0(cpu);
|
|
/* 02C4B0C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B0C4 */ goto L_02C4B27C;
|
|
L_02C4B0C8: ; // 0x2c4b0c8
|
|
/* 02C4B0C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B0CC */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B0CC */ _t159 = _t158 & 0x00000001u;
|
|
/* 02C4B0CC */ if (_t159) goto L_02C4B278; else goto L_02C4B0D0;
|
|
L_02C4B0D0: ; // 0x2c4b0d0
|
|
/* 02C4B0D0 */ /* nop */
|
|
/* 02C4B0D4 */ _t160 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4B0D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02C4B0D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4B0DC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C4B0E0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C4B0E4 */ return;
|
|
L_02C4B0E8: ; // 0x2c4b0e8
|
|
/* 02C4B0E8 */ _t161 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B0E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02C4B0EC */ cpu->r[0] = cpu->r[6] + 0x00000001u;
|
|
/* 02C4B0F0 */ _t162 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B0F0 */ rbrew_write32(cpu->mem, _t162, cpu->r[0]);
|
|
/* 02C4B0F4 */ _t163 = cpu->r[6] + 0x00000000u;
|
|
/* 02C4B0F4 */ cpu->r[23] = rbrew_read8(cpu->mem, _t163);
|
|
/* 02C4B0F8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[23], 0x00000000u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C4B0FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000000A0u);
|
|
/* 02C4B100 */ _t164 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B100 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02C4B100 */ if (_t165) goto L_02C4B104; else goto L_02C4B11C;
|
|
L_02C4B104: ; // 0x2c4b104
|
|
/* 02C4B104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000080u);
|
|
/* 02C4B108 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B108 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02C4B108 */ if (_t167) goto L_02C4B1E4; else goto L_02C4B10C;
|
|
L_02C4B10C: ; // 0x2c4b10c
|
|
/* 02C4B10C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000090u);
|
|
/* 02C4B110 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B110 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02C4B110 */ if (_t169) goto L_02C4B1E4; else goto L_02C4B114;
|
|
L_02C4B114: ; // 0x2c4b114
|
|
/* 02C4B114 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B118 */ goto L_02C4B27C;
|
|
L_02C4B11C: ; // 0x2c4b11c
|
|
/* 02C4B11C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000000A0u);
|
|
/* 02C4B120 */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B120 */ _t171 = _t170 & 0x00000001u;
|
|
/* 02C4B120 */ if (_t171) goto L_02C4B13C; else goto L_02C4B124;
|
|
L_02C4B124: ; // 0x2c4b124
|
|
/* 02C4B124 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000000B0u);
|
|
/* 02C4B128 */ _t172 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B128 */ _t173 = _t172 & 0x00000001u;
|
|
/* 02C4B128 */ if (_t173) goto L_02C4B13C; else goto L_02C4B12C;
|
|
L_02C4B12C: ; // 0x2c4b12c
|
|
/* 02C4B12C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000000E0u);
|
|
/* 02C4B130 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B130 */ _t175 = _t174 & 0x00000001u;
|
|
/* 02C4B130 */ if (_t175) goto L_02C4B184; else goto L_02C4B134;
|
|
L_02C4B134: ; // 0x2c4b134
|
|
/* 02C4B134 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B138 */ goto L_02C4B27C;
|
|
L_02C4B13C: ; // 0x2c4b13c
|
|
/* 02C4B13C */ _t176 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B13C */ cpu->r[9] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02C4B140 */ cpu->r[0] = cpu->r[9] + 0x00000001u;
|
|
/* 02C4B144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B148 */ _t177 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B148 */ rbrew_write32(cpu->mem, _t177, cpu->r[0]);
|
|
/* 02C4B14C */ _t178 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4B14C */ cpu->r[31] = rbrew_read8(cpu->mem, _t178);
|
|
/* 02C4B150 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B150 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02C4B150 */ if (_t180) goto L_02C4B278; else goto L_02C4B154;
|
|
L_02C4B154: ; // 0x2c4b154
|
|
/* 02C4B154 */ _t181 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4B154 */ cpu->r[11] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02C4B158 */ _t182 = cpu->r[11] + 0x00000014u;
|
|
/* 02C4B158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02C4B15C */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C4B160 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4B164 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4B168 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4B16C */ cpu->r[5] = cpu->r[5] + cpu->r[23];
|
|
/* 02C4B170 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4B174 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B178 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4B17C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B180 */ goto L_02C4B27C;
|
|
L_02C4B184: ; // 0x2c4b184
|
|
/* 02C4B184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4B188 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C4B18C */ _t183 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B18C */ _t184 = _t183 & 0x00000001u;
|
|
/* 02C4B18C */ if (_t184) goto L_02C4B194; else goto L_02C4B190;
|
|
L_02C4B190: ; // 0x2c4b190
|
|
/* 02C4B190 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4B194: ; // 0x2c4b194
|
|
/* 02C4B194 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4B198 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4B19C */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B1A0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B1A4 */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4B1A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B1AC */ cpu->r[31] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C4B1B0 */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B1B0 */ _t186 = _t185 & 0x00000001u;
|
|
/* 02C4B1B0 */ if (_t186) goto L_02C4B278; else goto L_02C4B1B4;
|
|
L_02C4B1B4: ; // 0x2c4b1b4
|
|
/* 02C4B1B4 */ _t187 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4B1B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02C4B1B8 */ _t188 = cpu->r[7] + 0x00000014u;
|
|
/* 02C4B1B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02C4B1BC */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C4B1C0 */ cpu->ctr = cpu->r[9];
|
|
/* 02C4B1C4 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4B1C8 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4B1CC */ cpu->r[5] = cpu->r[11] + cpu->r[23];
|
|
/* 02C4B1D0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4B1D4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B1D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4B1DC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B1E0 */ goto L_02C4B27C;
|
|
L_02C4B1E4: ; // 0x2c4b1e4
|
|
/* 02C4B1E4 */ _t189 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B1E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02C4B1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4B1EC */ cpu->r[0] = cpu->r[8] + 0x00000001u;
|
|
/* 02C4B1F0 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C4B1F4 */ _t190 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B1F4 */ rbrew_write32(cpu->mem, _t190, cpu->r[0]);
|
|
/* 02C4B1F8 */ _t191 = cpu->r[8] + 0x00000000u;
|
|
/* 02C4B1F8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t191);
|
|
/* 02C4B1FC */ _t192 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B1FC */ _t193 = _t192 & 0x00000001u;
|
|
/* 02C4B1FC */ if (_t193) goto L_02C4B204; else goto L_02C4B200;
|
|
L_02C4B200: ; // 0x2c4b200
|
|
/* 02C4B200 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4B204: ; // 0x2c4b204
|
|
/* 02C4B204 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4B208 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4B20C */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B210 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B214 */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4B218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B21C */ /* nop */
|
|
/* 02C4B220 */ _t194 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B220 */ _t195 = _t194 & 0x00000001u;
|
|
/* 02C4B220 */ if (_t195) goto L_02C4B278; else goto L_02C4B224;
|
|
L_02C4B224: ; // 0x2c4b224
|
|
/* 02C4B224 */ _t196 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4B224 */ cpu->r[11] = rbrew_read32(cpu->mem, _t196);
|
|
/* 02C4B228 */ _t197 = cpu->r[11] + 0x00000014u;
|
|
/* 02C4B228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t197);
|
|
/* 02C4B22C */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C4B230 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4B234 */ cpu->r[7] = cpu->r[25];
|
|
/* 02C4B238 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4B23C */ cpu->r[5] = cpu->r[8] + cpu->r[23];
|
|
/* 02C4B240 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4B244 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B248 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4B24C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B250 */ goto L_02C4B27C;
|
|
L_02C4B254: ; // 0x2c4b254
|
|
/* 02C4B254 */ _t198 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4B254 */ cpu->r[10] = rbrew_read32(cpu->mem, _t198);
|
|
/* 02C4B258 */ _t199 = cpu->r[10] + 0x00000014u;
|
|
/* 02C4B258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t199);
|
|
/* 02C4B25C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4B260 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4B264 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4B268 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C4B26C */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4B270 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B274 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4B278: ; // 0x2c4b278
|
|
/* 02C4B278 */ cpu->r[3] = 0x00000000u;
|
|
L_02C4B27C: ; // 0x2c4b27c
|
|
/* 02C4B27C */ /* nop */
|
|
/* 02C4B280 */ _t200 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4B280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02C4B284 */ cpu->lr = cpu->r[0];
|
|
/* 02C4B288 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C4B28C */ return;
|
|
}
|
|
|
|
// fn_02C4B290 @ 0x2c4b290
|
|
void Gambit_fn_02C4B290(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4B290: ; // 0x2c4b290
|
|
/* 02C4B290 */ _t0 = cpu->r[3] + cpu->r[4];
|
|
/* 02C4B290 */ cpu->r[9] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C4B294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x000000FEu);
|
|
/* 02C4B298 */ cpu->r[10] = cpu->r[3] + cpu->r[4];
|
|
/* 02C4B29C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B29C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4B29C */ if (_t2) goto L_02C4B2B0; else goto L_02C4B2A0;
|
|
L_02C4B2A0: ; // 0x2c4b2a0
|
|
/* 02C4B2A0 */ cpu->r[11] = 0x00000001u;
|
|
/* 02C4B2A4 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C4B2A8 */ _t3 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4B2A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02C4B2AC */ return;
|
|
L_02C4B2B0: ; // 0x2c4b2b0
|
|
/* 02C4B2B0 */ _t4 = cpu->r[10] + 0x00000001u;
|
|
/* 02C4B2B0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C4B2B0 */ cpu->r[10] = _t4;
|
|
/* 02C4B2B4 */ _t5 = cpu->r[10] + 0x00000001u;
|
|
/* 02C4B2B4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C4B2B8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C4B2BC */ cpu->r[12] = cpu->r[12] | cpu->r[0];
|
|
/* 02C4B2C0 */ cpu->r[12] = cpu->r[12] | 0x00000001u;
|
|
/* 02C4B2C4 */ cpu->r[3] = cpu->r[4] + 0x00000003u;
|
|
/* 02C4B2C8 */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4B2C8 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02C4B2CC */ return;
|
|
}
|
|
|
|
// fn_02C4B2D0 @ 0x2c4b2d0
|
|
void Gambit_fn_02C4B2D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161;
|
|
|
|
L_02C4B2D0: ; // 0x2c4b2d0
|
|
/* 02C4B2D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4B2D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C4B2D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4B2D4 */ cpu->r[1] = _t0;
|
|
/* 02C4B2D8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4B2D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C4B2DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4B2DC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C4B2E0 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4B2E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C4B2E4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4B2E8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4B2E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C4B2EC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C4B2F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x000000FFu);
|
|
/* 02C4B2F4 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C4B2F8 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4B2F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C4B2FC */ cpu->r[29] = cpu->r[4];
|
|
/* 02C4B300 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4B304 */ _t6 = cpu->r[9] + 0xFFFFD24Cu;
|
|
/* 02C4B304 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C4B308 */ cpu->r[30] = cpu->r[29] + 0x00000100u;
|
|
/* 02C4B30C */ _t7 = cpu->r[29] + 0x00000214u;
|
|
/* 02C4B30C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4B310 */ cpu->r[31] = cpu->r[7];
|
|
/* 02C4B314 */ _t8 = cpu->r[12] + 0xFFFFD28Cu;
|
|
/* 02C4B314 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C4B318 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C4B31C */ _t9 = cpu->r[10] + 0xFFFFCFB4u;
|
|
/* 02C4B31C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C4B320 */ cpu->r[4] = cpu->r[8] + 0x000001ACu;
|
|
/* 02C4B324 */ _t10 = cpu->r[7] + 0xFFFFCFC0u;
|
|
/* 02C4B324 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C4B328 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4B328 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4B328 */ if (_t12) goto L_02C4C254; else goto L_02C4B32C;
|
|
L_02C4B32C: ; // 0x2c4b32c
|
|
/* 02C4B32C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x000000B0u);
|
|
/* 02C4B330 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B330 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4B330 */ if (_t14) goto L_02C4B334; else goto L_02C4B374;
|
|
L_02C4B334: ; // 0x2c4b334
|
|
/* 02C4B334 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000081u);
|
|
/* 02C4B338 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B338 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4B338 */ if (_t16) goto L_02C4B50C; else goto L_02C4B33C;
|
|
L_02C4B33C: ; // 0x2c4b33c
|
|
/* 02C4B33C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000088u);
|
|
/* 02C4B340 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B340 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4B340 */ if (_t18) goto L_02C4CCE0; else goto L_02C4B344;
|
|
L_02C4B344: ; // 0x2c4b344
|
|
/* 02C4B344 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B344 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4B344 */ if (_t20) goto L_02C4C010; else goto L_02C4B348;
|
|
L_02C4B348: ; // 0x2c4b348
|
|
/* 02C4B348 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x0000008Au);
|
|
/* 02C4B34C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B34C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C4B34C */ if (_t22) goto L_02C4C068; else goto L_02C4B350;
|
|
L_02C4B350: ; // 0x2c4b350
|
|
/* 02C4B350 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B350 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4B350 */ if (_t24) goto L_02C4C094; else goto L_02C4B354;
|
|
L_02C4B354: ; // 0x2c4b354
|
|
/* 02C4B354 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4B354 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4B358 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4B358 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4B35C */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4B35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4B360 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4B360 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C4B364 */ cpu->lr = cpu->r[0];
|
|
/* 02C4B368 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4B368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C4B36C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4B370 */ return;
|
|
L_02C4B374: ; // 0x2c4b374
|
|
/* 02C4B374 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x000000FBu);
|
|
/* 02C4B378 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B378 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C4B378 */ if (_t31) goto L_02C4B37C; else goto L_02C4B474;
|
|
L_02C4B37C: ; // 0x2c4b37c
|
|
/* 02C4B37C */ cpu->r[5] = cpu->r[5] + 0xFFFFFF50u;
|
|
/* 02C4B380 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000034u);
|
|
/* 02C4B384 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4B384 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C4B384 */ if (_t33) goto L_02C4CCE0; else goto L_02C4B388;
|
|
L_02C4B388: ; // 0x2c4b388
|
|
/* 02C4B388 */ cpu->r[0] = 0x02C50000u;
|
|
/* 02C4B38C */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4B390 */ cpu->r[0] = cpu->r[0] + 0xFFFFB3A0u;
|
|
/* 02C4B394 */ cpu->r[0] = cpu->r[5] + cpu->r[0];
|
|
/* 02C4B398 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4B39C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C4B474: ; // 0x2c4b474
|
|
/* 02C4B474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x000000FCu);
|
|
/* 02C4B478 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B478 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C4B478 */ if (_t35) goto L_02C4BCFC; else goto L_02C4B47C;
|
|
L_02C4B47C: ; // 0x2c4b47c
|
|
/* 02C4B47C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B47C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C4B47C */ if (_t37) goto L_02C4C1C8; else goto L_02C4B480;
|
|
L_02C4B480: ; // 0x2c4b480
|
|
/* 02C4B480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x000000FDu);
|
|
/* 02C4B484 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B484 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C4B484 */ if (_t39) goto L_02C4C0EC; else goto L_02C4B488;
|
|
L_02C4B488: ; // 0x2c4b488
|
|
/* 02C4B488 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4B488 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C4B48C */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4B48C */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C4B490 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4B490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C4B494 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4B494 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C4B498 */ cpu->lr = cpu->r[0];
|
|
/* 02C4B49C */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4B49C */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C4B4A0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4B4A4 */ return;
|
|
L_02C4B50C: ; // 0x2c4b50c
|
|
/* 02C4B50C */ cpu->r[10] = 0x00010000u;
|
|
/* 02C4B510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]);
|
|
/* 02C4B514 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B514 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C4B514 */ if (_t46) goto L_02C4B518; else goto L_02C4CCE0;
|
|
L_02C4B518: ; // 0x2c4b518
|
|
/* 02C4B518 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C4B51C */ _t47 = cpu->r[30] + 0x00000068u;
|
|
/* 02C4B51C */ rbrew_write32(cpu->mem, _t47, cpu->r[6]);
|
|
/* 02C4B520 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4B520 */ cpu->r[28] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C4B524 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4B524 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C4B528 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4B528 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C4B52C */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4B52C */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C4B530 */ cpu->lr = cpu->r[0];
|
|
/* 02C4B534 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4B534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C4B538 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4B53C */ return;
|
|
L_02C4BCFC: ; // 0x2c4bcfc
|
|
/* 02C4BCFC */ cpu->r[0] = 0x000000FFu;
|
|
/* 02C4BD00 */ _t53 = cpu->r[30] + 0x000000E0u;
|
|
/* 02C4BD00 */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[0]);
|
|
/* 02C4BD04 */ _t54 = cpu->r[30] + 0x000000DCu;
|
|
/* 02C4BD04 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[0]);
|
|
/* 02C4BD08 */ _t55 = cpu->r[30] + 0x000000DDu;
|
|
/* 02C4BD08 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]);
|
|
/* 02C4BD0C */ _t56 = cpu->r[30] + 0x000000DEu;
|
|
/* 02C4BD0C */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[0]);
|
|
/* 02C4BD10 */ _t57 = cpu->r[30] + 0x000000DFu;
|
|
/* 02C4BD10 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[0]);
|
|
/* 02C4BD14 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4BD14 */ cpu->r[28] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C4BD18 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4BD18 */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C4BD1C */ _t60 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4BD1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C4BD20 */ _t61 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4BD20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C4BD24 */ cpu->lr = cpu->r[0];
|
|
/* 02C4BD28 */ _t62 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4BD28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C4BD2C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4BD30 */ return;
|
|
L_02C4C010: ; // 0x2c4c010
|
|
/* 02C4C010 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C4C014 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C4C018 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4C01C */ cpu->r[28] = cpu->r[3];
|
|
/* 02C4C01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C4C020 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C020 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C4C020 */ if (_t64) goto L_02C4CCE0; else goto L_02C4C024;
|
|
L_02C4C024: ; // 0x2c4c024
|
|
/* 02C4C024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]);
|
|
/* 02C4C028 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C028 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C4C028 */ if (_t66) goto L_02C4CCE0; else goto L_02C4C02C;
|
|
L_02C4C02C: ; // 0x2c4c02c
|
|
/* 02C4C02C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4C030 */ Gambit_fn_02C3A578(cpu);
|
|
/* 02C4C034 */ _t67 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4C034 */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C4C038 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C4C03C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4C040 */ Gambit_fn_02C3ADB8(cpu);
|
|
/* 02C4C044 */ Gambit_fn_02C3ADC8(cpu);
|
|
/* 02C4C048 */ _t68 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C048 */ cpu->r[28] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C4C04C */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C04C */ cpu->r[29] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C4C050 */ _t70 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C4C054 */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C4C058 */ cpu->lr = cpu->r[0];
|
|
/* 02C4C05C */ _t72 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C05C */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C4C060 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C064 */ return;
|
|
L_02C4C068: ; // 0x2c4c068
|
|
/* 02C4C068 */ _t73 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4C068 */ cpu->r[7] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C4C06C */ cpu->r[0] = cpu->r[7] + cpu->r[6];
|
|
/* 02C4C070 */ _t74 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4C070 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 02C4C074 */ _t75 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C074 */ cpu->r[28] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C4C078 */ _t76 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C078 */ cpu->r[29] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C4C07C */ _t77 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C07C */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C4C080 */ _t78 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C080 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C4C084 */ cpu->lr = cpu->r[0];
|
|
/* 02C4C088 */ _t79 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C088 */ cpu->r[31] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C4C08C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C090 */ return;
|
|
L_02C4C094: ; // 0x2c4c094
|
|
/* 02C4C094 */ _t80 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C094 */ cpu->r[5] = rbrew_read8(cpu->mem, _t80);
|
|
/* 02C4C098 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x0000000Au);
|
|
/* 02C4C09C */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4C09C */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C4C09C */ if (_t82) goto L_02C4C0A0; else goto L_02C4CCE0;
|
|
L_02C4C0A0: ; // 0x2c4c0a0
|
|
/* 02C4C0A0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C4C0A4 */ _t83 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4C0A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C4C0A8 */ cpu->r[8] = cpu->r[30] + cpu->r[8];
|
|
/* 02C4C0AC */ _t84 = cpu->r[8] + 0x00000010u;
|
|
/* 02C4C0AC */ rbrew_write32(cpu->mem, _t84, cpu->r[9]);
|
|
/* 02C4C0B0 */ _t85 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C4C0B0 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[11]);
|
|
/* 02C4C0B4 */ _t86 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C0B4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t86);
|
|
/* 02C4C0B8 */ _t87 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4C0B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C4C0BC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C4C0C0 */ cpu->r[11] = cpu->r[12] + cpu->r[6];
|
|
/* 02C4C0C4 */ _t88 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C0C4 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[10]);
|
|
/* 02C4C0C8 */ _t89 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4C0C8 */ rbrew_write32(cpu->mem, _t89, cpu->r[11]);
|
|
/* 02C4C0CC */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C0CC */ cpu->r[28] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C4C0D0 */ _t91 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C0D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C4C0D4 */ _t92 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C0D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C4C0D8 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C0D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02C4C0DC */ cpu->lr = cpu->r[0];
|
|
/* 02C4C0E0 */ _t94 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C0E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C4C0E4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C0E8 */ return;
|
|
L_02C4C0EC: ; // 0x2c4c0ec
|
|
/* 02C4C0EC */ _t95 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C0EC */ cpu->r[5] = rbrew_read8(cpu->mem, _t95);
|
|
/* 02C4C0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4C0F4 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C0F4 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C4C0F4 */ if (_t97) goto L_02C4CCE0; else goto L_02C4C0F8;
|
|
L_02C4C0F8: ; // 0x2c4c0f8
|
|
/* 02C4C0F8 */ cpu->r[7] = cpu->r[30] + 0x0000000Cu;
|
|
L_02C4C0FC: ; // 0x2c4c0fc
|
|
/* 02C4C0FC */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C4C100 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4C104 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000015u, 0x0000001Cu);
|
|
/* 02C4C108 */ _t98 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C108 */ rbrew_write8(cpu->mem, _t98, (uint8_t)cpu->r[5]);
|
|
/* 02C4C10C */ _t99 = cpu->r[7] + cpu->r[0];
|
|
/* 02C4C10C */ cpu->r[6] = rbrew_read8(cpu->mem, _t99);
|
|
/* 02C4C110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4C114 */ cpu->r[10] = cpu->r[7] + cpu->r[0];
|
|
/* 02C4C118 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C118 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C4C118 */ if (_t101) goto L_02C4C144; else goto L_02C4C11C;
|
|
L_02C4C11C: ; // 0x2c4c11c
|
|
/* 02C4C11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4C120 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C120 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02C4C120 */ if (_t103) goto L_02C4C124; else goto L_02C4C0FC;
|
|
L_02C4C124: ; // 0x2c4c124
|
|
/* 02C4C124 */ _t104 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C124 */ cpu->r[28] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02C4C128 */ _t105 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C128 */ cpu->r[29] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02C4C12C */ _t106 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C12C */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02C4C130 */ _t107 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C130 */ cpu->r[30] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02C4C134 */ cpu->lr = cpu->r[0];
|
|
/* 02C4C138 */ _t108 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C138 */ cpu->r[31] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C4C13C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C140 */ return;
|
|
L_02C4C144: ; // 0x2c4c144
|
|
/* 02C4C144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4C148 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C148 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02C4C148 */ if (_t110) goto L_02C4CCE0; else goto L_02C4C14C;
|
|
L_02C4C14C: ; // 0x2c4c14c
|
|
/* 02C4C14C */ _t111 = cpu->r[10] + 0x00000004u;
|
|
/* 02C4C14C */ cpu->r[8] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02C4C150 */ _t112 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4C150 */ rbrew_write32(cpu->mem, _t112, cpu->r[8]);
|
|
/* 02C4C154 */ _t113 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C154 */ cpu->r[28] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02C4C158 */ _t114 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C158 */ cpu->r[29] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02C4C15C */ _t115 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C15C */ cpu->r[0] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02C4C160 */ _t116 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C160 */ cpu->r[30] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02C4C164 */ cpu->lr = cpu->r[0];
|
|
/* 02C4C168 */ _t117 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02C4C16C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C170 */ return;
|
|
L_02C4C1C8: ; // 0x2c4c1c8
|
|
/* 02C4C1C8 */ _t118 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C1C8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t118);
|
|
/* 02C4C1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4C1D0 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C1D0 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02C4C1D0 */ if (_t120) goto L_02C4CCE0; else goto L_02C4C1D4;
|
|
L_02C4C1D4: ; // 0x2c4c1d4
|
|
/* 02C4C1D4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C4C1D8 */ cpu->r[11] = cpu->r[30] + cpu->r[9];
|
|
/* 02C4C1DC */ _t121 = cpu->r[11] + 0x00000004u;
|
|
/* 02C4C1DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t121);
|
|
/* 02C4C1DC */ cpu->r[11] = _t121;
|
|
/* 02C4C1E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4C1E4 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C1E4 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02C4C1E4 */ if (_t123) goto L_02C4CCE0; else goto L_02C4C1E8;
|
|
L_02C4C1E8: ; // 0x2c4c1e8
|
|
/* 02C4C1E8 */ _t124 = cpu->r[11] + 0x00000001u;
|
|
/* 02C4C1E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02C4C1EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4C1F0 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C1F0 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02C4C1F0 */ if (_t126) goto L_02C4C228; else goto L_02C4C1F4;
|
|
L_02C4C1F4: ; // 0x2c4c1f4
|
|
/* 02C4C1F4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C4C1F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4C1F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4C1FC */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C1FC */ _t128 = _t127 & 0x00000001u;
|
|
/* 02C4C1FC */ if (_t128) goto L_02C4C200; else goto L_02C4C228;
|
|
L_02C4C200: ; // 0x2c4c200
|
|
/* 02C4C200 */ cpu->r[6] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C4C204 */ _t129 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C204 */ rbrew_write8(cpu->mem, _t129, (uint8_t)cpu->r[6]);
|
|
/* 02C4C208 */ _t130 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C208 */ cpu->r[28] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02C4C20C */ _t131 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C20C */ cpu->r[29] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02C4C210 */ _t132 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02C4C214 */ _t133 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C214 */ cpu->r[30] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02C4C218 */ cpu->lr = cpu->r[0];
|
|
/* 02C4C21C */ _t134 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C21C */ cpu->r[31] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02C4C220 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C224 */ return;
|
|
L_02C4C228: ; // 0x2c4c228
|
|
/* 02C4C228 */ _t135 = cpu->r[11] + 0x00000004u;
|
|
/* 02C4C228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02C4C22C */ _t136 = cpu->r[11] + 0x00000001u;
|
|
/* 02C4C22C */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[12]);
|
|
/* 02C4C230 */ _t137 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4C230 */ rbrew_write32(cpu->mem, _t137, cpu->r[0]);
|
|
/* 02C4C234 */ _t138 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C234 */ cpu->r[28] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02C4C238 */ _t139 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C238 */ cpu->r[29] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02C4C23C */ _t140 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02C4C240 */ _t141 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C240 */ cpu->r[30] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02C4C244 */ cpu->lr = cpu->r[0];
|
|
/* 02C4C248 */ _t142 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C248 */ cpu->r[31] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02C4C24C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C250 */ return;
|
|
L_02C4C254: ; // 0x2c4c254
|
|
/* 02C4C254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x0000FFFFu);
|
|
/* 02C4C258 */ _t143 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4C258 */ _t144 = _t143 & 0x00000001u;
|
|
/* 02C4C258 */ if (_t144) goto L_02C4CCE0; else goto L_02C4C25C;
|
|
L_02C4C25C: ; // 0x2c4c25c
|
|
/* 02C4C25C */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C4C260 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4C264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000080u);
|
|
/* 02C4C268 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C4C26C */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C26C */ _t146 = _t145 & 0x00000001u;
|
|
/* 02C4C26C */ if (_t146) goto L_02C4C278; else goto L_02C4C270;
|
|
L_02C4C270: ; // 0x2c4c270
|
|
/* 02C4C270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000090u);
|
|
/* 02C4C274 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C274 */ _t148 = _t147 & 0x00000001u;
|
|
/* 02C4C274 */ if (_t148) goto L_02C4C278; else goto L_02C4C28C;
|
|
L_02C4C278: ; // 0x2c4c278
|
|
/* 02C4C278 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C4C27C */ cpu->r[4] = cpu->r[8];
|
|
/* 02C4C280 */ Gambit_fn_02C4A9B4(cpu);
|
|
/* 02C4C284 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C4C284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C4C288 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C288 */ _t150 = _t149 & 0x00000001u;
|
|
/* 02C4C288 */ if (_t150) goto L_02C4CCE0; else goto L_02C4C28C;
|
|
L_02C4C28C: ; // 0x2c4c28c
|
|
/* 02C4C28C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x000000E0u);
|
|
/* 02C4C290 */ _t151 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4C290 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02C4C290 */ if (_t152) goto L_02C4C294; else goto L_02C4C37C;
|
|
L_02C4C294: ; // 0x2c4c294
|
|
/* 02C4C294 */ cpu->r[11] = cpu->r[11] + 0xFFFFFF80u;
|
|
/* 02C4C298 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000031u);
|
|
/* 02C4C29C */ _t153 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4C29C */ _t154 = _t153 & 0x00000001u;
|
|
/* 02C4C29C */ if (_t154) goto L_02C4CCE0; else goto L_02C4C2A0;
|
|
L_02C4C2A0: ; // 0x2c4c2a0
|
|
/* 02C4C2A0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4C2A4 */ cpu->r[10] = cpu->r[11] + 0x02C50000u;
|
|
/* 02C4C2A8 */ cpu->r[10] = cpu->r[10] + 0xFFFFC2B4u;
|
|
/* 02C4C2AC */ cpu->ctr = cpu->r[10];
|
|
/* 02C4C2B0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C4C37C: ; // 0x2c4c37c
|
|
/* 02C4C37C */ cpu->r[11] = cpu->r[11] + 0xFFFFFF20u;
|
|
/* 02C4C380 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
|
|
/* 02C4C384 */ _t155 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4C384 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02C4C384 */ if (_t156) goto L_02C4CCE0; else goto L_02C4C388;
|
|
L_02C4C388: ; // 0x2c4c388
|
|
/* 02C4C388 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4C38C */ cpu->r[5] = cpu->r[11] + 0x02C50000u;
|
|
/* 02C4C390 */ cpu->r[5] = cpu->r[5] + 0xFFFFC39Cu;
|
|
/* 02C4C394 */ cpu->ctr = cpu->r[5];
|
|
/* 02C4C398 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C4CCE0: ; // 0x2c4cce0
|
|
/* 02C4CCE0 */ _t157 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4CCE0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02C4CCE4 */ _t158 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CCE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02C4CCE8 */ _t159 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4CCE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02C4CCEC */ _t160 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4CCEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02C4CCF0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4CCF4 */ _t161 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4CCF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02C4CCF8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4CCFC */ return;
|
|
}
|
|
|
|
// fn_02C4B2D4 @ 0x2c4b2d4
|
|
void Gambit_fn_02C4B2D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161;
|
|
|
|
L_02C4B2D4: ; // 0x2c4b2d4
|
|
/* 02C4B2D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C4B2D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4B2D4 */ cpu->r[1] = _t0;
|
|
/* 02C4B2D8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4B2D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C4B2DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4B2DC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C4B2E0 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4B2E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C4B2E4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4B2E8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4B2E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C4B2EC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C4B2F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x000000FFu);
|
|
/* 02C4B2F4 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C4B2F8 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4B2F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C4B2FC */ cpu->r[29] = cpu->r[4];
|
|
/* 02C4B300 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4B304 */ _t6 = cpu->r[9] + 0xFFFFD24Cu;
|
|
/* 02C4B304 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C4B308 */ cpu->r[30] = cpu->r[29] + 0x00000100u;
|
|
/* 02C4B30C */ _t7 = cpu->r[29] + 0x00000214u;
|
|
/* 02C4B30C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4B310 */ cpu->r[31] = cpu->r[7];
|
|
/* 02C4B314 */ _t8 = cpu->r[12] + 0xFFFFD28Cu;
|
|
/* 02C4B314 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C4B318 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C4B31C */ _t9 = cpu->r[10] + 0xFFFFCFB4u;
|
|
/* 02C4B31C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C4B320 */ cpu->r[4] = cpu->r[8] + 0x000001ACu;
|
|
/* 02C4B324 */ _t10 = cpu->r[7] + 0xFFFFCFC0u;
|
|
/* 02C4B324 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C4B328 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4B328 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4B328 */ if (_t12) goto L_02C4C254; else goto L_02C4B32C;
|
|
L_02C4B32C: ; // 0x2c4b32c
|
|
/* 02C4B32C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x000000B0u);
|
|
/* 02C4B330 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B330 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4B330 */ if (_t14) goto L_02C4B334; else goto L_02C4B374;
|
|
L_02C4B334: ; // 0x2c4b334
|
|
/* 02C4B334 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000081u);
|
|
/* 02C4B338 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B338 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4B338 */ if (_t16) goto L_02C4B50C; else goto L_02C4B33C;
|
|
L_02C4B33C: ; // 0x2c4b33c
|
|
/* 02C4B33C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000088u);
|
|
/* 02C4B340 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B340 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4B340 */ if (_t18) goto L_02C4CCE0; else goto L_02C4B344;
|
|
L_02C4B344: ; // 0x2c4b344
|
|
/* 02C4B344 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B344 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4B344 */ if (_t20) goto L_02C4C010; else goto L_02C4B348;
|
|
L_02C4B348: ; // 0x2c4b348
|
|
/* 02C4B348 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x0000008Au);
|
|
/* 02C4B34C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B34C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C4B34C */ if (_t22) goto L_02C4C068; else goto L_02C4B350;
|
|
L_02C4B350: ; // 0x2c4b350
|
|
/* 02C4B350 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B350 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4B350 */ if (_t24) goto L_02C4C094; else goto L_02C4B354;
|
|
L_02C4B354: ; // 0x2c4b354
|
|
/* 02C4B354 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4B354 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4B358 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4B358 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4B35C */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4B35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4B360 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4B360 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C4B364 */ cpu->lr = cpu->r[0];
|
|
/* 02C4B368 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4B368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C4B36C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4B370 */ return;
|
|
L_02C4B374: ; // 0x2c4b374
|
|
/* 02C4B374 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x000000FBu);
|
|
/* 02C4B378 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B378 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C4B378 */ if (_t31) goto L_02C4B37C; else goto L_02C4B474;
|
|
L_02C4B37C: ; // 0x2c4b37c
|
|
/* 02C4B37C */ cpu->r[5] = cpu->r[5] + 0xFFFFFF50u;
|
|
/* 02C4B380 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000034u);
|
|
/* 02C4B384 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4B384 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C4B384 */ if (_t33) goto L_02C4CCE0; else goto L_02C4B388;
|
|
L_02C4B388: ; // 0x2c4b388
|
|
/* 02C4B388 */ cpu->r[0] = 0x02C50000u;
|
|
/* 02C4B38C */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4B390 */ cpu->r[0] = cpu->r[0] + 0xFFFFB3A0u;
|
|
/* 02C4B394 */ cpu->r[0] = cpu->r[5] + cpu->r[0];
|
|
/* 02C4B398 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4B39C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C4B474: ; // 0x2c4b474
|
|
/* 02C4B474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x000000FCu);
|
|
/* 02C4B478 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B478 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C4B478 */ if (_t35) goto L_02C4BCFC; else goto L_02C4B47C;
|
|
L_02C4B47C: ; // 0x2c4b47c
|
|
/* 02C4B47C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B47C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C4B47C */ if (_t37) goto L_02C4C1C8; else goto L_02C4B480;
|
|
L_02C4B480: ; // 0x2c4b480
|
|
/* 02C4B480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x000000FDu);
|
|
/* 02C4B484 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B484 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C4B484 */ if (_t39) goto L_02C4C0EC; else goto L_02C4B488;
|
|
L_02C4B488: ; // 0x2c4b488
|
|
/* 02C4B488 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4B488 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C4B48C */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4B48C */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C4B490 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4B490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C4B494 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4B494 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C4B498 */ cpu->lr = cpu->r[0];
|
|
/* 02C4B49C */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4B49C */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C4B4A0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4B4A4 */ return;
|
|
L_02C4B50C: ; // 0x2c4b50c
|
|
/* 02C4B50C */ cpu->r[10] = 0x00010000u;
|
|
/* 02C4B510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]);
|
|
/* 02C4B514 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B514 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C4B514 */ if (_t46) goto L_02C4B518; else goto L_02C4CCE0;
|
|
L_02C4B518: ; // 0x2c4b518
|
|
/* 02C4B518 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C4B51C */ _t47 = cpu->r[30] + 0x00000068u;
|
|
/* 02C4B51C */ rbrew_write32(cpu->mem, _t47, cpu->r[6]);
|
|
/* 02C4B520 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4B520 */ cpu->r[28] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C4B524 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4B524 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C4B528 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4B528 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C4B52C */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4B52C */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C4B530 */ cpu->lr = cpu->r[0];
|
|
/* 02C4B534 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4B534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C4B538 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4B53C */ return;
|
|
L_02C4BCFC: ; // 0x2c4bcfc
|
|
/* 02C4BCFC */ cpu->r[0] = 0x000000FFu;
|
|
/* 02C4BD00 */ _t53 = cpu->r[30] + 0x000000E0u;
|
|
/* 02C4BD00 */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[0]);
|
|
/* 02C4BD04 */ _t54 = cpu->r[30] + 0x000000DCu;
|
|
/* 02C4BD04 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[0]);
|
|
/* 02C4BD08 */ _t55 = cpu->r[30] + 0x000000DDu;
|
|
/* 02C4BD08 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]);
|
|
/* 02C4BD0C */ _t56 = cpu->r[30] + 0x000000DEu;
|
|
/* 02C4BD0C */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[0]);
|
|
/* 02C4BD10 */ _t57 = cpu->r[30] + 0x000000DFu;
|
|
/* 02C4BD10 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[0]);
|
|
/* 02C4BD14 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4BD14 */ cpu->r[28] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C4BD18 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4BD18 */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C4BD1C */ _t60 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4BD1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C4BD20 */ _t61 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4BD20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C4BD24 */ cpu->lr = cpu->r[0];
|
|
/* 02C4BD28 */ _t62 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4BD28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C4BD2C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4BD30 */ return;
|
|
L_02C4C010: ; // 0x2c4c010
|
|
/* 02C4C010 */ cpu->r[3] = cpu->r[8];
|
|
/* 02C4C014 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C4C018 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4C01C */ cpu->r[28] = cpu->r[3];
|
|
/* 02C4C01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C4C020 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C020 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C4C020 */ if (_t64) goto L_02C4CCE0; else goto L_02C4C024;
|
|
L_02C4C024: ; // 0x2c4c024
|
|
/* 02C4C024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]);
|
|
/* 02C4C028 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C028 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C4C028 */ if (_t66) goto L_02C4CCE0; else goto L_02C4C02C;
|
|
L_02C4C02C: ; // 0x2c4c02c
|
|
/* 02C4C02C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4C030 */ Gambit_fn_02C3A578(cpu);
|
|
/* 02C4C034 */ _t67 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4C034 */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C4C038 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C4C03C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4C040 */ Gambit_fn_02C3ADB8(cpu);
|
|
/* 02C4C044 */ Gambit_fn_02C3ADC8(cpu);
|
|
/* 02C4C048 */ _t68 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C048 */ cpu->r[28] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C4C04C */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C04C */ cpu->r[29] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C4C050 */ _t70 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C4C054 */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C4C058 */ cpu->lr = cpu->r[0];
|
|
/* 02C4C05C */ _t72 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C05C */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C4C060 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C064 */ return;
|
|
L_02C4C068: ; // 0x2c4c068
|
|
/* 02C4C068 */ _t73 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4C068 */ cpu->r[7] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C4C06C */ cpu->r[0] = cpu->r[7] + cpu->r[6];
|
|
/* 02C4C070 */ _t74 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4C070 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 02C4C074 */ _t75 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C074 */ cpu->r[28] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C4C078 */ _t76 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C078 */ cpu->r[29] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C4C07C */ _t77 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C07C */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C4C080 */ _t78 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C080 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C4C084 */ cpu->lr = cpu->r[0];
|
|
/* 02C4C088 */ _t79 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C088 */ cpu->r[31] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C4C08C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C090 */ return;
|
|
L_02C4C094: ; // 0x2c4c094
|
|
/* 02C4C094 */ _t80 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C094 */ cpu->r[5] = rbrew_read8(cpu->mem, _t80);
|
|
/* 02C4C098 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x0000000Au);
|
|
/* 02C4C09C */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4C09C */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C4C09C */ if (_t82) goto L_02C4C0A0; else goto L_02C4CCE0;
|
|
L_02C4C0A0: ; // 0x2c4c0a0
|
|
/* 02C4C0A0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C4C0A4 */ _t83 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4C0A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C4C0A8 */ cpu->r[8] = cpu->r[30] + cpu->r[8];
|
|
/* 02C4C0AC */ _t84 = cpu->r[8] + 0x00000010u;
|
|
/* 02C4C0AC */ rbrew_write32(cpu->mem, _t84, cpu->r[9]);
|
|
/* 02C4C0B0 */ _t85 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C4C0B0 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[11]);
|
|
/* 02C4C0B4 */ _t86 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C0B4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t86);
|
|
/* 02C4C0B8 */ _t87 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4C0B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C4C0BC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C4C0C0 */ cpu->r[11] = cpu->r[12] + cpu->r[6];
|
|
/* 02C4C0C4 */ _t88 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C0C4 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[10]);
|
|
/* 02C4C0C8 */ _t89 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4C0C8 */ rbrew_write32(cpu->mem, _t89, cpu->r[11]);
|
|
/* 02C4C0CC */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C0CC */ cpu->r[28] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C4C0D0 */ _t91 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C0D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C4C0D4 */ _t92 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C0D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C4C0D8 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C0D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02C4C0DC */ cpu->lr = cpu->r[0];
|
|
/* 02C4C0E0 */ _t94 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C0E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C4C0E4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C0E8 */ return;
|
|
L_02C4C0EC: ; // 0x2c4c0ec
|
|
/* 02C4C0EC */ _t95 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C0EC */ cpu->r[5] = rbrew_read8(cpu->mem, _t95);
|
|
/* 02C4C0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4C0F4 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C0F4 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C4C0F4 */ if (_t97) goto L_02C4CCE0; else goto L_02C4C0F8;
|
|
L_02C4C0F8: ; // 0x2c4c0f8
|
|
/* 02C4C0F8 */ cpu->r[7] = cpu->r[30] + 0x0000000Cu;
|
|
L_02C4C0FC: ; // 0x2c4c0fc
|
|
/* 02C4C0FC */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C4C100 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4C104 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000015u, 0x0000001Cu);
|
|
/* 02C4C108 */ _t98 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C108 */ rbrew_write8(cpu->mem, _t98, (uint8_t)cpu->r[5]);
|
|
/* 02C4C10C */ _t99 = cpu->r[7] + cpu->r[0];
|
|
/* 02C4C10C */ cpu->r[6] = rbrew_read8(cpu->mem, _t99);
|
|
/* 02C4C110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4C114 */ cpu->r[10] = cpu->r[7] + cpu->r[0];
|
|
/* 02C4C118 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C118 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C4C118 */ if (_t101) goto L_02C4C144; else goto L_02C4C11C;
|
|
L_02C4C11C: ; // 0x2c4c11c
|
|
/* 02C4C11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4C120 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C120 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02C4C120 */ if (_t103) goto L_02C4C124; else goto L_02C4C0FC;
|
|
L_02C4C124: ; // 0x2c4c124
|
|
/* 02C4C124 */ _t104 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C124 */ cpu->r[28] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02C4C128 */ _t105 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C128 */ cpu->r[29] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02C4C12C */ _t106 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C12C */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02C4C130 */ _t107 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C130 */ cpu->r[30] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02C4C134 */ cpu->lr = cpu->r[0];
|
|
/* 02C4C138 */ _t108 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C138 */ cpu->r[31] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C4C13C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C140 */ return;
|
|
L_02C4C144: ; // 0x2c4c144
|
|
/* 02C4C144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4C148 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C148 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02C4C148 */ if (_t110) goto L_02C4CCE0; else goto L_02C4C14C;
|
|
L_02C4C14C: ; // 0x2c4c14c
|
|
/* 02C4C14C */ _t111 = cpu->r[10] + 0x00000004u;
|
|
/* 02C4C14C */ cpu->r[8] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02C4C150 */ _t112 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4C150 */ rbrew_write32(cpu->mem, _t112, cpu->r[8]);
|
|
/* 02C4C154 */ _t113 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C154 */ cpu->r[28] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02C4C158 */ _t114 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C158 */ cpu->r[29] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02C4C15C */ _t115 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C15C */ cpu->r[0] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02C4C160 */ _t116 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C160 */ cpu->r[30] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02C4C164 */ cpu->lr = cpu->r[0];
|
|
/* 02C4C168 */ _t117 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02C4C16C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C170 */ return;
|
|
L_02C4C1C8: ; // 0x2c4c1c8
|
|
/* 02C4C1C8 */ _t118 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C1C8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t118);
|
|
/* 02C4C1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4C1D0 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C1D0 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02C4C1D0 */ if (_t120) goto L_02C4CCE0; else goto L_02C4C1D4;
|
|
L_02C4C1D4: ; // 0x2c4c1d4
|
|
/* 02C4C1D4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C4C1D8 */ cpu->r[11] = cpu->r[30] + cpu->r[9];
|
|
/* 02C4C1DC */ _t121 = cpu->r[11] + 0x00000004u;
|
|
/* 02C4C1DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t121);
|
|
/* 02C4C1DC */ cpu->r[11] = _t121;
|
|
/* 02C4C1E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4C1E4 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C1E4 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02C4C1E4 */ if (_t123) goto L_02C4CCE0; else goto L_02C4C1E8;
|
|
L_02C4C1E8: ; // 0x2c4c1e8
|
|
/* 02C4C1E8 */ _t124 = cpu->r[11] + 0x00000001u;
|
|
/* 02C4C1E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02C4C1EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4C1F0 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C1F0 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02C4C1F0 */ if (_t126) goto L_02C4C228; else goto L_02C4C1F4;
|
|
L_02C4C1F4: ; // 0x2c4c1f4
|
|
/* 02C4C1F4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C4C1F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4C1F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4C1FC */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C1FC */ _t128 = _t127 & 0x00000001u;
|
|
/* 02C4C1FC */ if (_t128) goto L_02C4C200; else goto L_02C4C228;
|
|
L_02C4C200: ; // 0x2c4c200
|
|
/* 02C4C200 */ cpu->r[6] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C4C204 */ _t129 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C4C204 */ rbrew_write8(cpu->mem, _t129, (uint8_t)cpu->r[6]);
|
|
/* 02C4C208 */ _t130 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C208 */ cpu->r[28] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02C4C20C */ _t131 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C20C */ cpu->r[29] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02C4C210 */ _t132 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02C4C214 */ _t133 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C214 */ cpu->r[30] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02C4C218 */ cpu->lr = cpu->r[0];
|
|
/* 02C4C21C */ _t134 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C21C */ cpu->r[31] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02C4C220 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C224 */ return;
|
|
L_02C4C228: ; // 0x2c4c228
|
|
/* 02C4C228 */ _t135 = cpu->r[11] + 0x00000004u;
|
|
/* 02C4C228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02C4C22C */ _t136 = cpu->r[11] + 0x00000001u;
|
|
/* 02C4C22C */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[12]);
|
|
/* 02C4C230 */ _t137 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4C230 */ rbrew_write32(cpu->mem, _t137, cpu->r[0]);
|
|
/* 02C4C234 */ _t138 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4C234 */ cpu->r[28] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02C4C238 */ _t139 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4C238 */ cpu->r[29] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02C4C23C */ _t140 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4C23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02C4C240 */ _t141 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4C240 */ cpu->r[30] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02C4C244 */ cpu->lr = cpu->r[0];
|
|
/* 02C4C248 */ _t142 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4C248 */ cpu->r[31] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02C4C24C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4C250 */ return;
|
|
L_02C4C254: ; // 0x2c4c254
|
|
/* 02C4C254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x0000FFFFu);
|
|
/* 02C4C258 */ _t143 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4C258 */ _t144 = _t143 & 0x00000001u;
|
|
/* 02C4C258 */ if (_t144) goto L_02C4CCE0; else goto L_02C4C25C;
|
|
L_02C4C25C: ; // 0x2c4c25c
|
|
/* 02C4C25C */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C4C260 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4C264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000080u);
|
|
/* 02C4C268 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C4C26C */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C26C */ _t146 = _t145 & 0x00000001u;
|
|
/* 02C4C26C */ if (_t146) goto L_02C4C278; else goto L_02C4C270;
|
|
L_02C4C270: ; // 0x2c4c270
|
|
/* 02C4C270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000090u);
|
|
/* 02C4C274 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C274 */ _t148 = _t147 & 0x00000001u;
|
|
/* 02C4C274 */ if (_t148) goto L_02C4C278; else goto L_02C4C28C;
|
|
L_02C4C278: ; // 0x2c4c278
|
|
/* 02C4C278 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C4C27C */ cpu->r[4] = cpu->r[8];
|
|
/* 02C4C280 */ Gambit_fn_02C4A9B4(cpu);
|
|
/* 02C4C284 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C4C284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C4C288 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4C288 */ _t150 = _t149 & 0x00000001u;
|
|
/* 02C4C288 */ if (_t150) goto L_02C4CCE0; else goto L_02C4C28C;
|
|
L_02C4C28C: ; // 0x2c4c28c
|
|
/* 02C4C28C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x000000E0u);
|
|
/* 02C4C290 */ _t151 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4C290 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02C4C290 */ if (_t152) goto L_02C4C294; else goto L_02C4C37C;
|
|
L_02C4C294: ; // 0x2c4c294
|
|
/* 02C4C294 */ cpu->r[11] = cpu->r[11] + 0xFFFFFF80u;
|
|
/* 02C4C298 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000031u);
|
|
/* 02C4C29C */ _t153 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4C29C */ _t154 = _t153 & 0x00000001u;
|
|
/* 02C4C29C */ if (_t154) goto L_02C4CCE0; else goto L_02C4C2A0;
|
|
L_02C4C2A0: ; // 0x2c4c2a0
|
|
/* 02C4C2A0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4C2A4 */ cpu->r[10] = cpu->r[11] + 0x02C50000u;
|
|
/* 02C4C2A8 */ cpu->r[10] = cpu->r[10] + 0xFFFFC2B4u;
|
|
/* 02C4C2AC */ cpu->ctr = cpu->r[10];
|
|
/* 02C4C2B0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C4C37C: ; // 0x2c4c37c
|
|
/* 02C4C37C */ cpu->r[11] = cpu->r[11] + 0xFFFFFF20u;
|
|
/* 02C4C380 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
|
|
/* 02C4C384 */ _t155 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4C384 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02C4C384 */ if (_t156) goto L_02C4CCE0; else goto L_02C4C388;
|
|
L_02C4C388: ; // 0x2c4c388
|
|
/* 02C4C388 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4C38C */ cpu->r[5] = cpu->r[11] + 0x02C50000u;
|
|
/* 02C4C390 */ cpu->r[5] = cpu->r[5] + 0xFFFFC39Cu;
|
|
/* 02C4C394 */ cpu->ctr = cpu->r[5];
|
|
/* 02C4C398 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C4CCE0: ; // 0x2c4cce0
|
|
/* 02C4CCE0 */ _t157 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4CCE0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02C4CCE4 */ _t158 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CCE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02C4CCE8 */ _t159 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4CCE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02C4CCEC */ _t160 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4CCEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02C4CCF0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4CCF4 */ _t161 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4CCF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02C4CCF8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4CCFC */ return;
|
|
}
|
|
|
|
// fn_02C4CD00 @ 0x2c4cd00
|
|
void Gambit_fn_02C4CD00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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;
|
|
|
|
L_02C49EBC: ; // 0x2c49ebc
|
|
/* 02C49EBC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C49EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C49EBC */ cpu->r[1] = _t0;
|
|
/* 02C49EC0 */ /* nop */
|
|
/* 02C49EC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C49EC8 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02C49EC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C49ECC */ cpu->r[29] = cpu->r[6];
|
|
/* 02C49ED0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C49ED4 */ _t2 = cpu->r[28] + 0x000001D4u;
|
|
/* 02C49ED4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C49ED8 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[0]);
|
|
/* 02C49EDC */ cpu->r[0] = 0x81020000u;
|
|
/* 02C49EE0 */ cpu->r[0] = cpu->r[0] | 0x00000409u;
|
|
/* 02C49EE4 */ cpu->r[25] = cpu->r[7];
|
|
/* 02C49EE8 */ cpu->r[31] = (uint32_t)(((int64_t)(int32_t)cpu->r[0] * (int64_t)(int32_t)cpu->r[6]) >> 32);
|
|
/* 02C49EEC */ _t3 = cpu->r[28] + 0x00000214u;
|
|
/* 02C49EEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C49EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C49EF4 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C49EF8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C49EFC */ cpu->r[31] = cpu->r[6] + cpu->r[31];
|
|
/* 02C49F00 */ /* nop */
|
|
/* 02C49F04 */ /* nop */
|
|
/* 02C49F08 */ cpu->r[26] = cpu->r[10] + 0x000001ACu;
|
|
/* 02C49F0C */ cpu->r[31] = cpu->r[31] - cpu->r[5];
|
|
/* 02C49F10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49F10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C49F10 */ if (_t5) goto L_02C49F30; else goto L_02C49F14;
|
|
L_02C49F14: ; // 0x2c49f14
|
|
/* 02C49F14 */ _t6 = cpu->r[28] + 0x00000218u;
|
|
/* 02C49F14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C49F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C49F1C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49F1C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C49F1C */ if (_t8) goto L_02C49F30; else goto L_02C49F20;
|
|
L_02C49F20: ; // 0x2c49f20
|
|
/* 02C49F20 */ _t9 = cpu->r[30] + 0x00000224u;
|
|
/* 02C49F20 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[27]);
|
|
/* 02C49F24 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C49F28 */ Gambit_fn_02C45124(cpu);
|
|
/* 02C49F2C */ _t10 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02C49F2C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[1]);
|
|
L_02C49F30: ; // 0x2c49f30
|
|
/* 02C49F30 */ _t11 = cpu->r[28] + 0x0000010Bu;
|
|
/* 02C49F30 */ cpu->r[10] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C49F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C49F38 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49F38 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C49F38 */ if (_t13) goto L_02C49FAC; else goto L_02C49F3C;
|
|
L_02C49F3C: ; // 0x2c49f3c
|
|
/* 02C49F3C */ _t14 = cpu->r[28] + 0x00000218u;
|
|
/* 02C49F3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C49F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C49F44 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49F44 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C49F44 */ if (_t16) goto L_02C49FB4; else goto L_02C49F48;
|
|
L_02C49F48: ; // 0x2c49f48
|
|
/* 02C49F48 */ _t17 = cpu->r[30] + 0x00000010u;
|
|
/* 02C49F48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C49F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000004u);
|
|
/* 02C49F50 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49F50 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C49F50 */ if (_t19) goto L_02C49F54; else goto L_02C49F88;
|
|
L_02C49F54: ; // 0x2c49f54
|
|
/* 02C49F54 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C49F58 */ Gambit_fn_02C449C8(cpu);
|
|
/* 02C49F5C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C49F60 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C49F64 */ Gambit_fn_02C3CFA0(cpu);
|
|
/* 02C49F68 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C49F6C */ Gambit_fn_02C44920(cpu);
|
|
/* 02C49F70 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C49F74 */ cpu->r[11] = 0x00000003u;
|
|
/* 02C49F78 */ cpu->r[9] = cpu->r[9] + 0xFFFFD264u;
|
|
/* 02C49F7C */ cpu->r[10] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49F80 */ cpu->ctr = cpu->r[11];
|
|
/* 02C49F84 */ goto L_02C49FC8;
|
|
L_02C49F88: ; // 0x2c49f88
|
|
/* 02C49F88 */ _t20 = cpu->r[30] + 0x00000224u;
|
|
/* 02C49F88 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[27]);
|
|
/* 02C49F8C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C49F90 */ Gambit_fn_02C45124(cpu);
|
|
/* 02C49F94 */ _t21 = cpu->r[30] + 0x00000218u;
|
|
/* 02C49F94 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 02C49F98 */ _t22 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02C49F98 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[1]);
|
|
/* 02C49F9C */ _t23 = cpu->r[28] + 0x000001DCu;
|
|
/* 02C49F9C */ cpu->r[4] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C49FA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000007Fu);
|
|
/* 02C49FA4 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C49FA4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C49FA4 */ if (_t25) goto L_02C4A0B4; else goto L_02C49FA8;
|
|
L_02C49FA8: ; // 0x2c49fa8
|
|
/* 02C49FA8 */ goto L_02C4A0AC;
|
|
L_02C49FAC: ; // 0x2c49fac
|
|
/* 02C49FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C49FB0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C49FB0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C49FB0 */ if (_t27) goto L_02C49FB4; else goto L_02C4A0A0;
|
|
L_02C49FB4: ; // 0x2c49fb4
|
|
/* 02C49FB4 */ cpu->r[11] = 0x00000003u;
|
|
/* 02C49FB8 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C49FBC */ cpu->r[10] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C49FC0 */ cpu->ctr = cpu->r[11];
|
|
/* 02C49FC4 */ cpu->r[9] = cpu->r[9] + 0xFFFFD264u;
|
|
L_02C49FC8: ; // 0x2c49fc8
|
|
/* 02C49FC8 */ _t28 = cpu->r[9] + 0x00000004u;
|
|
/* 02C49FC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C49FCC */ _t29 = cpu->r[10] + 0x00000004u;
|
|
/* 02C49FCC */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 02C49FD0 */ _t30 = cpu->r[9] + 0x00000008u;
|
|
/* 02C49FD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C49FD4 */ _t31 = cpu->r[10] + 0x00000008u;
|
|
/* 02C49FD4 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02C49FD8 */ _t32 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C49FD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C49FD8 */ cpu->r[9] = _t32;
|
|
/* 02C49FDC */ _t33 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C49FDC */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02C49FDC */ cpu->r[10] = _t33;
|
|
/* 02C49FE0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C49FE0 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C49FE0 */ _t35 = _t34 >> (0x00000002u & 31u);
|
|
/* 02C49FE0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C49FE0 */ if (_t36) goto L_02C49FC8; else goto L_02C49FE4;
|
|
L_02C49FE4: ; // 0x2c49fe4
|
|
/* 02C49FE4 */ _t37 = cpu->r[28] + 0x000001D6u;
|
|
/* 02C49FE4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02C49FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C49FEC */ _t38 = cpu->r[28] + 0x00000168u;
|
|
/* 02C49FEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C49FF0 */ _t39 = cpu->r[1] + 0x00000018u;
|
|
/* 02C49FF0 */ rbrew_write32(cpu->mem, _t39, cpu->r[31]);
|
|
/* 02C49FF4 */ /* nop */
|
|
/* 02C49FF8 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02C49FF8 */ rbrew_write32(cpu->mem, _t40, cpu->r[27]);
|
|
/* 02C49FFC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C4A000 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A000 */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
|
|
/* 02C4A004 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A004 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C4A004 */ if (_t43) goto L_02C4A008; else goto L_02C4A00C;
|
|
L_02C4A008: ; // 0x2c4a008
|
|
/* 02C4A008 */ cpu->r[0] = cpu->r[29];
|
|
L_02C4A00C: ; // 0x2c4a00c
|
|
/* 02C4A00C */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4A00C */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02C4A010 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02C4A010 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 02C4A014 */ _t46 = cpu->r[26] + 0x00000000u;
|
|
/* 02C4A014 */ cpu->r[10] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02C4A018 */ _t47 = cpu->r[28] + 0x000001D9u;
|
|
/* 02C4A018 */ cpu->r[11] = rbrew_read8(cpu->mem, _t47);
|
|
/* 02C4A01C */ _t48 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4A01C */ rbrew_write32(cpu->mem, _t48, cpu->r[28]);
|
|
/* 02C4A020 */ cpu->r[9] = cpu->r[10] + cpu->r[11];
|
|
/* 02C4A024 */ _t49 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A024 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C4A028 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4A028 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 02C4A02C */ _t51 = cpu->r[3] + 0x0000004Cu;
|
|
/* 02C4A02C */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C4A030 */ _t52 = cpu->r[28] + 0x00000167u;
|
|
/* 02C4A030 */ cpu->r[4] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02C4A034 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4A038 */ _t53 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4A038 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 02C4A03C */ Gambit_fn_02C49130(cpu);
|
|
/* 02C4A040 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4A040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4A044 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A044 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C4A044 */ if (_t55) goto L_02C4A2D8; else goto L_02C4A048;
|
|
L_02C4A048: ; // 0x2c4a048
|
|
/* 02C4A048 */ _t56 = cpu->r[30] + 0x00000226u;
|
|
/* 02C4A048 */ cpu->r[0] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02C4A04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4A050 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A050 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C4A050 */ if (_t58) goto L_02C4A094; else goto L_02C4A054;
|
|
L_02C4A054: ; // 0x2c4a054
|
|
/* 02C4A054 */ _t59 = cpu->r[28] + 0x00000218u;
|
|
/* 02C4A054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C4A058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4A05C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A05C */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C4A05C */ if (_t61) goto L_02C4A094; else goto L_02C4A060;
|
|
L_02C4A060: ; // 0x2c4a060
|
|
/* 02C4A060 */ _t62 = cpu->r[31] + 0x00000226u;
|
|
/* 02C4A060 */ cpu->r[5] = rbrew_read8(cpu->mem, _t62);
|
|
/* 02C4A064 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02C4A068 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A068 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C4A068 */ if (_t64) goto L_02C4A06C; else goto L_02C4A080;
|
|
L_02C4A06C: ; // 0x2c4a06c
|
|
/* 02C4A06C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C4A070 */ cpu->r[4] = 0x0000007Eu;
|
|
/* 02C4A074 */ Gambit_fn_02C3A41C(cpu);
|
|
/* 02C4A078 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4A07C */ Gambit_fn_02C3A448(cpu);
|
|
L_02C4A080: ; // 0x2c4a080
|
|
/* 02C4A080 */ _t65 = cpu->r[31] + 0x0000023Cu;
|
|
/* 02C4A080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C4A084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4A088 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A088 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C4A088 */ if (_t67) goto L_02C4A094; else goto L_02C4A08C;
|
|
L_02C4A08C: ; // 0x2c4a08c
|
|
/* 02C4A08C */ _t68 = cpu->r[30] + 0x00000226u;
|
|
/* 02C4A08C */ cpu->r[0] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02C4A090 */ goto L_02C4A060;
|
|
L_02C4A094: ; // 0x2c4a094
|
|
/* 02C4A094 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4A098 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4A09C */ Gambit_fn_02C49EAC(cpu);
|
|
L_02C4A0A0: ; // 0x2c4a0a0
|
|
/* 02C4A0A0 */ _t69 = cpu->r[28] + 0x000001DCu;
|
|
/* 02C4A0A0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02C4A0A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000007Fu);
|
|
/* 02C4A0A8 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4A0A8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C4A0A8 */ if (_t71) goto L_02C4A0B4; else goto L_02C4A0AC;
|
|
L_02C4A0AC: ; // 0x2c4a0ac
|
|
/* 02C4A0AC */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C4A0B0 */ Gambit_fn_02C3CB64(cpu);
|
|
L_02C4A0B4: ; // 0x2c4a0b4
|
|
/* 02C4A0B4 */ _t72 = cpu->r[28] + 0x000001DDu;
|
|
/* 02C4A0B4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t72);
|
|
/* 02C4A0B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000007Fu);
|
|
/* 02C4A0BC */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4A0BC */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C4A0BC */ if (_t74) goto L_02C4A0C8; else goto L_02C4A0C0;
|
|
L_02C4A0C0: ; // 0x2c4a0c0
|
|
/* 02C4A0C0 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C4A0C4 */ Gambit_fn_02C3CB94(cpu);
|
|
L_02C4A0C8: ; // 0x2c4a0c8
|
|
/* 02C4A0C8 */ _t75 = cpu->r[28] + 0x000001DEu;
|
|
/* 02C4A0C8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t75);
|
|
/* 02C4A0CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000007Fu);
|
|
/* 02C4A0D0 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4A0D0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C4A0D0 */ if (_t77) goto L_02C4A0DC; else goto L_02C4A0D4;
|
|
L_02C4A0D4: ; // 0x2c4a0d4
|
|
/* 02C4A0D4 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C4A0D8 */ Gambit_fn_02C3CBC0(cpu);
|
|
L_02C4A0DC: ; // 0x2c4a0dc
|
|
/* 02C4A0DC */ _t78 = cpu->r[28] + 0x000001DFu;
|
|
/* 02C4A0DC */ cpu->r[4] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02C4A0E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000007Fu);
|
|
/* 02C4A0E4 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4A0E4 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C4A0E4 */ if (_t80) goto L_02C4A0F0; else goto L_02C4A0E8;
|
|
L_02C4A0E8: ; // 0x2c4a0e8
|
|
/* 02C4A0E8 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C4A0EC */ Gambit_fn_02C3A41C(cpu);
|
|
L_02C4A0F0: ; // 0x2c4a0f0
|
|
/* 02C4A0F0 */ _t81 = cpu->r[28] + 0x000001E0u;
|
|
/* 02C4A0F0 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t81);
|
|
/* 02C4A0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000007Fu);
|
|
/* 02C4A0F8 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4A0F8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C4A0F8 */ if (_t83) goto L_02C4A104; else goto L_02C4A0FC;
|
|
L_02C4A0FC: ; // 0x2c4a0fc
|
|
/* 02C4A0FC */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02C4A100 */ Gambit_fn_02C3CB7C(cpu);
|
|
L_02C4A104: ; // 0x2c4a104
|
|
/* 02C4A104 */ _t84 = cpu->r[28] + 0x00000165u;
|
|
/* 02C4A104 */ cpu->r[7] = rbrew_read8(cpu->mem, _t84);
|
|
/* 02C4A108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C4A10C */ _t85 = cpu->r[28] + 0x0000016Cu;
|
|
/* 02C4A10C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02C4A110 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A110 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02C4A110 */ if (_t87) goto L_02C4A144; else goto L_02C4A114;
|
|
L_02C4A114: ; // 0x2c4a114
|
|
/* 02C4A114 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C4A118 */ _t88 = cpu->r[28] + 0x000001DAu;
|
|
/* 02C4A118 */ cpu->r[8] = rbrew_read8(cpu->mem, _t88);
|
|
/* 02C4A11C */ cpu->r[12] = 0x43300000u;
|
|
/* 02C4A120 */ _t89 = cpu->r[9] + 0xFFFFCFA8u;
|
|
/* 02C4A120 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t89);
|
|
/* 02C4A124 */ cpu->r[9] = cpu->r[8] - cpu->r[27];
|
|
/* 02C4A128 */ _t90 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A128 */ rbrew_write32(cpu->mem, _t90, cpu->r[12]);
|
|
/* 02C4A12C */ cpu->r[0] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02C4A130 */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A130 */ rbrew_write32(cpu->mem, _t91, cpu->r[0]);
|
|
/* 02C4A134 */ _t92 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A134 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t92);
|
|
/* 02C4A138 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 02C4A13C */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 02C4A140 */ cpu->f[1] = cpu->f[1] + cpu->f[0];
|
|
L_02C4A144: ; // 0x2c4a144
|
|
/* 02C4A144 */ _t93 = cpu->r[28] + 0x000001DBu;
|
|
/* 02C4A144 */ cpu->r[0] = rbrew_read8(cpu->mem, _t93);
|
|
/* 02C4A148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4A14C */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A14C */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C4A14C */ if (_t95) goto L_02C4A150; else goto L_02C4A180;
|
|
L_02C4A150: ; // 0x2c4a150
|
|
/* 02C4A150 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C4A154 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4A158 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4A15C */ Gambit_fn_02C44FCC(cpu);
|
|
/* 02C4A160 */ _t96 = cpu->r[28] + 0x0000015Fu;
|
|
/* 02C4A160 */ cpu->r[0] = rbrew_read8(cpu->mem, _t96);
|
|
/* 02C4A164 */ _t97 = cpu->r[28] + 0x000001DAu;
|
|
/* 02C4A164 */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[27]);
|
|
/* 02C4A168 */ _t98 = cpu->r[30] + 0x0000020Au;
|
|
/* 02C4A168 */ cpu->r[9] = rbrew_read16(cpu->mem, _t98);
|
|
/* 02C4A16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4A170 */ cpu->r[0] = 0x000000FFu;
|
|
/* 02C4A174 */ _t99 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02C4A174 */ cpu->r[8] = rbrew_read16(cpu->mem, _t99);
|
|
/* 02C4A178 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A178 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C4A178 */ if (_t101) goto L_02C4A1F4; else goto L_02C4A17C;
|
|
L_02C4A17C: ; // 0x2c4a17c
|
|
/* 02C4A17C */ goto L_02C4A1F0;
|
|
L_02C4A180: ; // 0x2c4a180
|
|
/* 02C4A180 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[0]);
|
|
/* 02C4A184 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4A188 */ cpu->r[6] = 0x43300000u;
|
|
/* 02C4A18C */ _t102 = cpu->r[12] + 0xFFFFCFA8u;
|
|
/* 02C4A18C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t102);
|
|
/* 02C4A190 */ cpu->r[7] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C4A194 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A194 */ rbrew_write32(cpu->mem, _t103, cpu->r[6]);
|
|
/* 02C4A198 */ _t104 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4A198 */ rbrew_write32(cpu->mem, _t104, cpu->r[7]);
|
|
/* 02C4A19C */ _t105 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A19C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t105);
|
|
/* 02C4A1A0 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 02C4A1A4 */ cpu->f[13] = fabs(cpu->f[1]);
|
|
/* 02C4A1A8 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02C4A1AC */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 02C4A1B0 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 02C4A1B4 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A1B8 */ /* nop */
|
|
/* 02C4A1BC */ _t106 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4A1BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02C4A1C0 */ /* nop */
|
|
/* 02C4A1C4 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000005u);
|
|
/* 02C4A1C8 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C4A1CC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4A1D0 */ Gambit_fn_02C44FCC(cpu);
|
|
/* 02C4A1D4 */ _t107 = cpu->r[28] + 0x0000015Fu;
|
|
/* 02C4A1D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t107);
|
|
/* 02C4A1D8 */ _t108 = cpu->r[28] + 0x000001DAu;
|
|
/* 02C4A1D8 */ rbrew_write8(cpu->mem, _t108, (uint8_t)cpu->r[27]);
|
|
/* 02C4A1DC */ _t109 = cpu->r[30] + 0x0000020Au;
|
|
/* 02C4A1DC */ cpu->r[9] = rbrew_read16(cpu->mem, _t109);
|
|
/* 02C4A1E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4A1E4 */ cpu->r[0] = 0x000000FFu;
|
|
/* 02C4A1E8 */ _t110 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02C4A1E8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t110);
|
|
/* 02C4A1EC */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4A1EC */ _t112 = _t111 & 0x00000001u;
|
|
/* 02C4A1EC */ if (_t112) goto L_02C4A1F4; else goto L_02C4A1F0;
|
|
L_02C4A1F0: ; // 0x2c4a1f0
|
|
/* 02C4A1F0 */ cpu->r[0] = 0x00000000u;
|
|
L_02C4A1F4: ; // 0x2c4a1f4
|
|
/* 02C4A1F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02C4A1F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4A1FC */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4A1FC */ _t114 = _t113 & 0x00000001u;
|
|
/* 02C4A1FC */ if (_t114) goto L_02C4A264; else goto L_02C4A200;
|
|
L_02C4A200: ; // 0x2c4a200
|
|
/* 02C4A200 */ _t115 = cpu->r[30] + 0x00000209u;
|
|
/* 02C4A200 */ cpu->r[6] = rbrew_read8(cpu->mem, _t115);
|
|
/* 02C4A204 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4A208 */ _t116 = cpu->r[30] + 0x0000020Au;
|
|
/* 02C4A208 */ rbrew_write16(cpu->mem, _t116, (uint16_t)cpu->r[7]);
|
|
/* 02C4A20C */ _t117 = cpu->r[30] + 0x00000208u;
|
|
/* 02C4A20C */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[6]);
|
|
/* 02C4A210 */ _t118 = cpu->r[30] + 0x00000209u;
|
|
/* 02C4A210 */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[0]);
|
|
/* 02C4A214 */ _t119 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02C4A214 */ rbrew_write16(cpu->mem, _t119, (uint16_t)cpu->r[7]);
|
|
/* 02C4A218 */ _t120 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A218 */ cpu->r[12] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02C4A21C */ _t121 = cpu->r[12] + 0x00000190u;
|
|
/* 02C4A21C */ cpu->r[0] = rbrew_read8(cpu->mem, _t121);
|
|
/* 02C4A220 */ _t122 = cpu->r[30] + 0x000000B4u;
|
|
/* 02C4A220 */ rbrew_write8(cpu->mem, _t122, (uint8_t)cpu->r[0]);
|
|
/* 02C4A224 */ _t123 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A224 */ cpu->r[5] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02C4A228 */ _t124 = cpu->r[5] + 0x00000040u;
|
|
/* 02C4A228 */ cpu->r[6] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02C4A22C */ _t125 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02C4A22C */ rbrew_write32(cpu->mem, _t125, cpu->r[6]);
|
|
/* 02C4A230 */ _t126 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A230 */ cpu->r[5] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02C4A234 */ _t127 = cpu->r[5] + 0x00000044u;
|
|
/* 02C4A234 */ cpu->r[8] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02C4A238 */ _t128 = cpu->r[30] + 0x00000238u;
|
|
/* 02C4A238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02C4A23C */ _t129 = cpu->r[30] + 0x00000220u;
|
|
/* 02C4A23C */ rbrew_write32(cpu->mem, _t129, cpu->r[8]);
|
|
/* 02C4A240 */ _t130 = cpu->r[28] + 0x0000015Du;
|
|
/* 02C4A240 */ cpu->r[4] = rbrew_read8(cpu->mem, _t130);
|
|
/* 02C4A244 */ Gambit_fn_02C36460(cpu);
|
|
/* 02C4A248 */ _t131 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A248 */ cpu->r[5] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02C4A24C */ _t132 = cpu->r[5] + 0x0000003Eu;
|
|
/* 02C4A24C */ cpu->r[10] = rbrew_read8(cpu->mem, _t132);
|
|
/* 02C4A250 */ _t133 = cpu->r[30] + 0x000002E9u;
|
|
/* 02C4A250 */ rbrew_write8(cpu->mem, _t133, (uint8_t)cpu->r[10]);
|
|
/* 02C4A254 */ _t134 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A254 */ cpu->r[5] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02C4A258 */ _t135 = cpu->r[5] + 0x0000004Cu;
|
|
/* 02C4A258 */ cpu->r[5] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02C4A25C */ _t136 = cpu->r[30] + 0x000002D8u;
|
|
/* 02C4A25C */ rbrew_write32(cpu->mem, _t136, cpu->r[5]);
|
|
/* 02C4A260 */ goto L_02C4A2D8;
|
|
L_02C4A264: ; // 0x2c4a264
|
|
/* 02C4A264 */ _t137 = cpu->r[30] + 0x00000208u;
|
|
/* 02C4A264 */ cpu->r[10] = rbrew_read8(cpu->mem, _t137);
|
|
/* 02C4A268 */ _t138 = cpu->r[30] + 0x00000209u;
|
|
/* 02C4A268 */ cpu->r[7] = rbrew_read8(cpu->mem, _t138);
|
|
/* 02C4A26C */ cpu->r[5] = cpu->r[7] - cpu->r[10];
|
|
/* 02C4A270 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4A274 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[8]);
|
|
/* 02C4A278 */ _t139 = cpu->r[30] + 0x0000020Au;
|
|
/* 02C4A278 */ rbrew_write16(cpu->mem, _t139, (uint16_t)cpu->r[7]);
|
|
/* 02C4A27C */ _t140 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02C4A27C */ rbrew_write16(cpu->mem, _t140, (uint16_t)cpu->r[7]);
|
|
/* 02C4A280 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[11] / (int32_t)cpu->r[9]);
|
|
/* 02C4A284 */ _t141 = cpu->r[30] + 0x00000238u;
|
|
/* 02C4A284 */ cpu->r[3] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02C4A288 */ cpu->r[6] = cpu->r[10] + cpu->r[12];
|
|
/* 02C4A28C */ _t142 = cpu->r[30] + 0x00000208u;
|
|
/* 02C4A28C */ rbrew_write8(cpu->mem, _t142, (uint8_t)cpu->r[6]);
|
|
/* 02C4A290 */ _t143 = cpu->r[30] + 0x00000209u;
|
|
/* 02C4A290 */ rbrew_write8(cpu->mem, _t143, (uint8_t)cpu->r[0]);
|
|
/* 02C4A294 */ _t144 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A294 */ cpu->r[12] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02C4A298 */ _t145 = cpu->r[12] + 0x00000190u;
|
|
/* 02C4A298 */ cpu->r[0] = rbrew_read8(cpu->mem, _t145);
|
|
/* 02C4A29C */ _t146 = cpu->r[30] + 0x000000B4u;
|
|
/* 02C4A29C */ rbrew_write8(cpu->mem, _t146, (uint8_t)cpu->r[0]);
|
|
/* 02C4A2A0 */ _t147 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A2A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02C4A2A4 */ _t148 = cpu->r[5] + 0x00000040u;
|
|
/* 02C4A2A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02C4A2A8 */ _t149 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02C4A2A8 */ rbrew_write32(cpu->mem, _t149, cpu->r[6]);
|
|
/* 02C4A2AC */ _t150 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A2AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02C4A2B0 */ _t151 = cpu->r[5] + 0x00000044u;
|
|
/* 02C4A2B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02C4A2B4 */ _t152 = cpu->r[30] + 0x00000220u;
|
|
/* 02C4A2B4 */ rbrew_write32(cpu->mem, _t152, cpu->r[8]);
|
|
/* 02C4A2B8 */ _t153 = cpu->r[28] + 0x0000015Du;
|
|
/* 02C4A2B8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t153);
|
|
/* 02C4A2BC */ Gambit_fn_02C36460(cpu);
|
|
/* 02C4A2C0 */ _t154 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A2C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02C4A2C4 */ _t155 = cpu->r[5] + 0x0000003Eu;
|
|
/* 02C4A2C4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t155);
|
|
/* 02C4A2C8 */ _t156 = cpu->r[30] + 0x000002E9u;
|
|
/* 02C4A2C8 */ rbrew_write8(cpu->mem, _t156, (uint8_t)cpu->r[10]);
|
|
/* 02C4A2CC */ _t157 = cpu->r[28] + 0x00000214u;
|
|
/* 02C4A2CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02C4A2D0 */ _t158 = cpu->r[5] + 0x0000004Cu;
|
|
/* 02C4A2D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02C4A2D4 */ _t159 = cpu->r[30] + 0x000002D8u;
|
|
/* 02C4A2D4 */ rbrew_write32(cpu->mem, _t159, cpu->r[5]);
|
|
L_02C4A2D8: ; // 0x2c4a2d8
|
|
/* 02C4A2D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4A2DC */ /* nop */
|
|
/* 02C4A2E0 */ _t160 = cpu->r[1] + 0x00000054u;
|
|
/* 02C4A2E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02C4A2E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C4A2E8 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C4A2EC */ return;
|
|
L_02C4CD00: ; // 0x2c4cd00
|
|
/* 02C4CD00 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C4CD04 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C4CD08 */ cpu->r[5] = cpu->r[6];
|
|
/* 02C4CD0C */ cpu->r[6] = cpu->r[7];
|
|
/* 02C4CD10 */ cpu->r[7] = cpu->r[8];
|
|
/* 02C4CD14 */ goto L_02C49EBC;
|
|
}
|
|
|
|
// fn_02C4CD18 @ 0x2c4cd18
|
|
void Gambit_fn_02C4CD18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C4CD18: ; // 0x2c4cd18
|
|
/* 02C4CD18 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4CD1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4CD1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4CD1C */ cpu->r[1] = _t0;
|
|
/* 02C4CD20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CD20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4CD24 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4CD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4CD28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CD28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4CD2C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CD2C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4CD2C */ if (_t4) goto L_02C4CD30; else goto L_02C4CD40;
|
|
L_02C4CD30: ; // 0x2c4cd30
|
|
/* 02C4CD30 */ cpu->r[3] = 0x00000224u;
|
|
/* 02C4CD34 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4CD38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4CD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4CD3C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CD3C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4CD3C */ if (_t6) goto L_02C4CD54; else goto L_02C4CD40;
|
|
L_02C4CD40: ; // 0x2c4cd40
|
|
/* 02C4CD40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4CD44 */ Gambit_fn_02C4A63C(cpu);
|
|
/* 02C4CD48 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C4CD4C */ cpu->r[0] = cpu->r[0] + 0xFFFFEBD4u;
|
|
/* 02C4CD50 */ _t7 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02C4CD50 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_02C4CD54: ; // 0x2c4cd54
|
|
/* 02C4CD54 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4CD58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4CD5C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CD5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4CD60 */ cpu->lr = cpu->r[0];
|
|
/* 02C4CD64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4CD68 */ return;
|
|
}
|
|
|
|
// fn_02C4CD1C @ 0x2c4cd1c
|
|
void Gambit_fn_02C4CD1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C4CD1C: ; // 0x2c4cd1c
|
|
/* 02C4CD1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4CD1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4CD1C */ cpu->r[1] = _t0;
|
|
/* 02C4CD20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CD20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4CD24 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4CD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4CD28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CD28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4CD2C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CD2C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4CD2C */ if (_t4) goto L_02C4CD30; else goto L_02C4CD40;
|
|
L_02C4CD30: ; // 0x2c4cd30
|
|
/* 02C4CD30 */ cpu->r[3] = 0x00000224u;
|
|
/* 02C4CD34 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4CD38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4CD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4CD3C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CD3C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4CD3C */ if (_t6) goto L_02C4CD54; else goto L_02C4CD40;
|
|
L_02C4CD40: ; // 0x2c4cd40
|
|
/* 02C4CD40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4CD44 */ Gambit_fn_02C4A63C(cpu);
|
|
/* 02C4CD48 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C4CD4C */ cpu->r[0] = cpu->r[0] + 0xFFFFEBD4u;
|
|
/* 02C4CD50 */ _t7 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02C4CD50 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_02C4CD54: ; // 0x2c4cd54
|
|
/* 02C4CD54 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4CD58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4CD5C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CD5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4CD60 */ cpu->lr = cpu->r[0];
|
|
/* 02C4CD64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4CD68 */ return;
|
|
}
|
|
|
|
// fn_02C4CD6C @ 0x2c4cd6c
|
|
void Gambit_fn_02C4CD6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201;
|
|
|
|
L_02C4AB7C: ; // 0x2c4ab7c
|
|
/* 02C4AB7C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C4AB7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4AB7C */ cpu->r[1] = _t0;
|
|
/* 02C4AB80 */ /* nop */
|
|
/* 02C4AB84 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4AB88 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4AB88 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4AB8C */ cpu->r[29] = cpu->r[4];
|
|
/* 02C4AB90 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C4AB94 */ _t2 = cpu->r[29] + 0x00000104u;
|
|
/* 02C4AB94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4AB98 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C4AB9C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C4ABA0 */ cpu->r[10] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4ABA4 */ cpu->r[27] = 0x00000001u;
|
|
/* 02C4ABA8 */ _t3 = cpu->r[29] + 0x00000104u;
|
|
/* 02C4ABA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C4ABAC */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4ABAC */ cpu->r[30] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C4ABB0 */ cpu->r[26] = cpu->r[29] + 0x00000100u;
|
|
/* 02C4ABB4 */ cpu->r[23] = cpu->r[5];
|
|
/* 02C4ABB8 */ cpu->r[11] = cpu->r[5];
|
|
/* 02C4ABBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A2u);
|
|
/* 02C4ABC0 */ _t5 = cpu->r[29] + 0x00000214u;
|
|
/* 02C4ABC0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4ABC4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ABC4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4ABC4 */ if (_t7) goto L_02C4ABC8; else goto L_02C4ABDC;
|
|
L_02C4ABC8: ; // 0x2c4abc8
|
|
/* 02C4ABC8 */ _t8 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4ABC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4ABCC */ _t9 = cpu->r[26] + 0x00000008u;
|
|
/* 02C4ABCC */ cpu->r[27] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C4ABD0 */ cpu->r[6] = cpu->r[8] + 0x00000001u;
|
|
/* 02C4ABD4 */ _t10 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4ABD4 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 02C4ABD8 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 02C4ABD8 */ cpu->r[30] = rbrew_read8(cpu->mem, _t11);
|
|
L_02C4ABDC: ; // 0x2c4abdc
|
|
/* 02C4ABDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A3u);
|
|
/* 02C4ABE0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ABE0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C4ABE0 */ if (_t13) goto L_02C4ABE4; else goto L_02C4AC04;
|
|
L_02C4ABE4: ; // 0x2c4abe4
|
|
/* 02C4ABE4 */ _t14 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4ABE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4ABE8 */ cpu->r[10] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4ABEC */ _t15 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4ABEC */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02C4ABF0 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4ABF0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C4ABF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A0u);
|
|
/* 02C4ABF8 */ cpu->r[23] = 0x00000002u;
|
|
/* 02C4ABFC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ABFC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4ABFC */ if (_t18) goto L_02C4AC00; else goto L_02C4AC6C;
|
|
L_02C4AC00: ; // 0x2c4ac00
|
|
/* 02C4AC00 */ goto L_02C4AC50;
|
|
L_02C4AC04: ; // 0x2c4ac04
|
|
/* 02C4AC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A4u);
|
|
/* 02C4AC08 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AC08 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4AC08 */ if (_t20) goto L_02C4AC0C; else goto L_02C4AC2C;
|
|
L_02C4AC0C: ; // 0x2c4ac0c
|
|
/* 02C4AC0C */ _t21 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C4AC10 */ cpu->r[7] = cpu->r[9] + 0x00000001u;
|
|
/* 02C4AC14 */ _t22 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC14 */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 02C4AC18 */ _t23 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4AC18 */ cpu->r[30] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C4AC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A0u);
|
|
/* 02C4AC20 */ cpu->r[23] = 0x00000004u;
|
|
/* 02C4AC24 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AC24 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C4AC24 */ if (_t25) goto L_02C4AC28; else goto L_02C4AC6C;
|
|
L_02C4AC28: ; // 0x2c4ac28
|
|
/* 02C4AC28 */ goto L_02C4AC50;
|
|
L_02C4AC2C: ; // 0x2c4ac2c
|
|
/* 02C4AC2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A5u);
|
|
/* 02C4AC30 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AC30 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C4AC30 */ if (_t27) goto L_02C4AC34; else goto L_02C4AC48;
|
|
L_02C4AC34: ; // 0x2c4ac34
|
|
/* 02C4AC34 */ _t28 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C4AC38 */ cpu->r[10] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4AC3C */ _t29 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC3C */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
|
|
/* 02C4AC40 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4AC40 */ cpu->r[30] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02C4AC44 */ cpu->r[23] = 0x00000005u;
|
|
L_02C4AC48: ; // 0x2c4ac48
|
|
/* 02C4AC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A0u);
|
|
/* 02C4AC4C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AC4C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C4AC4C */ if (_t32) goto L_02C4AC50; else goto L_02C4AC6C;
|
|
L_02C4AC50: ; // 0x2c4ac50
|
|
/* 02C4AC50 */ _t33 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C4AC54 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C4AC58 */ cpu->r[7] = cpu->r[9] + 0x00000001u;
|
|
/* 02C4AC5C */ cpu->r[11] = 0x00000001u;
|
|
/* 02C4AC60 */ _t34 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC60 */ rbrew_write32(cpu->mem, _t34, cpu->r[7]);
|
|
/* 02C4AC64 */ _t35 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4AC64 */ cpu->r[30] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02C4AC68 */ goto L_02C4AC8C;
|
|
L_02C4AC6C: ; // 0x2c4ac6c
|
|
/* 02C4AC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A1u);
|
|
/* 02C4AC70 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AC70 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C4AC70 */ if (_t37) goto L_02C4AC74; else goto L_02C4AC8C;
|
|
L_02C4AC74: ; // 0x2c4ac74
|
|
/* 02C4AC74 */ _t38 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C4AC78 */ cpu->r[12] = cpu->r[7] + 0x00000001u;
|
|
/* 02C4AC7C */ cpu->r[5] = 0x00000005u;
|
|
/* 02C4AC80 */ _t39 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC80 */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 02C4AC84 */ _t40 = cpu->r[7] + 0x00000000u;
|
|
/* 02C4AC84 */ cpu->r[30] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C4AC88 */ cpu->r[11] = 0x00000001u;
|
|
L_02C4AC8C: ; // 0x2c4ac8c
|
|
/* 02C4AC8C */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x00000018u);
|
|
/* 02C4AC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4AC90 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AC90 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C4AC90 */ if (_t42) goto L_02C4AC94; else goto L_02C4AD70;
|
|
L_02C4AC94: ; // 0x2c4ac94
|
|
/* 02C4AC94 */ _t43 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AC94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C4AC98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4AC9C */ cpu->r[0] = cpu->r[10] + 0x00000001u;
|
|
/* 02C4ACA0 */ cpu->r[7] = 0x00000003u;
|
|
/* 02C4ACA4 */ _t44 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4ACA4 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02C4ACA8 */ _t45 = cpu->r[10] + 0x00000000u;
|
|
/* 02C4ACA8 */ cpu->r[25] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02C4ACAC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ACAC */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C4ACAC */ if (_t47) goto L_02C4ACB4; else goto L_02C4ACB0;
|
|
L_02C4ACB0: ; // 0x2c4acb0
|
|
/* 02C4ACB0 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4ACB4: ; // 0x2c4acb4
|
|
/* 02C4ACB4 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4ACB8 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4ACBC */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4ACC0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4ACC4 */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4ACC8 */ _t48 = cpu->r[26] + 0x000000D8u;
|
|
/* 02C4ACC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02C4ACCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4ACD0 */ /* nop */
|
|
/* 02C4ACD4 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C4ACD8 */ cpu->r[5] = cpu->r[30] + cpu->r[0];
|
|
/* 02C4ACDC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ACDC */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C4ACDC */ if (_t50) goto L_02C4B278; else goto L_02C4ACE0;
|
|
L_02C4ACE0: ; // 0x2c4ace0
|
|
/* 02C4ACE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000007Fu);
|
|
/* 02C4ACE4 */ cpu->r[11] = 0x0000007Fu;
|
|
/* 02C4ACE8 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4ACE8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C4ACE8 */ if (_t52) goto L_02C4ACFC; else goto L_02C4ACEC;
|
|
L_02C4ACEC: ; // 0x2c4acec
|
|
/* 02C4ACEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4ACF0 */ cpu->r[11] = cpu->r[5];
|
|
/* 02C4ACF4 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4ACF4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C4ACF4 */ if (_t54) goto L_02C4ACF8; else goto L_02C4ACFC;
|
|
L_02C4ACF8: ; // 0x2c4acf8
|
|
/* 02C4ACF8 */ cpu->r[11] = 0x00000000u;
|
|
L_02C4ACFC: ; // 0x2c4acfc
|
|
/* 02C4ACFC */ _t55 = cpu->r[26] + 0x0000005Eu;
|
|
/* 02C4ACFC */ cpu->r[5] = rbrew_read8(cpu->mem, _t55);
|
|
/* 02C4AD00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4AD04 */ cpu->r[5] = cpu->r[11];
|
|
/* 02C4AD08 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD08 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C4AD08 */ if (_t57) goto L_02C4AD0C; else goto L_02C4AD48;
|
|
L_02C4AD0C: ; // 0x2c4ad0c
|
|
/* 02C4AD0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4AD10 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD10 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C4AD10 */ if (_t59) goto L_02C4AD48; else goto L_02C4AD14;
|
|
L_02C4AD14: ; // 0x2c4ad14
|
|
/* 02C4AD14 */ _t60 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4AD14 */ cpu->r[6] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C4AD18 */ cpu->r[7] = cpu->r[27];
|
|
/* 02C4AD1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AD20 */ cpu->r[12] = cpu->r[6] + 0x00000018u;
|
|
/* 02C4AD24 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4AD24 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C4AD24 */ if (_t62) goto L_02C4AD2C; else goto L_02C4AD28;
|
|
L_02C4AD28: ; // 0x2c4ad28
|
|
/* 02C4AD28 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
L_02C4AD2C: ; // 0x2c4ad2c
|
|
/* 02C4AD2C */ _t63 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4AD2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C4AD30 */ cpu->ctr = cpu->r[8];
|
|
/* 02C4AD34 */ _t64 = cpu->r[26] + 0x0000000Au;
|
|
/* 02C4AD34 */ cpu->r[8] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02C4AD38 */ cpu->r[6] = cpu->r[25];
|
|
/* 02C4AD3C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4AD40 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AD44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4AD48: ; // 0x2c4ad48
|
|
/* 02C4AD48 */ _t65 = cpu->r[26] + 0x00000009u;
|
|
/* 02C4AD48 */ cpu->r[9] = rbrew_read8(cpu->mem, _t65);
|
|
/* 02C4AD4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C4AD50 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD50 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C4AD50 */ if (_t67) goto L_02C4B278; else goto L_02C4AD54;
|
|
L_02C4AD54: ; // 0x2c4ad54
|
|
/* 02C4AD54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AD58 */ _t68 = cpu->r[26] + 0x00000060u;
|
|
/* 02C4AD58 */ rbrew_write32(cpu->mem, _t68, cpu->r[27]);
|
|
/* 02C4AD5C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD5C */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C4AD5C */ if (_t70) goto L_02C4AD60; else goto L_02C4B278;
|
|
L_02C4AD60: ; // 0x2c4ad60
|
|
/* 02C4AD60 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C4AD64 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AD68 */ _t71 = cpu->r[26] + 0x00000064u;
|
|
/* 02C4AD68 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[10]);
|
|
/* 02C4AD6C */ goto L_02C4B27C;
|
|
L_02C4AD70: ; // 0x2c4ad70
|
|
/* 02C4AD70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C4AD74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000C0u);
|
|
/* 02C4AD78 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C4AD7C */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4AD7C */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C4AD7C */ if (_t73) goto L_02C4AD80; else goto L_02C4ADA0;
|
|
L_02C4AD80: ; // 0x2c4ad80
|
|
/* 02C4AD80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000080u);
|
|
/* 02C4AD84 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD84 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C4AD84 */ if (_t75) goto L_02C4ADC8; else goto L_02C4AD88;
|
|
L_02C4AD88: ; // 0x2c4ad88
|
|
/* 02C4AD88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000090u);
|
|
/* 02C4AD8C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD8C */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C4AD8C */ if (_t77) goto L_02C4B000; else goto L_02C4AD90;
|
|
L_02C4AD90: ; // 0x2c4ad90
|
|
/* 02C4AD90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000B0u);
|
|
/* 02C4AD94 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AD94 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C4AD94 */ if (_t79) goto L_02C4AF64; else goto L_02C4AD98;
|
|
L_02C4AD98: ; // 0x2c4ad98
|
|
/* 02C4AD98 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AD9C */ goto L_02C4B27C;
|
|
L_02C4ADA0: ; // 0x2c4ada0
|
|
/* 02C4ADA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000C0u);
|
|
/* 02C4ADA4 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADA4 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02C4ADA4 */ if (_t81) goto L_02C4AF64; else goto L_02C4ADA8;
|
|
L_02C4ADA8: ; // 0x2c4ada8
|
|
/* 02C4ADA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000D0u);
|
|
/* 02C4ADAC */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADAC */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C4ADAC */ if (_t83) goto L_02C4AF64; else goto L_02C4ADB0;
|
|
L_02C4ADB0: ; // 0x2c4adb0
|
|
/* 02C4ADB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000E0u);
|
|
/* 02C4ADB4 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADB4 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02C4ADB4 */ if (_t85) goto L_02C4B034; else goto L_02C4ADB8;
|
|
L_02C4ADB8: ; // 0x2c4adb8
|
|
/* 02C4ADB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000F0u);
|
|
/* 02C4ADBC */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADBC */ _t87 = _t86 & 0x00000001u;
|
|
/* 02C4ADBC */ if (_t87) goto L_02C4B090; else goto L_02C4ADC0;
|
|
L_02C4ADC0: ; // 0x2c4adc0
|
|
/* 02C4ADC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4ADC4 */ goto L_02C4B27C;
|
|
L_02C4ADC8: ; // 0x2c4adc8
|
|
/* 02C4ADC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000088u);
|
|
/* 02C4ADCC */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4ADCC */ _t89 = _t88 & 0x00000001u;
|
|
/* 02C4ADCC */ if (_t89) goto L_02C4ADD0; else goto L_02C4ADE8;
|
|
L_02C4ADD0: ; // 0x2c4add0
|
|
/* 02C4ADD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000080u);
|
|
/* 02C4ADD4 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADD4 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02C4ADD4 */ if (_t91) goto L_02C4AE04; else goto L_02C4ADD8;
|
|
L_02C4ADD8: ; // 0x2c4add8
|
|
/* 02C4ADD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000081u);
|
|
/* 02C4ADDC */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADDC */ _t93 = _t92 & 0x00000001u;
|
|
/* 02C4ADDC */ if (_t93) goto L_02C4AE3C; else goto L_02C4ADE0;
|
|
L_02C4ADE0: ; // 0x2c4ade0
|
|
/* 02C4ADE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4ADE4 */ goto L_02C4B27C;
|
|
L_02C4ADE8: ; // 0x2c4ade8
|
|
/* 02C4ADE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000089u);
|
|
/* 02C4ADEC */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4ADEC */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C4ADEC */ if (_t95) goto L_02C4AE98; else goto L_02C4ADF0;
|
|
L_02C4ADF0: ; // 0x2c4adf0
|
|
/* 02C4ADF0 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADF0 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C4ADF0 */ if (_t97) goto L_02C4AEE4; else goto L_02C4ADF4;
|
|
L_02C4ADF4: ; // 0x2c4adf4
|
|
/* 02C4ADF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x0000008Au);
|
|
/* 02C4ADF8 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ADF8 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02C4ADF8 */ if (_t99) goto L_02C4AF24; else goto L_02C4ADFC;
|
|
L_02C4ADFC: ; // 0x2c4adfc
|
|
/* 02C4ADFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AE00 */ goto L_02C4B27C;
|
|
L_02C4AE04: ; // 0x2c4ae04
|
|
/* 02C4AE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4AE08 */ cpu->r[7] = 0x00000003u;
|
|
/* 02C4AE0C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AE0C */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C4AE0C */ if (_t101) goto L_02C4AE14; else goto L_02C4AE10;
|
|
L_02C4AE10: ; // 0x2c4ae10
|
|
/* 02C4AE10 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4AE14: ; // 0x2c4ae14
|
|
/* 02C4AE14 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4AE18 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4AE1C */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AE20 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AE24 */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4AE28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AE2C */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AE2C */ _t103 = _t102 & 0x00000001u;
|
|
/* 02C4AE2C */ if (_t103) goto L_02C4B278; else goto L_02C4AE30;
|
|
L_02C4AE30: ; // 0x2c4ae30
|
|
/* 02C4AE30 */ _t104 = cpu->r[26] + 0x00000060u;
|
|
/* 02C4AE30 */ rbrew_write32(cpu->mem, _t104, cpu->r[3]);
|
|
/* 02C4AE34 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AE38 */ goto L_02C4B27C;
|
|
L_02C4AE3C: ; // 0x2c4ae3c
|
|
/* 02C4AE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4AE40 */ cpu->r[7] = 0x00000003u;
|
|
/* 02C4AE44 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AE44 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C4AE44 */ if (_t106) goto L_02C4AE4C; else goto L_02C4AE48;
|
|
L_02C4AE48: ; // 0x2c4ae48
|
|
/* 02C4AE48 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4AE4C: ; // 0x2c4ae4c
|
|
/* 02C4AE4C */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4AE50 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4AE54 */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AE58 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AE5C */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4AE60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AE64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4AE68 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AE68 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02C4AE68 */ if (_t108) goto L_02C4B278; else goto L_02C4AE6C;
|
|
L_02C4AE6C: ; // 0x2c4ae6c
|
|
/* 02C4AE6C */ _t109 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4AE6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C4AE70 */ _t110 = cpu->r[12] + 0x00000014u;
|
|
/* 02C4AE70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C4AE74 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4AE78 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4AE7C */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4AE80 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4AE84 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AE88 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4AE8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4AE90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AE94 */ goto L_02C4B27C;
|
|
L_02C4AE98: ; // 0x2c4ae98
|
|
/* 02C4AE98 */ _t111 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AE98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02C4AE9C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AEA0 */ cpu->r[6] = cpu->r[7] + 0x00000001u;
|
|
/* 02C4AEA4 */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AEA8 */ _t112 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AEA8 */ rbrew_write32(cpu->mem, _t112, cpu->r[6]);
|
|
/* 02C4AEAC */ _t113 = cpu->r[7] + 0x00000000u;
|
|
/* 02C4AEAC */ cpu->r[6] = rbrew_read8(cpu->mem, _t113);
|
|
/* 02C4AEB0 */ Gambit_fn_02C4AB40(cpu);
|
|
/* 02C4AEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AEB8 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C4AEBC */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AEBC */ _t115 = _t114 & 0x00000001u;
|
|
/* 02C4AEBC */ if (_t115) goto L_02C4B278; else goto L_02C4AEC0;
|
|
L_02C4AEC0: ; // 0x2c4aec0
|
|
/* 02C4AEC0 */ _t116 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4AEC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02C4AEC4 */ _t117 = cpu->r[8] + 0x00000014u;
|
|
/* 02C4AEC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02C4AEC8 */ cpu->ctr = cpu->r[9];
|
|
/* 02C4AECC */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4AED0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4AED4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4AEDC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AEE0 */ goto L_02C4B27C;
|
|
L_02C4AEE4: ; // 0x2c4aee4
|
|
/* 02C4AEE4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AEE8 */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AEEC */ Gambit_fn_02C4AB40(cpu);
|
|
/* 02C4AEF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AEF4 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C4AEF8 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AEF8 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02C4AEF8 */ if (_t119) goto L_02C4B278; else goto L_02C4AEFC;
|
|
L_02C4AEFC: ; // 0x2c4aefc
|
|
/* 02C4AEFC */ _t120 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4AEFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02C4AF00 */ _t121 = cpu->r[10] + 0x00000014u;
|
|
/* 02C4AF00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02C4AF04 */ cpu->ctr = cpu->r[11];
|
|
/* 02C4AF08 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4AF0C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4AF10 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AF14 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4AF18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4AF1C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AF20 */ goto L_02C4B27C;
|
|
L_02C4AF24: ; // 0x2c4af24
|
|
/* 02C4AF24 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AF28 */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AF2C */ Gambit_fn_02C4AB40(cpu);
|
|
/* 02C4AF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AF34 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C4AF38 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AF38 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02C4AF38 */ if (_t123) goto L_02C4B278; else goto L_02C4AF3C;
|
|
L_02C4AF3C: ; // 0x2c4af3c
|
|
/* 02C4AF3C */ _t124 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4AF3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02C4AF40 */ _t125 = cpu->r[12] + 0x00000014u;
|
|
/* 02C4AF40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02C4AF44 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4AF48 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4AF4C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4AF50 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AF54 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4AF58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4AF5C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AF60 */ goto L_02C4B27C;
|
|
L_02C4AF64: ; // 0x2c4af64
|
|
/* 02C4AF64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4AF68 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C4AF6C */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AF6C */ _t127 = _t126 & 0x00000001u;
|
|
/* 02C4AF6C */ if (_t127) goto L_02C4AF74; else goto L_02C4AF70;
|
|
L_02C4AF70: ; // 0x2c4af70
|
|
/* 02C4AF70 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4AF74: ; // 0x2c4af74
|
|
/* 02C4AF74 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4AF78 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4AF7C */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AF80 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AF84 */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4AF88 */ cpu->r[31] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4AF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C4AF90 */ _t128 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4AF90 */ rbrew_write8(cpu->mem, _t128, (uint8_t)cpu->r[31]);
|
|
/* 02C4AF94 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AF94 */ _t130 = _t129 & 0x00000001u;
|
|
/* 02C4AF94 */ if (_t130) goto L_02C4AFB4; else goto L_02C4AF98;
|
|
L_02C4AF98: ; // 0x2c4af98
|
|
/* 02C4AF98 */ cpu->r[7] = cpu->r[23];
|
|
/* 02C4AF9C */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4AFA0 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4AFA4 */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4AFA8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AFAC */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4AFB0 */ cpu->r[25] = cpu->r[3];
|
|
L_02C4AFB4: ; // 0x2c4afb4
|
|
/* 02C4AFB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4AFB8 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4AFB8 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02C4AFB8 */ if (_t132) goto L_02C4B278; else goto L_02C4AFBC;
|
|
L_02C4AFBC: ; // 0x2c4afbc
|
|
/* 02C4AFBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000C3u);
|
|
/* 02C4AFC0 */ _t133 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4AFC0 */ _t134 = _t133 & 0x00000001u;
|
|
/* 02C4AFC0 */ if (_t134) goto L_02C4AFD4; else goto L_02C4AFC4;
|
|
L_02C4AFC4: ; // 0x2c4afc4
|
|
/* 02C4AFC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000C4u);
|
|
/* 02C4AFC8 */ _t135 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4AFC8 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02C4AFC8 */ if (_t136) goto L_02C4AFD4; else goto L_02C4AFCC;
|
|
L_02C4AFCC: ; // 0x2c4afcc
|
|
/* 02C4AFCC */ _t137 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4AFCC */ cpu->r[31] = rbrew_read8(cpu->mem, _t137);
|
|
/* 02C4AFD0 */ /* nop */
|
|
L_02C4AFD4: ; // 0x2c4afd4
|
|
/* 02C4AFD4 */ _t138 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4AFD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02C4AFD8 */ _t139 = cpu->r[7] + 0x00000014u;
|
|
/* 02C4AFD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02C4AFDC */ cpu->ctr = cpu->r[8];
|
|
/* 02C4AFE0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4AFE4 */ cpu->r[7] = cpu->r[25];
|
|
/* 02C4AFE8 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4AFEC */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4AFF0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4AFF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4AFF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4AFFC */ goto L_02C4B27C;
|
|
L_02C4B000: ; // 0x2c4b000
|
|
/* 02C4B000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B004 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B004 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02C4B004 */ if (_t141) goto L_02C4B278; else goto L_02C4B008;
|
|
L_02C4B008: ; // 0x2c4b008
|
|
/* 02C4B008 */ _t142 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4B008 */ cpu->r[9] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02C4B00C */ _t143 = cpu->r[9] + 0x00000014u;
|
|
/* 02C4B00C */ cpu->r[10] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02C4B010 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4B014 */ cpu->ctr = cpu->r[10];
|
|
/* 02C4B018 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4B01C */ cpu->r[7] = cpu->r[6];
|
|
/* 02C4B020 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4B024 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B028 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4B02C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B030 */ goto L_02C4B27C;
|
|
L_02C4B034: ; // 0x2c4b034
|
|
/* 02C4B034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4B038 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C4B03C */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B03C */ _t145 = _t144 & 0x00000001u;
|
|
/* 02C4B03C */ if (_t145) goto L_02C4B044; else goto L_02C4B040;
|
|
L_02C4B040: ; // 0x2c4b040
|
|
/* 02C4B040 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4B044: ; // 0x2c4b044
|
|
/* 02C4B044 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4B048 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4B04C */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B050 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B054 */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4B058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B05C */ /* nop */
|
|
/* 02C4B060 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B060 */ _t147 = _t146 & 0x00000001u;
|
|
/* 02C4B060 */ if (_t147) goto L_02C4B278; else goto L_02C4B064;
|
|
L_02C4B064: ; // 0x2c4b064
|
|
/* 02C4B064 */ _t148 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4B064 */ cpu->r[11] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02C4B068 */ _t149 = cpu->r[11] + 0x00000014u;
|
|
/* 02C4B068 */ cpu->r[12] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02C4B06C */ cpu->ctr = cpu->r[12];
|
|
/* 02C4B070 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4B074 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4B078 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4B07C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B080 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4B084 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4B088 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B08C */ goto L_02C4B27C;
|
|
L_02C4B090: ; // 0x2c4b090
|
|
/* 02C4B090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000F0u);
|
|
/* 02C4B094 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B094 */ _t151 = _t150 & 0x00000001u;
|
|
/* 02C4B094 */ if (_t151) goto L_02C4B0E8; else goto L_02C4B098;
|
|
L_02C4B098: ; // 0x2c4b098
|
|
/* 02C4B098 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000FEu);
|
|
/* 02C4B09C */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B09C */ _t153 = _t152 & 0x00000001u;
|
|
/* 02C4B09C */ if (_t153) goto L_02C4B0B4; else goto L_02C4B0A0;
|
|
L_02C4B0A0: ; // 0x2c4b0a0
|
|
/* 02C4B0A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000FFu);
|
|
/* 02C4B0A4 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B0A4 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02C4B0A4 */ if (_t155) goto L_02C4B0C8; else goto L_02C4B0A8;
|
|
L_02C4B0A8: ; // 0x2c4b0a8
|
|
/* 02C4B0A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B0AC */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B0AC */ _t157 = _t156 & 0x00000001u;
|
|
/* 02C4B0AC */ if (_t157) goto L_02C4B278; else goto L_02C4B0B0;
|
|
L_02C4B0B0: ; // 0x2c4b0b0
|
|
/* 02C4B0B0 */ goto L_02C4B254;
|
|
L_02C4B0B4: ; // 0x2c4b0b4
|
|
/* 02C4B0B4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B0B8 */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B0BC */ Gambit_fn_02C4A9E0(cpu);
|
|
/* 02C4B0C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B0C4 */ goto L_02C4B27C;
|
|
L_02C4B0C8: ; // 0x2c4b0c8
|
|
/* 02C4B0C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B0CC */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B0CC */ _t159 = _t158 & 0x00000001u;
|
|
/* 02C4B0CC */ if (_t159) goto L_02C4B278; else goto L_02C4B0D0;
|
|
L_02C4B0D0: ; // 0x2c4b0d0
|
|
/* 02C4B0D0 */ /* nop */
|
|
/* 02C4B0D4 */ _t160 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4B0D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02C4B0D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4B0DC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C4B0E0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C4B0E4 */ return;
|
|
L_02C4B0E8: ; // 0x2c4b0e8
|
|
/* 02C4B0E8 */ _t161 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B0E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02C4B0EC */ cpu->r[0] = cpu->r[6] + 0x00000001u;
|
|
/* 02C4B0F0 */ _t162 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B0F0 */ rbrew_write32(cpu->mem, _t162, cpu->r[0]);
|
|
/* 02C4B0F4 */ _t163 = cpu->r[6] + 0x00000000u;
|
|
/* 02C4B0F4 */ cpu->r[23] = rbrew_read8(cpu->mem, _t163);
|
|
/* 02C4B0F8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[23], 0x00000000u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C4B0FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000000A0u);
|
|
/* 02C4B100 */ _t164 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4B100 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02C4B100 */ if (_t165) goto L_02C4B104; else goto L_02C4B11C;
|
|
L_02C4B104: ; // 0x2c4b104
|
|
/* 02C4B104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000080u);
|
|
/* 02C4B108 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B108 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02C4B108 */ if (_t167) goto L_02C4B1E4; else goto L_02C4B10C;
|
|
L_02C4B10C: ; // 0x2c4b10c
|
|
/* 02C4B10C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000090u);
|
|
/* 02C4B110 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B110 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02C4B110 */ if (_t169) goto L_02C4B1E4; else goto L_02C4B114;
|
|
L_02C4B114: ; // 0x2c4b114
|
|
/* 02C4B114 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B118 */ goto L_02C4B27C;
|
|
L_02C4B11C: ; // 0x2c4b11c
|
|
/* 02C4B11C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000000A0u);
|
|
/* 02C4B120 */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B120 */ _t171 = _t170 & 0x00000001u;
|
|
/* 02C4B120 */ if (_t171) goto L_02C4B13C; else goto L_02C4B124;
|
|
L_02C4B124: ; // 0x2c4b124
|
|
/* 02C4B124 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000000B0u);
|
|
/* 02C4B128 */ _t172 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B128 */ _t173 = _t172 & 0x00000001u;
|
|
/* 02C4B128 */ if (_t173) goto L_02C4B13C; else goto L_02C4B12C;
|
|
L_02C4B12C: ; // 0x2c4b12c
|
|
/* 02C4B12C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000000E0u);
|
|
/* 02C4B130 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B130 */ _t175 = _t174 & 0x00000001u;
|
|
/* 02C4B130 */ if (_t175) goto L_02C4B184; else goto L_02C4B134;
|
|
L_02C4B134: ; // 0x2c4b134
|
|
/* 02C4B134 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B138 */ goto L_02C4B27C;
|
|
L_02C4B13C: ; // 0x2c4b13c
|
|
/* 02C4B13C */ _t176 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B13C */ cpu->r[9] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02C4B140 */ cpu->r[0] = cpu->r[9] + 0x00000001u;
|
|
/* 02C4B144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B148 */ _t177 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B148 */ rbrew_write32(cpu->mem, _t177, cpu->r[0]);
|
|
/* 02C4B14C */ _t178 = cpu->r[9] + 0x00000000u;
|
|
/* 02C4B14C */ cpu->r[31] = rbrew_read8(cpu->mem, _t178);
|
|
/* 02C4B150 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B150 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02C4B150 */ if (_t180) goto L_02C4B278; else goto L_02C4B154;
|
|
L_02C4B154: ; // 0x2c4b154
|
|
/* 02C4B154 */ _t181 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4B154 */ cpu->r[11] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02C4B158 */ _t182 = cpu->r[11] + 0x00000014u;
|
|
/* 02C4B158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02C4B15C */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C4B160 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4B164 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4B168 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4B16C */ cpu->r[5] = cpu->r[5] + cpu->r[23];
|
|
/* 02C4B170 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4B174 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B178 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4B17C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B180 */ goto L_02C4B27C;
|
|
L_02C4B184: ; // 0x2c4b184
|
|
/* 02C4B184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4B188 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C4B18C */ _t183 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B18C */ _t184 = _t183 & 0x00000001u;
|
|
/* 02C4B18C */ if (_t184) goto L_02C4B194; else goto L_02C4B190;
|
|
L_02C4B190: ; // 0x2c4b190
|
|
/* 02C4B190 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4B194: ; // 0x2c4b194
|
|
/* 02C4B194 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4B198 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4B19C */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B1A0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B1A4 */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4B1A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B1AC */ cpu->r[31] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C4B1B0 */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B1B0 */ _t186 = _t185 & 0x00000001u;
|
|
/* 02C4B1B0 */ if (_t186) goto L_02C4B278; else goto L_02C4B1B4;
|
|
L_02C4B1B4: ; // 0x2c4b1b4
|
|
/* 02C4B1B4 */ _t187 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4B1B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02C4B1B8 */ _t188 = cpu->r[7] + 0x00000014u;
|
|
/* 02C4B1B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02C4B1BC */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C4B1C0 */ cpu->ctr = cpu->r[9];
|
|
/* 02C4B1C4 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4B1C8 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4B1CC */ cpu->r[5] = cpu->r[11] + cpu->r[23];
|
|
/* 02C4B1D0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4B1D4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B1D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4B1DC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B1E0 */ goto L_02C4B27C;
|
|
L_02C4B1E4: ; // 0x2c4b1e4
|
|
/* 02C4B1E4 */ _t189 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B1E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02C4B1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4B1EC */ cpu->r[0] = cpu->r[8] + 0x00000001u;
|
|
/* 02C4B1F0 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C4B1F4 */ _t190 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B1F4 */ rbrew_write32(cpu->mem, _t190, cpu->r[0]);
|
|
/* 02C4B1F8 */ _t191 = cpu->r[8] + 0x00000000u;
|
|
/* 02C4B1F8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t191);
|
|
/* 02C4B1FC */ _t192 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B1FC */ _t193 = _t192 & 0x00000001u;
|
|
/* 02C4B1FC */ if (_t193) goto L_02C4B204; else goto L_02C4B200;
|
|
L_02C4B200: ; // 0x2c4b200
|
|
/* 02C4B200 */ cpu->r[7] = cpu->r[5];
|
|
L_02C4B204: ; // 0x2c4b204
|
|
/* 02C4B204 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4B208 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C4B20C */ cpu->r[4] = cpu->r[26] + 0x00000004u;
|
|
/* 02C4B210 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B214 */ Gambit_fn_02C4AA30(cpu);
|
|
/* 02C4B218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4B21C */ /* nop */
|
|
/* 02C4B220 */ _t194 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4B220 */ _t195 = _t194 & 0x00000001u;
|
|
/* 02C4B220 */ if (_t195) goto L_02C4B278; else goto L_02C4B224;
|
|
L_02C4B224: ; // 0x2c4b224
|
|
/* 02C4B224 */ _t196 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4B224 */ cpu->r[11] = rbrew_read32(cpu->mem, _t196);
|
|
/* 02C4B228 */ _t197 = cpu->r[11] + 0x00000014u;
|
|
/* 02C4B228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t197);
|
|
/* 02C4B22C */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C4B230 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4B234 */ cpu->r[7] = cpu->r[25];
|
|
/* 02C4B238 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4B23C */ cpu->r[5] = cpu->r[8] + cpu->r[23];
|
|
/* 02C4B240 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4B244 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B248 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4B24C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4B250 */ goto L_02C4B27C;
|
|
L_02C4B254: ; // 0x2c4b254
|
|
/* 02C4B254 */ _t198 = cpu->r[28] + 0x00000000u;
|
|
/* 02C4B254 */ cpu->r[10] = rbrew_read32(cpu->mem, _t198);
|
|
/* 02C4B258 */ _t199 = cpu->r[10] + 0x00000014u;
|
|
/* 02C4B258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t199);
|
|
/* 02C4B25C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4B260 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4B264 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4B268 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C4B26C */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4B270 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4B274 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4B278: ; // 0x2c4b278
|
|
/* 02C4B278 */ cpu->r[3] = 0x00000000u;
|
|
L_02C4B27C: ; // 0x2c4b27c
|
|
/* 02C4B27C */ /* nop */
|
|
/* 02C4B280 */ _t200 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4B280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02C4B284 */ cpu->lr = cpu->r[0];
|
|
/* 02C4B288 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C4B28C */ return;
|
|
L_02C4CD6C: ; // 0x2c4cd6c
|
|
/* 02C4CD6C */ cpu->r[12] = cpu->r[3];
|
|
/* 02C4CD70 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C4CD74 */ _t201 = cpu->r[12] + 0x00000220u;
|
|
/* 02C4CD74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02C4CD78 */ cpu->r[4] = cpu->r[12];
|
|
/* 02C4CD7C */ goto L_02C4AB7C;
|
|
}
|
|
|
|
// fn_02C4CD80 @ 0x2c4cd80
|
|
void Gambit_fn_02C4CD80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C4CD80: ; // 0x2c4cd80
|
|
/* 02C4CD80 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4CD84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4CD84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4CD84 */ cpu->r[1] = _t0;
|
|
/* 02C4CD88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CD88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4CD8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4CD90 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4CD90 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4CD94 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C4CD98 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4CD9C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CD9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4CDA0 */ Gambit_fn_02C1F468(cpu);
|
|
/* 02C4CDA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4CDA8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CDA8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4CDA8 */ if (_t5) goto L_02C4CDB4; else goto L_02C4CDAC;
|
|
L_02C4CDAC: ; // 0x2c4cdac
|
|
/* 02C4CDAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4CDB0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CDB0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4CDB0 */ if (_t7) goto L_02C4CDB4; else goto L_02C4CDBC;
|
|
L_02C4CDB4: ; // 0x2c4cdb4
|
|
/* 02C4CDB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4CDB8 */ goto L_02C4CDD4;
|
|
L_02C4CDBC: ; // 0x2c4cdbc
|
|
/* 02C4CDBC */ Gambit_fn_02C4CD18(cpu);
|
|
/* 02C4CDC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4CDC4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CDC4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4CDC4 */ if (_t9) goto L_02C4CDD4; else goto L_02C4CDC8;
|
|
L_02C4CDC8: ; // 0x2c4cdc8
|
|
/* 02C4CDC8 */ _t10 = cpu->r[3] + 0x00000214u;
|
|
/* 02C4CDC8 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02C4CDCC */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02C4CDCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4CDD0 */ _t12 = cpu->r[3] + 0x00000220u;
|
|
/* 02C4CDD0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_02C4CDD4: ; // 0x2c4cdd4
|
|
/* 02C4CDD4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CDD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4CDD8 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4CDD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4CDDC */ cpu->lr = cpu->r[0];
|
|
/* 02C4CDE0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CDE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4CDE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4CDE8 */ return;
|
|
}
|
|
|
|
// fn_02C4CD84 @ 0x2c4cd84
|
|
void Gambit_fn_02C4CD84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C4CD84: ; // 0x2c4cd84
|
|
/* 02C4CD84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4CD84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4CD84 */ cpu->r[1] = _t0;
|
|
/* 02C4CD88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CD88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4CD8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4CD90 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4CD90 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4CD94 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C4CD98 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4CD9C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CD9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4CDA0 */ Gambit_fn_02C1F468(cpu);
|
|
/* 02C4CDA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4CDA8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CDA8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4CDA8 */ if (_t5) goto L_02C4CDB4; else goto L_02C4CDAC;
|
|
L_02C4CDAC: ; // 0x2c4cdac
|
|
/* 02C4CDAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4CDB0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CDB0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4CDB0 */ if (_t7) goto L_02C4CDB4; else goto L_02C4CDBC;
|
|
L_02C4CDB4: ; // 0x2c4cdb4
|
|
/* 02C4CDB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4CDB8 */ goto L_02C4CDD4;
|
|
L_02C4CDBC: ; // 0x2c4cdbc
|
|
/* 02C4CDBC */ Gambit_fn_02C4CD18(cpu);
|
|
/* 02C4CDC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4CDC4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CDC4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4CDC4 */ if (_t9) goto L_02C4CDD4; else goto L_02C4CDC8;
|
|
L_02C4CDC8: ; // 0x2c4cdc8
|
|
/* 02C4CDC8 */ _t10 = cpu->r[3] + 0x00000214u;
|
|
/* 02C4CDC8 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02C4CDCC */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02C4CDCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4CDD0 */ _t12 = cpu->r[3] + 0x00000220u;
|
|
/* 02C4CDD0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_02C4CDD4: ; // 0x2c4cdd4
|
|
/* 02C4CDD4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CDD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4CDD8 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4CDD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4CDDC */ cpu->lr = cpu->r[0];
|
|
/* 02C4CDE0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CDE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4CDE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4CDE8 */ return;
|
|
}
|
|
|
|
// fn_02C4CDEC @ 0x2c4cdec
|
|
void Gambit_fn_02C4CDEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C4CDEC: ; // 0x2c4cdec
|
|
/* 02C4CDEC */ cpu->r[0] = cpu->lr;
|
|
/* 02C4CDF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4CDF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4CDF0 */ cpu->r[1] = _t0;
|
|
/* 02C4CDF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CDF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4CDF8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4CDF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4CDFC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4CDFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4CE00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CE00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4CE04 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4CE08 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4CE0C */ _t4 = cpu->r[31] + 0x00000214u;
|
|
/* 02C4CE0C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4CE10 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CE10 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4CE10 */ if (_t6) goto L_02C4CE38; else goto L_02C4CE14;
|
|
L_02C4CE14: ; // 0x2c4ce14
|
|
/* 02C4CE14 */ _t7 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02C4CE14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4CE18 */ _t8 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C4CE18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4CE1C */ cpu->ctr = cpu->r[0];
|
|
/* 02C4CE20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4CE24 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4CE28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4CE2C */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02C4CE30 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4CE34 */ Gambit_fn_02C1F48C(cpu);
|
|
L_02C4CE38: ; // 0x2c4ce38
|
|
/* 02C4CE38 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CE38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4CE3C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4CE3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4CE40 */ cpu->lr = cpu->r[0];
|
|
/* 02C4CE44 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CE44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4CE48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4CE4C */ return;
|
|
}
|
|
|
|
// fn_02C4CDF0 @ 0x2c4cdf0
|
|
void Gambit_fn_02C4CDF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C4CDF0: ; // 0x2c4cdf0
|
|
/* 02C4CDF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4CDF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4CDF0 */ cpu->r[1] = _t0;
|
|
/* 02C4CDF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CDF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4CDF8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4CDF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4CDFC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4CDFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4CE00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CE00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4CE04 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4CE08 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4CE0C */ _t4 = cpu->r[31] + 0x00000214u;
|
|
/* 02C4CE0C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4CE10 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CE10 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4CE10 */ if (_t6) goto L_02C4CE38; else goto L_02C4CE14;
|
|
L_02C4CE14: ; // 0x2c4ce14
|
|
/* 02C4CE14 */ _t7 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02C4CE14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4CE18 */ _t8 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C4CE18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4CE1C */ cpu->ctr = cpu->r[0];
|
|
/* 02C4CE20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4CE24 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4CE28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4CE2C */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02C4CE30 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4CE34 */ Gambit_fn_02C1F48C(cpu);
|
|
L_02C4CE38: ; // 0x2c4ce38
|
|
/* 02C4CE38 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CE38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4CE3C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4CE3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4CE40 */ cpu->lr = cpu->r[0];
|
|
/* 02C4CE44 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CE44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4CE48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4CE4C */ return;
|
|
}
|
|
|
|
// fn_02C4CE50 @ 0x2c4ce50
|
|
void Gambit_fn_02C4CE50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C1E2D0: ; // 0x2c1e2d0
|
|
/* 02C1E2D0 */ cpu->r[0] = cpu->r[4] + 0x00000003u;
|
|
/* 02C1E2D4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C1E2D8 */ cpu->r[7] = cpu->r[6] + 0x00000003u;
|
|
/* 02C1E2DC */ cpu->r[8] = cpu->r[12] - cpu->r[4];
|
|
/* 02C1E2E0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C1E2E4 */ cpu->r[0] = cpu->r[5] - cpu->r[8];
|
|
/* 02C1E2E8 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C1E2EC */ cpu->r[3] = cpu->r[0] / cpu->r[6];
|
|
/* 02C1E2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C1E2F0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C1E2F0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C1E2F0 */ if (_t1) goto L_02C1E310; else goto L_02C1E2F4;
|
|
L_02C1E2F4: ; // 0x2c1e2f4
|
|
/* 02C1E2F4 */ cpu->ctr = cpu->r[3];
|
|
/* 02C1E2F8 */ _t2 = cpu->r[11] + 0x00000000u;
|
|
/* 02C1E2F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
L_02C1E2FC: ; // 0x2c1e2fc
|
|
/* 02C1E2FC */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 02C1E2FC */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02C1E300 */ cpu->r[9] = cpu->r[12];
|
|
/* 02C1E304 */ cpu->r[12] = cpu->r[12] + cpu->r[6];
|
|
/* 02C1E308 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02C1E308 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02C1E30C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C1E30C */ _t5 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C1E30C */ _t6 = _t5 >> (0x00000002u & 31u);
|
|
/* 02C1E30C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C1E30C */ if (_t7) goto L_02C1E2FC; else goto L_02C1E310;
|
|
L_02C1E310: ; // 0x2c1e310
|
|
/* 02C1E310 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02C1E310 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 02C1E314 */ _t9 = cpu->r[11] + 0x00000008u;
|
|
/* 02C1E314 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02C1E318 */ return;
|
|
L_02C4CE50: ; // 0x2c4ce50
|
|
/* 02C4CE50 */ cpu->r[6] = 0x00000224u;
|
|
/* 02C4CE54 */ cpu->r[3] = cpu->r[3] + 0x00000008u;
|
|
/* 02C4CE58 */ goto L_02C1E2D0;
|
|
}
|
|
|
|
// fn_02C4CE5C @ 0x2c4ce5c
|
|
void Gambit_fn_02C4CE5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C1E38C: ; // 0x2c1e38c
|
|
/* 02C1E38C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02C1E38C */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C1E390 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C1E390 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C1E394 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C1E394 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C1E398 */ cpu->r[10] = cpu->r[9] + cpu->r[8];
|
|
/* 02C1E39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C1E3A0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C1E3A0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C1E3A0 */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C1E3A0 */ goto L_02C1E3A4;
|
|
L_02C1E3A4: ; // 0x2c1e3a4
|
|
/* 02C1E3A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02C1E3A8 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C1E3A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C1E3A8 */ if (_t6) goto L_02C1E3CC; else goto L_02C1E3AC;
|
|
L_02C1E3AC: ; // 0x2c1e3ac
|
|
/* 02C1E3AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02C1E3B0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C1E3B0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C1E3B0 */ if (_t8) goto L_02C1E3B4; else goto L_02C1E3CC;
|
|
L_02C1E3B4: ; // 0x2c1e3b4
|
|
/* 02C1E3B4 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 02C1E3B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C1E3B8 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C1E3B8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C1E3BC */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02C1E3BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C1E3C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C1E3C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C1E3C4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C1E3C4 */ if (_t13) goto L_02C1E3C8; else goto L_02C1E3A4;
|
|
L_02C1E3C8: ; // 0x2c1e3c8
|
|
/* 02C1E3C8 */ return;
|
|
L_02C1E3CC: ; // 0x2c1e3cc
|
|
/* 02C1E3CC */ cpu->r[3] = cpu->r[12];
|
|
/* 02C1E3D0 */ _t14 = cpu->r[12] + 0x00000000u;
|
|
/* 02C1E3D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C1E3D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C1E3D8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C1E3D8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C1E3D8 */ if (_t16) goto L_02C1E3DC; else goto L_02C1E3A4;
|
|
L_02C1E3DC: ; // 0x2c1e3dc
|
|
/* 02C1E3DC */ return;
|
|
L_02C4CE5C: ; // 0x2c4ce5c
|
|
/* 02C4CE5C */ cpu->r[3] = cpu->r[3] + 0x00000008u;
|
|
/* 02C4CE60 */ goto L_02C1E38C;
|
|
}
|
|
|
|
// fn_02C4CE64 @ 0x2c4ce64
|
|
void Gambit_fn_02C4CE64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C4CE64: ; // 0x2c4ce64
|
|
/* 02C4CE64 */ cpu->r[10] = 0x10220000u;
|
|
/* 02C4CE68 */ cpu->r[11] = 0x0000007Fu;
|
|
/* 02C4CE6C */ _t0 = cpu->r[10] + 0x00005808u;
|
|
/* 02C4CE6C */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[11]);
|
|
/* 02C4CE6C */ cpu->r[10] = _t0;
|
|
/* 02C4CE70 */ _t1 = cpu->r[10] + 0x00000001u;
|
|
/* 02C4CE70 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[11]);
|
|
/* 02C4CE74 */ _t2 = cpu->r[10] + 0x00000002u;
|
|
/* 02C4CE74 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[11]);
|
|
/* 02C4CE78 */ cpu->r[12] = 0x10220000u;
|
|
/* 02C4CE7C */ _t3 = cpu->r[10] + 0x00000003u;
|
|
/* 02C4CE7C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]);
|
|
/* 02C4CE80 */ _t4 = cpu->r[12] + 0x00005800u;
|
|
/* 02C4CE80 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[11]);
|
|
/* 02C4CE80 */ cpu->r[12] = _t4;
|
|
/* 02C4CE84 */ _t5 = cpu->r[12] + 0x00000001u;
|
|
/* 02C4CE84 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[11]);
|
|
/* 02C4CE88 */ _t6 = cpu->r[12] + 0x00000002u;
|
|
/* 02C4CE88 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[11]);
|
|
/* 02C4CE8C */ _t7 = cpu->r[12] + 0x00000003u;
|
|
/* 02C4CE8C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 02C4CE90 */ _t8 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4CE90 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[11]);
|
|
/* 02C4CE94 */ _t9 = cpu->r[10] + 0x00000004u;
|
|
/* 02C4CE94 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[11]);
|
|
/* 02C4CE98 */ return;
|
|
}
|
|
|
|
// fn_02C4CEB4 @ 0x2c4ceb4
|
|
void Gambit_fn_02C4CEB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C4CEB4: ; // 0x2c4ceb4
|
|
/* 02C4CEB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4CEB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4CEB4 */ cpu->r[1] = _t0;
|
|
/* 02C4CEB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CEB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4CEBC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4CEBC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4CEC0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4CEC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4CEC4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4CEC8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CEC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4CECC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CECC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4CECC */ if (_t5) goto L_02C4CF00; else goto L_02C4CED0;
|
|
L_02C4CED0: ; // 0x2c4ced0
|
|
/* 02C4CED0 */ cpu->r[6] = 0x02C50000u;
|
|
/* 02C4CED4 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C4CED8 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4CEDC */ cpu->r[6] = cpu->r[6] + 0xFFFFCE9Cu;
|
|
/* 02C4CEE0 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02C4CEE4 */ cpu->r[8] = cpu->r[7];
|
|
/* 02C4CEE8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C4CEEC */ Gambit_fn_02C82F38(cpu);
|
|
/* 02C4CEF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4CEF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4CEF4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CEF4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4CEF4 */ if (_t7) goto L_02C4CF00; else goto L_02C4CEF8;
|
|
L_02C4CEF8: ; // 0x2c4cef8
|
|
/* 02C4CEF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4CEFC */ Gambit_fn_02801BB0(cpu);
|
|
L_02C4CF00: ; // 0x2c4cf00
|
|
/* 02C4CF00 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4CF04 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4CF04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4CF08 */ cpu->lr = cpu->r[0];
|
|
/* 02C4CF0C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CF0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4CF10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4CF14 */ return;
|
|
}
|
|
|
|
// fn_02C4CF24 @ 0x2c4cf24
|
|
void Gambit_fn_02C4CF24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C4CF24: ; // 0x2c4cf24
|
|
/* 02C4CF24 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4CF24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4CF24 */ cpu->r[1] = _t0;
|
|
/* 02C4CF28 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CF28 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4CF28 */ if (_t2) goto L_02C4CF2C; else goto L_02C4CF3C;
|
|
L_02C4CF2C: ; // 0x2c4cf2c
|
|
/* 02C4CF2C */ cpu->r[3] = 0x00000018u;
|
|
/* 02C4CF30 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4CF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4CF38 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CF38 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4CF38 */ if (_t4) goto L_02C4CF5C; else goto L_02C4CF3C;
|
|
L_02C4CF3C: ; // 0x2c4cf3c
|
|
/* 02C4CF3C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4CF40 */ _t5 = cpu->r[12] + 0xFFFFCFA0u;
|
|
/* 02C4CF40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C4CF44 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 02C4CF44 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02C4CF48 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4CF48 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02C4CF4C */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4CF4C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02C4CF50 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4CF50 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02C4CF54 */ _t10 = cpu->r[3] + 0x00000014u;
|
|
/* 02C4CF54 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02C4CF58 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4CF58 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
L_02C4CF5C: ; // 0x2c4cf5c
|
|
/* 02C4CF5C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4CF60 */ cpu->lr = cpu->r[0];
|
|
/* 02C4CF64 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4CF68 */ return;
|
|
}
|
|
|
|
// fn_02C4CF70 @ 0x2c4cf70
|
|
void Gambit_fn_02C4CF70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C4CF70: ; // 0x2c4cf70
|
|
/* 02C4CF70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4CF70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4CF70 */ cpu->r[1] = _t0;
|
|
/* 02C4CF74 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CF74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4CF78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4CF78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4CF7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CF7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4CF80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CF80 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4CF80 */ if (_t4) goto L_02C4CF84; else goto L_02C4CF94;
|
|
L_02C4CF84: ; // 0x2c4cf84
|
|
/* 02C4CF84 */ cpu->r[3] = 0x00000050u;
|
|
/* 02C4CF88 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4CF8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4CF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4CF90 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CF90 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4CF90 */ if (_t6) goto L_02C4CFAC; else goto L_02C4CF94;
|
|
L_02C4CF94: ; // 0x2c4cf94
|
|
/* 02C4CF94 */ cpu->r[6] = 0x02C50000u;
|
|
/* 02C4CF98 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C4CF9C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4CFA0 */ cpu->r[6] = cpu->r[6] + 0xFFFFCF18u;
|
|
/* 02C4CFA4 */ cpu->r[5] = 0x00000018u;
|
|
/* 02C4CFA8 */ Gambit_fn_02C82E00(cpu);
|
|
L_02C4CFAC: ; // 0x2c4cfac
|
|
/* 02C4CFAC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4CFAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4CFB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4CFB4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4CFB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4CFB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4CFBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4CFC0 */ return;
|
|
}
|
|
|
|
// fn_02C4CFC4 @ 0x2c4cfc4
|
|
void Gambit_fn_02C4CFC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C397B0: ; // 0x2c397b0
|
|
/* 02C397B0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C397B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C397B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C397B4 */ cpu->r[1] = _t0;
|
|
/* 02C397B8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C397B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C397BC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C397C0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C397C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C397C4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C397C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C397C8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C397C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C397CC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C397CC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C397D0 */ Gambit_fn_02C381D8(cpu);
|
|
/* 02C397D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C397D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C397D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C397D8 */ if (_t7) goto L_02C39808; else goto L_02C397DC;
|
|
L_02C397DC: ; // 0x2c397dc
|
|
/* 02C397DC */ _t8 = cpu->r[31] + 0x00005DD4u;
|
|
/* 02C397DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C397E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C397E4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C397E4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C397E4 */ if (_t10) goto L_02C397E8; else goto L_02C39808;
|
|
L_02C397E8: ; // 0x2c397e8
|
|
/* 02C397E8 */ _t11 = cpu->r[31] + 0x0000019Cu;
|
|
/* 02C397E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C397EC */ Gambit_fn_02C38348(cpu);
|
|
/* 02C397F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C397F4 */ cpu->r[4] = cpu->r[31] + 0x00005DD8u;
|
|
/* 02C397F8 */ Gambit_fn_02C38530(cpu);
|
|
/* 02C397FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C39800 */ cpu->r[4] = cpu->r[31] + 0x00005B24u;
|
|
/* 02C39804 */ Gambit_fn_02C3879C(cpu);
|
|
L_02C39808: ; // 0x2c39808
|
|
/* 02C39808 */ _t12 = cpu->r[31] + 0x0000019Cu;
|
|
/* 02C39808 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C3980C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C39810 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C39810 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C39810 */ if (_t14) goto L_02C39978; else goto L_02C39814;
|
|
L_02C39814: ; // 0x2c39814
|
|
/* 02C39814 */ Gambit_fn_02C37E98(cpu);
|
|
/* 02C39818 */ _t15 = cpu->r[31] + 0x000001BCu;
|
|
/* 02C39818 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C3981C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C39820 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C39820 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C39820 */ if (_t17) goto L_02C39824; else goto L_02C3984C;
|
|
L_02C39824: ; // 0x2c39824
|
|
/* 02C39824 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C39828 */ _t18 = cpu->r[31] + 0x000001BCu;
|
|
/* 02C39828 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02C3982C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C3982C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C39830 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C39830 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C39834 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C39834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C39838 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C39838 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C3983C */ cpu->lr = cpu->r[0];
|
|
/* 02C39840 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C39840 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C39844 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C39848 */ return;
|
|
L_02C3984C: ; // 0x2c3984c
|
|
/* 02C3984C */ _t24 = cpu->r[31] + 0x0000018Du;
|
|
/* 02C3984C */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C39850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C39854 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C39854 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C39854 */ if (_t26) goto L_02C39878; else goto L_02C39858;
|
|
L_02C39858: ; // 0x2c39858
|
|
/* 02C39858 */ _t27 = cpu->r[31] + 0x00000185u;
|
|
/* 02C39858 */ cpu->r[11] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02C3985C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C39860 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C39860 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C39860 */ if (_t29) goto L_02C39878; else goto L_02C39864;
|
|
L_02C39864: ; // 0x2c39864
|
|
/* 02C39864 */ _t30 = cpu->r[31] + 0x00000025u;
|
|
/* 02C39864 */ cpu->r[12] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02C39868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C3986C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3986C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C3986C */ if (_t32) goto L_02C39870; else goto L_02C39878;
|
|
L_02C39870: ; // 0x2c39870
|
|
/* 02C39870 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C39874 */ Gambit_fn_02C38928(cpu);
|
|
L_02C39878: ; // 0x2c39878
|
|
/* 02C39878 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3987C */ Gambit_fn_02C38CB0(cpu);
|
|
/* 02C39880 */ _t33 = cpu->r[31] + 0x00000025u;
|
|
/* 02C39880 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02C39884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C39888 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C3988C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3988C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C3988C */ if (_t35) goto L_02C39930; else goto L_02C39890;
|
|
L_02C39890: ; // 0x2c39890
|
|
/* 02C39890 */ _t36 = cpu->r[31] + 0x0000049Cu;
|
|
/* 02C39890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C39894 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C39898 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C3989C */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C3989C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C3989C */ if (_t38) goto L_02C398A0; else goto L_02C398FC;
|
|
L_02C398A0: ; // 0x2c398a0
|
|
/* 02C398A0 */ cpu->r[29] = 0x00000001u;
|
|
/* 02C398A4 */ cpu->r[8] = cpu->r[31] + 0x000004A4u;
|
|
L_02C398A8: ; // 0x2c398a8
|
|
/* 02C398A8 */ _t39 = cpu->r[8] + 0x00000004u;
|
|
/* 02C398A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C398AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C398B0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C398B0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C398B0 */ if (_t41) goto L_02C398B4; else goto L_02C398EC;
|
|
L_02C398B4: ; // 0x2c398b4
|
|
/* 02C398B4 */ _t42 = cpu->r[31] + 0x00000174u;
|
|
/* 02C398B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C398B8 */ _t43 = cpu->r[8] + 0x0000002Cu;
|
|
/* 02C398B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C398BC */ cpu->ctr = cpu->r[9];
|
|
/* 02C398C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C398C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C398C8 */ _t44 = cpu->r[31] + 0x00000027u;
|
|
/* 02C398C8 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[29]);
|
|
/* 02C398CC */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02C398CC */ cpu->r[28] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C398D0 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C398D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C398D4 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C398D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C398D8 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02C398D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C398DC */ cpu->lr = cpu->r[0];
|
|
/* 02C398E0 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 02C398E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C398E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C398E8 */ return;
|
|
L_02C398EC: ; // 0x2c398ec
|
|
/* 02C398EC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C398F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C398F4 */ cpu->r[8] = cpu->r[8] + 0x000004C8u;
|
|
/* 02C398F8 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C398F8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C398F8 */ if (_t51) goto L_02C398A8; else goto L_02C398FC;
|
|
L_02C398FC: ; // 0x2c398fc
|
|
/* 02C398FC */ _t52 = cpu->r[31] + 0x000004A0u;
|
|
/* 02C398FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C39900 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C39904 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[10]);
|
|
/* 02C39908 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C39908 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C39908 */ if (_t54) goto L_02C3990C; else goto L_02C39930;
|
|
L_02C3990C: ; // 0x2c3990c
|
|
/* 02C3990C */ cpu->r[29] = cpu->r[31] + 0x00005124u;
|
|
L_02C39910: ; // 0x2c39910
|
|
/* 02C39910 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C39914 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C39918 */ Gambit_fn_02C39444(cpu);
|
|
/* 02C3991C */ _t55 = cpu->r[31] + 0x000004A0u;
|
|
/* 02C3991C */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C39920 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C39924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[11]);
|
|
/* 02C39928 */ cpu->r[29] = cpu->r[29] + 0x00000110u;
|
|
/* 02C3992C */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C3992C */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C3992C */ if (_t57) goto L_02C39910; else goto L_02C39930;
|
|
L_02C39930: ; // 0x2c39930
|
|
/* 02C39930 */ _t58 = cpu->r[31] + 0x00000189u;
|
|
/* 02C39930 */ cpu->r[0] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02C39934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C39938 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C39938 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C39938 */ if (_t60) goto L_02C39968; else goto L_02C3993C;
|
|
L_02C3993C: ; // 0x2c3993c
|
|
/* 02C3993C */ _t61 = cpu->r[31] + 0x0000019Cu;
|
|
/* 02C3993C */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C39940 */ Gambit_fn_02C38C48(cpu);
|
|
/* 02C39944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C39948 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C39948 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C39948 */ if (_t63) goto L_02C3994C; else goto L_02C39968;
|
|
L_02C3994C: ; // 0x2c3994c
|
|
/* 02C3994C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C39950 */ _t64 = cpu->r[12] + 0xFFFFB8F5u;
|
|
/* 02C39950 */ cpu->r[12] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02C39954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C39958 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C39958 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C39958 */ if (_t66) goto L_02C3995C; else goto L_02C39968;
|
|
L_02C3995C: ; // 0x2c3995c
|
|
/* 02C3995C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C39960 */ _t67 = cpu->r[31] + 0x00000189u;
|
|
/* 02C39960 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[30]);
|
|
/* 02C39964 */ Gambit_fn_02C38878(cpu);
|
|
L_02C39968: ; // 0x2c39968
|
|
/* 02C39968 */ _t68 = cpu->r[31] + 0x0000018Bu;
|
|
/* 02C39968 */ cpu->r[0] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02C3996C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C39970 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C39970 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C39970 */ if (_t70) goto L_02C39978; else goto L_02C39974;
|
|
L_02C39974: ; // 0x2c39974
|
|
/* 02C39974 */ _t71 = cpu->r[31] + 0x0000018Bu;
|
|
/* 02C39974 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[30]);
|
|
L_02C39978: ; // 0x2c39978
|
|
/* 02C39978 */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 02C39978 */ cpu->r[28] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C3997C */ _t73 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C3997C */ cpu->r[29] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C39980 */ _t74 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C39980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C39984 */ _t75 = cpu->r[1] + 0x00000010u;
|
|
/* 02C39984 */ cpu->r[30] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C39988 */ cpu->lr = cpu->r[0];
|
|
/* 02C3998C */ _t76 = cpu->r[1] + 0x00000014u;
|
|
/* 02C3998C */ cpu->r[31] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C39990 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C39994 */ return;
|
|
L_02C4CFC4: ; // 0x2c4cfc4
|
|
/* 02C4CFC4 */ goto L_02C397B0;
|
|
}
|
|
|
|
// fn_02C4CFC8 @ 0x2c4cfc8
|
|
void Gambit_fn_02C4CFC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C4CFC8: ; // 0x2c4cfc8
|
|
/* 02C4CFC8 */ _t0 = cpu->r[3] + 0x00000174u;
|
|
/* 02C4CFC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4CFCC */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C4CFCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C4CFD0 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4CFD4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C4CFD8 @ 0x2c4cfd8
|
|
void Gambit_fn_02C4CFD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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;
|
|
|
|
L_02C3BA0C: ; // 0x2c3ba0c
|
|
/* 02C3BA0C */ cpu->r[0] = cpu->lr;
|
|
/* 02C3BA10 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C3BA10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C3BA10 */ cpu->r[1] = _t0;
|
|
/* 02C3BA14 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C3BA14 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C3BA18 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02C3BA18 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C3BA1C */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 02C3BA1C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C3BA20 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C3BA24 */ _t4 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C3BA24 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C3BA28 */ _t5 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02C3BA28 */ cpu->r[7] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C3BA2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 02C3BA30 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3BA30 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C3BA30 */ if (_t7) goto L_02C3BA6C; else goto L_02C3BA34;
|
|
L_02C3BA34: ; // 0x2c3ba34
|
|
/* 02C3BA34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u);
|
|
/* 02C3BA38 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3BA38 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C3BA38 */ if (_t9) goto L_02C3BA88; else goto L_02C3BA3C;
|
|
L_02C3BA3C: ; // 0x2c3ba3c
|
|
/* 02C3BA3C */ _t10 = cpu->r[31] + 0x000001A8u;
|
|
/* 02C3BA3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C3BA40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C3BA44 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C3BA44 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C3BA44 */ if (_t12) goto L_02C3BA48; else goto L_02C3BB9C;
|
|
L_02C3BA48: ; // 0x2c3ba48
|
|
/* 02C3BA48 */ cpu->r[10] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C3BA4C */ _t13 = cpu->r[31] + 0x000001A8u;
|
|
/* 02C3BA4C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02C3BA50 */ _t14 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C3BA50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C3BA54 */ _t15 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C3BA54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C3BA58 */ _t16 = cpu->r[1] + 0x00000040u;
|
|
/* 02C3BA58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C3BA5C */ cpu->lr = cpu->r[0];
|
|
/* 02C3BA60 */ _t17 = cpu->r[1] + 0x00000044u;
|
|
/* 02C3BA60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C3BA64 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02C3BA68 */ return;
|
|
L_02C3BA6C: ; // 0x2c3ba6c
|
|
/* 02C3BA6C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3BA70 */ Gambit_fn_02C3A9E8(cpu);
|
|
/* 02C3BA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C3BA78 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3BA78 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C3BA78 */ if (_t19) goto L_02C3BC04; else goto L_02C3BA7C;
|
|
L_02C3BA7C: ; // 0x2c3ba7c
|
|
/* 02C3BA7C */ _t20 = cpu->r[31] + 0x000002B4u;
|
|
/* 02C3BA7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C3BA80 */ cpu->r[4] = cpu->r[31] + 0x000002B8u;
|
|
/* 02C3BA84 */ Gambit_fn_02C3AABC(cpu);
|
|
L_02C3BA88: ; // 0x2c3ba88
|
|
/* 02C3BA88 */ _t21 = cpu->r[31] + 0x000002B4u;
|
|
/* 02C3BA88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C3BA8C */ Gambit_fn_02C3AB68(cpu);
|
|
/* 02C3BA90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C3BA94 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3BA94 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C3BA94 */ if (_t23) goto L_02C3BC04; else goto L_02C3BA98;
|
|
L_02C3BA98: ; // 0x2c3ba98
|
|
/* 02C3BA98 */ _t24 = cpu->r[31] + 0x000002B4u;
|
|
/* 02C3BA98 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C3BA9C */ _t25 = cpu->r[5] + 0x00000098u;
|
|
/* 02C3BA9C */ cpu->r[8] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02C3BAA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C3BAA4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3BAA4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C3BAA4 */ if (_t27) goto L_02C3BB70; else goto L_02C3BAA8;
|
|
L_02C3BAA8: ; // 0x2c3baa8
|
|
/* 02C3BAA8 */ cpu->r[6] = cpu->r[5] + 0x0000006Cu;
|
|
/* 02C3BAAC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C3BAB0 */ cpu->r[7] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C3BAB4 */ cpu->r[10] = 0x00000004u;
|
|
/* 02C3BAB8 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02C3BAB8 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C3BABC */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C3BAC0 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C3BAC4 */ _t29 = cpu->r[1] + 0x00000030u;
|
|
/* 02C3BAC4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02C3BAC8 */ cpu->r[12] = cpu->r[1] + 0x0000002Bu;
|
|
/* 02C3BACC */ cpu->ctr = cpu->r[10];
|
|
/* 02C3BAD0 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 02C3BAD0 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
L_02C3BAD4: ; // 0x2c3bad4
|
|
/* 02C3BAD4 */ _t31 = cpu->r[11] + 0x00000004u;
|
|
/* 02C3BAD4 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02C3BAD4 */ cpu->r[11] = _t31;
|
|
/* 02C3BAD8 */ _t32 = cpu->r[11] + 0x00000010u;
|
|
/* 02C3BAD8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02C3BADC */ _t33 = cpu->r[12] + 0x00000001u;
|
|
/* 02C3BADC */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
/* 02C3BADC */ cpu->r[12] = _t33;
|
|
/* 02C3BAE0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C3BAE0 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C3BAE0 */ _t35 = _t34 >> (0x00000002u & 31u);
|
|
/* 02C3BAE0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C3BAE0 */ if (_t36) goto L_02C3BAD4; else goto L_02C3BAE4;
|
|
L_02C3BAE4: ; // 0x2c3bae4
|
|
/* 02C3BAE4 */ _t37 = cpu->r[6] + 0x00000000u;
|
|
/* 02C3BAE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C3BAE8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C3BAEC */ cpu->r[4] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C3BAF0 */ _t38 = cpu->r[31] + 0x000002A0u;
|
|
/* 02C3BAF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C3BAF4 */ cpu->r[11] = cpu->r[6] + 0x00000004u;
|
|
/* 02C3BAF8 */ cpu->r[3] = cpu->r[8] + 0xFFFFFFFCu;
|
|
/* 02C3BAFC */ _t39 = cpu->r[31] + 0x000002ACu;
|
|
/* 02C3BAFC */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C3BB00 */ cpu->r[30] = cpu->r[29];
|
|
/* 02C3BB04 */ cpu->r[8] = 0x00000004u;
|
|
/* 02C3BB08 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02C3BB08 */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
|
|
/* 02C3BB0C */ cpu->r[10] = cpu->r[6] + 0x00000014u;
|
|
/* 02C3BB10 */ cpu->r[9] = cpu->r[6] + 0x00000024u;
|
|
/* 02C3BB14 */ _t41 = cpu->r[1] + 0x00000030u;
|
|
/* 02C3BB14 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02C3BB18 */ cpu->ctr = cpu->r[8];
|
|
/* 02C3BB1C */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 02C3BB1C */ rbrew_write32(cpu->mem, _t42, cpu->r[5]);
|
|
L_02C3BB20: ; // 0x2c3bb20
|
|
/* 02C3BB20 */ _t43 = cpu->r[11] + cpu->r[30];
|
|
/* 02C3BB20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C3BB24 */ _t44 = cpu->r[3] + 0x00000004u;
|
|
/* 02C3BB24 */ rbrew_write32(cpu->mem, _t44, cpu->r[6]);
|
|
/* 02C3BB24 */ cpu->r[3] = _t44;
|
|
/* 02C3BB28 */ _t45 = cpu->r[10] + cpu->r[30];
|
|
/* 02C3BB28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C3BB2C */ _t46 = cpu->r[3] + 0x00000010u;
|
|
/* 02C3BB2C */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 02C3BB30 */ _t47 = cpu->r[9] + cpu->r[29];
|
|
/* 02C3BB30 */ cpu->r[8] = rbrew_read8(cpu->mem, _t47);
|
|
/* 02C3BB34 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C3BB38 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02C3BB3C */ _t48 = cpu->r[4] + 0x00000001u;
|
|
/* 02C3BB3C */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[8]);
|
|
/* 02C3BB3C */ cpu->r[4] = _t48;
|
|
/* 02C3BB40 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C3BB40 */ _t49 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C3BB40 */ _t50 = _t49 >> (0x00000002u & 31u);
|
|
/* 02C3BB40 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C3BB40 */ if (_t51) goto L_02C3BB20; else goto L_02C3BB44;
|
|
L_02C3BB44: ; // 0x2c3bb44
|
|
/* 02C3BB44 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C3BB48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3BB4C */ Gambit_fn_02C3B0A8(cpu);
|
|
/* 02C3BB50 */ _t52 = cpu->r[31] + 0x000002A8u;
|
|
/* 02C3BB50 */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C3BB54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3BB58 */ _t53 = cpu->r[31] + 0x000002A4u;
|
|
/* 02C3BB58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C3BB5C */ Gambit_fn_02C3B1CC(cpu);
|
|
/* 02C3BB60 */ _t54 = cpu->r[31] + 0x000001A8u;
|
|
/* 02C3BB60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C3BB64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C3BB68 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C3BB68 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C3BB68 */ if (_t56) goto L_02C3BA48; else goto L_02C3BB6C;
|
|
L_02C3BB6C: ; // 0x2c3bb6c
|
|
/* 02C3BB6C */ goto L_02C3BB9C;
|
|
L_02C3BB70: ; // 0x2c3bb70
|
|
/* 02C3BB70 */ cpu->r[9] = 0x00000001u;
|
|
/* 02C3BB74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3BB78 */ _t57 = cpu->r[31] + 0x00000027u;
|
|
/* 02C3BB78 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[9]);
|
|
/* 02C3BB7C */ Gambit_fn_02C3A62C(cpu);
|
|
/* 02C3BB80 */ _t58 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C3BB80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C3BB84 */ _t59 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C3BB84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C3BB88 */ _t60 = cpu->r[1] + 0x00000040u;
|
|
/* 02C3BB88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C3BB8C */ cpu->lr = cpu->r[0];
|
|
/* 02C3BB90 */ _t61 = cpu->r[1] + 0x00000044u;
|
|
/* 02C3BB90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C3BB94 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02C3BB98 */ return;
|
|
L_02C3BB9C: ; // 0x2c3bb9c
|
|
/* 02C3BB9C */ _t62 = cpu->r[31] + 0x00000024u;
|
|
/* 02C3BB9C */ cpu->r[11] = rbrew_read8(cpu->mem, _t62);
|
|
/* 02C3BBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C3BBA4 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3BBA4 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C3BBA4 */ if (_t64) goto L_02C3BC04; else goto L_02C3BBA8;
|
|
L_02C3BBA8: ; // 0x2c3bba8
|
|
/* 02C3BBA8 */ _t65 = cpu->r[31] + 0x00000025u;
|
|
/* 02C3BBA8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t65);
|
|
/* 02C3BBAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C3BBB0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3BBB0 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C3BBB0 */ if (_t67) goto L_02C3BC04; else goto L_02C3BBB4;
|
|
L_02C3BBB4: ; // 0x2c3bbb4
|
|
/* 02C3BBB4 */ _t68 = cpu->r[31] + 0x000001A0u;
|
|
/* 02C3BBB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C3BBB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C3BBBC */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3BBBC */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C3BBBC */ if (_t70) goto L_02C3BBC0; else goto L_02C3BBD4;
|
|
L_02C3BBC0: ; // 0x2c3bbc0
|
|
/* 02C3BBC0 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C3BBC4 */ _t71 = cpu->r[31] + 0x000001A4u;
|
|
/* 02C3BBC4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02C3BBC8 */ _t72 = cpu->r[9] + 0xFFFFCFB4u;
|
|
/* 02C3BBC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02C3BBCC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C3BBD0 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C3BBD0 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C3BBD0 */ if (_t74) goto L_02C3BBD4; else goto L_02C3BBE8;
|
|
L_02C3BBD4: ; // 0x2c3bbd4
|
|
/* 02C3BBD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3BBD8 */ Gambit_fn_02C3B568(cpu);
|
|
/* 02C3BBDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3BBE0 */ Gambit_fn_02C3B9A4(cpu);
|
|
/* 02C3BBE4 */ goto L_02C3BC04;
|
|
L_02C3BBE8: ; // 0x2c3bbe8
|
|
/* 02C3BBE8 */ _t75 = cpu->r[31] + 0x00000026u;
|
|
/* 02C3BBE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t75);
|
|
/* 02C3BBEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C3BBF0 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3BBF0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C3BBF0 */ if (_t77) goto L_02C3BBF4; else goto L_02C3BBFC;
|
|
L_02C3BBF4: ; // 0x2c3bbf4
|
|
/* 02C3BBF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3BBF8 */ Gambit_fn_02C3B778(cpu);
|
|
L_02C3BBFC: ; // 0x2c3bbfc
|
|
/* 02C3BBFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3BC00 */ Gambit_fn_02C3B9A4(cpu);
|
|
L_02C3BC04: ; // 0x2c3bc04
|
|
/* 02C3BC04 */ _t78 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C3BC04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C3BC08 */ _t79 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C3BC08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C3BC0C */ _t80 = cpu->r[1] + 0x00000040u;
|
|
/* 02C3BC0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C3BC10 */ cpu->lr = cpu->r[0];
|
|
/* 02C3BC14 */ _t81 = cpu->r[1] + 0x00000044u;
|
|
/* 02C3BC14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C3BC18 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02C3BC1C */ return;
|
|
L_02C4CFD8: ; // 0x2c4cfd8
|
|
/* 02C4CFD8 */ goto L_02C3BA0C;
|
|
}
|
|
|
|
// fn_02C4CFDC @ 0x2c4cfdc
|
|
void Gambit_fn_02C4CFDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C4CFDC: ; // 0x2c4cfdc
|
|
/* 02C4CFDC */ _t0 = cpu->r[3] + 0x00000174u;
|
|
/* 02C4CFDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4CFE0 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C4CFE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C4CFE4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4CFE8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C4CFF8 @ 0x2c4cff8
|
|
void Gambit_fn_02C4CFF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C4CFF8: ; // 0x2c4cff8
|
|
/* 02C4CFF8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4CFF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4CFF8 */ cpu->r[1] = _t0;
|
|
/* 02C4CFFC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4CFFC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4CFFC */ if (_t2) goto L_02C4D000; else goto L_02C4D010;
|
|
L_02C4D000: ; // 0x2c4d000
|
|
/* 02C4D000 */ cpu->r[3] = 0x00000020u;
|
|
/* 02C4D004 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4D008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4D00C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D00C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4D00C */ if (_t4) goto L_02C4D03C; else goto L_02C4D010;
|
|
L_02C4D010: ; // 0x2c4d010
|
|
/* 02C4D010 */ Gambit_fn_02C3CC80(cpu);
|
|
/* 02C4D014 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4D018 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C4D01C */ _t5 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C4D01C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 02C4D020 */ _t6 = cpu->r[11] + 0xFFFFCFB4u;
|
|
/* 02C4D020 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C4D024 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 02C4D024 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C4D028 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4D02C */ _t8 = cpu->r[3] + 0x00000014u;
|
|
/* 02C4D02C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02C4D030 */ _t9 = cpu->r[12] + 0xFFFFCFA0u;
|
|
/* 02C4D030 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C4D034 */ _t10 = cpu->r[3] + 0x0000001Du;
|
|
/* 02C4D034 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
/* 02C4D038 */ _t11 = cpu->r[3] + 0x00000018u;
|
|
/* 02C4D038 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
L_02C4D03C: ; // 0x2c4d03c
|
|
/* 02C4D03C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D03C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4D040 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D044 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D048 */ return;
|
|
}
|
|
|
|
// fn_02C4D058 @ 0x2c4d058
|
|
void Gambit_fn_02C4D058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C4D058: ; // 0x2c4d058
|
|
/* 02C4D058 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4D058 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D058 */ cpu->r[1] = _t0;
|
|
/* 02C4D05C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D05C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4D05C */ if (_t2) goto L_02C4D060; else goto L_02C4D070;
|
|
L_02C4D060: ; // 0x2c4d060
|
|
/* 02C4D060 */ cpu->r[3] = 0x00000020u;
|
|
/* 02C4D064 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4D068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4D06C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D06C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4D06C */ if (_t4) goto L_02C4D094; else goto L_02C4D070;
|
|
L_02C4D070: ; // 0x2c4d070
|
|
/* 02C4D070 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4D074 */ _t5 = cpu->r[3] + 0x00000010u;
|
|
/* 02C4D074 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C4D078 */ _t6 = cpu->r[3] + 0x00000014u;
|
|
/* 02C4D078 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 02C4D07C */ _t7 = cpu->r[3] + 0x00000018u;
|
|
/* 02C4D07C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C4D080 */ _t8 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C4D080 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C4D084 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4D084 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C4D088 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4D088 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C4D08C */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4D08C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02C4D090 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4D090 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_02C4D094: ; // 0x2c4d094
|
|
/* 02C4D094 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4D098 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D09C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D0A0 */ return;
|
|
}
|
|
|
|
// fn_02C4D0A4 @ 0x2c4d0a4
|
|
void Gambit_fn_02C4D0A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54;
|
|
|
|
L_02C3DFB8: ; // 0x2c3dfb8
|
|
/* 02C3DFB8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C3DFBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C3DFBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C3DFBC */ cpu->r[1] = _t0;
|
|
/* 02C3DFC0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C3DFC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C3DFC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C3DFC8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C3DFC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C3DFCC */ _t3 = cpu->r[31] + 0x000001D8u;
|
|
/* 02C3DFCC */ cpu->r[9] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C3DFD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000001u);
|
|
/* 02C3DFD4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3DFD4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C3DFD4 */ if (_t5) goto L_02C3DFF0; else goto L_02C3DFD8;
|
|
L_02C3DFD8: ; // 0x2c3dfd8
|
|
/* 02C3DFD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02C3DFDC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3DFDC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C3DFDC */ if (_t7) goto L_02C3E00C; else goto L_02C3DFE0;
|
|
L_02C3DFE0: ; // 0x2c3dfe0
|
|
/* 02C3DFE0 */ _t8 = cpu->r[31] + 0x000001ACu;
|
|
/* 02C3DFE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C3DFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C3DFE8 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C3DFE8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C3DFE8 */ if (_t10) goto L_02C3DFEC; else goto L_02C3E080;
|
|
L_02C3DFEC: ; // 0x2c3dfec
|
|
/* 02C3DFEC */ goto L_02C3E064;
|
|
L_02C3DFF0: ; // 0x2c3dff0
|
|
/* 02C3DFF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3DFF4 */ Gambit_fn_02C3C4AC(cpu);
|
|
/* 02C3DFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C3DFFC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3DFFC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C3DFFC */ if (_t12) goto L_02C3E0F4; else goto L_02C3E000;
|
|
L_02C3E000: ; // 0x2c3e000
|
|
/* 02C3E000 */ _t13 = cpu->r[31] + 0x000001E0u;
|
|
/* 02C3E000 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C3E004 */ cpu->r[4] = cpu->r[31] + 0x000001E4u;
|
|
/* 02C3E008 */ Gambit_fn_02C3C558(cpu);
|
|
L_02C3E00C: ; // 0x2c3e00c
|
|
/* 02C3E00C */ _t14 = cpu->r[31] + 0x000001E0u;
|
|
/* 02C3E00C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C3E010 */ Gambit_fn_02C3C618(cpu);
|
|
/* 02C3E014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C3E018 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3E018 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C3E018 */ if (_t16) goto L_02C3E0F4; else goto L_02C3E01C;
|
|
L_02C3E01C: ; // 0x2c3e01c
|
|
/* 02C3E01C */ _t17 = cpu->r[31] + 0x000001E0u;
|
|
/* 02C3E01C */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C3E020 */ _t18 = cpu->r[9] + 0x0000005Cu;
|
|
/* 02C3E020 */ cpu->r[10] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C3E024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C3E028 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3E028 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C3E028 */ if (_t20) goto L_02C3E0D0; else goto L_02C3E02C;
|
|
L_02C3E02C: ; // 0x2c3e02c
|
|
/* 02C3E02C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C3E030 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C3E030 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02C3E034 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C3E034 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]);
|
|
/* 02C3E038 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C3E038 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C3E03C */ _t24 = cpu->r[9] + 0x00000050u;
|
|
/* 02C3E03C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C3E040 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02C3E040 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02C3E044 */ _t26 = cpu->r[9] + 0x00000054u;
|
|
/* 02C3E044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C3E048 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C3E04C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3E050 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C3E050 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02C3E054 */ Gambit_fn_02C3C6B4(cpu);
|
|
/* 02C3E058 */ _t28 = cpu->r[31] + 0x000001ACu;
|
|
/* 02C3E058 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C3E05C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C3E060 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C3E060 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C3E060 */ if (_t30) goto L_02C3E064; else goto L_02C3E080;
|
|
L_02C3E064: ; // 0x2c3e064
|
|
/* 02C3E064 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C3E068 */ _t31 = cpu->r[31] + 0x000001ACu;
|
|
/* 02C3E068 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 02C3E06C */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C3E06C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C3E070 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02C3E070 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C3E074 */ cpu->lr = cpu->r[0];
|
|
/* 02C3E078 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C3E07C */ return;
|
|
L_02C3E080: ; // 0x2c3e080
|
|
/* 02C3E080 */ _t34 = cpu->r[31] + 0x00000024u;
|
|
/* 02C3E080 */ cpu->r[11] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02C3E084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C3E088 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3E088 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C3E088 */ if (_t36) goto L_02C3E0F4; else goto L_02C3E08C;
|
|
L_02C3E08C: ; // 0x2c3e08c
|
|
/* 02C3E08C */ _t37 = cpu->r[31] + 0x00000025u;
|
|
/* 02C3E08C */ cpu->r[12] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02C3E090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C3E094 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3E094 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C3E094 */ if (_t39) goto L_02C3E0F4; else goto L_02C3E098;
|
|
L_02C3E098: ; // 0x2c3e098
|
|
/* 02C3E098 */ _t40 = cpu->r[31] + 0x00000026u;
|
|
/* 02C3E098 */ cpu->r[0] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C3E09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C3E0A0 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3E0A0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C3E0A0 */ if (_t42) goto L_02C3E0A4; else goto L_02C3E0EC;
|
|
L_02C3E0A4: ; // 0x2c3e0a4
|
|
/* 02C3E0A4 */ _t43 = cpu->r[31] + 0x00000190u;
|
|
/* 02C3E0A4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02C3E0A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C3E0AC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3E0AC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C3E0AC */ if (_t45) goto L_02C3E0C0; else goto L_02C3E0B0;
|
|
L_02C3E0B0: ; // 0x2c3e0b0
|
|
/* 02C3E0B0 */ _t46 = cpu->r[31] + 0x000001D4u;
|
|
/* 02C3E0B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C3E0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C3E0B8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3E0B8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C3E0B8 */ if (_t48) goto L_02C3E0BC; else goto L_02C3E0EC;
|
|
L_02C3E0BC: ; // 0x2c3e0bc
|
|
/* 02C3E0BC */ goto L_02C3E0D0;
|
|
L_02C3E0C0: ; // 0x2c3e0c0
|
|
/* 02C3E0C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3E0C4 */ Gambit_fn_02C3DE00(cpu);
|
|
/* 02C3E0C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C3E0CC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C3E0CC */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C3E0CC */ if (_t50) goto L_02C3E0D0; else goto L_02C3E0EC;
|
|
L_02C3E0D0: ; // 0x2c3e0d0
|
|
/* 02C3E0D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3E0D4 */ Gambit_fn_02C3BC30(cpu);
|
|
/* 02C3E0D8 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C3E0D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C3E0DC */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02C3E0DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C3E0E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C3E0E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C3E0E8 */ return;
|
|
L_02C3E0EC: ; // 0x2c3e0ec
|
|
/* 02C3E0EC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C3E0F0 */ Gambit_fn_02C3BC98(cpu);
|
|
L_02C3E0F4: ; // 0x2c3e0f4
|
|
/* 02C3E0F4 */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C3E0F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C3E0F8 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02C3E0F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C3E0FC */ cpu->lr = cpu->r[0];
|
|
/* 02C3E100 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C3E104 */ return;
|
|
L_02C4D0A4: ; // 0x2c4d0a4
|
|
/* 02C4D0A4 */ goto L_02C3DFB8;
|
|
}
|
|
|
|
// fn_02C4D0A8 @ 0x2c4d0a8
|
|
void Gambit_fn_02C4D0A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C4D0A8: ; // 0x2c4d0a8
|
|
/* 02C4D0A8 */ _t0 = cpu->r[3] + 0x00000174u;
|
|
/* 02C4D0A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4D0AC */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C4D0AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C4D0B0 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4D0B4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C4D0C4 @ 0x2c4d0c4
|
|
void Gambit_fn_02C4D0C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C4D0C4: ; // 0x2c4d0c4
|
|
/* 02C4D0C4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4D0C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D0C4 */ cpu->r[1] = _t0;
|
|
/* 02C4D0C8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D0C8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4D0C8 */ if (_t2) goto L_02C4D0CC; else goto L_02C4D0DC;
|
|
L_02C4D0CC: ; // 0x2c4d0cc
|
|
/* 02C4D0CC */ cpu->r[3] = 0x00000018u;
|
|
/* 02C4D0D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4D0D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4D0D8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D0D8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4D0D8 */ if (_t4) goto L_02C4D110; else goto L_02C4D0DC;
|
|
L_02C4D0DC: ; // 0x2c4d0dc
|
|
/* 02C4D0DC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4D0E0 */ _t5 = cpu->r[12] + 0xFFFFCFA0u;
|
|
/* 02C4D0E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C4D0E4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4D0E8 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C4D0EC */ _t6 = cpu->r[12] + 0xFFFFCFB4u;
|
|
/* 02C4D0EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C4D0F0 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4D0F4 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4D0F4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02C4D0F8 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02C4D0FC */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4D0FC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 02C4D100 */ cpu->f[0] = cpu->f[13];
|
|
/* 02C4D104 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4D104 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
L_02C4D108: ; // 0x2c4d108
|
|
/* 02C4D108 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4D108 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02C4D108 */ cpu->r[12] = _t10;
|
|
/* 02C4D10C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4D10C */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4D10C */ _t12 = _t11 >> (0x00000002u & 31u);
|
|
/* 02C4D10C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C4D10C */ if (_t13) goto L_02C4D108; else goto L_02C4D110;
|
|
L_02C4D110: ; // 0x2c4d110
|
|
/* 02C4D110 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4D114 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D118 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D11C */ return;
|
|
}
|
|
|
|
// fn_02C4D12C @ 0x2c4d12c
|
|
void Gambit_fn_02C4D12C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C4D12C: ; // 0x2c4d12c
|
|
/* 02C4D12C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4D12C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D12C */ cpu->r[1] = _t0;
|
|
/* 02C4D130 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D130 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4D130 */ if (_t2) goto L_02C4D134; else goto L_02C4D144;
|
|
L_02C4D134: ; // 0x2c4d134
|
|
/* 02C4D134 */ cpu->r[3] = 0x00000010u;
|
|
/* 02C4D138 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4D13C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4D140 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D140 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4D140 */ if (_t4) goto L_02C4D148; else goto L_02C4D144;
|
|
L_02C4D144: ; // 0x2c4d144
|
|
/* 02C4D144 */ Gambit_fn_02C3CC80(cpu);
|
|
L_02C4D148: ; // 0x2c4d148
|
|
/* 02C4D148 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4D14C */ cpu->lr = cpu->r[0];
|
|
/* 02C4D150 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D154 */ return;
|
|
}
|
|
|
|
// fn_02C4D168 @ 0x2c4d168
|
|
void Gambit_fn_02C4D168(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C4D168: ; // 0x2c4d168
|
|
/* 02C4D168 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4D168 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D168 */ cpu->r[1] = _t0;
|
|
/* 02C4D16C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D16C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4D16C */ if (_t2) goto L_02C4D170; else goto L_02C4D180;
|
|
L_02C4D170: ; // 0x2c4d170
|
|
/* 02C4D170 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C4D174 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4D178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4D17C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D17C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4D17C */ if (_t4) goto L_02C4D190; else goto L_02C4D180;
|
|
L_02C4D180: ; // 0x2c4d180
|
|
/* 02C4D180 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02C4D184 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4D188 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4D188 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02C4D18C */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4D18C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02C4D190: ; // 0x2c4d190
|
|
/* 02C4D190 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4D194 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D198 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D19C */ return;
|
|
}
|
|
|
|
// fn_02C4D1A0 @ 0x2c4d1a0
|
|
void Gambit_fn_02C4D1A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C4D1A0: ; // 0x2c4d1a0
|
|
/* 02C4D1A0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02C4D1A4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C4D1A8 */ _t0 = cpu->r[10] + 0xFFFFD8A4u;
|
|
/* 02C4D1A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4D1A8 */ cpu->r[10] = _t0;
|
|
/* 02C4D1AC */ cpu->r[3] = cpu->r[3] + 0x00002544u;
|
|
/* 02C4D1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4D1B4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D1B4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4D1B4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02C4D1B4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4D1B4 */ goto L_02C4D1B8;
|
|
L_02C4D1B8: ; // 0x2c4d1b8
|
|
/* 02C4D1B8 */ cpu->r[11] = 0x00000001u;
|
|
/* 02C4D1BC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4D1C0 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02C4D1C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02C4D1C4 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4D1C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C4D1C8 */ return;
|
|
}
|
|
|
|
// fn_02C4D1D8 @ 0x2c4d1d8
|
|
void Gambit_fn_02C4D1D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C4D1D8: ; // 0x2c4d1d8
|
|
/* 02C4D1D8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4D1D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D1D8 */ cpu->r[1] = _t0;
|
|
/* 02C4D1DC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D1DC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4D1DC */ if (_t2) goto L_02C4D1E0; else goto L_02C4D1F0;
|
|
L_02C4D1E0: ; // 0x2c4d1e0
|
|
/* 02C4D1E0 */ cpu->r[3] = 0x00000010u;
|
|
/* 02C4D1E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4D1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4D1EC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D1EC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4D1EC */ if (_t4) goto L_02C4D20C; else goto L_02C4D1F0;
|
|
L_02C4D1F0: ; // 0x2c4d1f0
|
|
/* 02C4D1F0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4D1F4 */ _t5 = cpu->r[12] + 0xFFFFCFB4u;
|
|
/* 02C4D1F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C4D1F8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C4D1FC */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4D1FC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02C4D200 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4D200 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02C4D204 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4D204 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C4D208 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4D208 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
L_02C4D20C: ; // 0x2c4d20c
|
|
/* 02C4D20C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4D210 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D214 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D218 */ return;
|
|
}
|
|
|
|
// fn_02C4D21C @ 0x2c4d21c
|
|
void Gambit_fn_02C4D21C(CPUState* cpu) {
|
|
L_02C4D21C: ; // 0x2c4d21c
|
|
/* 02C4D21C */ return;
|
|
}
|
|
|
|
// fn_02C4D220 @ 0x2c4d220
|
|
void Gambit_fn_02C4D220(CPUState* cpu) {
|
|
L_02C4D220: ; // 0x2c4d220
|
|
/* 02C4D220 */ return;
|
|
}
|
|
|
|
// fn_02C4D224 @ 0x2c4d224
|
|
void Gambit_fn_02C4D224(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C4D224: ; // 0x2c4d224
|
|
/* 02C4D224 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02C4D228 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C4D22C */ _t0 = cpu->r[11] + 0xFFFFF9DCu;
|
|
/* 02C4D22C */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4D22C */ cpu->r[11] = _t0;
|
|
/* 02C4D230 */ cpu->r[3] = cpu->r[3] + 0x00002540u;
|
|
/* 02C4D234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C4D238 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D238 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4D238 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02C4D238 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4D238 */ goto L_02C4D23C;
|
|
L_02C4D23C: ; // 0x2c4d23c
|
|
/* 02C4D23C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02C4D240 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C4D244 */ _t4 = cpu->r[10] + 0xFFFFD8A4u;
|
|
/* 02C4D244 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4D244 */ cpu->r[10] = _t4;
|
|
/* 02C4D248 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C4D24C */ cpu->r[12] = cpu->r[12] + 0x00002544u;
|
|
/* 02C4D250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4D254 */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 02C4D254 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C4D258 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D258 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4D258 */ if (_t7) goto L_02C4D25C; else goto L_02C4D26C;
|
|
L_02C4D25C: ; // 0x2c4d25c
|
|
/* 02C4D25C */ cpu->r[7] = 0x00000001u;
|
|
/* 02C4D260 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C4D264 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 02C4D264 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02C4D268 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4D268 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
L_02C4D26C: ; // 0x2c4d26c
|
|
/* 02C4D26C */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4D26C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C4D270 */ return;
|
|
}
|
|
|
|
// fn_02C4D274 @ 0x2c4d274
|
|
void Gambit_fn_02C4D274(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4D274: ; // 0x2c4d274
|
|
/* 02C4D274 */ _t0 = cpu->r[3] + 0x000002A6u;
|
|
/* 02C4D274 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C4D278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D27C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D27C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4D27C */ if (_t2) goto L_02C4D288; else goto L_02C4D280;
|
|
L_02C4D280: ; // 0x2c4d280
|
|
/* 02C4D280 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C4D284 */ return;
|
|
L_02C4D288: ; // 0x2c4d288
|
|
/* 02C4D288 */ _t3 = cpu->r[3] + 0x000000ECu;
|
|
/* 02C4D288 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C4D28C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4D290 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D290 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D290 */ if (_t5) goto L_02C4D294; else goto L_02C4D29C;
|
|
L_02C4D294: ; // 0x2c4d294
|
|
/* 02C4D294 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4D298 */ return;
|
|
L_02C4D29C: ; // 0x2c4d29c
|
|
/* 02C4D29C */ _t6 = cpu->r[3] + 0x00000544u;
|
|
/* 02C4D29C */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C4D2A0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4D2A4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFDu;
|
|
/* 02C4D2A8 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C4D2AC */ return;
|
|
}
|
|
|
|
// fn_02C4D2B0 @ 0x2c4d2b0
|
|
void Gambit_fn_02C4D2B0(CPUState* cpu) {
|
|
L_02C4D2B0: ; // 0x2c4d2b0
|
|
/* 02C4D2B0 */ return;
|
|
}
|
|
|
|
// fn_02C4D2B4 @ 0x2c4d2b4
|
|
void Gambit_fn_02C4D2B4(CPUState* cpu) {
|
|
L_02C4D2B4: ; // 0x2c4d2b4
|
|
/* 02C4D2B4 */ cpu->r[3] = cpu->r[3] + 0x000002A8u;
|
|
/* 02C4D2B8 */ return;
|
|
}
|
|
|
|
// fn_02C4D2BC @ 0x2c4d2bc
|
|
void Gambit_fn_02C4D2BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C4D2BC: ; // 0x2c4d2bc
|
|
/* 02C4D2BC */ cpu->r[0] = cpu->lr;
|
|
/* 02C4D2C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D2C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D2C0 */ cpu->r[1] = _t0;
|
|
/* 02C4D2C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D2C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D2C8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D2C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4D2CC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4D2CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D2D0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4D2D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D2D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4D2D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D2D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D2D8 */ if (_t5) goto L_02C4D314; else goto L_02C4D2DC;
|
|
L_02C4D2DC: ; // 0x2c4d2dc
|
|
/* 02C4D2DC */ cpu->r[3] = cpu->r[30] + 0x000002A8u;
|
|
/* 02C4D2E0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4D2E4 */ Gambit_fn_02C3A884(cpu);
|
|
/* 02C4D2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D2EC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D2EC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4D2EC */ if (_t7) goto L_02C4D304; else goto L_02C4D2F0;
|
|
L_02C4D2F0: ; // 0x2c4d2f0
|
|
/* 02C4D2F0 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C4D2F4 */ cpu->r[12] = 0x00000003u;
|
|
/* 02C4D2F8 */ cpu->r[11] = cpu->r[11] + 0xFFFFE864u;
|
|
/* 02C4D2FC */ _t8 = cpu->r[30] + 0x000000F0u;
|
|
/* 02C4D2FC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C4D300 */ _t9 = cpu->r[30] + 0x00000298u;
|
|
/* 02C4D300 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
L_02C4D304: ; // 0x2c4d304
|
|
/* 02C4D304 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D308 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D308 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4D308 */ if (_t11) goto L_02C4D314; else goto L_02C4D30C;
|
|
L_02C4D30C: ; // 0x2c4d30c
|
|
/* 02C4D30C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D310 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C4D314: ; // 0x2c4d314
|
|
/* 02C4D314 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4D318 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D318 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4D31C */ cpu->lr = cpu->r[0];
|
|
/* 02C4D320 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D320 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4D324 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D328 */ return;
|
|
}
|
|
|
|
// fn_02C4D2C0 @ 0x2c4d2c0
|
|
void Gambit_fn_02C4D2C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C4D2C0: ; // 0x2c4d2c0
|
|
/* 02C4D2C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D2C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D2C0 */ cpu->r[1] = _t0;
|
|
/* 02C4D2C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D2C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D2C8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D2C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4D2CC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4D2CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D2D0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4D2D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D2D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4D2D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D2D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D2D8 */ if (_t5) goto L_02C4D314; else goto L_02C4D2DC;
|
|
L_02C4D2DC: ; // 0x2c4d2dc
|
|
/* 02C4D2DC */ cpu->r[3] = cpu->r[30] + 0x000002A8u;
|
|
/* 02C4D2E0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4D2E4 */ Gambit_fn_02C3A884(cpu);
|
|
/* 02C4D2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D2EC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D2EC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4D2EC */ if (_t7) goto L_02C4D304; else goto L_02C4D2F0;
|
|
L_02C4D2F0: ; // 0x2c4d2f0
|
|
/* 02C4D2F0 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C4D2F4 */ cpu->r[12] = 0x00000003u;
|
|
/* 02C4D2F8 */ cpu->r[11] = cpu->r[11] + 0xFFFFE864u;
|
|
/* 02C4D2FC */ _t8 = cpu->r[30] + 0x000000F0u;
|
|
/* 02C4D2FC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C4D300 */ _t9 = cpu->r[30] + 0x00000298u;
|
|
/* 02C4D300 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
L_02C4D304: ; // 0x2c4d304
|
|
/* 02C4D304 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D308 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D308 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4D308 */ if (_t11) goto L_02C4D314; else goto L_02C4D30C;
|
|
L_02C4D30C: ; // 0x2c4d30c
|
|
/* 02C4D30C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D310 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C4D314: ; // 0x2c4d314
|
|
/* 02C4D314 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4D318 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D318 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4D31C */ cpu->lr = cpu->r[0];
|
|
/* 02C4D320 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D320 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4D324 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D328 */ return;
|
|
}
|
|
|
|
// fn_02C4D32C @ 0x2c4d32c
|
|
void Gambit_fn_02C4D32C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C4D32C: ; // 0x2c4d32c
|
|
/* 02C4D32C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02C4D330 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C4D334 */ _t0 = cpu->r[11] + 0xFFFFF9E0u;
|
|
/* 02C4D334 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4D334 */ cpu->r[11] = _t0;
|
|
/* 02C4D338 */ cpu->r[3] = cpu->r[3] + 0x0000254Cu;
|
|
/* 02C4D33C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C4D340 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D340 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4D340 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02C4D340 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4D340 */ goto L_02C4D344;
|
|
L_02C4D344: ; // 0x2c4d344
|
|
/* 02C4D344 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02C4D348 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C4D34C */ _t4 = cpu->r[10] + 0xFFFFD8A4u;
|
|
/* 02C4D34C */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4D34C */ cpu->r[10] = _t4;
|
|
/* 02C4D350 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C4D354 */ cpu->r[12] = cpu->r[12] + 0x00002544u;
|
|
/* 02C4D358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4D35C */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 02C4D35C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C4D360 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D360 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4D360 */ if (_t7) goto L_02C4D364; else goto L_02C4D374;
|
|
L_02C4D364: ; // 0x2c4d364
|
|
/* 02C4D364 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C4D368 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C4D36C */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 02C4D36C */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02C4D370 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4D370 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
L_02C4D374: ; // 0x2c4d374
|
|
/* 02C4D374 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4D374 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C4D378 */ return;
|
|
}
|
|
|
|
// fn_02C4D37C @ 0x2c4d37c
|
|
void Gambit_fn_02C4D37C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4D37C: ; // 0x2c4d37c
|
|
/* 02C4D37C */ _t0 = cpu->r[3] + 0x000002AAu;
|
|
/* 02C4D37C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C4D380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D384 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D384 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4D384 */ if (_t2) goto L_02C4D390; else goto L_02C4D388;
|
|
L_02C4D388: ; // 0x2c4d388
|
|
/* 02C4D388 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C4D38C */ return;
|
|
L_02C4D390: ; // 0x2c4d390
|
|
/* 02C4D390 */ _t3 = cpu->r[3] + 0x000000ECu;
|
|
/* 02C4D390 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C4D394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4D398 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D398 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D398 */ if (_t5) goto L_02C4D39C; else goto L_02C4D3A4;
|
|
L_02C4D39C: ; // 0x2c4d39c
|
|
/* 02C4D39C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4D3A0 */ return;
|
|
L_02C4D3A4: ; // 0x2c4d3a4
|
|
/* 02C4D3A4 */ _t6 = cpu->r[3] + 0x00000488u;
|
|
/* 02C4D3A4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C4D3A8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4D3AC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFDu;
|
|
/* 02C4D3B0 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C4D3B4 */ return;
|
|
}
|
|
|
|
// fn_02C4D3B8 @ 0x2c4d3b8
|
|
void Gambit_fn_02C4D3B8(CPUState* cpu) {
|
|
L_02C4D3B8: ; // 0x2c4d3b8
|
|
/* 02C4D3B8 */ return;
|
|
}
|
|
|
|
// fn_02C4D3BC @ 0x2c4d3bc
|
|
void Gambit_fn_02C4D3BC(CPUState* cpu) {
|
|
L_02C4D3BC: ; // 0x2c4d3bc
|
|
/* 02C4D3BC */ return;
|
|
}
|
|
|
|
// fn_02C4D3C0 @ 0x2c4d3c0
|
|
void Gambit_fn_02C4D3C0(CPUState* cpu) {
|
|
L_02C4D3C0: ; // 0x2c4d3c0
|
|
/* 02C4D3C0 */ cpu->r[3] = cpu->r[3] + 0x000002B0u;
|
|
/* 02C4D3C4 */ return;
|
|
}
|
|
|
|
// fn_02C4D3C8 @ 0x2c4d3c8
|
|
void Gambit_fn_02C4D3C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C4D3C8: ; // 0x2c4d3c8
|
|
/* 02C4D3C8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4D3CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D3CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D3CC */ cpu->r[1] = _t0;
|
|
/* 02C4D3D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D3D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D3D4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D3D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4D3D8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4D3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D3DC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4D3E0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D3E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4D3E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D3E4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D3E4 */ if (_t5) goto L_02C4D420; else goto L_02C4D3E8;
|
|
L_02C4D3E8: ; // 0x2c4d3e8
|
|
/* 02C4D3E8 */ cpu->r[3] = cpu->r[30] + 0x000002B0u;
|
|
/* 02C4D3EC */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4D3F0 */ Gambit_fn_02C3C400(cpu);
|
|
/* 02C4D3F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D3F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D3F8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4D3F8 */ if (_t7) goto L_02C4D410; else goto L_02C4D3FC;
|
|
L_02C4D3FC: ; // 0x2c4d3fc
|
|
/* 02C4D3FC */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C4D400 */ cpu->r[12] = 0x00000003u;
|
|
/* 02C4D404 */ cpu->r[11] = cpu->r[11] + 0xFFFFE864u;
|
|
/* 02C4D408 */ _t8 = cpu->r[30] + 0x000000F0u;
|
|
/* 02C4D408 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C4D40C */ _t9 = cpu->r[30] + 0x00000298u;
|
|
/* 02C4D40C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
L_02C4D410: ; // 0x2c4d410
|
|
/* 02C4D410 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D414 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D414 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4D414 */ if (_t11) goto L_02C4D420; else goto L_02C4D418;
|
|
L_02C4D418: ; // 0x2c4d418
|
|
/* 02C4D418 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D41C */ Gambit_fn_02801BB0(cpu);
|
|
L_02C4D420: ; // 0x2c4d420
|
|
/* 02C4D420 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4D424 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D424 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4D428 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D42C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D42C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4D430 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D434 */ return;
|
|
}
|
|
|
|
// fn_02C4D3CC @ 0x2c4d3cc
|
|
void Gambit_fn_02C4D3CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C4D3CC: ; // 0x2c4d3cc
|
|
/* 02C4D3CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D3CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D3CC */ cpu->r[1] = _t0;
|
|
/* 02C4D3D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D3D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D3D4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D3D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4D3D8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4D3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D3DC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4D3E0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D3E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4D3E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D3E4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D3E4 */ if (_t5) goto L_02C4D420; else goto L_02C4D3E8;
|
|
L_02C4D3E8: ; // 0x2c4d3e8
|
|
/* 02C4D3E8 */ cpu->r[3] = cpu->r[30] + 0x000002B0u;
|
|
/* 02C4D3EC */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4D3F0 */ Gambit_fn_02C3C400(cpu);
|
|
/* 02C4D3F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D3F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D3F8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4D3F8 */ if (_t7) goto L_02C4D410; else goto L_02C4D3FC;
|
|
L_02C4D3FC: ; // 0x2c4d3fc
|
|
/* 02C4D3FC */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C4D400 */ cpu->r[12] = 0x00000003u;
|
|
/* 02C4D404 */ cpu->r[11] = cpu->r[11] + 0xFFFFE864u;
|
|
/* 02C4D408 */ _t8 = cpu->r[30] + 0x000000F0u;
|
|
/* 02C4D408 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C4D40C */ _t9 = cpu->r[30] + 0x00000298u;
|
|
/* 02C4D40C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
L_02C4D410: ; // 0x2c4d410
|
|
/* 02C4D410 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D414 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D414 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4D414 */ if (_t11) goto L_02C4D420; else goto L_02C4D418;
|
|
L_02C4D418: ; // 0x2c4d418
|
|
/* 02C4D418 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D41C */ Gambit_fn_02801BB0(cpu);
|
|
L_02C4D420: ; // 0x2c4d420
|
|
/* 02C4D420 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4D424 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D424 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4D428 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D42C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D42C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4D430 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D434 */ return;
|
|
}
|
|
|
|
// fn_02C4D438 @ 0x2c4d438
|
|
void Gambit_fn_02C4D438(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C4D438: ; // 0x2c4d438
|
|
/* 02C4D438 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02C4D43C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C4D440 */ _t0 = cpu->r[11] + 0xFFFFF9E4u;
|
|
/* 02C4D440 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4D440 */ cpu->r[11] = _t0;
|
|
/* 02C4D444 */ cpu->r[3] = cpu->r[3] + 0x00002548u;
|
|
/* 02C4D448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C4D44C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D44C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4D44C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02C4D44C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4D44C */ goto L_02C4D450;
|
|
L_02C4D450: ; // 0x2c4d450
|
|
/* 02C4D450 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02C4D454 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C4D458 */ _t4 = cpu->r[10] + 0xFFFFD8A4u;
|
|
/* 02C4D458 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4D458 */ cpu->r[10] = _t4;
|
|
/* 02C4D45C */ cpu->r[0] = 0x00000001u;
|
|
/* 02C4D460 */ cpu->r[12] = cpu->r[12] + 0x00002544u;
|
|
/* 02C4D464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4D468 */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 02C4D468 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C4D46C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D46C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4D46C */ if (_t7) goto L_02C4D470; else goto L_02C4D480;
|
|
L_02C4D470: ; // 0x2c4d470
|
|
/* 02C4D470 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C4D474 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C4D478 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 02C4D478 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02C4D47C */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4D47C */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
L_02C4D480: ; // 0x2c4d480
|
|
/* 02C4D480 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4D480 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C4D484 */ return;
|
|
}
|
|
|
|
// fn_02C4D48C @ 0x2c4d48c
|
|
void Gambit_fn_02C4D48C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C4D48C: ; // 0x2c4d48c
|
|
/* 02C4D48C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D48C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D48C */ cpu->r[1] = _t0;
|
|
/* 02C4D490 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D490 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D494 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4D494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4D498 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D498 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4D49C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D49C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4D49C */ if (_t4) goto L_02C4D4A0; else goto L_02C4D4B0;
|
|
L_02C4D4A0: ; // 0x2c4d4a0
|
|
/* 02C4D4A0 */ cpu->r[3] = 0x000004C8u;
|
|
/* 02C4D4A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4D4A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4D4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4D4AC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D4AC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4D4AC */ if (_t6) goto L_02C4D4C8; else goto L_02C4D4B0;
|
|
L_02C4D4B0: ; // 0x2c4d4b0
|
|
/* 02C4D4B0 */ cpu->r[6] = 0x02C50000u;
|
|
/* 02C4D4B4 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C4D4B8 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C4D4BC */ cpu->r[6] = cpu->r[6] + 0xFFFFD04Cu;
|
|
/* 02C4D4C0 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C4D4C4 */ Gambit_fn_02C82E00(cpu);
|
|
L_02C4D4C8: ; // 0x2c4d4c8
|
|
/* 02C4D4C8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D4C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4D4CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4D4D0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D4D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4D4D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D4D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D4DC */ return;
|
|
}
|
|
|
|
// fn_02C4D4E4 @ 0x2c4d4e4
|
|
void Gambit_fn_02C4D4E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C4D4E4: ; // 0x2c4d4e4
|
|
/* 02C4D4E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D4E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D4E4 */ cpu->r[1] = _t0;
|
|
/* 02C4D4E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D4E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D4EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4D4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4D4F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D4F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4D4F4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D4F4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4D4F4 */ if (_t4) goto L_02C4D4F8; else goto L_02C4D508;
|
|
L_02C4D4F8: ; // 0x2c4d4f8
|
|
/* 02C4D4F8 */ cpu->r[3] = 0x00000110u;
|
|
/* 02C4D4FC */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4D500 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4D500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4D504 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D504 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4D504 */ if (_t6) goto L_02C4D538; else goto L_02C4D508;
|
|
L_02C4D508: ; // 0x2c4d508
|
|
/* 02C4D508 */ cpu->r[6] = 0x02C50000u;
|
|
/* 02C4D50C */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 02C4D510 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4D514 */ cpu->r[6] = cpu->r[6] + 0xFFFFCF18u;
|
|
/* 02C4D518 */ cpu->r[5] = 0x00000018u;
|
|
/* 02C4D51C */ Gambit_fn_02C82E00(cpu);
|
|
/* 02C4D520 */ cpu->r[6] = 0x02C50000u;
|
|
/* 02C4D524 */ cpu->r[3] = cpu->r[31] + 0x00000070u;
|
|
/* 02C4D528 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4D52C */ cpu->r[6] = cpu->r[6] + 0xFFFFCF6Cu;
|
|
/* 02C4D530 */ cpu->r[5] = 0x00000050u;
|
|
/* 02C4D534 */ Gambit_fn_02C82E00(cpu);
|
|
L_02C4D538: ; // 0x2c4d538
|
|
/* 02C4D538 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4D53C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4D540 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4D544 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D548 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D54C */ return;
|
|
}
|
|
|
|
// fn_02C4D550 @ 0x2c4d550
|
|
void Gambit_fn_02C4D550(CPUState* cpu) {
|
|
L_02C4D550: ; // 0x2c4d550
|
|
/* 02C4D550 */ cpu->r[3] = cpu->r[3] + 0x00000338u;
|
|
/* 02C4D554 */ return;
|
|
}
|
|
|
|
// fn_02C4D558 @ 0x2c4d558
|
|
void Gambit_fn_02C4D558(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C4D558: ; // 0x2c4d558
|
|
/* 02C4D558 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4D55C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D55C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D55C */ cpu->r[1] = _t0;
|
|
/* 02C4D560 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D560 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D564 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D564 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4D568 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4D568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D56C */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4D570 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D570 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4D574 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D574 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D574 */ if (_t5) goto L_02C4D5B0; else goto L_02C4D578;
|
|
L_02C4D578: ; // 0x2c4d578
|
|
/* 02C4D578 */ cpu->r[3] = cpu->r[30] + 0x00000338u;
|
|
/* 02C4D57C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4D580 */ Gambit_fn_02C38144(cpu);
|
|
/* 02C4D584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D588 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D588 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4D588 */ if (_t7) goto L_02C4D5A0; else goto L_02C4D58C;
|
|
L_02C4D58C: ; // 0x2c4d58c
|
|
/* 02C4D58C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C4D590 */ cpu->r[12] = 0x00000003u;
|
|
/* 02C4D594 */ cpu->r[11] = cpu->r[11] + 0xFFFFE864u;
|
|
/* 02C4D598 */ _t8 = cpu->r[30] + 0x000000F0u;
|
|
/* 02C4D598 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C4D59C */ _t9 = cpu->r[30] + 0x00000298u;
|
|
/* 02C4D59C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
L_02C4D5A0: ; // 0x2c4d5a0
|
|
/* 02C4D5A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D5A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D5A4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D5A4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4D5A4 */ if (_t11) goto L_02C4D5B0; else goto L_02C4D5A8;
|
|
L_02C4D5A8: ; // 0x2c4d5a8
|
|
/* 02C4D5A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D5AC */ Gambit_fn_02801BB0(cpu);
|
|
L_02C4D5B0: ; // 0x2c4d5b0
|
|
/* 02C4D5B0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D5B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4D5B4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D5B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4D5B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D5BC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D5BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4D5C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D5C4 */ return;
|
|
}
|
|
|
|
// fn_02C4D55C @ 0x2c4d55c
|
|
void Gambit_fn_02C4D55C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C4D55C: ; // 0x2c4d55c
|
|
/* 02C4D55C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D55C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D55C */ cpu->r[1] = _t0;
|
|
/* 02C4D560 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D560 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D564 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D564 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4D568 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4D568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D56C */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4D570 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D570 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4D574 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D574 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D574 */ if (_t5) goto L_02C4D5B0; else goto L_02C4D578;
|
|
L_02C4D578: ; // 0x2c4d578
|
|
/* 02C4D578 */ cpu->r[3] = cpu->r[30] + 0x00000338u;
|
|
/* 02C4D57C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4D580 */ Gambit_fn_02C38144(cpu);
|
|
/* 02C4D584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D588 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D588 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4D588 */ if (_t7) goto L_02C4D5A0; else goto L_02C4D58C;
|
|
L_02C4D58C: ; // 0x2c4d58c
|
|
/* 02C4D58C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C4D590 */ cpu->r[12] = 0x00000003u;
|
|
/* 02C4D594 */ cpu->r[11] = cpu->r[11] + 0xFFFFE864u;
|
|
/* 02C4D598 */ _t8 = cpu->r[30] + 0x000000F0u;
|
|
/* 02C4D598 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C4D59C */ _t9 = cpu->r[30] + 0x00000298u;
|
|
/* 02C4D59C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
L_02C4D5A0: ; // 0x2c4d5a0
|
|
/* 02C4D5A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D5A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D5A4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D5A4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4D5A4 */ if (_t11) goto L_02C4D5B0; else goto L_02C4D5A8;
|
|
L_02C4D5A8: ; // 0x2c4d5a8
|
|
/* 02C4D5A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D5AC */ Gambit_fn_02801BB0(cpu);
|
|
L_02C4D5B0: ; // 0x2c4d5b0
|
|
/* 02C4D5B0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D5B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4D5B4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D5B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4D5B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D5BC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D5BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4D5C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D5C4 */ return;
|
|
}
|
|
|
|
// fn_02C4D5C8 @ 0x2c4d5c8
|
|
void Gambit_fn_02C4D5C8(CPUState* 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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C4D5C8: ; // 0x2c4d5c8
|
|
/* 02C4D5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4D5CC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D5CC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C4D5CC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4D5CC */ goto L_02C4D5D0;
|
|
L_02C4D5D0: ; // 0x2c4d5d0
|
|
/* 02C4D5D0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C4D5D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D5D8 */ _t18 = cpu->r[3] + 0x0000023Cu;
|
|
/* 02C4D5D8 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 02C4D5DC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D5DC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4D5DC */ if (_t20) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4D5DC */ goto L_02C4D5E0;
|
|
L_02C4D5E0: ; // 0x2c4d5e0
|
|
/* 02C4D5E0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C4D5E4 @ 0x2c4d5e4
|
|
void Gambit_fn_02C4D5E4(CPUState* cpu) {
|
|
L_02C4D5E4: ; // 0x2c4d5e4
|
|
/* 02C4D5E4 */ return;
|
|
}
|
|
|
|
// fn_02C4D5E8 @ 0x2c4d5e8
|
|
void Gambit_fn_02C4D5E8(CPUState* cpu) {
|
|
L_02C4D5E8: ; // 0x2c4d5e8
|
|
/* 02C4D5E8 */ return;
|
|
}
|
|
|
|
// fn_02C4D5EC @ 0x2c4d5ec
|
|
void Gambit_fn_02C4D5EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C4D5EC: ; // 0x2c4d5ec
|
|
/* 02C4D5EC */ cpu->r[0] = cpu->lr;
|
|
/* 02C4D5F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D5F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D5F0 */ cpu->r[1] = _t0;
|
|
/* 02C4D5F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D5F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D5F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4D5FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D5FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4D600 */ _t3 = cpu->r[31] + 0x00000038u;
|
|
/* 02C4D600 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4D604 */ Gambit_fn_02C455F0(cpu);
|
|
/* 02C4D608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4D60C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D60C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D60C */ if (_t5) goto L_02C4D610; else goto L_02C4D660;
|
|
L_02C4D610: ; // 0x2c4d610
|
|
/* 02C4D610 */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 02C4D610 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4D614 */ _t7 = cpu->r[3] + 0x0000002Fu;
|
|
/* 02C4D614 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C4D618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D61C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D61C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4D61C */ if (_t9) goto L_02C4D648; else goto L_02C4D620;
|
|
L_02C4D620: ; // 0x2c4d620
|
|
/* 02C4D620 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C4D624 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C4D628 */ cpu->r[4] = 0x0000012Du;
|
|
/* 02C4D62C */ cpu->r[3] = cpu->r[3] + 0xFFFFCF58u;
|
|
/* 02C4D630 */ cpu->r[5] = cpu->r[5] + 0xFFFFCF70u;
|
|
/* 02C4D634 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4D634 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4D634 */ if (_t11) goto L_02C4D638; // else: addr-0 trap, fall-through
|
|
L_02C4D638: ; // 0x2c4d638
|
|
/* 02C4D638 */ Gambit_fn_02C4EB50(cpu);
|
|
/* 02C4D63C */ _t12 = cpu->r[31] + 0x00000038u;
|
|
/* 02C4D63C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4D640 */ Gambit_fn_02C460D4(cpu);
|
|
/* 02C4D644 */ goto L_02C4D668;
|
|
L_02C4D648: ; // 0x2c4d648
|
|
/* 02C4D648 */ Gambit_fn_02C45588(cpu);
|
|
/* 02C4D64C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D64C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4D650 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4D654 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D658 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D65C */ return;
|
|
L_02C4D660: ; // 0x2c4d660
|
|
/* 02C4D660 */ _t15 = cpu->r[31] + 0x00000038u;
|
|
/* 02C4D660 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4D664 */ Gambit_fn_02C460D4(cpu);
|
|
L_02C4D668: ; // 0x2c4d668
|
|
/* 02C4D668 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4D66C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D66C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4D670 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D674 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D678 */ return;
|
|
}
|
|
|
|
// fn_02C4D5F0 @ 0x2c4d5f0
|
|
void Gambit_fn_02C4D5F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C4D5F0: ; // 0x2c4d5f0
|
|
/* 02C4D5F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D5F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D5F0 */ cpu->r[1] = _t0;
|
|
/* 02C4D5F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D5F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D5F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4D5FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D5FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4D600 */ _t3 = cpu->r[31] + 0x00000038u;
|
|
/* 02C4D600 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4D604 */ Gambit_fn_02C455F0(cpu);
|
|
/* 02C4D608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4D60C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D60C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D60C */ if (_t5) goto L_02C4D610; else goto L_02C4D660;
|
|
L_02C4D610: ; // 0x2c4d610
|
|
/* 02C4D610 */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 02C4D610 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4D614 */ _t7 = cpu->r[3] + 0x0000002Fu;
|
|
/* 02C4D614 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C4D618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D61C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D61C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4D61C */ if (_t9) goto L_02C4D648; else goto L_02C4D620;
|
|
L_02C4D620: ; // 0x2c4d620
|
|
/* 02C4D620 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C4D624 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C4D628 */ cpu->r[4] = 0x0000012Du;
|
|
/* 02C4D62C */ cpu->r[3] = cpu->r[3] + 0xFFFFCF58u;
|
|
/* 02C4D630 */ cpu->r[5] = cpu->r[5] + 0xFFFFCF70u;
|
|
/* 02C4D634 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4D634 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4D634 */ if (_t11) goto L_02C4D638; // else: addr-0 trap, fall-through
|
|
L_02C4D638: ; // 0x2c4d638
|
|
/* 02C4D638 */ Gambit_fn_02C4EB50(cpu);
|
|
/* 02C4D63C */ _t12 = cpu->r[31] + 0x00000038u;
|
|
/* 02C4D63C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4D640 */ Gambit_fn_02C460D4(cpu);
|
|
/* 02C4D644 */ goto L_02C4D668;
|
|
L_02C4D648: ; // 0x2c4d648
|
|
/* 02C4D648 */ Gambit_fn_02C45588(cpu);
|
|
/* 02C4D64C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D64C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4D650 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4D654 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D658 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D65C */ return;
|
|
L_02C4D660: ; // 0x2c4d660
|
|
/* 02C4D660 */ _t15 = cpu->r[31] + 0x00000038u;
|
|
/* 02C4D660 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4D664 */ Gambit_fn_02C460D4(cpu);
|
|
L_02C4D668: ; // 0x2c4d668
|
|
/* 02C4D668 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4D66C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D66C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4D670 */ cpu->lr = cpu->r[0];
|
|
/* 02C4D674 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D678 */ return;
|
|
}
|
|
|
|
// fn_02C4D67C @ 0x2c4d67c
|
|
void Gambit_fn_02C4D67C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02C46FA0: ; // 0x2c46fa0
|
|
/* 02C46FA0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C46FA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C46FA0 */ cpu->r[1] = _t0;
|
|
/* 02C46FA4 */ /* nop */
|
|
/* 02C46FA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C46FAC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C46FAC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C46FB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C46FB4 */ _t2 = cpu->r[30] + 0x000002EDu;
|
|
/* 02C46FB4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C46FB8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C46FBC */ cpu->r[25] = cpu->r[5];
|
|
/* 02C46FC0 */ cpu->r[26] = cpu->r[6];
|
|
/* 02C46FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C46FC8 */ cpu->r[28] = cpu->r[7];
|
|
/* 02C46FCC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46FCC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C46FCC */ if (_t4) goto L_02C46FD0; else goto L_02C470C0;
|
|
L_02C46FD0: ; // 0x2c46fd0
|
|
/* 02C46FD0 */ Gambit_fn_02C28F0C(cpu);
|
|
/* 02C46FD4 */ cpu->r[4] = 0x00000094u;
|
|
/* 02C46FD8 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C46FDC */ Gambit_fn_02C1EA54(cpu);
|
|
/* 02C46FE0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C46FE4 */ cpu->r[11] = 0x00000037u;
|
|
/* 02C46FE8 */ _t5 = cpu->r[29] + 0x00000004u;
|
|
/* 02C46FE8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02C46FEC */ _t6 = cpu->r[30] + 0x00000014u;
|
|
/* 02C46FEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C46FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C46FF4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C46FF4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C46FF4 */ if (_t8) goto L_02C47098; else goto L_02C46FF8;
|
|
L_02C46FF8: ; // 0x2c46ff8
|
|
/* 02C46FF8 */ _t9 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C46FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C46FFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C47000 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C47000 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C47000 */ if (_t11) goto L_02C47010; else goto L_02C47004;
|
|
L_02C47004: ; // 0x2c47004
|
|
/* 02C47004 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C47004 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C47004 */ if (_t13) goto L_02C47054; else goto L_02C47008;
|
|
L_02C47008: ; // 0x2c47008
|
|
/* 02C47008 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4700C */ goto L_02C4709C;
|
|
L_02C47010: ; // 0x2c47010
|
|
/* 02C47010 */ cpu->r[8] = cpu->r[28];
|
|
/* 02C47014 */ cpu->r[7] = cpu->r[26];
|
|
/* 02C47018 */ cpu->r[6] = cpu->r[25];
|
|
/* 02C4701C */ cpu->r[5] = cpu->r[31];
|
|
/* 02C47020 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C47024 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C47028 */ Gambit_fn_02C467E0(cpu);
|
|
/* 02C4702C */ _t14 = cpu->r[29] + 0x00000014u;
|
|
/* 02C4702C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[3]);
|
|
/* 02C47030 */ _t15 = cpu->r[30] + 0x00000010u;
|
|
/* 02C47030 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C47034 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C47038 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C4703C */ _t16 = cpu->r[29] + 0x00000010u;
|
|
/* 02C4703C */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02C47040 */ Gambit_fn_02C1EB5C(cpu);
|
|
/* 02C47044 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C47048 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C4704C */ Gambit_fn_02C1EC30(cpu);
|
|
/* 02C47050 */ goto L_02C470C0;
|
|
L_02C47054: ; // 0x2c47054
|
|
/* 02C47054 */ cpu->r[8] = cpu->r[28];
|
|
/* 02C47058 */ cpu->r[7] = cpu->r[26];
|
|
/* 02C4705C */ cpu->r[6] = cpu->r[25];
|
|
/* 02C47060 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C47064 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C47068 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4706C */ Gambit_fn_02C46C74(cpu);
|
|
/* 02C47070 */ _t17 = cpu->r[29] + 0x00000014u;
|
|
/* 02C47070 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[3]);
|
|
/* 02C47074 */ _t18 = cpu->r[30] + 0x00000010u;
|
|
/* 02C47074 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C47078 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4707C */ cpu->r[3] = cpu->r[27];
|
|
/* 02C47080 */ _t19 = cpu->r[29] + 0x00000010u;
|
|
/* 02C47080 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02C47084 */ Gambit_fn_02C1EB5C(cpu);
|
|
/* 02C47088 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C4708C */ cpu->r[3] = cpu->r[27];
|
|
/* 02C47090 */ Gambit_fn_02C1EC30(cpu);
|
|
/* 02C47094 */ goto L_02C470C0;
|
|
L_02C47098: ; // 0x2c47098
|
|
/* 02C47098 */ cpu->r[3] = 0x00000000u;
|
|
L_02C4709C: ; // 0x2c4709c
|
|
/* 02C4709C */ _t20 = cpu->r[29] + 0x00000014u;
|
|
/* 02C4709C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[3]);
|
|
/* 02C470A0 */ _t21 = cpu->r[30] + 0x00000010u;
|
|
/* 02C470A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C470A4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C470A8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C470AC */ _t22 = cpu->r[29] + 0x00000010u;
|
|
/* 02C470AC */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02C470B0 */ Gambit_fn_02C1EB5C(cpu);
|
|
/* 02C470B4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C470B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C470BC */ Gambit_fn_02C1EC30(cpu);
|
|
L_02C470C0: ; // 0x2c470c0
|
|
/* 02C470C0 */ /* nop */
|
|
/* 02C470C4 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C470C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C470C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C470CC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C470D0 */ return;
|
|
L_02C4D67C: ; // 0x2c4d67c
|
|
/* 02C4D67C */ cpu->r[12] = cpu->r[3];
|
|
/* 02C4D680 */ _t24 = cpu->r[12] + 0x00000080u;
|
|
/* 02C4D680 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C4D684 */ cpu->r[4] = cpu->r[12] + 0x00000038u;
|
|
/* 02C4D688 */ _t25 = cpu->r[12] + 0x00000084u;
|
|
/* 02C4D688 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4D68C */ _t26 = cpu->r[12] + 0x00000078u;
|
|
/* 02C4D68C */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4D690 */ _t27 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02C4D690 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4D694 */ goto L_02C46FA0;
|
|
}
|
|
|
|
// fn_02C4D698 @ 0x2c4d698
|
|
void Gambit_fn_02C4D698(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C4D698: ; // 0x2c4d698
|
|
/* 02C4D698 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4D69C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D69C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D69C */ cpu->r[1] = _t0;
|
|
/* 02C4D6A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D6A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D6A4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D6A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4D6A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4D6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D6AC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4D6B0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D6B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4D6B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D6B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D6B4 */ if (_t5) goto L_02C4D6D4; else goto L_02C4D6B8;
|
|
L_02C4D6B8: ; // 0x2c4d6b8
|
|
/* 02C4D6B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D6BC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4D6C0 */ Gambit_fn_02C227C0(cpu);
|
|
/* 02C4D6C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D6C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D6C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D6C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4D6C8 */ if (_t7) goto L_02C4D6D4; else goto L_02C4D6CC;
|
|
L_02C4D6CC: ; // 0x2c4d6cc
|
|
/* 02C4D6CC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D6D0 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C4D6D4: ; // 0x2c4d6d4
|
|
/* 02C4D6D4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D6D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4D6D8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D6D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4D6DC */ cpu->lr = cpu->r[0];
|
|
/* 02C4D6E0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D6E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4D6E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D6E8 */ return;
|
|
}
|
|
|
|
// fn_02C4D69C @ 0x2c4d69c
|
|
void Gambit_fn_02C4D69C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C4D69C: ; // 0x2c4d69c
|
|
/* 02C4D69C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D69C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D69C */ cpu->r[1] = _t0;
|
|
/* 02C4D6A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D6A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D6A4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D6A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4D6A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4D6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D6AC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4D6B0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D6B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4D6B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D6B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D6B4 */ if (_t5) goto L_02C4D6D4; else goto L_02C4D6B8;
|
|
L_02C4D6B8: ; // 0x2c4d6b8
|
|
/* 02C4D6B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D6BC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4D6C0 */ Gambit_fn_02C227C0(cpu);
|
|
/* 02C4D6C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D6C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D6C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D6C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4D6C8 */ if (_t7) goto L_02C4D6D4; else goto L_02C4D6CC;
|
|
L_02C4D6CC: ; // 0x2c4d6cc
|
|
/* 02C4D6CC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D6D0 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C4D6D4: ; // 0x2c4d6d4
|
|
/* 02C4D6D4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D6D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4D6D8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D6D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4D6DC */ cpu->lr = cpu->r[0];
|
|
/* 02C4D6E0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D6E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4D6E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D6E8 */ return;
|
|
}
|
|
|
|
// fn_02C4D6EC @ 0x2c4d6ec
|
|
void Gambit_fn_02C4D6EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C45764: ; // 0x2c45764
|
|
/* 02C45764 */ cpu->r[0] = cpu->lr;
|
|
/* 02C45768 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C45768 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C45768 */ cpu->r[1] = _t0;
|
|
/* 02C4576C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4576C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C45770 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C45774 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C45774 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C45778 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C4577C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4577C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C45780 */ _t4 = cpu->r[3] + 0xFFFFB924u;
|
|
/* 02C45780 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C45784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C45788 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C4578C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4578C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4578C */ if (_t6) goto L_02C457B0; else goto L_02C45790;
|
|
L_02C45790: ; // 0x2c45790
|
|
/* 02C45790 */ _t7 = cpu->r[31] + 0x00001590u;
|
|
/* 02C45790 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C45794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C45798 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C45798 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C45798 */ if (_t9) goto L_02C457B0; else goto L_02C4579C;
|
|
L_02C4579C: ; // 0x2c4579c
|
|
/* 02C4579C */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4579C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C457A0 */ _t11 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C457A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C457A4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C457A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C457AC */ _t12 = cpu->r[31] + 0x00001590u;
|
|
/* 02C457AC */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02C457B0: ; // 0x2c457b0
|
|
/* 02C457B0 */ _t13 = cpu->r[31] + 0x00000014u;
|
|
/* 02C457B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C457B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C457B8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C457B8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C457B8 */ if (_t15) goto L_02C457D4; else goto L_02C457BC;
|
|
L_02C457BC: ; // 0x2c457bc
|
|
/* 02C457BC */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C457BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C457C0 */ _t17 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02C457C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C457C4 */ cpu->ctr = cpu->r[11];
|
|
/* 02C457C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C457CC */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02C457CC */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02C457D0 */ _t19 = cpu->r[31] + 0x00000014u;
|
|
/* 02C457D0 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_02C457D4: ; // 0x2c457d4
|
|
/* 02C457D4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02C457D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C457D8 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C457D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C457DC */ cpu->lr = cpu->r[0];
|
|
/* 02C457E0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C457E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C457E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C457E8 */ return;
|
|
L_02C4D6EC: ; // 0x2c4d6ec
|
|
/* 02C4D6EC */ _t23 = cpu->r[3] + 0x00000038u;
|
|
/* 02C4D6EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C4D6F0 */ goto L_02C45764;
|
|
}
|
|
|
|
// fn_02C4D6F4 @ 0x2c4d6f4
|
|
void Gambit_fn_02C4D6F4(CPUState* cpu) {
|
|
L_02C4D6F4: ; // 0x2c4d6f4
|
|
/* 02C4D6F4 */ return;
|
|
}
|
|
|
|
// fn_02C4D6F8 @ 0x2c4d6f8
|
|
void Gambit_fn_02C4D6F8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D6F8: ; // 0x2c4d6f8
|
|
/* 02C4D6F8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4D6F8 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4D6FC */ return;
|
|
}
|
|
|
|
// fn_02C4D700 @ 0x2c4d700
|
|
void Gambit_fn_02C4D700(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D700: ; // 0x2c4d700
|
|
/* 02C4D700 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4D700 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4D704 */ return;
|
|
}
|
|
|
|
// fn_02C4D708 @ 0x2c4d708
|
|
void Gambit_fn_02C4D708(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D708: ; // 0x2c4d708
|
|
/* 02C4D708 */ _t0 = cpu->r[3] + 0x000001E8u;
|
|
/* 02C4D708 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4D70C */ return;
|
|
}
|
|
|
|
// fn_02C4D710 @ 0x2c4d710
|
|
void Gambit_fn_02C4D710(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D710: ; // 0x2c4d710
|
|
/* 02C4D710 */ _t0 = cpu->r[3] + 0x00000010u;
|
|
/* 02C4D710 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4D714 */ return;
|
|
}
|
|
|
|
// fn_02C4D718 @ 0x2c4d718
|
|
void Gambit_fn_02C4D718(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D718: ; // 0x2c4d718
|
|
/* 02C4D718 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000018u);
|
|
/* 02C4D71C */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02C4D720 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4D724 */ cpu->r[0] = cpu->r[12] + 0x00000018u;
|
|
/* 02C4D728 */ _t0 = cpu->r[11] + cpu->r[0];
|
|
/* 02C4D728 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D72C */ return;
|
|
}
|
|
|
|
// fn_02C4D730 @ 0x2c4d730
|
|
void Gambit_fn_02C4D730(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D730: ; // 0x2c4d730
|
|
/* 02C4D730 */ _t0 = cpu->r[3] + 0x00000048u;
|
|
/* 02C4D730 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4D734 */ return;
|
|
}
|
|
|
|
// fn_02C4D738 @ 0x2c4d738
|
|
void Gambit_fn_02C4D738(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D738: ; // 0x2c4d738
|
|
/* 02C4D738 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 02C4D738 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4D73C */ return;
|
|
}
|
|
|
|
// fn_02C4D740 @ 0x2c4d740
|
|
void Gambit_fn_02C4D740(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D740: ; // 0x2c4d740
|
|
/* 02C4D740 */ _t0 = cpu->r[3] + 0x00000050u;
|
|
/* 02C4D740 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4D744 */ return;
|
|
}
|
|
|
|
// fn_02C4D748 @ 0x2c4d748
|
|
void Gambit_fn_02C4D748(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D748: ; // 0x2c4d748
|
|
/* 02C4D748 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4D74C */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02C4D750 */ _t0 = cpu->r[12] + 0x00000054u;
|
|
/* 02C4D750 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4D754 */ return;
|
|
}
|
|
|
|
// fn_02C4D758 @ 0x2c4d758
|
|
void Gambit_fn_02C4D758(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D758: ; // 0x2c4d758
|
|
/* 02C4D758 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000050u);
|
|
/* 02C4D75C */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02C4D760 */ _t0 = cpu->r[12] + 0x00000060u;
|
|
/* 02C4D760 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4D764 */ return;
|
|
}
|
|
|
|
// fn_02C4D768 @ 0x2c4d768
|
|
void Gambit_fn_02C4D768(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D768: ; // 0x2c4d768
|
|
/* 02C4D768 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000050u);
|
|
/* 02C4D76C */ cpu->r[12] = cpu->r[3] + 0x00000060u;
|
|
/* 02C4D770 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000018u);
|
|
/* 02C4D774 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
/* 02C4D778 */ cpu->r[9] = cpu->r[12] + cpu->r[8];
|
|
/* 02C4D77C */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4D780 */ cpu->r[0] = cpu->r[9] + 0x00000008u;
|
|
/* 02C4D784 */ _t0 = cpu->r[11] + cpu->r[0];
|
|
/* 02C4D784 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D788 */ return;
|
|
}
|
|
|
|
// fn_02C4D78C @ 0x2c4d78c
|
|
void Gambit_fn_02C4D78C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D78C: ; // 0x2c4d78c
|
|
/* 02C4D78C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000050u);
|
|
/* 02C4D790 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02C4D794 */ _t0 = cpu->r[12] + 0x00000098u;
|
|
/* 02C4D794 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4D798 */ return;
|
|
}
|
|
|
|
// fn_02C4D79C @ 0x2c4d79c
|
|
void Gambit_fn_02C4D79C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D79C: ; // 0x2c4d79c
|
|
/* 02C4D79C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000050u);
|
|
/* 02C4D7A0 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02C4D7A4 */ _t0 = cpu->r[12] + 0x0000009Cu;
|
|
/* 02C4D7A4 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4D7A8 */ return;
|
|
}
|
|
|
|
// fn_02C4D7AC @ 0x2c4d7ac
|
|
void Gambit_fn_02C4D7AC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D7AC: ; // 0x2c4d7ac
|
|
/* 02C4D7AC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000050u);
|
|
/* 02C4D7B0 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02C4D7B4 */ _t0 = cpu->r[12] + 0x000000A0u;
|
|
/* 02C4D7B4 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4D7B8 */ return;
|
|
}
|
|
|
|
// fn_02C4D7BC @ 0x2c4d7bc
|
|
void Gambit_fn_02C4D7BC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4D7BC: ; // 0x2c4d7bc
|
|
/* 02C4D7BC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000050u);
|
|
/* 02C4D7C0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4D7C4 */ cpu->r[10] = cpu->r[3] + 0x00000060u;
|
|
/* 02C4D7C8 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02C4D7CC */ cpu->r[9] = cpu->r[12] + cpu->r[11];
|
|
/* 02C4D7D0 */ _t0 = cpu->r[9] + 0x00000044u;
|
|
/* 02C4D7D0 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4D7D4 */ return;
|
|
}
|
|
|
|
// fn_02C4D7D8 @ 0x2c4d7d8
|
|
void Gambit_fn_02C4D7D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C4D7D8: ; // 0x2c4d7d8
|
|
/* 02C4D7D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4D7DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D7DC */ cpu->r[1] = _t0;
|
|
/* 02C4D7E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D7E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D7E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4D7E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4D7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D7EC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4D7F0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D7F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4D7F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D7F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D7F4 */ if (_t5) goto L_02C4D814; else goto L_02C4D7F8;
|
|
L_02C4D7F8: ; // 0x2c4d7f8
|
|
/* 02C4D7F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D7FC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4D800 */ Gambit_fn_02C4A7D8(cpu);
|
|
/* 02C4D804 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D808 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D808 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4D808 */ if (_t7) goto L_02C4D814; else goto L_02C4D80C;
|
|
L_02C4D80C: ; // 0x2c4d80c
|
|
/* 02C4D80C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D810 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C4D814: ; // 0x2c4d814
|
|
/* 02C4D814 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4D818 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D818 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4D81C */ cpu->lr = cpu->r[0];
|
|
/* 02C4D820 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D820 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4D824 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D828 */ return;
|
|
}
|
|
|
|
// fn_02C4D7DC @ 0x2c4d7dc
|
|
void Gambit_fn_02C4D7DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C4D7DC: ; // 0x2c4d7dc
|
|
/* 02C4D7DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4D7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D7DC */ cpu->r[1] = _t0;
|
|
/* 02C4D7E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4D7E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D7E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4D7E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4D7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D7EC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4D7F0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D7F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4D7F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D7F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D7F4 */ if (_t5) goto L_02C4D814; else goto L_02C4D7F8;
|
|
L_02C4D7F8: ; // 0x2c4d7f8
|
|
/* 02C4D7F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D7FC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4D800 */ Gambit_fn_02C4A7D8(cpu);
|
|
/* 02C4D804 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D808 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D808 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4D808 */ if (_t7) goto L_02C4D814; else goto L_02C4D80C;
|
|
L_02C4D80C: ; // 0x2c4d80c
|
|
/* 02C4D80C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D810 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C4D814: ; // 0x2c4d814
|
|
/* 02C4D814 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4D814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4D818 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4D818 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4D81C */ cpu->lr = cpu->r[0];
|
|
/* 02C4D820 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4D820 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4D824 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4D828 */ return;
|
|
}
|
|
|
|
// fn_02C4D82C @ 0x2c4d82c
|
|
void Gambit_fn_02C4D82C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C339C4: ; // 0x2c339c4
|
|
/* 02C339C4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C339C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C339C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C339CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C339D0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C339D0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C339D0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C339D0 */ goto L_02C339D4;
|
|
L_02C339D4: ; // 0x2c339d4
|
|
/* 02C339D4 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 02C339D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C339D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C339DC */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C339E0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C339E0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C339E0 */ if (_t5) goto L_02C339E4; else goto L_02C339D4;
|
|
L_02C339E4: ; // 0x2c339e4
|
|
/* 02C339E4 */ return;
|
|
L_02C4D82C: ; // 0x2c4d82c
|
|
/* 02C4D82C */ cpu->r[3] = cpu->r[3] + 0x00000008u;
|
|
/* 02C4D830 */ goto L_02C339C4;
|
|
}
|
|
|
|
// fn_02C4D834 @ 0x2c4d834
|
|
void Gambit_fn_02C4D834(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_02C4D834: ; // 0x2c4d834
|
|
/* 02C4D834 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C4D834 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D834 */ cpu->r[1] = _t0;
|
|
/* 02C4D838 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4D83C */ /* nop */
|
|
/* 02C4D840 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4D840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D844 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C4D848 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C4D84C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4D84C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4D850 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4D854 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D854 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4D854 */ if (_t3) goto L_02C4D8D4; else goto L_02C4D858;
|
|
L_02C4D858: ; // 0x2c4d858
|
|
/* 02C4D858 */ _t4 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4D858 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02C4D85C */ _t5 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4D85C */ cpu->r[26] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4D860 */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4D860 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4D864 */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4D868: ; // 0x2c4d868
|
|
/* 02C4D868 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D86C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D86C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4D86C */ if (_t8) goto L_02C4D8BC; else goto L_02C4D870;
|
|
L_02C4D870: ; // 0x2c4d870
|
|
/* 02C4D870 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4D874 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C4D878 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4D87C */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4D87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4D880 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D880 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4D880 */ if (_t10) goto L_02C4D8BC; else goto L_02C4D884;
|
|
L_02C4D884: ; // 0x2c4d884
|
|
/* 02C4D884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4D888 */ cpu->r[3] = cpu->r[8] + cpu->r[28];
|
|
/* 02C4D88C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4D88C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4D88C */ if (_t12) goto L_02C4D890; else goto L_02C4D8A0;
|
|
L_02C4D890: ; // 0x2c4d890
|
|
/* 02C4D890 */ cpu->ctr = cpu->r[26];
|
|
/* 02C4D894 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4D898 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4D89C */ goto L_02C4D8BC;
|
|
L_02C4D8A0: ; // 0x2c4d8a0
|
|
/* 02C4D8A0 */ /* nop */
|
|
/* 02C4D8A4 */ _t13 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4D8A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4D8A8 */ cpu->r[9] = cpu->r[12] + cpu->r[24];
|
|
/* 02C4D8AC */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4D8AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4D8B0 */ cpu->ctr = cpu->r[10];
|
|
/* 02C4D8B4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4D8B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4D8BC: ; // 0x2c4d8bc
|
|
/* 02C4D8BC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C4D8C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C4D8C4 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4D8C8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4D8C8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4D8C8 */ if (_t16) goto L_02C4D8CC; else goto L_02C4D8D4;
|
|
L_02C4D8CC: ; // 0x2c4d8cc
|
|
/* 02C4D8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4D8D0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D8D0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4D8D0 */ if (_t18) goto L_02C4D8D4; else goto L_02C4D868;
|
|
L_02C4D8D4: ; // 0x2c4d8d4
|
|
/* 02C4D8D4 */ /* nop */
|
|
/* 02C4D8D8 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4D8D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4D8DC */ cpu->lr = cpu->r[0];
|
|
/* 02C4D8E0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C4D8E4 */ return;
|
|
}
|
|
|
|
// fn_02C4D8E8 @ 0x2c4d8e8
|
|
void Gambit_fn_02C4D8E8(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_02C4D8E8: ; // 0x2c4d8e8
|
|
/* 02C4D8E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4D8EC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C4D8EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D8EC */ cpu->r[1] = _t0;
|
|
/* 02C4D8F0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4D8F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4D8F4 */ /* nop */
|
|
/* 02C4D8F8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C4D8FC */ cpu->r[29] = cpu->r[4];
|
|
/* 02C4D8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4D900 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C4D904 */ cpu->r[31] = cpu->r[7];
|
|
/* 02C4D908 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C4D90C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D90C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4D90C */ if (_t3) goto L_02C4D994; else goto L_02C4D910;
|
|
L_02C4D910: ; // 0x2c4d910
|
|
/* 02C4D910 */ _t4 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4D910 */ cpu->r[26] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02C4D914 */ _t5 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4D914 */ cpu->r[25] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4D918 */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4D918 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4D91C */ cpu->r[23] = rbrew_rlwinm(cpu->r[26], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4D920: ; // 0x2c4d920
|
|
/* 02C4D920 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D924 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D924 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4D924 */ if (_t8) goto L_02C4D97C; else goto L_02C4D928;
|
|
L_02C4D928: ; // 0x2c4d928
|
|
/* 02C4D928 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4D92C */ cpu->r[4] = cpu->r[24];
|
|
/* 02C4D930 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4D934 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4D934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4D938 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D938 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4D938 */ if (_t10) goto L_02C4D97C; else goto L_02C4D93C;
|
|
L_02C4D93C: ; // 0x2c4d93c
|
|
/* 02C4D93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C4D940 */ cpu->r[3] = cpu->r[8] + cpu->r[27];
|
|
/* 02C4D944 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4D944 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4D944 */ if (_t12) goto L_02C4D948; else goto L_02C4D95C;
|
|
L_02C4D948: ; // 0x2c4d948
|
|
/* 02C4D948 */ cpu->ctr = cpu->r[25];
|
|
/* 02C4D94C */ cpu->r[5] = cpu->r[31];
|
|
/* 02C4D950 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4D954 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4D958 */ goto L_02C4D97C;
|
|
L_02C4D95C: ; // 0x2c4d95c
|
|
/* 02C4D95C */ /* nop */
|
|
/* 02C4D960 */ _t13 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4D960 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4D964 */ cpu->r[9] = cpu->r[12] + cpu->r[23];
|
|
/* 02C4D968 */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4D968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4D96C */ cpu->ctr = cpu->r[0];
|
|
/* 02C4D970 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C4D974 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4D978 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4D97C: ; // 0x2c4d97c
|
|
/* 02C4D97C */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C4D980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000010u);
|
|
/* 02C4D984 */ cpu->r[29] = rbrew_rlwinm(cpu->r[29], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4D988 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4D988 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4D988 */ if (_t16) goto L_02C4D98C; else goto L_02C4D994;
|
|
L_02C4D98C: ; // 0x2c4d98c
|
|
/* 02C4D98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4D990 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D990 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4D990 */ if (_t18) goto L_02C4D994; else goto L_02C4D920;
|
|
L_02C4D994: ; // 0x2c4d994
|
|
/* 02C4D994 */ /* nop */
|
|
/* 02C4D998 */ _t19 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4D998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4D99C */ cpu->lr = cpu->r[0];
|
|
/* 02C4D9A0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C4D9A4 */ return;
|
|
}
|
|
|
|
// fn_02C4D8EC @ 0x2c4d8ec
|
|
void Gambit_fn_02C4D8EC(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_02C4D8EC: ; // 0x2c4d8ec
|
|
/* 02C4D8EC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C4D8EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D8EC */ cpu->r[1] = _t0;
|
|
/* 02C4D8F0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4D8F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4D8F4 */ /* nop */
|
|
/* 02C4D8F8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C4D8FC */ cpu->r[29] = cpu->r[4];
|
|
/* 02C4D8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4D900 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C4D904 */ cpu->r[31] = cpu->r[7];
|
|
/* 02C4D908 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C4D90C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D90C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4D90C */ if (_t3) goto L_02C4D994; else goto L_02C4D910;
|
|
L_02C4D910: ; // 0x2c4d910
|
|
/* 02C4D910 */ _t4 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4D910 */ cpu->r[26] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02C4D914 */ _t5 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4D914 */ cpu->r[25] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4D918 */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4D918 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4D91C */ cpu->r[23] = rbrew_rlwinm(cpu->r[26], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4D920: ; // 0x2c4d920
|
|
/* 02C4D920 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D924 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D924 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4D924 */ if (_t8) goto L_02C4D97C; else goto L_02C4D928;
|
|
L_02C4D928: ; // 0x2c4d928
|
|
/* 02C4D928 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4D92C */ cpu->r[4] = cpu->r[24];
|
|
/* 02C4D930 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4D934 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4D934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4D938 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D938 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4D938 */ if (_t10) goto L_02C4D97C; else goto L_02C4D93C;
|
|
L_02C4D93C: ; // 0x2c4d93c
|
|
/* 02C4D93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C4D940 */ cpu->r[3] = cpu->r[8] + cpu->r[27];
|
|
/* 02C4D944 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4D944 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4D944 */ if (_t12) goto L_02C4D948; else goto L_02C4D95C;
|
|
L_02C4D948: ; // 0x2c4d948
|
|
/* 02C4D948 */ cpu->ctr = cpu->r[25];
|
|
/* 02C4D94C */ cpu->r[5] = cpu->r[31];
|
|
/* 02C4D950 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4D954 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4D958 */ goto L_02C4D97C;
|
|
L_02C4D95C: ; // 0x2c4d95c
|
|
/* 02C4D95C */ /* nop */
|
|
/* 02C4D960 */ _t13 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4D960 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4D964 */ cpu->r[9] = cpu->r[12] + cpu->r[23];
|
|
/* 02C4D968 */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4D968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4D96C */ cpu->ctr = cpu->r[0];
|
|
/* 02C4D970 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C4D974 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4D978 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4D97C: ; // 0x2c4d97c
|
|
/* 02C4D97C */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C4D980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000010u);
|
|
/* 02C4D984 */ cpu->r[29] = rbrew_rlwinm(cpu->r[29], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4D988 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4D988 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4D988 */ if (_t16) goto L_02C4D98C; else goto L_02C4D994;
|
|
L_02C4D98C: ; // 0x2c4d98c
|
|
/* 02C4D98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4D990 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D990 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4D990 */ if (_t18) goto L_02C4D994; else goto L_02C4D920;
|
|
L_02C4D994: ; // 0x2c4d994
|
|
/* 02C4D994 */ /* nop */
|
|
/* 02C4D998 */ _t19 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4D998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4D99C */ cpu->lr = cpu->r[0];
|
|
/* 02C4D9A0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C4D9A4 */ return;
|
|
}
|
|
|
|
// fn_02C4D9A8 @ 0x2c4d9a8
|
|
void Gambit_fn_02C4D9A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C4D9A8: ; // 0x2c4d9a8
|
|
/* 02C4D9A8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C4D9A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4D9A8 */ cpu->r[1] = _t0;
|
|
/* 02C4D9AC */ cpu->r[0] = cpu->lr;
|
|
/* 02C4D9B0 */ /* nop */
|
|
/* 02C4D9B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4D9B8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4D9B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4D9BC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4D9BC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C4D9C0 */ /* nop */
|
|
/* 02C4D9C4 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4D9C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4D9C8 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C4D9CC */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4D9CC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C4D9D0 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C4D9D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D9D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4D9D4 */ if (_t5) goto L_02C4DA54; else goto L_02C4D9D8;
|
|
L_02C4D9D8: ; // 0x2c4d9d8
|
|
/* 02C4D9D8 */ _t6 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4D9D8 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4D9DC */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4D9DC */ cpu->r[27] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4D9E0 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4D9E0 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02C4D9E4 */ cpu->r[25] = rbrew_rlwinm(cpu->r[28], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4D9E8: ; // 0x2c4d9e8
|
|
/* 02C4D9E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4D9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4D9EC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4D9EC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4D9EC */ if (_t10) goto L_02C4DA3C; else goto L_02C4D9F0;
|
|
L_02C4D9F0: ; // 0x2c4d9f0
|
|
/* 02C4D9F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4D9F4 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C4D9F8 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4D9FC */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4D9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4DA00 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DA00 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4DA00 */ if (_t12) goto L_02C4DA3C; else goto L_02C4DA04;
|
|
L_02C4DA04: ; // 0x2c4da04
|
|
/* 02C4DA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C4DA08 */ cpu->r[3] = cpu->r[8] + cpu->r[29];
|
|
/* 02C4DA0C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DA0C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4DA0C */ if (_t14) goto L_02C4DA10; else goto L_02C4DA20;
|
|
L_02C4DA10: ; // 0x2c4da10
|
|
/* 02C4DA10 */ cpu->ctr = cpu->r[27];
|
|
/* 02C4DA14 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DA18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4DA1C */ goto L_02C4DA3C;
|
|
L_02C4DA20: ; // 0x2c4da20
|
|
/* 02C4DA20 */ /* nop */
|
|
/* 02C4DA24 */ _t15 = cpu->r[3] + cpu->r[11];
|
|
/* 02C4DA24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4DA28 */ cpu->r[9] = cpu->r[12] + cpu->r[25];
|
|
/* 02C4DA2C */ _t16 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4DA2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4DA30 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4DA34 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DA38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4DA3C: ; // 0x2c4da3c
|
|
/* 02C4DA3C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C4DA40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000010u);
|
|
/* 02C4DA44 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4DA48 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DA48 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4DA48 */ if (_t18) goto L_02C4DA4C; else goto L_02C4DA54;
|
|
L_02C4DA4C: ; // 0x2c4da4c
|
|
/* 02C4DA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4DA50 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DA50 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4DA50 */ if (_t20) goto L_02C4DA54; else goto L_02C4D9E8;
|
|
L_02C4DA54: ; // 0x2c4da54
|
|
/* 02C4DA54 */ /* nop */
|
|
/* 02C4DA58 */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DA58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C4DA5C */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DA5C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 02C4DA60 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DA60 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4DA60 */ if (_t24) goto L_02C4DA64; // else: addr-0 trap, fall-through
|
|
L_02C4DA64: ; // 0x2c4da64
|
|
/* 02C4DA64 */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4DA64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4DA68 */ cpu->lr = cpu->r[0];
|
|
/* 02C4DA6C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C4DA70 */ return;
|
|
}
|
|
|
|
// fn_02C4DA74 @ 0x2c4da74
|
|
void Gambit_fn_02C4DA74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C4DA74: ; // 0x2c4da74
|
|
/* 02C4DA74 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4DA78 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C4DA78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4DA78 */ cpu->r[1] = _t0;
|
|
/* 02C4DA7C */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DA7C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C4DA80 */ /* nop */
|
|
/* 02C4DA84 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DA84 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C4DA88 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4DA88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4DA8C */ cpu->f[31] = cpu->f[1];
|
|
/* 02C4DA90 */ /* nop */
|
|
/* 02C4DA94 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4DA98 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4DA98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DA9C */ cpu->r[31] = cpu->r[6];
|
|
/* 02C4DAA0 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C4DAA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DAA4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4DAA4 */ if (_t5) goto L_02C4DB2C; else goto L_02C4DAA8;
|
|
L_02C4DAA8: ; // 0x2c4daa8
|
|
/* 02C4DAA8 */ _t6 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4DAA8 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4DAAC */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4DAAC */ cpu->r[26] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4DAB0 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4DAB0 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02C4DAB4 */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4DAB8: ; // 0x2c4dab8
|
|
/* 02C4DAB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4DAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4DABC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DABC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4DABC */ if (_t10) goto L_02C4DB14; else goto L_02C4DAC0;
|
|
L_02C4DAC0: ; // 0x2c4dac0
|
|
/* 02C4DAC0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4DAC4 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C4DAC8 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4DACC */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4DACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4DAD0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DAD0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4DAD0 */ if (_t12) goto L_02C4DB14; else goto L_02C4DAD4;
|
|
L_02C4DAD4: ; // 0x2c4dad4
|
|
/* 02C4DAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4DAD8 */ cpu->r[3] = cpu->r[8] + cpu->r[28];
|
|
/* 02C4DADC */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DADC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4DADC */ if (_t14) goto L_02C4DAE0; else goto L_02C4DAF4;
|
|
L_02C4DAE0: ; // 0x2c4dae0
|
|
/* 02C4DAE0 */ cpu->ctr = cpu->r[26];
|
|
/* 02C4DAE4 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DAE8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DAEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4DAF0 */ goto L_02C4DB14;
|
|
L_02C4DAF4: ; // 0x2c4daf4
|
|
/* 02C4DAF4 */ /* nop */
|
|
/* 02C4DAF8 */ _t15 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4DAF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4DAFC */ cpu->r[9] = cpu->r[12] + cpu->r[24];
|
|
/* 02C4DB00 */ _t16 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4DB00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4DB04 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4DB08 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DB0C */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DB10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4DB14: ; // 0x2c4db14
|
|
/* 02C4DB14 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C4DB18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C4DB1C */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4DB20 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DB20 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4DB20 */ if (_t18) goto L_02C4DB24; else goto L_02C4DB2C;
|
|
L_02C4DB24: ; // 0x2c4db24
|
|
/* 02C4DB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DB28 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DB28 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4DB28 */ if (_t20) goto L_02C4DB2C; else goto L_02C4DAB8;
|
|
L_02C4DB2C: ; // 0x2c4db2c
|
|
/* 02C4DB2C */ /* nop */
|
|
/* 02C4DB30 */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DB30 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C4DB34 */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DB34 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 02C4DB38 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DB38 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4DB38 */ if (_t24) goto L_02C4DB3C; // else: addr-0 trap, fall-through
|
|
L_02C4DB3C: ; // 0x2c4db3c
|
|
/* 02C4DB3C */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4DB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4DB40 */ cpu->lr = cpu->r[0];
|
|
/* 02C4DB44 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C4DB48 */ return;
|
|
}
|
|
|
|
// fn_02C4DA78 @ 0x2c4da78
|
|
void Gambit_fn_02C4DA78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C4DA78: ; // 0x2c4da78
|
|
/* 02C4DA78 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C4DA78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4DA78 */ cpu->r[1] = _t0;
|
|
/* 02C4DA7C */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DA7C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C4DA80 */ /* nop */
|
|
/* 02C4DA84 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DA84 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C4DA88 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4DA88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4DA8C */ cpu->f[31] = cpu->f[1];
|
|
/* 02C4DA90 */ /* nop */
|
|
/* 02C4DA94 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4DA98 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4DA98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DA9C */ cpu->r[31] = cpu->r[6];
|
|
/* 02C4DAA0 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C4DAA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DAA4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4DAA4 */ if (_t5) goto L_02C4DB2C; else goto L_02C4DAA8;
|
|
L_02C4DAA8: ; // 0x2c4daa8
|
|
/* 02C4DAA8 */ _t6 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4DAA8 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4DAAC */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4DAAC */ cpu->r[26] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4DAB0 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4DAB0 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02C4DAB4 */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4DAB8: ; // 0x2c4dab8
|
|
/* 02C4DAB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4DAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4DABC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DABC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4DABC */ if (_t10) goto L_02C4DB14; else goto L_02C4DAC0;
|
|
L_02C4DAC0: ; // 0x2c4dac0
|
|
/* 02C4DAC0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4DAC4 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C4DAC8 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4DACC */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4DACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4DAD0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DAD0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4DAD0 */ if (_t12) goto L_02C4DB14; else goto L_02C4DAD4;
|
|
L_02C4DAD4: ; // 0x2c4dad4
|
|
/* 02C4DAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4DAD8 */ cpu->r[3] = cpu->r[8] + cpu->r[28];
|
|
/* 02C4DADC */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DADC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4DADC */ if (_t14) goto L_02C4DAE0; else goto L_02C4DAF4;
|
|
L_02C4DAE0: ; // 0x2c4dae0
|
|
/* 02C4DAE0 */ cpu->ctr = cpu->r[26];
|
|
/* 02C4DAE4 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DAE8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DAEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4DAF0 */ goto L_02C4DB14;
|
|
L_02C4DAF4: ; // 0x2c4daf4
|
|
/* 02C4DAF4 */ /* nop */
|
|
/* 02C4DAF8 */ _t15 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4DAF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4DAFC */ cpu->r[9] = cpu->r[12] + cpu->r[24];
|
|
/* 02C4DB00 */ _t16 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4DB00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4DB04 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4DB08 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DB0C */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DB10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4DB14: ; // 0x2c4db14
|
|
/* 02C4DB14 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C4DB18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C4DB1C */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4DB20 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DB20 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4DB20 */ if (_t18) goto L_02C4DB24; else goto L_02C4DB2C;
|
|
L_02C4DB24: ; // 0x2c4db24
|
|
/* 02C4DB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DB28 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DB28 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4DB28 */ if (_t20) goto L_02C4DB2C; else goto L_02C4DAB8;
|
|
L_02C4DB2C: ; // 0x2c4db2c
|
|
/* 02C4DB2C */ /* nop */
|
|
/* 02C4DB30 */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DB30 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C4DB34 */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DB34 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 02C4DB38 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DB38 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4DB38 */ if (_t24) goto L_02C4DB3C; // else: addr-0 trap, fall-through
|
|
L_02C4DB3C: ; // 0x2c4db3c
|
|
/* 02C4DB3C */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4DB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4DB40 */ cpu->lr = cpu->r[0];
|
|
/* 02C4DB44 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C4DB48 */ return;
|
|
}
|
|
|
|
// fn_02C4DB4C @ 0x2c4db4c
|
|
void Gambit_fn_02C4DB4C(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_02C4DB4C: ; // 0x2c4db4c
|
|
/* 02C4DB4C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C4DB4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4DB4C */ cpu->r[1] = _t0;
|
|
/* 02C4DB50 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4DB54 */ /* nop */
|
|
/* 02C4DB58 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4DB58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DB5C */ cpu->r[31] = cpu->r[6];
|
|
/* 02C4DB60 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C4DB64 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4DB64 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4DB68 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4DB6C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DB6C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4DB6C */ if (_t3) goto L_02C4DBEC; else goto L_02C4DB70;
|
|
L_02C4DB70: ; // 0x2c4db70
|
|
/* 02C4DB70 */ _t4 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4DB70 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02C4DB74 */ _t5 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4DB74 */ cpu->r[26] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4DB78 */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4DB78 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4DB7C */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4DB80: ; // 0x2c4db80
|
|
/* 02C4DB80 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4DB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4DB84 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DB84 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4DB84 */ if (_t8) goto L_02C4DBD4; else goto L_02C4DB88;
|
|
L_02C4DB88: ; // 0x2c4db88
|
|
/* 02C4DB88 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4DB8C */ cpu->r[4] = cpu->r[25];
|
|
/* 02C4DB90 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4DB94 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4DB94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4DB98 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DB98 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4DB98 */ if (_t10) goto L_02C4DBD4; else goto L_02C4DB9C;
|
|
L_02C4DB9C: ; // 0x2c4db9c
|
|
/* 02C4DB9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4DBA0 */ cpu->r[3] = cpu->r[8] + cpu->r[28];
|
|
/* 02C4DBA4 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DBA4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4DBA4 */ if (_t12) goto L_02C4DBA8; else goto L_02C4DBB8;
|
|
L_02C4DBA8: ; // 0x2c4dba8
|
|
/* 02C4DBA8 */ cpu->ctr = cpu->r[26];
|
|
/* 02C4DBAC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DBB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4DBB4 */ goto L_02C4DBD4;
|
|
L_02C4DBB8: ; // 0x2c4dbb8
|
|
/* 02C4DBB8 */ /* nop */
|
|
/* 02C4DBBC */ _t13 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4DBBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4DBC0 */ cpu->r[9] = cpu->r[12] + cpu->r[24];
|
|
/* 02C4DBC4 */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4DBC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4DBC8 */ cpu->ctr = cpu->r[10];
|
|
/* 02C4DBCC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DBD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4DBD4: ; // 0x2c4dbd4
|
|
/* 02C4DBD4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C4DBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C4DBDC */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4DBE0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DBE0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4DBE0 */ if (_t16) goto L_02C4DBE4; else goto L_02C4DBEC;
|
|
L_02C4DBE4: ; // 0x2c4dbe4
|
|
/* 02C4DBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DBE8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DBE8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4DBE8 */ if (_t18) goto L_02C4DBEC; else goto L_02C4DB80;
|
|
L_02C4DBEC: ; // 0x2c4dbec
|
|
/* 02C4DBEC */ /* nop */
|
|
/* 02C4DBF0 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4DBF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4DBF4 */ cpu->lr = cpu->r[0];
|
|
/* 02C4DBF8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DBFC */ return;
|
|
}
|
|
|
|
// fn_02C4DC00 @ 0x2c4dc00
|
|
void Gambit_fn_02C4DC00(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_02C4DC00: ; // 0x2c4dc00
|
|
/* 02C4DC00 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C4DC00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4DC00 */ cpu->r[1] = _t0;
|
|
/* 02C4DC04 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4DC08 */ /* nop */
|
|
/* 02C4DC0C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4DC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DC10 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C4DC14 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C4DC18 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4DC18 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4DC1C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4DC20 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DC20 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4DC20 */ if (_t3) goto L_02C4DCA0; else goto L_02C4DC24;
|
|
L_02C4DC24: ; // 0x2c4dc24
|
|
/* 02C4DC24 */ _t4 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4DC24 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02C4DC28 */ _t5 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4DC28 */ cpu->r[26] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4DC2C */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4DC2C */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4DC30 */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4DC34: ; // 0x2c4dc34
|
|
/* 02C4DC34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4DC34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4DC38 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DC38 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4DC38 */ if (_t8) goto L_02C4DC88; else goto L_02C4DC3C;
|
|
L_02C4DC3C: ; // 0x2c4dc3c
|
|
/* 02C4DC3C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4DC40 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C4DC44 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4DC48 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4DC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4DC4C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DC4C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4DC4C */ if (_t10) goto L_02C4DC88; else goto L_02C4DC50;
|
|
L_02C4DC50: ; // 0x2c4dc50
|
|
/* 02C4DC50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4DC54 */ cpu->r[3] = cpu->r[8] + cpu->r[28];
|
|
/* 02C4DC58 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DC58 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4DC58 */ if (_t12) goto L_02C4DC5C; else goto L_02C4DC6C;
|
|
L_02C4DC5C: ; // 0x2c4dc5c
|
|
/* 02C4DC5C */ cpu->ctr = cpu->r[26];
|
|
/* 02C4DC60 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DC64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4DC68 */ goto L_02C4DC88;
|
|
L_02C4DC6C: ; // 0x2c4dc6c
|
|
/* 02C4DC6C */ /* nop */
|
|
/* 02C4DC70 */ _t13 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4DC70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4DC74 */ cpu->r[9] = cpu->r[12] + cpu->r[24];
|
|
/* 02C4DC78 */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4DC78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4DC7C */ cpu->ctr = cpu->r[10];
|
|
/* 02C4DC80 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DC84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4DC88: ; // 0x2c4dc88
|
|
/* 02C4DC88 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C4DC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C4DC90 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4DC94 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DC94 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4DC94 */ if (_t16) goto L_02C4DC98; else goto L_02C4DCA0;
|
|
L_02C4DC98: ; // 0x2c4dc98
|
|
/* 02C4DC98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DC9C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DC9C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4DC9C */ if (_t18) goto L_02C4DCA0; else goto L_02C4DC34;
|
|
L_02C4DCA0: ; // 0x2c4dca0
|
|
/* 02C4DCA0 */ /* nop */
|
|
/* 02C4DCA4 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4DCA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4DCA8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4DCAC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DCB0 */ return;
|
|
}
|
|
|
|
// fn_02C4DCB4 @ 0x2c4dcb4
|
|
void Gambit_fn_02C4DCB4(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_02C4DCB4: ; // 0x2c4dcb4
|
|
/* 02C4DCB4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C4DCB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4DCB4 */ cpu->r[1] = _t0;
|
|
/* 02C4DCB8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4DCBC */ /* nop */
|
|
/* 02C4DCC0 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4DCC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DCC4 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C4DCC8 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C4DCCC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4DCCC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4DCD0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4DCD4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DCD4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4DCD4 */ if (_t3) goto L_02C4DD54; else goto L_02C4DCD8;
|
|
L_02C4DCD8: ; // 0x2c4dcd8
|
|
/* 02C4DCD8 */ _t4 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4DCD8 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02C4DCDC */ _t5 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4DCDC */ cpu->r[26] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4DCE0 */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4DCE0 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4DCE4 */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4DCE8: ; // 0x2c4dce8
|
|
/* 02C4DCE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4DCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4DCEC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DCEC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4DCEC */ if (_t8) goto L_02C4DD3C; else goto L_02C4DCF0;
|
|
L_02C4DCF0: ; // 0x2c4dcf0
|
|
/* 02C4DCF0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4DCF4 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C4DCF8 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4DCFC */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4DCFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4DD00 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DD00 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4DD00 */ if (_t10) goto L_02C4DD3C; else goto L_02C4DD04;
|
|
L_02C4DD04: ; // 0x2c4dd04
|
|
/* 02C4DD04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4DD08 */ cpu->r[3] = cpu->r[8] + cpu->r[28];
|
|
/* 02C4DD0C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DD0C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4DD0C */ if (_t12) goto L_02C4DD10; else goto L_02C4DD20;
|
|
L_02C4DD10: ; // 0x2c4dd10
|
|
/* 02C4DD10 */ cpu->ctr = cpu->r[26];
|
|
/* 02C4DD14 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DD18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4DD1C */ goto L_02C4DD3C;
|
|
L_02C4DD20: ; // 0x2c4dd20
|
|
/* 02C4DD20 */ /* nop */
|
|
/* 02C4DD24 */ _t13 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4DD24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4DD28 */ cpu->r[9] = cpu->r[12] + cpu->r[24];
|
|
/* 02C4DD2C */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4DD2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4DD30 */ cpu->ctr = cpu->r[10];
|
|
/* 02C4DD34 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DD38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4DD3C: ; // 0x2c4dd3c
|
|
/* 02C4DD3C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C4DD40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C4DD44 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4DD48 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DD48 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4DD48 */ if (_t16) goto L_02C4DD4C; else goto L_02C4DD54;
|
|
L_02C4DD4C: ; // 0x2c4dd4c
|
|
/* 02C4DD4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DD50 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DD50 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4DD50 */ if (_t18) goto L_02C4DD54; else goto L_02C4DCE8;
|
|
L_02C4DD54: ; // 0x2c4dd54
|
|
/* 02C4DD54 */ /* nop */
|
|
/* 02C4DD58 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4DD58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4DD5C */ cpu->lr = cpu->r[0];
|
|
/* 02C4DD60 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DD64 */ return;
|
|
}
|
|
|
|
// fn_02C4DD68 @ 0x2c4dd68
|
|
void Gambit_fn_02C4DD68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C4DD68: ; // 0x2c4dd68
|
|
/* 02C4DD68 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02C4DD68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4DD68 */ cpu->r[1] = _t0;
|
|
/* 02C4DD6C */ /* nop */
|
|
/* 02C4DD70 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4DD74 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C4DD78 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C4DD7C */ cpu->r[31] = cpu->r[7];
|
|
/* 02C4DD80 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DD80 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C4DD84 */ /* nop */
|
|
/* 02C4DD88 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02C4DD88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4DD8C */ cpu->r[24] = 0x00000000u;
|
|
/* 02C4DD90 */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 02C4DD90 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C4DD94 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C4DD94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4DD98 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C4DD9C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DD9C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4DD9C */ if (_t5) goto L_02C4DE2C; else goto L_02C4DDA0;
|
|
L_02C4DDA0: ; // 0x2c4dda0
|
|
/* 02C4DDA0 */ _t6 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4DDA0 */ cpu->r[26] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4DDA4 */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4DDA4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4DDA8 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4DDA8 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02C4DDAC */ cpu->r[23] = rbrew_rlwinm(cpu->r[26], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4DDB0: ; // 0x2c4ddb0
|
|
/* 02C4DDB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4DDB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4DDB4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DDB4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4DDB4 */ if (_t10) goto L_02C4DE14; else goto L_02C4DDB8;
|
|
L_02C4DDB8: ; // 0x2c4ddb8
|
|
/* 02C4DDB8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4DDBC */ cpu->r[4] = cpu->r[24];
|
|
/* 02C4DDC0 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4DDC4 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4DDC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4DDC8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DDC8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4DDC8 */ if (_t12) goto L_02C4DE14; else goto L_02C4DDCC;
|
|
L_02C4DDCC: ; // 0x2c4ddcc
|
|
/* 02C4DDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C4DDD0 */ cpu->r[3] = cpu->r[8] + cpu->r[27];
|
|
/* 02C4DDD4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DDD4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4DDD4 */ if (_t14) goto L_02C4DDD8; else goto L_02C4DDF0;
|
|
L_02C4DDD8: ; // 0x2c4ddd8
|
|
/* 02C4DDD8 */ cpu->ctr = cpu->r[25];
|
|
/* 02C4DDDC */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DDE0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4DDE4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C4DDE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4DDEC */ goto L_02C4DE14;
|
|
L_02C4DDF0: ; // 0x2c4ddf0
|
|
/* 02C4DDF0 */ /* nop */
|
|
/* 02C4DDF4 */ _t15 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4DDF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4DDF8 */ cpu->r[9] = cpu->r[12] + cpu->r[23];
|
|
/* 02C4DDFC */ _t16 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4DDFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4DE00 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4DE04 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C4DE08 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4DE0C */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DE10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4DE14: ; // 0x2c4de14
|
|
/* 02C4DE14 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C4DE18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000010u);
|
|
/* 02C4DE1C */ cpu->r[29] = rbrew_rlwinm(cpu->r[29], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4DE20 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DE20 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4DE20 */ if (_t18) goto L_02C4DE24; else goto L_02C4DE2C;
|
|
L_02C4DE24: ; // 0x2c4de24
|
|
/* 02C4DE24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4DE28 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DE28 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4DE28 */ if (_t20) goto L_02C4DE2C; else goto L_02C4DDB0;
|
|
L_02C4DE2C: ; // 0x2c4de2c
|
|
/* 02C4DE2C */ /* nop */
|
|
/* 02C4DE30 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 02C4DE30 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C4DE34 */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DE34 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 02C4DE38 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DE38 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4DE38 */ if (_t24) goto L_02C4DE3C; // else: addr-0 trap, fall-through
|
|
L_02C4DE3C: ; // 0x2c4de3c
|
|
/* 02C4DE3C */ _t25 = cpu->r[1] + 0x00000044u;
|
|
/* 02C4DE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4DE40 */ cpu->lr = cpu->r[0];
|
|
/* 02C4DE44 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02C4DE48 */ return;
|
|
}
|
|
|
|
// fn_02C4DE4C @ 0x2c4de4c
|
|
void Gambit_fn_02C4DE4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C4DE4C: ; // 0x2c4de4c
|
|
/* 02C4DE4C */ cpu->r[0] = cpu->lr;
|
|
/* 02C4DE50 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C4DE50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4DE50 */ cpu->r[1] = _t0;
|
|
/* 02C4DE54 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DE54 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C4DE58 */ /* nop */
|
|
/* 02C4DE5C */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DE5C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C4DE60 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4DE60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4DE64 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C4DE68 */ /* nop */
|
|
/* 02C4DE6C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4DE70 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4DE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DE74 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C4DE78 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C4DE7C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DE7C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4DE7C */ if (_t5) goto L_02C4DF04; else goto L_02C4DE80;
|
|
L_02C4DE80: ; // 0x2c4de80
|
|
/* 02C4DE80 */ _t6 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4DE80 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4DE84 */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4DE84 */ cpu->r[26] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4DE88 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4DE88 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02C4DE8C */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4DE90: ; // 0x2c4de90
|
|
/* 02C4DE90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4DE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4DE94 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DE94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4DE94 */ if (_t10) goto L_02C4DEEC; else goto L_02C4DE98;
|
|
L_02C4DE98: ; // 0x2c4de98
|
|
/* 02C4DE98 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4DE9C */ cpu->r[4] = cpu->r[25];
|
|
/* 02C4DEA0 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4DEA4 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4DEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4DEA8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DEA8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4DEA8 */ if (_t12) goto L_02C4DEEC; else goto L_02C4DEAC;
|
|
L_02C4DEAC: ; // 0x2c4deac
|
|
/* 02C4DEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4DEB0 */ cpu->r[3] = cpu->r[8] + cpu->r[28];
|
|
/* 02C4DEB4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DEB4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4DEB4 */ if (_t14) goto L_02C4DEB8; else goto L_02C4DECC;
|
|
L_02C4DEB8: ; // 0x2c4deb8
|
|
/* 02C4DEB8 */ cpu->ctr = cpu->r[26];
|
|
/* 02C4DEBC */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DEC0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DEC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4DEC8 */ goto L_02C4DEEC;
|
|
L_02C4DECC: ; // 0x2c4decc
|
|
/* 02C4DECC */ /* nop */
|
|
/* 02C4DED0 */ _t15 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4DED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4DED4 */ cpu->r[9] = cpu->r[12] + cpu->r[24];
|
|
/* 02C4DED8 */ _t16 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4DED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4DEDC */ cpu->ctr = cpu->r[0];
|
|
/* 02C4DEE0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DEE4 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DEE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4DEEC: ; // 0x2c4deec
|
|
/* 02C4DEEC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C4DEF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C4DEF4 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4DEF8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DEF8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4DEF8 */ if (_t18) goto L_02C4DEFC; else goto L_02C4DF04;
|
|
L_02C4DEFC: ; // 0x2c4defc
|
|
/* 02C4DEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DF00 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DF00 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4DF00 */ if (_t20) goto L_02C4DF04; else goto L_02C4DE90;
|
|
L_02C4DF04: ; // 0x2c4df04
|
|
/* 02C4DF04 */ /* nop */
|
|
/* 02C4DF08 */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DF08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C4DF0C */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DF0C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 02C4DF10 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DF10 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4DF10 */ if (_t24) goto L_02C4DF14; // else: addr-0 trap, fall-through
|
|
L_02C4DF14: ; // 0x2c4df14
|
|
/* 02C4DF14 */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4DF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4DF18 */ cpu->lr = cpu->r[0];
|
|
/* 02C4DF1C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C4DF20 */ return;
|
|
}
|
|
|
|
// fn_02C4DE50 @ 0x2c4de50
|
|
void Gambit_fn_02C4DE50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C4DE50: ; // 0x2c4de50
|
|
/* 02C4DE50 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C4DE50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4DE50 */ cpu->r[1] = _t0;
|
|
/* 02C4DE54 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DE54 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C4DE58 */ /* nop */
|
|
/* 02C4DE5C */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DE5C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C4DE60 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4DE60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4DE64 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C4DE68 */ /* nop */
|
|
/* 02C4DE6C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4DE70 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4DE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DE74 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C4DE78 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C4DE7C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DE7C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4DE7C */ if (_t5) goto L_02C4DF04; else goto L_02C4DE80;
|
|
L_02C4DE80: ; // 0x2c4de80
|
|
/* 02C4DE80 */ _t6 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4DE80 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4DE84 */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4DE84 */ cpu->r[26] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4DE88 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4DE88 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02C4DE8C */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4DE90: ; // 0x2c4de90
|
|
/* 02C4DE90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4DE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4DE94 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DE94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4DE94 */ if (_t10) goto L_02C4DEEC; else goto L_02C4DE98;
|
|
L_02C4DE98: ; // 0x2c4de98
|
|
/* 02C4DE98 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4DE9C */ cpu->r[4] = cpu->r[25];
|
|
/* 02C4DEA0 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4DEA4 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4DEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4DEA8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DEA8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4DEA8 */ if (_t12) goto L_02C4DEEC; else goto L_02C4DEAC;
|
|
L_02C4DEAC: ; // 0x2c4deac
|
|
/* 02C4DEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4DEB0 */ cpu->r[3] = cpu->r[8] + cpu->r[28];
|
|
/* 02C4DEB4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DEB4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4DEB4 */ if (_t14) goto L_02C4DEB8; else goto L_02C4DECC;
|
|
L_02C4DEB8: ; // 0x2c4deb8
|
|
/* 02C4DEB8 */ cpu->ctr = cpu->r[26];
|
|
/* 02C4DEBC */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DEC0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DEC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4DEC8 */ goto L_02C4DEEC;
|
|
L_02C4DECC: ; // 0x2c4decc
|
|
/* 02C4DECC */ /* nop */
|
|
/* 02C4DED0 */ _t15 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4DED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4DED4 */ cpu->r[9] = cpu->r[12] + cpu->r[24];
|
|
/* 02C4DED8 */ _t16 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4DED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4DEDC */ cpu->ctr = cpu->r[0];
|
|
/* 02C4DEE0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DEE4 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DEE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4DEEC: ; // 0x2c4deec
|
|
/* 02C4DEEC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C4DEF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C4DEF4 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4DEF8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DEF8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4DEF8 */ if (_t18) goto L_02C4DEFC; else goto L_02C4DF04;
|
|
L_02C4DEFC: ; // 0x2c4defc
|
|
/* 02C4DEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DF00 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DF00 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4DF00 */ if (_t20) goto L_02C4DF04; else goto L_02C4DE90;
|
|
L_02C4DF04: ; // 0x2c4df04
|
|
/* 02C4DF04 */ /* nop */
|
|
/* 02C4DF08 */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DF08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C4DF0C */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DF0C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 02C4DF10 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DF10 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4DF10 */ if (_t24) goto L_02C4DF14; // else: addr-0 trap, fall-through
|
|
L_02C4DF14: ; // 0x2c4df14
|
|
/* 02C4DF14 */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4DF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4DF18 */ cpu->lr = cpu->r[0];
|
|
/* 02C4DF1C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C4DF20 */ return;
|
|
}
|
|
|
|
// fn_02C4DF24 @ 0x2c4df24
|
|
void Gambit_fn_02C4DF24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C4DF24: ; // 0x2c4df24
|
|
/* 02C4DF24 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4DF28 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C4DF28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4DF28 */ cpu->r[1] = _t0;
|
|
/* 02C4DF2C */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DF2C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C4DF30 */ /* nop */
|
|
/* 02C4DF34 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DF34 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C4DF38 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4DF38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4DF3C */ cpu->f[31] = cpu->f[1];
|
|
/* 02C4DF40 */ /* nop */
|
|
/* 02C4DF44 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4DF48 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4DF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DF4C */ cpu->r[31] = cpu->r[6];
|
|
/* 02C4DF50 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C4DF54 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DF54 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4DF54 */ if (_t5) goto L_02C4DFDC; else goto L_02C4DF58;
|
|
L_02C4DF58: ; // 0x2c4df58
|
|
/* 02C4DF58 */ _t6 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4DF58 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4DF5C */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4DF5C */ cpu->r[26] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4DF60 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4DF60 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02C4DF64 */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4DF68: ; // 0x2c4df68
|
|
/* 02C4DF68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4DF68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4DF6C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DF6C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4DF6C */ if (_t10) goto L_02C4DFC4; else goto L_02C4DF70;
|
|
L_02C4DF70: ; // 0x2c4df70
|
|
/* 02C4DF70 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4DF74 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C4DF78 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4DF7C */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4DF7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4DF80 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DF80 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4DF80 */ if (_t12) goto L_02C4DFC4; else goto L_02C4DF84;
|
|
L_02C4DF84: ; // 0x2c4df84
|
|
/* 02C4DF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4DF88 */ cpu->r[3] = cpu->r[8] + cpu->r[28];
|
|
/* 02C4DF8C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DF8C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4DF8C */ if (_t14) goto L_02C4DF90; else goto L_02C4DFA4;
|
|
L_02C4DF90: ; // 0x2c4df90
|
|
/* 02C4DF90 */ cpu->ctr = cpu->r[26];
|
|
/* 02C4DF94 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DF98 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DF9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4DFA0 */ goto L_02C4DFC4;
|
|
L_02C4DFA4: ; // 0x2c4dfa4
|
|
/* 02C4DFA4 */ /* nop */
|
|
/* 02C4DFA8 */ _t15 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4DFA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4DFAC */ cpu->r[9] = cpu->r[12] + cpu->r[24];
|
|
/* 02C4DFB0 */ _t16 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4DFB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4DFB4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4DFB8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DFBC */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DFC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4DFC4: ; // 0x2c4dfc4
|
|
/* 02C4DFC4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C4DFC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C4DFCC */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4DFD0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DFD0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4DFD0 */ if (_t18) goto L_02C4DFD4; else goto L_02C4DFDC;
|
|
L_02C4DFD4: ; // 0x2c4dfd4
|
|
/* 02C4DFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DFD8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DFD8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4DFD8 */ if (_t20) goto L_02C4DFDC; else goto L_02C4DF68;
|
|
L_02C4DFDC: ; // 0x2c4dfdc
|
|
/* 02C4DFDC */ /* nop */
|
|
/* 02C4DFE0 */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DFE0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C4DFE4 */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DFE4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 02C4DFE8 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DFE8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4DFE8 */ if (_t24) goto L_02C4DFEC; // else: addr-0 trap, fall-through
|
|
L_02C4DFEC: ; // 0x2c4dfec
|
|
/* 02C4DFEC */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4DFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4DFF0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4DFF4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C4DFF8 */ return;
|
|
}
|
|
|
|
// fn_02C4DF28 @ 0x2c4df28
|
|
void Gambit_fn_02C4DF28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C4DF28: ; // 0x2c4df28
|
|
/* 02C4DF28 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C4DF28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4DF28 */ cpu->r[1] = _t0;
|
|
/* 02C4DF2C */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DF2C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C4DF30 */ /* nop */
|
|
/* 02C4DF34 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DF34 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C4DF38 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4DF38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4DF3C */ cpu->f[31] = cpu->f[1];
|
|
/* 02C4DF40 */ /* nop */
|
|
/* 02C4DF44 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4DF48 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4DF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DF4C */ cpu->r[31] = cpu->r[6];
|
|
/* 02C4DF50 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C4DF54 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DF54 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4DF54 */ if (_t5) goto L_02C4DFDC; else goto L_02C4DF58;
|
|
L_02C4DF58: ; // 0x2c4df58
|
|
/* 02C4DF58 */ _t6 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4DF58 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4DF5C */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4DF5C */ cpu->r[26] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4DF60 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4DF60 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02C4DF64 */ cpu->r[24] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4DF68: ; // 0x2c4df68
|
|
/* 02C4DF68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4DF68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4DF6C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DF6C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4DF6C */ if (_t10) goto L_02C4DFC4; else goto L_02C4DF70;
|
|
L_02C4DF70: ; // 0x2c4df70
|
|
/* 02C4DF70 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4DF74 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C4DF78 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4DF7C */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4DF7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4DF80 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DF80 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4DF80 */ if (_t12) goto L_02C4DFC4; else goto L_02C4DF84;
|
|
L_02C4DF84: ; // 0x2c4df84
|
|
/* 02C4DF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C4DF88 */ cpu->r[3] = cpu->r[8] + cpu->r[28];
|
|
/* 02C4DF8C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DF8C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4DF8C */ if (_t14) goto L_02C4DF90; else goto L_02C4DFA4;
|
|
L_02C4DF90: ; // 0x2c4df90
|
|
/* 02C4DF90 */ cpu->ctr = cpu->r[26];
|
|
/* 02C4DF94 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DF98 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DF9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4DFA0 */ goto L_02C4DFC4;
|
|
L_02C4DFA4: ; // 0x2c4dfa4
|
|
/* 02C4DFA4 */ /* nop */
|
|
/* 02C4DFA8 */ _t15 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4DFA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4DFAC */ cpu->r[9] = cpu->r[12] + cpu->r[24];
|
|
/* 02C4DFB0 */ _t16 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4DFB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4DFB4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4DFB8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4DFBC */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4DFC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4DFC4: ; // 0x2c4dfc4
|
|
/* 02C4DFC4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C4DFC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000010u);
|
|
/* 02C4DFCC */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4DFD0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DFD0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4DFD0 */ if (_t18) goto L_02C4DFD4; else goto L_02C4DFDC;
|
|
L_02C4DFD4: ; // 0x2c4dfd4
|
|
/* 02C4DFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4DFD8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4DFD8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4DFD8 */ if (_t20) goto L_02C4DFDC; else goto L_02C4DF68;
|
|
L_02C4DFDC: ; // 0x2c4dfdc
|
|
/* 02C4DFDC */ /* nop */
|
|
/* 02C4DFE0 */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4DFE0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C4DFE4 */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4DFE4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 02C4DFE8 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4DFE8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4DFE8 */ if (_t24) goto L_02C4DFEC; // else: addr-0 trap, fall-through
|
|
L_02C4DFEC: ; // 0x2c4dfec
|
|
/* 02C4DFEC */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C4DFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4DFF0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4DFF4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C4DFF8 */ return;
|
|
}
|
|
|
|
// fn_02C4DFFC @ 0x2c4dffc
|
|
void Gambit_fn_02C4DFFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C4DFFC: ; // 0x2c4dffc
|
|
/* 02C4DFFC */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02C4DFFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4DFFC */ cpu->r[1] = _t0;
|
|
/* 02C4E000 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4E000 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C4E004 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E008 */ /* nop */
|
|
/* 02C4E00C */ cpu->r[31] = cpu->r[8];
|
|
/* 02C4E010 */ cpu->r[30] = cpu->r[7];
|
|
/* 02C4E014 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C4E014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C4E018 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C4E01C */ /* nop */
|
|
/* 02C4E020 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C4E024 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02C4E024 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C4E028 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C4E02C */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02C4E02C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4E030 */ cpu->r[29] = cpu->r[6];
|
|
/* 02C4E034 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E034 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4E034 */ if (_t5) goto L_02C4E0CC; else goto L_02C4E038;
|
|
L_02C4E038: ; // 0x2c4e038
|
|
/* 02C4E038 */ _t6 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4E038 */ cpu->r[25] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4E03C */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4E03C */ cpu->r[24] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4E040 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4E040 */ cpu->r[26] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02C4E044 */ cpu->r[22] = rbrew_rlwinm(cpu->r[25], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4E048: ; // 0x2c4e048
|
|
/* 02C4E048 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4E048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E04C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E04C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4E04C */ if (_t10) goto L_02C4E0B4; else goto L_02C4E050;
|
|
L_02C4E050: ; // 0x2c4e050
|
|
/* 02C4E050 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C4E054 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C4E058 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4E05C */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4E05C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4E060 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E060 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4E060 */ if (_t12) goto L_02C4E0B4; else goto L_02C4E064;
|
|
L_02C4E064: ; // 0x2c4e064
|
|
/* 02C4E064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C4E068 */ cpu->r[3] = cpu->r[8] + cpu->r[26];
|
|
/* 02C4E06C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E06C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4E06C */ if (_t14) goto L_02C4E070; else goto L_02C4E08C;
|
|
L_02C4E070: ; // 0x2c4e070
|
|
/* 02C4E070 */ cpu->ctr = cpu->r[24];
|
|
/* 02C4E074 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4E078 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4E07C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4E080 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4E084 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4E088 */ goto L_02C4E0B4;
|
|
L_02C4E08C: ; // 0x2c4e08c
|
|
/* 02C4E08C */ /* nop */
|
|
/* 02C4E090 */ _t15 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4E090 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4E094 */ cpu->r[9] = cpu->r[12] + cpu->r[22];
|
|
/* 02C4E098 */ _t16 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4E098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4E09C */ cpu->ctr = cpu->r[0];
|
|
/* 02C4E0A0 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C4E0A4 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C4E0A8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4E0AC */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4E0B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4E0B4: ; // 0x2c4e0b4
|
|
/* 02C4E0B4 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02C4E0B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000010u);
|
|
/* 02C4E0BC */ cpu->r[28] = rbrew_rlwinm(cpu->r[28], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4E0C0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E0C0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4E0C0 */ if (_t18) goto L_02C4E0C4; else goto L_02C4E0CC;
|
|
L_02C4E0C4: ; // 0x2c4e0c4
|
|
/* 02C4E0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C4E0C8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E0C8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4E0C8 */ if (_t20) goto L_02C4E0CC; else goto L_02C4E048;
|
|
L_02C4E0CC: ; // 0x2c4e0cc
|
|
/* 02C4E0CC */ /* nop */
|
|
/* 02C4E0D0 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 02C4E0D0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C4E0D4 */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4E0D4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 02C4E0D8 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E0D8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4E0D8 */ if (_t24) goto L_02C4E0DC; // else: addr-0 trap, fall-through
|
|
L_02C4E0DC: ; // 0x2c4e0dc
|
|
/* 02C4E0DC */ _t25 = cpu->r[1] + 0x00000044u;
|
|
/* 02C4E0DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4E0E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E0E4 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02C4E0E8 */ return;
|
|
}
|
|
|
|
// fn_02C4E0EC @ 0x2c4e0ec
|
|
void Gambit_fn_02C4E0EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C4E0EC: ; // 0x2c4e0ec
|
|
/* 02C4E0EC */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02C4E0EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E0EC */ cpu->r[1] = _t0;
|
|
/* 02C4E0F0 */ /* nop */
|
|
/* 02C4E0F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E0F8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C4E0FC */ cpu->r[30] = cpu->r[6];
|
|
/* 02C4E100 */ cpu->r[31] = cpu->r[7];
|
|
/* 02C4E104 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4E104 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C4E108 */ /* nop */
|
|
/* 02C4E10C */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02C4E10C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E110 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C4E114 */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 02C4E114 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C4E118 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C4E118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4E11C */ cpu->f[31] = cpu->f[1];
|
|
/* 02C4E120 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E120 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4E120 */ if (_t5) goto L_02C4E1B0; else goto L_02C4E124;
|
|
L_02C4E124: ; // 0x2c4e124
|
|
/* 02C4E124 */ _t6 = cpu->r[5] + 0x00000002u;
|
|
/* 02C4E124 */ cpu->r[26] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02C4E128 */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4E128 */ cpu->r[25] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4E12C */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4E12C */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02C4E130 */ cpu->r[23] = rbrew_rlwinm(cpu->r[26], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02C4E134: ; // 0x2c4e134
|
|
/* 02C4E134 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4E134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E138 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E138 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4E138 */ if (_t10) goto L_02C4E198; else goto L_02C4E13C;
|
|
L_02C4E13C: ; // 0x2c4e13c
|
|
/* 02C4E13C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C4E140 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C4E144 */ Gambit_fn_02C399A8(cpu);
|
|
/* 02C4E148 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C4E148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4E14C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E14C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4E14C */ if (_t12) goto L_02C4E198; else goto L_02C4E150;
|
|
L_02C4E150: ; // 0x2c4e150
|
|
/* 02C4E150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C4E154 */ cpu->r[3] = cpu->r[8] + cpu->r[27];
|
|
/* 02C4E158 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E158 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4E158 */ if (_t14) goto L_02C4E15C; else goto L_02C4E174;
|
|
L_02C4E15C: ; // 0x2c4e15c
|
|
/* 02C4E15C */ cpu->ctr = cpu->r[25];
|
|
/* 02C4E160 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4E164 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4E168 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C4E16C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4E170 */ goto L_02C4E198;
|
|
L_02C4E174: ; // 0x2c4e174
|
|
/* 02C4E174 */ /* nop */
|
|
/* 02C4E178 */ _t15 = cpu->r[3] + cpu->r[0];
|
|
/* 02C4E178 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4E17C */ cpu->r[9] = cpu->r[12] + cpu->r[23];
|
|
/* 02C4E180 */ _t16 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4E180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4E184 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4E188 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C4E18C */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4E190 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C4E194 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C4E198: ; // 0x2c4e198
|
|
/* 02C4E198 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C4E19C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000010u);
|
|
/* 02C4E1A0 */ cpu->r[29] = rbrew_rlwinm(cpu->r[29], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C4E1A4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E1A4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4E1A4 */ if (_t18) goto L_02C4E1A8; else goto L_02C4E1B0;
|
|
L_02C4E1A8: ; // 0x2c4e1a8
|
|
/* 02C4E1A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4E1AC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E1AC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4E1AC */ if (_t20) goto L_02C4E1B0; else goto L_02C4E134;
|
|
L_02C4E1B0: ; // 0x2c4e1b0
|
|
/* 02C4E1B0 */ /* nop */
|
|
/* 02C4E1B4 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 02C4E1B4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C4E1B8 */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4E1B8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 02C4E1BC */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E1BC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4E1BC */ if (_t24) goto L_02C4E1C0; // else: addr-0 trap, fall-through
|
|
L_02C4E1C0: ; // 0x2c4e1c0
|
|
/* 02C4E1C0 */ _t25 = cpu->r[1] + 0x00000044u;
|
|
/* 02C4E1C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4E1C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E1C8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02C4E1CC */ return;
|
|
}
|
|
|
|
// fn_02C4E1D0 @ 0x2c4e1d0
|
|
void Gambit_fn_02C4E1D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C4E1D0: ; // 0x2c4e1d0
|
|
/* 02C4E1D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E1D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C4E1D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E1D4 */ cpu->r[1] = _t0;
|
|
/* 02C4E1D8 */ cpu->r[7] = cpu->r[3] + 0x00000003u;
|
|
/* 02C4E1DC */ cpu->r[12] = cpu->r[3] + cpu->r[4];
|
|
/* 02C4E1E0 */ /* nop */
|
|
/* 02C4E1E4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4E1E8 */ cpu->r[28] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4E1EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[28]);
|
|
/* 02C4E1F0 */ cpu->r[27] = cpu->r[5];
|
|
/* 02C4E1F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C4E1F8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4E1F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4E1FC */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4E1FC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4E1FC */ if (_t3) goto L_02C4E20C; else goto L_02C4E200;
|
|
L_02C4E200: ; // 0x2c4e200
|
|
/* 02C4E200 */ cpu->r[8] = cpu->r[28] - cpu->r[3];
|
|
/* 02C4E204 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000034u);
|
|
/* 02C4E208 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E208 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4E208 */ if (_t5) goto L_02C4E20C; else goto L_02C4E224;
|
|
L_02C4E20C: ; // 0x2c4e20c
|
|
/* 02C4E20C */ /* nop */
|
|
/* 02C4E210 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4E210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4E214 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E218 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4E21C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4E220 */ return;
|
|
L_02C4E224: ; // 0x2c4e224
|
|
/* 02C4E224 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4E228 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E228 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4E228 */ if (_t8) goto L_02C4E2C8; else goto L_02C4E22C;
|
|
L_02C4E22C: ; // 0x2c4e22c
|
|
/* 02C4E22C */ cpu->r[29] = cpu->r[31];
|
|
/* 02C4E22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4E230 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E230 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4E230 */ if (_t10) goto L_02C4E234; else goto L_02C4E244;
|
|
L_02C4E234: ; // 0x2c4e234
|
|
/* 02C4E234 */ cpu->r[3] = 0x00000028u;
|
|
/* 02C4E238 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4E23C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4E23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4E240 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E240 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4E240 */ if (_t12) goto L_02C4E2BC; else goto L_02C4E244;
|
|
L_02C4E244: ; // 0x2c4e244
|
|
/* 02C4E244 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4E244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E248 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E248 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4E248 */ if (_t14) goto L_02C4E24C; else goto L_02C4E25C;
|
|
L_02C4E24C: ; // 0x2c4e24c
|
|
/* 02C4E24C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C4E250 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4E254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E258 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E258 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4E258 */ if (_t16) goto L_02C4E270; else goto L_02C4E25C;
|
|
L_02C4E25C: ; // 0x2c4e25c
|
|
/* 02C4E25C */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C4E260 */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4E260 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02C4E264 */ cpu->r[9] = cpu->r[9] + 0xFFFFEC44u;
|
|
/* 02C4E268 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4E268 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02C4E26C */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4E26C */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
L_02C4E270: ; // 0x2c4e270
|
|
/* 02C4E270 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C4E274 */ cpu->r[10] = cpu->r[10] + 0xFFFFEC54u;
|
|
/* 02C4E278 */ cpu->r[3] = cpu->r[29] + 0x00000018u;
|
|
/* 02C4E278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E27C */ _t20 = cpu->r[29] + 0x00000008u;
|
|
/* 02C4E27C */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 02C4E280 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E280 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C4E280 */ if (_t22) goto L_02C4E284; else goto L_02C4E294;
|
|
L_02C4E284: ; // 0x2c4e284
|
|
/* 02C4E284 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C4E288 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4E28C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E290 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E290 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4E290 */ if (_t24) goto L_02C4E2BC; else goto L_02C4E294;
|
|
L_02C4E294: ; // 0x2c4e294
|
|
/* 02C4E294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E298 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E298 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C4E298 */ if (_t26) goto L_02C4E29C; else goto L_02C4E2AC;
|
|
L_02C4E29C: ; // 0x2c4e29c
|
|
/* 02C4E29C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C4E2A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4E2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E2A8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E2A8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C4E2A8 */ if (_t28) goto L_02C4E2BC; else goto L_02C4E2AC;
|
|
L_02C4E2AC: ; // 0x2c4e2ac
|
|
/* 02C4E2AC */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 02C4E2B0 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4E2B0 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02C4E2B4 */ _t30 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4E2B4 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 02C4E2B8 */ _t31 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4E2B8 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
L_02C4E2BC: ; // 0x2c4e2bc
|
|
/* 02C4E2BC */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C4E2C0 */ cpu->r[0] = cpu->r[0] + 0xFFFFEC64u;
|
|
/* 02C4E2C4 */ _t32 = cpu->r[31] + 0x00000008u;
|
|
/* 02C4E2C4 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_02C4E2C8: ; // 0x2c4e2c8
|
|
/* 02C4E2C8 */ cpu->r[4] = 0x46520000u;
|
|
/* 02C4E2CC */ cpu->r[7] = cpu->r[27];
|
|
/* 02C4E2D0 */ cpu->r[6] = cpu->r[28];
|
|
/* 02C4E2D4 */ cpu->r[4] = cpu->r[4] + 0x00004D48u;
|
|
/* 02C4E2D8 */ cpu->r[5] = cpu->r[31] + 0x00000034u;
|
|
/* 02C4E2DC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E2E0 */ Gambit_fn_02C4E76C(cpu);
|
|
/* 02C4E2E4 */ _t33 = cpu->r[31] + 0x00000010u;
|
|
/* 02C4E2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C4E2E8 */ _t34 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C4E2E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C4E2EC */ _t35 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C4E2EC */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02C4E2F0 */ _t36 = cpu->r[31] + 0x00000028u;
|
|
/* 02C4E2F0 */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 02C4E2F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E2F8 */ _t37 = cpu->r[31] + 0x00000030u;
|
|
/* 02C4E2F8 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02C4E2FC */ /* nop */
|
|
/* 02C4E300 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4E300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C4E304 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E308 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4E30C */ return;
|
|
}
|
|
|
|
// fn_02C4E1D4 @ 0x2c4e1d4
|
|
void Gambit_fn_02C4E1D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C4E1D4: ; // 0x2c4e1d4
|
|
/* 02C4E1D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C4E1D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E1D4 */ cpu->r[1] = _t0;
|
|
/* 02C4E1D8 */ cpu->r[7] = cpu->r[3] + 0x00000003u;
|
|
/* 02C4E1DC */ cpu->r[12] = cpu->r[3] + cpu->r[4];
|
|
/* 02C4E1E0 */ /* nop */
|
|
/* 02C4E1E4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4E1E8 */ cpu->r[28] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4E1EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[28]);
|
|
/* 02C4E1F0 */ cpu->r[27] = cpu->r[5];
|
|
/* 02C4E1F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C4E1F8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4E1F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4E1FC */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4E1FC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4E1FC */ if (_t3) goto L_02C4E20C; else goto L_02C4E200;
|
|
L_02C4E200: ; // 0x2c4e200
|
|
/* 02C4E200 */ cpu->r[8] = cpu->r[28] - cpu->r[3];
|
|
/* 02C4E204 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000034u);
|
|
/* 02C4E208 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E208 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4E208 */ if (_t5) goto L_02C4E20C; else goto L_02C4E224;
|
|
L_02C4E20C: ; // 0x2c4e20c
|
|
/* 02C4E20C */ /* nop */
|
|
/* 02C4E210 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4E210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4E214 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E218 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4E21C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4E220 */ return;
|
|
L_02C4E224: ; // 0x2c4e224
|
|
/* 02C4E224 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4E228 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E228 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4E228 */ if (_t8) goto L_02C4E2C8; else goto L_02C4E22C;
|
|
L_02C4E22C: ; // 0x2c4e22c
|
|
/* 02C4E22C */ cpu->r[29] = cpu->r[31];
|
|
/* 02C4E22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4E230 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E230 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4E230 */ if (_t10) goto L_02C4E234; else goto L_02C4E244;
|
|
L_02C4E234: ; // 0x2c4e234
|
|
/* 02C4E234 */ cpu->r[3] = 0x00000028u;
|
|
/* 02C4E238 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4E23C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4E23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4E240 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E240 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4E240 */ if (_t12) goto L_02C4E2BC; else goto L_02C4E244;
|
|
L_02C4E244: ; // 0x2c4e244
|
|
/* 02C4E244 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4E244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E248 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E248 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4E248 */ if (_t14) goto L_02C4E24C; else goto L_02C4E25C;
|
|
L_02C4E24C: ; // 0x2c4e24c
|
|
/* 02C4E24C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C4E250 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4E254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E258 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E258 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4E258 */ if (_t16) goto L_02C4E270; else goto L_02C4E25C;
|
|
L_02C4E25C: ; // 0x2c4e25c
|
|
/* 02C4E25C */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C4E260 */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4E260 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02C4E264 */ cpu->r[9] = cpu->r[9] + 0xFFFFEC44u;
|
|
/* 02C4E268 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4E268 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02C4E26C */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4E26C */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
L_02C4E270: ; // 0x2c4e270
|
|
/* 02C4E270 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C4E274 */ cpu->r[10] = cpu->r[10] + 0xFFFFEC54u;
|
|
/* 02C4E278 */ cpu->r[3] = cpu->r[29] + 0x00000018u;
|
|
/* 02C4E278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E27C */ _t20 = cpu->r[29] + 0x00000008u;
|
|
/* 02C4E27C */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 02C4E280 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E280 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C4E280 */ if (_t22) goto L_02C4E284; else goto L_02C4E294;
|
|
L_02C4E284: ; // 0x2c4e284
|
|
/* 02C4E284 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C4E288 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4E28C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E290 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E290 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4E290 */ if (_t24) goto L_02C4E2BC; else goto L_02C4E294;
|
|
L_02C4E294: ; // 0x2c4e294
|
|
/* 02C4E294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E298 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E298 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C4E298 */ if (_t26) goto L_02C4E29C; else goto L_02C4E2AC;
|
|
L_02C4E29C: ; // 0x2c4e29c
|
|
/* 02C4E29C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C4E2A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4E2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E2A8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E2A8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C4E2A8 */ if (_t28) goto L_02C4E2BC; else goto L_02C4E2AC;
|
|
L_02C4E2AC: ; // 0x2c4e2ac
|
|
/* 02C4E2AC */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 02C4E2B0 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4E2B0 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02C4E2B4 */ _t30 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4E2B4 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 02C4E2B8 */ _t31 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4E2B8 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
L_02C4E2BC: ; // 0x2c4e2bc
|
|
/* 02C4E2BC */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C4E2C0 */ cpu->r[0] = cpu->r[0] + 0xFFFFEC64u;
|
|
/* 02C4E2C4 */ _t32 = cpu->r[31] + 0x00000008u;
|
|
/* 02C4E2C4 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_02C4E2C8: ; // 0x2c4e2c8
|
|
/* 02C4E2C8 */ cpu->r[4] = 0x46520000u;
|
|
/* 02C4E2CC */ cpu->r[7] = cpu->r[27];
|
|
/* 02C4E2D0 */ cpu->r[6] = cpu->r[28];
|
|
/* 02C4E2D4 */ cpu->r[4] = cpu->r[4] + 0x00004D48u;
|
|
/* 02C4E2D8 */ cpu->r[5] = cpu->r[31] + 0x00000034u;
|
|
/* 02C4E2DC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E2E0 */ Gambit_fn_02C4E76C(cpu);
|
|
/* 02C4E2E4 */ _t33 = cpu->r[31] + 0x00000010u;
|
|
/* 02C4E2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C4E2E8 */ _t34 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C4E2E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C4E2EC */ _t35 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C4E2EC */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02C4E2F0 */ _t36 = cpu->r[31] + 0x00000028u;
|
|
/* 02C4E2F0 */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 02C4E2F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E2F8 */ _t37 = cpu->r[31] + 0x00000030u;
|
|
/* 02C4E2F8 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02C4E2FC */ /* nop */
|
|
/* 02C4E300 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4E300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C4E304 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E308 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4E30C */ return;
|
|
}
|
|
|
|
// fn_02C4E310 @ 0x2c4e310
|
|
void Gambit_fn_02C4E310(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C4E310: ; // 0x2c4e310
|
|
/* 02C4E310 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E314 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E314 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E314 */ cpu->r[1] = _t0;
|
|
/* 02C4E318 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E318 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E31C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E320 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E320 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E324 */ Gambit_fn_02C4E7D8(cpu);
|
|
/* 02C4E328 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4E32C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E330 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E334 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E334 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4E338 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E33C */ return;
|
|
}
|
|
|
|
// fn_02C4E314 @ 0x2c4e314
|
|
void Gambit_fn_02C4E314(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C4E314: ; // 0x2c4e314
|
|
/* 02C4E314 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E314 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E314 */ cpu->r[1] = _t0;
|
|
/* 02C4E318 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E318 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E31C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E320 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E320 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E324 */ Gambit_fn_02C4E7D8(cpu);
|
|
/* 02C4E328 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4E32C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E330 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E334 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E334 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4E338 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E33C */ return;
|
|
}
|
|
|
|
// fn_02C4E340 @ 0x2c4e340
|
|
void Gambit_fn_02C4E340(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_02C4E340: ; // 0x2c4e340
|
|
/* 02C4E340 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E344 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4E344 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E344 */ cpu->r[1] = _t0;
|
|
/* 02C4E348 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E348 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C4E34C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E34C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4E350 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E350 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C4E354 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4E354 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4E358 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4E35C */ cpu->r[0] = cpu->r[4];
|
|
/* 02C4E360 */ _t5 = cpu->r[29] + 0x00000028u;
|
|
/* 02C4E360 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4E364 */ cpu->r[9] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C4E368 */ cpu->r[12] = cpu->r[4] + cpu->r[9];
|
|
/* 02C4E36C */ _t6 = ~cpu->r[9];
|
|
/* 02C4E36C */ cpu->r[31] = cpu->r[12] & _t6;
|
|
/* 02C4E370 */ _t7 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C4E370 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4E374 */ cpu->r[30] = cpu->r[31] + cpu->r[0];
|
|
/* 02C4E378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 02C4E37C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4E37C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4E37C */ if (_t9) goto L_02C4E380; else goto L_02C4E3A0;
|
|
L_02C4E380: ; // 0x2c4e380
|
|
/* 02C4E380 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E380 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4E384 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4E384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4E388 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E388 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4E38C */ cpu->lr = cpu->r[0];
|
|
/* 02C4E390 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4E394 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4E398 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4E39C */ return;
|
|
L_02C4E3A0: ; // 0x2c4e3a0
|
|
/* 02C4E3A0 */ _t14 = cpu->r[29] + 0x00000028u;
|
|
/* 02C4E3A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4E3A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4E3A8 */ cpu->r[5] = cpu->r[30] - cpu->r[0];
|
|
/* 02C4E3AC */ Gambit_fn_02C4E85C(cpu);
|
|
/* 02C4E3B0 */ _t15 = cpu->r[29] + 0x00000028u;
|
|
/* 02C4E3B0 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02C4E3B4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E3B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4E3B8 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4E3B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4E3BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E3C0 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E3C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4E3C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E3C8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E3C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4E3CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4E3D0 */ return;
|
|
}
|
|
|
|
// fn_02C4E344 @ 0x2c4e344
|
|
void Gambit_fn_02C4E344(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_02C4E344: ; // 0x2c4e344
|
|
/* 02C4E344 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4E344 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E344 */ cpu->r[1] = _t0;
|
|
/* 02C4E348 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E348 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C4E34C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E34C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4E350 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E350 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C4E354 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4E354 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4E358 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4E35C */ cpu->r[0] = cpu->r[4];
|
|
/* 02C4E360 */ _t5 = cpu->r[29] + 0x00000028u;
|
|
/* 02C4E360 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4E364 */ cpu->r[9] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C4E368 */ cpu->r[12] = cpu->r[4] + cpu->r[9];
|
|
/* 02C4E36C */ _t6 = ~cpu->r[9];
|
|
/* 02C4E36C */ cpu->r[31] = cpu->r[12] & _t6;
|
|
/* 02C4E370 */ _t7 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C4E370 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4E374 */ cpu->r[30] = cpu->r[31] + cpu->r[0];
|
|
/* 02C4E378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 02C4E37C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4E37C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4E37C */ if (_t9) goto L_02C4E380; else goto L_02C4E3A0;
|
|
L_02C4E380: ; // 0x2c4e380
|
|
/* 02C4E380 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E380 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4E384 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4E384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4E388 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E388 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4E38C */ cpu->lr = cpu->r[0];
|
|
/* 02C4E390 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4E394 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4E398 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4E39C */ return;
|
|
L_02C4E3A0: ; // 0x2c4e3a0
|
|
/* 02C4E3A0 */ _t14 = cpu->r[29] + 0x00000028u;
|
|
/* 02C4E3A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4E3A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4E3A8 */ cpu->r[5] = cpu->r[30] - cpu->r[0];
|
|
/* 02C4E3AC */ Gambit_fn_02C4E85C(cpu);
|
|
/* 02C4E3B0 */ _t15 = cpu->r[29] + 0x00000028u;
|
|
/* 02C4E3B0 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02C4E3B4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E3B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4E3B8 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4E3B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4E3BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E3C0 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E3C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4E3C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E3C8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E3C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4E3CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4E3D0 */ return;
|
|
}
|
|
|
|
// fn_02C4E3D4 @ 0x2c4e3d4
|
|
void Gambit_fn_02C4E3D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C4E3D4: ; // 0x2c4e3d4
|
|
/* 02C4E3D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E3D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E3D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E3D8 */ cpu->r[1] = _t0;
|
|
/* 02C4E3DC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E3DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4E3E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E3E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4E3E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4E3E8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E3E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4E3EC */ _t4 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C4E3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4E3F0 */ cpu->r[9] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C4E3F4 */ cpu->r[12] = cpu->r[0] - cpu->r[4];
|
|
/* 02C4E3F8 */ _t5 = cpu->r[30] + 0x00000028u;
|
|
/* 02C4E3F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4E3FC */ _t6 = ~cpu->r[9];
|
|
/* 02C4E3FC */ cpu->r[31] = cpu->r[12] & _t6;
|
|
/* 02C4E400 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[10]);
|
|
/* 02C4E404 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E404 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4E404 */ if (_t8) goto L_02C4E408; else goto L_02C4E424;
|
|
L_02C4E408: ; // 0x2c4e408
|
|
/* 02C4E408 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4E40C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E40C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4E410 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E414 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E414 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4E418 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E41C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4E420 */ return;
|
|
L_02C4E424: ; // 0x2c4e424
|
|
/* 02C4E424 */ _t12 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C4E424 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4E428 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4E42C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4E430 */ cpu->r[5] = cpu->r[11] - cpu->r[31];
|
|
/* 02C4E434 */ Gambit_fn_02C4E85C(cpu);
|
|
/* 02C4E438 */ _t13 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C4E438 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02C4E43C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E43C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4E440 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E444 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E444 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4E448 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E44C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E44C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4E450 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E454 */ return;
|
|
}
|
|
|
|
// fn_02C4E3D8 @ 0x2c4e3d8
|
|
void Gambit_fn_02C4E3D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C4E3D8: ; // 0x2c4e3d8
|
|
/* 02C4E3D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E3D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E3D8 */ cpu->r[1] = _t0;
|
|
/* 02C4E3DC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E3DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4E3E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E3E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4E3E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4E3E8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E3E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4E3EC */ _t4 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C4E3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4E3F0 */ cpu->r[9] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C4E3F4 */ cpu->r[12] = cpu->r[0] - cpu->r[4];
|
|
/* 02C4E3F8 */ _t5 = cpu->r[30] + 0x00000028u;
|
|
/* 02C4E3F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4E3FC */ _t6 = ~cpu->r[9];
|
|
/* 02C4E3FC */ cpu->r[31] = cpu->r[12] & _t6;
|
|
/* 02C4E400 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[10]);
|
|
/* 02C4E404 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E404 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4E404 */ if (_t8) goto L_02C4E408; else goto L_02C4E424;
|
|
L_02C4E408: ; // 0x2c4e408
|
|
/* 02C4E408 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4E40C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E40C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4E410 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E414 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E414 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4E418 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E41C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4E420 */ return;
|
|
L_02C4E424: ; // 0x2c4e424
|
|
/* 02C4E424 */ _t12 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C4E424 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4E428 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4E42C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4E430 */ cpu->r[5] = cpu->r[11] - cpu->r[31];
|
|
/* 02C4E434 */ Gambit_fn_02C4E85C(cpu);
|
|
/* 02C4E438 */ _t13 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C4E438 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02C4E43C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E43C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4E440 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E444 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E444 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4E448 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E44C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E44C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4E450 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E454 */ return;
|
|
}
|
|
|
|
// fn_02C4E458 @ 0x2c4e458
|
|
void Gambit_fn_02C4E458(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C4E458: ; // 0x2c4e458
|
|
/* 02C4E458 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E45C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4E45C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E45C */ cpu->r[1] = _t0;
|
|
/* 02C4E460 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E460 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4E464 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E464 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4E468 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4E468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4E46C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4E470 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E470 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C4E474 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4E474 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4E478 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C4E47C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E47C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4E47C */ if (_t6) goto L_02C4E480; else goto L_02C4E484;
|
|
L_02C4E480: ; // 0x2c4e480
|
|
/* 02C4E480 */ cpu->r[31] = 0x00000001u;
|
|
L_02C4E484: ; // 0x2c4e484
|
|
/* 02C4E484 */ cpu->r[0] = cpu->r[31] + 0x00000003u;
|
|
/* 02C4E488 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4E48C */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4E490 */ Gambit_fn_02C4E8DC(cpu);
|
|
/* 02C4E494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4E498 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4E49C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4E4A0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E4A0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4E4A0 */ if (_t8) goto L_02C4E4BC; else goto L_02C4E4A4;
|
|
L_02C4E4A4: ; // 0x2c4e4a4
|
|
/* 02C4E4A4 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C4E4A8 */ Gambit_fn_02C4E340(cpu);
|
|
/* 02C4E4AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E4B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4E4B4 */ Gambit_fn_02C4E8E0(cpu);
|
|
/* 02C4E4B8 */ goto L_02C4E4D0;
|
|
L_02C4E4BC: ; // 0x2c4e4bc
|
|
/* 02C4E4BC */ cpu->r[5] = (uint32_t)(-(int32_t)cpu->r[29]);
|
|
/* 02C4E4C0 */ Gambit_fn_02C4E3D4(cpu);
|
|
/* 02C4E4C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E4C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4E4CC */ Gambit_fn_02C4E8E0(cpu);
|
|
L_02C4E4D0: ; // 0x2c4e4d0
|
|
/* 02C4E4D0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E4D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4E4D4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4E4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4E4D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E4DC */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E4DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4E4E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E4E4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E4E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4E4E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4E4EC */ return;
|
|
}
|
|
|
|
// fn_02C4E45C @ 0x2c4e45c
|
|
void Gambit_fn_02C4E45C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C4E45C: ; // 0x2c4e45c
|
|
/* 02C4E45C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4E45C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E45C */ cpu->r[1] = _t0;
|
|
/* 02C4E460 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E460 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4E464 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E464 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4E468 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4E468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4E46C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4E470 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E470 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C4E474 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4E474 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4E478 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C4E47C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E47C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4E47C */ if (_t6) goto L_02C4E480; else goto L_02C4E484;
|
|
L_02C4E480: ; // 0x2c4e480
|
|
/* 02C4E480 */ cpu->r[31] = 0x00000001u;
|
|
L_02C4E484: ; // 0x2c4e484
|
|
/* 02C4E484 */ cpu->r[0] = cpu->r[31] + 0x00000003u;
|
|
/* 02C4E488 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4E48C */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4E490 */ Gambit_fn_02C4E8DC(cpu);
|
|
/* 02C4E494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C4E498 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4E49C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4E4A0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E4A0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4E4A0 */ if (_t8) goto L_02C4E4BC; else goto L_02C4E4A4;
|
|
L_02C4E4A4: ; // 0x2c4e4a4
|
|
/* 02C4E4A4 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C4E4A8 */ Gambit_fn_02C4E340(cpu);
|
|
/* 02C4E4AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E4B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4E4B4 */ Gambit_fn_02C4E8E0(cpu);
|
|
/* 02C4E4B8 */ goto L_02C4E4D0;
|
|
L_02C4E4BC: ; // 0x2c4e4bc
|
|
/* 02C4E4BC */ cpu->r[5] = (uint32_t)(-(int32_t)cpu->r[29]);
|
|
/* 02C4E4C0 */ Gambit_fn_02C4E3D4(cpu);
|
|
/* 02C4E4C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E4C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4E4CC */ Gambit_fn_02C4E8E0(cpu);
|
|
L_02C4E4D0: ; // 0x2c4e4d0
|
|
/* 02C4E4D0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E4D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4E4D4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4E4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4E4D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E4DC */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E4DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4E4E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E4E4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E4E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4E4E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4E4EC */ return;
|
|
}
|
|
|
|
// fn_02C4E4F0 @ 0x2c4e4f0
|
|
void Gambit_fn_02C4E4F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C4E4F0: ; // 0x2c4e4f0
|
|
/* 02C4E4F0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E4F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E4F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E4F4 */ cpu->r[1] = _t0;
|
|
/* 02C4E4F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E4F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E4FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E4FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E500 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4E500 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4E504 */ _t4 = cpu->r[3] + 0x00000028u;
|
|
/* 02C4E504 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4E508 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E50C */ cpu->r[5] = cpu->r[12] - cpu->r[4];
|
|
/* 02C4E510 */ Gambit_fn_02C4E814(cpu);
|
|
/* 02C4E514 */ _t5 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C4E514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4E518 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4E51C */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 02C4E51C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C4E520 */ _t7 = cpu->r[31] + 0x00000028u;
|
|
/* 02C4E520 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C4E524 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4E528 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E528 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4E52C */ cpu->lr = cpu->r[0];
|
|
/* 02C4E530 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E534 */ return;
|
|
}
|
|
|
|
// fn_02C4E4F4 @ 0x2c4e4f4
|
|
void Gambit_fn_02C4E4F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C4E4F4: ; // 0x2c4e4f4
|
|
/* 02C4E4F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E4F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E4F4 */ cpu->r[1] = _t0;
|
|
/* 02C4E4F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E4F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E4FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E4FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E500 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4E500 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4E504 */ _t4 = cpu->r[3] + 0x00000028u;
|
|
/* 02C4E504 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4E508 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E50C */ cpu->r[5] = cpu->r[12] - cpu->r[4];
|
|
/* 02C4E510 */ Gambit_fn_02C4E814(cpu);
|
|
/* 02C4E514 */ _t5 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C4E514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4E518 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4E51C */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 02C4E51C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C4E520 */ _t7 = cpu->r[31] + 0x00000028u;
|
|
/* 02C4E520 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C4E524 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4E528 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E528 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4E52C */ cpu->lr = cpu->r[0];
|
|
/* 02C4E530 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E534 */ return;
|
|
}
|
|
|
|
// fn_02C4E538 @ 0x2c4e538
|
|
void Gambit_fn_02C4E538(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C4E538: ; // 0x2c4e538
|
|
/* 02C4E538 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E53C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E53C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E53C */ cpu->r[1] = _t0;
|
|
/* 02C4E540 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E540 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E544 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E544 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E548 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 02C4E548 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4E54C */ _t4 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C4E54C */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4E550 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E554 */ cpu->r[5] = cpu->r[11] - cpu->r[4];
|
|
/* 02C4E558 */ Gambit_fn_02C4E814(cpu);
|
|
/* 02C4E55C */ _t5 = cpu->r[31] + 0x00000030u;
|
|
/* 02C4E55C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4E560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4E564 */ _t6 = cpu->r[31] + 0x00000010u;
|
|
/* 02C4E564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4E568 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E568 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4E568 */ if (_t8) goto L_02C4E580; else goto L_02C4E56C;
|
|
L_02C4E56C: ; // 0x2c4e56c
|
|
/* 02C4E56C */ _t9 = cpu->r[12] + 0x00000008u;
|
|
/* 02C4E56C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C4E570 */ _t10 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C4E570 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4E574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4E578 */ _t11 = cpu->r[31] + 0x00000010u;
|
|
/* 02C4E578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4E57C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E57C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C4E57C */ if (_t13) goto L_02C4E580; else goto L_02C4E56C;
|
|
L_02C4E580: ; // 0x2c4e580
|
|
/* 02C4E580 */ _t14 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C4E580 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02C4E584 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4E588 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E588 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4E58C */ cpu->lr = cpu->r[0];
|
|
/* 02C4E590 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E594 */ return;
|
|
}
|
|
|
|
// fn_02C4E53C @ 0x2c4e53c
|
|
void Gambit_fn_02C4E53C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C4E53C: ; // 0x2c4e53c
|
|
/* 02C4E53C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E53C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E53C */ cpu->r[1] = _t0;
|
|
/* 02C4E540 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E540 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E544 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E544 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E548 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 02C4E548 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4E54C */ _t4 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C4E54C */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4E550 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E554 */ cpu->r[5] = cpu->r[11] - cpu->r[4];
|
|
/* 02C4E558 */ Gambit_fn_02C4E814(cpu);
|
|
/* 02C4E55C */ _t5 = cpu->r[31] + 0x00000030u;
|
|
/* 02C4E55C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4E560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4E564 */ _t6 = cpu->r[31] + 0x00000010u;
|
|
/* 02C4E564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4E568 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E568 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4E568 */ if (_t8) goto L_02C4E580; else goto L_02C4E56C;
|
|
L_02C4E56C: ; // 0x2c4e56c
|
|
/* 02C4E56C */ _t9 = cpu->r[12] + 0x00000008u;
|
|
/* 02C4E56C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C4E570 */ _t10 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C4E570 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4E574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4E578 */ _t11 = cpu->r[31] + 0x00000010u;
|
|
/* 02C4E578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4E57C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E57C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C4E57C */ if (_t13) goto L_02C4E580; else goto L_02C4E56C;
|
|
L_02C4E580: ; // 0x2c4e580
|
|
/* 02C4E580 */ _t14 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C4E580 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02C4E584 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4E588 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E588 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4E58C */ cpu->lr = cpu->r[0];
|
|
/* 02C4E590 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E594 */ return;
|
|
}
|
|
|
|
// fn_02C4E598 @ 0x2c4e598
|
|
void Gambit_fn_02C4E598(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C4E598: ; // 0x2c4e598
|
|
/* 02C4E598 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E59C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E59C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E59C */ cpu->r[1] = _t0;
|
|
/* 02C4E5A0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E5A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4E5A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E5A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4E5A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E5AC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4E5B0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E5B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4E5B4 */ Gambit_fn_02C4E8DC(cpu);
|
|
/* 02C4E5B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4E5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E5BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E5BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4E5BC */ if (_t5) goto L_02C4E5C8; else goto L_02C4E5C0;
|
|
L_02C4E5C0: ; // 0x2c4e5c0
|
|
/* 02C4E5C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E5C4 */ Gambit_fn_02C4E4F0(cpu);
|
|
L_02C4E5C8: ; // 0x2c4e5c8
|
|
/* 02C4E5C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C4E5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E5CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E5CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4E5CC */ if (_t7) goto L_02C4E5D8; else goto L_02C4E5D0;
|
|
L_02C4E5D0: ; // 0x2c4e5d0
|
|
/* 02C4E5D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E5D4 */ Gambit_fn_02C4E538(cpu);
|
|
L_02C4E5D8: ; // 0x2c4e5d8
|
|
/* 02C4E5D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E5DC */ Gambit_fn_02C4E8E0(cpu);
|
|
/* 02C4E5E0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E5E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4E5E4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E5E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4E5E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E5EC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E5EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4E5F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E5F4 */ return;
|
|
}
|
|
|
|
// fn_02C4E59C @ 0x2c4e59c
|
|
void Gambit_fn_02C4E59C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C4E59C: ; // 0x2c4e59c
|
|
/* 02C4E59C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E59C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E59C */ cpu->r[1] = _t0;
|
|
/* 02C4E5A0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E5A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4E5A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E5A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4E5A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E5AC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4E5B0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E5B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4E5B4 */ Gambit_fn_02C4E8DC(cpu);
|
|
/* 02C4E5B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4E5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E5BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E5BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4E5BC */ if (_t5) goto L_02C4E5C8; else goto L_02C4E5C0;
|
|
L_02C4E5C0: ; // 0x2c4e5c0
|
|
/* 02C4E5C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E5C4 */ Gambit_fn_02C4E4F0(cpu);
|
|
L_02C4E5C8: ; // 0x2c4e5c8
|
|
/* 02C4E5C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C4E5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E5CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E5CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4E5CC */ if (_t7) goto L_02C4E5D8; else goto L_02C4E5D0;
|
|
L_02C4E5D0: ; // 0x2c4e5d0
|
|
/* 02C4E5D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E5D4 */ Gambit_fn_02C4E538(cpu);
|
|
L_02C4E5D8: ; // 0x2c4e5d8
|
|
/* 02C4E5D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E5DC */ Gambit_fn_02C4E8E0(cpu);
|
|
/* 02C4E5E0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E5E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4E5E4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E5E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4E5E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E5EC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E5EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4E5F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E5F4 */ return;
|
|
}
|
|
|
|
// fn_02C4E5F8 @ 0x2c4e5f8
|
|
void Gambit_fn_02C4E5F8(CPUState* 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_02C4E5F8: ; // 0x2c4e5f8
|
|
/* 02C4E5F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E5FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E5FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E5FC */ cpu->r[1] = _t0;
|
|
/* 02C4E600 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E600 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E604 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E604 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E608 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4E608 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4E60C */ cpu->r[11] = cpu->r[3] + 0x00000004u;
|
|
/* 02C4E610 */ cpu->r[0] = cpu->r[7] ^ cpu->r[11];
|
|
/* 02C4E614 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02C4E618 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C4E61C */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02C4E620 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4E620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E624 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E624 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4E624 */ if (_t5) goto L_02C4E690; else goto L_02C4E628;
|
|
L_02C4E628: ; // 0x2c4e628
|
|
/* 02C4E628 */ cpu->r[31] = cpu->r[7];
|
|
/* 02C4E62C */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C4E62C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4E630 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[4]);
|
|
/* 02C4E634 */ _t7 = cpu->r[7] + 0x00000000u;
|
|
/* 02C4E634 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4E638 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4E638 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4E638 */ if (_t9) goto L_02C4E678; else goto L_02C4E63C;
|
|
L_02C4E63C: ; // 0x2c4e63c
|
|
/* 02C4E63C */ _t10 = cpu->r[31] + 0x00000010u;
|
|
/* 02C4E63C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4E640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02C4E644 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4E644 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4E644 */ if (_t12) goto L_02C4E648; else goto L_02C4E678;
|
|
L_02C4E648: ; // 0x2c4e648
|
|
/* 02C4E648 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 02C4E64C */ Gambit_fn_02C4E5F8(cpu);
|
|
/* 02C4E650 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C4E650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4E654 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E654 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4E654 */ if (_t14) goto L_02C4E660; else goto L_02C4E658;
|
|
L_02C4E658: ; // 0x2c4e658
|
|
/* 02C4E658 */ cpu->r[31] = cpu->r[12];
|
|
/* 02C4E65C */ goto L_02C4E694;
|
|
L_02C4E660: ; // 0x2c4e660
|
|
/* 02C4E660 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4E664 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E668 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4E66C */ cpu->lr = cpu->r[0];
|
|
/* 02C4E670 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E674 */ return;
|
|
L_02C4E678: ; // 0x2c4e678
|
|
/* 02C4E678 */ cpu->r[12] = cpu->r[7] ^ cpu->r[11];
|
|
/* 02C4E67C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C4E680 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C4E684 */ cpu->r[8] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02C4E688 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4E688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4E68C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E68C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4E68C */ if (_t18) goto L_02C4E690; else goto L_02C4E628;
|
|
L_02C4E690: ; // 0x2c4e690
|
|
/* 02C4E690 */ cpu->r[31] = 0x00000000u;
|
|
L_02C4E694: ; // 0x2c4e694
|
|
/* 02C4E694 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4E698 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E69C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E69C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C4E6A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E6A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E6A8 */ return;
|
|
}
|
|
|
|
// fn_02C4E5FC @ 0x2c4e5fc
|
|
void Gambit_fn_02C4E5FC(CPUState* 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_02C4E5FC: ; // 0x2c4e5fc
|
|
/* 02C4E5FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E5FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E5FC */ cpu->r[1] = _t0;
|
|
/* 02C4E600 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E600 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E604 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E604 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E608 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4E608 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4E60C */ cpu->r[11] = cpu->r[3] + 0x00000004u;
|
|
/* 02C4E610 */ cpu->r[0] = cpu->r[7] ^ cpu->r[11];
|
|
/* 02C4E614 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02C4E618 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C4E61C */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02C4E620 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4E620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E624 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E624 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4E624 */ if (_t5) goto L_02C4E690; else goto L_02C4E628;
|
|
L_02C4E628: ; // 0x2c4e628
|
|
/* 02C4E628 */ cpu->r[31] = cpu->r[7];
|
|
/* 02C4E62C */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C4E62C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4E630 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[4]);
|
|
/* 02C4E634 */ _t7 = cpu->r[7] + 0x00000000u;
|
|
/* 02C4E634 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4E638 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4E638 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4E638 */ if (_t9) goto L_02C4E678; else goto L_02C4E63C;
|
|
L_02C4E63C: ; // 0x2c4e63c
|
|
/* 02C4E63C */ _t10 = cpu->r[31] + 0x00000010u;
|
|
/* 02C4E63C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4E640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02C4E644 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4E644 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4E644 */ if (_t12) goto L_02C4E648; else goto L_02C4E678;
|
|
L_02C4E648: ; // 0x2c4e648
|
|
/* 02C4E648 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 02C4E64C */ Gambit_fn_02C4E5F8(cpu);
|
|
/* 02C4E650 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C4E650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4E654 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E654 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4E654 */ if (_t14) goto L_02C4E660; else goto L_02C4E658;
|
|
L_02C4E658: ; // 0x2c4e658
|
|
/* 02C4E658 */ cpu->r[31] = cpu->r[12];
|
|
/* 02C4E65C */ goto L_02C4E694;
|
|
L_02C4E660: ; // 0x2c4e660
|
|
/* 02C4E660 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4E664 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E668 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4E66C */ cpu->lr = cpu->r[0];
|
|
/* 02C4E670 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E674 */ return;
|
|
L_02C4E678: ; // 0x2c4e678
|
|
/* 02C4E678 */ cpu->r[12] = cpu->r[7] ^ cpu->r[11];
|
|
/* 02C4E67C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C4E680 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C4E684 */ cpu->r[8] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02C4E688 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4E688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4E68C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E68C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4E68C */ if (_t18) goto L_02C4E690; else goto L_02C4E628;
|
|
L_02C4E690: ; // 0x2c4e690
|
|
/* 02C4E690 */ cpu->r[31] = 0x00000000u;
|
|
L_02C4E694: ; // 0x2c4e694
|
|
/* 02C4E694 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4E698 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E69C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E69C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C4E6A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E6A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E6A8 */ return;
|
|
}
|
|
|
|
// fn_02C4E6AC @ 0x2c4e6ac
|
|
void Gambit_fn_02C4E6AC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4E6AC: ; // 0x2c4e6ac
|
|
/* 02C4E6AC */ cpu->r[0] = 0x101D0000u;
|
|
/* 02C4E6B0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4E6B4 */ cpu->r[0] = cpu->r[0] + 0xFFFFBB30u;
|
|
/* 02C4E6B8 */ _t0 = cpu->r[12] + cpu->r[0];
|
|
/* 02C4E6B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4E6BC */ return;
|
|
}
|
|
|
|
// fn_02C4E6C0 @ 0x2c4e6c0
|
|
void Gambit_fn_02C4E6C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4E6C0: ; // 0x2c4e6c0
|
|
/* 02C4E6C0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E6C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E6C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E6C4 */ cpu->r[1] = _t0;
|
|
/* 02C4E6C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E6C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E6CC */ cpu->r[31] = 0x10230000u;
|
|
/* 02C4E6D0 */ cpu->r[31] = cpu->r[31] + 0xFFFFAB00u;
|
|
/* 02C4E6D4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C4E6D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E6DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E6DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E6E0 */ Gambit_fn_02C4E5F8(cpu);
|
|
/* 02C4E6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E6E8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E6E8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4E6E8 */ if (_t4) goto L_02C4E6F0; else goto L_02C4E6EC;
|
|
L_02C4E6EC: ; // 0x2c4e6ec
|
|
/* 02C4E6EC */ cpu->r[31] = cpu->r[3] + 0x00000018u;
|
|
L_02C4E6F0: ; // 0x2c4e6f0
|
|
/* 02C4E6F0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4E6F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E6F8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E6F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4E6FC */ cpu->lr = cpu->r[0];
|
|
/* 02C4E700 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E704 */ return;
|
|
}
|
|
|
|
// fn_02C4E6C4 @ 0x2c4e6c4
|
|
void Gambit_fn_02C4E6C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4E6C4: ; // 0x2c4e6c4
|
|
/* 02C4E6C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E6C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E6C4 */ cpu->r[1] = _t0;
|
|
/* 02C4E6C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E6C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E6CC */ cpu->r[31] = 0x10230000u;
|
|
/* 02C4E6D0 */ cpu->r[31] = cpu->r[31] + 0xFFFFAB00u;
|
|
/* 02C4E6D4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C4E6D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E6DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E6DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E6E0 */ Gambit_fn_02C4E5F8(cpu);
|
|
/* 02C4E6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4E6E8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E6E8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4E6E8 */ if (_t4) goto L_02C4E6F0; else goto L_02C4E6EC;
|
|
L_02C4E6EC: ; // 0x2c4e6ec
|
|
/* 02C4E6EC */ cpu->r[31] = cpu->r[3] + 0x00000018u;
|
|
L_02C4E6F0: ; // 0x2c4e6f0
|
|
/* 02C4E6F0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4E6F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E6F8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E6F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4E6FC */ cpu->lr = cpu->r[0];
|
|
/* 02C4E700 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E704 */ return;
|
|
}
|
|
|
|
// fn_02C4E708 @ 0x2c4e708
|
|
void Gambit_fn_02C4E708(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C4E708: ; // 0x2c4e708
|
|
/* 02C4E708 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02C4E708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4E70C */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4E70C */ _t2 = cpu->r[0] & 0xFFFFFF00u;
|
|
/* 02C4E70C */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C4E710 */ _t3 = cpu->r[3] + 0x00000024u;
|
|
/* 02C4E710 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4E714 */ return;
|
|
}
|
|
|
|
// fn_02C4E718 @ 0x2c4e718
|
|
void Gambit_fn_02C4E718(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4E718: ; // 0x2c4e718
|
|
/* 02C4E718 */ _t0 = cpu->r[3] + 0x00000027u;
|
|
/* 02C4E718 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C4E71C */ cpu->r[3] = cpu->r[0];
|
|
/* 02C4E720 */ return;
|
|
}
|
|
|
|
// fn_02C4E724 @ 0x2c4e724
|
|
void Gambit_fn_02C4E724(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C4E724: ; // 0x2c4e724
|
|
/* 02C4E724 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E728 */ cpu->r[10] = cpu->r[4];
|
|
/* 02C4E72C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4E72C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4E730 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C4E734 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4E734 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4E734 */ cpu->r[1] = _t1;
|
|
/* 02C4E738 */ Gambit_fn_02C4E718(cpu);
|
|
/* 02C4E73C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C4E73C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E740 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E740 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4E740 */ if (_t3) goto L_02C4E75C; else goto L_02C4E744;
|
|
L_02C4E744: ; // 0x2c4e744
|
|
/* 02C4E744 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C4E748 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4E74C */ Gambit_fn_02C4E6AC(cpu);
|
|
/* 02C4E750 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C4E754 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C4E758 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
L_02C4E75C: ; // 0x2c4e75c
|
|
/* 02C4E75C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E75C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4E760 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E764 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E768 */ return;
|
|
}
|
|
|
|
// fn_02C4E734 @ 0x2c4e734
|
|
void Gambit_fn_02C4E734(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C4E734: ; // 0x2c4e734
|
|
/* 02C4E734 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4E734 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E734 */ cpu->r[1] = _t0;
|
|
/* 02C4E738 */ Gambit_fn_02C4E718(cpu);
|
|
/* 02C4E73C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C4E73C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E740 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E740 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4E740 */ if (_t2) goto L_02C4E75C; else goto L_02C4E744;
|
|
L_02C4E744: ; // 0x2c4e744
|
|
/* 02C4E744 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C4E748 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4E74C */ Gambit_fn_02C4E6AC(cpu);
|
|
/* 02C4E750 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C4E754 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C4E758 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
L_02C4E75C: ; // 0x2c4e75c
|
|
/* 02C4E75C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E75C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4E760 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E764 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E768 */ return;
|
|
}
|
|
|
|
// fn_02C4E76C @ 0x2c4e76c
|
|
void Gambit_fn_02C4E76C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C4E76C: ; // 0x2c4e76c
|
|
/* 02C4E76C */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E770 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E770 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E770 */ cpu->r[1] = _t0;
|
|
/* 02C4E774 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E774 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E778 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E778 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E77C */ _t3 = cpu->r[3] + 0x00000014u;
|
|
/* 02C4E77C */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02C4E780 */ cpu->r[4] = cpu->r[7];
|
|
/* 02C4E784 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4E784 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C4E788 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4E78C */ _t5 = cpu->r[3] + 0x00000010u;
|
|
/* 02C4E78C */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 02C4E790 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E794 */ _t6 = cpu->r[3] + 0x00000024u;
|
|
/* 02C4E794 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C4E798 */ Gambit_fn_02C4E708(cpu);
|
|
/* 02C4E79C */ cpu->r[4] = cpu->r[5];
|
|
/* 02C4E7A0 */ cpu->r[5] = cpu->r[6] - cpu->r[5];
|
|
/* 02C4E7A4 */ Gambit_fn_02C4E724(cpu);
|
|
/* 02C4E7A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E7AC */ Gambit_fn_02C4E6C0(cpu);
|
|
/* 02C4E7B0 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 02C4E7B4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C4E7B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E7BC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E7BC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C4E7C0 */ Gambit_fn_028541A8(cpu);
|
|
/* 02C4E7C4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E7C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4E7C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E7CC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E7CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4E7D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E7D4 */ return;
|
|
}
|
|
|
|
// fn_02C4E770 @ 0x2c4e770
|
|
void Gambit_fn_02C4E770(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C4E770: ; // 0x2c4e770
|
|
/* 02C4E770 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E770 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E770 */ cpu->r[1] = _t0;
|
|
/* 02C4E774 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E774 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E778 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E778 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E77C */ _t3 = cpu->r[3] + 0x00000014u;
|
|
/* 02C4E77C */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02C4E780 */ cpu->r[4] = cpu->r[7];
|
|
/* 02C4E784 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4E784 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C4E788 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4E78C */ _t5 = cpu->r[3] + 0x00000010u;
|
|
/* 02C4E78C */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 02C4E790 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E794 */ _t6 = cpu->r[3] + 0x00000024u;
|
|
/* 02C4E794 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C4E798 */ Gambit_fn_02C4E708(cpu);
|
|
/* 02C4E79C */ cpu->r[4] = cpu->r[5];
|
|
/* 02C4E7A0 */ cpu->r[5] = cpu->r[6] - cpu->r[5];
|
|
/* 02C4E7A4 */ Gambit_fn_02C4E724(cpu);
|
|
/* 02C4E7A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4E7AC */ Gambit_fn_02C4E6C0(cpu);
|
|
/* 02C4E7B0 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 02C4E7B4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C4E7B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E7BC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E7BC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C4E7C0 */ Gambit_fn_028541A8(cpu);
|
|
/* 02C4E7C4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E7C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4E7C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E7CC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E7CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4E7D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E7D4 */ return;
|
|
}
|
|
|
|
// fn_02C4E7D8 @ 0x2c4e7d8
|
|
void Gambit_fn_02C4E7D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C4E7D8: ; // 0x2c4e7d8
|
|
/* 02C4E7D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E7DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E7DC */ cpu->r[1] = _t0;
|
|
/* 02C4E7E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E7E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E7E8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E7E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E7EC */ Gambit_fn_02C4E6C0(cpu);
|
|
/* 02C4E7F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4E7F4 */ Gambit_fn_028541D4(cpu);
|
|
/* 02C4E7F8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4E7FC */ _t3 = cpu->r[31] + 0x00000014u;
|
|
/* 02C4E7FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4E800 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4E804 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E808 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4E80C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E810 */ return;
|
|
}
|
|
|
|
// fn_02C4E7DC @ 0x2c4e7dc
|
|
void Gambit_fn_02C4E7DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C4E7DC: ; // 0x2c4e7dc
|
|
/* 02C4E7DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E7DC */ cpu->r[1] = _t0;
|
|
/* 02C4E7E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4E7E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E7E8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E7E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4E7EC */ Gambit_fn_02C4E6C0(cpu);
|
|
/* 02C4E7F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4E7F4 */ Gambit_fn_028541D4(cpu);
|
|
/* 02C4E7F8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4E7FC */ _t3 = cpu->r[31] + 0x00000014u;
|
|
/* 02C4E7FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4E800 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4E804 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E808 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4E80C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E810 */ return;
|
|
}
|
|
|
|
// fn_02C4E814 @ 0x2c4e814
|
|
void Gambit_fn_02C4E814(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C4E814: ; // 0x2c4e814
|
|
/* 02C4E814 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E818 */ cpu->r[10] = cpu->r[4];
|
|
/* 02C4E81C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4E81C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4E820 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C4E824 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4E824 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4E824 */ cpu->r[1] = _t1;
|
|
/* 02C4E828 */ Gambit_fn_02C4E718(cpu);
|
|
/* 02C4E82C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C4E82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E830 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E830 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4E830 */ if (_t3) goto L_02C4E84C; else goto L_02C4E834;
|
|
L_02C4E834: ; // 0x2c4e834
|
|
/* 02C4E834 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C4E838 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4E83C */ Gambit_fn_02C4E6AC(cpu);
|
|
/* 02C4E840 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C4E844 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C4E848 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
L_02C4E84C: ; // 0x2c4e84c
|
|
/* 02C4E84C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E84C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4E850 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E854 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E858 */ return;
|
|
}
|
|
|
|
// fn_02C4E824 @ 0x2c4e824
|
|
void Gambit_fn_02C4E824(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C4E824: ; // 0x2c4e824
|
|
/* 02C4E824 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4E824 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E824 */ cpu->r[1] = _t0;
|
|
/* 02C4E828 */ Gambit_fn_02C4E718(cpu);
|
|
/* 02C4E82C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C4E82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E830 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E830 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4E830 */ if (_t2) goto L_02C4E84C; else goto L_02C4E834;
|
|
L_02C4E834: ; // 0x2c4e834
|
|
/* 02C4E834 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C4E838 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C4E83C */ Gambit_fn_02C4E6AC(cpu);
|
|
/* 02C4E840 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C4E844 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C4E848 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
L_02C4E84C: ; // 0x2c4e84c
|
|
/* 02C4E84C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E84C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4E850 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E854 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E858 */ return;
|
|
}
|
|
|
|
// fn_02C4E85C @ 0x2c4e85c
|
|
void Gambit_fn_02C4E85C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4E85C: ; // 0x2c4e85c
|
|
/* 02C4E85C */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E860 */ cpu->r[11] = cpu->r[4];
|
|
/* 02C4E864 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4E864 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4E868 */ cpu->r[9] = cpu->r[3];
|
|
/* 02C4E86C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4E86C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4E86C */ cpu->r[1] = _t1;
|
|
/* 02C4E870 */ Gambit_fn_02C4E718(cpu);
|
|
/* 02C4E874 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4E874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4E878 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E878 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4E878 */ if (_t3) goto L_02C4E88C; else goto L_02C4E87C;
|
|
L_02C4E87C: ; // 0x2c4e87c
|
|
/* 02C4E87C */ cpu->r[3] = cpu->r[11];
|
|
/* 02C4E880 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4E884 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C4E888 */ goto L_02C4E8AC;
|
|
L_02C4E88C: ; // 0x2c4e88c
|
|
/* 02C4E88C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C4E88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E890 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E890 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4E890 */ if (_t5) goto L_02C4E8AC; else goto L_02C4E894;
|
|
L_02C4E894: ; // 0x2c4e894
|
|
/* 02C4E894 */ cpu->r[3] = cpu->r[9];
|
|
/* 02C4E898 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C4E89C */ Gambit_fn_02C4E6AC(cpu);
|
|
/* 02C4E8A0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C4E8A4 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C4E8A8 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
L_02C4E8AC: ; // 0x2c4e8ac
|
|
/* 02C4E8AC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E8AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4E8B0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E8B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E8B8 */ return;
|
|
}
|
|
|
|
// fn_02C4E86C @ 0x2c4e86c
|
|
void Gambit_fn_02C4E86C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C4E86C: ; // 0x2c4e86c
|
|
/* 02C4E86C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4E86C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E86C */ cpu->r[1] = _t0;
|
|
/* 02C4E870 */ Gambit_fn_02C4E718(cpu);
|
|
/* 02C4E874 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4E874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4E878 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E878 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4E878 */ if (_t2) goto L_02C4E88C; else goto L_02C4E87C;
|
|
L_02C4E87C: ; // 0x2c4e87c
|
|
/* 02C4E87C */ cpu->r[3] = cpu->r[11];
|
|
/* 02C4E880 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4E884 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C4E888 */ goto L_02C4E8AC;
|
|
L_02C4E88C: ; // 0x2c4e88c
|
|
/* 02C4E88C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C4E88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E890 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E890 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4E890 */ if (_t4) goto L_02C4E8AC; else goto L_02C4E894;
|
|
L_02C4E894: ; // 0x2c4e894
|
|
/* 02C4E894 */ cpu->r[3] = cpu->r[9];
|
|
/* 02C4E898 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C4E89C */ Gambit_fn_02C4E6AC(cpu);
|
|
/* 02C4E8A0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C4E8A4 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C4E8A8 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
L_02C4E8AC: ; // 0x2c4e8ac
|
|
/* 02C4E8AC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E8AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4E8B0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E8B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E8B8 */ return;
|
|
}
|
|
|
|
// fn_02C4E8BC @ 0x2c4e8bc
|
|
void Gambit_fn_02C4E8BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C4E8BC: ; // 0x2c4e8bc
|
|
/* 02C4E8BC */ cpu->r[11] = 0x10230000u;
|
|
/* 02C4E8C0 */ cpu->r[11] = cpu->r[11] + 0xFFFFAB00u;
|
|
/* 02C4E8C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4E8C8 */ cpu->r[12] = cpu->r[11] + 0x00000004u;
|
|
/* 02C4E8CC */ _t0 = cpu->r[11] + 0x00000000u;
|
|
/* 02C4E8CC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4E8D0 */ _t1 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4E8D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02C4E8D4 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4E8D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02C4E8D8 */ return;
|
|
}
|
|
|
|
// fn_02C4E8DC @ 0x2c4e8dc
|
|
void Gambit_fn_02C4E8DC(CPUState* cpu) {
|
|
L_02C4E8DC: ; // 0x2c4e8dc
|
|
/* 02C4E8DC */ return;
|
|
}
|
|
|
|
// fn_02C4E8E0 @ 0x2c4e8e0
|
|
void Gambit_fn_02C4E8E0(CPUState* cpu) {
|
|
L_02C4E8E0: ; // 0x2c4e8e0
|
|
/* 02C4E8E0 */ return;
|
|
}
|
|
|
|
// fn_02C4E8E4 @ 0x2c4e8e4
|
|
void Gambit_fn_02C4E8E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C4E8E4: ; // 0x2c4e8e4
|
|
/* 02C4E8E4 */ cpu->r[11] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C4E8E8 */ cpu->r[9] = cpu->r[11];
|
|
L_02C4E8EC: ; // 0x2c4e8ec
|
|
/* 02C4E8EC */ _t0 = cpu->r[9] + 0x00000001u;
|
|
/* 02C4E8EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C4E8EC */ cpu->r[9] = _t0;
|
|
/* 02C4E8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4E8F4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E8F4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4E8F4 */ if (_t2) goto L_02C4E8F8; else goto L_02C4E8EC;
|
|
L_02C4E8F8: ; // 0x2c4e8f8
|
|
/* 02C4E8F8 */ cpu->r[8] = cpu->r[9] - cpu->r[3];
|
|
/* 02C4E8FC */ cpu->r[7] = cpu->r[8] + cpu->r[6];
|
|
/* 02C4E900 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 02C4E904 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4E904 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4E904 */ if (_t4) goto L_02C4E910; else goto L_02C4E908;
|
|
L_02C4E908: ; // 0x2c4e908
|
|
/* 02C4E908 */ cpu->r[8] = cpu->r[4] - cpu->r[8];
|
|
/* 02C4E90C */ cpu->r[6] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02C4E910: ; // 0x2c4e910
|
|
/* 02C4E910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4E914 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C4E918 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E918 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4E918 */ if (_t6) goto L_02C4E94C; else goto L_02C4E91C;
|
|
L_02C4E91C: ; // 0x2c4e91c
|
|
/* 02C4E91C */ _t7 = cpu->r[11] + 0x00000001u;
|
|
/* 02C4E91C */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C4E91C */ cpu->r[11] = _t7;
|
|
/* 02C4E920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C4E924 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E924 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4E924 */ if (_t9) goto L_02C4E928; else goto L_02C4E91C;
|
|
L_02C4E928: ; // 0x2c4e928
|
|
/* 02C4E928 */ cpu->ctr = cpu->r[6];
|
|
/* 02C4E92C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C4E930 */ cpu->r[10] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02C4E934: ; // 0x2c4e934
|
|
/* 02C4E934 */ _t10 = cpu->r[10] + 0x00000001u;
|
|
/* 02C4E934 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C4E934 */ cpu->r[10] = _t10;
|
|
/* 02C4E938 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C4E938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C4E93C */ _t11 = cpu->r[11] + 0x00000001u;
|
|
/* 02C4E93C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 02C4E93C */ cpu->r[11] = _t11;
|
|
/* 02C4E940 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4E940 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C4E940 */ if (_t13) goto L_02C4E94C; else goto L_02C4E944;
|
|
L_02C4E944: ; // 0x2c4e944
|
|
/* 02C4E944 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4E944 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4E944 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 02C4E944 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4E944 */ if (_t16) goto L_02C4E934; else goto L_02C4E948;
|
|
L_02C4E948: ; // 0x2c4e948
|
|
/* 02C4E948 */ _t17 = cpu->r[11] + 0x00000001u;
|
|
/* 02C4E948 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[12]);
|
|
L_02C4E94C: ; // 0x2c4e94c
|
|
/* 02C4E94C */ cpu->r[7] = cpu->r[3] + cpu->r[4];
|
|
/* 02C4E950 */ cpu->r[3] = cpu->r[6];
|
|
/* 02C4E954 */ _t18 = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C4E954 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 02C4E958 */ return;
|
|
}
|
|
|
|
// fn_02C4E960 @ 0x2c4e960
|
|
void Gambit_fn_02C4E960(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C4E960: ; // 0x2c4e960
|
|
/* 02C4E960 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E960 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E960 */ cpu->r[1] = _t0;
|
|
/* 02C4E964 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E964 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4E968 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4E96C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E96C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4E970 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4E974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[30]);
|
|
/* 02C4E978 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E97C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E97C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4E980 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E980 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4E980 */ if (_t5) goto L_02C4E984; else goto L_02C4E988;
|
|
L_02C4E984: ; // 0x2c4e984
|
|
/* 02C4E984 */ cpu->r[4] = cpu->r[30];
|
|
L_02C4E988: ; // 0x2c4e988
|
|
/* 02C4E988 */ Gambit_fn_02C85200(cpu);
|
|
/* 02C4E98C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4E990 */ cpu->r[12] = cpu->r[31] + cpu->r[30];
|
|
/* 02C4E994 */ _t6 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C4E994 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 02C4E998 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4E99C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E99C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4E9A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E9A4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E9A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4E9A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E9AC */ return;
|
|
}
|
|
|
|
// fn_02C4E9B0 @ 0x2c4e9b0
|
|
void Gambit_fn_02C4E9B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C4E95C: ; // 0x2c4e95c
|
|
/* 02C4E95C */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E960 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4E960 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E960 */ cpu->r[1] = _t0;
|
|
/* 02C4E964 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E964 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4E968 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4E96C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E96C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4E970 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4E974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[30]);
|
|
/* 02C4E978 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4E97C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E97C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4E980 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4E980 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4E980 */ if (_t5) goto L_02C4E984; else goto L_02C4E988;
|
|
L_02C4E984: ; // 0x2c4e984
|
|
/* 02C4E984 */ cpu->r[4] = cpu->r[30];
|
|
L_02C4E988: ; // 0x2c4e988
|
|
/* 02C4E988 */ Gambit_fn_02C85200(cpu);
|
|
/* 02C4E98C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4E990 */ cpu->r[12] = cpu->r[31] + cpu->r[30];
|
|
/* 02C4E994 */ _t6 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C4E994 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 02C4E998 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4E998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4E99C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4E99C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4E9A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4E9A4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4E9A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4E9A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4E9AC */ return;
|
|
L_02C4E9B0: ; // 0x2c4e9b0
|
|
/* 02C4E9B0 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C4E9B4 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C4E9B8 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4E9B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4E9BC */ cpu->r[5] = cpu->r[4];
|
|
/* 02C4E9C0 */ _t11 = cpu->r[12] + 0x00000008u;
|
|
/* 02C4E9C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4E9C4 */ goto L_02C4E95C;
|
|
}
|
|
|
|
// fn_02C4E9C8 @ 0x2c4e9c8
|
|
void Gambit_fn_02C4E9C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02C4E9C8: ; // 0x2c4e9c8
|
|
/* 02C4E9C8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4E9CC */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02C4E9CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E9CC */ cpu->r[1] = _t0;
|
|
/* 02C4E9D0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4E9D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02C4E9D4 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4E9D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 02C4E9D8 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4E9D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 02C4E9DC */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4E9DC */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 02C4E9E0 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C4E9E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02C4E9E4 */ _t6 = cpu->r[1] + 0x00000084u;
|
|
/* 02C4E9E4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C4E9E8 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4E9E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 02C4E9EC */ _t8 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C4E9EC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C4E9F0 */ _t9 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4E9F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02C4E9F4 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4E9F4 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02C4E9F8 */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4E9F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4E9F8 */ if (_t12) goto L_02C4E9FC; else goto L_02C4EA1C;
|
|
L_02C4E9FC: ; // 0x2c4e9fc
|
|
/* 02C4E9FC */ _t13 = cpu->r[1] + 0x00000048u;
|
|
/* 02C4E9FC */ rbrew_write_f64(cpu->mem, _t13, cpu->f[3]);
|
|
/* 02C4EA00 */ _t14 = cpu->r[1] + 0x00000068u;
|
|
/* 02C4EA00 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[7]);
|
|
/* 02C4EA04 */ _t15 = cpu->r[1] + 0x00000060u;
|
|
/* 02C4EA04 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[6]);
|
|
/* 02C4EA08 */ _t16 = cpu->r[1] + 0x00000040u;
|
|
/* 02C4EA08 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[2]);
|
|
/* 02C4EA0C */ _t17 = cpu->r[1] + 0x00000050u;
|
|
/* 02C4EA0C */ rbrew_write_f64(cpu->mem, _t17, cpu->f[4]);
|
|
/* 02C4EA10 */ _t18 = cpu->r[1] + 0x00000070u;
|
|
/* 02C4EA10 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[8]);
|
|
/* 02C4EA14 */ _t19 = cpu->r[1] + 0x00000058u;
|
|
/* 02C4EA14 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[5]);
|
|
/* 02C4EA18 */ _t20 = cpu->r[1] + 0x00000038u;
|
|
/* 02C4EA18 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[1]);
|
|
L_02C4EA1C: ; // 0x2c4ea1c
|
|
/* 02C4EA1C */ cpu->r[12] = 0x00000002u;
|
|
/* 02C4EA20 */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EA24 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EA24 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[12]);
|
|
/* 02C4EA28 */ cpu->r[0] = cpu->r[1] + 0x00000088u;
|
|
/* 02C4EA2C */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EA2C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02C4EA30 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EA30 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C4EA34 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4EA38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4EA3C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EA40 */ _t24 = cpu->r[1] + 0x00000009u;
|
|
/* 02C4EA40 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 02C4EA44 */ Gambit_fn_02C4E9B0(cpu);
|
|
/* 02C4EA48 */ _t25 = cpu->r[1] + 0x00000084u;
|
|
/* 02C4EA48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4EA4C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4EA50 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EA54 */ _t26 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C4EA54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4EA58 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02C4EA5C */ return;
|
|
}
|
|
|
|
// fn_02C4E9CC @ 0x2c4e9cc
|
|
void Gambit_fn_02C4E9CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02C4E9CC: ; // 0x2c4e9cc
|
|
/* 02C4E9CC */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02C4E9CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4E9CC */ cpu->r[1] = _t0;
|
|
/* 02C4E9D0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4E9D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02C4E9D4 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4E9D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 02C4E9D8 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4E9D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 02C4E9DC */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4E9DC */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 02C4E9E0 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C4E9E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02C4E9E4 */ _t6 = cpu->r[1] + 0x00000084u;
|
|
/* 02C4E9E4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C4E9E8 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4E9E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 02C4E9EC */ _t8 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C4E9EC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C4E9F0 */ _t9 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4E9F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02C4E9F4 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4E9F4 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02C4E9F8 */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4E9F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4E9F8 */ if (_t12) goto L_02C4E9FC; else goto L_02C4EA1C;
|
|
L_02C4E9FC: ; // 0x2c4e9fc
|
|
/* 02C4E9FC */ _t13 = cpu->r[1] + 0x00000048u;
|
|
/* 02C4E9FC */ rbrew_write_f64(cpu->mem, _t13, cpu->f[3]);
|
|
/* 02C4EA00 */ _t14 = cpu->r[1] + 0x00000068u;
|
|
/* 02C4EA00 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[7]);
|
|
/* 02C4EA04 */ _t15 = cpu->r[1] + 0x00000060u;
|
|
/* 02C4EA04 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[6]);
|
|
/* 02C4EA08 */ _t16 = cpu->r[1] + 0x00000040u;
|
|
/* 02C4EA08 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[2]);
|
|
/* 02C4EA0C */ _t17 = cpu->r[1] + 0x00000050u;
|
|
/* 02C4EA0C */ rbrew_write_f64(cpu->mem, _t17, cpu->f[4]);
|
|
/* 02C4EA10 */ _t18 = cpu->r[1] + 0x00000070u;
|
|
/* 02C4EA10 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[8]);
|
|
/* 02C4EA14 */ _t19 = cpu->r[1] + 0x00000058u;
|
|
/* 02C4EA14 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[5]);
|
|
/* 02C4EA18 */ _t20 = cpu->r[1] + 0x00000038u;
|
|
/* 02C4EA18 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[1]);
|
|
L_02C4EA1C: ; // 0x2c4ea1c
|
|
/* 02C4EA1C */ cpu->r[12] = 0x00000002u;
|
|
/* 02C4EA20 */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EA24 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EA24 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[12]);
|
|
/* 02C4EA28 */ cpu->r[0] = cpu->r[1] + 0x00000088u;
|
|
/* 02C4EA2C */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EA2C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02C4EA30 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EA30 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C4EA34 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4EA38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4EA3C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EA40 */ _t24 = cpu->r[1] + 0x00000009u;
|
|
/* 02C4EA40 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 02C4EA44 */ Gambit_fn_02C4E9B0(cpu);
|
|
/* 02C4EA48 */ _t25 = cpu->r[1] + 0x00000084u;
|
|
/* 02C4EA48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4EA4C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4EA50 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EA54 */ _t26 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C4EA54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4EA58 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02C4EA5C */ return;
|
|
}
|
|
|
|
// fn_02C4EA60 @ 0x2c4ea60
|
|
void Gambit_fn_02C4EA60(CPUState* cpu) {
|
|
L_02C4EA60: ; // 0x2c4ea60
|
|
/* 02C4EA60 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4EA64 */ return;
|
|
}
|
|
|
|
// fn_02C4EA68 @ 0x2c4ea68
|
|
void Gambit_fn_02C4EA68(CPUState* cpu) {
|
|
L_02C4EA68: ; // 0x2c4ea68
|
|
/* 02C4EA68 */ rbrew_dispatch(cpu, 0x02d0b128u); return;
|
|
}
|
|
|
|
// fn_02C4EA6C @ 0x2c4ea6c
|
|
void Gambit_fn_02C4EA6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C4EA6C: ; // 0x2c4ea6c
|
|
/* 02C4EA6C */ cpu->r[0] = cpu->lr;
|
|
/* 02C4EA70 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4EA70 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4EA74 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4EA74 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4EA74 */ cpu->r[1] = _t1;
|
|
/* 02C4EA78 */ rbrew_dispatch(cpu, 0x02d0ac88u);
|
|
/* 02C4EA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4EA80 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EA80 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4EA80 */ if (_t3) goto L_02C4EA9C; else goto L_02C4EA84;
|
|
L_02C4EA84: ; // 0x2c4ea84
|
|
/* 02C4EA84 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4EA88 */ /* nop */
|
|
/* 02C4EA8C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EA8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4EA90 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EA94 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EA98 */ return;
|
|
L_02C4EA9C: ; // 0x2c4ea9c
|
|
/* 02C4EA9C */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C4EAA0 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C4EAA4 */ cpu->r[4] = 0x00000043u;
|
|
/* 02C4EAA8 */ cpu->r[3] = cpu->r[3] + 0xFFFFED04u;
|
|
/* 02C4EAAC */ cpu->r[5] = cpu->r[5] + 0xFFFFECFCu;
|
|
/* 02C4EAB0 */ _t5 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4EAB0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4EAB0 */ if (_t6) goto L_02C4EAB4; // else: addr-0 trap, fall-through
|
|
L_02C4EAB4: ; // 0x2c4eab4
|
|
/* 02C4EAB4 */ rbrew_dispatch(cpu, 0x02d0adb8u);
|
|
/* 02C4EAB8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4EABC */ cpu->lr = cpu->r[0];
|
|
/* 02C4EAC0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EAC4 */ return;
|
|
}
|
|
|
|
// fn_02C4EA74 @ 0x2c4ea74
|
|
void Gambit_fn_02C4EA74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4EA74: ; // 0x2c4ea74
|
|
/* 02C4EA74 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4EA74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4EA74 */ cpu->r[1] = _t0;
|
|
/* 02C4EA78 */ rbrew_dispatch(cpu, 0x02d0ac88u);
|
|
/* 02C4EA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4EA80 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EA80 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4EA80 */ if (_t2) goto L_02C4EA9C; else goto L_02C4EA84;
|
|
L_02C4EA84: ; // 0x2c4ea84
|
|
/* 02C4EA84 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4EA88 */ /* nop */
|
|
/* 02C4EA8C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EA8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4EA90 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EA94 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EA98 */ return;
|
|
L_02C4EA9C: ; // 0x2c4ea9c
|
|
/* 02C4EA9C */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C4EAA0 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C4EAA4 */ cpu->r[4] = 0x00000043u;
|
|
/* 02C4EAA8 */ cpu->r[3] = cpu->r[3] + 0xFFFFED04u;
|
|
/* 02C4EAAC */ cpu->r[5] = cpu->r[5] + 0xFFFFECFCu;
|
|
/* 02C4EAB0 */ _t4 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4EAB0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4EAB0 */ if (_t5) goto L_02C4EAB4; // else: addr-0 trap, fall-through
|
|
L_02C4EAB4: ; // 0x2c4eab4
|
|
/* 02C4EAB4 */ rbrew_dispatch(cpu, 0x02d0adb8u);
|
|
/* 02C4EAB8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4EABC */ cpu->lr = cpu->r[0];
|
|
/* 02C4EAC0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EAC4 */ return;
|
|
}
|
|
|
|
// fn_02C4EAC8 @ 0x2c4eac8
|
|
void Gambit_fn_02C4EAC8(CPUState* cpu) {
|
|
uint32_t _t0, _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_02C4EAC8: ; // 0x2c4eac8
|
|
/* 02C4EAC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4EACC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4EACC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4EAD0 */ _t1 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C4EAD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4EAD0 */ cpu->r[1] = _t1;
|
|
/* 02C4EAD4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EAD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02C4EAD8 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4EAD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02C4EADC */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4EADC */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02C4EAE0 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C4EAE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02C4EAE4 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EAE4 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C4EAE8 */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4EAE8 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 02C4EAEC */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4EAEC */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C4EAF0 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4EAF0 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 02C4EAF4 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4EAF4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4EAF4 */ if (_t11) goto L_02C4EAF8; else goto L_02C4EB18;
|
|
L_02C4EAF8: ; // 0x2c4eaf8
|
|
/* 02C4EAF8 */ _t12 = cpu->r[1] + 0x00000048u;
|
|
/* 02C4EAF8 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[3]);
|
|
/* 02C4EAFC */ _t13 = cpu->r[1] + 0x00000068u;
|
|
/* 02C4EAFC */ rbrew_write_f64(cpu->mem, _t13, cpu->f[7]);
|
|
/* 02C4EB00 */ _t14 = cpu->r[1] + 0x00000060u;
|
|
/* 02C4EB00 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[6]);
|
|
/* 02C4EB04 */ _t15 = cpu->r[1] + 0x00000040u;
|
|
/* 02C4EB04 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[2]);
|
|
/* 02C4EB08 */ _t16 = cpu->r[1] + 0x00000050u;
|
|
/* 02C4EB08 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[4]);
|
|
/* 02C4EB0C */ _t17 = cpu->r[1] + 0x00000070u;
|
|
/* 02C4EB0C */ rbrew_write_f64(cpu->mem, _t17, cpu->f[8]);
|
|
/* 02C4EB10 */ _t18 = cpu->r[1] + 0x00000058u;
|
|
/* 02C4EB10 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[5]);
|
|
/* 02C4EB14 */ _t19 = cpu->r[1] + 0x00000038u;
|
|
/* 02C4EB14 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[1]);
|
|
L_02C4EB18: ; // 0x2c4eb18
|
|
/* 02C4EB18 */ cpu->r[11] = cpu->r[1] + 0x00000080u;
|
|
/* 02C4EB1C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4EB20 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EB20 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02C4EB24 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C4EB28 */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EB2C */ _t21 = cpu->r[1] + 0x00000009u;
|
|
/* 02C4EB2C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 02C4EB30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EB34 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EB34 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02C4EB38 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EB38 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]);
|
|
/* 02C4EB3C */ Gambit_fn_02C4EA68(cpu);
|
|
/* 02C4EB40 */ _t24 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C4EB40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C4EB44 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EB48 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C4EB4C */ return;
|
|
}
|
|
|
|
// fn_02C4EAD0 @ 0x2c4ead0
|
|
void Gambit_fn_02C4EAD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C4EAD0: ; // 0x2c4ead0
|
|
/* 02C4EAD0 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C4EAD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4EAD0 */ cpu->r[1] = _t0;
|
|
/* 02C4EAD4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EAD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02C4EAD8 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4EAD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[8]);
|
|
/* 02C4EADC */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4EADC */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02C4EAE0 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02C4EAE0 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C4EAE4 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EAE4 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C4EAE8 */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4EAE8 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02C4EAEC */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4EAEC */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C4EAF0 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4EAF0 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02C4EAF4 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4EAF4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4EAF4 */ if (_t10) goto L_02C4EAF8; else goto L_02C4EB18;
|
|
L_02C4EAF8: ; // 0x2c4eaf8
|
|
/* 02C4EAF8 */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 02C4EAF8 */ rbrew_write_f64(cpu->mem, _t11, cpu->f[3]);
|
|
/* 02C4EAFC */ _t12 = cpu->r[1] + 0x00000068u;
|
|
/* 02C4EAFC */ rbrew_write_f64(cpu->mem, _t12, cpu->f[7]);
|
|
/* 02C4EB00 */ _t13 = cpu->r[1] + 0x00000060u;
|
|
/* 02C4EB00 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[6]);
|
|
/* 02C4EB04 */ _t14 = cpu->r[1] + 0x00000040u;
|
|
/* 02C4EB04 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[2]);
|
|
/* 02C4EB08 */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 02C4EB08 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[4]);
|
|
/* 02C4EB0C */ _t16 = cpu->r[1] + 0x00000070u;
|
|
/* 02C4EB0C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[8]);
|
|
/* 02C4EB10 */ _t17 = cpu->r[1] + 0x00000058u;
|
|
/* 02C4EB10 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[5]);
|
|
/* 02C4EB14 */ _t18 = cpu->r[1] + 0x00000038u;
|
|
/* 02C4EB14 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[1]);
|
|
L_02C4EB18: ; // 0x2c4eb18
|
|
/* 02C4EB18 */ cpu->r[11] = cpu->r[1] + 0x00000080u;
|
|
/* 02C4EB1C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4EB20 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EB20 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 02C4EB24 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C4EB28 */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EB2C */ _t20 = cpu->r[1] + 0x00000009u;
|
|
/* 02C4EB2C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 02C4EB30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EB34 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EB34 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 02C4EB38 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EB38 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[12]);
|
|
/* 02C4EB3C */ Gambit_fn_02C4EA68(cpu);
|
|
/* 02C4EB40 */ _t23 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C4EB40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C4EB44 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EB48 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C4EB4C */ return;
|
|
}
|
|
|
|
// fn_02C4EB50 @ 0x2c4eb50
|
|
void Gambit_fn_02C4EB50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30;
|
|
|
|
L_02C4EB50: ; // 0x2c4eb50
|
|
/* 02C4EB50 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4EB54 */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02C4EB54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4EB54 */ cpu->r[1] = _t0;
|
|
/* 02C4EB58 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4EB58 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02C4EB5C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EB5C */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 02C4EB60 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4EB60 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 02C4EB64 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4EB64 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 02C4EB68 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C4EB68 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02C4EB6C */ _t6 = cpu->r[1] + 0x00000084u;
|
|
/* 02C4EB6C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C4EB70 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EB70 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 02C4EB74 */ _t8 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C4EB74 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C4EB78 */ _t9 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4EB78 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02C4EB7C */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4EB7C */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02C4EB80 */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4EB80 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4EB80 */ if (_t12) goto L_02C4EB84; else goto L_02C4EBA4;
|
|
L_02C4EB84: ; // 0x2c4eb84
|
|
/* 02C4EB84 */ _t13 = cpu->r[1] + 0x00000048u;
|
|
/* 02C4EB84 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[3]);
|
|
/* 02C4EB88 */ _t14 = cpu->r[1] + 0x00000068u;
|
|
/* 02C4EB88 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[7]);
|
|
/* 02C4EB8C */ _t15 = cpu->r[1] + 0x00000060u;
|
|
/* 02C4EB8C */ rbrew_write_f64(cpu->mem, _t15, cpu->f[6]);
|
|
/* 02C4EB90 */ _t16 = cpu->r[1] + 0x00000040u;
|
|
/* 02C4EB90 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[2]);
|
|
/* 02C4EB94 */ _t17 = cpu->r[1] + 0x00000050u;
|
|
/* 02C4EB94 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[4]);
|
|
/* 02C4EB98 */ _t18 = cpu->r[1] + 0x00000070u;
|
|
/* 02C4EB98 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[8]);
|
|
/* 02C4EB9C */ _t19 = cpu->r[1] + 0x00000058u;
|
|
/* 02C4EB9C */ rbrew_write_f64(cpu->mem, _t19, cpu->f[5]);
|
|
/* 02C4EBA0 */ _t20 = cpu->r[1] + 0x00000038u;
|
|
/* 02C4EBA0 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[1]);
|
|
L_02C4EBA4: ; // 0x2c4eba4
|
|
/* 02C4EBA4 */ cpu->r[12] = 0x00000003u;
|
|
/* 02C4EBA8 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C4EBAC */ cpu->r[5] = cpu->r[4];
|
|
/* 02C4EBB0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EBB0 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[12]);
|
|
/* 02C4EBB4 */ cpu->r[0] = cpu->r[1] + 0x00000088u;
|
|
/* 02C4EBB8 */ cpu->r[9] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EBBC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C4EBC0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EBC0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02C4EBC4 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C4EBC8 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EBC8 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 02C4EBCC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4EBD0 */ cpu->r[3] = cpu->r[3] + 0xFFFFED30u;
|
|
/* 02C4EBD4 */ _t24 = cpu->r[1] + 0x00000009u;
|
|
/* 02C4EBD4 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 02C4EBD8 */ _t25 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4EBD8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C4EBD8 */ if (_t26) goto L_02C4EBDC; // else: addr-0 trap, fall-through
|
|
L_02C4EBDC: ; // 0x2c4ebdc
|
|
/* 02C4EBDC */ Gambit_fn_02C4EAC8(cpu);
|
|
/* 02C4EBE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4EBE4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EBE8 */ Gambit_fn_02C4EA68(cpu);
|
|
/* 02C4EBEC */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C4EBF0 */ cpu->r[3] = cpu->r[3] + 0xFFFFED2Cu;
|
|
/* 02C4EBF4 */ _t27 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4EBF4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C4EBF4 */ if (_t28) goto L_02C4EBF8; // else: addr-0 trap, fall-through
|
|
L_02C4EBF8: ; // 0x2c4ebf8
|
|
/* 02C4EBF8 */ Gambit_fn_02C4EAC8(cpu);
|
|
/* 02C4EBFC */ Gambit_fn_02C4EA6C(cpu);
|
|
/* 02C4EC00 */ _t29 = cpu->r[1] + 0x00000084u;
|
|
/* 02C4EC00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C4EC04 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EC08 */ _t30 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C4EC08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C4EC0C */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02C4EC10 */ return;
|
|
}
|
|
|
|
// fn_02C4EB54 @ 0x2c4eb54
|
|
void Gambit_fn_02C4EB54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30;
|
|
|
|
L_02C4EB54: ; // 0x2c4eb54
|
|
/* 02C4EB54 */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02C4EB54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4EB54 */ cpu->r[1] = _t0;
|
|
/* 02C4EB58 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C4EB58 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02C4EB5C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EB5C */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 02C4EB60 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4EB60 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 02C4EB64 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4EB64 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 02C4EB68 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C4EB68 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02C4EB6C */ _t6 = cpu->r[1] + 0x00000084u;
|
|
/* 02C4EB6C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C4EB70 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EB70 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 02C4EB74 */ _t8 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C4EB74 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C4EB78 */ _t9 = cpu->r[1] + 0x00000030u;
|
|
/* 02C4EB78 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02C4EB7C */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02C4EB7C */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02C4EB80 */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4EB80 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4EB80 */ if (_t12) goto L_02C4EB84; else goto L_02C4EBA4;
|
|
L_02C4EB84: ; // 0x2c4eb84
|
|
/* 02C4EB84 */ _t13 = cpu->r[1] + 0x00000048u;
|
|
/* 02C4EB84 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[3]);
|
|
/* 02C4EB88 */ _t14 = cpu->r[1] + 0x00000068u;
|
|
/* 02C4EB88 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[7]);
|
|
/* 02C4EB8C */ _t15 = cpu->r[1] + 0x00000060u;
|
|
/* 02C4EB8C */ rbrew_write_f64(cpu->mem, _t15, cpu->f[6]);
|
|
/* 02C4EB90 */ _t16 = cpu->r[1] + 0x00000040u;
|
|
/* 02C4EB90 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[2]);
|
|
/* 02C4EB94 */ _t17 = cpu->r[1] + 0x00000050u;
|
|
/* 02C4EB94 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[4]);
|
|
/* 02C4EB98 */ _t18 = cpu->r[1] + 0x00000070u;
|
|
/* 02C4EB98 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[8]);
|
|
/* 02C4EB9C */ _t19 = cpu->r[1] + 0x00000058u;
|
|
/* 02C4EB9C */ rbrew_write_f64(cpu->mem, _t19, cpu->f[5]);
|
|
/* 02C4EBA0 */ _t20 = cpu->r[1] + 0x00000038u;
|
|
/* 02C4EBA0 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[1]);
|
|
L_02C4EBA4: ; // 0x2c4eba4
|
|
/* 02C4EBA4 */ cpu->r[12] = 0x00000003u;
|
|
/* 02C4EBA8 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C4EBAC */ cpu->r[5] = cpu->r[4];
|
|
/* 02C4EBB0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EBB0 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[12]);
|
|
/* 02C4EBB4 */ cpu->r[0] = cpu->r[1] + 0x00000088u;
|
|
/* 02C4EBB8 */ cpu->r[9] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EBBC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C4EBC0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EBC0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02C4EBC4 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C4EBC8 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EBC8 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 02C4EBCC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4EBD0 */ cpu->r[3] = cpu->r[3] + 0xFFFFED30u;
|
|
/* 02C4EBD4 */ _t24 = cpu->r[1] + 0x00000009u;
|
|
/* 02C4EBD4 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 02C4EBD8 */ _t25 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4EBD8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C4EBD8 */ if (_t26) goto L_02C4EBDC; // else: addr-0 trap, fall-through
|
|
L_02C4EBDC: ; // 0x2c4ebdc
|
|
/* 02C4EBDC */ Gambit_fn_02C4EAC8(cpu);
|
|
/* 02C4EBE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4EBE4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EBE8 */ Gambit_fn_02C4EA68(cpu);
|
|
/* 02C4EBEC */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C4EBF0 */ cpu->r[3] = cpu->r[3] + 0xFFFFED2Cu;
|
|
/* 02C4EBF4 */ _t27 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C4EBF4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C4EBF4 */ if (_t28) goto L_02C4EBF8; // else: addr-0 trap, fall-through
|
|
L_02C4EBF8: ; // 0x2c4ebf8
|
|
/* 02C4EBF8 */ Gambit_fn_02C4EAC8(cpu);
|
|
/* 02C4EBFC */ Gambit_fn_02C4EA6C(cpu);
|
|
/* 02C4EC00 */ _t29 = cpu->r[1] + 0x00000084u;
|
|
/* 02C4EC00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C4EC04 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EC08 */ _t30 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C4EC08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C4EC0C */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02C4EC10 */ return;
|
|
}
|
|
|
|
// fn_02C4EC14 @ 0x2c4ec14
|
|
void Gambit_fn_02C4EC14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C4EC14: ; // 0x2c4ec14
|
|
/* 02C4EC14 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4EC18 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4EC18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4EC18 */ cpu->r[1] = _t0;
|
|
/* 02C4EC1C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4EC1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4EC20 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EC20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4EC24 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C4EC28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4EC28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4EC2C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EC2C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C4EC30 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EC30 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4EC34 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C4EC38 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EC38 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4EC38 */ if (_t6) goto L_02C4EC3C; else goto L_02C4EC4C;
|
|
L_02C4EC3C: ; // 0x2c4ec3c
|
|
/* 02C4EC3C */ cpu->r[3] = 0x00000024u;
|
|
/* 02C4EC40 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4EC44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4EC44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4EC48 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EC48 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4EC48 */ if (_t8) goto L_02C4EC5C; else goto L_02C4EC4C;
|
|
L_02C4EC4C: ; // 0x2c4ec4c
|
|
/* 02C4EC4C */ cpu->r[5] = cpu->r[29] ^ 0x00000001u;
|
|
/* 02C4EC50 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4EC54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4EC58 */ rbrew_dispatch(cpu, 0x02d0abe8u);
|
|
L_02C4EC5C: ; // 0x2c4ec5c
|
|
/* 02C4EC5C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EC5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4EC60 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EC60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4EC64 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4EC68 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EC68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4EC6C */ cpu->lr = cpu->r[0];
|
|
/* 02C4EC70 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4EC70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4EC74 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EC78 */ return;
|
|
}
|
|
|
|
// fn_02C4EC18 @ 0x2c4ec18
|
|
void Gambit_fn_02C4EC18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C4EC18: ; // 0x2c4ec18
|
|
/* 02C4EC18 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4EC18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4EC18 */ cpu->r[1] = _t0;
|
|
/* 02C4EC1C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4EC1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4EC20 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EC20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4EC24 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C4EC28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4EC28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4EC2C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EC2C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C4EC30 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EC30 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4EC34 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C4EC38 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EC38 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4EC38 */ if (_t6) goto L_02C4EC3C; else goto L_02C4EC4C;
|
|
L_02C4EC3C: ; // 0x2c4ec3c
|
|
/* 02C4EC3C */ cpu->r[3] = 0x00000024u;
|
|
/* 02C4EC40 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4EC44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4EC44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4EC48 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EC48 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4EC48 */ if (_t8) goto L_02C4EC5C; else goto L_02C4EC4C;
|
|
L_02C4EC4C: ; // 0x2c4ec4c
|
|
/* 02C4EC4C */ cpu->r[5] = cpu->r[29] ^ 0x00000001u;
|
|
/* 02C4EC50 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C4EC54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4EC58 */ rbrew_dispatch(cpu, 0x02d0abe8u);
|
|
L_02C4EC5C: ; // 0x2c4ec5c
|
|
/* 02C4EC5C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EC5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4EC60 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EC60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4EC64 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4EC68 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EC68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4EC6C */ cpu->lr = cpu->r[0];
|
|
/* 02C4EC70 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4EC70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4EC74 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EC78 */ return;
|
|
}
|
|
|
|
// fn_02C4EC7C @ 0x2c4ec7c
|
|
void Gambit_fn_02C4EC7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C4EC7C: ; // 0x2c4ec7c
|
|
/* 02C4EC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4EC80 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EC80 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C4EC80 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4EC80 */ goto L_02C4EC84;
|
|
L_02C4EC84: ; // 0x2c4ec84
|
|
/* 02C4EC84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4EC84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4EC88 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EC88 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C4EC88 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4EC88 */ goto L_02C4EC8C;
|
|
L_02C4EC8C: ; // 0x2c4ec8c
|
|
/* 02C4EC8C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C4EC90 @ 0x2c4ec90
|
|
void Gambit_fn_02C4EC90(CPUState* cpu) {
|
|
L_02C4EC90: ; // 0x2c4ec90
|
|
/* 02C4EC90 */ rbrew_dispatch(cpu, 0x02d0b000u); return;
|
|
}
|
|
|
|
// fn_02C4EC94 @ 0x2c4ec94
|
|
void Gambit_fn_02C4EC94(CPUState* cpu) {
|
|
L_02C4EC94: ; // 0x2c4ec94
|
|
/* 02C4EC94 */ rbrew_dispatch(cpu, 0x02d0ae38u); return;
|
|
}
|
|
|
|
// fn_02C4EC98 @ 0x2c4ec98
|
|
void Gambit_fn_02C4EC98(CPUState* cpu) {
|
|
L_02C4EC98: ; // 0x2c4ec98
|
|
/* 02C4EC98 */ rbrew_dispatch(cpu, 0x02d0b140u); return;
|
|
}
|
|
|
|
// fn_02C4EC9C @ 0x2c4ec9c
|
|
void Gambit_fn_02C4EC9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C4EC9C: ; // 0x2c4ec9c
|
|
/* 02C4EC9C */ cpu->r[0] = cpu->lr;
|
|
/* 02C4ECA0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4ECA4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4ECA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4ECA8 */ cpu->r[5] = cpu->r[6];
|
|
/* 02C4ECAC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4ECAC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4ECAC */ cpu->r[1] = _t1;
|
|
/* 02C4ECB0 */ rbrew_dispatch(cpu, 0x02d0b148u);
|
|
/* 02C4ECB4 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C4ECB8 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02C4ECBC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4ECBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4ECC0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4ECC4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4ECC8 */ return;
|
|
}
|
|
|
|
// fn_02C4ECAC @ 0x2c4ecac
|
|
void Gambit_fn_02C4ECAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C4ECAC: ; // 0x2c4ecac
|
|
/* 02C4ECAC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4ECAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4ECAC */ cpu->r[1] = _t0;
|
|
/* 02C4ECB0 */ rbrew_dispatch(cpu, 0x02d0b148u);
|
|
/* 02C4ECB4 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C4ECB8 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02C4ECBC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4ECBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C4ECC0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4ECC4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4ECC8 */ return;
|
|
}
|
|
|
|
// fn_02C4ECCC @ 0x2c4eccc
|
|
void Gambit_fn_02C4ECCC(CPUState* cpu) {
|
|
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_02C4ECCC: ; // 0x2c4eccc
|
|
/* 02C4ECCC */ cpu->r[0] = cpu->lr;
|
|
/* 02C4ECD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4ECD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4ECD0 */ cpu->r[1] = _t0;
|
|
/* 02C4ECD4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4ECD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4ECD8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4ECD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4ECDC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4ECDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4ECE0 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4ECE4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4ECE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4ECE8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ECE8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4ECE8 */ if (_t5) goto L_02C4ECEC; else goto L_02C4ECFC;
|
|
L_02C4ECEC: ; // 0x2c4ecec
|
|
/* 02C4ECEC */ cpu->r[3] = 0x000006D4u;
|
|
/* 02C4ECF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4ECF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4ECF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4ECF8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ECF8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4ECF8 */ if (_t7) goto L_02C4ED44; else goto L_02C4ECFC;
|
|
L_02C4ECFC: ; // 0x2c4ecfc
|
|
/* 02C4ECFC */ cpu->r[3] = cpu->r[31] + 0x000006BCu;
|
|
/* 02C4ECFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4ED00 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ED00 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4ED00 */ if (_t9) goto L_02C4ED04; else goto L_02C4ED14;
|
|
L_02C4ED04: ; // 0x2c4ed04
|
|
/* 02C4ED04 */ cpu->r[3] = 0x00000014u;
|
|
/* 02C4ED08 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4ED0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4ED10 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ED10 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4ED10 */ if (_t11) goto L_02C4ED2C; else goto L_02C4ED14;
|
|
L_02C4ED14: ; // 0x2c4ed14
|
|
/* 02C4ED14 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C4ED18 */ _t12 = cpu->r[3] + 0x00000010u;
|
|
/* 02C4ED18 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02C4ED1C */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4ED1C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02C4ED20 */ _t14 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4ED20 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02C4ED24 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4ED24 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02C4ED28 */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4ED28 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
L_02C4ED2C: ; // 0x2c4ed2c
|
|
/* 02C4ED2C */ cpu->r[10] = cpu->r[31] + 0x00000007u;
|
|
/* 02C4ED30 */ _t17 = cpu->r[31] + 0x000006D0u;
|
|
/* 02C4ED30 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02C4ED34 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C4ED38 */ cpu->r[3] = cpu->r[31] + 0x000006ACu;
|
|
/* 02C4ED3C */ _t18 = cpu->r[31] + 0x000006A8u;
|
|
/* 02C4ED3C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02C4ED40 */ rbrew_dispatch(cpu, 0x02d0ac40u);
|
|
L_02C4ED44: ; // 0x2c4ed44
|
|
/* 02C4ED44 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4ED44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4ED48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4ED4C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4ED4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C4ED50 */ cpu->lr = cpu->r[0];
|
|
/* 02C4ED54 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4ED54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C4ED58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4ED5C */ return;
|
|
}
|
|
|
|
// fn_02C4ECD0 @ 0x2c4ecd0
|
|
void Gambit_fn_02C4ECD0(CPUState* cpu) {
|
|
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_02C4ECD0: ; // 0x2c4ecd0
|
|
/* 02C4ECD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4ECD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4ECD0 */ cpu->r[1] = _t0;
|
|
/* 02C4ECD4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4ECD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4ECD8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4ECD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C4ECDC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4ECDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4ECE0 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4ECE4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4ECE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4ECE8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ECE8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4ECE8 */ if (_t5) goto L_02C4ECEC; else goto L_02C4ECFC;
|
|
L_02C4ECEC: ; // 0x2c4ecec
|
|
/* 02C4ECEC */ cpu->r[3] = 0x000006D4u;
|
|
/* 02C4ECF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4ECF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4ECF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4ECF8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ECF8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4ECF8 */ if (_t7) goto L_02C4ED44; else goto L_02C4ECFC;
|
|
L_02C4ECFC: ; // 0x2c4ecfc
|
|
/* 02C4ECFC */ cpu->r[3] = cpu->r[31] + 0x000006BCu;
|
|
/* 02C4ECFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4ED00 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ED00 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4ED00 */ if (_t9) goto L_02C4ED04; else goto L_02C4ED14;
|
|
L_02C4ED04: ; // 0x2c4ed04
|
|
/* 02C4ED04 */ cpu->r[3] = 0x00000014u;
|
|
/* 02C4ED08 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4ED0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4ED10 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ED10 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4ED10 */ if (_t11) goto L_02C4ED2C; else goto L_02C4ED14;
|
|
L_02C4ED14: ; // 0x2c4ed14
|
|
/* 02C4ED14 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C4ED18 */ _t12 = cpu->r[3] + 0x00000010u;
|
|
/* 02C4ED18 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02C4ED1C */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4ED1C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02C4ED20 */ _t14 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4ED20 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02C4ED24 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4ED24 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02C4ED28 */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4ED28 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
L_02C4ED2C: ; // 0x2c4ed2c
|
|
/* 02C4ED2C */ cpu->r[10] = cpu->r[31] + 0x00000007u;
|
|
/* 02C4ED30 */ _t17 = cpu->r[31] + 0x000006D0u;
|
|
/* 02C4ED30 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02C4ED34 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C4ED38 */ cpu->r[3] = cpu->r[31] + 0x000006ACu;
|
|
/* 02C4ED3C */ _t18 = cpu->r[31] + 0x000006A8u;
|
|
/* 02C4ED3C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02C4ED40 */ rbrew_dispatch(cpu, 0x02d0ac40u);
|
|
L_02C4ED44: ; // 0x2c4ed44
|
|
/* 02C4ED44 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4ED44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4ED48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4ED4C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4ED4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C4ED50 */ cpu->lr = cpu->r[0];
|
|
/* 02C4ED54 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4ED54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C4ED58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4ED5C */ return;
|
|
}
|
|
|
|
// fn_02C4ED60 @ 0x2c4ed60
|
|
void Gambit_fn_02C4ED60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C4ED60: ; // 0x2c4ed60
|
|
/* 02C4ED60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4ED64 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ED64 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C4ED64 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4ED64 */ goto L_02C4ED68;
|
|
L_02C4ED68: ; // 0x2c4ed68
|
|
/* 02C4ED68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4ED68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4ED6C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4ED6C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C4ED6C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4ED6C */ goto L_02C4ED70;
|
|
L_02C4ED70: ; // 0x2c4ed70
|
|
/* 02C4ED70 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C4ED7C @ 0x2c4ed7c
|
|
void Gambit_fn_02C4ED7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C4ED7C: ; // 0x2c4ed7c
|
|
/* 02C4ED7C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4ED7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4ED7C */ cpu->r[1] = _t0;
|
|
/* 02C4ED80 */ _t1 = cpu->r[4] + 0x000006D0u;
|
|
/* 02C4ED80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C4ED84 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4ED84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4ED88 */ _t3 = cpu->r[12] + 0x00000014u;
|
|
/* 02C4ED88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4ED8C */ cpu->ctr = cpu->r[0];
|
|
/* 02C4ED90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4ED94 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4ED94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4ED98 */ cpu->lr = cpu->r[0];
|
|
/* 02C4ED9C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EDA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4EDA4 */ return;
|
|
}
|
|
|
|
// fn_02C4EDA8 @ 0x2c4eda8
|
|
void Gambit_fn_02C4EDA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02C4EDA8: ; // 0x2c4eda8
|
|
/* 02C4EDA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4EDAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4EDAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4EDAC */ cpu->r[1] = _t0;
|
|
/* 02C4EDB0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EDB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4EDB4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4EDB8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EDB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C4EDBC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4EDBC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C4EDC0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EDC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4EDC4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4EDC8 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4EDC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4EDCC */ _t6 = cpu->r[29] + 0x000006BCu;
|
|
/* 02C4EDCC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02C4EDD0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4EDD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4EDD4 */ _t8 = cpu->r[29] + 0x000006C0u;
|
|
/* 02C4EDD4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C4EDD8 */ _t9 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4EDD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4EDDC */ _t10 = cpu->r[29] + 0x000006C4u;
|
|
/* 02C4EDDC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C4EDE0 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C4EDE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4EDE4 */ _t12 = cpu->r[29] + 0x000006C8u;
|
|
/* 02C4EDE4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C4EDE8 */ _t13 = cpu->r[30] + 0x00000010u;
|
|
/* 02C4EDE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4EDEC */ _t14 = cpu->r[29] + 0x000006A8u;
|
|
/* 02C4EDEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4EDF0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C4EDF4 */ _t15 = cpu->r[29] + 0x000006CCu;
|
|
/* 02C4EDF4 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C4EDF8 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4EDF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4EDFC */ cpu->r[4] = 0x02C50000u;
|
|
/* 02C4EE00 */ _t17 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4EE00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4EE04 */ cpu->r[4] = cpu->r[4] + 0xFFFFED74u;
|
|
/* 02C4EE08 */ _t18 = cpu->r[30] + 0x0000000Eu;
|
|
/* 02C4EE08 */ cpu->r[10] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C4EE0C */ cpu->r[7] = cpu->r[12] + cpu->r[8];
|
|
/* 02C4EE10 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4EE10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4EE14 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4EE18 */ rbrew_dispatch(cpu, 0x02d0a7b0u);
|
|
/* 02C4EE1C */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C4EE20 */ cpu->r[31] = cpu->r[3] - cpu->r[12];
|
|
/* 02C4EE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4EE24 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EE24 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C4EE24 */ if (_t21) goto L_02C4EE3C; else goto L_02C4EE28;
|
|
L_02C4EE28: ; // 0x2c4ee28
|
|
/* 02C4EE28 */ _t22 = cpu->r[30] + 0x00000010u;
|
|
/* 02C4EE28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C4EE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C4EE30 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EE30 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4EE30 */ if (_t24) goto L_02C4EE3C; else goto L_02C4EE34;
|
|
L_02C4EE34: ; // 0x2c4ee34
|
|
/* 02C4EE34 */ _t25 = cpu->r[29] + 0x000006A8u;
|
|
/* 02C4EE34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4EE38 */ rbrew_dispatch(cpu, 0x02d0afc8u);
|
|
L_02C4EE3C: ; // 0x2c4ee3c
|
|
/* 02C4EE3C */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EE3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4EE40 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4EE44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4EE48 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EE48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C4EE4C */ cpu->lr = cpu->r[0];
|
|
/* 02C4EE50 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4EE50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C4EE54 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EE58 */ return;
|
|
}
|
|
|
|
// fn_02C4EDAC @ 0x2c4edac
|
|
void Gambit_fn_02C4EDAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02C4EDAC: ; // 0x2c4edac
|
|
/* 02C4EDAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4EDAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4EDAC */ cpu->r[1] = _t0;
|
|
/* 02C4EDB0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EDB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C4EDB4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4EDB8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EDB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C4EDBC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4EDBC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C4EDC0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EDC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4EDC4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4EDC8 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4EDC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4EDCC */ _t6 = cpu->r[29] + 0x000006BCu;
|
|
/* 02C4EDCC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02C4EDD0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4EDD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4EDD4 */ _t8 = cpu->r[29] + 0x000006C0u;
|
|
/* 02C4EDD4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C4EDD8 */ _t9 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4EDD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4EDDC */ _t10 = cpu->r[29] + 0x000006C4u;
|
|
/* 02C4EDDC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C4EDE0 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C4EDE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4EDE4 */ _t12 = cpu->r[29] + 0x000006C8u;
|
|
/* 02C4EDE4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C4EDE8 */ _t13 = cpu->r[30] + 0x00000010u;
|
|
/* 02C4EDE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4EDEC */ _t14 = cpu->r[29] + 0x000006A8u;
|
|
/* 02C4EDEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4EDF0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C4EDF4 */ _t15 = cpu->r[29] + 0x000006CCu;
|
|
/* 02C4EDF4 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C4EDF8 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4EDF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4EDFC */ cpu->r[4] = 0x02C50000u;
|
|
/* 02C4EE00 */ _t17 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4EE00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4EE04 */ cpu->r[4] = cpu->r[4] + 0xFFFFED74u;
|
|
/* 02C4EE08 */ _t18 = cpu->r[30] + 0x0000000Eu;
|
|
/* 02C4EE08 */ cpu->r[10] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C4EE0C */ cpu->r[7] = cpu->r[12] + cpu->r[8];
|
|
/* 02C4EE10 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4EE10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4EE14 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C4EE18 */ rbrew_dispatch(cpu, 0x02d0a7b0u);
|
|
/* 02C4EE1C */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C4EE20 */ cpu->r[31] = cpu->r[3] - cpu->r[12];
|
|
/* 02C4EE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4EE24 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EE24 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C4EE24 */ if (_t21) goto L_02C4EE3C; else goto L_02C4EE28;
|
|
L_02C4EE28: ; // 0x2c4ee28
|
|
/* 02C4EE28 */ _t22 = cpu->r[30] + 0x00000010u;
|
|
/* 02C4EE28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C4EE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C4EE30 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EE30 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C4EE30 */ if (_t24) goto L_02C4EE3C; else goto L_02C4EE34;
|
|
L_02C4EE34: ; // 0x2c4ee34
|
|
/* 02C4EE34 */ _t25 = cpu->r[29] + 0x000006A8u;
|
|
/* 02C4EE34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4EE38 */ rbrew_dispatch(cpu, 0x02d0afc8u);
|
|
L_02C4EE3C: ; // 0x2c4ee3c
|
|
/* 02C4EE3C */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EE3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4EE40 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4EE44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4EE48 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4EE48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C4EE4C */ cpu->lr = cpu->r[0];
|
|
/* 02C4EE50 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4EE50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C4EE54 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EE58 */ return;
|
|
}
|
|
|
|
// fn_02C4EE5C @ 0x2c4ee5c
|
|
void Gambit_fn_02C4EE5C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4EE5C: ; // 0x2c4ee5c
|
|
/* 02C4EE5C */ _t0 = cpu->r[3] + 0x000006A8u;
|
|
/* 02C4EE5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4EE60 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4EE64 */ rbrew_dispatch(cpu, 0x02d0ad08u); return;
|
|
}
|
|
|
|
// fn_02C4EE68 @ 0x2c4ee68
|
|
void Gambit_fn_02C4EE68(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C4EE68: ; // 0x2c4ee68
|
|
/* 02C4EE68 */ _t0 = cpu->r[3] + 0x000006A8u;
|
|
/* 02C4EE68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4EE6C */ rbrew_dispatch(cpu, 0x02d0ae60u); return;
|
|
}
|
|
|
|
// fn_02C4EE70 @ 0x2c4ee70
|
|
void Gambit_fn_02C4EE70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C4EE70: ; // 0x2c4ee70
|
|
/* 02C4EE70 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4EE74 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4EE74 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4EE78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4EE7C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4EE7C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4EE7C */ cpu->r[1] = _t1;
|
|
/* 02C4EE80 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EE80 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4EE80 */ if (_t3) goto L_02C4EE84; else goto L_02C4EE8C;
|
|
L_02C4EE84: ; // 0x2c4ee84
|
|
/* 02C4EE84 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02C4EE88 */ Gambit_fn_02801A78(cpu);
|
|
L_02C4EE8C: ; // 0x2c4ee8c
|
|
/* 02C4EE8C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4EE90 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EE94 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EE98 */ return;
|
|
}
|
|
|
|
// fn_02C4EE7C @ 0x2c4ee7c
|
|
void Gambit_fn_02C4EE7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C4EE7C: ; // 0x2c4ee7c
|
|
/* 02C4EE7C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4EE7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4EE7C */ cpu->r[1] = _t0;
|
|
/* 02C4EE80 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EE80 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4EE80 */ if (_t2) goto L_02C4EE84; else goto L_02C4EE8C;
|
|
L_02C4EE84: ; // 0x2c4ee84
|
|
/* 02C4EE84 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02C4EE88 */ Gambit_fn_02801A78(cpu);
|
|
L_02C4EE8C: ; // 0x2c4ee8c
|
|
/* 02C4EE8C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4EE90 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EE94 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EE98 */ return;
|
|
}
|
|
|
|
// fn_02C4EE9C @ 0x2c4ee9c
|
|
void Gambit_fn_02C4EE9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C4EE9C: ; // 0x2c4ee9c
|
|
/* 02C4EE9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4EEA0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EEA0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C4EEA0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4EEA0 */ goto L_02C4EEA4;
|
|
L_02C4EEA4: ; // 0x2c4eea4
|
|
/* 02C4EEA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4EEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4EEA8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EEA8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C4EEA8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4EEA8 */ goto L_02C4EEAC;
|
|
L_02C4EEAC: ; // 0x2c4eeac
|
|
/* 02C4EEAC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C4EEB0 @ 0x2c4eeb0
|
|
void Gambit_fn_02C4EEB0(CPUState* cpu) {
|
|
L_02C4EEB0: ; // 0x2c4eeb0
|
|
/* 02C4EEB0 */ rbrew_dispatch(cpu, 0x02d0abf8u); return;
|
|
}
|
|
|
|
// fn_02C4EEB4 @ 0x2c4eeb4
|
|
void Gambit_fn_02C4EEB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C4EEB4: ; // 0x2c4eeb4
|
|
/* 02C4EEB4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4EEB8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4EEB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4EEBC */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4EEBC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4EEBC */ cpu->r[1] = _t1;
|
|
/* 02C4EEC0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EEC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02C4EEC4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EEC8 */ rbrew_dispatch(cpu, 0x02d0aef0u);
|
|
/* 02C4EECC */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C4EED0 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02C4EED4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4EED8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EEDC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EEE0 */ return;
|
|
}
|
|
|
|
// fn_02C4EEBC @ 0x2c4eebc
|
|
void Gambit_fn_02C4EEBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C4EEBC: ; // 0x2c4eebc
|
|
/* 02C4EEBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4EEBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4EEBC */ cpu->r[1] = _t0;
|
|
/* 02C4EEC0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EEC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02C4EEC4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EEC8 */ rbrew_dispatch(cpu, 0x02d0aef0u);
|
|
/* 02C4EECC */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C4EED0 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02C4EED4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4EED8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EEDC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4EEE0 */ return;
|
|
}
|
|
|
|
// fn_02C4EEE4 @ 0x2c4eee4
|
|
void Gambit_fn_02C4EEE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4EEE4: ; // 0x2c4eee4
|
|
/* 02C4EEE4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4EEE8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C4EEE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4EEE8 */ cpu->r[1] = _t0;
|
|
/* 02C4EEEC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EEEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4EEF0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4EEF4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EEF8 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4EEF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4EEFC */ rbrew_dispatch(cpu, 0x02d0ade8u);
|
|
/* 02C4EF00 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EF00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4EF04 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C4EF04 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C4EF08 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C4EF0C */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02C4EF10 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4EF10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4EF14 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EF14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4EF18 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EF1C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4EF20 */ return;
|
|
}
|
|
|
|
// fn_02C4EEE8 @ 0x2c4eee8
|
|
void Gambit_fn_02C4EEE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4EEE8: ; // 0x2c4eee8
|
|
/* 02C4EEE8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C4EEE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4EEE8 */ cpu->r[1] = _t0;
|
|
/* 02C4EEEC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EEEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4EEF0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4EEF4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EEF8 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4EEF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4EEFC */ rbrew_dispatch(cpu, 0x02d0ade8u);
|
|
/* 02C4EF00 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EF00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4EF04 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C4EF04 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C4EF08 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C4EF0C */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02C4EF10 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4EF10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4EF14 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4EF14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4EF18 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EF1C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4EF20 */ return;
|
|
}
|
|
|
|
// fn_02C4EF24 @ 0x2c4ef24
|
|
void Gambit_fn_02C4EF24(CPUState* cpu) {
|
|
L_02C4EF24: ; // 0x2c4ef24
|
|
/* 02C4EF24 */ return;
|
|
}
|
|
|
|
// fn_02C4EF28 @ 0x2c4ef28
|
|
void Gambit_fn_02C4EF28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C4EF28: ; // 0x2c4ef28
|
|
/* 02C4EF28 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4EF2C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4EF2C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4EF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4EF34 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4EF34 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4EF34 */ cpu->r[1] = _t1;
|
|
/* 02C4EF38 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EF38 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4EF38 */ if (_t3) goto L_02C4EF3C; else goto L_02C4EF4C;
|
|
L_02C4EF3C: ; // 0x2c4ef3c
|
|
/* 02C4EF3C */ cpu->r[3] = 0x00000018u;
|
|
/* 02C4EF40 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4EF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4EF48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EF48 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4EF48 */ if (_t5) goto L_02C4EF80; else goto L_02C4EF4C;
|
|
L_02C4EF4C: ; // 0x2c4ef4c
|
|
/* 02C4EF4C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C4EF50 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4EF54 */ _t6 = cpu->r[11] + 0xFFFFED40u;
|
|
/* 02C4EF54 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C4EF58 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4EF5C */ _t7 = cpu->r[12] + 0xFFFFED44u;
|
|
/* 02C4EF5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C4EF60 */ cpu->r[12] = 0x02C50000u;
|
|
/* 02C4EF64 */ _t8 = cpu->r[3] + 0x00000014u;
|
|
/* 02C4EF64 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C4EF68 */ cpu->r[12] = cpu->r[12] + 0xFFFFF15Cu;
|
|
/* 02C4EF6C */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4EF6C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02C4EF70 */ _t10 = cpu->r[3] + 0x00000010u;
|
|
/* 02C4EF70 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C4EF74 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4EF74 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02C4EF78 */ _t12 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4EF78 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 02C4EF7C */ _t13 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4EF7C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
L_02C4EF80: ; // 0x2c4ef80
|
|
/* 02C4EF80 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4EF84 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EF88 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EF8C */ return;
|
|
}
|
|
|
|
// fn_02C4EF34 @ 0x2c4ef34
|
|
void Gambit_fn_02C4EF34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C4EF34: ; // 0x2c4ef34
|
|
/* 02C4EF34 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4EF34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4EF34 */ cpu->r[1] = _t0;
|
|
/* 02C4EF38 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EF38 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4EF38 */ if (_t2) goto L_02C4EF3C; else goto L_02C4EF4C;
|
|
L_02C4EF3C: ; // 0x2c4ef3c
|
|
/* 02C4EF3C */ cpu->r[3] = 0x00000018u;
|
|
/* 02C4EF40 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4EF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4EF48 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4EF48 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4EF48 */ if (_t4) goto L_02C4EF80; else goto L_02C4EF4C;
|
|
L_02C4EF4C: ; // 0x2c4ef4c
|
|
/* 02C4EF4C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C4EF50 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4EF54 */ _t5 = cpu->r[11] + 0xFFFFED40u;
|
|
/* 02C4EF54 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C4EF58 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4EF5C */ _t6 = cpu->r[12] + 0xFFFFED44u;
|
|
/* 02C4EF5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C4EF60 */ cpu->r[12] = 0x02C50000u;
|
|
/* 02C4EF64 */ _t7 = cpu->r[3] + 0x00000014u;
|
|
/* 02C4EF64 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C4EF68 */ cpu->r[12] = cpu->r[12] + 0xFFFFF15Cu;
|
|
/* 02C4EF6C */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4EF6C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02C4EF70 */ _t9 = cpu->r[3] + 0x00000010u;
|
|
/* 02C4EF70 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C4EF74 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4EF74 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02C4EF78 */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4EF78 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02C4EF7C */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4EF7C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
L_02C4EF80: ; // 0x2c4ef80
|
|
/* 02C4EF80 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4EF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4EF84 */ cpu->lr = cpu->r[0];
|
|
/* 02C4EF88 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4EF8C */ return;
|
|
}
|
|
|
|
// fn_02C4EF90 @ 0x2c4ef90
|
|
void Gambit_fn_02C4EF90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C4EF90: ; // 0x2c4ef90
|
|
/* 02C4EF90 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4EF90 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C4EF94 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4EF98 */ _t1 = cpu->r[12] + 0xFFFFED40u;
|
|
/* 02C4EF98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C4EF9C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4EFA0 */ _t2 = cpu->r[3] + 0x00000014u;
|
|
/* 02C4EFA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4EFA4 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4EFA4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 02C4EFA8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4EFAC */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4EFAC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[2]);
|
|
/* 02C4EFB0 */ _t5 = cpu->r[12] + 0xFFFFED44u;
|
|
/* 02C4EFB0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C4EFB4 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 02C4EFB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 02C4EFB8 */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C4EFB8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 02C4EFBC */ return;
|
|
}
|
|
|
|
// fn_02C4EFC0 @ 0x2c4efc0
|
|
void Gambit_fn_02C4EFC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C4EFC0: ; // 0x2c4efc0
|
|
/* 02C4EFC0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4EFC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02C4EFC4 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C4EFC8 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4EFC8 */ rbrew_write16(cpu->mem, _t1, (uint16_t)cpu->r[12]);
|
|
/* 02C4EFCC */ _t2 = cpu->r[3] + 0x0000000Au;
|
|
/* 02C4EFCC */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[12]);
|
|
/* 02C4EFD0 */ _t3 = cpu->r[3] + 0x00000006u;
|
|
/* 02C4EFD0 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[5]);
|
|
/* 02C4EFD4 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4EFD4 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[12]);
|
|
/* 02C4EFD8 */ return;
|
|
}
|
|
|
|
// fn_02C4EFDC @ 0x2c4efdc
|
|
void Gambit_fn_02C4EFDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C4EFDC: ; // 0x2c4efdc
|
|
/* 02C4EFDC */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4EFDC */ cpu->r[0] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C4EFE0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C4EFE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02C4EFE8 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4EFE8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4EFE8 */ if (_t2) goto L_02C4EFEC; else goto L_02C4EFF0;
|
|
L_02C4EFEC: ; // 0x2c4efec
|
|
/* 02C4EFEC */ cpu->r[0] = cpu->r[4];
|
|
L_02C4EFF0: ; // 0x2c4eff0
|
|
/* 02C4EFF0 */ _t3 = cpu->r[3] + 0x0000000Au;
|
|
/* 02C4EFF0 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[4]);
|
|
/* 02C4EFF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C4EFF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4EFF8 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4EFF8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4EFF8 */ _t6 = _t5 ^ 0x00000001u;
|
|
/* 02C4EFF8 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4EFF8 */ goto L_02C4EFFC;
|
|
L_02C4EFFC: ; // 0x2c4effc
|
|
/* 02C4EFFC */ cpu->ctr = cpu->r[0];
|
|
/* 02C4F000 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4F004 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
L_02C4F008: ; // 0x2c4f008
|
|
/* 02C4F008 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4F008 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4F00C */ _t8 = cpu->r[10] + cpu->r[11];
|
|
/* 02C4F00C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C4F010 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02C4F014 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4F014 */ _t9 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4F014 */ _t10 = _t9 >> (0x00000002u & 31u);
|
|
/* 02C4F014 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4F014 */ if (_t11) goto L_02C4F008; else goto L_02C4F018;
|
|
L_02C4F018: ; // 0x2c4f018
|
|
/* 02C4F018 */ return;
|
|
}
|
|
|
|
// fn_02C4F01C @ 0x2c4f01c
|
|
void Gambit_fn_02C4F01C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C4F01C: ; // 0x2c4f01c
|
|
/* 02C4F01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C4F020 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4F024 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4F024 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02C4F028 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F028 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4F028 */ if (_t2) goto L_02C4F030; else goto L_02C4F02C;
|
|
L_02C4F02C: ; // 0x2c4f02c
|
|
/* 02C4F02C */ cpu->r[0] = cpu->r[5];
|
|
L_02C4F030: ; // 0x2c4f030
|
|
/* 02C4F030 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4F030 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C4F034 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C4F038 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4F038 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C4F03C */ return;
|
|
}
|
|
|
|
// fn_02C4F040 @ 0x2c4f040
|
|
void Gambit_fn_02C4F040(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C4F040: ; // 0x2c4f040
|
|
/* 02C4F040 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4F044 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4F044 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F044 */ cpu->r[1] = _t0;
|
|
/* 02C4F048 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F048 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4F04C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4F04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4F050 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F050 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4F054 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F054 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4F054 */ if (_t4) goto L_02C4F058; else goto L_02C4F068;
|
|
L_02C4F058: ; // 0x2c4f058
|
|
/* 02C4F058 */ cpu->r[3] = 0x00000038u;
|
|
/* 02C4F05C */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4F060 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4F060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4F064 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F064 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4F064 */ if (_t6) goto L_02C4F08C; else goto L_02C4F068;
|
|
L_02C4F068: ; // 0x2c4f068
|
|
/* 02C4F068 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C4F06C */ cpu->r[0] = cpu->r[0] + 0xFFFFED48u;
|
|
/* 02C4F070 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02C4F074 */ _t7 = cpu->r[31] + 0x00000034u;
|
|
/* 02C4F074 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C4F078 */ Gambit_fn_02C4EF28(cpu);
|
|
/* 02C4F07C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4F080 */ cpu->r[12] = cpu->r[31] + 0x00000004u;
|
|
/* 02C4F084 */ _t8 = cpu->r[31] + 0x00000030u;
|
|
/* 02C4F084 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02C4F088 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C4F088 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
L_02C4F08C: ; // 0x2c4f08c
|
|
/* 02C4F08C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F08C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4F090 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4F094 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F094 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4F098 */ cpu->lr = cpu->r[0];
|
|
/* 02C4F09C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F0A0 */ return;
|
|
}
|
|
|
|
// fn_02C4F044 @ 0x2c4f044
|
|
void Gambit_fn_02C4F044(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C4F044: ; // 0x2c4f044
|
|
/* 02C4F044 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4F044 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F044 */ cpu->r[1] = _t0;
|
|
/* 02C4F048 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F048 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4F04C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4F04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4F050 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F050 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4F054 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F054 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4F054 */ if (_t4) goto L_02C4F058; else goto L_02C4F068;
|
|
L_02C4F058: ; // 0x2c4f058
|
|
/* 02C4F058 */ cpu->r[3] = 0x00000038u;
|
|
/* 02C4F05C */ Gambit_fn_02801A78(cpu);
|
|
/* 02C4F060 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4F060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C4F064 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F064 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4F064 */ if (_t6) goto L_02C4F08C; else goto L_02C4F068;
|
|
L_02C4F068: ; // 0x2c4f068
|
|
/* 02C4F068 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C4F06C */ cpu->r[0] = cpu->r[0] + 0xFFFFED48u;
|
|
/* 02C4F070 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02C4F074 */ _t7 = cpu->r[31] + 0x00000034u;
|
|
/* 02C4F074 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C4F078 */ Gambit_fn_02C4EF28(cpu);
|
|
/* 02C4F07C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4F080 */ cpu->r[12] = cpu->r[31] + 0x00000004u;
|
|
/* 02C4F084 */ _t8 = cpu->r[31] + 0x00000030u;
|
|
/* 02C4F084 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02C4F088 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C4F088 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
L_02C4F08C: ; // 0x2c4f08c
|
|
/* 02C4F08C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F08C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4F090 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C4F094 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F094 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4F098 */ cpu->lr = cpu->r[0];
|
|
/* 02C4F09C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F0A0 */ return;
|
|
}
|
|
|
|
// fn_02C4F0A8 @ 0x2c4f0a8
|
|
void Gambit_fn_02C4F0A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C4F0A8: ; // 0x2c4f0a8
|
|
/* 02C4F0A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4F0A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F0A8 */ cpu->r[1] = _t0;
|
|
/* 02C4F0AC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4F0AC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4F0AC */ if (_t2) goto L_02C4F11C; else goto L_02C4F0B0;
|
|
L_02C4F0B0: ; // 0x2c4f0b0
|
|
/* 02C4F0B0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4F0B4 */ _t3 = cpu->r[12] + 0xFFFFED44u;
|
|
/* 02C4F0B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C4F0B8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4F0BC */ cpu->f[8] = cpu->f[3] - cpu->f[2];
|
|
/* 02C4F0C0 */ _t4 = cpu->r[12] + 0xFFFFED40u;
|
|
/* 02C4F0C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C4F0C4 */ cpu->f[6] = cpu->f[1] - cpu->f[3];
|
|
/* 02C4F0C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[12]);
|
|
/* 02C4F0CC */ cpu->f[7] = cpu->f[2];
|
|
/* 02C4F0D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F0D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4F0D0 */ if (_t6) goto L_02C4F148; else goto L_02C4F0D4;
|
|
L_02C4F0D4: ; // 0x2c4f0d4
|
|
/* 02C4F0D4 */ cpu->f[9] = cpu->f[6] / cpu->f[8];
|
|
/* 02C4F0D8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4F0DC */ _t7 = cpu->r[12] + 0xFFFFED70u;
|
|
/* 02C4F0DC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C4F0E0 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[9];
|
|
/* 02C4F0E4 */ cpu->r[12] = 0x43300000u;
|
|
/* 02C4F0E8 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4F0EC */ /* nop */
|
|
/* 02C4F0F0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4F0F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4F0F4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4F0F4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C4F0F8 */ cpu->r[12] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C4F0FC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F0FC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C4F100 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4F100 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 02C4F104 */ cpu->f[12] = cpu->f[11] - cpu->f[13];
|
|
/* 02C4F108 */ cpu->f[11] = (double)(float)cpu->f[12];
|
|
/* 02C4F10C */ cpu->f[13] = -fma(cpu->f[8], cpu->f[11], -(cpu->f[6]));
|
|
/* 02C4F110 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4F114 */ cpu->f[1] = fma(cpu->f[0], cpu->f[13], cpu->f[7]);
|
|
/* 02C4F118 */ return;
|
|
L_02C4F11C: ; // 0x2c4f11c
|
|
/* 02C4F11C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[2]);
|
|
/* 02C4F120 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4F120 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C4F120 */ if (_t13) goto L_02C4F124; else goto L_02C4F154;
|
|
L_02C4F124: ; // 0x2c4f124
|
|
/* 02C4F124 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4F128 */ _t14 = cpu->r[12] + 0xFFFFED68u;
|
|
/* 02C4F128 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C4F12C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4F130 */ cpu->f[8] = cpu->f[3] - cpu->f[2];
|
|
/* 02C4F134 */ _t15 = cpu->r[12] + 0xFFFFED40u;
|
|
/* 02C4F134 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C4F138 */ cpu->f[6] = cpu->f[2] - cpu->f[1];
|
|
/* 02C4F13C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[12]);
|
|
/* 02C4F140 */ cpu->f[7] = cpu->f[3];
|
|
/* 02C4F144 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F144 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C4F144 */ if (_t17) goto L_02C4F148; else goto L_02C4F0D4;
|
|
L_02C4F148: ; // 0x2c4f148
|
|
/* 02C4F148 */ cpu->f[1] = cpu->f[2];
|
|
/* 02C4F14C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4F150 */ return;
|
|
L_02C4F154: ; // 0x2c4f154
|
|
/* 02C4F154 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4F158 */ return;
|
|
}
|
|
|
|
// fn_02C4F174 @ 0x2c4f174
|
|
void Gambit_fn_02C4F174(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C4F174: ; // 0x2c4f174
|
|
/* 02C4F174 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4F178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4F17C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4F17C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4F180 */ cpu->r[0] = 0x02C50000u;
|
|
/* 02C4F184 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4F184 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4F184 */ cpu->r[1] = _t1;
|
|
/* 02C4F188 */ cpu->r[0] = cpu->r[0] + 0xFFFFF15Cu;
|
|
/* 02C4F18C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F18C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4F18C */ if (_t3) goto L_02C4F198; else goto L_02C4F190;
|
|
L_02C4F190: ; // 0x2c4f190
|
|
/* 02C4F190 */ cpu->r[0] = 0x02C50000u;
|
|
/* 02C4F194 */ cpu->r[0] = cpu->r[0] + 0xFFFFF0A4u;
|
|
L_02C4F198: ; // 0x2c4f198
|
|
/* 02C4F198 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C4F19C */ cpu->r[10] = 0x43300000u;
|
|
/* 02C4F1A0 */ _t4 = cpu->r[9] + 0xFFFFED70u;
|
|
/* 02C4F1A0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C4F1A4 */ cpu->r[11] = cpu->r[4] ^ 0x80000000u;
|
|
/* 02C4F1A8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4F1A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02C4F1AC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F1AC */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C4F1B0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4F1B0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C4F1B4 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02C4F1B8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4F1BC */ cpu->f[2] = (double)(float)cpu->f[0];
|
|
/* 02C4F1C0 */ _t8 = cpu->r[12] + 0xFFFFED40u;
|
|
/* 02C4F1C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C4F1C4 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02C4F1C8 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C4F1CC */ Gambit_fn_02C4EF90(cpu);
|
|
/* 02C4F1D0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4F1D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4F1D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C4F1D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4F1DC */ return;
|
|
}
|
|
|
|
// fn_02C4F184 @ 0x2c4f184
|
|
void Gambit_fn_02C4F184(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C4F184: ; // 0x2c4f184
|
|
/* 02C4F184 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4F184 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F184 */ cpu->r[1] = _t0;
|
|
/* 02C4F188 */ cpu->r[0] = cpu->r[0] + 0xFFFFF15Cu;
|
|
/* 02C4F18C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F18C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4F18C */ if (_t2) goto L_02C4F198; else goto L_02C4F190;
|
|
L_02C4F190: ; // 0x2c4f190
|
|
/* 02C4F190 */ cpu->r[0] = 0x02C50000u;
|
|
/* 02C4F194 */ cpu->r[0] = cpu->r[0] + 0xFFFFF0A4u;
|
|
L_02C4F198: ; // 0x2c4f198
|
|
/* 02C4F198 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C4F19C */ cpu->r[10] = 0x43300000u;
|
|
/* 02C4F1A0 */ _t3 = cpu->r[9] + 0xFFFFED70u;
|
|
/* 02C4F1A0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C4F1A4 */ cpu->r[11] = cpu->r[4] ^ 0x80000000u;
|
|
/* 02C4F1A8 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4F1A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C4F1AC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F1AC */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02C4F1B0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4F1B0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 02C4F1B4 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02C4F1B8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4F1BC */ cpu->f[2] = (double)(float)cpu->f[0];
|
|
/* 02C4F1C0 */ _t7 = cpu->r[12] + 0xFFFFED40u;
|
|
/* 02C4F1C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C4F1C4 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02C4F1C8 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C4F1CC */ Gambit_fn_02C4EF90(cpu);
|
|
/* 02C4F1D0 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4F1D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4F1D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C4F1D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4F1DC */ return;
|
|
}
|
|
|
|
// fn_02C4F1E0 @ 0x2c4f1e0
|
|
void Gambit_fn_02C4F1E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C4F1E0: ; // 0x2c4f1e0
|
|
/* 02C4F1E0 */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 02C4F1E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4F1E4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4F1E8 */ _t1 = cpu->r[10] + cpu->r[12];
|
|
/* 02C4F1E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C4F1EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000011u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C4F1F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00007FFFu);
|
|
/* 02C4F1F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F1F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4F1F4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4F1F4 */ goto L_02C4F1F8;
|
|
L_02C4F1F8: ; // 0x2c4f1f8
|
|
/* 02C4F1F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4F1FC */ _t4 = cpu->r[12] + cpu->r[0];
|
|
/* 02C4F1FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4F200 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000002u, 0x0000001Fu);
|
|
/* 02C4F204 */ _t5 = cpu->r[12] + cpu->r[0];
|
|
/* 02C4F204 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02C4F208 */ _t6 = cpu->r[3] + 0x00000038u;
|
|
/* 02C4F208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4F20C */ _t7 = cpu->r[12] + cpu->r[0];
|
|
/* 02C4F20C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4F210 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x0000001Eu, 0x00000000u, 0x00000001u);
|
|
/* 02C4F214 */ cpu->r[10] = cpu->r[10] | cpu->r[11];
|
|
/* 02C4F218 */ _t8 = cpu->r[12] + cpu->r[0];
|
|
/* 02C4F218 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C4F21C */ return;
|
|
}
|
|
|
|
// fn_02C4F220 @ 0x2c4f220
|
|
void Gambit_fn_02C4F220(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C4F220: ; // 0x2c4f220
|
|
/* 02C4F220 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C4F224 */ _t0 = cpu->r[12] + 0xFFFFED78u;
|
|
/* 02C4F224 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C4F228 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C4F22C */ _t1 = cpu->r[12] + 0xFFFFAB0Cu;
|
|
/* 02C4F22C */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
|
|
/* 02C4F230 */ return;
|
|
}
|
|
|
|
// fn_02C4F234 @ 0x2c4f234
|
|
void Gambit_fn_02C4F234(CPUState* cpu) {
|
|
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_02C4F234: ; // 0x2c4f234
|
|
/* 02C4F234 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C4F234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4F238 */ _t1 = cpu->r[12] + 0x00000012u;
|
|
/* 02C4F238 */ cpu->r[5] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C4F23C */ cpu->r[11] = cpu->r[3] + 0x00000008u;
|
|
/* 02C4F240 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02C4F240 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4F244 */ cpu->r[0] = cpu->r[5] + 0x0000001Fu;
|
|
/* 02C4F248 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4F24C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C4F250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02C4F254 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4F254 */ rbrew_write32(cpu->mem, _t3, cpu->r[7]);
|
|
/* 02C4F258 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F258 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C4F258 */ if (_t5) goto L_02C4F25C; else goto L_02C4F260;
|
|
L_02C4F25C: ; // 0x2c4f25c
|
|
/* 02C4F25C */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[9]);
|
|
L_02C4F260: ; // 0x2c4f260
|
|
/* 02C4F260 */ _t6 = cpu->r[11] + 0x00000008u;
|
|
/* 02C4F260 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 02C4F264 */ _t7 = cpu->r[12] + 0x00000016u;
|
|
/* 02C4F264 */ cpu->r[5] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C4F268 */ cpu->r[0] = cpu->r[5] + 0x00000003u;
|
|
/* 02C4F26C */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4F270 */ _t8 = cpu->r[11] + 0x00000010u;
|
|
/* 02C4F270 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02C4F274 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C4F278 */ _t9 = cpu->r[12] + 0x00000011u;
|
|
/* 02C4F278 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C4F27C */ cpu->r[10] = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C4F280 */ _t10 = cpu->r[11] + 0x00000004u;
|
|
/* 02C4F280 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02C4F284 */ cpu->r[8] = 0x00000003u;
|
|
/* 02C4F288 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4F28C */ cpu->ctr = cpu->r[8];
|
|
/* 02C4F290 */ _t11 = cpu->r[11] + 0x00000018u;
|
|
/* 02C4F290 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
L_02C4F294: ; // 0x2c4f294
|
|
/* 02C4F294 */ _t12 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C4F294 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4F298 */ _t13 = cpu->r[10] + 0x00000008u;
|
|
/* 02C4F298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4F298 */ cpu->r[10] = _t13;
|
|
/* 02C4F29C */ cpu->r[5] = cpu->r[6] + cpu->r[0];
|
|
/* 02C4F2A0 */ _t14 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C4F2A0 */ rbrew_write32(cpu->mem, _t14, cpu->r[5]);
|
|
/* 02C4F2A4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4F2A4 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4F2A4 */ _t16 = _t15 >> (0x00000002u & 31u);
|
|
/* 02C4F2A4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C4F2A4 */ if (_t17) goto L_02C4F294; else goto L_02C4F2A8;
|
|
L_02C4F2A8: ; // 0x2c4f2a8
|
|
/* 02C4F2A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C4F2AC */ cpu->r[10] = cpu->r[11] + cpu->r[12];
|
|
/* 02C4F2B0 */ _t18 = cpu->r[11] + cpu->r[12];
|
|
/* 02C4F2B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4F2B4 */ _t19 = cpu->r[10] + 0x00000004u;
|
|
/* 02C4F2B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4F2B8 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4F2B8 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02C4F2BC */ cpu->r[5] = cpu->r[7] + cpu->r[9];
|
|
/* 02C4F2C0 */ _t21 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4F2C0 */ rbrew_write32(cpu->mem, _t21, cpu->r[5]);
|
|
/* 02C4F2C4 */ return;
|
|
}
|
|
|
|
// fn_02C4F2C8 @ 0x2c4f2c8
|
|
void Gambit_fn_02C4F2C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C4F2C8: ; // 0x2c4f2c8
|
|
/* 02C4F2C8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4F2CC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C4F2D0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C4F2D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C4F2D4 */ cpu->r[3] = cpu->r[4] + 0x00000008u;
|
|
/* 02C4F2D8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4F2D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C4F2D8 */ cpu->r[1] = _t1;
|
|
/* 02C4F2DC */ Gambit_fn_02C4F234(cpu);
|
|
/* 02C4F2E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F2E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4F2E4 */ _t3 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C4F2E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4F2E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4F2EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4F2F0 */ return;
|
|
}
|
|
|
|
// fn_02C4F2D8 @ 0x2c4f2d8
|
|
void Gambit_fn_02C4F2D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C4F2D8: ; // 0x2c4f2d8
|
|
/* 02C4F2D8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C4F2D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F2D8 */ cpu->r[1] = _t0;
|
|
/* 02C4F2DC */ Gambit_fn_02C4F234(cpu);
|
|
/* 02C4F2E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F2E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C4F2E4 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C4F2E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4F2E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4F2EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4F2F0 */ return;
|
|
}
|
|
|
|
// fn_02C4F2F4 @ 0x2c4f2f4
|
|
void Gambit_fn_02C4F2F4(CPUState* 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_02C4F2F4: ; // 0x2c4f2f4
|
|
/* 02C4F2F4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4F2F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4F2F8 */ _t1 = cpu->r[11] + 0x00000012u;
|
|
/* 02C4F2F8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C4F2FC */ cpu->r[5] = 0x00000000u;
|
|
/* 02C4F300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C4F304 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F304 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4F304 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4F304 */ goto L_02C4F308;
|
|
L_02C4F308: ; // 0x2c4f308
|
|
/* 02C4F308 */ cpu->r[10] = 0x00000000u;
|
|
L_02C4F30C: ; // 0x2c4f30c
|
|
/* 02C4F30C */ _t4 = cpu->r[11] + 0x00000034u;
|
|
/* 02C4F30C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4F310 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C4F314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4F318 */ cpu->r[7] = cpu->r[11] + 0x00000034u;
|
|
/* 02C4F31C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F31C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4F31C */ if (_t6) goto L_02C4F324; else goto L_02C4F320;
|
|
L_02C4F320: ; // 0x2c4f320
|
|
/* 02C4F320 */ cpu->r[8] = cpu->r[7] + cpu->r[12];
|
|
L_02C4F324: ; // 0x2c4f324
|
|
/* 02C4F324 */ cpu->r[8] = cpu->r[8] + cpu->r[10];
|
|
/* 02C4F328 */ _t7 = cpu->r[8] + 0x0000000Eu;
|
|
/* 02C4F328 */ cpu->r[6] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C4F32C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[5]);
|
|
/* 02C4F330 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F330 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C4F330 */ if (_t9) goto L_02C4F374; else goto L_02C4F334;
|
|
L_02C4F334: ; // 0x2c4f334
|
|
/* 02C4F334 */ _t10 = cpu->r[8] + 0x00000002u;
|
|
/* 02C4F334 */ cpu->r[7] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C4F338 */ _t11 = cpu->r[8] + 0x00000001u;
|
|
/* 02C4F338 */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C4F33C */ _t12 = cpu->r[3] + 0x00000028u;
|
|
/* 02C4F33C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4F340 */ cpu->r[12] = cpu->r[7] + cpu->r[12];
|
|
/* 02C4F344 */ _t13 = cpu->r[11] + 0x00000034u;
|
|
/* 02C4F344 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4F344 */ cpu->r[11] = _t13;
|
|
/* 02C4F348 */ cpu->r[12] = cpu->r[8] + cpu->r[12];
|
|
/* 02C4F34C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4F350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C4F354 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 02C4F358 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F358 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C4F358 */ if (_t15) goto L_02C4F360; else goto L_02C4F35C;
|
|
L_02C4F35C: ; // 0x2c4f35c
|
|
/* 02C4F35C */ cpu->r[7] = cpu->r[11] + cpu->r[4];
|
|
L_02C4F360: ; // 0x2c4f360
|
|
/* 02C4F360 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000014u);
|
|
/* 02C4F364 */ cpu->r[7] = cpu->r[7] + cpu->r[11];
|
|
/* 02C4F368 */ _t16 = cpu->r[7] + 0x00000002u;
|
|
/* 02C4F368 */ cpu->r[11] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C4F36C */ cpu->r[8] = cpu->r[8] + cpu->r[11];
|
|
/* 02C4F370 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4F370 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
L_02C4F374: ; // 0x2c4f374
|
|
/* 02C4F374 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C4F374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C4F378 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02C4F37C */ cpu->r[10] = cpu->r[10] + 0x00000014u;
|
|
/* 02C4F380 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F380 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C4F380 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4F380 */ goto L_02C4F384;
|
|
L_02C4F384: ; // 0x2c4f384
|
|
/* 02C4F384 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4F384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C4F388 */ goto L_02C4F30C;
|
|
}
|
|
|
|
// fn_02C4F38C @ 0x2c4f38c
|
|
void Gambit_fn_02C4F38C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67;
|
|
|
|
L_02C4F38C: ; // 0x2c4f38c
|
|
/* 02C4F38C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C4F38C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F38C */ cpu->r[1] = _t0;
|
|
/* 02C4F390 */ /* nop */
|
|
/* 02C4F394 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4F398 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4F398 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4F39C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4F3A0 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C4F3A4 */ _t2 = cpu->r[4] + 0x00000008u;
|
|
/* 02C4F3A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4F3A8 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C4F3AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4F3B0 */ cpu->r[26] = cpu->r[4] + 0x00000008u;
|
|
/* 02C4F3B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F3B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4F3B4 */ if (_t4) goto L_02C4F3B8; else goto L_02C4F3C0;
|
|
L_02C4F3B8: ; // 0x2c4f3b8
|
|
/* 02C4F3B8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C4F3BC */ Gambit_fn_02C4F234(cpu);
|
|
L_02C4F3C0: ; // 0x2c4f3c0
|
|
/* 02C4F3C0 */ _t5 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4F3C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4F3C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02C4F3C8 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C4F3CC */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F3CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4F3CC */ if (_t7) goto L_02C4F3D0; else goto L_02C4F3E8;
|
|
L_02C4F3D0: ; // 0x2c4f3d0
|
|
/* 02C4F3D0 */ /* nop */
|
|
/* 02C4F3D4 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4F3D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4F3D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C4F3DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4F3E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4F3E4 */ return;
|
|
L_02C4F3E8: ; // 0x2c4f3e8
|
|
/* 02C4F3E8 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02C4F3E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4F3EC */ _t10 = cpu->r[28] + 0x00000012u;
|
|
/* 02C4F3EC */ cpu->r[12] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C4F3F0 */ _t11 = cpu->r[28] + 0x00000011u;
|
|
/* 02C4F3F0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C4F3F4 */ cpu->r[0] = 0x00000002u;
|
|
/* 02C4F3F8 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02C4F3F8 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02C4F3FC */ cpu->r[11] = cpu->r[12] + 0x0000001Fu;
|
|
/* 02C4F400 */ _t13 = cpu->r[29] + 0x00000006u;
|
|
/* 02C4F400 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[27]);
|
|
/* 02C4F404 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 02C4F404 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]);
|
|
/* 02C4F408 */ /* nop */
|
|
/* 02C4F40C */ _t15 = cpu->r[4] + 0x00000004u;
|
|
/* 02C4F40C */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4F410 */ _t16 = cpu->r[29] + 0x00000008u;
|
|
/* 02C4F410 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[10]);
|
|
/* 02C4F414 */ _t17 = cpu->r[29] + 0x00000007u;
|
|
/* 02C4F414 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[6]);
|
|
/* 02C4F418 */ _t18 = cpu->r[26] + 0x00000000u;
|
|
/* 02C4F418 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4F41C */ _t19 = cpu->r[8] + 0x00000000u;
|
|
/* 02C4F41C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4F420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4F424 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F424 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C4F424 */ if (_t21) goto L_02C4F430; else goto L_02C4F428;
|
|
L_02C4F428: ; // 0x2c4f428
|
|
/* 02C4F428 */ _t22 = cpu->r[8] + 0x00000004u;
|
|
/* 02C4F428 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C4F42C */ cpu->r[11] = cpu->r[31] + cpu->r[7];
|
|
L_02C4F430: ; // 0x2c4f430
|
|
/* 02C4F430 */ _t23 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C4F430 */ rbrew_write32(cpu->mem, _t23, cpu->r[11]);
|
|
/* 02C4F434 */ _t24 = cpu->r[26] + 0x00000000u;
|
|
/* 02C4F434 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C4F438 */ _t25 = cpu->r[8] + 0x00000008u;
|
|
/* 02C4F438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4F43C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4F440 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F440 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C4F440 */ if (_t27) goto L_02C4F44C; else goto L_02C4F444;
|
|
L_02C4F444: ; // 0x2c4f444
|
|
/* 02C4F444 */ _t28 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C4F444 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C4F448 */ cpu->r[0] = cpu->r[31] + cpu->r[9];
|
|
L_02C4F44C: ; // 0x2c4f44c
|
|
/* 02C4F44C */ cpu->r[4] = 0x00000005u;
|
|
/* 02C4F450 */ cpu->r[3] = cpu->r[29] + 0x00000014u;
|
|
/* 02C4F454 */ _t29 = cpu->r[29] + 0x00000010u;
|
|
/* 02C4F454 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02C4F458 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C4F45C */ _t30 = cpu->r[26] + 0x00000000u;
|
|
/* 02C4F45C */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C4F460 */ _t31 = cpu->r[8] + 0x00000010u;
|
|
/* 02C4F460 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C4F464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C4F468 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F468 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C4F468 */ if (_t33) goto L_02C4F474; else goto L_02C4F46C;
|
|
L_02C4F46C: ; // 0x2c4f46c
|
|
/* 02C4F46C */ _t34 = cpu->r[8] + 0x00000014u;
|
|
/* 02C4F46C */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C4F470 */ cpu->r[3] = cpu->r[31] + cpu->r[8];
|
|
L_02C4F474: ; // 0x2c4f474
|
|
/* 02C4F474 */ _t35 = cpu->r[29] + 0x00000028u;
|
|
/* 02C4F474 */ rbrew_write32(cpu->mem, _t35, cpu->r[3]);
|
|
/* 02C4F478 */ _t36 = cpu->r[28] + 0x0000003Cu;
|
|
/* 02C4F478 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C4F47C */ cpu->r[9] = cpu->r[28] + 0x0000003Cu;
|
|
/* 02C4F480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4F484 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4F488 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F488 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C4F488 */ if (_t38) goto L_02C4F490; else goto L_02C4F48C;
|
|
L_02C4F48C: ; // 0x2c4f48c
|
|
/* 02C4F48C */ cpu->r[4] = cpu->r[9] + cpu->r[10];
|
|
L_02C4F490: ; // 0x2c4f490
|
|
/* 02C4F490 */ _t39 = cpu->r[28] + 0x00000016u;
|
|
/* 02C4F490 */ cpu->r[5] = rbrew_read16(cpu->mem, _t39);
|
|
/* 02C4F494 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C4F498 */ _t40 = cpu->r[26] + 0x00000000u;
|
|
/* 02C4F498 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C4F49C */ _t41 = cpu->r[8] + 0x00000018u;
|
|
/* 02C4F49C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C4F4A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4F4A4 */ _t42 = cpu->r[29] + 0x00000007u;
|
|
/* 02C4F4A4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t42);
|
|
/* 02C4F4A8 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F4A8 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C4F4A8 */ if (_t44) goto L_02C4F4B4; else goto L_02C4F4AC;
|
|
L_02C4F4AC: ; // 0x2c4f4ac
|
|
/* 02C4F4AC */ _t45 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02C4F4AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C4F4B0 */ cpu->r[0] = cpu->r[31] + cpu->r[10];
|
|
L_02C4F4B4: ; // 0x2c4f4b4
|
|
/* 02C4F4B4 */ _t46 = cpu->r[29] + 0x00000034u;
|
|
/* 02C4F4B4 */ rbrew_write32(cpu->mem, _t46, cpu->r[31]);
|
|
/* 02C4F4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02C4F4BC */ _t47 = cpu->r[29] + 0x00000038u;
|
|
/* 02C4F4BC */ rbrew_write32(cpu->mem, _t47, cpu->r[27]);
|
|
/* 02C4F4C0 */ _t48 = cpu->r[29] + 0x00000030u;
|
|
/* 02C4F4C0 */ rbrew_write32(cpu->mem, _t48, cpu->r[27]);
|
|
/* 02C4F4C4 */ _t49 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C4F4C4 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02C4F4C8 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F4C8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C4F4C8 */ if (_t51) goto L_02C4F4CC; else goto L_02C4F4D4;
|
|
L_02C4F4CC: ; // 0x2c4f4cc
|
|
/* 02C4F4CC */ _t52 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C4F4CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C4F4D0 */ _t53 = cpu->r[29] + 0x00000010u;
|
|
/* 02C4F4D0 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
L_02C4F4D4: ; // 0x2c4f4d4
|
|
/* 02C4F4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C4F4D8 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F4D8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C4F4D8 */ if (_t55) goto L_02C4F4DC; else goto L_02C4F52C;
|
|
L_02C4F4DC: ; // 0x2c4f4dc
|
|
/* 02C4F4DC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C4F4E0 */ cpu->ctr = cpu->r[30];
|
|
/* 02C4F4E4 */ cpu->r[6] = cpu->r[28] + 0x00000028u;
|
|
/* 02C4F4E8 */ cpu->r[10] = cpu->r[12];
|
|
L_02C4F4EC: ; // 0x2c4f4ec
|
|
/* 02C4F4EC */ _t56 = cpu->r[6] + 0x00000000u;
|
|
/* 02C4F4EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C4F4F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4F4F4 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4F4F8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F4F8 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C4F4F8 */ if (_t58) goto L_02C4F500; else goto L_02C4F4FC;
|
|
L_02C4F4FC: ; // 0x2c4f4fc
|
|
/* 02C4F4FC */ cpu->r[7] = cpu->r[6] + cpu->r[11];
|
|
L_02C4F500: ; // 0x2c4f500
|
|
/* 02C4F500 */ cpu->r[8] = cpu->r[7] + cpu->r[10];
|
|
/* 02C4F504 */ _t59 = cpu->r[8] + 0x00000004u;
|
|
/* 02C4F504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C4F504 */ cpu->r[8] = _t59;
|
|
/* 02C4F508 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C4F50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4F510 */ _t60 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C4F510 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C4F514 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F514 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C4F514 */ if (_t62) goto L_02C4F51C; else goto L_02C4F518;
|
|
L_02C4F518: ; // 0x2c4f518
|
|
/* 02C4F518 */ cpu->r[9] = cpu->r[8] + cpu->r[0];
|
|
L_02C4F51C: ; // 0x2c4f51c
|
|
/* 02C4F51C */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02C4F520 */ _t63 = cpu->r[7] + cpu->r[12];
|
|
/* 02C4F520 */ rbrew_write32(cpu->mem, _t63, cpu->r[9]);
|
|
/* 02C4F524 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 02C4F528 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4F528 */ _t64 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4F528 */ _t65 = _t64 >> (0x00000002u & 31u);
|
|
/* 02C4F528 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C4F528 */ if (_t66) goto L_02C4F4EC; else goto L_02C4F52C;
|
|
L_02C4F52C: ; // 0x2c4f52c
|
|
/* 02C4F52C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C4F530 */ Gambit_fn_02C4F2F4(cpu);
|
|
/* 02C4F534 */ /* nop */
|
|
/* 02C4F538 */ _t67 = cpu->r[1] + 0x00000024u;
|
|
/* 02C4F538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C4F53C */ cpu->lr = cpu->r[0];
|
|
/* 02C4F540 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C4F544 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C4F548 */ return;
|
|
}
|
|
|
|
// fn_02C4F54C @ 0x2c4f54c
|
|
void Gambit_fn_02C4F54C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C4F54C: ; // 0x2c4f54c
|
|
/* 02C4F54C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C4F54C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4F550 */ _t1 = cpu->r[11] + 0x00000018u;
|
|
/* 02C4F550 */ cpu->r[12] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C4F554 */ cpu->r[11] = cpu->r[12] + 0x000000FFu;
|
|
/* 02C4F558 */ _t2 = cpu->r[3] + 0x00000007u;
|
|
/* 02C4F558 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C4F55C */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02C4F560 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[0]);
|
|
/* 02C4F564 */ return;
|
|
}
|
|
|
|
// fn_02C4F568 @ 0x2c4f568
|
|
void Gambit_fn_02C4F568(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30;
|
|
|
|
L_02C4F568: ; // 0x2c4f568
|
|
/* 02C4F568 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C4F568 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F568 */ cpu->r[1] = _t0;
|
|
/* 02C4F56C */ /* nop */
|
|
/* 02C4F570 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4F574 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4F574 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4F578 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4F57C */ _t2 = cpu->r[29] + 0x00000000u;
|
|
/* 02C4F57C */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4F580 */ _t3 = cpu->r[5] + 0x00000012u;
|
|
/* 02C4F580 */ cpu->r[31] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C4F584 */ _t4 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C4F584 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4F588 */ cpu->r[30] = cpu->r[31] + 0x0000001Fu;
|
|
/* 02C4F58C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4F590 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C4F594 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C4F598 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C4F598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4F59C */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F59C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4F59C */ if (_t6) goto L_02C4F5A0; else goto L_02C4F644;
|
|
L_02C4F5A0: ; // 0x2c4f5a0
|
|
/* 02C4F5A0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C4F5A4 */ cpu->r[3] = cpu->r[30];
|
|
L_02C4F5A8: ; // 0x2c4f5a8
|
|
/* 02C4F5A8 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C4F5AC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F5AC */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02C4F5B0 */ cpu->r[0] = 0x00000020u;
|
|
/* 02C4F5B4 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000020u);
|
|
/* 02C4F5BC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4F5BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C4F5C0 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4F5C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4F5C0 */ if (_t10) goto L_02C4F5C8; else goto L_02C4F5C4;
|
|
L_02C4F5C4: ; // 0x2c4f5c4
|
|
/* 02C4F5C4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
L_02C4F5C8: ; // 0x2c4f5c8
|
|
/* 02C4F5C8 */ _t11 = cpu->r[7] + 0x00000000u;
|
|
/* 02C4F5C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4F5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4F5D0 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C4F5D4 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F5D4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C4F5D4 */ if (_t13) goto L_02C4F5D8; else goto L_02C4F628;
|
|
L_02C4F5D8: ; // 0x2c4f5d8
|
|
/* 02C4F5D8 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 02C4F5D8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4F5DC */ cpu->ctr = cpu->r[0];
|
|
/* 02C4F5E0 */ cpu->r[12] = cpu->r[30];
|
|
/* 02C4F5E4 */ cpu->r[28] = 0x00000001u;
|
|
L_02C4F5E8: ; // 0x2c4f5e8
|
|
/* 02C4F5E8 */ _t15 = cpu->r[27] + 0x00000034u;
|
|
/* 02C4F5E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4F5EC */ cpu->r[10] = 0x00000000u;
|
|
/* 02C4F5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4F5F4 */ cpu->r[7] = cpu->r[27] + 0x00000034u;
|
|
/* 02C4F5F8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F5F8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C4F5F8 */ if (_t17) goto L_02C4F600; else goto L_02C4F5FC;
|
|
L_02C4F5FC: ; // 0x2c4f5fc
|
|
/* 02C4F5FC */ cpu->r[10] = cpu->r[7] + cpu->r[0];
|
|
L_02C4F600: ; // 0x2c4f600
|
|
/* 02C4F600 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000014u);
|
|
/* 02C4F604 */ cpu->r[6] = cpu->r[10] + cpu->r[4];
|
|
/* 02C4F608 */ _t18 = cpu->r[6] + 0x00000004u;
|
|
/* 02C4F608 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4F60C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4F610 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4F610 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4F610 */ if (_t20) goto L_02C4F61C; else goto L_02C4F614;
|
|
L_02C4F614: ; // 0x2c4f614
|
|
/* 02C4F614 */ /* nop */
|
|
/* 02C4F618 */ cpu->r[9] = cpu->r[9] | cpu->r[7];
|
|
L_02C4F61C: ; // 0x2c4f61c
|
|
/* 02C4F61C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4F620 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C4F624 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4F624 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4F624 */ _t22 = _t21 >> (0x00000002u & 31u);
|
|
/* 02C4F624 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C4F624 */ if (_t23) goto L_02C4F5E8; else goto L_02C4F628;
|
|
L_02C4F628: ; // 0x2c4f628
|
|
/* 02C4F628 */ _t24 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C4F628 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C4F62C */ cpu->r[30] = cpu->r[30] + 0x00000020u;
|
|
/* 02C4F630 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C4F630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C4F634 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFE0u;
|
|
/* 02C4F638 */ _t25 = cpu->r[8] + cpu->r[3];
|
|
/* 02C4F638 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
|
|
/* 02C4F63C */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02C4F640 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F640 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C4F640 */ if (_t27) goto L_02C4F644; else goto L_02C4F5A8;
|
|
L_02C4F644: ; // 0x2c4f644
|
|
/* 02C4F644 */ _t28 = cpu->r[29] + 0x00000004u;
|
|
/* 02C4F644 */ cpu->r[9] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02C4F648 */ cpu->r[9] = cpu->r[9] | 0x00000004u;
|
|
/* 02C4F64C */ _t29 = cpu->r[29] + 0x00000004u;
|
|
/* 02C4F64C */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[9]);
|
|
/* 02C4F650 */ /* nop */
|
|
/* 02C4F654 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C4F654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C4F658 */ cpu->lr = cpu->r[0];
|
|
/* 02C4F65C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C4F660 */ return;
|
|
}
|
|
|
|
// fn_02C4F664 @ 0x2c4f664
|
|
void Gambit_fn_02C4F664(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C4F664: ; // 0x2c4f664
|
|
/* 02C4F664 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4F668 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4F668 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F668 */ cpu->r[1] = _t0;
|
|
/* 02C4F66C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F66C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4F670 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F670 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4F674 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4F678 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4F67C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F67C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C4F680 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4F680 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4F684 */ Gambit_fn_02C4F54C(cpu);
|
|
/* 02C4F688 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4F68C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[5]);
|
|
/* 02C4F690 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F690 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4F690 */ if (_t6) goto L_02C4F694; else goto L_02C4F6B4;
|
|
L_02C4F694: ; // 0x2c4f694
|
|
/* 02C4F694 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F694 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4F698 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4F698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4F69C */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F69C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4F6A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4F6A4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F6A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4F6A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4F6AC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4F6B0 */ return;
|
|
L_02C4F6B4: ; // 0x2c4f6b4
|
|
/* 02C4F6B4 */ _t11 = cpu->r[30] + 0x00000038u;
|
|
/* 02C4F6B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02C4F6B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4F6BC */ Gambit_fn_02C4F568(cpu);
|
|
/* 02C4F6C0 */ _t12 = cpu->r[30] + 0x00000007u;
|
|
/* 02C4F6C0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C4F6C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000001u);
|
|
/* 02C4F6C8 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F6C8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4F6C8 */ if (_t14) goto L_02C4F6CC; else goto L_02C4F6FC;
|
|
L_02C4F6CC: ; // 0x2c4f6cc
|
|
/* 02C4F6CC */ _t15 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4F6CC */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C4F6D0 */ _t16 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C4F6D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4F6D4 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[6]);
|
|
/* 02C4F6D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4F6D8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4F6DC */ cpu->r[9] = cpu->r[12] + cpu->r[11];
|
|
/* 02C4F6E0 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F6E0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4F6E0 */ if (_t18) goto L_02C4F6E4; else goto L_02C4F6FC;
|
|
L_02C4F6E4: ; // 0x2c4f6e4
|
|
/* 02C4F6E4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu;
|
|
/* 02C4F6E8 */ cpu->r[0] = 0x00000000u;
|
|
L_02C4F6EC: ; // 0x2c4f6ec
|
|
/* 02C4F6EC */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C4F6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4F6F0 */ _t19 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4F6F0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02C4F6F0 */ cpu->r[9] = _t19;
|
|
/* 02C4F6F4 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F6F4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C4F6F4 */ if (_t21) goto L_02C4F6EC; else goto L_02C4F6F8;
|
|
L_02C4F6F8: ; // 0x2c4f6f8
|
|
/* 02C4F6F8 */ _t22 = cpu->r[30] + 0x00000007u;
|
|
/* 02C4F6F8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t22);
|
|
L_02C4F6FC: ; // 0x2c4f6fc
|
|
/* 02C4F6FC */ cpu->r[5] = cpu->r[29] / cpu->r[6];
|
|
/* 02C4F700 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4F704 */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02C4F708 */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C4F70C */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02C4F710 */ Gambit_fn_02C65AB0(cpu);
|
|
/* 02C4F714 */ _t23 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4F714 */ cpu->r[0] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C4F718 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02C4F71C */ _t24 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4F71C */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[0]);
|
|
/* 02C4F720 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F720 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4F724 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4F724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4F728 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F728 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4F72C */ cpu->lr = cpu->r[0];
|
|
/* 02C4F730 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F730 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C4F734 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4F738 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C4F73C */ return;
|
|
}
|
|
|
|
// fn_02C4F668 @ 0x2c4f668
|
|
void Gambit_fn_02C4F668(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02C4F668: ; // 0x2c4f668
|
|
/* 02C4F668 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4F668 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F668 */ cpu->r[1] = _t0;
|
|
/* 02C4F66C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F66C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4F670 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F670 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4F674 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4F678 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4F67C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F67C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C4F680 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4F680 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4F684 */ Gambit_fn_02C4F54C(cpu);
|
|
/* 02C4F688 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4F68C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[5]);
|
|
/* 02C4F690 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F690 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4F690 */ if (_t6) goto L_02C4F694; else goto L_02C4F6B4;
|
|
L_02C4F694: ; // 0x2c4f694
|
|
/* 02C4F694 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F694 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4F698 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4F698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4F69C */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F69C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4F6A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C4F6A4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F6A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4F6A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4F6AC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4F6B0 */ return;
|
|
L_02C4F6B4: ; // 0x2c4f6b4
|
|
/* 02C4F6B4 */ _t11 = cpu->r[30] + 0x00000038u;
|
|
/* 02C4F6B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02C4F6B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4F6BC */ Gambit_fn_02C4F568(cpu);
|
|
/* 02C4F6C0 */ _t12 = cpu->r[30] + 0x00000007u;
|
|
/* 02C4F6C0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C4F6C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000001u);
|
|
/* 02C4F6C8 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F6C8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C4F6C8 */ if (_t14) goto L_02C4F6CC; else goto L_02C4F6FC;
|
|
L_02C4F6CC: ; // 0x2c4f6cc
|
|
/* 02C4F6CC */ _t15 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4F6CC */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C4F6D0 */ _t16 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C4F6D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C4F6D4 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[6]);
|
|
/* 02C4F6D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4F6D8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4F6DC */ cpu->r[9] = cpu->r[12] + cpu->r[11];
|
|
/* 02C4F6E0 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F6E0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C4F6E0 */ if (_t18) goto L_02C4F6E4; else goto L_02C4F6FC;
|
|
L_02C4F6E4: ; // 0x2c4f6e4
|
|
/* 02C4F6E4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFCu;
|
|
/* 02C4F6E8 */ cpu->r[0] = 0x00000000u;
|
|
L_02C4F6EC: ; // 0x2c4f6ec
|
|
/* 02C4F6EC */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C4F6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4F6F0 */ _t19 = cpu->r[9] + 0x00000004u;
|
|
/* 02C4F6F0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02C4F6F0 */ cpu->r[9] = _t19;
|
|
/* 02C4F6F4 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F6F4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C4F6F4 */ if (_t21) goto L_02C4F6EC; else goto L_02C4F6F8;
|
|
L_02C4F6F8: ; // 0x2c4f6f8
|
|
/* 02C4F6F8 */ _t22 = cpu->r[30] + 0x00000007u;
|
|
/* 02C4F6F8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t22);
|
|
L_02C4F6FC: ; // 0x2c4f6fc
|
|
/* 02C4F6FC */ cpu->r[5] = cpu->r[29] / cpu->r[6];
|
|
/* 02C4F700 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4F704 */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02C4F708 */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C4F70C */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02C4F710 */ Gambit_fn_02C65AB0(cpu);
|
|
/* 02C4F714 */ _t23 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4F714 */ cpu->r[0] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C4F718 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02C4F71C */ _t24 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4F71C */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[0]);
|
|
/* 02C4F720 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F720 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C4F724 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4F724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4F728 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F728 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4F72C */ cpu->lr = cpu->r[0];
|
|
/* 02C4F730 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F730 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C4F734 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4F738 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C4F73C */ return;
|
|
}
|
|
|
|
// fn_02C4F740 @ 0x2c4f740
|
|
void Gambit_fn_02C4F740(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4F740: ; // 0x2c4f740
|
|
/* 02C4F740 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4F744 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4F744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F744 */ cpu->r[1] = _t0;
|
|
/* 02C4F748 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F748 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4F74C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4F750 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 02C4F754 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F754 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4F758 */ Gambit_fn_02C65AB4(cpu);
|
|
/* 02C4F75C */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 02C4F75C */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C4F760 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C4F764 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C4F764 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]);
|
|
/* 02C4F768 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4F76C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F76C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4F770 */ cpu->lr = cpu->r[0];
|
|
/* 02C4F774 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F778 */ return;
|
|
}
|
|
|
|
// fn_02C4F744 @ 0x2c4f744
|
|
void Gambit_fn_02C4F744(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C4F744: ; // 0x2c4f744
|
|
/* 02C4F744 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4F744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F744 */ cpu->r[1] = _t0;
|
|
/* 02C4F748 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F748 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4F74C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4F750 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 02C4F754 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F754 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4F758 */ Gambit_fn_02C65AB4(cpu);
|
|
/* 02C4F75C */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 02C4F75C */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C4F760 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C4F764 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C4F764 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]);
|
|
/* 02C4F768 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4F76C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F76C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4F770 */ cpu->lr = cpu->r[0];
|
|
/* 02C4F774 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F778 */ return;
|
|
}
|
|
|
|
// fn_02C4F77C @ 0x2c4f77c
|
|
void Gambit_fn_02C4F77C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
|
|
|
|
L_02C4F77C: ; // 0x2c4f77c
|
|
/* 02C4F77C */ cpu->r[0] = cpu->lr;
|
|
/* 02C4F780 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4F780 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F780 */ cpu->r[1] = _t0;
|
|
/* 02C4F784 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F784 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C4F788 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F788 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4F78C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F78C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C4F790 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4F794 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4F794 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4F798 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4F798 */ cpu->r[11] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C4F79C */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 02C4F79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4F7A0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4F7A4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F7A4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4F7A4 */ if (_t7) goto L_02C4F84C; else goto L_02C4F7A8;
|
|
L_02C4F7A8: ; // 0x2c4f7a8
|
|
/* 02C4F7A8 */ _t8 = cpu->r[30] + 0x00000007u;
|
|
/* 02C4F7A8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C4F7AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
|
|
/* 02C4F7B0 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F7B0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4F7B0 */ if (_t10) goto L_02C4F7B4; else goto L_02C4F838;
|
|
L_02C4F7B4: ; // 0x2c4f7b4
|
|
/* 02C4F7B4 */ _t11 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4F7B4 */ cpu->r[5] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C4F7B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4F7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[5]);
|
|
/* 02C4F7C0 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4F7C0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C4F7C0 */ if (_t13) goto L_02C4F7C4; else goto L_02C4F838;
|
|
L_02C4F7C4: ; // 0x2c4f7c4
|
|
/* 02C4F7C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4F7C8 */ cpu->r[8] = cpu->r[6];
|
|
L_02C4F7CC: ; // 0x2c4f7cc
|
|
/* 02C4F7CC */ _t14 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C4F7CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4F7D0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4F7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[10]);
|
|
/* 02C4F7D8 */ _t15 = cpu->r[12] + cpu->r[6];
|
|
/* 02C4F7D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4F7DC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4F7DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C4F7DC */ if (_t17) goto L_02C4F7E0; else goto L_02C4F818;
|
|
L_02C4F7E0: ; // 0x2c4f7e0
|
|
/* 02C4F7E0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)cpu->r[5]);
|
|
/* 02C4F7E4 */ cpu->r[0] = cpu->r[12] + cpu->r[3];
|
|
/* 02C4F7E8 */ _t18 = cpu->r[30] + 0x00000010u;
|
|
/* 02C4F7E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4F7EC */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4F7F0 */ _t19 = cpu->r[7] + cpu->r[9];
|
|
/* 02C4F7F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4F7F4 */ cpu->r[12] = cpu->r[12] | cpu->r[11];
|
|
/* 02C4F7F8 */ _t20 = cpu->r[7] + cpu->r[9];
|
|
/* 02C4F7F8 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C4F7FC */ _t21 = cpu->r[30] + 0x00000007u;
|
|
/* 02C4F7FC */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C4F800 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C4F804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 02C4F808 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4F808 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C4F808 */ if (_t23) goto L_02C4F80C; else goto L_02C4F814;
|
|
L_02C4F80C: ; // 0x2c4f80c
|
|
/* 02C4F80C */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4F80C */ cpu->r[5] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02C4F810 */ goto L_02C4F7E0;
|
|
L_02C4F814: ; // 0x2c4f814
|
|
/* 02C4F814 */ _t25 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C4F814 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
L_02C4F818: ; // 0x2c4f818
|
|
/* 02C4F818 */ _t26 = cpu->r[12] + cpu->r[6];
|
|
/* 02C4F818 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 02C4F81C */ _t27 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4F81C */ cpu->r[5] = rbrew_read16(cpu->mem, _t27);
|
|
/* 02C4F820 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C4F824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[5]);
|
|
/* 02C4F828 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02C4F82C */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4F82C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C4F82C */ if (_t29) goto L_02C4F830; else goto L_02C4F838;
|
|
L_02C4F830: ; // 0x2c4f830
|
|
/* 02C4F830 */ _t30 = cpu->r[30] + 0x00000007u;
|
|
/* 02C4F830 */ cpu->r[10] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02C4F834 */ goto L_02C4F7CC;
|
|
L_02C4F838: ; // 0x2c4f838
|
|
/* 02C4F838 */ _t31 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4F838 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02C4F83C */ cpu->r[7] = 0x000000FFu;
|
|
/* 02C4F840 */ _t32 = cpu->r[30] + 0x00000006u;
|
|
/* 02C4F840 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[7]);
|
|
/* 02C4F844 */ cpu->r[0] = cpu->r[0] ^ 0x00000004u;
|
|
/* 02C4F848 */ _t33 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4F848 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[0]);
|
|
L_02C4F84C: ; // 0x2c4f84c
|
|
/* 02C4F84C */ cpu->r[9] = 0x00000001u;
|
|
/* 02C4F850 */ _t34 = cpu->r[30] + 0x00000006u;
|
|
/* 02C4F850 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02C4F854 */ /* nop */
|
|
/* 02C4F858 */ cpu->r[10] = cpu->r[0] & cpu->r[29];
|
|
/* 02C4F858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4F85C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F85C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C4F85C */ if (_t36) goto L_02C4F860; else goto L_02C4F870;
|
|
L_02C4F860: ; // 0x2c4f860
|
|
/* 02C4F860 */ _t37 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4F860 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C4F864 */ _t38 = cpu->r[6] + 0x00000014u;
|
|
/* 02C4F864 */ cpu->r[0] = rbrew_read16(cpu->mem, _t38);
|
|
/* 02C4F868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4F86C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F86C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C4F86C */ if (_t40) goto L_02C4F8E0; else goto L_02C4F870;
|
|
L_02C4F870: ; // 0x2c4f870
|
|
/* 02C4F870 */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02C4F874 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4F878 */ Gambit_fn_02C6544C(cpu);
|
|
/* 02C4F87C */ _t41 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4F87C */ cpu->r[0] = rbrew_read16(cpu->mem, _t41);
|
|
/* 02C4F880 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C4F884 */ _t42 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4F884 */ cpu->r[5] = rbrew_read16(cpu->mem, _t42);
|
|
/* 02C4F888 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[0]);
|
|
/* 02C4F88C */ _t43 = cpu->r[30] + 0x00000010u;
|
|
/* 02C4F88C */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C4F890 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4F894 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4F898 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C4F898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4F89C */ cpu->r[5] = cpu->r[8] + cpu->r[0];
|
|
/* 02C4F8A0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F8A0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C4F8A0 */ if (_t45) goto L_02C4F8C4; else goto L_02C4F8A4;
|
|
L_02C4F8A4: ; // 0x2c4f8a4
|
|
/* 02C4F8A4 */ Gambit_fn_02C4F8FC(cpu);
|
|
/* 02C4F8A8 */ _t46 = cpu->r[30] + 0x00000006u;
|
|
/* 02C4F8A8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02C4F8AC */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02C4F8B0 */ _t47 = ~cpu->r[29];
|
|
/* 02C4F8B0 */ cpu->r[9] = cpu->r[9] & _t47;
|
|
/* 02C4F8B4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4F8B8 */ _t48 = cpu->r[30] + 0x00000006u;
|
|
/* 02C4F8B8 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[9]);
|
|
/* 02C4F8BC */ Gambit_fn_02C6530C(cpu);
|
|
/* 02C4F8C0 */ goto L_02C4F8E0;
|
|
L_02C4F8C4: ; // 0x2c4f8c4
|
|
/* 02C4F8C4 */ Gambit_fn_02C4FA50(cpu);
|
|
/* 02C4F8C8 */ _t49 = cpu->r[30] + 0x00000006u;
|
|
/* 02C4F8C8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02C4F8CC */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02C4F8D0 */ _t50 = ~cpu->r[29];
|
|
/* 02C4F8D0 */ cpu->r[9] = cpu->r[9] & _t50;
|
|
/* 02C4F8D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4F8D8 */ _t51 = cpu->r[30] + 0x00000006u;
|
|
/* 02C4F8D8 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[9]);
|
|
/* 02C4F8DC */ Gambit_fn_02C6530C(cpu);
|
|
L_02C4F8E0: ; // 0x2c4f8e0
|
|
/* 02C4F8E0 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F8E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C4F8E4 */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4F8E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C4F8E8 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F8E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C4F8EC */ cpu->lr = cpu->r[0];
|
|
/* 02C4F8F0 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F8F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C4F8F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4F8F8 */ return;
|
|
}
|
|
|
|
// fn_02C4F780 @ 0x2c4f780
|
|
void Gambit_fn_02C4F780(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
|
|
|
|
L_02C4F780: ; // 0x2c4f780
|
|
/* 02C4F780 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C4F780 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F780 */ cpu->r[1] = _t0;
|
|
/* 02C4F784 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F784 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C4F788 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F788 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C4F78C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F78C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C4F790 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C4F794 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4F794 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C4F798 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4F798 */ cpu->r[11] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C4F79C */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 02C4F79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4F7A0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C4F7A4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F7A4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4F7A4 */ if (_t7) goto L_02C4F84C; else goto L_02C4F7A8;
|
|
L_02C4F7A8: ; // 0x2c4f7a8
|
|
/* 02C4F7A8 */ _t8 = cpu->r[30] + 0x00000007u;
|
|
/* 02C4F7A8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C4F7AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
|
|
/* 02C4F7B0 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F7B0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C4F7B0 */ if (_t10) goto L_02C4F7B4; else goto L_02C4F838;
|
|
L_02C4F7B4: ; // 0x2c4f7b4
|
|
/* 02C4F7B4 */ _t11 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4F7B4 */ cpu->r[5] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C4F7B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4F7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[5]);
|
|
/* 02C4F7C0 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4F7C0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C4F7C0 */ if (_t13) goto L_02C4F7C4; else goto L_02C4F838;
|
|
L_02C4F7C4: ; // 0x2c4f7c4
|
|
/* 02C4F7C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4F7C8 */ cpu->r[8] = cpu->r[6];
|
|
L_02C4F7CC: ; // 0x2c4f7cc
|
|
/* 02C4F7CC */ _t14 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C4F7CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4F7D0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4F7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[10]);
|
|
/* 02C4F7D8 */ _t15 = cpu->r[12] + cpu->r[6];
|
|
/* 02C4F7D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4F7DC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4F7DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C4F7DC */ if (_t17) goto L_02C4F7E0; else goto L_02C4F818;
|
|
L_02C4F7E0: ; // 0x2c4f7e0
|
|
/* 02C4F7E0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)cpu->r[5]);
|
|
/* 02C4F7E4 */ cpu->r[0] = cpu->r[12] + cpu->r[3];
|
|
/* 02C4F7E8 */ _t18 = cpu->r[30] + 0x00000010u;
|
|
/* 02C4F7E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4F7EC */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4F7F0 */ _t19 = cpu->r[7] + cpu->r[9];
|
|
/* 02C4F7F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4F7F4 */ cpu->r[12] = cpu->r[12] | cpu->r[11];
|
|
/* 02C4F7F8 */ _t20 = cpu->r[7] + cpu->r[9];
|
|
/* 02C4F7F8 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C4F7FC */ _t21 = cpu->r[30] + 0x00000007u;
|
|
/* 02C4F7FC */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C4F800 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C4F804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 02C4F808 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4F808 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C4F808 */ if (_t23) goto L_02C4F80C; else goto L_02C4F814;
|
|
L_02C4F80C: ; // 0x2c4f80c
|
|
/* 02C4F80C */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4F80C */ cpu->r[5] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02C4F810 */ goto L_02C4F7E0;
|
|
L_02C4F814: ; // 0x2c4f814
|
|
/* 02C4F814 */ _t25 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C4F814 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
L_02C4F818: ; // 0x2c4f818
|
|
/* 02C4F818 */ _t26 = cpu->r[12] + cpu->r[6];
|
|
/* 02C4F818 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 02C4F81C */ _t27 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4F81C */ cpu->r[5] = rbrew_read16(cpu->mem, _t27);
|
|
/* 02C4F820 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C4F824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[5]);
|
|
/* 02C4F828 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02C4F82C */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C4F82C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C4F82C */ if (_t29) goto L_02C4F830; else goto L_02C4F838;
|
|
L_02C4F830: ; // 0x2c4f830
|
|
/* 02C4F830 */ _t30 = cpu->r[30] + 0x00000007u;
|
|
/* 02C4F830 */ cpu->r[10] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02C4F834 */ goto L_02C4F7CC;
|
|
L_02C4F838: ; // 0x2c4f838
|
|
/* 02C4F838 */ _t31 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4F838 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02C4F83C */ cpu->r[7] = 0x000000FFu;
|
|
/* 02C4F840 */ _t32 = cpu->r[30] + 0x00000006u;
|
|
/* 02C4F840 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[7]);
|
|
/* 02C4F844 */ cpu->r[0] = cpu->r[0] ^ 0x00000004u;
|
|
/* 02C4F848 */ _t33 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4F848 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[0]);
|
|
L_02C4F84C: ; // 0x2c4f84c
|
|
/* 02C4F84C */ cpu->r[9] = 0x00000001u;
|
|
/* 02C4F850 */ _t34 = cpu->r[30] + 0x00000006u;
|
|
/* 02C4F850 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02C4F854 */ /* nop */
|
|
/* 02C4F858 */ cpu->r[10] = cpu->r[0] & cpu->r[29];
|
|
/* 02C4F858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C4F85C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F85C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C4F85C */ if (_t36) goto L_02C4F860; else goto L_02C4F870;
|
|
L_02C4F860: ; // 0x2c4f860
|
|
/* 02C4F860 */ _t37 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4F860 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C4F864 */ _t38 = cpu->r[6] + 0x00000014u;
|
|
/* 02C4F864 */ cpu->r[0] = rbrew_read16(cpu->mem, _t38);
|
|
/* 02C4F868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4F86C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F86C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C4F86C */ if (_t40) goto L_02C4F8E0; else goto L_02C4F870;
|
|
L_02C4F870: ; // 0x2c4f870
|
|
/* 02C4F870 */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02C4F874 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4F878 */ Gambit_fn_02C6544C(cpu);
|
|
/* 02C4F87C */ _t41 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4F87C */ cpu->r[0] = rbrew_read16(cpu->mem, _t41);
|
|
/* 02C4F880 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C4F884 */ _t42 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4F884 */ cpu->r[5] = rbrew_read16(cpu->mem, _t42);
|
|
/* 02C4F888 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[0]);
|
|
/* 02C4F88C */ _t43 = cpu->r[30] + 0x00000010u;
|
|
/* 02C4F88C */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C4F890 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C4F894 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4F898 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C4F898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4F89C */ cpu->r[5] = cpu->r[8] + cpu->r[0];
|
|
/* 02C4F8A0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F8A0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C4F8A0 */ if (_t45) goto L_02C4F8C4; else goto L_02C4F8A4;
|
|
L_02C4F8A4: ; // 0x2c4f8a4
|
|
/* 02C4F8A4 */ Gambit_fn_02C4F8FC(cpu);
|
|
/* 02C4F8A8 */ _t46 = cpu->r[30] + 0x00000006u;
|
|
/* 02C4F8A8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02C4F8AC */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02C4F8B0 */ _t47 = ~cpu->r[29];
|
|
/* 02C4F8B0 */ cpu->r[9] = cpu->r[9] & _t47;
|
|
/* 02C4F8B4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4F8B8 */ _t48 = cpu->r[30] + 0x00000006u;
|
|
/* 02C4F8B8 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[9]);
|
|
/* 02C4F8BC */ Gambit_fn_02C6530C(cpu);
|
|
/* 02C4F8C0 */ goto L_02C4F8E0;
|
|
L_02C4F8C4: ; // 0x2c4f8c4
|
|
/* 02C4F8C4 */ Gambit_fn_02C4FA50(cpu);
|
|
/* 02C4F8C8 */ _t49 = cpu->r[30] + 0x00000006u;
|
|
/* 02C4F8C8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02C4F8CC */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02C4F8D0 */ _t50 = ~cpu->r[29];
|
|
/* 02C4F8D0 */ cpu->r[9] = cpu->r[9] & _t50;
|
|
/* 02C4F8D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4F8D8 */ _t51 = cpu->r[30] + 0x00000006u;
|
|
/* 02C4F8D8 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[9]);
|
|
/* 02C4F8DC */ Gambit_fn_02C6530C(cpu);
|
|
L_02C4F8E0: ; // 0x2c4f8e0
|
|
/* 02C4F8E0 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4F8E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C4F8E4 */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4F8E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C4F8E8 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4F8E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C4F8EC */ cpu->lr = cpu->r[0];
|
|
/* 02C4F8F0 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4F8F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C4F8F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C4F8F8 */ return;
|
|
}
|
|
|
|
// fn_02C4F8FC @ 0x2c4f8fc
|
|
void Gambit_fn_02C4F8FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C4F8FC: ; // 0x2c4f8fc
|
|
/* 02C4F8FC */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02C4F8FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4F8FC */ cpu->r[1] = _t0;
|
|
/* 02C4F900 */ /* nop */
|
|
/* 02C4F904 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4F908 */ _t1 = cpu->r[1] + 0x00000084u;
|
|
/* 02C4F908 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4F90C */ cpu->r[26] = cpu->r[3];
|
|
/* 02C4F910 */ _t2 = cpu->r[26] + 0x00000000u;
|
|
/* 02C4F910 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4F914 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C4F918 */ _t3 = cpu->r[6] + 0x00000044u;
|
|
/* 02C4F918 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4F91C */ cpu->r[27] = cpu->r[4];
|
|
/* 02C4F920 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C4F924 */ _t4 = cpu->r[6] + 0x00000012u;
|
|
/* 02C4F924 */ cpu->r[11] = rbrew_read16(cpu->mem, _t4);
|
|
/* 02C4F928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4F92C */ cpu->r[9] = cpu->r[6] + 0x00000044u;
|
|
/* 02C4F930 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F930 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4F930 */ if (_t6) goto L_02C4F938; else goto L_02C4F934;
|
|
L_02C4F934: ; // 0x2c4f934
|
|
/* 02C4F934 */ cpu->r[31] = cpu->r[9] + cpu->r[5];
|
|
L_02C4F938: ; // 0x2c4f938
|
|
/* 02C4F938 */ cpu->r[0] = cpu->r[11] + 0x0000001Fu;
|
|
/* 02C4F93C */ /* nop */
|
|
/* 02C4F940 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4F940 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4F940 */ if (_t8) goto L_02C4F944; else goto L_02C4FA3C;
|
|
L_02C4F944: ; // 0x2c4f944
|
|
/* 02C4F944 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C4F948 */ cpu->r[30] = cpu->r[23];
|
|
/* 02C4F94C */ cpu->r[25] = cpu->r[23];
|
|
L_02C4F950: ; // 0x2c4f950
|
|
/* 02C4F950 */ _t9 = cpu->r[28] + cpu->r[23];
|
|
/* 02C4F950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4F954 */ _t10 = cpu->r[31] + cpu->r[23];
|
|
/* 02C4F954 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4F958 */ cpu->r[20] = cpu->r[0] | cpu->r[12];
|
|
/* 02C4F958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02C4F95C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F95C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4F95C */ if (_t12) goto L_02C4FA28; else goto L_02C4F960;
|
|
L_02C4F960: ; // 0x2c4f960
|
|
/* 02C4F960 */ cpu->r[22] = 0x00000001u;
|
|
/* 02C4F964 */ cpu->r[19] = cpu->r[1] + 0x00000008u;
|
|
L_02C4F968: ; // 0x2c4f968
|
|
/* 02C4F968 */ _t13 = cpu->r[26] + 0x00000000u;
|
|
/* 02C4F968 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4F96C */ cpu->r[4] = rbrew_clz32(cpu->r[20]);
|
|
/* 02C4F970 */ _t14 = cpu->r[6] + 0x00000034u;
|
|
/* 02C4F970 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4F974 */ cpu->r[9] = cpu->r[6] + 0x00000034u;
|
|
/* 02C4F978 */ cpu->r[24] = 0x0000001Fu - cpu->r[4];
|
|
/* 02C4F97C */ cpu->r[8] = 0x00000000u;
|
|
/* 02C4F980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C4F984 */ cpu->r[10] = cpu->r[30] + cpu->r[24];
|
|
/* 02C4F988 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F988 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4F988 */ if (_t16) goto L_02C4F990; else goto L_02C4F98C;
|
|
L_02C4F98C: ; // 0x2c4f98c
|
|
/* 02C4F98C */ cpu->r[8] = cpu->r[9] + cpu->r[7];
|
|
L_02C4F990: ; // 0x2c4f990
|
|
/* 02C4F990 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000014u);
|
|
/* 02C4F994 */ _t17 = cpu->r[26] + 0x00000028u;
|
|
/* 02C4F994 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4F998 */ _t18 = cpu->r[26] + 0x00000030u;
|
|
/* 02C4F998 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4F99C */ cpu->r[12] = cpu->r[8] + cpu->r[4];
|
|
/* 02C4F9A0 */ _t19 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4F9A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4F9A4 */ _t20 = cpu->r[12] + 0x00000008u;
|
|
/* 02C4F9A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C4F9A8 */ _t21 = cpu->r[12] + 0x00000002u;
|
|
/* 02C4F9A8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t21);
|
|
/* 02C4F9AC */ cpu->r[29] = cpu->r[27] + cpu->r[5];
|
|
/* 02C4F9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C4F9B4 */ cpu->r[5] = cpu->r[7] + cpu->r[10];
|
|
/* 02C4F9B8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F9B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C4F9B8 */ if (_t23) goto L_02C4FA10; else goto L_02C4F9BC;
|
|
L_02C4F9BC: ; // 0x2c4f9bc
|
|
/* 02C4F9BC */ cpu->r[4] = cpu->r[5];
|
|
/* 02C4F9C0 */ cpu->ctr = cpu->r[8];
|
|
/* 02C4F9C4 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4F9C4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C4F9C8 */ cpu->r[3] = cpu->r[19];
|
|
/* 02C4F9CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4F9D0 */ cpu->r[12] = cpu->r[3] + 0x00000003u;
|
|
/* 02C4F9D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4F9D8 */ cpu->r[11] = cpu->r[19];
|
|
/* 02C4F9DC */ cpu->r[0] = cpu->r[19] + cpu->r[0];
|
|
/* 02C4F9E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02C4F9E4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F9E4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C4F9E4 */ if (_t26) goto L_02C4FA00; else goto L_02C4F9E8;
|
|
L_02C4F9E8: ; // 0x2c4f9e8
|
|
/* 02C4F9E8 */ _t27 = cpu->r[11] + 0x00000000u;
|
|
/* 02C4F9E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4F9EC */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02C4F9F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02C4F9F4 */ /* nop */
|
|
/* 02C4F9F8 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C4F9FC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4F9FC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C4F9FC */ if (_t29) goto L_02C4FA00; else goto L_02C4F9E8;
|
|
L_02C4FA00: ; // 0x2c4fa00
|
|
/* 02C4FA00 */ /* nop */
|
|
/* 02C4FA04 */ cpu->r[20] = cpu->r[20] ^ cpu->r[0];
|
|
/* 02C4FA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02C4FA08 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FA08 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C4FA08 */ if (_t31) goto L_02C4FA0C; else goto L_02C4F968;
|
|
L_02C4FA0C: ; // 0x2c4fa0c
|
|
/* 02C4FA0C */ goto L_02C4FA28;
|
|
L_02C4FA10: ; // 0x2c4fa10
|
|
/* 02C4FA10 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C4FA14 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C4FA18 */ Gambit_fn_02C61BA0(cpu);
|
|
/* 02C4FA1C */ /* nop */
|
|
/* 02C4FA20 */ cpu->r[20] = cpu->r[20] ^ cpu->r[0];
|
|
/* 02C4FA20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02C4FA24 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FA24 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C4FA24 */ if (_t33) goto L_02C4FA28; else goto L_02C4F968;
|
|
L_02C4FA28: ; // 0x2c4fa28
|
|
/* 02C4FA28 */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 02C4FA28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C4FA2C */ cpu->r[30] = cpu->r[30] + 0x00000020u;
|
|
/* 02C4FA30 */ _t34 = cpu->r[28] + cpu->r[23];
|
|
/* 02C4FA30 */ rbrew_write32(cpu->mem, _t34, cpu->r[25]);
|
|
/* 02C4FA34 */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 02C4FA38 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FA38 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C4FA38 */ if (_t36) goto L_02C4FA3C; else goto L_02C4F950;
|
|
L_02C4FA3C: ; // 0x2c4fa3c
|
|
/* 02C4FA3C */ /* nop */
|
|
/* 02C4FA40 */ _t37 = cpu->r[1] + 0x00000084u;
|
|
/* 02C4FA40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C4FA44 */ cpu->lr = cpu->r[0];
|
|
/* 02C4FA48 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02C4FA4C */ return;
|
|
}
|
|
|
|
// fn_02C4FA50 @ 0x2c4fa50
|
|
void Gambit_fn_02C4FA50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02C4FA50: ; // 0x2c4fa50
|
|
/* 02C4FA50 */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02C4FA50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4FA50 */ cpu->r[1] = _t0;
|
|
/* 02C4FA54 */ /* nop */
|
|
/* 02C4FA58 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4FA5C */ _t1 = cpu->r[1] + 0x00000084u;
|
|
/* 02C4FA5C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4FA60 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C4FA64 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C4FA68 */ _t2 = cpu->r[27] + 0x00000000u;
|
|
/* 02C4FA68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4FA6C */ _t3 = cpu->r[11] + 0x00000044u;
|
|
/* 02C4FA6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4FA70 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C4FA74 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C4FA78 */ _t4 = cpu->r[11] + 0x00000012u;
|
|
/* 02C4FA78 */ cpu->r[12] = rbrew_read16(cpu->mem, _t4);
|
|
/* 02C4FA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4FA80 */ cpu->r[11] = cpu->r[11] + 0x00000044u;
|
|
/* 02C4FA84 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FA84 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4FA84 */ if (_t6) goto L_02C4FA8C; else goto L_02C4FA88;
|
|
L_02C4FA88: ; // 0x2c4fa88
|
|
/* 02C4FA88 */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
L_02C4FA8C: ; // 0x2c4fa8c
|
|
/* 02C4FA8C */ cpu->r[10] = cpu->r[12] + 0x0000001Fu;
|
|
/* 02C4FA90 */ /* nop */
|
|
/* 02C4FA94 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4FA94 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4FA94 */ if (_t8) goto L_02C4FA98; else goto L_02C4FB74;
|
|
L_02C4FA98: ; // 0x2c4fa98
|
|
/* 02C4FA98 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C4FA9C */ cpu->r[30] = cpu->r[24];
|
|
/* 02C4FAA0 */ cpu->r[25] = cpu->r[24];
|
|
L_02C4FAA4: ; // 0x2c4faa4
|
|
/* 02C4FAA4 */ _t9 = cpu->r[29] + cpu->r[24];
|
|
/* 02C4FAA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4FAA8 */ _t10 = cpu->r[31] + cpu->r[24];
|
|
/* 02C4FAA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4FAAC */ cpu->r[21] = cpu->r[12] | cpu->r[0];
|
|
/* 02C4FAAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C4FAB0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FAB0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4FAB0 */ if (_t12) goto L_02C4FB60; else goto L_02C4FAB4;
|
|
L_02C4FAB4: ; // 0x2c4fab4
|
|
/* 02C4FAB4 */ cpu->r[22] = 0x00000001u;
|
|
/* 02C4FAB8 */ cpu->r[20] = cpu->r[1] + 0x00000008u;
|
|
L_02C4FABC: ; // 0x2c4fabc
|
|
/* 02C4FABC */ _t13 = cpu->r[27] + 0x00000000u;
|
|
/* 02C4FABC */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C4FAC0 */ cpu->r[4] = rbrew_clz32(cpu->r[21]);
|
|
/* 02C4FAC4 */ _t14 = cpu->r[5] + 0x00000034u;
|
|
/* 02C4FAC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C4FAC8 */ cpu->r[9] = cpu->r[5] + 0x00000034u;
|
|
/* 02C4FACC */ cpu->r[26] = 0x0000001Fu - cpu->r[4];
|
|
/* 02C4FAD0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4FAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4FAD8 */ cpu->r[8] = cpu->r[30] + cpu->r[26];
|
|
/* 02C4FADC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FADC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C4FADC */ if (_t16) goto L_02C4FAE4; else goto L_02C4FAE0;
|
|
L_02C4FAE0: ; // 0x2c4fae0
|
|
/* 02C4FAE0 */ cpu->r[7] = cpu->r[9] + cpu->r[0];
|
|
L_02C4FAE4: ; // 0x2c4fae4
|
|
/* 02C4FAE4 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000014u);
|
|
/* 02C4FAE8 */ _t17 = cpu->r[27] + 0x00000028u;
|
|
/* 02C4FAE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4FAEC */ _t18 = cpu->r[27] + 0x00000030u;
|
|
/* 02C4FAEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4FAF0 */ cpu->r[12] = cpu->r[7] + cpu->r[5];
|
|
/* 02C4FAF4 */ _t19 = cpu->r[12] + 0x00000004u;
|
|
/* 02C4FAF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C4FAF8 */ _t20 = cpu->r[12] + 0x00000008u;
|
|
/* 02C4FAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C4FAFC */ _t21 = cpu->r[12] + 0x00000002u;
|
|
/* 02C4FAFC */ cpu->r[10] = rbrew_read16(cpu->mem, _t21);
|
|
/* 02C4FB00 */ cpu->r[19] = cpu->r[28] + cpu->r[8];
|
|
/* 02C4FB04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4FB08 */ cpu->r[5] = cpu->r[9] + cpu->r[10];
|
|
/* 02C4FB0C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FB0C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C4FB0C */ if (_t23) goto L_02C4FB48; else goto L_02C4FB10;
|
|
L_02C4FB10: ; // 0x2c4fb10
|
|
/* 02C4FB10 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C4FB14 */ cpu->ctr = cpu->r[0];
|
|
/* 02C4FB18 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02C4FB18 */ cpu->r[5] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C4FB1C */ cpu->r[3] = cpu->r[20];
|
|
/* 02C4FB20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C4FB24 */ cpu->r[0] = cpu->r[3] + 0x00000003u;
|
|
/* 02C4FB28 */ cpu->r[3] = cpu->r[19];
|
|
/* 02C4FB2C */ cpu->r[4] = cpu->r[20];
|
|
/* 02C4FB30 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4FB34 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C4FB38 */ /* nop */
|
|
/* 02C4FB3C */ cpu->r[21] = cpu->r[21] ^ cpu->r[6];
|
|
/* 02C4FB3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C4FB40 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FB40 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C4FB40 */ if (_t26) goto L_02C4FB44; else goto L_02C4FABC;
|
|
L_02C4FB44: ; // 0x2c4fb44
|
|
/* 02C4FB44 */ goto L_02C4FB60;
|
|
L_02C4FB48: ; // 0x2c4fb48
|
|
/* 02C4FB48 */ cpu->r[4] = cpu->r[19];
|
|
/* 02C4FB4C */ cpu->r[3] = cpu->r[12];
|
|
/* 02C4FB50 */ Gambit_fn_02C61C44(cpu);
|
|
/* 02C4FB54 */ /* nop */
|
|
/* 02C4FB58 */ cpu->r[21] = cpu->r[21] ^ cpu->r[6];
|
|
/* 02C4FB58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C4FB5C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FB5C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C4FB5C */ if (_t28) goto L_02C4FB60; else goto L_02C4FABC;
|
|
L_02C4FB60: ; // 0x2c4fb60
|
|
/* 02C4FB60 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 02C4FB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C4FB64 */ cpu->r[30] = cpu->r[30] + 0x00000020u;
|
|
/* 02C4FB68 */ _t29 = cpu->r[29] + cpu->r[24];
|
|
/* 02C4FB68 */ rbrew_write32(cpu->mem, _t29, cpu->r[25]);
|
|
/* 02C4FB6C */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 02C4FB70 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FB70 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C4FB70 */ if (_t31) goto L_02C4FB74; else goto L_02C4FAA4;
|
|
L_02C4FB74: ; // 0x2c4fb74
|
|
/* 02C4FB74 */ /* nop */
|
|
/* 02C4FB78 */ _t32 = cpu->r[1] + 0x00000084u;
|
|
/* 02C4FB78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C4FB7C */ cpu->lr = cpu->r[0];
|
|
/* 02C4FB80 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02C4FB84 */ return;
|
|
}
|
|
|
|
// fn_02C4FB88 @ 0x2c4fb88
|
|
void Gambit_fn_02C4FB88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92;
|
|
|
|
L_02C4FB88: ; // 0x2c4fb88
|
|
/* 02C4FB88 */ _t0 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 02C4FB88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4FB88 */ cpu->r[1] = _t0;
|
|
/* 02C4FB8C */ /* nop */
|
|
/* 02C4FB90 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4FB94 */ _t1 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02C4FB94 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4FB98 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C4FB9C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C4FBA0 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C4FBA4 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02C4FBA4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4FBA8 */ cpu->r[21] = cpu->r[28];
|
|
/* 02C4FBAC */ _t3 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02C4FBAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4FBB0 */ cpu->r[10] = cpu->r[25] + 0x0000000Cu;
|
|
/* 02C4FBB4 */ cpu->r[31] = cpu->r[21];
|
|
/* 02C4FBB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4FBBC */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 02C4FBBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4FBC0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FBC0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C4FBC0 */ if (_t6) goto L_02C4FBC8; else goto L_02C4FBC4;
|
|
L_02C4FBC4: ; // 0x2c4fbc4
|
|
/* 02C4FBC4 */ cpu->r[31] = cpu->r[10] + cpu->r[12];
|
|
L_02C4FBC8: ; // 0x2c4fbc8
|
|
/* 02C4FBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4FBCC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FBCC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C4FBCC */ if (_t8) goto L_02C4FBD0; else goto L_02C4FBF4;
|
|
L_02C4FBD0: ; // 0x2c4fbd0
|
|
/* 02C4FBD0 */ _t9 = cpu->r[30] + 0x00000008u;
|
|
/* 02C4FBD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4FBD4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4FBD4 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02C4FBD8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4FBD8 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 02C4FBDC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4FBDC */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02C4FBE0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4FBE4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4FBE4 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 02C4FBE8 */ Gambit_fn_02C59B98(cpu);
|
|
/* 02C4FBEC */ cpu->r[9] = cpu->r[3] + 0x0000003Fu;
|
|
/* 02C4FBF0 */ cpu->r[21] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
L_02C4FBF4: ; // 0x2c4fbf4
|
|
/* 02C4FBF4 */ _t14 = cpu->r[25] + 0x00000022u;
|
|
/* 02C4FBF4 */ cpu->r[20] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C4FBF8 */ _t15 = cpu->r[30] + 0x00000014u;
|
|
/* 02C4FBF8 */ cpu->r[18] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C4FBFC */ cpu->r[17] = cpu->r[20];
|
|
/* 02C4FBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02C4FC00 */ _t16 = cpu->r[25] + 0x00000024u;
|
|
/* 02C4FC00 */ cpu->r[23] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C4FC04 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C4FC08 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 02C4FC08 */ cpu->r[24] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C4FC0C */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4FC0C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C4FC0C */ if (_t19) goto L_02C4FC10; else goto L_02C4FCF8;
|
|
L_02C4FC10: ; // 0x2c4fc10
|
|
/* 02C4FC10 */ cpu->r[19] = 0x00000000u;
|
|
/* 02C4FC14 */ cpu->r[31] = cpu->r[31] + 0x00000014u;
|
|
/* 02C4FC18 */ cpu->r[22] = 0x00000001u;
|
|
/* 02C4FC1C */ cpu->r[16] = cpu->r[19];
|
|
/* 02C4FC20 */ cpu->r[27] = cpu->r[25] + 0x00000014u;
|
|
L_02C4FC24: ; // 0x2c4fc24
|
|
/* 02C4FC24 */ _t20 = cpu->r[27] + 0x00000000u;
|
|
/* 02C4FC24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C4FC28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4FC2C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4FC30 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FC30 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C4FC30 */ if (_t22) goto L_02C4FC38; else goto L_02C4FC34;
|
|
L_02C4FC34: ; // 0x2c4fc34
|
|
/* 02C4FC34 */ cpu->r[4] = cpu->r[27] + cpu->r[0];
|
|
L_02C4FC38: ; // 0x2c4fc38
|
|
/* 02C4FC38 */ cpu->r[11] = cpu->r[4] + cpu->r[16];
|
|
/* 02C4FC3C */ _t23 = cpu->r[11] + 0x00000024u;
|
|
/* 02C4FC3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C4FC40 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C4FC44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C4FC48 */ cpu->r[7] = cpu->r[11] + 0x00000024u;
|
|
/* 02C4FC4C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FC4C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C4FC4C */ if (_t25) goto L_02C4FC54; else goto L_02C4FC50;
|
|
L_02C4FC50: ; // 0x2c4fc50
|
|
/* 02C4FC50 */ cpu->r[8] = cpu->r[7] + cpu->r[4];
|
|
L_02C4FC54: ; // 0x2c4fc54
|
|
/* 02C4FC54 */ _t26 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C4FC54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C4FC58 */ _t27 = cpu->r[1] + 0x00000020u;
|
|
/* 02C4FC58 */ rbrew_write32(cpu->mem, _t27, cpu->r[19]);
|
|
/* 02C4FC5C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4FC5C */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
/* 02C4FC60 */ _t29 = cpu->r[1] + 0x00000015u;
|
|
/* 02C4FC60 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[19]);
|
|
/* 02C4FC64 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4FC64 */ rbrew_write32(cpu->mem, _t30, cpu->r[19]);
|
|
/* 02C4FC68 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4FC68 */ rbrew_write32(cpu->mem, _t31, cpu->r[22]);
|
|
/* 02C4FC6C */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4FC6C */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[19]);
|
|
/* 02C4FC70 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4FC70 */ rbrew_write32(cpu->mem, _t33, cpu->r[19]);
|
|
/* 02C4FC74 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4FC74 */ rbrew_write32(cpu->mem, _t34, cpu->r[8]);
|
|
/* 02C4FC78 */ _t35 = cpu->r[31] + 0x00000000u;
|
|
/* 02C4FC78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C4FC7C */ _t36 = cpu->r[8] + 0x00000010u;
|
|
/* 02C4FC7C */ cpu->r[8] = rbrew_read16(cpu->mem, _t36);
|
|
/* 02C4FC80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C4FC84 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C4FC88 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FC88 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C4FC88 */ if (_t38) goto L_02C4FC90; else goto L_02C4FC8C;
|
|
L_02C4FC8C: ; // 0x2c4fc8c
|
|
/* 02C4FC8C */ cpu->r[11] = cpu->r[31] + cpu->r[5];
|
|
L_02C4FC90: ; // 0x2c4fc90
|
|
/* 02C4FC90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C4FC94 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02C4FC98 */ _t39 = cpu->r[12] + 0x00000010u;
|
|
/* 02C4FC98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C4FC9C */ cpu->r[12] = 0x00000001u;
|
|
/* 02C4FCA0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000000Du, 0x0000000Fu);
|
|
/* 02C4FCA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C4FCA4 */ _t40 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C4FCA4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C4FCA8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FCA8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C4FCA8 */ if (_t42) goto L_02C4FCAC; else goto L_02C4FCB0;
|
|
L_02C4FCAC: ; // 0x2c4fcac
|
|
/* 02C4FCAC */ cpu->r[12] = 0x00000000u;
|
|
L_02C4FCB0: ; // 0x2c4fcb0
|
|
/* 02C4FCB0 */ _t43 = cpu->r[30] + 0x00000018u;
|
|
/* 02C4FCB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C4FCB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C4FCB8 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4FCB8 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[12]);
|
|
/* 02C4FCBC */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4FCBC */ rbrew_write32(cpu->mem, _t45, cpu->r[18]);
|
|
/* 02C4FCC0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FCC0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C4FCC0 */ if (_t47) goto L_02C4FCC8; else goto L_02C4FCC4;
|
|
L_02C4FCC4: ; // 0x2c4fcc4
|
|
/* 02C4FCC4 */ cpu->r[4] = 0x00000001u;
|
|
L_02C4FCC8: ; // 0x2c4fcc8
|
|
/* 02C4FCC8 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C4FCC8 */ rbrew_write32(cpu->mem, _t48, cpu->r[19]);
|
|
/* 02C4FCCC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4FCD0 */ _t49 = cpu->r[1] + 0x00000020u;
|
|
/* 02C4FCD0 */ rbrew_write32(cpu->mem, _t49, cpu->r[19]);
|
|
/* 02C4FCD4 */ _t50 = cpu->r[1] + 0x00000015u;
|
|
/* 02C4FCD4 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[4]);
|
|
/* 02C4FCD8 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02C4FCD8 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02C4FCDC */ Gambit_fn_02C52FE8(cpu);
|
|
/* 02C4FCE0 */ cpu->r[6] = cpu->r[3] + 0x0000001Fu;
|
|
/* 02C4FCE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x0000001Au);
|
|
/* 02C4FCE8 */ cpu->r[26] = cpu->r[26] + cpu->r[0];
|
|
/* 02C4FCEC */ cpu->r[17] = cpu->r[17] + 0xFFFFFFFFu;
|
|
/* 02C4FCEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02C4FCF0 */ cpu->r[16] = cpu->r[16] + 0x00000010u;
|
|
/* 02C4FCF4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FCF4 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C4FCF4 */ if (_t53) goto L_02C4FCF8; else goto L_02C4FC24;
|
|
L_02C4FCF8: ; // 0x2c4fcf8
|
|
/* 02C4FCF8 */ cpu->r[19] = cpu->r[23];
|
|
/* 02C4FCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 02C4FCFC */ cpu->r[27] = 0x00000000u;
|
|
/* 02C4FD00 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4FD00 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C4FD00 */ if (_t55) goto L_02C4FD04; else goto L_02C4FD74;
|
|
L_02C4FD04: ; // 0x2c4fd04
|
|
/* 02C4FD04 */ cpu->r[22] = 0x00000000u;
|
|
/* 02C4FD08 */ cpu->r[31] = cpu->r[25] + 0x00000018u;
|
|
/* 02C4FD0C */ cpu->r[25] = cpu->r[22];
|
|
L_02C4FD10: ; // 0x2c4fd10
|
|
/* 02C4FD10 */ _t56 = cpu->r[31] + 0x00000000u;
|
|
/* 02C4FD10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C4FD14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4FD18 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C4FD1C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FD1C */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C4FD1C */ if (_t58) goto L_02C4FD24; else goto L_02C4FD20;
|
|
L_02C4FD20: ; // 0x2c4fd20
|
|
/* 02C4FD20 */ cpu->r[8] = cpu->r[31] + cpu->r[6];
|
|
L_02C4FD24: ; // 0x2c4fd24
|
|
/* 02C4FD24 */ cpu->r[10] = cpu->r[8] + cpu->r[25];
|
|
/* 02C4FD28 */ _t59 = cpu->r[10] + 0x00000024u;
|
|
/* 02C4FD28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C4FD2C */ cpu->r[11] = cpu->r[10] + 0x00000024u;
|
|
/* 02C4FD30 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C4FD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C4FD38 */ _t60 = cpu->r[30] + 0x00000010u;
|
|
/* 02C4FD38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C4FD3C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FD3C */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C4FD3C */ if (_t62) goto L_02C4FD44; else goto L_02C4FD40;
|
|
L_02C4FD40: ; // 0x2c4fd40
|
|
/* 02C4FD40 */ cpu->r[12] = cpu->r[11] + cpu->r[7];
|
|
L_02C4FD44: ; // 0x2c4fd44
|
|
/* 02C4FD44 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 02C4FD44 */ rbrew_write32(cpu->mem, _t63, cpu->r[22]);
|
|
/* 02C4FD48 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C4FD4C */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4FD4C */ rbrew_write32(cpu->mem, _t64, cpu->r[22]);
|
|
/* 02C4FD50 */ _t65 = cpu->r[1] + 0x00000008u;
|
|
/* 02C4FD50 */ rbrew_write32(cpu->mem, _t65, cpu->r[12]);
|
|
/* 02C4FD54 */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4FD54 */ rbrew_write32(cpu->mem, _t66, cpu->r[0]);
|
|
/* 02C4FD58 */ Gambit_fn_02C4F2C8(cpu);
|
|
/* 02C4FD5C */ cpu->r[4] = cpu->r[3] + 0x00000003u;
|
|
/* 02C4FD60 */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4FD64 */ cpu->r[27] = cpu->r[27] + cpu->r[5];
|
|
/* 02C4FD68 */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu;
|
|
/* 02C4FD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 02C4FD6C */ cpu->r[25] = cpu->r[25] + 0x00000010u;
|
|
/* 02C4FD70 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FD70 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C4FD70 */ if (_t68) goto L_02C4FD74; else goto L_02C4FD10;
|
|
L_02C4FD74: ; // 0x2c4fd74
|
|
/* 02C4FD74 */ _t69 = cpu->r[29] + 0x00000008u;
|
|
/* 02C4FD74 */ rbrew_write32(cpu->mem, _t69, cpu->r[21]);
|
|
/* 02C4FD78 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[20] * (int32_t)0x00000034u);
|
|
/* 02C4FD7C */ _t70 = cpu->r[29] + 0x00000010u;
|
|
/* 02C4FD7C */ rbrew_write32(cpu->mem, _t70, cpu->r[26]);
|
|
/* 02C4FD80 */ cpu->r[7] = 0x0000004Cu;
|
|
/* 02C4FD84 */ _t71 = cpu->r[29] + 0x00000018u;
|
|
/* 02C4FD84 */ rbrew_write32(cpu->mem, _t71, cpu->r[27]);
|
|
/* 02C4FD88 */ cpu->r[11] = cpu->r[24] + 0x0000001Fu;
|
|
/* 02C4FD8C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[23] * (int32_t)0x0000003Cu);
|
|
/* 02C4FD90 */ _t72 = cpu->r[29] + 0x00000020u;
|
|
/* 02C4FD90 */ rbrew_write32(cpu->mem, _t72, cpu->r[7]);
|
|
/* 02C4FD94 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C4FD98 */ _t73 = cpu->r[29] + 0x00000028u;
|
|
/* 02C4FD98 */ rbrew_write32(cpu->mem, _t73, cpu->r[9]);
|
|
/* 02C4FD9C */ cpu->r[0] = cpu->r[23] + 0x0000001Fu;
|
|
/* 02C4FDA0 */ _t74 = cpu->r[29] + 0x00000030u;
|
|
/* 02C4FDA0 */ rbrew_write32(cpu->mem, _t74, cpu->r[10]);
|
|
/* 02C4FDA4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C4FDA8 */ _t75 = cpu->r[29] + 0x00000038u;
|
|
/* 02C4FDA8 */ rbrew_write32(cpu->mem, _t75, cpu->r[12]);
|
|
/* 02C4FDAC */ _t76 = cpu->r[29] + 0x00000040u;
|
|
/* 02C4FDAC */ rbrew_write32(cpu->mem, _t76, cpu->r[5]);
|
|
/* 02C4FDB0 */ _t77 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C4FDB0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t77);
|
|
/* 02C4FDB4 */ cpu->r[11] = cpu->r[29] + 0x00000008u;
|
|
/* 02C4FDB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4FDBC */ cpu->r[6] = 0x00000000u;
|
|
/* 02C4FDC0 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FDC0 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C4FDC0 */ if (_t79) goto L_02C4FDC8; else goto L_02C4FDC4;
|
|
L_02C4FDC4: ; // 0x2c4fdc4
|
|
/* 02C4FDC4 */ cpu->r[6] = 0x00000010u;
|
|
L_02C4FDC8: ; // 0x2c4fdc8
|
|
/* 02C4FDC8 */ cpu->r[8] = 0x00000008u;
|
|
/* 02C4FDCC */ cpu->r[10] = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C4FDD0 */ _t80 = cpu->r[11] + 0x00000040u;
|
|
/* 02C4FDD0 */ rbrew_write32(cpu->mem, _t80, cpu->r[6]);
|
|
/* 02C4FDD4 */ cpu->ctr = cpu->r[8];
|
|
/* 02C4FDD8 */ _t81 = cpu->r[11] + 0x00000004u;
|
|
/* 02C4FDD8 */ rbrew_write32(cpu->mem, _t81, cpu->r[28]);
|
|
L_02C4FDDC: ; // 0x2c4fddc
|
|
/* 02C4FDDC */ _t82 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C4FDDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C4FDE0 */ _t83 = cpu->r[10] + 0x00000008u;
|
|
/* 02C4FDE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C4FDE0 */ cpu->r[10] = _t83;
|
|
/* 02C4FDE4 */ cpu->r[7] = cpu->r[9] + cpu->r[0];
|
|
/* 02C4FDE8 */ _t84 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C4FDE8 */ rbrew_write32(cpu->mem, _t84, cpu->r[7]);
|
|
/* 02C4FDEC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4FDEC */ _t85 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4FDEC */ _t86 = _t85 >> (0x00000002u & 31u);
|
|
/* 02C4FDEC */ _t87 = _t86 & 0x00000001u;
|
|
/* 02C4FDEC */ if (_t87) goto L_02C4FDDC; else goto L_02C4FDF0;
|
|
L_02C4FDF0: ; // 0x2c4fdf0
|
|
/* 02C4FDF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C4FDF4 */ cpu->r[5] = cpu->r[11] + cpu->r[0];
|
|
/* 02C4FDF8 */ _t88 = cpu->r[11] + cpu->r[0];
|
|
/* 02C4FDF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C4FDFC */ _t89 = cpu->r[5] + 0x00000004u;
|
|
/* 02C4FDFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C4FE00 */ _t90 = cpu->r[29] + 0x00000000u;
|
|
/* 02C4FE00 */ rbrew_write32(cpu->mem, _t90, cpu->r[11]);
|
|
/* 02C4FE04 */ cpu->r[6] = cpu->r[8] + cpu->r[9];
|
|
/* 02C4FE08 */ _t91 = cpu->r[29] + 0x00000004u;
|
|
/* 02C4FE08 */ rbrew_write32(cpu->mem, _t91, cpu->r[6]);
|
|
/* 02C4FE0C */ /* nop */
|
|
/* 02C4FE10 */ _t92 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02C4FE10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C4FE14 */ cpu->lr = cpu->r[0];
|
|
/* 02C4FE18 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 02C4FE1C */ return;
|
|
}
|
|
|
|
// fn_02C4FE20 @ 0x2c4fe20
|
|
void Gambit_fn_02C4FE20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C4FE20: ; // 0x2c4fe20
|
|
/* 02C4FE20 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4FE24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4FE24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4FE24 */ cpu->r[1] = _t0;
|
|
/* 02C4FE28 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4FE28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4FE2C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4FE30 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
|
|
/* 02C4FE34 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4FE38 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4FE38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4FE3C */ Gambit_fn_02C4FB88(cpu);
|
|
/* 02C4FE40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4FE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4FE44 */ _t4 = cpu->r[31] + 0x00000024u;
|
|
/* 02C4FE44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4FE48 */ cpu->lr = cpu->r[0];
|
|
/* 02C4FE4C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4FE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4FE50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4FE54 */ return;
|
|
}
|
|
|
|
// fn_02C4FE24 @ 0x2c4fe24
|
|
void Gambit_fn_02C4FE24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C4FE24: ; // 0x2c4fe24
|
|
/* 02C4FE24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C4FE24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4FE24 */ cpu->r[1] = _t0;
|
|
/* 02C4FE28 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4FE28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C4FE2C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C4FE30 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
|
|
/* 02C4FE34 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C4FE38 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4FE38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C4FE3C */ Gambit_fn_02C4FB88(cpu);
|
|
/* 02C4FE40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C4FE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4FE44 */ _t4 = cpu->r[31] + 0x00000024u;
|
|
/* 02C4FE44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4FE48 */ cpu->lr = cpu->r[0];
|
|
/* 02C4FE4C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C4FE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4FE50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C4FE54 */ return;
|
|
}
|
|
|
|
// fn_02C4FE58 @ 0x2c4fe58
|
|
void Gambit_fn_02C4FE58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C4FE58: ; // 0x2c4fe58
|
|
/* 02C4FE58 */ _t0 = cpu->r[3] + 0x00000018u;
|
|
/* 02C4FE58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C4FE5C */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C4FE5C */ cpu->r[9] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C4FE60 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C4FE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C4FE68 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FE68 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C4FE68 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4FE68 */ goto L_02C4FE6C;
|
|
L_02C4FE6C: ; // 0x2c4fe6c
|
|
/* 02C4FE6C */ cpu->r[11] = 0x00000001u;
|
|
/* 02C4FE70 */ cpu->r[10] = 0x00000000u;
|
|
L_02C4FE74: ; // 0x2c4fe74
|
|
/* 02C4FE74 */ _t4 = cpu->r[12] + 0x00000008u;
|
|
/* 02C4FE74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4FE78 */ /* nop */
|
|
/* 02C4FE7C */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02C4FE7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4FE80 */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
/* 02C4FE84 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4FE88 */ _t6 = cpu->r[12] + 0x00000010u;
|
|
/* 02C4FE88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4FE8C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 02C4FE90 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C4FE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C4FE94 */ _t7 = cpu->r[8] + cpu->r[7];
|
|
/* 02C4FE94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4FE94 */ cpu->r[8] = _t7;
|
|
/* 02C4FE98 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4FE9C */ /* nop */
|
|
/* 02C4FEA0 */ /* nop */
|
|
/* 02C4FEA4 */ _t8 = ~cpu->r[5];
|
|
/* 02C4FEA4 */ cpu->r[12] = cpu->r[6] & _t8;
|
|
/* 02C4FEA8 */ cpu->r[10] = cpu->r[10] + 0x00000040u;
|
|
/* 02C4FEAC */ cpu->r[12] = cpu->r[12] | cpu->r[7];
|
|
/* 02C4FEB0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C4FEB4 */ _t9 = cpu->r[8] + 0x00000000u;
|
|
/* 02C4FEB4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C4FEB8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FEB8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C4FEB8 */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4FEB8 */ goto L_02C4FEBC;
|
|
L_02C4FEBC: ; // 0x2c4febc
|
|
/* 02C4FEBC */ _t12 = cpu->r[3] + 0x00000018u;
|
|
/* 02C4FEBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C4FEC0 */ goto L_02C4FE74;
|
|
}
|
|
|
|
// fn_02C4FEC4 @ 0x2c4fec4
|
|
void Gambit_fn_02C4FEC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C4FEC4: ; // 0x2c4fec4
|
|
/* 02C4FEC4 */ _t0 = cpu->r[3] + 0x00000016u;
|
|
/* 02C4FEC4 */ cpu->r[6] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C4FEC8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C4FECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C4FED0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FED0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C4FED0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C4FED0 */ goto L_02C4FED4;
|
|
L_02C4FED4: ; // 0x2c4fed4
|
|
/* 02C4FED4 */ cpu->ctr = cpu->r[6];
|
|
/* 02C4FED8 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C4FEDC */ cpu->r[8] = 0x00000001u;
|
|
L_02C4FEE0: ; // 0x2c4fee0
|
|
/* 02C4FEE0 */ /* nop */
|
|
/* 02C4FEE4 */ _t3 = cpu->r[3] + 0x00000020u;
|
|
/* 02C4FEE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C4FEE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C4FEEC */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02C4FEEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C4FEF0 */ _t5 = cpu->r[10] + cpu->r[7];
|
|
/* 02C4FEF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4FEF4 */ cpu->r[5] = cpu->r[6] + cpu->r[0];
|
|
/* 02C4FEF8 */ _t6 = cpu->r[11] + 0x00000008u;
|
|
/* 02C4FEF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C4FEFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 02C4FF00 */ _t7 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4FF00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C4FF04 */ /* nop */
|
|
/* 02C4FF08 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C4FF0C */ _t8 = ~cpu->r[9];
|
|
/* 02C4FF0C */ cpu->r[9] = cpu->r[10] & _t8;
|
|
/* 02C4FF10 */ /* nop */
|
|
/* 02C4FF14 */ cpu->r[7] = cpu->r[7] + 0x0000003Cu;
|
|
/* 02C4FF18 */ cpu->r[10] = cpu->r[9] | cpu->r[6];
|
|
/* 02C4FF1C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C4FF20 */ _t9 = cpu->r[5] + 0x00000000u;
|
|
/* 02C4FF20 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02C4FF24 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C4FF24 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C4FF24 */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02C4FF24 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C4FF24 */ if (_t12) goto L_02C4FEE0; else goto L_02C4FF28;
|
|
L_02C4FF28: ; // 0x2c4ff28
|
|
/* 02C4FF28 */ return;
|
|
}
|
|
|
|
// fn_02C4FF2C @ 0x2c4ff2c
|
|
void Gambit_fn_02C4FF2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175;
|
|
|
|
L_02C4FF2C: ; // 0x2c4ff2c
|
|
/* 02C4FF2C */ _t0 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 02C4FF2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C4FF2C */ cpu->r[1] = _t0;
|
|
/* 02C4FF30 */ /* nop */
|
|
/* 02C4FF34 */ cpu->r[0] = cpu->lr;
|
|
/* 02C4FF38 */ _t1 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02C4FF38 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C4FF3C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C4FF40 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C4FF44 */ _t2 = cpu->r[27] + 0x00000020u;
|
|
/* 02C4FF44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C4FF48 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C4FF4C */ cpu->r[31] = cpu->r[6];
|
|
/* 02C4FF50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C4FF54 */ cpu->r[23] = cpu->r[27] + 0x00000020u;
|
|
/* 02C4FF58 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FF58 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C4FF58 */ if (_t4) goto L_02C4FF5C; else goto L_02C4FF68;
|
|
L_02C4FF5C: ; // 0x2c4ff5c
|
|
/* 02C4FF5C */ cpu->r[3] = cpu->r[23];
|
|
/* 02C4FF60 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C4FF64 */ Gambit_fn_02C4FB88(cpu);
|
|
L_02C4FF68: ; // 0x2c4ff68
|
|
/* 02C4FF68 */ _t5 = cpu->r[23] + 0x00000004u;
|
|
/* 02C4FF68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C4FF6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02C4FF70 */ cpu->r[22] = 0x00000000u;
|
|
/* 02C4FF74 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C4FF74 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C4FF74 */ if (_t7) goto L_02C4FF78; else goto L_02C4FF90;
|
|
L_02C4FF78: ; // 0x2c4ff78
|
|
/* 02C4FF78 */ /* nop */
|
|
/* 02C4FF7C */ _t8 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02C4FF7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C4FF80 */ cpu->lr = cpu->r[0];
|
|
/* 02C4FF84 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 02C4FF88 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C4FF8C */ return;
|
|
L_02C4FF90: ; // 0x2c4ff90
|
|
/* 02C4FF90 */ _t9 = cpu->r[27] + 0x00000000u;
|
|
/* 02C4FF90 */ cpu->r[24] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C4FF94 */ _t10 = cpu->r[27] + 0x00000014u;
|
|
/* 02C4FF94 */ cpu->r[25] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C4FF98 */ cpu->r[11] = cpu->r[24] + 0x0000000Cu;
|
|
/* 02C4FF9C */ _t11 = cpu->r[24] + 0x0000000Cu;
|
|
/* 02C4FF9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C4FFA0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C4FFA4 */ _t12 = cpu->r[24] + 0x00000024u;
|
|
/* 02C4FFA4 */ cpu->r[30] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C4FFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4FFAC */ _t13 = cpu->r[24] + 0x00000022u;
|
|
/* 02C4FFAC */ cpu->r[28] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C4FFB0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FFB0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C4FFB0 */ if (_t15) goto L_02C4FFB8; else goto L_02C4FFB4;
|
|
L_02C4FFB4: ; // 0x2c4ffb4
|
|
/* 02C4FFB4 */ cpu->r[0] = cpu->r[11] + cpu->r[12];
|
|
L_02C4FFB8: ; // 0x2c4ffb8
|
|
/* 02C4FFB8 */ _t16 = cpu->r[26] + 0x00000000u;
|
|
/* 02C4FFB8 */ rbrew_write32(cpu->mem, _t16, cpu->r[24]);
|
|
/* 02C4FFBC */ _t17 = cpu->r[23] + 0x00000000u;
|
|
/* 02C4FFBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C4FFC0 */ _t18 = cpu->r[11] + 0x00000030u;
|
|
/* 02C4FFC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C4FFC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C4FFC8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FFC8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C4FFC8 */ if (_t20) goto L_02C4FFD4; else goto L_02C4FFCC;
|
|
L_02C4FFCC: ; // 0x2c4ffcc
|
|
/* 02C4FFCC */ _t21 = cpu->r[11] + 0x00000034u;
|
|
/* 02C4FFCC */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C4FFD0 */ cpu->r[9] = cpu->r[29] + cpu->r[9];
|
|
L_02C4FFD4: ; // 0x2c4ffd4
|
|
/* 02C4FFD4 */ _t22 = cpu->r[26] + 0x00000004u;
|
|
/* 02C4FFD4 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 02C4FFD8 */ _t23 = cpu->r[23] + 0x00000000u;
|
|
/* 02C4FFD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C4FFDC */ _t24 = cpu->r[11] + 0x00000038u;
|
|
/* 02C4FFDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C4FFE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C4FFE4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C4FFE4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C4FFE4 */ if (_t26) goto L_02C4FFF0; else goto L_02C4FFE8;
|
|
L_02C4FFE8: ; // 0x2c4ffe8
|
|
/* 02C4FFE8 */ _t27 = cpu->r[11] + 0x0000003Cu;
|
|
/* 02C4FFE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C4FFEC */ cpu->r[12] = cpu->r[29] + cpu->r[10];
|
|
L_02C4FFF0: ; // 0x2c4fff0
|
|
/* 02C4FFF0 */ _t28 = cpu->r[26] + 0x00000014u;
|
|
/* 02C4FFF0 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[28]);
|
|
/* 02C4FFF4 */ _t29 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C4FFF4 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[25]);
|
|
/* 02C4FFF8 */ _t30 = cpu->r[26] + 0x0000000Eu;
|
|
/* 02C4FFF8 */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[22]);
|
|
/* 02C4FFFC */ _t31 = cpu->r[26] + 0x00000008u;
|
|
/* 02C4FFFC */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02C50000 */ _t32 = cpu->r[26] + 0x00000018u;
|
|
/* 02C50000 */ rbrew_write32(cpu->mem, _t32, cpu->r[22]);
|
|
/* 02C50004 */ _t33 = cpu->r[26] + 0x00000016u;
|
|
/* 02C50004 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[30]);
|
|
/* 02C50008 */ _t34 = cpu->r[23] + 0x00000000u;
|
|
/* 02C50008 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5000C */ _t35 = cpu->r[11] + 0x00000020u;
|
|
/* 02C5000C */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C50010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C50014 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50014 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C50014 */ if (_t37) goto L_02C50020; else goto L_02C50018;
|
|
L_02C50018: ; // 0x2c50018
|
|
/* 02C50018 */ _t38 = cpu->r[11] + 0x00000024u;
|
|
/* 02C50018 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C5001C */ cpu->r[5] = cpu->r[29] + cpu->r[11];
|
|
L_02C50020: ; // 0x2c50020
|
|
/* 02C50020 */ _t39 = cpu->r[26] + 0x0000001Cu;
|
|
/* 02C50020 */ rbrew_write32(cpu->mem, _t39, cpu->r[5]);
|
|
/* 02C50024 */ _t40 = cpu->r[23] + 0x00000000u;
|
|
/* 02C50024 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C50028 */ _t41 = cpu->r[11] + 0x00000028u;
|
|
/* 02C50028 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C5002C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C50030 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50030 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C50030 */ if (_t43) goto L_02C5003C; else goto L_02C50034;
|
|
L_02C50034: ; // 0x2c50034
|
|
/* 02C50034 */ _t44 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C50034 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C50038 */ cpu->r[6] = cpu->r[29] + cpu->r[12];
|
|
L_02C5003C: ; // 0x2c5003c
|
|
/* 02C5003C */ _t45 = cpu->r[26] + 0x00000020u;
|
|
/* 02C5003C */ rbrew_write32(cpu->mem, _t45, cpu->r[6]);
|
|
/* 02C50040 */ _t46 = cpu->r[23] + 0x00000000u;
|
|
/* 02C50040 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C50044 */ _t47 = cpu->r[11] + 0x00000040u;
|
|
/* 02C50044 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C50048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5004C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5004C */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C5004C */ if (_t49) goto L_02C50058; else goto L_02C50050;
|
|
L_02C50050: ; // 0x2c50050
|
|
/* 02C50050 */ _t50 = cpu->r[11] + 0x00000044u;
|
|
/* 02C50050 */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C50054 */ cpu->r[8] = cpu->r[29] + cpu->r[4];
|
|
L_02C50058: ; // 0x2c50058
|
|
/* 02C50058 */ _t51 = cpu->r[26] + 0x00000030u;
|
|
/* 02C50058 */ rbrew_write32(cpu->mem, _t51, cpu->r[22]);
|
|
/* 02C5005C */ _t52 = cpu->r[26] + 0x00000024u;
|
|
/* 02C5005C */ rbrew_write32(cpu->mem, _t52, cpu->r[8]);
|
|
/* 02C50060 */ _t53 = cpu->r[26] + 0x0000002Cu;
|
|
/* 02C50060 */ rbrew_write32(cpu->mem, _t53, cpu->r[29]);
|
|
/* 02C50064 */ _t54 = cpu->r[26] + 0x00000028u;
|
|
/* 02C50064 */ rbrew_write32(cpu->mem, _t54, cpu->r[22]);
|
|
/* 02C50068 */ _t55 = cpu->r[27] + 0x00000004u;
|
|
/* 02C50068 */ cpu->r[4] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C5006C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C50070 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50070 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C50070 */ if (_t57) goto L_02C5008C; else goto L_02C50074;
|
|
L_02C50074: ; // 0x2c50074
|
|
/* 02C50074 */ _t58 = cpu->r[26] + 0x00000018u;
|
|
/* 02C50074 */ rbrew_write32(cpu->mem, _t58, cpu->r[4]);
|
|
/* 02C50078 */ _t59 = cpu->r[23] + 0x00000000u;
|
|
/* 02C50078 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C5007C */ _t60 = cpu->r[11] + 0x00000008u;
|
|
/* 02C5007C */ cpu->r[18] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C50080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 02C50084 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50084 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C50084 */ if (_t62) goto L_02C50088; else goto L_02C5013C;
|
|
L_02C50088: ; // 0x2c50088
|
|
/* 02C50088 */ goto L_02C50144;
|
|
L_02C5008C: ; // 0x2c5008c
|
|
/* 02C5008C */ _t63 = cpu->r[27] + 0x00000008u;
|
|
/* 02C5008C */ cpu->r[5] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C50090 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 02C50090 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 02C50094 */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50094 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 02C50098 */ _t66 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50098 */ rbrew_write32(cpu->mem, _t66, cpu->r[22]);
|
|
/* 02C5009C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C500A0 */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 02C500A0 */ rbrew_write32(cpu->mem, _t67, cpu->r[22]);
|
|
/* 02C500A4 */ Gambit_fn_02C59B98(cpu);
|
|
/* 02C500A8 */ _t68 = cpu->r[23] + 0x00000000u;
|
|
/* 02C500A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C500AC */ _t69 = cpu->r[11] + 0x00000018u;
|
|
/* 02C500AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C500B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C500B4 */ cpu->r[21] = cpu->r[3];
|
|
/* 02C500B8 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C500B8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C500B8 */ if (_t71) goto L_02C500C4; else goto L_02C500BC;
|
|
L_02C500BC: ; // 0x2c500bc
|
|
/* 02C500BC */ _t72 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C500BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C500C0 */ cpu->r[31] = cpu->r[29] + cpu->r[0];
|
|
L_02C500C4: ; // 0x2c500c4
|
|
/* 02C500C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C500C8 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C500C8 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C500C8 */ if (_t74) goto L_02C500FC; else goto L_02C500CC;
|
|
L_02C500CC: ; // 0x2c500cc
|
|
/* 02C500CC */ _t75 = cpu->r[31] + 0x00000000u;
|
|
/* 02C500CC */ rbrew_write32(cpu->mem, _t75, cpu->r[22]);
|
|
/* 02C500D0 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 02C500D4 */ Gambit_fn_02C652AC(cpu);
|
|
/* 02C500D8 */ _t76 = cpu->r[31] + 0x00000044u;
|
|
/* 02C500D8 */ rbrew_write32(cpu->mem, _t76, cpu->r[22]);
|
|
/* 02C500DC */ _t77 = cpu->r[31] + 0x00000040u;
|
|
/* 02C500DC */ rbrew_write32(cpu->mem, _t77, cpu->r[22]);
|
|
/* 02C500E0 */ _t78 = cpu->r[31] + 0x00000048u;
|
|
/* 02C500E0 */ rbrew_write32(cpu->mem, _t78, cpu->r[22]);
|
|
/* 02C500E4 */ _t79 = cpu->r[26] + 0x00000018u;
|
|
/* 02C500E4 */ rbrew_write32(cpu->mem, _t79, cpu->r[31]);
|
|
/* 02C500E8 */ _t80 = cpu->r[23] + 0x00000000u;
|
|
/* 02C500E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C500EC */ _t81 = cpu->r[11] + 0x00000000u;
|
|
/* 02C500EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C500F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C500F4 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C500F4 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C500F4 */ if (_t83) goto L_02C500F8; else goto L_02C50114;
|
|
L_02C500F8: ; // 0x2c500f8
|
|
/* 02C500F8 */ goto L_02C5011C;
|
|
L_02C500FC: ; // 0x2c500fc
|
|
/* 02C500FC */ cpu->r[31] = 0x00000000u;
|
|
/* 02C50100 */ _t84 = cpu->r[26] + 0x00000018u;
|
|
/* 02C50100 */ rbrew_write32(cpu->mem, _t84, cpu->r[31]);
|
|
/* 02C50104 */ _t85 = cpu->r[23] + 0x00000000u;
|
|
/* 02C50104 */ cpu->r[11] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C50108 */ _t86 = cpu->r[11] + 0x00000000u;
|
|
/* 02C50108 */ cpu->r[5] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C5010C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C50110 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50110 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C50110 */ if (_t88) goto L_02C5011C; else goto L_02C50114;
|
|
L_02C50114: ; // 0x2c50114
|
|
/* 02C50114 */ _t89 = cpu->r[11] + 0x00000004u;
|
|
/* 02C50114 */ cpu->r[7] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C50118 */ cpu->r[5] = cpu->r[29] + cpu->r[7];
|
|
L_02C5011C: ; // 0x2c5011c
|
|
/* 02C5011C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C50120 */ cpu->r[6] = cpu->r[21];
|
|
/* 02C50124 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C50128 */ Gambit_fn_02C59F50(cpu);
|
|
/* 02C5012C */ _t90 = cpu->r[23] + 0x00000000u;
|
|
/* 02C5012C */ cpu->r[11] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C50130 */ _t91 = cpu->r[11] + 0x00000008u;
|
|
/* 02C50130 */ cpu->r[18] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C50134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 02C50138 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50138 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02C50138 */ if (_t93) goto L_02C50144; else goto L_02C5013C;
|
|
L_02C5013C: ; // 0x2c5013c
|
|
/* 02C5013C */ _t94 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C5013C */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C50140 */ cpu->r[18] = cpu->r[29] + cpu->r[0];
|
|
L_02C50144: ; // 0x2c50144
|
|
/* 02C50144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C50148 */ cpu->r[17] = 0x00000000u;
|
|
/* 02C5014C */ _t95 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5014C */ _t96 = _t95 & 0x00000001u;
|
|
/* 02C5014C */ if (_t96) goto L_02C50150; else goto L_02C50294;
|
|
L_02C50150: ; // 0x2c50150
|
|
/* 02C50150 */ cpu->r[19] = 0x00000000u;
|
|
/* 02C50154 */ cpu->r[21] = 0x00000001u;
|
|
/* 02C50158 */ cpu->r[20] = cpu->r[19];
|
|
/* 02C5015C */ cpu->r[31] = cpu->r[24] + 0x00000014u;
|
|
/* 02C50160 */ cpu->r[22] = cpu->r[20];
|
|
L_02C50164: ; // 0x2c50164
|
|
/* 02C50164 */ _t97 = cpu->r[31] + 0x00000000u;
|
|
/* 02C50164 */ cpu->r[4] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02C50168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C5016C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C50170 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50170 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02C50170 */ if (_t99) goto L_02C50178; else goto L_02C50174;
|
|
L_02C50174: ; // 0x2c50174
|
|
/* 02C50174 */ cpu->r[5] = cpu->r[31] + cpu->r[4];
|
|
L_02C50178: ; // 0x2c50178
|
|
/* 02C50178 */ cpu->r[4] = cpu->r[5] + cpu->r[22];
|
|
/* 02C5017C */ _t100 = cpu->r[4] + 0x00000024u;
|
|
/* 02C5017C */ cpu->r[5] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C50180 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C50184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C50188 */ cpu->r[6] = cpu->r[4] + 0x00000024u;
|
|
/* 02C5018C */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5018C */ _t102 = _t101 & 0x00000001u;
|
|
/* 02C5018C */ if (_t102) goto L_02C50194; else goto L_02C50190;
|
|
L_02C50190: ; // 0x2c50190
|
|
/* 02C50190 */ cpu->r[7] = cpu->r[6] + cpu->r[5];
|
|
L_02C50194: ; // 0x2c50194
|
|
/* 02C50194 */ _t103 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C50194 */ cpu->r[6] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02C50198 */ _t104 = cpu->r[1] + 0x00000010u;
|
|
/* 02C50198 */ rbrew_write32(cpu->mem, _t104, cpu->r[25]);
|
|
/* 02C5019C */ _t105 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5019C */ rbrew_write32(cpu->mem, _t105, cpu->r[6]);
|
|
/* 02C501A0 */ _t106 = cpu->r[1] + 0x00000020u;
|
|
/* 02C501A0 */ rbrew_write32(cpu->mem, _t106, cpu->r[19]);
|
|
/* 02C501A4 */ _t107 = cpu->r[1] + 0x00000014u;
|
|
/* 02C501A4 */ rbrew_write8(cpu->mem, _t107, (uint8_t)cpu->r[19]);
|
|
/* 02C501A8 */ _t108 = cpu->r[1] + 0x00000015u;
|
|
/* 02C501A8 */ rbrew_write8(cpu->mem, _t108, (uint8_t)cpu->r[19]);
|
|
/* 02C501AC */ _t109 = cpu->r[1] + 0x00000018u;
|
|
/* 02C501AC */ rbrew_write32(cpu->mem, _t109, cpu->r[19]);
|
|
/* 02C501B0 */ _t110 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C501B0 */ rbrew_write32(cpu->mem, _t110, cpu->r[19]);
|
|
/* 02C501B4 */ _t111 = cpu->r[1] + 0x00000008u;
|
|
/* 02C501B4 */ rbrew_write32(cpu->mem, _t111, cpu->r[7]);
|
|
/* 02C501B8 */ _t112 = cpu->r[7] + 0x00000010u;
|
|
/* 02C501B8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t112);
|
|
/* 02C501BC */ _t113 = cpu->r[26] + 0x00000018u;
|
|
/* 02C501BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02C501C0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C501C4 */ _t114 = cpu->r[10] + 0x00000008u;
|
|
/* 02C501C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02C501C8 */ cpu->r[12] = cpu->r[10] + cpu->r[8];
|
|
/* 02C501CC */ _t115 = cpu->r[12] + 0x00000010u;
|
|
/* 02C501CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02C501D0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000000Du, 0x0000000Fu);
|
|
/* 02C501D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C501D4 */ _t116 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02C501D4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t116);
|
|
/* 02C501D8 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C501D8 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02C501D8 */ if (_t118) goto L_02C501DC; else goto L_02C501F0;
|
|
L_02C501DC: ; // 0x2c501dc
|
|
/* 02C501DC */ _t119 = cpu->r[1] + 0x00000014u;
|
|
/* 02C501DC */ rbrew_write8(cpu->mem, _t119, (uint8_t)cpu->r[19]);
|
|
/* 02C501E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C501E4 */ _t120 = cpu->r[27] + 0x00000018u;
|
|
/* 02C501E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02C501E8 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C501E8 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02C501E8 */ if (_t122) goto L_02C50208; else goto L_02C501EC;
|
|
L_02C501EC: ; // 0x2c501ec
|
|
/* 02C501EC */ goto L_02C50204;
|
|
L_02C501F0: ; // 0x2c501f0
|
|
/* 02C501F0 */ cpu->r[17] = 0x00000001u;
|
|
/* 02C501F4 */ _t123 = cpu->r[27] + 0x00000018u;
|
|
/* 02C501F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02C501F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C501FC */ _t124 = cpu->r[1] + 0x00000014u;
|
|
/* 02C501FC */ rbrew_write8(cpu->mem, _t124, (uint8_t)cpu->r[17]);
|
|
/* 02C50200 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50200 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02C50200 */ if (_t126) goto L_02C50208; else goto L_02C50204;
|
|
L_02C50204: ; // 0x2c50204
|
|
/* 02C50204 */ cpu->r[6] = 0x00000001u;
|
|
L_02C50208: ; // 0x2c50208
|
|
/* 02C50208 */ _t127 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C50208 */ rbrew_write32(cpu->mem, _t127, cpu->r[19]);
|
|
/* 02C5020C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C50210 */ _t128 = cpu->r[1] + 0x00000020u;
|
|
/* 02C50210 */ rbrew_write32(cpu->mem, _t128, cpu->r[19]);
|
|
/* 02C50214 */ _t129 = cpu->r[1] + 0x00000015u;
|
|
/* 02C50214 */ rbrew_write8(cpu->mem, _t129, (uint8_t)cpu->r[6]);
|
|
/* 02C50218 */ _t130 = cpu->r[1] + 0x00000018u;
|
|
/* 02C50218 */ rbrew_write32(cpu->mem, _t130, cpu->r[12]);
|
|
/* 02C5021C */ Gambit_fn_02C52FE8(cpu);
|
|
/* 02C50220 */ _t131 = cpu->r[26] + 0x0000001Cu;
|
|
/* 02C50220 */ cpu->r[5] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02C50224 */ cpu->r[0] = cpu->r[3] + 0x0000001Fu;
|
|
/* 02C50228 */ cpu->r[3] = cpu->r[5] + cpu->r[20];
|
|
/* 02C50228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C5022C */ cpu->r[16] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Au);
|
|
/* 02C50230 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50230 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02C50230 */ if (_t133) goto L_02C5026C; else goto L_02C50234;
|
|
L_02C50234: ; // 0x2c50234
|
|
/* 02C50234 */ _t134 = cpu->r[3] + 0x00000028u;
|
|
/* 02C50234 */ rbrew_write32(cpu->mem, _t134, cpu->r[19]);
|
|
/* 02C50238 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5023C */ _t135 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5023C */ rbrew_write32(cpu->mem, _t135, cpu->r[19]);
|
|
/* 02C50240 */ cpu->r[6] = cpu->r[16];
|
|
/* 02C50244 */ _t136 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C50244 */ rbrew_write32(cpu->mem, _t136, cpu->r[19]);
|
|
/* 02C50248 */ cpu->r[5] = cpu->r[18];
|
|
/* 02C5024C */ _t137 = cpu->r[3] + 0x00000030u;
|
|
/* 02C5024C */ rbrew_write32(cpu->mem, _t137, cpu->r[19]);
|
|
/* 02C50250 */ Gambit_fn_02C5308C(cpu);
|
|
/* 02C50254 */ cpu->r[18] = cpu->r[18] + cpu->r[16];
|
|
/* 02C50258 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C50258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C5025C */ cpu->r[22] = cpu->r[22] + 0x00000010u;
|
|
/* 02C50260 */ cpu->r[20] = cpu->r[20] + 0x00000034u;
|
|
/* 02C50264 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50264 */ _t139 = _t138 & 0x00000001u;
|
|
/* 02C50264 */ if (_t139) goto L_02C50268; else goto L_02C50164;
|
|
L_02C50268: ; // 0x2c50268
|
|
/* 02C50268 */ goto L_02C50294;
|
|
L_02C5026C: ; // 0x2c5026c
|
|
/* 02C5026C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C50270 */ cpu->r[6] = cpu->r[16];
|
|
/* 02C50274 */ cpu->r[5] = cpu->r[18];
|
|
/* 02C50278 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5027C */ Gambit_fn_02C5308C(cpu);
|
|
/* 02C50280 */ cpu->r[18] = cpu->r[18] + cpu->r[16];
|
|
/* 02C50284 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C50284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C50288 */ cpu->r[22] = cpu->r[22] + 0x00000010u;
|
|
/* 02C5028C */ cpu->r[20] = cpu->r[20] + 0x00000034u;
|
|
/* 02C50290 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50290 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02C50290 */ if (_t141) goto L_02C50294; else goto L_02C50164;
|
|
L_02C50294: ; // 0x2c50294
|
|
/* 02C50294 */ _t142 = cpu->r[26] + 0x0000000Du;
|
|
/* 02C50294 */ rbrew_write8(cpu->mem, _t142, (uint8_t)cpu->r[17]);
|
|
/* 02C50298 */ _t143 = cpu->r[23] + 0x00000000u;
|
|
/* 02C50298 */ cpu->r[11] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02C5029C */ _t144 = cpu->r[11] + 0x00000010u;
|
|
/* 02C5029C */ cpu->r[25] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02C502A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C502A4 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C502A4 */ _t146 = _t145 & 0x00000001u;
|
|
/* 02C502A4 */ if (_t146) goto L_02C502B0; else goto L_02C502A8;
|
|
L_02C502A8: ; // 0x2c502a8
|
|
/* 02C502A8 */ _t147 = cpu->r[11] + 0x00000014u;
|
|
/* 02C502A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02C502AC */ cpu->r[25] = cpu->r[29] + cpu->r[8];
|
|
L_02C502B0: ; // 0x2c502b0
|
|
/* 02C502B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C502B4 */ _t148 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C502B4 */ _t149 = _t148 & 0x00000001u;
|
|
/* 02C502B4 */ if (_t149) goto L_02C502B8; else goto L_02C50394;
|
|
L_02C502B8: ; // 0x2c502b8
|
|
/* 02C502B8 */ cpu->r[22] = 0x00000000u;
|
|
/* 02C502BC */ cpu->r[28] = cpu->r[24] + 0x00000018u;
|
|
/* 02C502C0 */ cpu->r[23] = cpu->r[22];
|
|
/* 02C502C4 */ cpu->r[24] = cpu->r[22];
|
|
L_02C502C8: ; // 0x2c502c8
|
|
/* 02C502C8 */ _t150 = cpu->r[28] + 0x00000000u;
|
|
/* 02C502C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02C502CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C502D0 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C502D4 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C502D4 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02C502D4 */ if (_t152) goto L_02C502DC; else goto L_02C502D8;
|
|
L_02C502D8: ; // 0x2c502d8
|
|
/* 02C502D8 */ cpu->r[8] = cpu->r[28] + cpu->r[7];
|
|
L_02C502DC: ; // 0x2c502dc
|
|
/* 02C502DC */ cpu->r[4] = cpu->r[8] + cpu->r[24];
|
|
/* 02C502E0 */ _t153 = cpu->r[4] + 0x00000024u;
|
|
/* 02C502E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02C502E4 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C502E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C502EC */ cpu->r[9] = cpu->r[4] + 0x00000024u;
|
|
/* 02C502F0 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C502F0 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02C502F0 */ if (_t155) goto L_02C502F8; else goto L_02C502F4;
|
|
L_02C502F4: ; // 0x2c502f4
|
|
/* 02C502F4 */ cpu->r[10] = cpu->r[9] + cpu->r[0];
|
|
L_02C502F8: ; // 0x2c502f8
|
|
/* 02C502F8 */ _t156 = cpu->r[27] + 0x00000010u;
|
|
/* 02C502F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02C502FC */ _t157 = cpu->r[1] + 0x00000008u;
|
|
/* 02C502FC */ rbrew_write32(cpu->mem, _t157, cpu->r[10]);
|
|
/* 02C50300 */ _t158 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50300 */ rbrew_write32(cpu->mem, _t158, cpu->r[0]);
|
|
/* 02C50304 */ _t159 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50304 */ rbrew_write32(cpu->mem, _t159, cpu->r[23]);
|
|
/* 02C50308 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5030C */ _t160 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5030C */ rbrew_write32(cpu->mem, _t160, cpu->r[23]);
|
|
/* 02C50310 */ Gambit_fn_02C4F2C8(cpu);
|
|
/* 02C50314 */ _t161 = cpu->r[26] + 0x00000020u;
|
|
/* 02C50314 */ cpu->r[10] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02C50318 */ cpu->r[0] = cpu->r[3] + 0x00000003u;
|
|
/* 02C5031C */ cpu->r[31] = cpu->r[10] + cpu->r[22];
|
|
/* 02C5031C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C50320 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C50324 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50324 */ _t163 = _t162 & 0x00000001u;
|
|
/* 02C50324 */ if (_t163) goto L_02C5036C; else goto L_02C50328;
|
|
L_02C50328: ; // 0x2c50328
|
|
/* 02C50328 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 02C5032C */ _t164 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5032C */ rbrew_write32(cpu->mem, _t164, cpu->r[23]);
|
|
/* 02C50330 */ Gambit_fn_02C652AC(cpu);
|
|
/* 02C50334 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C50338 */ _t165 = cpu->r[31] + 0x00000030u;
|
|
/* 02C50338 */ rbrew_write32(cpu->mem, _t165, cpu->r[23]);
|
|
/* 02C5033C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C50340 */ cpu->r[5] = cpu->r[25];
|
|
/* 02C50344 */ _t166 = cpu->r[31] + 0x00000034u;
|
|
/* 02C50344 */ rbrew_write32(cpu->mem, _t166, cpu->r[23]);
|
|
/* 02C50348 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C5034C */ _t167 = cpu->r[31] + 0x00000038u;
|
|
/* 02C5034C */ rbrew_write32(cpu->mem, _t167, cpu->r[23]);
|
|
/* 02C50350 */ Gambit_fn_02C4F38C(cpu);
|
|
/* 02C50354 */ cpu->r[25] = cpu->r[25] + cpu->r[29];
|
|
/* 02C50358 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C50358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C5035C */ cpu->r[24] = cpu->r[24] + 0x00000010u;
|
|
/* 02C50360 */ cpu->r[22] = cpu->r[22] + 0x0000003Cu;
|
|
/* 02C50364 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50364 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02C50364 */ if (_t169) goto L_02C50368; else goto L_02C502C8;
|
|
L_02C50368: ; // 0x2c50368
|
|
/* 02C50368 */ goto L_02C50394;
|
|
L_02C5036C: ; // 0x2c5036c
|
|
/* 02C5036C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C50370 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C50374 */ cpu->r[5] = cpu->r[25];
|
|
/* 02C50378 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5037C */ Gambit_fn_02C4F38C(cpu);
|
|
/* 02C50380 */ cpu->r[25] = cpu->r[25] + cpu->r[29];
|
|
/* 02C50384 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C50384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C50388 */ cpu->r[24] = cpu->r[24] + 0x00000010u;
|
|
/* 02C5038C */ cpu->r[22] = cpu->r[22] + 0x0000003Cu;
|
|
/* 02C50390 */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50390 */ _t171 = _t170 & 0x00000001u;
|
|
/* 02C50390 */ if (_t171) goto L_02C50394; else goto L_02C502C8;
|
|
L_02C50394: ; // 0x2c50394
|
|
/* 02C50394 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C50398 */ Gambit_fn_02C4FE58(cpu);
|
|
/* 02C5039C */ Gambit_fn_02C4FEC4(cpu);
|
|
/* 02C503A0 */ _t172 = cpu->r[26] + 0x00000024u;
|
|
/* 02C503A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02C503A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C503A8 */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C503A8 */ _t174 = _t173 & 0x00000001u;
|
|
/* 02C503A8 */ if (_t174) goto L_02C503B4; else goto L_02C503AC;
|
|
L_02C503AC: ; // 0x2c503ac
|
|
/* 02C503AC */ cpu->r[4] = 0x00000004u;
|
|
/* 02C503B0 */ Gambit_fn_02C89B44(cpu);
|
|
L_02C503B4: ; // 0x2c503b4
|
|
/* 02C503B4 */ /* nop */
|
|
/* 02C503B8 */ _t175 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02C503B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02C503BC */ cpu->lr = cpu->r[0];
|
|
/* 02C503C0 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 02C503C4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C503C8 */ return;
|
|
}
|
|
|
|
// fn_02C503CC @ 0x2c503cc
|
|
void Gambit_fn_02C503CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C503CC: ; // 0x2c503cc
|
|
/* 02C503CC */ cpu->r[0] = cpu->lr;
|
|
/* 02C503D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C503D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C503D0 */ cpu->r[1] = _t0;
|
|
/* 02C503D4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C503D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C503D8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C503D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C503DC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C503DC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C503E0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C503E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C503E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C503E8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C503E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C503EC */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 02C503EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C503F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C503F4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C503F8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C503F8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C503F8 */ if (_t8) goto L_02C50414; else goto L_02C503FC;
|
|
L_02C503FC: ; // 0x2c503fc
|
|
/* 02C503FC */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02C503FC */ cpu->r[7] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C50400 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C50400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C50404 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50404 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C50404 */ if (_t11) goto L_02C50408; else goto L_02C50414;
|
|
L_02C50408: ; // 0x2c50408
|
|
/* 02C50408 */ Gambit_fn_02C5A0A8(cpu);
|
|
/* 02C5040C */ cpu->r[0] = cpu->r[3] + 0x000000FFu;
|
|
/* 02C50410 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
L_02C50414: ; // 0x2c50414
|
|
/* 02C50414 */ _t12 = cpu->r[30] + 0x00000014u;
|
|
/* 02C50414 */ cpu->r[12] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C50418 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C5041C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]);
|
|
/* 02C50420 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50420 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C50420 */ if (_t14) goto L_02C50424; else goto L_02C50460;
|
|
L_02C50424: ; // 0x2c50424
|
|
/* 02C50424 */ cpu->r[29] = 0x00000000u;
|
|
L_02C50428: ; // 0x2c50428
|
|
/* 02C50428 */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C50428 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5042C */ cpu->r[3] = cpu->r[9] + cpu->r[29];
|
|
/* 02C50430 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02C50430 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C50434 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C50434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C50438 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50438 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C50438 */ if (_t18) goto L_02C5043C; else goto L_02C50450;
|
|
L_02C5043C: ; // 0x2c5043c
|
|
/* 02C5043C */ Gambit_fn_02C532E8(cpu);
|
|
/* 02C50440 */ cpu->r[12] = cpu->r[3] + 0x000000FFu;
|
|
/* 02C50444 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02C50448 */ _t19 = cpu->r[30] + 0x00000014u;
|
|
/* 02C50448 */ cpu->r[12] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C5044C */ cpu->r[31] = cpu->r[31] + cpu->r[0];
|
|
L_02C50450: ; // 0x2c50450
|
|
/* 02C50450 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C50454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]);
|
|
/* 02C50458 */ cpu->r[29] = cpu->r[29] + 0x00000034u;
|
|
/* 02C5045C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5045C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5045C */ if (_t21) goto L_02C50428; else goto L_02C50460;
|
|
L_02C50460: ; // 0x2c50460
|
|
/* 02C50460 */ _t22 = cpu->r[30] + 0x00000016u;
|
|
/* 02C50460 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22);
|
|
/* 02C50464 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C50468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02C5046C */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5046C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C5046C */ if (_t24) goto L_02C50470; else goto L_02C504AC;
|
|
L_02C50470: ; // 0x2c50470
|
|
/* 02C50470 */ cpu->r[29] = 0x00000000u;
|
|
L_02C50474: ; // 0x2c50474
|
|
/* 02C50474 */ _t25 = cpu->r[30] + 0x00000020u;
|
|
/* 02C50474 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C50478 */ cpu->r[3] = cpu->r[7] + cpu->r[29];
|
|
/* 02C5047C */ _t26 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5047C */ cpu->r[9] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02C50480 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C50480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C50484 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50484 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C50484 */ if (_t28) goto L_02C50488; else goto L_02C5049C;
|
|
L_02C50488: ; // 0x2c50488
|
|
/* 02C50488 */ Gambit_fn_02C4F54C(cpu);
|
|
/* 02C5048C */ cpu->r[0] = cpu->r[3] + 0x000000FFu;
|
|
/* 02C50490 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02C50494 */ _t29 = cpu->r[30] + 0x00000016u;
|
|
/* 02C50494 */ cpu->r[0] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C50498 */ cpu->r[31] = cpu->r[31] + cpu->r[11];
|
|
L_02C5049C: ; // 0x2c5049c
|
|
/* 02C5049C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C504A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02C504A4 */ cpu->r[29] = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C504A8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C504A8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C504A8 */ if (_t31) goto L_02C50474; else goto L_02C504AC;
|
|
L_02C504AC: ; // 0x2c504ac
|
|
/* 02C504AC */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C504AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C504B0 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C504B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C504B4 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C504B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C504B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C504BC */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02C504BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C504C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C504C4 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02C504C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C504C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C504CC */ return;
|
|
}
|
|
|
|
// fn_02C503D0 @ 0x2c503d0
|
|
void Gambit_fn_02C503D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C503D0: ; // 0x2c503d0
|
|
/* 02C503D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C503D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C503D0 */ cpu->r[1] = _t0;
|
|
/* 02C503D4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C503D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C503D8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C503D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C503DC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C503DC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C503E0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C503E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C503E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C503E8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C503E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C503EC */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 02C503EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C503F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C503F4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C503F8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C503F8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C503F8 */ if (_t8) goto L_02C50414; else goto L_02C503FC;
|
|
L_02C503FC: ; // 0x2c503fc
|
|
/* 02C503FC */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02C503FC */ cpu->r[7] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C50400 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C50400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C50404 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50404 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C50404 */ if (_t11) goto L_02C50408; else goto L_02C50414;
|
|
L_02C50408: ; // 0x2c50408
|
|
/* 02C50408 */ Gambit_fn_02C5A0A8(cpu);
|
|
/* 02C5040C */ cpu->r[0] = cpu->r[3] + 0x000000FFu;
|
|
/* 02C50410 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
L_02C50414: ; // 0x2c50414
|
|
/* 02C50414 */ _t12 = cpu->r[30] + 0x00000014u;
|
|
/* 02C50414 */ cpu->r[12] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C50418 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C5041C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]);
|
|
/* 02C50420 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50420 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C50420 */ if (_t14) goto L_02C50424; else goto L_02C50460;
|
|
L_02C50424: ; // 0x2c50424
|
|
/* 02C50424 */ cpu->r[29] = 0x00000000u;
|
|
L_02C50428: ; // 0x2c50428
|
|
/* 02C50428 */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C50428 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5042C */ cpu->r[3] = cpu->r[9] + cpu->r[29];
|
|
/* 02C50430 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02C50430 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C50434 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C50434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C50438 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50438 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C50438 */ if (_t18) goto L_02C5043C; else goto L_02C50450;
|
|
L_02C5043C: ; // 0x2c5043c
|
|
/* 02C5043C */ Gambit_fn_02C532E8(cpu);
|
|
/* 02C50440 */ cpu->r[12] = cpu->r[3] + 0x000000FFu;
|
|
/* 02C50444 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02C50448 */ _t19 = cpu->r[30] + 0x00000014u;
|
|
/* 02C50448 */ cpu->r[12] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C5044C */ cpu->r[31] = cpu->r[31] + cpu->r[0];
|
|
L_02C50450: ; // 0x2c50450
|
|
/* 02C50450 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C50454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]);
|
|
/* 02C50458 */ cpu->r[29] = cpu->r[29] + 0x00000034u;
|
|
/* 02C5045C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5045C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5045C */ if (_t21) goto L_02C50428; else goto L_02C50460;
|
|
L_02C50460: ; // 0x2c50460
|
|
/* 02C50460 */ _t22 = cpu->r[30] + 0x00000016u;
|
|
/* 02C50460 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22);
|
|
/* 02C50464 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C50468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02C5046C */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5046C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C5046C */ if (_t24) goto L_02C50470; else goto L_02C504AC;
|
|
L_02C50470: ; // 0x2c50470
|
|
/* 02C50470 */ cpu->r[29] = 0x00000000u;
|
|
L_02C50474: ; // 0x2c50474
|
|
/* 02C50474 */ _t25 = cpu->r[30] + 0x00000020u;
|
|
/* 02C50474 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C50478 */ cpu->r[3] = cpu->r[7] + cpu->r[29];
|
|
/* 02C5047C */ _t26 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5047C */ cpu->r[9] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02C50480 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C50480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C50484 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50484 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C50484 */ if (_t28) goto L_02C50488; else goto L_02C5049C;
|
|
L_02C50488: ; // 0x2c50488
|
|
/* 02C50488 */ Gambit_fn_02C4F54C(cpu);
|
|
/* 02C5048C */ cpu->r[0] = cpu->r[3] + 0x000000FFu;
|
|
/* 02C50490 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02C50494 */ _t29 = cpu->r[30] + 0x00000016u;
|
|
/* 02C50494 */ cpu->r[0] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C50498 */ cpu->r[31] = cpu->r[31] + cpu->r[11];
|
|
L_02C5049C: ; // 0x2c5049c
|
|
/* 02C5049C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C504A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02C504A4 */ cpu->r[29] = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C504A8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C504A8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C504A8 */ if (_t31) goto L_02C50474; else goto L_02C504AC;
|
|
L_02C504AC: ; // 0x2c504ac
|
|
/* 02C504AC */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C504AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C504B0 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C504B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C504B4 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C504B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C504B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C504BC */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02C504BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C504C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C504C4 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02C504C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C504C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C504CC */ return;
|
|
}
|
|
|
|
// fn_02C504D0 @ 0x2c504d0
|
|
void Gambit_fn_02C504D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47;
|
|
|
|
L_02C504D0: ; // 0x2c504d0
|
|
/* 02C504D0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C504D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C504D0 */ cpu->r[1] = _t0;
|
|
/* 02C504D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C504D8 */ /* nop */
|
|
/* 02C504DC */ cpu->r[27] = cpu->r[4];
|
|
/* 02C504E0 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C504E4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C504E8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C504E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C504EC */ Gambit_fn_02C503CC(cpu);
|
|
/* 02C504F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 02C504F4 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C504F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C504F4 */ if (_t3) goto L_02C504F8; else goto L_02C50510;
|
|
L_02C504F8: ; // 0x2c504f8
|
|
/* 02C504F8 */ /* nop */
|
|
/* 02C504FC */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C504FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C50500 */ cpu->lr = cpu->r[0];
|
|
/* 02C50504 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C50508 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5050C */ return;
|
|
L_02C50510: ; // 0x2c50510
|
|
/* 02C50510 */ _t5 = cpu->r[28] + 0x00000018u;
|
|
/* 02C50510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C50514 */ _t6 = cpu->r[28] + 0x00000030u;
|
|
/* 02C50514 */ rbrew_write32(cpu->mem, _t6, cpu->r[27]);
|
|
/* 02C50518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C5051C */ cpu->r[31] = 0x00000001u;
|
|
/* 02C50520 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50520 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C50520 */ if (_t8) goto L_02C50564; else goto L_02C50524;
|
|
L_02C50524: ; // 0x2c50524
|
|
/* 02C50524 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02C50524 */ cpu->r[0] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C50528 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C50528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5052C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5052C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C5052C */ if (_t11) goto L_02C50530; else goto L_02C50564;
|
|
L_02C50530: ; // 0x2c50530
|
|
/* 02C50530 */ Gambit_fn_02C5A0A8(cpu);
|
|
/* 02C50534 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C50538 */ _t12 = cpu->r[28] + 0x00000018u;
|
|
/* 02C50538 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5053C */ cpu->r[4] = cpu->r[27];
|
|
/* 02C50540 */ cpu->r[0] = cpu->r[5] + 0x000000FFu;
|
|
/* 02C50544 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C50548 */ cpu->r[30] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02C5054C */ Gambit_fn_02C5A0D0(cpu);
|
|
/* 02C50550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C50554 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50554 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C50554 */ if (_t14) goto L_02C5055C; else goto L_02C50558;
|
|
L_02C50558: ; // 0x2c50558
|
|
/* 02C50558 */ cpu->r[31] = 0x00000001u;
|
|
L_02C5055C: ; // 0x2c5055c
|
|
/* 02C5055C */ cpu->r[27] = cpu->r[27] + cpu->r[30];
|
|
/* 02C50560 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02C50564: ; // 0x2c50564
|
|
/* 02C50564 */ _t15 = cpu->r[28] + 0x00000014u;
|
|
/* 02C50564 */ cpu->r[6] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C50568 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C5056C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[6]);
|
|
/* 02C50570 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50570 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C50570 */ if (_t17) goto L_02C50574; else goto L_02C505E0;
|
|
L_02C50574: ; // 0x2c50574
|
|
/* 02C50574 */ cpu->r[30] = 0x00000000u;
|
|
L_02C50578: ; // 0x2c50578
|
|
/* 02C50578 */ _t18 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C50578 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C5057C */ cpu->r[29] = cpu->r[11] + cpu->r[30];
|
|
/* 02C50580 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 02C50580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C50584 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C50584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C50588 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50588 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C50588 */ if (_t21) goto L_02C5058C; else goto L_02C505D0;
|
|
L_02C5058C: ; // 0x2c5058c
|
|
/* 02C5058C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C50590 */ Gambit_fn_02C532E8(cpu);
|
|
/* 02C50594 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C50598 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C5059C */ cpu->r[6] = cpu->r[5] + 0x000000FFu;
|
|
/* 02C505A0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C505A4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C505A8 */ cpu->r[26] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02C505AC */ Gambit_fn_02C532FC(cpu);
|
|
/* 02C505B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C505B4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C505B4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C505B4 */ if (_t23) goto L_02C505C4; else goto L_02C505B8;
|
|
L_02C505B8: ; // 0x2c505b8
|
|
/* 02C505B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C505BC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C505BC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C505BC */ if (_t25) goto L_02C505C4; else goto L_02C505C0;
|
|
L_02C505C0: ; // 0x2c505c0
|
|
/* 02C505C0 */ cpu->r[29] = 0x00000001u;
|
|
L_02C505C4: ; // 0x2c505c4
|
|
/* 02C505C4 */ _t26 = cpu->r[28] + 0x00000014u;
|
|
/* 02C505C4 */ cpu->r[6] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02C505C8 */ cpu->r[31] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C505CC */ cpu->r[27] = cpu->r[27] + cpu->r[26];
|
|
L_02C505D0: ; // 0x2c505d0
|
|
/* 02C505D0 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C505D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[6]);
|
|
/* 02C505D8 */ cpu->r[30] = cpu->r[30] + 0x00000034u;
|
|
/* 02C505DC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C505DC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C505DC */ if (_t28) goto L_02C50578; else goto L_02C505E0;
|
|
L_02C505E0: ; // 0x2c505e0
|
|
/* 02C505E0 */ _t29 = cpu->r[28] + 0x00000016u;
|
|
/* 02C505E0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C505E4 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C505E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[0]);
|
|
/* 02C505EC */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C505EC */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C505EC */ if (_t31) goto L_02C505F0; else goto L_02C5065C;
|
|
L_02C505F0: ; // 0x2c505f0
|
|
/* 02C505F0 */ cpu->r[30] = 0x00000000u;
|
|
L_02C505F4: ; // 0x2c505f4
|
|
/* 02C505F4 */ _t32 = cpu->r[28] + 0x00000020u;
|
|
/* 02C505F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C505F8 */ cpu->r[29] = cpu->r[8] + cpu->r[30];
|
|
/* 02C505FC */ _t33 = cpu->r[29] + 0x00000004u;
|
|
/* 02C505FC */ cpu->r[10] = rbrew_read16(cpu->mem, _t33);
|
|
/* 02C50600 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C50600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C50604 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50604 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C50604 */ if (_t35) goto L_02C50608; else goto L_02C5064C;
|
|
L_02C50608: ; // 0x2c50608
|
|
/* 02C50608 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C5060C */ Gambit_fn_02C4F54C(cpu);
|
|
/* 02C50610 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C50614 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C50618 */ cpu->r[0] = cpu->r[5] + 0x000000FFu;
|
|
/* 02C5061C */ cpu->r[29] = 0x00000000u;
|
|
/* 02C50620 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C50624 */ cpu->r[26] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02C50628 */ Gambit_fn_02C4F664(cpu);
|
|
/* 02C5062C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C50630 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50630 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C50630 */ if (_t37) goto L_02C50640; else goto L_02C50634;
|
|
L_02C50634: ; // 0x2c50634
|
|
/* 02C50634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C50638 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50638 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C50638 */ if (_t39) goto L_02C50640; else goto L_02C5063C;
|
|
L_02C5063C: ; // 0x2c5063c
|
|
/* 02C5063C */ cpu->r[29] = 0x00000001u;
|
|
L_02C50640: ; // 0x2c50640
|
|
/* 02C50640 */ _t40 = cpu->r[28] + 0x00000016u;
|
|
/* 02C50640 */ cpu->r[0] = rbrew_read16(cpu->mem, _t40);
|
|
/* 02C50644 */ cpu->r[31] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C50648 */ cpu->r[27] = cpu->r[27] + cpu->r[26];
|
|
L_02C5064C: ; // 0x2c5064c
|
|
/* 02C5064C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C50650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[0]);
|
|
/* 02C50654 */ cpu->r[30] = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C50658 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50658 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C50658 */ if (_t42) goto L_02C505F4; else goto L_02C5065C;
|
|
L_02C5065C: ; // 0x2c5065c
|
|
/* 02C5065C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C50660 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50660 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C50660 */ if (_t44) goto L_02C50670; else goto L_02C50664;
|
|
L_02C50664: ; // 0x2c50664
|
|
/* 02C50664 */ _t45 = cpu->r[28] + 0x0000000Eu;
|
|
/* 02C50664 */ cpu->r[0] = rbrew_read16(cpu->mem, _t45);
|
|
/* 02C50668 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02C5066C */ _t46 = cpu->r[28] + 0x0000000Eu;
|
|
/* 02C5066C */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[0]);
|
|
L_02C50670: ; // 0x2c50670
|
|
/* 02C50670 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C50674 */ /* nop */
|
|
/* 02C50678 */ _t47 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C50678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C5067C */ cpu->lr = cpu->r[0];
|
|
/* 02C50680 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C50684 */ return;
|
|
}
|
|
|
|
// fn_02C50688 @ 0x2c50688
|
|
void Gambit_fn_02C50688(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C50688: ; // 0x2c50688
|
|
/* 02C50688 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5068C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5068C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5068C */ cpu->r[1] = _t0;
|
|
/* 02C50690 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50690 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C50694 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C50694 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C50698 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50698 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5069C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C506A0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C506A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C506A4 */ _t5 = cpu->r[30] + 0x00000018u;
|
|
/* 02C506A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C506A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C506AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C506AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C506AC */ if (_t7) goto L_02C506C0; else goto L_02C506B0;
|
|
L_02C506B0: ; // 0x2c506b0
|
|
/* 02C506B0 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C506B0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C506B4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C506B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C506B8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C506B8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C506B8 */ if (_t10) goto L_02C506C0; else goto L_02C506BC;
|
|
L_02C506BC: ; // 0x2c506bc
|
|
/* 02C506BC */ Gambit_fn_02C5A164(cpu);
|
|
L_02C506C0: ; // 0x2c506c0
|
|
/* 02C506C0 */ _t11 = cpu->r[30] + 0x00000014u;
|
|
/* 02C506C0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C506C4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C506C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02C506CC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C506CC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C506CC */ if (_t13) goto L_02C506D0; else goto L_02C50700;
|
|
L_02C506D0: ; // 0x2c506d0
|
|
/* 02C506D0 */ cpu->r[29] = 0x00000000u;
|
|
L_02C506D4: ; // 0x2c506d4
|
|
/* 02C506D4 */ _t14 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C506D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C506D8 */ cpu->r[3] = cpu->r[9] + cpu->r[29];
|
|
/* 02C506DC */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02C506DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C506E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C506E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C506E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C506E4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C506E4 */ if (_t17) goto L_02C506F0; else goto L_02C506E8;
|
|
L_02C506E8: ; // 0x2c506e8
|
|
/* 02C506E8 */ Gambit_fn_02C53520(cpu);
|
|
/* 02C506EC */ _t18 = cpu->r[30] + 0x00000014u;
|
|
/* 02C506EC */ cpu->r[0] = rbrew_read16(cpu->mem, _t18);
|
|
L_02C506F0: ; // 0x2c506f0
|
|
/* 02C506F0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C506F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02C506F8 */ cpu->r[29] = cpu->r[29] + 0x00000034u;
|
|
/* 02C506FC */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C506FC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C506FC */ if (_t20) goto L_02C506D4; else goto L_02C50700;
|
|
L_02C50700: ; // 0x2c50700
|
|
/* 02C50700 */ _t21 = cpu->r[30] + 0x00000016u;
|
|
/* 02C50700 */ cpu->r[6] = rbrew_read16(cpu->mem, _t21);
|
|
/* 02C50704 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C50708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02C5070C */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5070C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C5070C */ if (_t23) goto L_02C50710; else goto L_02C50740;
|
|
L_02C50710: ; // 0x2c50710
|
|
/* 02C50710 */ cpu->r[29] = 0x00000000u;
|
|
L_02C50714: ; // 0x2c50714
|
|
/* 02C50714 */ _t24 = cpu->r[30] + 0x00000020u;
|
|
/* 02C50714 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C50718 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C5071C */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5071C */ cpu->r[11] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02C50720 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C50720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C50724 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50724 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C50724 */ if (_t27) goto L_02C50730; else goto L_02C50728;
|
|
L_02C50728: ; // 0x2c50728
|
|
/* 02C50728 */ Gambit_fn_02C4F740(cpu);
|
|
/* 02C5072C */ _t28 = cpu->r[30] + 0x00000016u;
|
|
/* 02C5072C */ cpu->r[6] = rbrew_read16(cpu->mem, _t28);
|
|
L_02C50730: ; // 0x2c50730
|
|
/* 02C50730 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C50734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02C50738 */ cpu->r[29] = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C5073C */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5073C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C5073C */ if (_t30) goto L_02C50714; else goto L_02C50740;
|
|
L_02C50740: ; // 0x2c50740
|
|
/* 02C50740 */ _t31 = cpu->r[30] + 0x0000000Eu;
|
|
/* 02C50740 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02C50744 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C50748 */ _t32 = cpu->r[30] + 0x0000000Eu;
|
|
/* 02C50748 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[0]);
|
|
/* 02C5074C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5074C */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C50750 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C50750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C50754 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02C50754 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C50758 */ cpu->lr = cpu->r[0];
|
|
/* 02C5075C */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5075C */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C50760 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C50764 */ return;
|
|
}
|
|
|
|
// fn_02C5068C @ 0x2c5068c
|
|
void Gambit_fn_02C5068C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C5068C: ; // 0x2c5068c
|
|
/* 02C5068C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5068C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5068C */ cpu->r[1] = _t0;
|
|
/* 02C50690 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50690 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C50694 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C50694 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C50698 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50698 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5069C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C506A0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C506A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C506A4 */ _t5 = cpu->r[30] + 0x00000018u;
|
|
/* 02C506A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C506A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C506AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C506AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C506AC */ if (_t7) goto L_02C506C0; else goto L_02C506B0;
|
|
L_02C506B0: ; // 0x2c506b0
|
|
/* 02C506B0 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C506B0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C506B4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C506B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C506B8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C506B8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C506B8 */ if (_t10) goto L_02C506C0; else goto L_02C506BC;
|
|
L_02C506BC: ; // 0x2c506bc
|
|
/* 02C506BC */ Gambit_fn_02C5A164(cpu);
|
|
L_02C506C0: ; // 0x2c506c0
|
|
/* 02C506C0 */ _t11 = cpu->r[30] + 0x00000014u;
|
|
/* 02C506C0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C506C4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C506C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02C506CC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C506CC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C506CC */ if (_t13) goto L_02C506D0; else goto L_02C50700;
|
|
L_02C506D0: ; // 0x2c506d0
|
|
/* 02C506D0 */ cpu->r[29] = 0x00000000u;
|
|
L_02C506D4: ; // 0x2c506d4
|
|
/* 02C506D4 */ _t14 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C506D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C506D8 */ cpu->r[3] = cpu->r[9] + cpu->r[29];
|
|
/* 02C506DC */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02C506DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C506E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C506E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C506E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C506E4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C506E4 */ if (_t17) goto L_02C506F0; else goto L_02C506E8;
|
|
L_02C506E8: ; // 0x2c506e8
|
|
/* 02C506E8 */ Gambit_fn_02C53520(cpu);
|
|
/* 02C506EC */ _t18 = cpu->r[30] + 0x00000014u;
|
|
/* 02C506EC */ cpu->r[0] = rbrew_read16(cpu->mem, _t18);
|
|
L_02C506F0: ; // 0x2c506f0
|
|
/* 02C506F0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C506F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02C506F8 */ cpu->r[29] = cpu->r[29] + 0x00000034u;
|
|
/* 02C506FC */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C506FC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C506FC */ if (_t20) goto L_02C506D4; else goto L_02C50700;
|
|
L_02C50700: ; // 0x2c50700
|
|
/* 02C50700 */ _t21 = cpu->r[30] + 0x00000016u;
|
|
/* 02C50700 */ cpu->r[6] = rbrew_read16(cpu->mem, _t21);
|
|
/* 02C50704 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C50708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02C5070C */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5070C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C5070C */ if (_t23) goto L_02C50710; else goto L_02C50740;
|
|
L_02C50710: ; // 0x2c50710
|
|
/* 02C50710 */ cpu->r[29] = 0x00000000u;
|
|
L_02C50714: ; // 0x2c50714
|
|
/* 02C50714 */ _t24 = cpu->r[30] + 0x00000020u;
|
|
/* 02C50714 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C50718 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C5071C */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5071C */ cpu->r[11] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02C50720 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C50720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C50724 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50724 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C50724 */ if (_t27) goto L_02C50730; else goto L_02C50728;
|
|
L_02C50728: ; // 0x2c50728
|
|
/* 02C50728 */ Gambit_fn_02C4F740(cpu);
|
|
/* 02C5072C */ _t28 = cpu->r[30] + 0x00000016u;
|
|
/* 02C5072C */ cpu->r[6] = rbrew_read16(cpu->mem, _t28);
|
|
L_02C50730: ; // 0x2c50730
|
|
/* 02C50730 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C50734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02C50738 */ cpu->r[29] = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C5073C */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5073C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C5073C */ if (_t30) goto L_02C50714; else goto L_02C50740;
|
|
L_02C50740: ; // 0x2c50740
|
|
/* 02C50740 */ _t31 = cpu->r[30] + 0x0000000Eu;
|
|
/* 02C50740 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02C50744 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C50748 */ _t32 = cpu->r[30] + 0x0000000Eu;
|
|
/* 02C50748 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[0]);
|
|
/* 02C5074C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5074C */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C50750 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C50750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C50754 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02C50754 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C50758 */ cpu->lr = cpu->r[0];
|
|
/* 02C5075C */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5075C */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C50760 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C50764 */ return;
|
|
}
|
|
|
|
// fn_02C50768 @ 0x2c50768
|
|
void Gambit_fn_02C50768(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46;
|
|
|
|
L_02C50768: ; // 0x2c50768
|
|
/* 02C50768 */ _t0 = cpu->r[3] + 0x00000018u;
|
|
/* 02C50768 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C5076C */ goto L_02C5A1A0;
|
|
L_02C5A1A0: ; // 0x2c5a1a0
|
|
/* 02C5A1A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5A1A4 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5A1A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C5A1A4 */ cpu->r[1] = _t1;
|
|
/* 02C5A1A8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A1A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5A1AC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5A1B0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A1B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C5A1B4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A1B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5A1B8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5A1B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5A1BC */ _t6 = cpu->r[30] + 0x00000010u;
|
|
/* 02C5A1BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5A1C0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5A1C0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C5A1C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5A1C8 */ _t8 = cpu->r[30] + 0x00000038u;
|
|
/* 02C5A1C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5A1CC */ cpu->r[0] = cpu->r[12] | 0x00000014u;
|
|
/* 02C5A1D0 */ cpu->r[29] = rbrew_rlwinm(cpu->r[12], 0x00000018u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C5A1D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 02C5A1D8 */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5A1D8 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[0]);
|
|
/* 02C5A1DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A1DC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C5A1DC */ if (_t11) goto L_02C5A1E0; else goto L_02C5A1EC;
|
|
L_02C5A1E0: ; // 0x2c5a1e0
|
|
/* 02C5A1E0 */ _t12 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C5A1E0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C5A1E4 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5A1E8 */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
L_02C5A1EC: ; // 0x2c5a1ec
|
|
/* 02C5A1EC */ _t13 = cpu->r[30] + 0x00000030u;
|
|
/* 02C5A1EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5A1F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5A1F4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A1F4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C5A1F4 */ if (_t15) goto L_02C5A28C; else goto L_02C5A1F8;
|
|
L_02C5A1F8: ; // 0x2c5a1f8
|
|
/* 02C5A1F8 */ _t16 = cpu->r[30] + 0x0000002Eu;
|
|
/* 02C5A1F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C5A1FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000FFFFu);
|
|
/* 02C5A200 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A200 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5A200 */ if (_t18) goto L_02C5A28C; else goto L_02C5A204;
|
|
L_02C5A204: ; // 0x2c5a204
|
|
/* 02C5A204 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5A208 */ cpu->r[8] = cpu->r[7] + 0x101B0000u;
|
|
/* 02C5A20C */ cpu->r[9] = cpu->r[8] + 0xFFFFEFA0u;
|
|
/* 02C5A210 */ _t19 = cpu->r[9] + 0x00000002u;
|
|
/* 02C5A210 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t19);
|
|
/* 02C5A214 */ _t20 = cpu->r[8] + 0xFFFFEFA0u;
|
|
/* 02C5A214 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t20);
|
|
/* 02C5A218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5A21C */ cpu->r[3] = cpu->r[30] + cpu->r[11];
|
|
/* 02C5A220 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5A220 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C5A220 */ if (_t22) goto L_02C5A224; else goto L_02C5A250;
|
|
L_02C5A224: ; // 0x2c5a224
|
|
/* 02C5A224 */ _t23 = cpu->r[9] + 0x00000004u;
|
|
/* 02C5A224 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5A228 */ cpu->ctr = cpu->r[6];
|
|
/* 02C5A22C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5A230 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5A234 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A234 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5A238 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5A238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5A23C */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A23C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5A240 */ cpu->lr = cpu->r[0];
|
|
/* 02C5A244 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A244 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5A248 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5A24C */ return;
|
|
L_02C5A250: ; // 0x2c5a250
|
|
/* 02C5A250 */ _t28 = cpu->r[9] + 0x00000006u;
|
|
/* 02C5A250 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t28);
|
|
/* 02C5A254 */ _t29 = cpu->r[3] + cpu->r[12];
|
|
/* 02C5A254 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C5A258 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5A25C */ cpu->r[10] = cpu->r[9] + cpu->r[7];
|
|
/* 02C5A260 */ _t30 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5A260 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C5A264 */ cpu->ctr = cpu->r[6];
|
|
/* 02C5A268 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5A26C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5A270 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A270 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C5A274 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5A274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C5A278 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A278 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5A27C */ cpu->lr = cpu->r[0];
|
|
/* 02C5A280 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A280 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5A284 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5A288 */ return;
|
|
L_02C5A28C: ; // 0x2c5a28c
|
|
/* 02C5A28C */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5A290 */ cpu->r[11] = cpu->r[10] + 0x101B0000u;
|
|
/* 02C5A294 */ cpu->r[8] = cpu->r[11] + 0xFFFFEF80u;
|
|
/* 02C5A298 */ _t35 = cpu->r[8] + 0x00000002u;
|
|
/* 02C5A298 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t35);
|
|
/* 02C5A29C */ _t36 = cpu->r[11] + 0xFFFFEF80u;
|
|
/* 02C5A29C */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t36);
|
|
/* 02C5A2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5A2A4 */ cpu->r[3] = cpu->r[30] + cpu->r[12];
|
|
/* 02C5A2A8 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5A2A8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C5A2A8 */ if (_t38) goto L_02C5A2AC; else goto L_02C5A2C0;
|
|
L_02C5A2AC: ; // 0x2c5a2ac
|
|
/* 02C5A2AC */ _t39 = cpu->r[8] + 0x00000004u;
|
|
/* 02C5A2AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C5A2B0 */ cpu->ctr = cpu->r[8];
|
|
/* 02C5A2B4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5A2B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5A2BC */ goto L_02C5A2E0;
|
|
L_02C5A2C0: ; // 0x2c5a2c0
|
|
/* 02C5A2C0 */ _t40 = cpu->r[8] + 0x00000006u;
|
|
/* 02C5A2C0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40);
|
|
/* 02C5A2C4 */ _t41 = cpu->r[3] + cpu->r[0];
|
|
/* 02C5A2C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C5A2C8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5A2CC */ cpu->r[12] = cpu->r[7] + cpu->r[6];
|
|
/* 02C5A2D0 */ _t42 = cpu->r[12] + 0x00000004u;
|
|
/* 02C5A2D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C5A2D4 */ cpu->ctr = cpu->r[8];
|
|
/* 02C5A2D8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5A2DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C5A2E0: ; // 0x2c5a2e0
|
|
/* 02C5A2E0 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A2E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C5A2E4 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5A2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C5A2E8 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A2E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C5A2EC */ cpu->lr = cpu->r[0];
|
|
/* 02C5A2F0 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A2F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C5A2F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5A2F8 */ return;
|
|
}
|
|
|
|
// fn_02C50770 @ 0x2c50770
|
|
void Gambit_fn_02C50770(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99;
|
|
|
|
L_02C50770: ; // 0x2c50770
|
|
/* 02C50770 */ _t0 = cpu->r[3] + 0x00000018u;
|
|
/* 02C50770 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C50774 */ goto L_02C5A908;
|
|
L_02C5A908: ; // 0x2c5a908
|
|
/* 02C5A908 */ _t1 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C5A908 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C5A908 */ cpu->r[1] = _t1;
|
|
/* 02C5A90C */ /* nop */
|
|
/* 02C5A910 */ _t2 = cpu->r[1] + 0x00000068u;
|
|
/* 02C5A910 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C5A914 */ /* nop */
|
|
/* 02C5A918 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5A91C */ _t3 = cpu->r[1] + 0x00000070u;
|
|
/* 02C5A91C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C5A920 */ _t4 = cpu->r[1] + 0x00000058u;
|
|
/* 02C5A920 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02C5A924 */ _t5 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C5A924 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5A928 */ /* nop */
|
|
/* 02C5A92C */ _t6 = cpu->r[1] + 0x00000060u;
|
|
/* 02C5A92C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 02C5A930 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C5A934 */ _t7 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02C5A934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5A938 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C5A93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5A940 */ cpu->r[26] = cpu->r[27] + 0x00000018u;
|
|
/* 02C5A944 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A944 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5A944 */ if (_t9) goto L_02C5AD1C; else goto L_02C5A948;
|
|
L_02C5A948: ; // 0x2c5a948
|
|
/* 02C5A948 */ _t10 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5A948 */ cpu->r[0] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5A94C */ _t11 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5A94C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5A950 */ cpu->r[0] = cpu->r[0] | 0x00000010u;
|
|
/* 02C5A954 */ _t12 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5A954 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[0]);
|
|
/* 02C5A958 */ _t13 = cpu->r[7] + 0x00000018u;
|
|
/* 02C5A958 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5A95C */ cpu->r[29] = 0x00000000u;
|
|
/* 02C5A960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5A964 */ cpu->r[6] = cpu->r[7] + 0x00000018u;
|
|
/* 02C5A968 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A968 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C5A968 */ if (_t15) goto L_02C5A970; else goto L_02C5A96C;
|
|
L_02C5A96C: ; // 0x2c5a96c
|
|
/* 02C5A96C */ cpu->r[29] = cpu->r[6] + cpu->r[9];
|
|
L_02C5A970: ; // 0x2c5a970
|
|
/* 02C5A970 */ _t16 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C5A970 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5A974 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C5A978 */ cpu->r[8] = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C5A97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5A980 */ _t17 = cpu->r[27] + 0x0000003Cu;
|
|
/* 02C5A980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5A984 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A984 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5A984 */ if (_t19) goto L_02C5A98C; else goto L_02C5A988;
|
|
L_02C5A988: ; // 0x2c5a988
|
|
/* 02C5A988 */ cpu->r[30] = cpu->r[8] + cpu->r[11];
|
|
L_02C5A98C: ; // 0x2c5a98c
|
|
/* 02C5A98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C5A990 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C5A994 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A994 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5A994 */ if (_t21) goto L_02C5A998; else goto L_02C5A9F0;
|
|
L_02C5A998: ; // 0x2c5a998
|
|
/* 02C5A998 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C5A99C */ cpu->r[4] = cpu->r[28];
|
|
/* 02C5A9A0 */ Gambit_fn_02C6544C(cpu);
|
|
/* 02C5A9A4 */ _t22 = cpu->r[26] + 0x00000004u;
|
|
/* 02C5A9A4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5A9A8 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C5A9AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5A9B0 */ Gambit_fn_02C650E0(cpu);
|
|
/* 02C5A9B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C5A9B8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A9B8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C5A9B8 */ if (_t24) goto L_02C5A9BC; else goto L_02C5A9DC;
|
|
L_02C5A9BC: ; // 0x2c5a9bc
|
|
/* 02C5A9BC */ _t25 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5A9BC */ cpu->r[0] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02C5A9C0 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C5A9C4 */ _t26 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5A9C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5A9C8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C5A9C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5A9CC */ cpu->r[10] = cpu->r[10] + 0xFFFFEF60u;
|
|
/* 02C5A9D0 */ _t27 = cpu->r[7] + 0x0000000Au;
|
|
/* 02C5A9D0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t27);
|
|
/* 02C5A9D4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A9D4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C5A9D4 */ if (_t29) goto L_02C5ABA0; else goto L_02C5A9D8;
|
|
L_02C5A9D8: ; // 0x2c5a9d8
|
|
/* 02C5A9D8 */ goto L_02C5AA04;
|
|
L_02C5A9DC: ; // 0x2c5a9dc
|
|
/* 02C5A9DC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C5A9E0 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C5A9E4 */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
/* 02C5A9E8 */ _t30 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5A9E8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t30);
|
|
/* 02C5A9EC */ _t31 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5A9EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
L_02C5A9F0: ; // 0x2c5a9f0
|
|
/* 02C5A9F0 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C5A9F4 */ _t32 = cpu->r[7] + 0x0000000Au;
|
|
/* 02C5A9F4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t32);
|
|
/* 02C5A9F8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C5A9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5A9FC */ cpu->r[10] = cpu->r[10] + 0xFFFFEF60u;
|
|
/* 02C5AA00 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AA00 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C5AA00 */ if (_t34) goto L_02C5ABA0; else goto L_02C5AA04;
|
|
L_02C5AA04: ; // 0x2c5aa04
|
|
/* 02C5AA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5AA08 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5AA08 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C5AA08 */ if (_t36) goto L_02C5AA0C; else goto L_02C5AB20;
|
|
L_02C5AA0C: ; // 0x2c5aa0c
|
|
/* 02C5AA0C */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000030u);
|
|
/* 02C5AA10 */ cpu->r[9] = rbrew_rlwinm(cpu->r[25], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5AA14 */ cpu->r[25] = cpu->r[25] + cpu->r[12];
|
|
/* 02C5AA18 */ cpu->r[5] = cpu->r[1] + 0x00000038u;
|
|
/* 02C5AA1C */ cpu->r[9] = cpu->r[29] + cpu->r[9];
|
|
/* 02C5AA20 */ /* nop */
|
|
/* 02C5AA24 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5AA28 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 02C5AA2C */ cpu->r[11] = cpu->r[31] + cpu->r[6];
|
|
L_02C5AA30: ; // 0x2c5aa30
|
|
/* 02C5AA30 */ _t37 = cpu->r[9] + 0x00000002u;
|
|
/* 02C5AA30 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t37);
|
|
/* 02C5AA30 */ cpu->r[9] = _t37;
|
|
/* 02C5AA34 */ cpu->r[8] = cpu->r[30] + cpu->r[6];
|
|
/* 02C5AA38 */ /* nop */
|
|
/* 02C5AA3C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5AA40 */ _t38 = cpu->r[27] + 0x00000010u;
|
|
/* 02C5AA40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C5AA44 */ /* nop */
|
|
/* 02C5AA48 */ cpu->r[4] = cpu->r[4] + cpu->r[10];
|
|
/* 02C5AA4C */ /* nop */
|
|
/* 02C5AA50 */ /* nop */
|
|
/* 02C5AA54 */ /* nop */
|
|
/* 02C5AA58 */ /* nop */
|
|
/* 02C5AA5C */ /* nop */
|
|
/* 02C5AA60 */ /* nop */
|
|
/* 02C5AA64 */ /* nop */
|
|
/* 02C5AA68 */ /* nop */
|
|
/* 02C5AA6C */ /* nop */
|
|
/* 02C5AA70 */ /* nop */
|
|
/* 02C5AA74 */ /* nop */
|
|
/* 02C5AA78 */ /* nop */
|
|
/* 02C5AA7C */ /* nop */
|
|
/* 02C5AA80 */ /* nop */
|
|
/* 02C5AA84 */ /* nop */
|
|
/* 02C5AA88 */ /* nop */
|
|
/* 02C5AA8C */ /* nop */
|
|
/* 02C5AA90 */ /* nop */
|
|
/* 02C5AA94 */ /* nop */
|
|
/* 02C5AA98 */ /* nop */
|
|
/* 02C5AA9C */ /* nop */
|
|
/* 02C5AAA0 */ /* nop */
|
|
/* 02C5AAA4 */ /* nop */
|
|
/* 02C5AAA8 */ /* nop */
|
|
/* 02C5AAAC */ /* nop */
|
|
/* 02C5AAB0 */ /* nop */
|
|
/* 02C5AAB4 */ /* nop */
|
|
/* 02C5AAB8 */ /* nop */
|
|
/* 02C5AABC */ /* nop */
|
|
/* 02C5AAC0 */ /* nop */
|
|
/* 02C5AAC4 */ /* nop */
|
|
/* 02C5AAC8 */ /* nop */
|
|
/* 02C5AACC */ cpu->r[24] = cpu->r[11];
|
|
/* 02C5AAD0 */ /* nop */
|
|
/* 02C5AAD4 */ cpu->r[3] = cpu->r[7];
|
|
/* 02C5AAD8 */ /* nop */
|
|
/* 02C5AADC */ /* nop */
|
|
/* 02C5AAE0 */ /* nop */
|
|
/* 02C5AAE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[5]);
|
|
/* 02C5AAE8 */ /* nop */
|
|
/* 02C5AAEC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AAEC */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C5AAEC */ if (_t40) goto L_02C5AB0C; else goto L_02C5AAF0;
|
|
L_02C5AAF0: ; // 0x2c5aaf0
|
|
/* 02C5AAF0 */ cpu->r[4] = cpu->r[7] + 0x00000030u;
|
|
L_02C5AAF4: ; // 0x2c5aaf4
|
|
/* 02C5AAF4 */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5AAF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C5AAF8 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02C5AAFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C5AB00 */ /* nop */
|
|
/* 02C5AB04 */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 02C5AB08 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AB08 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C5AB08 */ if (_t43) goto L_02C5AB0C; else goto L_02C5AAF4;
|
|
L_02C5AB0C: ; // 0x2c5ab0c
|
|
/* 02C5AB0C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C5AB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5AB10 */ cpu->r[11] = cpu->r[11] + 0x00000030u;
|
|
/* 02C5AB14 */ cpu->r[6] = cpu->r[6] + 0x00000030u;
|
|
/* 02C5AB18 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AB18 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C5AB18 */ if (_t45) goto L_02C5AB1C; else goto L_02C5AA30;
|
|
L_02C5AB1C: ; // 0x2c5ab1c
|
|
/* 02C5AB1C */ _t46 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5AB1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
L_02C5AB20: ; // 0x2c5ab20
|
|
/* 02C5AB20 */ _t47 = cpu->r[7] + 0x0000000Au;
|
|
/* 02C5AB20 */ cpu->r[4] = rbrew_read16(cpu->mem, _t47);
|
|
/* 02C5AB24 */ _t48 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C5AB24 */ cpu->r[6] = rbrew_read16(cpu->mem, _t48);
|
|
/* 02C5AB28 */ cpu->r[11] = cpu->r[4] + cpu->r[6];
|
|
/* 02C5AB2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[11]);
|
|
/* 02C5AB30 */ cpu->r[7] = cpu->r[11] - cpu->r[25];
|
|
/* 02C5AB34 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5AB34 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C5AB34 */ if (_t50) goto L_02C5AB38; else goto L_02C5AD04;
|
|
L_02C5AB38: ; // 0x2c5ab38
|
|
/* 02C5AB38 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000030u);
|
|
/* 02C5AB3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[25], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5AB40 */ cpu->r[11] = cpu->r[29] + cpu->r[0];
|
|
/* 02C5AB44 */ cpu->r[9] = cpu->r[31] + cpu->r[8];
|
|
/* 02C5AB48 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFEu;
|
|
L_02C5AB4C: ; // 0x2c5ab4c
|
|
/* 02C5AB4C */ _t51 = cpu->r[11] + 0x00000002u;
|
|
/* 02C5AB4C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t51);
|
|
/* 02C5AB4C */ cpu->r[11] = _t51;
|
|
/* 02C5AB50 */ _t52 = cpu->r[27] + 0x00000010u;
|
|
/* 02C5AB50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C5AB54 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5AB58 */ cpu->r[5] = cpu->r[8] + cpu->r[4];
|
|
/* 02C5AB5C */ cpu->r[8] = cpu->r[5] + 0x00000030u;
|
|
/* 02C5AB60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02C5AB64 */ cpu->r[4] = cpu->r[9];
|
|
/* 02C5AB68 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AB68 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C5AB68 */ if (_t54) goto L_02C5AB84; else goto L_02C5AB6C;
|
|
L_02C5AB6C: ; // 0x2c5ab6c
|
|
/* 02C5AB6C */ _t55 = cpu->r[5] + 0x00000000u;
|
|
/* 02C5AB6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C5AB70 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 02C5AB74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02C5AB78 */ /* nop */
|
|
/* 02C5AB7C */ cpu->r[4] = cpu->r[4] + 0x00000004u;
|
|
/* 02C5AB80 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AB80 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C5AB80 */ if (_t57) goto L_02C5AB84; else goto L_02C5AB6C;
|
|
L_02C5AB84: ; // 0x2c5ab84
|
|
/* 02C5AB84 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C5AB84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5AB88 */ cpu->r[9] = cpu->r[9] + 0x00000030u;
|
|
/* 02C5AB8C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AB8C */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C5AB8C */ if (_t59) goto L_02C5AB90; else goto L_02C5AB4C;
|
|
L_02C5AB90: ; // 0x2c5ab90
|
|
/* 02C5AB90 */ _t60 = cpu->r[27] + 0x0000003Cu;
|
|
/* 02C5AB90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C5AB94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5AB98 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AB98 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C5AB98 */ if (_t62) goto L_02C5AB9C; else goto L_02C5AD1C;
|
|
L_02C5AB9C: ; // 0x2c5ab9c
|
|
/* 02C5AB9C */ goto L_02C5AD10;
|
|
L_02C5ABA0: ; // 0x2c5aba0
|
|
/* 02C5ABA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5ABA4 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5ABA4 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C5ABA4 */ if (_t64) goto L_02C5ABA8; else goto L_02C5AC84;
|
|
L_02C5ABA8: ; // 0x2c5aba8
|
|
/* 02C5ABA8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[25], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5ABAC */ cpu->ctr = cpu->r[12];
|
|
/* 02C5ABB0 */ cpu->r[5] = cpu->r[29] + cpu->r[4];
|
|
/* 02C5ABB4 */ /* nop */
|
|
/* 02C5ABB8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000030u);
|
|
/* 02C5ABBC */ cpu->r[25] = cpu->r[25] + cpu->r[12];
|
|
/* 02C5ABC0 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFEu;
|
|
L_02C5ABC4: ; // 0x2c5abc4
|
|
/* 02C5ABC4 */ _t65 = cpu->r[5] + 0x00000002u;
|
|
/* 02C5ABC4 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t65);
|
|
/* 02C5ABC4 */ cpu->r[5] = _t65;
|
|
/* 02C5ABC8 */ cpu->r[6] = cpu->r[30] + cpu->r[11];
|
|
/* 02C5ABCC */ /* nop */
|
|
/* 02C5ABD0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5ABD4 */ _t66 = cpu->r[27] + 0x00000010u;
|
|
/* 02C5ABD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C5ABD8 */ /* nop */
|
|
/* 02C5ABDC */ cpu->r[4] = cpu->r[9] + cpu->r[0];
|
|
/* 02C5ABE0 */ /* nop */
|
|
/* 02C5ABE4 */ /* nop */
|
|
/* 02C5ABE8 */ /* nop */
|
|
/* 02C5ABEC */ /* nop */
|
|
/* 02C5ABF0 */ /* nop */
|
|
/* 02C5ABF4 */ /* nop */
|
|
/* 02C5ABF8 */ /* nop */
|
|
/* 02C5ABFC */ /* nop */
|
|
/* 02C5AC00 */ /* nop */
|
|
/* 02C5AC04 */ /* nop */
|
|
/* 02C5AC08 */ /* nop */
|
|
/* 02C5AC0C */ cpu->r[7] = cpu->r[31] + cpu->r[11];
|
|
/* 02C5AC10 */ /* nop */
|
|
/* 02C5AC14 */ /* nop */
|
|
/* 02C5AC18 */ /* nop */
|
|
/* 02C5AC1C */ /* nop */
|
|
/* 02C5AC20 */ /* nop */
|
|
/* 02C5AC24 */ /* nop */
|
|
/* 02C5AC28 */ /* nop */
|
|
/* 02C5AC2C */ /* nop */
|
|
/* 02C5AC30 */ /* nop */
|
|
/* 02C5AC34 */ /* nop */
|
|
/* 02C5AC38 */ /* nop */
|
|
/* 02C5AC3C */ /* nop */
|
|
/* 02C5AC40 */ /* nop */
|
|
/* 02C5AC44 */ /* nop */
|
|
/* 02C5AC48 */ /* nop */
|
|
/* 02C5AC4C */ /* nop */
|
|
/* 02C5AC50 */ /* nop */
|
|
/* 02C5AC54 */ /* nop */
|
|
/* 02C5AC58 */ /* nop */
|
|
/* 02C5AC5C */ /* nop */
|
|
/* 02C5AC60 */ /* nop */
|
|
/* 02C5AC64 */ /* nop */
|
|
/* 02C5AC68 */ /* nop */
|
|
/* 02C5AC6C */ /* nop */
|
|
/* 02C5AC70 */ /* nop */
|
|
/* 02C5AC74 */ cpu->r[11] = cpu->r[11] + 0x00000030u;
|
|
/* 02C5AC78 */ /* nop */
|
|
/* 02C5AC7C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5AC7C */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5AC7C */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02C5AC7C */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C5AC7C */ if (_t69) goto L_02C5ABC4; else goto L_02C5AC80;
|
|
L_02C5AC80: ; // 0x2c5ac80
|
|
/* 02C5AC80 */ _t70 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5AC80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t70);
|
|
L_02C5AC84: ; // 0x2c5ac84
|
|
/* 02C5AC84 */ _t71 = cpu->r[7] + 0x0000000Au;
|
|
/* 02C5AC84 */ cpu->r[9] = rbrew_read16(cpu->mem, _t71);
|
|
/* 02C5AC88 */ _t72 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C5AC88 */ cpu->r[10] = rbrew_read16(cpu->mem, _t72);
|
|
/* 02C5AC8C */ cpu->r[0] = cpu->r[9] + cpu->r[10];
|
|
/* 02C5AC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[0]);
|
|
/* 02C5AC94 */ cpu->r[8] = cpu->r[0] - cpu->r[25];
|
|
/* 02C5AC98 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5AC98 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C5AC98 */ if (_t74) goto L_02C5AC9C; else goto L_02C5AD04;
|
|
L_02C5AC9C: ; // 0x2c5ac9c
|
|
/* 02C5AC9C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000030u);
|
|
/* 02C5ACA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[25], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5ACA4 */ cpu->r[9] = cpu->r[29] + cpu->r[0];
|
|
/* 02C5ACA8 */ cpu->r[7] = cpu->r[31] + cpu->r[12];
|
|
/* 02C5ACAC */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 02C5ACB0 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFD0u;
|
|
L_02C5ACB4: ; // 0x2c5acb4
|
|
/* 02C5ACB4 */ _t75 = cpu->r[9] + 0x00000002u;
|
|
/* 02C5ACB4 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t75);
|
|
/* 02C5ACB4 */ cpu->r[9] = _t75;
|
|
/* 02C5ACB8 */ cpu->r[11] = 0x00000003u;
|
|
/* 02C5ACBC */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5ACC0 */ _t76 = cpu->r[27] + 0x00000010u;
|
|
/* 02C5ACC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C5ACC4 */ cpu->ctr = cpu->r[11];
|
|
/* 02C5ACC8 */ cpu->r[7] = cpu->r[7] + 0x00000030u;
|
|
/* 02C5ACCC */ cpu->r[12] = cpu->r[6] + cpu->r[0];
|
|
/* 02C5ACD0 */ cpu->r[10] = cpu->r[7] + 0xFFFFFFFCu;
|
|
/* 02C5ACD4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu;
|
|
L_02C5ACD8: ; // 0x2c5acd8
|
|
/* 02C5ACD8 */ _t77 = cpu->r[12] + 0x00000004u;
|
|
/* 02C5ACD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C5ACDC */ _t78 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5ACDC */ rbrew_write32(cpu->mem, _t78, cpu->r[0]);
|
|
/* 02C5ACE0 */ _t79 = cpu->r[12] + 0x00000008u;
|
|
/* 02C5ACE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C5ACE4 */ _t80 = cpu->r[10] + 0x00000008u;
|
|
/* 02C5ACE4 */ rbrew_write32(cpu->mem, _t80, cpu->r[4]);
|
|
/* 02C5ACE8 */ _t81 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C5ACE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C5ACEC */ _t82 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C5ACEC */ rbrew_write32(cpu->mem, _t82, cpu->r[5]);
|
|
/* 02C5ACF0 */ _t83 = cpu->r[12] + 0x00000010u;
|
|
/* 02C5ACF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C5ACF0 */ cpu->r[12] = _t83;
|
|
/* 02C5ACF4 */ _t84 = cpu->r[10] + 0x00000010u;
|
|
/* 02C5ACF4 */ rbrew_write32(cpu->mem, _t84, cpu->r[6]);
|
|
/* 02C5ACF4 */ cpu->r[10] = _t84;
|
|
/* 02C5ACF8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5ACF8 */ _t85 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5ACF8 */ _t86 = _t85 >> (0x00000002u & 31u);
|
|
/* 02C5ACF8 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02C5ACF8 */ if (_t87) goto L_02C5ACD8; else goto L_02C5ACFC;
|
|
L_02C5ACFC: ; // 0x2c5acfc
|
|
/* 02C5ACFC */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C5ACFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5AD00 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AD00 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02C5AD00 */ if (_t89) goto L_02C5AD04; else goto L_02C5ACB4;
|
|
L_02C5AD04: ; // 0x2c5ad04
|
|
/* 02C5AD04 */ _t90 = cpu->r[27] + 0x0000003Cu;
|
|
/* 02C5AD04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C5AD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5AD0C */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AD0C */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C5AD0C */ if (_t92) goto L_02C5AD10; else goto L_02C5AD1C;
|
|
L_02C5AD10: ; // 0x2c5ad10
|
|
/* 02C5AD10 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C5AD14 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C5AD18 */ Gambit_fn_02C6530C(cpu);
|
|
L_02C5AD1C: ; // 0x2c5ad1c
|
|
/* 02C5AD1C */ /* nop */
|
|
/* 02C5AD20 */ _t93 = cpu->r[1] + 0x00000060u;
|
|
/* 02C5AD20 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02C5AD24 */ _t94 = cpu->r[1] + 0x00000070u;
|
|
/* 02C5AD24 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02C5AD28 */ _t95 = cpu->r[1] + 0x00000058u;
|
|
/* 02C5AD28 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t95);
|
|
/* 02C5AD2C */ _t96 = cpu->r[1] + 0x00000068u;
|
|
/* 02C5AD2C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 02C5AD30 */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5AD30 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02C5AD30 */ if (_t98) goto L_02C5AD34; // else: addr-0 trap, fall-through
|
|
L_02C5AD34: ; // 0x2c5ad34
|
|
/* 02C5AD34 */ _t99 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C5AD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C5AD38 */ cpu->lr = cpu->r[0];
|
|
/* 02C5AD3C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C5AD40 */ return;
|
|
}
|
|
|
|
// fn_02C50778 @ 0x2c50778
|
|
void Gambit_fn_02C50778(CPUState* cpu) {
|
|
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_02C50778: ; // 0x2c50778
|
|
/* 02C50778 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C50778 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C50778 */ cpu->r[1] = _t0;
|
|
/* 02C5077C */ /* nop */
|
|
/* 02C50780 */ cpu->r[0] = cpu->lr;
|
|
/* 02C50784 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C50784 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C50788 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5078C */ _t2 = cpu->r[30] + 0x00000018u;
|
|
/* 02C5078C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C50790 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02C50790 */ cpu->r[10] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C50794 */ cpu->r[10] = cpu->r[10] | 0x00000010u;
|
|
/* 02C50798 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 02C50798 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[10]);
|
|
/* 02C5079C */ _t5 = cpu->r[30] + 0x00000014u;
|
|
/* 02C5079C */ cpu->r[9] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C507A0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C507A4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C507A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02C507AC */ _t6 = cpu->r[12] + 0x00000010u;
|
|
/* 02C507AC */ cpu->r[27] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C507B0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C507B0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C507B0 */ if (_t8) goto L_02C507B4; else goto L_02C50808;
|
|
L_02C507B4: ; // 0x2c507b4
|
|
/* 02C507B4 */ cpu->r[28] = 0x00000000u;
|
|
L_02C507B8: ; // 0x2c507b8
|
|
/* 02C507B8 */ _t9 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C507B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C507BC */ _t10 = cpu->r[11] + cpu->r[28];
|
|
/* 02C507BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C507C0 */ _t11 = cpu->r[8] + 0x00000016u;
|
|
/* 02C507C0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C507C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C507C8 */ cpu->r[3] = cpu->r[11] + cpu->r[28];
|
|
/* 02C507CC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C507CC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C507CC */ if (_t13) goto L_02C507D0; else goto L_02C507F8;
|
|
L_02C507D0: ; // 0x2c507d0
|
|
/* 02C507D0 */ _t14 = cpu->r[3] + 0x00000009u;
|
|
/* 02C507D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C507D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C507D8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C507D8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C507D8 */ if (_t16) goto L_02C507DC; else goto L_02C507F8;
|
|
L_02C507DC: ; // 0x2c507dc
|
|
/* 02C507DC */ _t17 = cpu->r[8] + 0x00000010u;
|
|
/* 02C507DC */ cpu->r[0] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C507E0 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C507E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C507E8 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C507EC */ cpu->r[5] = cpu->r[27] + cpu->r[5];
|
|
/* 02C507F0 */ Gambit_fn_02C537B4(cpu);
|
|
/* 02C507F4 */ _t18 = cpu->r[30] + 0x00000014u;
|
|
/* 02C507F4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t18);
|
|
L_02C507F8: ; // 0x2c507f8
|
|
/* 02C507F8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C507FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02C50800 */ cpu->r[28] = cpu->r[28] + 0x00000034u;
|
|
/* 02C50804 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50804 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C50804 */ if (_t20) goto L_02C507B8; else goto L_02C50808;
|
|
L_02C50808: ; // 0x2c50808
|
|
/* 02C50808 */ /* nop */
|
|
/* 02C5080C */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5080C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C50810 */ cpu->lr = cpu->r[0];
|
|
/* 02C50814 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C50818 */ return;
|
|
}
|
|
|
|
// fn_02C5081C @ 0x2c5081c
|
|
void Gambit_fn_02C5081C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C5081C: ; // 0x2c5081c
|
|
/* 02C5081C */ cpu->r[0] = cpu->lr;
|
|
/* 02C50820 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C50820 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C50820 */ cpu->r[1] = _t0;
|
|
/* 02C50824 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C50824 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C50828 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50828 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C5082C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5082C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C50830 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50830 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C50834 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C50838 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C50838 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5083C */ _t6 = cpu->r[30] + 0x00000016u;
|
|
/* 02C5083C */ cpu->r[0] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C50840 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C50844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02C50848 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5084C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5084C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5084C */ if (_t8) goto L_02C50850; else goto L_02C50878;
|
|
L_02C50850: ; // 0x2c50850
|
|
/* 02C50850 */ cpu->r[29] = 0x00000000u;
|
|
L_02C50854: ; // 0x2c50854
|
|
/* 02C50854 */ _t9 = cpu->r[30] + 0x00000020u;
|
|
/* 02C50854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C50858 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5085C */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C50860 */ Gambit_fn_02C4F77C(cpu);
|
|
/* 02C50864 */ _t10 = cpu->r[30] + 0x00000016u;
|
|
/* 02C50864 */ cpu->r[0] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C50868 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C5086C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02C50870 */ cpu->r[29] = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C50874 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50874 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C50874 */ if (_t12) goto L_02C50854; else goto L_02C50878;
|
|
L_02C50878: ; // 0x2c50878
|
|
/* 02C50878 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C50878 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5087C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5087C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C50880 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C50880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C50884 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C50884 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C50888 */ cpu->lr = cpu->r[0];
|
|
/* 02C5088C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5088C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C50890 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C50894 */ return;
|
|
}
|
|
|
|
// fn_02C50820 @ 0x2c50820
|
|
void Gambit_fn_02C50820(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C50820: ; // 0x2c50820
|
|
/* 02C50820 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C50820 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C50820 */ cpu->r[1] = _t0;
|
|
/* 02C50824 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C50824 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C50828 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50828 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C5082C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5082C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C50830 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50830 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C50834 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C50838 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C50838 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5083C */ _t6 = cpu->r[30] + 0x00000016u;
|
|
/* 02C5083C */ cpu->r[0] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C50840 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C50844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02C50848 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5084C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5084C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5084C */ if (_t8) goto L_02C50850; else goto L_02C50878;
|
|
L_02C50850: ; // 0x2c50850
|
|
/* 02C50850 */ cpu->r[29] = 0x00000000u;
|
|
L_02C50854: ; // 0x2c50854
|
|
/* 02C50854 */ _t9 = cpu->r[30] + 0x00000020u;
|
|
/* 02C50854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C50858 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5085C */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C50860 */ Gambit_fn_02C4F77C(cpu);
|
|
/* 02C50864 */ _t10 = cpu->r[30] + 0x00000016u;
|
|
/* 02C50864 */ cpu->r[0] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C50868 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C5086C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02C50870 */ cpu->r[29] = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C50874 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50874 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C50874 */ if (_t12) goto L_02C50854; else goto L_02C50878;
|
|
L_02C50878: ; // 0x2c50878
|
|
/* 02C50878 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C50878 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5087C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5087C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C50880 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C50880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C50884 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C50884 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C50888 */ cpu->lr = cpu->r[0];
|
|
/* 02C5088C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5088C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C50890 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C50894 */ return;
|
|
}
|
|
|
|
// fn_02C50898 @ 0x2c50898
|
|
void Gambit_fn_02C50898(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02C50898: ; // 0x2c50898
|
|
/* 02C50898 */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02C50898 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C50898 */ cpu->r[1] = _t0;
|
|
/* 02C5089C */ /* nop */
|
|
/* 02C508A0 */ _t1 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C508A0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C508A4 */ /* nop */
|
|
/* 02C508A8 */ _t2 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C508A8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C508AC */ cpu->r[0] = cpu->lr;
|
|
/* 02C508B0 */ _t3 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C508B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C508B4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C508B8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C508BC */ _t4 = cpu->r[28] + 0x0000000Du;
|
|
/* 02C508BC */ cpu->r[8] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C508C0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C508C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C508C8 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C508CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C508CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C508CC */ if (_t6) goto L_02C50AA8; else goto L_02C508D0;
|
|
L_02C508D0: ; // 0x2c508d0
|
|
/* 02C508D0 */ _t7 = cpu->r[28] + 0x00000018u;
|
|
/* 02C508D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C508D4 */ _t8 = cpu->r[9] + 0x00000004u;
|
|
/* 02C508D4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C508D8 */ cpu->r[10] = cpu->r[10] | 0x00000010u;
|
|
/* 02C508DC */ cpu->r[23] = 0x00000000u;
|
|
/* 02C508E0 */ _t9 = cpu->r[9] + 0x00000004u;
|
|
/* 02C508E0 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[10]);
|
|
/* 02C508E4 */ _t10 = cpu->r[28] + 0x00000014u;
|
|
/* 02C508E4 */ cpu->r[6] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C508E8 */ cpu->r[21] = 0xFFFFFFFFu;
|
|
/* 02C508EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[6]);
|
|
/* 02C508F0 */ _t11 = cpu->r[9] + 0x00000010u;
|
|
/* 02C508F0 */ cpu->r[22] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C508F4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C508F4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C508F4 */ if (_t13) goto L_02C508F8; else goto L_02C50AA8;
|
|
L_02C508F8: ; // 0x2c508f8
|
|
/* 02C508F8 */ cpu->r[27] = cpu->r[1] + 0x00000008u;
|
|
/* 02C508FC */ cpu->r[26] = cpu->r[1] + 0x00000038u;
|
|
/* 02C50900 */ cpu->r[25] = 0x00000000u;
|
|
L_02C50904: ; // 0x2c50904
|
|
/* 02C50904 */ _t14 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C50904 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C50908 */ _t15 = cpu->r[11] + cpu->r[25];
|
|
/* 02C50908 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5090C */ _t16 = cpu->r[5] + 0x00000016u;
|
|
/* 02C5090C */ cpu->r[12] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C50910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C50914 */ cpu->r[24] = cpu->r[11] + cpu->r[25];
|
|
/* 02C50918 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50918 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C50918 */ if (_t18) goto L_02C5091C; else goto L_02C50A98;
|
|
L_02C5091C: ; // 0x2c5091c
|
|
/* 02C5091C */ _t19 = cpu->r[24] + 0x00000009u;
|
|
/* 02C5091C */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02C50920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C50924 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50924 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C50924 */ if (_t21) goto L_02C50A98; else goto L_02C50928;
|
|
L_02C50928: ; // 0x2c50928
|
|
/* 02C50928 */ _t22 = cpu->r[5] + 0x00000010u;
|
|
/* 02C50928 */ cpu->r[19] = rbrew_read16(cpu->mem, _t22);
|
|
/* 02C5092C */ _t23 = cpu->r[28] + 0x00000018u;
|
|
/* 02C5092C */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C50930 */ cpu->r[7] = rbrew_rlwinm(cpu->r[19], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C50934 */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 02C50934 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C50938 */ cpu->r[4] = cpu->r[8] + cpu->r[7];
|
|
/* 02C5093C */ _t25 = cpu->r[4] + 0x00000010u;
|
|
/* 02C5093C */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C50940 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000000Du, 0x0000000Fu);
|
|
/* 02C50940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C50944 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50944 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C50944 */ if (_t27) goto L_02C50948; else goto L_02C50968;
|
|
L_02C50948: ; // 0x2c50948
|
|
/* 02C50948 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[19] * (int32_t)0x00000030u);
|
|
/* 02C5094C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C50950 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C50954 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C50958 */ cpu->r[5] = cpu->r[22] + cpu->r[12];
|
|
/* 02C5095C */ Gambit_fn_02C537B4(cpu);
|
|
/* 02C50960 */ _t28 = cpu->r[28] + 0x00000014u;
|
|
/* 02C50960 */ cpu->r[6] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02C50964 */ goto L_02C50A98;
|
|
L_02C50968: ; // 0x2c50968
|
|
/* 02C50968 */ _t29 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C50968 */ cpu->r[20] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C5096C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], 0x0000FFFFu);
|
|
/* 02C50970 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50970 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C50970 */ if (_t31) goto L_02C50974; else goto L_02C509B0;
|
|
L_02C50974: ; // 0x2c50974
|
|
/* 02C50974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[21]);
|
|
/* 02C50978 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50978 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C50978 */ if (_t33) goto L_02C50994; else goto L_02C5097C;
|
|
L_02C5097C: ; // 0x2c5097c
|
|
/* 02C5097C */ cpu->r[7] = 0x00000001u;
|
|
/* 02C50980 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C50984 */ cpu->r[6] = cpu->r[19];
|
|
/* 02C50988 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C5098C */ Gambit_fn_02C5A2FC(cpu);
|
|
/* 02C50990 */ cpu->r[21] = cpu->r[19];
|
|
L_02C50994: ; // 0x2c50994
|
|
/* 02C50994 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C50998 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C5099C */ cpu->r[3] = cpu->r[24];
|
|
/* 02C509A0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C509A4 */ Gambit_fn_02C537B4(cpu);
|
|
/* 02C509A8 */ _t34 = cpu->r[28] + 0x00000014u;
|
|
/* 02C509A8 */ cpu->r[6] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02C509AC */ goto L_02C50A98;
|
|
L_02C509B0: ; // 0x2c509b0
|
|
/* 02C509B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[21]);
|
|
/* 02C509B4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C509B4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C509B4 */ if (_t36) goto L_02C509D0; else goto L_02C509B8;
|
|
L_02C509B8: ; // 0x2c509b8
|
|
/* 02C509B8 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C509BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C509C0 */ cpu->r[6] = cpu->r[20];
|
|
/* 02C509C4 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C509C8 */ Gambit_fn_02C5A2FC(cpu);
|
|
/* 02C509CC */ cpu->r[21] = cpu->r[20];
|
|
L_02C509D0: ; // 0x2c509d0
|
|
/* 02C509D0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[19] * (int32_t)0x00000030u);
|
|
/* 02C509D4 */ /* nop */
|
|
/* 02C509D8 */ /* nop */
|
|
/* 02C509DC */ cpu->r[7] = cpu->r[22] + cpu->r[0];
|
|
/* 02C509E0 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C509E4 */ /* nop */
|
|
/* 02C509E8 */ cpu->r[9] = cpu->r[9] + 0xFFFFED7Cu;
|
|
/* 02C509EC */ /* nop */
|
|
/* 02C509F0 */ /* nop */
|
|
/* 02C509F4 */ /* nop */
|
|
/* 02C509F8 */ /* nop */
|
|
/* 02C509FC */ /* nop */
|
|
/* 02C50A00 */ /* nop */
|
|
/* 02C50A04 */ /* nop */
|
|
/* 02C50A08 */ /* nop */
|
|
/* 02C50A0C */ /* nop */
|
|
/* 02C50A10 */ /* nop */
|
|
/* 02C50A14 */ /* nop */
|
|
/* 02C50A18 */ /* nop */
|
|
/* 02C50A1C */ /* nop */
|
|
/* 02C50A20 */ /* nop */
|
|
/* 02C50A24 */ /* nop */
|
|
/* 02C50A28 */ /* nop */
|
|
/* 02C50A2C */ /* nop */
|
|
/* 02C50A30 */ /* nop */
|
|
/* 02C50A34 */ /* nop */
|
|
/* 02C50A38 */ /* nop */
|
|
/* 02C50A3C */ /* nop */
|
|
/* 02C50A40 */ /* nop */
|
|
/* 02C50A44 */ /* nop */
|
|
/* 02C50A48 */ /* nop */
|
|
/* 02C50A4C */ /* nop */
|
|
/* 02C50A50 */ /* nop */
|
|
/* 02C50A54 */ /* nop */
|
|
/* 02C50A58 */ /* nop */
|
|
/* 02C50A5C */ /* nop */
|
|
/* 02C50A60 */ /* nop */
|
|
/* 02C50A64 */ /* nop */
|
|
/* 02C50A68 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C50A6C */ /* nop */
|
|
/* 02C50A70 */ /* nop */
|
|
/* 02C50A74 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C50A78 */ /* nop */
|
|
/* 02C50A7C */ /* nop */
|
|
/* 02C50A80 */ /* nop */
|
|
/* 02C50A84 */ cpu->r[5] = cpu->r[1] + 0x00000038u;
|
|
/* 02C50A88 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C50A8C */ /* nop */
|
|
/* 02C50A90 */ Gambit_fn_02C537B4(cpu);
|
|
/* 02C50A94 */ _t37 = cpu->r[28] + 0x00000014u;
|
|
/* 02C50A94 */ cpu->r[6] = rbrew_read16(cpu->mem, _t37);
|
|
L_02C50A98: ; // 0x2c50a98
|
|
/* 02C50A98 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02C50A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[6]);
|
|
/* 02C50AA0 */ cpu->r[25] = cpu->r[25] + 0x00000034u;
|
|
/* 02C50AA4 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50AA4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C50AA4 */ if (_t39) goto L_02C50904; else goto L_02C50AA8;
|
|
L_02C50AA8: ; // 0x2c50aa8
|
|
/* 02C50AA8 */ /* nop */
|
|
/* 02C50AAC */ _t40 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C50AAC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C50AB0 */ _t41 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C50AB0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 02C50AB4 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50AB4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C50AB4 */ if (_t43) goto L_02C50AB8; // else: addr-0 trap, fall-through
|
|
L_02C50AB8: ; // 0x2c50ab8
|
|
/* 02C50AB8 */ _t44 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C50AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C50ABC */ cpu->lr = cpu->r[0];
|
|
/* 02C50AC0 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02C50AC4 */ return;
|
|
}
|
|
|
|
// fn_02C50AC8 @ 0x2c50ac8
|
|
void Gambit_fn_02C50AC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C50AC8: ; // 0x2c50ac8
|
|
/* 02C50AC8 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C50AC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C50ACC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C50AD0 */ _t1 = cpu->r[11] + 0x00000000u;
|
|
/* 02C50AD0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C50AD4 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C50AD8 */ _t2 = cpu->r[11] + 0x00000002u;
|
|
/* 02C50AD8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C50ADC */ cpu->r[7] = cpu->r[3] + 0x00000008u;
|
|
/* 02C50AE0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C50AE4 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C50AE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C50AE8 */ cpu->r[10] = cpu->r[11] + 0x0000001Fu;
|
|
/* 02C50AEC */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02C50AEC */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 02C50AF0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C50AF4 */ cpu->r[12] = 0x00000002u;
|
|
/* 02C50AF8 */ _t5 = cpu->r[3] + 0x00000018u;
|
|
/* 02C50AF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02C50AFC */ cpu->ctr = cpu->r[12];
|
|
/* 02C50B00 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02C50B00 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
L_02C50B04: ; // 0x2c50b04
|
|
/* 02C50B04 */ _t7 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C50B04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C50B08 */ _t8 = cpu->r[6] + 0x00000008u;
|
|
/* 02C50B08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C50B08 */ cpu->r[6] = _t8;
|
|
/* 02C50B0C */ cpu->r[0] = cpu->r[8] + cpu->r[9];
|
|
/* 02C50B10 */ _t9 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C50B10 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C50B14 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C50B14 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C50B14 */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02C50B14 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C50B14 */ if (_t12) goto L_02C50B04; else goto L_02C50B18;
|
|
L_02C50B18: ; // 0x2c50b18
|
|
/* 02C50B18 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C50B1C */ cpu->r[10] = cpu->r[7] + cpu->r[8];
|
|
/* 02C50B20 */ _t13 = cpu->r[7] + cpu->r[8];
|
|
/* 02C50B20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C50B24 */ _t14 = cpu->r[10] + 0x00000004u;
|
|
/* 02C50B24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C50B28 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 02C50B28 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 02C50B2C */ cpu->r[7] = cpu->r[9] + cpu->r[0];
|
|
/* 02C50B30 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02C50B30 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02C50B34 */ return;
|
|
}
|
|
|
|
// fn_02C50B38 @ 0x2c50b38
|
|
void Gambit_fn_02C50B38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C50B38: ; // 0x2c50b38
|
|
/* 02C50B38 */ cpu->r[0] = cpu->lr;
|
|
/* 02C50B3C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C50B40 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C50B40 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C50B44 */ cpu->r[3] = cpu->r[4] + 0x00000004u;
|
|
/* 02C50B48 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C50B48 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C50B48 */ cpu->r[1] = _t1;
|
|
/* 02C50B4C */ Gambit_fn_02C50AC8(cpu);
|
|
/* 02C50B50 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C50B54 */ _t3 = cpu->r[4] + 0x00000008u;
|
|
/* 02C50B54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C50B58 */ cpu->lr = cpu->r[0];
|
|
/* 02C50B5C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C50B60 */ return;
|
|
}
|
|
|
|
// fn_02C50B48 @ 0x2c50b48
|
|
void Gambit_fn_02C50B48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C50B48: ; // 0x2c50b48
|
|
/* 02C50B48 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C50B48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C50B48 */ cpu->r[1] = _t0;
|
|
/* 02C50B4C */ Gambit_fn_02C50AC8(cpu);
|
|
/* 02C50B50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C50B54 */ _t2 = cpu->r[4] + 0x00000008u;
|
|
/* 02C50B54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C50B58 */ cpu->lr = cpu->r[0];
|
|
/* 02C50B5C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C50B60 */ return;
|
|
}
|
|
|
|
// fn_02C50B64 @ 0x2c50b64
|
|
void Gambit_fn_02C50B64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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;
|
|
|
|
L_02C50B64: ; // 0x2c50b64
|
|
/* 02C50B64 */ cpu->r[0] = cpu->lr;
|
|
/* 02C50B68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C50B68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C50B68 */ cpu->r[1] = _t0;
|
|
/* 02C50B6C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C50B6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C50B70 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50B70 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C50B74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50B74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C50B78 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C50B78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C50B7C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C50B80 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C50B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C50B88 */ cpu->r[3] = cpu->r[4] + 0x00000004u;
|
|
/* 02C50B8C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50B8C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C50B8C */ if (_t6) goto L_02C50B90; else goto L_02C50B94;
|
|
L_02C50B90: ; // 0x2c50b90
|
|
/* 02C50B90 */ Gambit_fn_02C50AC8(cpu);
|
|
L_02C50B94: ; // 0x2c50b94
|
|
/* 02C50B94 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02C50B94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C50B98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02C50B9C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C50BA0 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C50BA0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C50BA0 */ if (_t9) goto L_02C50BA4; else goto L_02C50BC0;
|
|
L_02C50BA4: ; // 0x2c50ba4
|
|
/* 02C50BA4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C50BA8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C50BA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C50BAC */ cpu->lr = cpu->r[0];
|
|
/* 02C50BB0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50BB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C50BB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C50BB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C50BBC */ return;
|
|
L_02C50BC0: ; // 0x2c50bc0
|
|
/* 02C50BC0 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 02C50BC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C50BC4 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 02C50BC4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02C50BC8 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02C50BC8 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 02C50BCC */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02C50BCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C50BD0 */ _t17 = cpu->r[7] + 0x00000000u;
|
|
/* 02C50BD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C50BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C50BD8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50BD8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C50BD8 */ if (_t19) goto L_02C50BE4; else goto L_02C50BDC;
|
|
L_02C50BDC: ; // 0x2c50bdc
|
|
/* 02C50BDC */ _t20 = cpu->r[7] + 0x00000004u;
|
|
/* 02C50BDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C50BE0 */ cpu->r[12] = cpu->r[5] + cpu->r[10];
|
|
L_02C50BE4: ; // 0x2c50be4
|
|
/* 02C50BE4 */ _t21 = cpu->r[30] + 0x00000008u;
|
|
/* 02C50BE4 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C50BE8 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02C50BE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C50BEC */ _t23 = cpu->r[7] + 0x00000008u;
|
|
/* 02C50BEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C50BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C50BF4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50BF4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C50BF4 */ if (_t25) goto L_02C50C00; else goto L_02C50BF8;
|
|
L_02C50BF8: ; // 0x2c50bf8
|
|
/* 02C50BF8 */ _t26 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C50BF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C50BFC */ cpu->r[8] = cpu->r[5] + cpu->r[11];
|
|
L_02C50C00: ; // 0x2c50c00
|
|
/* 02C50C00 */ _t27 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C50C00 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 02C50C04 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 02C50C04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C50C08 */ _t29 = cpu->r[7] + 0x00000010u;
|
|
/* 02C50C08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C50C0C */ _t30 = cpu->r[30] + 0x00000008u;
|
|
/* 02C50C0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C50C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C50C14 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 02C50C14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C50C18 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50C18 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C50C18 */ if (_t33) goto L_02C50C24; else goto L_02C50C1C;
|
|
L_02C50C1C: ; // 0x2c50c1c
|
|
/* 02C50C1C */ _t34 = cpu->r[7] + 0x00000014u;
|
|
/* 02C50C1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C50C20 */ cpu->r[10] = cpu->r[5] + cpu->r[12];
|
|
L_02C50C24: ; // 0x2c50c24
|
|
/* 02C50C24 */ _t35 = cpu->r[30] + 0x00000030u;
|
|
/* 02C50C24 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02C50C28 */ _t36 = cpu->r[30] + 0x00000038u;
|
|
/* 02C50C28 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02C50C2C */ _t37 = cpu->r[30] + 0x00000010u;
|
|
/* 02C50C2C */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 02C50C30 */ _t38 = cpu->r[30] + 0x00000034u;
|
|
/* 02C50C30 */ rbrew_write32(cpu->mem, _t38, cpu->r[5]);
|
|
/* 02C50C34 */ Gambit_fn_02C6316C(cpu);
|
|
/* 02C50C38 */ _t39 = cpu->r[30] + 0x00000000u;
|
|
/* 02C50C38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C50C3C */ _t40 = cpu->r[8] + 0x00000000u;
|
|
/* 02C50C3C */ cpu->r[10] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C50C40 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C50C44 */ /* nop */
|
|
/* 02C50C48 */ _t41 = cpu->r[30] + 0x00000008u;
|
|
/* 02C50C48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C50C4C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C50C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C50C50 */ _t42 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C50C50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C50C54 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50C54 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C50C54 */ if (_t44) goto L_02C50CCC; else goto L_02C50C58;
|
|
L_02C50C58: ; // 0x2c50c58
|
|
/* 02C50C58 */ cpu->r[0] = cpu->r[9] - cpu->r[10];
|
|
/* 02C50C5C */ /* nop */
|
|
/* 02C50C60 */ /* nop */
|
|
/* 02C50C64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[6]);
|
|
/* 02C50C68 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C50C68 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C50C68 */ if (_t46) goto L_02C50CA4; else goto L_02C50C6C;
|
|
L_02C50C6C: ; // 0x2c50c6c
|
|
/* 02C50C6C */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50C6C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C50C6C */ if (_t48) goto L_02C50C78; else goto L_02C50C70;
|
|
L_02C50C70: ; // 0x2c50c70
|
|
/* 02C50C70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02C50C74 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C50C74 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C50C74 */ if (_t50) goto L_02C50CA4; else goto L_02C50C78;
|
|
L_02C50C78: ; // 0x2c50c78
|
|
/* 02C50C78 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C50C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C50C7C */ cpu->r[10] = cpu->r[10] + cpu->r[12];
|
|
/* 02C50C80 */ cpu->r[9] = cpu->r[9] + cpu->r[12];
|
|
/* 02C50C84 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50C84 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C50C84 */ if (_t52) goto L_02C50C88; else goto L_02C50C8C;
|
|
L_02C50C88: ; // 0x2c50c88
|
|
/* 02C50C88 */ cpu->r[12] = 0x00000001u;
|
|
L_02C50C8C: ; // 0x2c50c8c
|
|
/* 02C50C8C */ cpu->ctr = cpu->r[12];
|
|
L_02C50C90: ; // 0x2c50c90
|
|
/* 02C50C90 */ _t53 = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C50C90 */ cpu->r[6] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02C50C90 */ cpu->r[10] = _t53;
|
|
/* 02C50C94 */ _t54 = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C50C94 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[6]);
|
|
/* 02C50C94 */ cpu->r[9] = _t54;
|
|
/* 02C50C98 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C50C98 */ _t55 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C50C98 */ _t56 = _t55 >> (0x00000002u & 31u);
|
|
/* 02C50C98 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C50C98 */ if (_t57) goto L_02C50C90; else goto L_02C50C9C;
|
|
L_02C50C9C: ; // 0x2c50c9c
|
|
/* 02C50C9C */ _t58 = cpu->r[30] + 0x00000000u;
|
|
/* 02C50C9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C50CA0 */ goto L_02C50CCC;
|
|
L_02C50CA4: ; // 0x2c50ca4
|
|
/* 02C50CA4 */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C50CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C50CA8 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C50CAC */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C50CB0 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50CB0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C50CB0 */ if (_t60) goto L_02C50CB4; else goto L_02C50CB8;
|
|
L_02C50CB4: ; // 0x2c50cb4
|
|
/* 02C50CB4 */ cpu->r[12] = 0x00000001u;
|
|
L_02C50CB8: ; // 0x2c50cb8
|
|
/* 02C50CB8 */ cpu->ctr = cpu->r[12];
|
|
L_02C50CBC: ; // 0x2c50cbc
|
|
/* 02C50CBC */ _t61 = cpu->r[10] + 0x00000001u;
|
|
/* 02C50CBC */ cpu->r[8] = rbrew_read8(cpu->mem, _t61);
|
|
/* 02C50CBC */ cpu->r[10] = _t61;
|
|
/* 02C50CC0 */ _t62 = cpu->r[9] + 0x00000001u;
|
|
/* 02C50CC0 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[8]);
|
|
/* 02C50CC0 */ cpu->r[9] = _t62;
|
|
/* 02C50CC4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C50CC4 */ _t63 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C50CC4 */ _t64 = _t63 >> (0x00000002u & 31u);
|
|
/* 02C50CC4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C50CC4 */ if (_t65) goto L_02C50CBC; else goto L_02C50CC8;
|
|
L_02C50CC8: ; // 0x2c50cc8
|
|
/* 02C50CC8 */ _t66 = cpu->r[30] + 0x00000000u;
|
|
/* 02C50CC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
L_02C50CCC: ; // 0x2c50ccc
|
|
/* 02C50CCC */ _t67 = cpu->r[8] + 0x0000005Cu;
|
|
/* 02C50CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C50CD0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C50CD4 */ cpu->r[5] = cpu->r[8] + 0x0000005Cu;
|
|
/* 02C50CD8 */ _t68 = cpu->r[8] + 0x00000000u;
|
|
/* 02C50CD8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02C50CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C50CE0 */ _t69 = cpu->r[30] + 0x00000000u;
|
|
/* 02C50CE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C50CE4 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50CE4 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C50CE4 */ if (_t71) goto L_02C50CEC; else goto L_02C50CE8;
|
|
L_02C50CE8: ; // 0x2c50ce8
|
|
/* 02C50CE8 */ cpu->r[7] = cpu->r[5] + cpu->r[0];
|
|
L_02C50CEC: ; // 0x2c50cec
|
|
/* 02C50CEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C50CF0 */ cpu->r[12] = cpu->r[7] + cpu->r[0];
|
|
/* 02C50CF4 */ _t72 = cpu->r[30] + 0x00000014u;
|
|
/* 02C50CF4 */ rbrew_write32(cpu->mem, _t72, cpu->r[12]);
|
|
/* 02C50CF8 */ _t73 = cpu->r[8] + 0x00000001u;
|
|
/* 02C50CF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t73);
|
|
/* 02C50CFC */ _t74 = cpu->r[8] + 0x00000000u;
|
|
/* 02C50CFC */ cpu->r[11] = rbrew_read8(cpu->mem, _t74);
|
|
/* 02C50D00 */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 02C50D04 */ _t75 = cpu->r[8] + 0x00000006u;
|
|
/* 02C50D04 */ cpu->r[6] = rbrew_read16(cpu->mem, _t75);
|
|
/* 02C50D08 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[6]);
|
|
/* 02C50D0C */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C50D10 */ cpu->r[0] = cpu->r[12] + cpu->r[7];
|
|
/* 02C50D14 */ _t76 = cpu->r[30] + 0x00000018u;
|
|
/* 02C50D14 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 02C50D18 */ _t77 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C50D1C */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 02C50D1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C50D20 */ cpu->lr = cpu->r[0];
|
|
/* 02C50D24 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50D24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C50D28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C50D2C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C50D30 */ return;
|
|
}
|
|
|
|
// fn_02C50B68 @ 0x2c50b68
|
|
void Gambit_fn_02C50B68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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;
|
|
|
|
L_02C50B68: ; // 0x2c50b68
|
|
/* 02C50B68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C50B68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C50B68 */ cpu->r[1] = _t0;
|
|
/* 02C50B6C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C50B6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C50B70 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50B70 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C50B74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50B74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C50B78 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C50B78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C50B7C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C50B80 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C50B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C50B88 */ cpu->r[3] = cpu->r[4] + 0x00000004u;
|
|
/* 02C50B8C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50B8C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C50B8C */ if (_t6) goto L_02C50B90; else goto L_02C50B94;
|
|
L_02C50B90: ; // 0x2c50b90
|
|
/* 02C50B90 */ Gambit_fn_02C50AC8(cpu);
|
|
L_02C50B94: ; // 0x2c50b94
|
|
/* 02C50B94 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02C50B94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C50B98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02C50B9C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C50BA0 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C50BA0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C50BA0 */ if (_t9) goto L_02C50BA4; else goto L_02C50BC0;
|
|
L_02C50BA4: ; // 0x2c50ba4
|
|
/* 02C50BA4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C50BA8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C50BA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C50BAC */ cpu->lr = cpu->r[0];
|
|
/* 02C50BB0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50BB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C50BB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C50BB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C50BBC */ return;
|
|
L_02C50BC0: ; // 0x2c50bc0
|
|
/* 02C50BC0 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 02C50BC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C50BC4 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 02C50BC4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02C50BC8 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02C50BC8 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 02C50BCC */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02C50BCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C50BD0 */ _t17 = cpu->r[7] + 0x00000000u;
|
|
/* 02C50BD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C50BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C50BD8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50BD8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C50BD8 */ if (_t19) goto L_02C50BE4; else goto L_02C50BDC;
|
|
L_02C50BDC: ; // 0x2c50bdc
|
|
/* 02C50BDC */ _t20 = cpu->r[7] + 0x00000004u;
|
|
/* 02C50BDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C50BE0 */ cpu->r[12] = cpu->r[5] + cpu->r[10];
|
|
L_02C50BE4: ; // 0x2c50be4
|
|
/* 02C50BE4 */ _t21 = cpu->r[30] + 0x00000008u;
|
|
/* 02C50BE4 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C50BE8 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02C50BE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C50BEC */ _t23 = cpu->r[7] + 0x00000008u;
|
|
/* 02C50BEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C50BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C50BF4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50BF4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C50BF4 */ if (_t25) goto L_02C50C00; else goto L_02C50BF8;
|
|
L_02C50BF8: ; // 0x2c50bf8
|
|
/* 02C50BF8 */ _t26 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C50BF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C50BFC */ cpu->r[8] = cpu->r[5] + cpu->r[11];
|
|
L_02C50C00: ; // 0x2c50c00
|
|
/* 02C50C00 */ _t27 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C50C00 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 02C50C04 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 02C50C04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C50C08 */ _t29 = cpu->r[7] + 0x00000010u;
|
|
/* 02C50C08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C50C0C */ _t30 = cpu->r[30] + 0x00000008u;
|
|
/* 02C50C0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C50C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C50C14 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 02C50C14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C50C18 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50C18 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C50C18 */ if (_t33) goto L_02C50C24; else goto L_02C50C1C;
|
|
L_02C50C1C: ; // 0x2c50c1c
|
|
/* 02C50C1C */ _t34 = cpu->r[7] + 0x00000014u;
|
|
/* 02C50C1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C50C20 */ cpu->r[10] = cpu->r[5] + cpu->r[12];
|
|
L_02C50C24: ; // 0x2c50c24
|
|
/* 02C50C24 */ _t35 = cpu->r[30] + 0x00000030u;
|
|
/* 02C50C24 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02C50C28 */ _t36 = cpu->r[30] + 0x00000038u;
|
|
/* 02C50C28 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02C50C2C */ _t37 = cpu->r[30] + 0x00000010u;
|
|
/* 02C50C2C */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 02C50C30 */ _t38 = cpu->r[30] + 0x00000034u;
|
|
/* 02C50C30 */ rbrew_write32(cpu->mem, _t38, cpu->r[5]);
|
|
/* 02C50C34 */ Gambit_fn_02C6316C(cpu);
|
|
/* 02C50C38 */ _t39 = cpu->r[30] + 0x00000000u;
|
|
/* 02C50C38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C50C3C */ _t40 = cpu->r[8] + 0x00000000u;
|
|
/* 02C50C3C */ cpu->r[10] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C50C40 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C50C44 */ /* nop */
|
|
/* 02C50C48 */ _t41 = cpu->r[30] + 0x00000008u;
|
|
/* 02C50C48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C50C4C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C50C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C50C50 */ _t42 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C50C50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C50C54 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50C54 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C50C54 */ if (_t44) goto L_02C50CCC; else goto L_02C50C58;
|
|
L_02C50C58: ; // 0x2c50c58
|
|
/* 02C50C58 */ cpu->r[0] = cpu->r[9] - cpu->r[10];
|
|
/* 02C50C5C */ /* nop */
|
|
/* 02C50C60 */ /* nop */
|
|
/* 02C50C64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[6]);
|
|
/* 02C50C68 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C50C68 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C50C68 */ if (_t46) goto L_02C50CA4; else goto L_02C50C6C;
|
|
L_02C50C6C: ; // 0x2c50c6c
|
|
/* 02C50C6C */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50C6C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C50C6C */ if (_t48) goto L_02C50C78; else goto L_02C50C70;
|
|
L_02C50C70: ; // 0x2c50c70
|
|
/* 02C50C70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02C50C74 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C50C74 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C50C74 */ if (_t50) goto L_02C50CA4; else goto L_02C50C78;
|
|
L_02C50C78: ; // 0x2c50c78
|
|
/* 02C50C78 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C50C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C50C7C */ cpu->r[10] = cpu->r[10] + cpu->r[12];
|
|
/* 02C50C80 */ cpu->r[9] = cpu->r[9] + cpu->r[12];
|
|
/* 02C50C84 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50C84 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C50C84 */ if (_t52) goto L_02C50C88; else goto L_02C50C8C;
|
|
L_02C50C88: ; // 0x2c50c88
|
|
/* 02C50C88 */ cpu->r[12] = 0x00000001u;
|
|
L_02C50C8C: ; // 0x2c50c8c
|
|
/* 02C50C8C */ cpu->ctr = cpu->r[12];
|
|
L_02C50C90: ; // 0x2c50c90
|
|
/* 02C50C90 */ _t53 = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C50C90 */ cpu->r[6] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02C50C90 */ cpu->r[10] = _t53;
|
|
/* 02C50C94 */ _t54 = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C50C94 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[6]);
|
|
/* 02C50C94 */ cpu->r[9] = _t54;
|
|
/* 02C50C98 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C50C98 */ _t55 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C50C98 */ _t56 = _t55 >> (0x00000002u & 31u);
|
|
/* 02C50C98 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C50C98 */ if (_t57) goto L_02C50C90; else goto L_02C50C9C;
|
|
L_02C50C9C: ; // 0x2c50c9c
|
|
/* 02C50C9C */ _t58 = cpu->r[30] + 0x00000000u;
|
|
/* 02C50C9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C50CA0 */ goto L_02C50CCC;
|
|
L_02C50CA4: ; // 0x2c50ca4
|
|
/* 02C50CA4 */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C50CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C50CA8 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C50CAC */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C50CB0 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50CB0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C50CB0 */ if (_t60) goto L_02C50CB4; else goto L_02C50CB8;
|
|
L_02C50CB4: ; // 0x2c50cb4
|
|
/* 02C50CB4 */ cpu->r[12] = 0x00000001u;
|
|
L_02C50CB8: ; // 0x2c50cb8
|
|
/* 02C50CB8 */ cpu->ctr = cpu->r[12];
|
|
L_02C50CBC: ; // 0x2c50cbc
|
|
/* 02C50CBC */ _t61 = cpu->r[10] + 0x00000001u;
|
|
/* 02C50CBC */ cpu->r[8] = rbrew_read8(cpu->mem, _t61);
|
|
/* 02C50CBC */ cpu->r[10] = _t61;
|
|
/* 02C50CC0 */ _t62 = cpu->r[9] + 0x00000001u;
|
|
/* 02C50CC0 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[8]);
|
|
/* 02C50CC0 */ cpu->r[9] = _t62;
|
|
/* 02C50CC4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C50CC4 */ _t63 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C50CC4 */ _t64 = _t63 >> (0x00000002u & 31u);
|
|
/* 02C50CC4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C50CC4 */ if (_t65) goto L_02C50CBC; else goto L_02C50CC8;
|
|
L_02C50CC8: ; // 0x2c50cc8
|
|
/* 02C50CC8 */ _t66 = cpu->r[30] + 0x00000000u;
|
|
/* 02C50CC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
L_02C50CCC: ; // 0x2c50ccc
|
|
/* 02C50CCC */ _t67 = cpu->r[8] + 0x0000005Cu;
|
|
/* 02C50CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C50CD0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C50CD4 */ cpu->r[5] = cpu->r[8] + 0x0000005Cu;
|
|
/* 02C50CD8 */ _t68 = cpu->r[8] + 0x00000000u;
|
|
/* 02C50CD8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02C50CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C50CE0 */ _t69 = cpu->r[30] + 0x00000000u;
|
|
/* 02C50CE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C50CE4 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50CE4 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C50CE4 */ if (_t71) goto L_02C50CEC; else goto L_02C50CE8;
|
|
L_02C50CE8: ; // 0x2c50ce8
|
|
/* 02C50CE8 */ cpu->r[7] = cpu->r[5] + cpu->r[0];
|
|
L_02C50CEC: ; // 0x2c50cec
|
|
/* 02C50CEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C50CF0 */ cpu->r[12] = cpu->r[7] + cpu->r[0];
|
|
/* 02C50CF4 */ _t72 = cpu->r[30] + 0x00000014u;
|
|
/* 02C50CF4 */ rbrew_write32(cpu->mem, _t72, cpu->r[12]);
|
|
/* 02C50CF8 */ _t73 = cpu->r[8] + 0x00000001u;
|
|
/* 02C50CF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t73);
|
|
/* 02C50CFC */ _t74 = cpu->r[8] + 0x00000000u;
|
|
/* 02C50CFC */ cpu->r[11] = rbrew_read8(cpu->mem, _t74);
|
|
/* 02C50D00 */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 02C50D04 */ _t75 = cpu->r[8] + 0x00000006u;
|
|
/* 02C50D04 */ cpu->r[6] = rbrew_read16(cpu->mem, _t75);
|
|
/* 02C50D08 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[6]);
|
|
/* 02C50D0C */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C50D10 */ cpu->r[0] = cpu->r[12] + cpu->r[7];
|
|
/* 02C50D14 */ _t76 = cpu->r[30] + 0x00000018u;
|
|
/* 02C50D14 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 02C50D18 */ _t77 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C50D1C */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 02C50D1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C50D20 */ cpu->lr = cpu->r[0];
|
|
/* 02C50D24 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50D24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C50D28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C50D2C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C50D30 */ return;
|
|
}
|
|
|
|
// fn_02C50D34 @ 0x2c50d34
|
|
void Gambit_fn_02C50D34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C50D34: ; // 0x2c50d34
|
|
/* 02C50D34 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C50D34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C50D38 */ _t1 = cpu->r[9] + 0x0000001Fu;
|
|
/* 02C50D38 */ cpu->r[10] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C50D3C */ /* nop */
|
|
/* 02C50D40 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50D40 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C50D40 */ if (_t3) goto L_02C50D44; else goto L_02C50D4C;
|
|
L_02C50D44: ; // 0x2c50d44
|
|
/* 02C50D44 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C50D48 */ return;
|
|
L_02C50D4C: ; // 0x2c50d4c
|
|
/* 02C50D4C */ _t4 = cpu->r[9] + 0x0000004Cu;
|
|
/* 02C50D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C50D50 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C50D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C50D58 */ cpu->r[11] = cpu->r[9] + 0x0000004Cu;
|
|
/* 02C50D5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50D5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C50D5C */ if (_t6) goto L_02C50D64; else goto L_02C50D60;
|
|
L_02C50D60: ; // 0x2c50d60
|
|
/* 02C50D60 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
L_02C50D64: ; // 0x2c50d64
|
|
/* 02C50D64 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C50D68 */ cpu->r[10] = cpu->r[12] + cpu->r[9];
|
|
/* 02C50D6C */ _t7 = cpu->r[10] + 0x00000002u;
|
|
/* 02C50D6C */ cpu->r[12] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C50D70 */ cpu->r[0] = cpu->r[12] + 0x000000FFu;
|
|
/* 02C50D74 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02C50D78 */ return;
|
|
}
|
|
|
|
// fn_02C50D7C @ 0x2c50d7c
|
|
void Gambit_fn_02C50D7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02C50D7C: ; // 0x2c50d7c
|
|
/* 02C50D7C */ cpu->r[0] = cpu->lr;
|
|
/* 02C50D80 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C50D80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C50D80 */ cpu->r[1] = _t0;
|
|
/* 02C50D84 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C50D84 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C50D88 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50D88 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C50D8C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C50D90 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C50D94 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50D94 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C50D98 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C50D98 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C50D9C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C50DA0 */ Gambit_fn_02C50D34(cpu);
|
|
/* 02C50DA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 02C50DA8 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C50DA8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C50DA8 */ if (_t6) goto L_02C50DAC; else goto L_02C50DCC;
|
|
L_02C50DAC: ; // 0x2c50dac
|
|
/* 02C50DAC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50DAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C50DB0 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C50DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C50DB4 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C50DB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C50DB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C50DBC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50DBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C50DC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C50DC4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C50DC8 */ return;
|
|
L_02C50DCC: ; // 0x2c50dcc
|
|
/* 02C50DCC */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C50DCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C50DD0 */ _t12 = cpu->r[29] + 0x00000038u;
|
|
/* 02C50DD0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02C50DD4 */ _t13 = cpu->r[12] + 0x0000001Fu;
|
|
/* 02C50DD4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C50DD8 */ /* nop */
|
|
/* 02C50DDC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50DDC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C50DDC */ if (_t15) goto L_02C50E28; else goto L_02C50DE0;
|
|
L_02C50DE0: ; // 0x2c50de0
|
|
/* 02C50DE0 */ _t16 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02C50DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C50DE0 */ cpu->r[12] = _t16;
|
|
/* 02C50DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C50DE8 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C50DEC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50DEC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C50DEC */ if (_t18) goto L_02C50DF4; else goto L_02C50DF0;
|
|
L_02C50DF0: ; // 0x2c50df0
|
|
/* 02C50DF0 */ cpu->r[9] = cpu->r[12] + cpu->r[0];
|
|
L_02C50DF4: ; // 0x2c50df4
|
|
/* 02C50DF4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C50DF8 */ cpu->r[11] = cpu->r[9] + cpu->r[8];
|
|
/* 02C50DFC */ _t19 = cpu->r[11] + 0x00000002u;
|
|
/* 02C50DFC */ cpu->r[10] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C50E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C50E04 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50E04 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C50E04 */ if (_t21) goto L_02C50E18; else goto L_02C50E08;
|
|
L_02C50E08: ; // 0x2c50e08
|
|
/* 02C50E08 */ cpu->r[9] = cpu->r[10] + 0x0000001Fu;
|
|
/* 02C50E0C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C50E10 */ cpu->r[4] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Au);
|
|
/* 02C50E14 */ Gambit_fn_02C65108(cpu);
|
|
L_02C50E18: ; // 0x2c50e18
|
|
/* 02C50E18 */ _t22 = cpu->r[29] + 0x00000004u;
|
|
/* 02C50E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C50E1C */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 02C50E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C50E20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Cu);
|
|
/* 02C50E24 */ _t24 = cpu->r[29] + 0x00000004u;
|
|
/* 02C50E24 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
L_02C50E28: ; // 0x2c50e28
|
|
/* 02C50E28 */ _t25 = cpu->r[12] + 0x00000002u;
|
|
/* 02C50E28 */ cpu->r[8] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02C50E2C */ _t26 = cpu->r[29] + 0x00000010u;
|
|
/* 02C50E2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C50E30 */ cpu->r[6] = cpu->r[8] + 0x0000001Fu;
|
|
/* 02C50E34 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C50E38 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C50E3C */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C50E40 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C50E44 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C50E48 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C50E4C */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C50E50 */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C50E54 */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C50E58 */ Gambit_fn_02C65AB0(cpu);
|
|
/* 02C50E5C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C50E60 */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C50E64 */ Gambit_fn_02C6530C(cpu);
|
|
/* 02C50E68 */ _t27 = cpu->r[29] + 0x00000004u;
|
|
/* 02C50E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C50E6C */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02C50E70 */ _t28 = cpu->r[29] + 0x00000004u;
|
|
/* 02C50E70 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C50E74 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50E74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C50E78 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C50E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C50E7C */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02C50E7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C50E80 */ cpu->lr = cpu->r[0];
|
|
/* 02C50E84 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50E84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C50E88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C50E8C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C50E90 */ return;
|
|
}
|
|
|
|
// fn_02C50D80 @ 0x2c50d80
|
|
void Gambit_fn_02C50D80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02C50D80: ; // 0x2c50d80
|
|
/* 02C50D80 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C50D80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C50D80 */ cpu->r[1] = _t0;
|
|
/* 02C50D84 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C50D84 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C50D88 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50D88 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C50D8C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C50D90 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C50D94 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50D94 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C50D98 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C50D98 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C50D9C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C50DA0 */ Gambit_fn_02C50D34(cpu);
|
|
/* 02C50DA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 02C50DA8 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C50DA8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C50DA8 */ if (_t6) goto L_02C50DAC; else goto L_02C50DCC;
|
|
L_02C50DAC: ; // 0x2c50dac
|
|
/* 02C50DAC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50DAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C50DB0 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C50DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C50DB4 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C50DB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C50DB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C50DBC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50DBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C50DC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C50DC4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C50DC8 */ return;
|
|
L_02C50DCC: ; // 0x2c50dcc
|
|
/* 02C50DCC */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C50DCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C50DD0 */ _t12 = cpu->r[29] + 0x00000038u;
|
|
/* 02C50DD0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02C50DD4 */ _t13 = cpu->r[12] + 0x0000001Fu;
|
|
/* 02C50DD4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C50DD8 */ /* nop */
|
|
/* 02C50DDC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C50DDC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C50DDC */ if (_t15) goto L_02C50E28; else goto L_02C50DE0;
|
|
L_02C50DE0: ; // 0x2c50de0
|
|
/* 02C50DE0 */ _t16 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02C50DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C50DE0 */ cpu->r[12] = _t16;
|
|
/* 02C50DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C50DE8 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C50DEC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50DEC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C50DEC */ if (_t18) goto L_02C50DF4; else goto L_02C50DF0;
|
|
L_02C50DF0: ; // 0x2c50df0
|
|
/* 02C50DF0 */ cpu->r[9] = cpu->r[12] + cpu->r[0];
|
|
L_02C50DF4: ; // 0x2c50df4
|
|
/* 02C50DF4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C50DF8 */ cpu->r[11] = cpu->r[9] + cpu->r[8];
|
|
/* 02C50DFC */ _t19 = cpu->r[11] + 0x00000002u;
|
|
/* 02C50DFC */ cpu->r[10] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C50E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C50E04 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50E04 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C50E04 */ if (_t21) goto L_02C50E18; else goto L_02C50E08;
|
|
L_02C50E08: ; // 0x2c50e08
|
|
/* 02C50E08 */ cpu->r[9] = cpu->r[10] + 0x0000001Fu;
|
|
/* 02C50E0C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C50E10 */ cpu->r[4] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Au);
|
|
/* 02C50E14 */ Gambit_fn_02C65108(cpu);
|
|
L_02C50E18: ; // 0x2c50e18
|
|
/* 02C50E18 */ _t22 = cpu->r[29] + 0x00000004u;
|
|
/* 02C50E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C50E1C */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 02C50E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C50E20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Cu);
|
|
/* 02C50E24 */ _t24 = cpu->r[29] + 0x00000004u;
|
|
/* 02C50E24 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
L_02C50E28: ; // 0x2c50e28
|
|
/* 02C50E28 */ _t25 = cpu->r[12] + 0x00000002u;
|
|
/* 02C50E28 */ cpu->r[8] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02C50E2C */ _t26 = cpu->r[29] + 0x00000010u;
|
|
/* 02C50E2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C50E30 */ cpu->r[6] = cpu->r[8] + 0x0000001Fu;
|
|
/* 02C50E34 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C50E38 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C50E3C */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C50E40 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C50E44 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C50E48 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C50E4C */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C50E50 */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C50E54 */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C50E58 */ Gambit_fn_02C65AB0(cpu);
|
|
/* 02C50E5C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C50E60 */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C50E64 */ Gambit_fn_02C6530C(cpu);
|
|
/* 02C50E68 */ _t27 = cpu->r[29] + 0x00000004u;
|
|
/* 02C50E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C50E6C */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02C50E70 */ _t28 = cpu->r[29] + 0x00000004u;
|
|
/* 02C50E70 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C50E74 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50E74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C50E78 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C50E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C50E7C */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02C50E7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C50E80 */ cpu->lr = cpu->r[0];
|
|
/* 02C50E84 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50E84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C50E88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C50E8C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C50E90 */ return;
|
|
}
|
|
|
|
// fn_02C50E94 @ 0x2c50e94
|
|
void Gambit_fn_02C50E94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C50E94: ; // 0x2c50e94
|
|
/* 02C50E94 */ cpu->r[0] = cpu->lr;
|
|
/* 02C50E98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C50E98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C50E98 */ cpu->r[1] = _t0;
|
|
/* 02C50E9C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50E9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C50EA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C50EA4 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C50EA8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50EA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C50EAC */ Gambit_fn_02C65AB4(cpu);
|
|
/* 02C50EB0 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 02C50EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C50EB4 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C50EB8 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C50EB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C50EBC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50EBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C50EC0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50EC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C50EC4 */ cpu->lr = cpu->r[0];
|
|
/* 02C50EC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C50ECC */ return;
|
|
}
|
|
|
|
// fn_02C50E98 @ 0x2c50e98
|
|
void Gambit_fn_02C50E98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C50E98: ; // 0x2c50e98
|
|
/* 02C50E98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C50E98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C50E98 */ cpu->r[1] = _t0;
|
|
/* 02C50E9C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50E9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C50EA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C50EA4 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C50EA8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50EA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C50EAC */ Gambit_fn_02C65AB4(cpu);
|
|
/* 02C50EB0 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 02C50EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C50EB4 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C50EB8 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C50EB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C50EBC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C50EBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C50EC0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C50EC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C50EC4 */ cpu->lr = cpu->r[0];
|
|
/* 02C50EC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C50ECC */ return;
|
|
}
|
|
|
|
// fn_02C50ED0 @ 0x2c50ed0
|
|
void Gambit_fn_02C50ED0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C50ED0: ; // 0x2c50ed0
|
|
/* 02C50ED0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C50ED0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C50ED0 */ cpu->r[1] = _t0;
|
|
/* 02C50ED4 */ /* nop */
|
|
/* 02C50ED8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C50EDC */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C50EDC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C50EE0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C50EE4 */ _t2 = cpu->r[28] + 0x00000004u;
|
|
/* 02C50EE4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C50EE8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 02C50EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C50EEC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50EEC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C50EEC */ if (_t4) goto L_02C50FE8; else goto L_02C50EF0;
|
|
L_02C50EF0: ; // 0x2c50ef0
|
|
/* 02C50EF0 */ _t5 = cpu->r[28] + 0x00000000u;
|
|
/* 02C50EF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C50EF4 */ _t6 = cpu->r[6] + 0x00000002u;
|
|
/* 02C50EF4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C50EF8 */ cpu->r[0] = cpu->r[11] + 0x0000001Fu;
|
|
/* 02C50EFC */ /* nop */
|
|
/* 02C50F00 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C50F00 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C50F00 */ if (_t8) goto L_02C50F04; else goto L_02C50FD0;
|
|
L_02C50F04: ; // 0x2c50f04
|
|
/* 02C50F04 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C50F08 */ cpu->r[31] = cpu->r[25];
|
|
/* 02C50F0C */ cpu->r[26] = cpu->r[25];
|
|
L_02C50F10: ; // 0x2c50f10
|
|
/* 02C50F10 */ _t9 = cpu->r[28] + 0x00000010u;
|
|
/* 02C50F10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C50F14 */ _t10 = cpu->r[9] + cpu->r[25];
|
|
/* 02C50F14 */ cpu->r[27] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C50F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C50F1C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50F1C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C50F1C */ if (_t12) goto L_02C50FBC; else goto L_02C50F20;
|
|
L_02C50F20: ; // 0x2c50f20
|
|
/* 02C50F20 */ cpu->r[24] = 0x00000001u;
|
|
L_02C50F24: ; // 0x2c50f24
|
|
/* 02C50F24 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 02C50F24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C50F28 */ cpu->r[0] = rbrew_clz32(cpu->r[27]);
|
|
/* 02C50F2C */ _t14 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C50F2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C50F30 */ cpu->r[11] = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C50F34 */ cpu->r[23] = 0x0000001Fu - cpu->r[0];
|
|
/* 02C50F38 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C50F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C50F40 */ cpu->r[0] = cpu->r[31] + cpu->r[23];
|
|
/* 02C50F44 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50F44 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C50F44 */ if (_t16) goto L_02C50F4C; else goto L_02C50F48;
|
|
L_02C50F48: ; // 0x2c50f48
|
|
/* 02C50F48 */ cpu->r[5] = cpu->r[11] + cpu->r[7];
|
|
L_02C50F4C: ; // 0x2c50f4c
|
|
/* 02C50F4C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000018u);
|
|
/* 02C50F50 */ cpu->r[21] = cpu->r[5] + cpu->r[4];
|
|
/* 02C50F54 */ _t17 = cpu->r[21] + 0x00000002u;
|
|
/* 02C50F54 */ cpu->r[6] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C50F58 */ cpu->r[5] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C50F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0xFFFFFFFFu);
|
|
/* 02C50F60 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50F60 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C50F60 */ if (_t19) goto L_02C50FAC; else goto L_02C50F64;
|
|
L_02C50F64: ; // 0x2c50f64
|
|
/* 02C50F64 */ _t20 = cpu->r[21] + 0x00000014u;
|
|
/* 02C50F64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C50F68 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C50F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C50F70 */ cpu->r[4] = cpu->r[21] + 0x00000014u;
|
|
/* 02C50F74 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50F74 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C50F74 */ if (_t22) goto L_02C50F7C; else goto L_02C50F78;
|
|
L_02C50F78: ; // 0x2c50f78
|
|
/* 02C50F78 */ cpu->r[29] = cpu->r[4] + cpu->r[8];
|
|
L_02C50F7C: ; // 0x2c50f7c
|
|
/* 02C50F7C */ _t23 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C50F7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C50F80 */ cpu->r[3] = cpu->r[21];
|
|
/* 02C50F84 */ Gambit_fn_02C63018(cpu);
|
|
/* 02C50F88 */ cpu->r[22] = cpu->r[3];
|
|
/* 02C50F8C */ cpu->r[3] = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C50F90 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C50F94 */ Gambit_fn_02C6544C(cpu);
|
|
/* 02C50F98 */ _t24 = cpu->r[21] + 0x00000002u;
|
|
/* 02C50F98 */ cpu->r[8] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02C50F9C */ cpu->r[9] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C50FA0 */ _t25 = cpu->r[9] + cpu->r[29];
|
|
/* 02C50FA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C50FA4 */ cpu->r[7] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C50FA8 */ /* nop */
|
|
L_02C50FAC: ; // 0x2c50fac
|
|
/* 02C50FAC */ /* nop */
|
|
/* 02C50FB0 */ cpu->r[27] = cpu->r[27] ^ cpu->r[0];
|
|
/* 02C50FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C50FB4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50FB4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C50FB4 */ if (_t27) goto L_02C50FB8; else goto L_02C50F24;
|
|
L_02C50FB8: ; // 0x2c50fb8
|
|
/* 02C50FB8 */ _t28 = cpu->r[28] + 0x00000010u;
|
|
/* 02C50FB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
L_02C50FBC: ; // 0x2c50fbc
|
|
/* 02C50FBC */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C50FBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C50FC0 */ cpu->r[31] = cpu->r[31] + 0x00000020u;
|
|
/* 02C50FC4 */ _t29 = cpu->r[9] + cpu->r[25];
|
|
/* 02C50FC4 */ rbrew_write32(cpu->mem, _t29, cpu->r[26]);
|
|
/* 02C50FC8 */ cpu->r[25] = cpu->r[25] + 0x00000004u;
|
|
/* 02C50FCC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C50FCC */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C50FCC */ if (_t31) goto L_02C50FD0; else goto L_02C50F10;
|
|
L_02C50FD0: ; // 0x2c50fd0
|
|
/* 02C50FD0 */ cpu->r[3] = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C50FD4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C50FD8 */ Gambit_fn_02C6530C(cpu);
|
|
/* 02C50FDC */ _t32 = cpu->r[28] + 0x00000004u;
|
|
/* 02C50FDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C50FE0 */ cpu->r[0] = cpu->r[0] ^ 0x00000004u;
|
|
/* 02C50FE4 */ _t33 = cpu->r[28] + 0x00000004u;
|
|
/* 02C50FE4 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
L_02C50FE8: ; // 0x2c50fe8
|
|
/* 02C50FE8 */ /* nop */
|
|
/* 02C50FEC */ _t34 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C50FEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C50FF0 */ cpu->lr = cpu->r[0];
|
|
/* 02C50FF4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C50FF8 */ return;
|
|
}
|
|
|
|
// fn_02C50FFC @ 0x2c50ffc
|
|
void Gambit_fn_02C50FFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02C50FFC: ; // 0x2c50ffc
|
|
/* 02C50FFC */ cpu->r[0] = cpu->lr;
|
|
/* 02C51000 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C51000 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C51000 */ cpu->r[1] = _t0;
|
|
/* 02C51004 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C51004 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C51008 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C51008 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5100C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5100C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C51010 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C51014 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C51014 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C51018 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C51018 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5101C */ _t6 = cpu->r[7] + 0x0000002Cu;
|
|
/* 02C5101C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5101C */ cpu->r[7] = _t6;
|
|
/* 02C51020 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C51024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51028 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5102C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5102C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5102C */ if (_t8) goto L_02C51034; else goto L_02C51030;
|
|
L_02C51030: ; // 0x2c51030
|
|
/* 02C51030 */ cpu->r[10] = cpu->r[7] + cpu->r[0];
|
|
L_02C51034: ; // 0x2c51034
|
|
/* 02C51034 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000018u);
|
|
/* 02C51038 */ cpu->r[29] = cpu->r[10] + cpu->r[8];
|
|
/* 02C5103C */ _t9 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5103C */ cpu->r[10] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C51040 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C51040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C51044 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C51048 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51048 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C51048 */ if (_t11) goto L_02C5104C; else goto L_02C51070;
|
|
L_02C5104C: ; // 0x2c5104c
|
|
/* 02C5104C */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5104C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C51050 */ Gambit_fn_02C62FEC(cpu);
|
|
/* 02C51054 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C51054 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C51058 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C51058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5105C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5105C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C51060 */ cpu->lr = cpu->r[0];
|
|
/* 02C51064 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C51064 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C51068 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5106C */ return;
|
|
L_02C51070: ; // 0x2c51070
|
|
/* 02C51070 */ _t17 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C51070 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C51074 */ Gambit_fn_02C62FEC(cpu);
|
|
/* 02C51078 */ _t18 = cpu->r[29] + 0x00000002u;
|
|
/* 02C51078 */ cpu->r[12] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C5107C */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C51080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0xFFFFFFFFu);
|
|
/* 02C51084 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51084 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C51084 */ if (_t20) goto L_02C510B4; else goto L_02C51088;
|
|
L_02C51088: ; // 0x2c51088
|
|
/* 02C51088 */ _t21 = cpu->r[30] + 0x00000004u;
|
|
/* 02C51088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C5108C */ /* nop */
|
|
/* 02C51090 */ cpu->r[9] = 0x00000001u;
|
|
/* 02C51094 */ _t22 = cpu->r[30] + 0x00000010u;
|
|
/* 02C51094 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C51098 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 02C5109C */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C510A0 */ _t23 = cpu->r[30] + 0x00000004u;
|
|
/* 02C510A0 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C510A4 */ _t24 = cpu->r[6] + cpu->r[12];
|
|
/* 02C510A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C510A8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], cpu->r[31], 0x00000000u, 0x0000001Fu);
|
|
/* 02C510AC */ cpu->r[0] = cpu->r[0] | cpu->r[8];
|
|
/* 02C510B0 */ _t25 = cpu->r[6] + cpu->r[12];
|
|
/* 02C510B0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02C510B4: ; // 0x2c510b4
|
|
/* 02C510B4 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C510B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C510B8 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C510B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C510BC */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02C510BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C510C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C510C4 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02C510C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C510C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C510CC */ return;
|
|
}
|
|
|
|
// fn_02C51000 @ 0x2c51000
|
|
void Gambit_fn_02C51000(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02C51000: ; // 0x2c51000
|
|
/* 02C51000 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C51000 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C51000 */ cpu->r[1] = _t0;
|
|
/* 02C51004 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C51004 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C51008 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C51008 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5100C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5100C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C51010 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C51014 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C51014 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C51018 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C51018 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5101C */ _t6 = cpu->r[7] + 0x0000002Cu;
|
|
/* 02C5101C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5101C */ cpu->r[7] = _t6;
|
|
/* 02C51020 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C51024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51028 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5102C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5102C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5102C */ if (_t8) goto L_02C51034; else goto L_02C51030;
|
|
L_02C51030: ; // 0x2c51030
|
|
/* 02C51030 */ cpu->r[10] = cpu->r[7] + cpu->r[0];
|
|
L_02C51034: ; // 0x2c51034
|
|
/* 02C51034 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000018u);
|
|
/* 02C51038 */ cpu->r[29] = cpu->r[10] + cpu->r[8];
|
|
/* 02C5103C */ _t9 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5103C */ cpu->r[10] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C51040 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C51040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C51044 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C51048 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51048 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C51048 */ if (_t11) goto L_02C5104C; else goto L_02C51070;
|
|
L_02C5104C: ; // 0x2c5104c
|
|
/* 02C5104C */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5104C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C51050 */ Gambit_fn_02C62FEC(cpu);
|
|
/* 02C51054 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C51054 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C51058 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C51058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5105C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5105C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C51060 */ cpu->lr = cpu->r[0];
|
|
/* 02C51064 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C51064 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C51068 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5106C */ return;
|
|
L_02C51070: ; // 0x2c51070
|
|
/* 02C51070 */ _t17 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C51070 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C51074 */ Gambit_fn_02C62FEC(cpu);
|
|
/* 02C51078 */ _t18 = cpu->r[29] + 0x00000002u;
|
|
/* 02C51078 */ cpu->r[12] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C5107C */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C51080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0xFFFFFFFFu);
|
|
/* 02C51084 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51084 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C51084 */ if (_t20) goto L_02C510B4; else goto L_02C51088;
|
|
L_02C51088: ; // 0x2c51088
|
|
/* 02C51088 */ _t21 = cpu->r[30] + 0x00000004u;
|
|
/* 02C51088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C5108C */ /* nop */
|
|
/* 02C51090 */ cpu->r[9] = 0x00000001u;
|
|
/* 02C51094 */ _t22 = cpu->r[30] + 0x00000010u;
|
|
/* 02C51094 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C51098 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 02C5109C */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C510A0 */ _t23 = cpu->r[30] + 0x00000004u;
|
|
/* 02C510A0 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C510A4 */ _t24 = cpu->r[6] + cpu->r[12];
|
|
/* 02C510A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C510A8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], cpu->r[31], 0x00000000u, 0x0000001Fu);
|
|
/* 02C510AC */ cpu->r[0] = cpu->r[0] | cpu->r[8];
|
|
/* 02C510B0 */ _t25 = cpu->r[6] + cpu->r[12];
|
|
/* 02C510B0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02C510B4: ; // 0x2c510b4
|
|
/* 02C510B4 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C510B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C510B8 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C510B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C510BC */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02C510BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C510C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C510C4 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02C510C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C510C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C510CC */ return;
|
|
}
|
|
|
|
// fn_02C510D0 @ 0x2c510d0
|
|
void Gambit_fn_02C510D0(CPUState* cpu) {
|
|
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_02C510D0: ; // 0x2c510d0
|
|
/* 02C510D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C510D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C510D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C510D4 */ cpu->r[1] = _t0;
|
|
/* 02C510D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C510D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C510DC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C510DC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C510E0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C510E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C510E4 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C510E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C510E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C510EC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C510EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C510F0 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C510F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C510F4 */ _t7 = cpu->r[8] + 0x00000002u;
|
|
/* 02C510F4 */ cpu->r[28] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C510F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C510FC */ cpu->r[29] = 0x00000000u;
|
|
/* 02C51100 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51100 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C51100 */ if (_t9) goto L_02C5114C; else goto L_02C51104;
|
|
L_02C51104: ; // 0x2c51104
|
|
/* 02C51104 */ cpu->r[30] = 0x00000000u;
|
|
L_02C51108: ; // 0x2c51108
|
|
/* 02C51108 */ _t10 = cpu->r[8] + 0x0000002Cu;
|
|
/* 02C51108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5110C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C51110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51114 */ cpu->r[10] = cpu->r[8] + 0x0000002Cu;
|
|
/* 02C51118 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51118 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C51118 */ if (_t12) goto L_02C51120; else goto L_02C5111C;
|
|
L_02C5111C: ; // 0x2c5111c
|
|
/* 02C5111C */ cpu->r[11] = cpu->r[10] + cpu->r[0];
|
|
L_02C51120: ; // 0x2c51120
|
|
/* 02C51120 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C51124 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C51128 */ _t13 = cpu->r[12] + 0x00000001u;
|
|
/* 02C51128 */ cpu->r[5] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C5112C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C51130 */ Gambit_fn_02C50FFC(cpu);
|
|
/* 02C51134 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C51134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C51138 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C5113C */ cpu->r[30] = cpu->r[30] + 0x00000018u;
|
|
/* 02C51140 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51140 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C51140 */ if (_t15) goto L_02C5114C; else goto L_02C51144;
|
|
L_02C51144: ; // 0x2c51144
|
|
/* 02C51144 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02C51144 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C51148 */ goto L_02C51108;
|
|
L_02C5114C: ; // 0x2c5114c
|
|
/* 02C5114C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5114C */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C51150 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C51150 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C51154 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C51154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C51158 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C51158 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5115C */ cpu->lr = cpu->r[0];
|
|
/* 02C51160 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02C51160 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C51164 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C51168 */ return;
|
|
}
|
|
|
|
// fn_02C510D4 @ 0x2c510d4
|
|
void Gambit_fn_02C510D4(CPUState* cpu) {
|
|
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_02C510D4: ; // 0x2c510d4
|
|
/* 02C510D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C510D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C510D4 */ cpu->r[1] = _t0;
|
|
/* 02C510D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C510D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C510DC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C510DC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C510E0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C510E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C510E4 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C510E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C510E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C510EC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C510EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C510F0 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C510F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C510F4 */ _t7 = cpu->r[8] + 0x00000002u;
|
|
/* 02C510F4 */ cpu->r[28] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C510F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C510FC */ cpu->r[29] = 0x00000000u;
|
|
/* 02C51100 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51100 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C51100 */ if (_t9) goto L_02C5114C; else goto L_02C51104;
|
|
L_02C51104: ; // 0x2c51104
|
|
/* 02C51104 */ cpu->r[30] = 0x00000000u;
|
|
L_02C51108: ; // 0x2c51108
|
|
/* 02C51108 */ _t10 = cpu->r[8] + 0x0000002Cu;
|
|
/* 02C51108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5110C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C51110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51114 */ cpu->r[10] = cpu->r[8] + 0x0000002Cu;
|
|
/* 02C51118 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51118 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C51118 */ if (_t12) goto L_02C51120; else goto L_02C5111C;
|
|
L_02C5111C: ; // 0x2c5111c
|
|
/* 02C5111C */ cpu->r[11] = cpu->r[10] + cpu->r[0];
|
|
L_02C51120: ; // 0x2c51120
|
|
/* 02C51120 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C51124 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C51128 */ _t13 = cpu->r[12] + 0x00000001u;
|
|
/* 02C51128 */ cpu->r[5] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C5112C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C51130 */ Gambit_fn_02C50FFC(cpu);
|
|
/* 02C51134 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C51134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C51138 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C5113C */ cpu->r[30] = cpu->r[30] + 0x00000018u;
|
|
/* 02C51140 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51140 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C51140 */ if (_t15) goto L_02C5114C; else goto L_02C51144;
|
|
L_02C51144: ; // 0x2c51144
|
|
/* 02C51144 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02C51144 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C51148 */ goto L_02C51108;
|
|
L_02C5114C: ; // 0x2c5114c
|
|
/* 02C5114C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5114C */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C51150 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C51150 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C51154 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C51154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C51158 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C51158 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5115C */ cpu->lr = cpu->r[0];
|
|
/* 02C51160 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02C51160 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C51164 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C51168 */ return;
|
|
}
|
|
|
|
// fn_02C5116C @ 0x2c5116c
|
|
void Gambit_fn_02C5116C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C5116C: ; // 0x2c5116c
|
|
/* 02C5116C */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5116C */ cpu->r[6] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C51170 */ _t1 = cpu->r[6] + 0x00000000u;
|
|
/* 02C51170 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C51174 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C51178 */ _t2 = cpu->r[8] + 0x00000001u;
|
|
/* 02C51178 */ cpu->r[6] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C5117C */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02C51180 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C51180 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C51184 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C51188 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C5118C */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02C5118C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02C51190 */ cpu->r[0] = 0x00000002u;
|
|
/* 02C51194 */ _t5 = cpu->r[3] + 0x00000018u;
|
|
/* 02C51194 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02C51198 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5119C */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5119C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
L_02C511A0: ; // 0x2c511a0
|
|
/* 02C511A0 */ _t7 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C511A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C511A4 */ _t8 = cpu->r[7] + 0x00000008u;
|
|
/* 02C511A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C511A4 */ cpu->r[7] = _t8;
|
|
/* 02C511A8 */ cpu->r[8] = cpu->r[9] + cpu->r[10];
|
|
/* 02C511AC */ _t9 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C511AC */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02C511B0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C511B0 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C511B0 */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02C511B0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C511B0 */ if (_t12) goto L_02C511A0; else goto L_02C511B4;
|
|
L_02C511B4: ; // 0x2c511b4
|
|
/* 02C511B4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C511B8 */ cpu->r[11] = cpu->r[12] + cpu->r[10];
|
|
/* 02C511BC */ _t13 = cpu->r[12] + cpu->r[10];
|
|
/* 02C511BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C511C0 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 02C511C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C511C4 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 02C511C4 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02C511C8 */ cpu->r[0] = cpu->r[11] + cpu->r[0];
|
|
/* 02C511CC */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02C511CC */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02C511D0 */ return;
|
|
}
|
|
|
|
// fn_02C511D4 @ 0x2c511d4
|
|
void Gambit_fn_02C511D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C511D4: ; // 0x2c511d4
|
|
/* 02C511D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C511D8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C511DC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C511DC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C511E0 */ cpu->r[3] = cpu->r[4] + 0x00000004u;
|
|
/* 02C511E4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C511E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C511E4 */ cpu->r[1] = _t1;
|
|
/* 02C511E8 */ Gambit_fn_02C5116C(cpu);
|
|
/* 02C511EC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C511EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C511F0 */ _t3 = cpu->r[4] + 0x00000008u;
|
|
/* 02C511F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C511F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C511F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C511FC */ return;
|
|
}
|
|
|
|
// fn_02C511E4 @ 0x2c511e4
|
|
void Gambit_fn_02C511E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C511E4: ; // 0x2c511e4
|
|
/* 02C511E4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C511E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C511E4 */ cpu->r[1] = _t0;
|
|
/* 02C511E8 */ Gambit_fn_02C5116C(cpu);
|
|
/* 02C511EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C511EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C511F0 */ _t2 = cpu->r[4] + 0x00000008u;
|
|
/* 02C511F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C511F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C511F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C511FC */ return;
|
|
}
|
|
|
|
// fn_02C51200 @ 0x2c51200
|
|
void Gambit_fn_02C51200(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C51200: ; // 0x2c51200
|
|
/* 02C51200 */ cpu->r[0] = cpu->lr;
|
|
/* 02C51204 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C51204 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C51204 */ cpu->r[1] = _t0;
|
|
/* 02C51208 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C51208 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C5120C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5120C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C51210 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C51210 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C51214 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C51214 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C51218 */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02C51218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5121C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C51220 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C51224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51228 */ cpu->r[3] = cpu->r[4] + 0x00000004u;
|
|
/* 02C5122C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5122C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5122C */ if (_t7) goto L_02C51230; else goto L_02C51234;
|
|
L_02C51230: ; // 0x2c51230
|
|
/* 02C51230 */ Gambit_fn_02C5116C(cpu);
|
|
L_02C51234: ; // 0x2c51234
|
|
/* 02C51234 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C51234 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C51238 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02C5123C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5123C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5123C */ if (_t10) goto L_02C51240; else goto L_02C51260;
|
|
L_02C51240: ; // 0x2c51240
|
|
/* 02C51240 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C51240 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C51244 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C51244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C51248 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C51248 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5124C */ cpu->lr = cpu->r[0];
|
|
/* 02C51250 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C51250 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C51254 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C51258 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5125C */ return;
|
|
L_02C51260: ; // 0x2c51260
|
|
/* 02C51260 */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 02C51260 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C51264 */ _t16 = cpu->r[6] + 0x00000000u;
|
|
/* 02C51264 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C51268 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02C51268 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02C5126C */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5126C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C51270 */ _t19 = cpu->r[12] + 0x00000000u;
|
|
/* 02C51270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C51274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51278 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51278 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C51278 */ if (_t21) goto L_02C51284; else goto L_02C5127C;
|
|
L_02C5127C: ; // 0x2c5127c
|
|
/* 02C5127C */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 02C5127C */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C51280 */ cpu->r[0] = cpu->r[5] + cpu->r[8];
|
|
L_02C51284: ; // 0x2c51284
|
|
/* 02C51284 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02C51284 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C51288 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02C51288 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5128C */ _t25 = cpu->r[12] + 0x00000008u;
|
|
/* 02C5128C */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C51290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C51294 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51294 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C51294 */ if (_t27) goto L_02C512A0; else goto L_02C51298;
|
|
L_02C51298: ; // 0x2c51298
|
|
/* 02C51298 */ _t28 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C51298 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5129C */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
L_02C512A0: ; // 0x2c512a0
|
|
/* 02C512A0 */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 02C512A0 */ rbrew_write32(cpu->mem, _t29, cpu->r[7]);
|
|
/* 02C512A4 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 02C512A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C512A8 */ _t31 = cpu->r[12] + 0x00000010u;
|
|
/* 02C512A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C512AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C512B0 */ _t32 = cpu->r[31] + 0x00000000u;
|
|
/* 02C512B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C512B4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C512B4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C512B4 */ if (_t34) goto L_02C512C0; else goto L_02C512B8;
|
|
L_02C512B8: ; // 0x2c512b8
|
|
/* 02C512B8 */ _t35 = cpu->r[12] + 0x00000014u;
|
|
/* 02C512B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C512BC */ cpu->r[0] = cpu->r[5] + cpu->r[10];
|
|
L_02C512C0: ; // 0x2c512c0
|
|
/* 02C512C0 */ _t36 = cpu->r[31] + 0x00000014u;
|
|
/* 02C512C0 */ rbrew_write32(cpu->mem, _t36, cpu->r[5]);
|
|
/* 02C512C4 */ _t37 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C512C4 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02C512C8 */ _t38 = cpu->r[6] + 0x00000000u;
|
|
/* 02C512C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C512CC */ _t39 = cpu->r[7] + 0x00000001u;
|
|
/* 02C512CC */ cpu->r[29] = rbrew_read8(cpu->mem, _t39);
|
|
/* 02C512D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C512D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C512D8 */ _t40 = cpu->r[31] + 0x00000004u;
|
|
/* 02C512D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C512DC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C512DC */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C512DC */ if (_t42) goto L_02C513A0; else goto L_02C512E0;
|
|
L_02C512E0: ; // 0x2c512e0
|
|
/* 02C512E0 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C512E4 */ Gambit_fn_02C63318(cpu);
|
|
/* 02C512E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C512EC */ /* nop */
|
|
/* 02C512F0 */ _t43 = cpu->r[31] + 0x00000004u;
|
|
/* 02C512F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C512F4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C512F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C512F8 */ _t44 = cpu->r[31] + 0x00000008u;
|
|
/* 02C512F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C512FC */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C512FC */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C512FC */ if (_t46) goto L_02C51384; else goto L_02C51300;
|
|
L_02C51300: ; // 0x2c51300
|
|
/* 02C51300 */ cpu->r[9] = cpu->r[10] - cpu->r[11];
|
|
/* 02C51304 */ /* nop */
|
|
/* 02C51308 */ /* nop */
|
|
/* 02C5130C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02C51310 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C51310 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C51310 */ if (_t48) goto L_02C51360; else goto L_02C51314;
|
|
L_02C51314: ; // 0x2c51314
|
|
/* 02C51314 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C51314 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C51314 */ if (_t50) goto L_02C51320; else goto L_02C51318;
|
|
L_02C51318: ; // 0x2c51318
|
|
/* 02C51318 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02C5131C */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5131C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C5131C */ if (_t52) goto L_02C51360; else goto L_02C51320;
|
|
L_02C51320: ; // 0x2c51320
|
|
/* 02C51320 */ cpu->r[7] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C51320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C51324 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
/* 02C51328 */ cpu->r[10] = cpu->r[10] + cpu->r[12];
|
|
/* 02C5132C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5132C */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C5132C */ if (_t54) goto L_02C51330; else goto L_02C51334;
|
|
L_02C51330: ; // 0x2c51330
|
|
/* 02C51330 */ cpu->r[12] = 0x00000001u;
|
|
L_02C51334: ; // 0x2c51334
|
|
/* 02C51334 */ cpu->ctr = cpu->r[12];
|
|
L_02C51338: ; // 0x2c51338
|
|
/* 02C51338 */ _t55 = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C51338 */ cpu->r[6] = rbrew_read8(cpu->mem, _t55);
|
|
/* 02C51338 */ cpu->r[11] = _t55;
|
|
/* 02C5133C */ _t56 = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C5133C */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[6]);
|
|
/* 02C5133C */ cpu->r[10] = _t56;
|
|
/* 02C51340 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C51340 */ _t57 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C51340 */ _t58 = _t57 >> (0x00000002u & 31u);
|
|
/* 02C51340 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C51340 */ if (_t59) goto L_02C51338; else goto L_02C51344;
|
|
L_02C51344: ; // 0x2c51344
|
|
/* 02C51344 */ _t60 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C51344 */ cpu->r[4] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C51348 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C5134C */ Gambit_fn_02C63498(cpu);
|
|
/* 02C51350 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C51354 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C51358 */ _t61 = cpu->r[31] + 0x00000010u;
|
|
/* 02C51358 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 02C5135C */ goto L_02C513D0;
|
|
L_02C51360: ; // 0x2c51360
|
|
/* 02C51360 */ cpu->r[9] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C51360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C51364 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C51368 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C5136C */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5136C */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C5136C */ if (_t63) goto L_02C51370; else goto L_02C51374;
|
|
L_02C51370: ; // 0x2c51370
|
|
/* 02C51370 */ cpu->r[12] = 0x00000001u;
|
|
L_02C51374: ; // 0x2c51374
|
|
/* 02C51374 */ cpu->ctr = cpu->r[12];
|
|
L_02C51378: ; // 0x2c51378
|
|
/* 02C51378 */ _t64 = cpu->r[11] + 0x00000001u;
|
|
/* 02C51378 */ cpu->r[8] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02C51378 */ cpu->r[11] = _t64;
|
|
/* 02C5137C */ _t65 = cpu->r[10] + 0x00000001u;
|
|
/* 02C5137C */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[8]);
|
|
/* 02C5137C */ cpu->r[10] = _t65;
|
|
/* 02C51380 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C51380 */ _t66 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C51380 */ _t67 = _t66 >> (0x00000002u & 31u);
|
|
/* 02C51380 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C51380 */ if (_t68) goto L_02C51378; else goto L_02C51384;
|
|
L_02C51384: ; // 0x2c51384
|
|
/* 02C51384 */ _t69 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C51384 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C51388 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C5138C */ Gambit_fn_02C63498(cpu);
|
|
/* 02C51390 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C51394 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C51398 */ _t70 = cpu->r[31] + 0x00000010u;
|
|
/* 02C51398 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 02C5139C */ goto L_02C513D0;
|
|
L_02C513A0: ; // 0x2c513a0
|
|
/* 02C513A0 */ cpu->r[4] = cpu->r[6] + 0x00000014u;
|
|
/* 02C513A4 */ Gambit_fn_02C634BC(cpu);
|
|
/* 02C513A8 */ _t71 = cpu->r[30] + 0x00000058u;
|
|
/* 02C513A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C513AC */ cpu->r[6] = 0x00000000u;
|
|
/* 02C513B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C513B4 */ cpu->r[9] = cpu->r[30] + 0x00000058u;
|
|
/* 02C513B8 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C513B8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C513B8 */ if (_t73) goto L_02C513C0; else goto L_02C513BC;
|
|
L_02C513BC: ; // 0x2c513bc
|
|
/* 02C513BC */ cpu->r[6] = cpu->r[9] + cpu->r[7];
|
|
L_02C513C0: ; // 0x2c513c0
|
|
/* 02C513C0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x0000004Cu);
|
|
/* 02C513C4 */ cpu->r[0] = cpu->r[6] + cpu->r[0];
|
|
/* 02C513C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C513CC */ _t74 = cpu->r[31] + 0x00000010u;
|
|
/* 02C513CC */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
L_02C513D0: ; // 0x2c513d0
|
|
/* 02C513D0 */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C513D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C513D4 */ _t76 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C513D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C513D8 */ _t77 = cpu->r[1] + 0x00000010u;
|
|
/* 02C513D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C513DC */ cpu->lr = cpu->r[0];
|
|
/* 02C513E0 */ _t78 = cpu->r[1] + 0x00000014u;
|
|
/* 02C513E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C513E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C513E8 */ return;
|
|
}
|
|
|
|
// fn_02C51204 @ 0x2c51204
|
|
void Gambit_fn_02C51204(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C51204: ; // 0x2c51204
|
|
/* 02C51204 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C51204 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C51204 */ cpu->r[1] = _t0;
|
|
/* 02C51208 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C51208 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C5120C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5120C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C51210 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C51210 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C51214 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C51214 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C51218 */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02C51218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5121C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C51220 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C51224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51228 */ cpu->r[3] = cpu->r[4] + 0x00000004u;
|
|
/* 02C5122C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5122C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5122C */ if (_t7) goto L_02C51230; else goto L_02C51234;
|
|
L_02C51230: ; // 0x2c51230
|
|
/* 02C51230 */ Gambit_fn_02C5116C(cpu);
|
|
L_02C51234: ; // 0x2c51234
|
|
/* 02C51234 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C51234 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C51238 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02C5123C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5123C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5123C */ if (_t10) goto L_02C51240; else goto L_02C51260;
|
|
L_02C51240: ; // 0x2c51240
|
|
/* 02C51240 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C51240 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C51244 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C51244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C51248 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C51248 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5124C */ cpu->lr = cpu->r[0];
|
|
/* 02C51250 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C51250 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C51254 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C51258 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5125C */ return;
|
|
L_02C51260: ; // 0x2c51260
|
|
/* 02C51260 */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 02C51260 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C51264 */ _t16 = cpu->r[6] + 0x00000000u;
|
|
/* 02C51264 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C51268 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02C51268 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02C5126C */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5126C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C51270 */ _t19 = cpu->r[12] + 0x00000000u;
|
|
/* 02C51270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C51274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51278 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51278 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C51278 */ if (_t21) goto L_02C51284; else goto L_02C5127C;
|
|
L_02C5127C: ; // 0x2c5127c
|
|
/* 02C5127C */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 02C5127C */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C51280 */ cpu->r[0] = cpu->r[5] + cpu->r[8];
|
|
L_02C51284: ; // 0x2c51284
|
|
/* 02C51284 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02C51284 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C51288 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02C51288 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5128C */ _t25 = cpu->r[12] + 0x00000008u;
|
|
/* 02C5128C */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C51290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C51294 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51294 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C51294 */ if (_t27) goto L_02C512A0; else goto L_02C51298;
|
|
L_02C51298: ; // 0x2c51298
|
|
/* 02C51298 */ _t28 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C51298 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5129C */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
L_02C512A0: ; // 0x2c512a0
|
|
/* 02C512A0 */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 02C512A0 */ rbrew_write32(cpu->mem, _t29, cpu->r[7]);
|
|
/* 02C512A4 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 02C512A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C512A8 */ _t31 = cpu->r[12] + 0x00000010u;
|
|
/* 02C512A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C512AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C512B0 */ _t32 = cpu->r[31] + 0x00000000u;
|
|
/* 02C512B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C512B4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C512B4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C512B4 */ if (_t34) goto L_02C512C0; else goto L_02C512B8;
|
|
L_02C512B8: ; // 0x2c512b8
|
|
/* 02C512B8 */ _t35 = cpu->r[12] + 0x00000014u;
|
|
/* 02C512B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C512BC */ cpu->r[0] = cpu->r[5] + cpu->r[10];
|
|
L_02C512C0: ; // 0x2c512c0
|
|
/* 02C512C0 */ _t36 = cpu->r[31] + 0x00000014u;
|
|
/* 02C512C0 */ rbrew_write32(cpu->mem, _t36, cpu->r[5]);
|
|
/* 02C512C4 */ _t37 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C512C4 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02C512C8 */ _t38 = cpu->r[6] + 0x00000000u;
|
|
/* 02C512C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C512CC */ _t39 = cpu->r[7] + 0x00000001u;
|
|
/* 02C512CC */ cpu->r[29] = rbrew_read8(cpu->mem, _t39);
|
|
/* 02C512D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C512D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C512D8 */ _t40 = cpu->r[31] + 0x00000004u;
|
|
/* 02C512D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C512DC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C512DC */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C512DC */ if (_t42) goto L_02C513A0; else goto L_02C512E0;
|
|
L_02C512E0: ; // 0x2c512e0
|
|
/* 02C512E0 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C512E4 */ Gambit_fn_02C63318(cpu);
|
|
/* 02C512E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C512EC */ /* nop */
|
|
/* 02C512F0 */ _t43 = cpu->r[31] + 0x00000004u;
|
|
/* 02C512F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C512F4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C512F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C512F8 */ _t44 = cpu->r[31] + 0x00000008u;
|
|
/* 02C512F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C512FC */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C512FC */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C512FC */ if (_t46) goto L_02C51384; else goto L_02C51300;
|
|
L_02C51300: ; // 0x2c51300
|
|
/* 02C51300 */ cpu->r[9] = cpu->r[10] - cpu->r[11];
|
|
/* 02C51304 */ /* nop */
|
|
/* 02C51308 */ /* nop */
|
|
/* 02C5130C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02C51310 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C51310 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C51310 */ if (_t48) goto L_02C51360; else goto L_02C51314;
|
|
L_02C51314: ; // 0x2c51314
|
|
/* 02C51314 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C51314 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C51314 */ if (_t50) goto L_02C51320; else goto L_02C51318;
|
|
L_02C51318: ; // 0x2c51318
|
|
/* 02C51318 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02C5131C */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5131C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C5131C */ if (_t52) goto L_02C51360; else goto L_02C51320;
|
|
L_02C51320: ; // 0x2c51320
|
|
/* 02C51320 */ cpu->r[7] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C51320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C51324 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
/* 02C51328 */ cpu->r[10] = cpu->r[10] + cpu->r[12];
|
|
/* 02C5132C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5132C */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C5132C */ if (_t54) goto L_02C51330; else goto L_02C51334;
|
|
L_02C51330: ; // 0x2c51330
|
|
/* 02C51330 */ cpu->r[12] = 0x00000001u;
|
|
L_02C51334: ; // 0x2c51334
|
|
/* 02C51334 */ cpu->ctr = cpu->r[12];
|
|
L_02C51338: ; // 0x2c51338
|
|
/* 02C51338 */ _t55 = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C51338 */ cpu->r[6] = rbrew_read8(cpu->mem, _t55);
|
|
/* 02C51338 */ cpu->r[11] = _t55;
|
|
/* 02C5133C */ _t56 = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C5133C */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[6]);
|
|
/* 02C5133C */ cpu->r[10] = _t56;
|
|
/* 02C51340 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C51340 */ _t57 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C51340 */ _t58 = _t57 >> (0x00000002u & 31u);
|
|
/* 02C51340 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C51340 */ if (_t59) goto L_02C51338; else goto L_02C51344;
|
|
L_02C51344: ; // 0x2c51344
|
|
/* 02C51344 */ _t60 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C51344 */ cpu->r[4] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C51348 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C5134C */ Gambit_fn_02C63498(cpu);
|
|
/* 02C51350 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C51354 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C51358 */ _t61 = cpu->r[31] + 0x00000010u;
|
|
/* 02C51358 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 02C5135C */ goto L_02C513D0;
|
|
L_02C51360: ; // 0x2c51360
|
|
/* 02C51360 */ cpu->r[9] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C51360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C51364 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C51368 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C5136C */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5136C */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C5136C */ if (_t63) goto L_02C51370; else goto L_02C51374;
|
|
L_02C51370: ; // 0x2c51370
|
|
/* 02C51370 */ cpu->r[12] = 0x00000001u;
|
|
L_02C51374: ; // 0x2c51374
|
|
/* 02C51374 */ cpu->ctr = cpu->r[12];
|
|
L_02C51378: ; // 0x2c51378
|
|
/* 02C51378 */ _t64 = cpu->r[11] + 0x00000001u;
|
|
/* 02C51378 */ cpu->r[8] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02C51378 */ cpu->r[11] = _t64;
|
|
/* 02C5137C */ _t65 = cpu->r[10] + 0x00000001u;
|
|
/* 02C5137C */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[8]);
|
|
/* 02C5137C */ cpu->r[10] = _t65;
|
|
/* 02C51380 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C51380 */ _t66 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C51380 */ _t67 = _t66 >> (0x00000002u & 31u);
|
|
/* 02C51380 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C51380 */ if (_t68) goto L_02C51378; else goto L_02C51384;
|
|
L_02C51384: ; // 0x2c51384
|
|
/* 02C51384 */ _t69 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C51384 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C51388 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C5138C */ Gambit_fn_02C63498(cpu);
|
|
/* 02C51390 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C51394 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C51398 */ _t70 = cpu->r[31] + 0x00000010u;
|
|
/* 02C51398 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 02C5139C */ goto L_02C513D0;
|
|
L_02C513A0: ; // 0x2c513a0
|
|
/* 02C513A0 */ cpu->r[4] = cpu->r[6] + 0x00000014u;
|
|
/* 02C513A4 */ Gambit_fn_02C634BC(cpu);
|
|
/* 02C513A8 */ _t71 = cpu->r[30] + 0x00000058u;
|
|
/* 02C513A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C513AC */ cpu->r[6] = 0x00000000u;
|
|
/* 02C513B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C513B4 */ cpu->r[9] = cpu->r[30] + 0x00000058u;
|
|
/* 02C513B8 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C513B8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C513B8 */ if (_t73) goto L_02C513C0; else goto L_02C513BC;
|
|
L_02C513BC: ; // 0x2c513bc
|
|
/* 02C513BC */ cpu->r[6] = cpu->r[9] + cpu->r[7];
|
|
L_02C513C0: ; // 0x2c513c0
|
|
/* 02C513C0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x0000004Cu);
|
|
/* 02C513C4 */ cpu->r[0] = cpu->r[6] + cpu->r[0];
|
|
/* 02C513C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C513CC */ _t74 = cpu->r[31] + 0x00000010u;
|
|
/* 02C513CC */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
L_02C513D0: ; // 0x2c513d0
|
|
/* 02C513D0 */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C513D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C513D4 */ _t76 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C513D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C513D8 */ _t77 = cpu->r[1] + 0x00000010u;
|
|
/* 02C513D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C513DC */ cpu->lr = cpu->r[0];
|
|
/* 02C513E0 */ _t78 = cpu->r[1] + 0x00000014u;
|
|
/* 02C513E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C513E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C513E8 */ return;
|
|
}
|
|
|
|
// fn_02C513EC @ 0x2c513ec
|
|
void Gambit_fn_02C513EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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;
|
|
|
|
L_02C513EC: ; // 0x2c513ec
|
|
/* 02C513EC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C513EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C513EC */ cpu->r[1] = _t0;
|
|
/* 02C513F0 */ /* nop */
|
|
/* 02C513F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C513F8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C513F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C513FC */ cpu->r[29] = cpu->r[3];
|
|
/* 02C51400 */ _t2 = cpu->r[29] + 0x00000000u;
|
|
/* 02C51400 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C51404 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 02C51404 */ cpu->r[28] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C51408 */ _t4 = cpu->r[28] + 0x00000001u;
|
|
/* 02C51408 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C5140C */ _t5 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5140C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C51410 */ _t6 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C51410 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C51414 */ cpu->r[10] = cpu->r[30];
|
|
/* 02C51418 */ cpu->r[27] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5141C */ cpu->r[11] = cpu->r[31];
|
|
/* 02C51420 */ cpu->r[6] = cpu->r[30] + cpu->r[27];
|
|
/* 02C51424 */ goto L_02C51430;
|
|
L_02C51428: ; // 0x2c51428
|
|
/* 02C51428 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02C5142C */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
L_02C51430: ; // 0x2c51430
|
|
/* 02C51430 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]);
|
|
/* 02C51434 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51434 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C51434 */ if (_t8) goto L_02C51448; else goto L_02C51438;
|
|
L_02C51438: ; // 0x2c51438
|
|
/* 02C51438 */ _t9 = cpu->r[10] + 0x00000000u;
|
|
/* 02C51438 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5143C */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5143C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C51440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02C51444 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51444 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C51444 */ if (_t12) goto L_02C51428; else goto L_02C51448;
|
|
L_02C51448: ; // 0x2c51448
|
|
/* 02C51448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]);
|
|
/* 02C5144C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5144C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5144C */ if (_t14) goto L_02C51450; else goto L_02C51460;
|
|
L_02C51450: ; // 0x2c51450
|
|
/* 02C51450 */ _t15 = cpu->r[29] + 0x00000010u;
|
|
/* 02C51450 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C51454 */ Gambit_fn_02C63B54(cpu);
|
|
/* 02C51458 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C5145C */ goto L_02C51568;
|
|
L_02C51460: ; // 0x2c51460
|
|
/* 02C51460 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C51464 */ cpu->r[4] = cpu->r[12] + 0x00000014u;
|
|
/* 02C51468 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C5146C */ Gambit_fn_02C634BC(cpu);
|
|
/* 02C51470 */ /* nop */
|
|
/* 02C51474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02C51478 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51478 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C51478 */ if (_t17) goto L_02C5147C; else goto L_02C514B0;
|
|
L_02C5147C: ; // 0x2c5147c
|
|
/* 02C5147C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02C51480 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51480 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C51480 */ if (_t19) goto L_02C51484; else goto L_02C514B0;
|
|
L_02C51484: ; // 0x2c51484
|
|
/* 02C51484 */ _t20 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C51484 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C51488 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C5148C */ Gambit_fn_02C63498(cpu);
|
|
/* 02C51490 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C51494 */ _t21 = cpu->r[29] + 0x00000010u;
|
|
/* 02C51494 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02C51498 */ /* nop */
|
|
/* 02C5149C */ cpu->r[3] = cpu->r[0];
|
|
/* 02C514A0 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02C514A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C514A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C514A8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C514AC */ return;
|
|
L_02C514B0: ; // 0x2c514b0
|
|
/* 02C514B0 */ /* nop */
|
|
/* 02C514B4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C514B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C514B8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C514B8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C514B8 */ if (_t24) goto L_02C5153C; else goto L_02C514BC;
|
|
L_02C514BC: ; // 0x2c514bc
|
|
/* 02C514BC */ cpu->r[9] = cpu->r[31] - cpu->r[30];
|
|
/* 02C514C0 */ /* nop */
|
|
/* 02C514C4 */ /* nop */
|
|
/* 02C514C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02C514CC */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C514CC */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C514CC */ if (_t26) goto L_02C51518; else goto L_02C514D0;
|
|
L_02C514D0: ; // 0x2c514d0
|
|
/* 02C514D0 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C514D0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C514D0 */ if (_t28) goto L_02C514DC; else goto L_02C514D4;
|
|
L_02C514D4: ; // 0x2c514d4
|
|
/* 02C514D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02C514D8 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C514D8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C514D8 */ if (_t30) goto L_02C51518; else goto L_02C514DC;
|
|
L_02C514DC: ; // 0x2c514dc
|
|
/* 02C514DC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C514DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C514E0 */ cpu->r[30] = cpu->r[30] + cpu->r[12];
|
|
/* 02C514E4 */ cpu->r[31] = cpu->r[31] + cpu->r[12];
|
|
/* 02C514E8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C514E8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C514E8 */ if (_t32) goto L_02C514EC; else goto L_02C514F0;
|
|
L_02C514EC: ; // 0x2c514ec
|
|
/* 02C514EC */ cpu->r[12] = 0x00000001u;
|
|
L_02C514F0: ; // 0x2c514f0
|
|
/* 02C514F0 */ cpu->ctr = cpu->r[12];
|
|
L_02C514F4: ; // 0x2c514f4
|
|
/* 02C514F4 */ _t33 = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C514F4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02C514F4 */ cpu->r[30] = _t33;
|
|
/* 02C514F8 */ _t34 = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C514F8 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[5]);
|
|
/* 02C514F8 */ cpu->r[31] = _t34;
|
|
/* 02C514FC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C514FC */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C514FC */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 02C514FC */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C514FC */ if (_t37) goto L_02C514F4; else goto L_02C51500;
|
|
L_02C51500: ; // 0x2c51500
|
|
/* 02C51500 */ _t38 = cpu->r[28] + 0x00000058u;
|
|
/* 02C51500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C51504 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C51508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5150C */ cpu->r[6] = cpu->r[28] + 0x00000058u;
|
|
/* 02C51510 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51510 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C51510 */ if (_t40) goto L_02C51554; else goto L_02C51514;
|
|
L_02C51514: ; // 0x2c51514
|
|
/* 02C51514 */ goto L_02C51550;
|
|
L_02C51518: ; // 0x2c51518
|
|
/* 02C51518 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C51518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5151C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C51520 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C51524 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51524 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C51524 */ if (_t42) goto L_02C51528; else goto L_02C5152C;
|
|
L_02C51528: ; // 0x2c51528
|
|
/* 02C51528 */ cpu->r[12] = 0x00000001u;
|
|
L_02C5152C: ; // 0x2c5152c
|
|
/* 02C5152C */ cpu->ctr = cpu->r[12];
|
|
L_02C51530: ; // 0x2c51530
|
|
/* 02C51530 */ _t43 = cpu->r[30] + 0x00000001u;
|
|
/* 02C51530 */ cpu->r[7] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02C51530 */ cpu->r[30] = _t43;
|
|
/* 02C51534 */ _t44 = cpu->r[31] + 0x00000001u;
|
|
/* 02C51534 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[7]);
|
|
/* 02C51534 */ cpu->r[31] = _t44;
|
|
/* 02C51538 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C51538 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C51538 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02C51538 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C51538 */ if (_t47) goto L_02C51530; else goto L_02C5153C;
|
|
L_02C5153C: ; // 0x2c5153c
|
|
/* 02C5153C */ _t48 = cpu->r[28] + 0x00000058u;
|
|
/* 02C5153C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C51540 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C51544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51548 */ cpu->r[6] = cpu->r[28] + 0x00000058u;
|
|
/* 02C5154C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5154C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C5154C */ if (_t50) goto L_02C51554; else goto L_02C51550;
|
|
L_02C51550: ; // 0x2c51550
|
|
/* 02C51550 */ cpu->r[7] = cpu->r[6] + cpu->r[0];
|
|
L_02C51554: ; // 0x2c51554
|
|
/* 02C51554 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x0000004Cu);
|
|
/* 02C51558 */ cpu->r[3] = cpu->r[7] + cpu->r[0];
|
|
/* 02C5155C */ _t51 = cpu->r[29] + 0x00000010u;
|
|
/* 02C5155C */ rbrew_write32(cpu->mem, _t51, cpu->r[3]);
|
|
/* 02C51560 */ Gambit_fn_02C63B54(cpu);
|
|
/* 02C51564 */ cpu->r[3] = 0x00000001u;
|
|
L_02C51568: ; // 0x2c51568
|
|
/* 02C51568 */ /* nop */
|
|
/* 02C5156C */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5156C */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C51570 */ cpu->lr = cpu->r[0];
|
|
/* 02C51574 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C51578 */ return;
|
|
}
|
|
|
|
// fn_02C5157C @ 0x2c5157c
|
|
void Gambit_fn_02C5157C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C5157C: ; // 0x2c5157c
|
|
/* 02C5157C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5157C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C51580 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 02C51580 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C51584 */ _t2 = cpu->r[8] + 0x00000034u;
|
|
/* 02C51584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C51588 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5158C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51590 */ cpu->r[10] = cpu->r[8] + 0x00000034u;
|
|
/* 02C51594 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51594 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C51594 */ if (_t4) goto L_02C5159C; else goto L_02C51598;
|
|
L_02C51598: ; // 0x2c51598
|
|
/* 02C51598 */ cpu->r[11] = cpu->r[10] + cpu->r[0];
|
|
L_02C5159C: ; // 0x2c5159c
|
|
/* 02C5159C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000018u);
|
|
/* 02C515A0 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02C515A4 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 02C515A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C515A8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C515A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C515AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C515AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C515AC */ if (_t7) goto L_02C515B0; else goto L_02C515BC;
|
|
L_02C515B0: ; // 0x2c515b0
|
|
/* 02C515B0 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C515B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C515B4 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C515B8 */ goto L_02C63038;
|
|
L_02C515BC: ; // 0x2c515bc
|
|
/* 02C515BC */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 02C515BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C515C0 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C515C4 */ goto L_02C63038;
|
|
L_02C63038: ; // 0x2c63038
|
|
/* 02C63038 */ _t10 = cpu->r[3] + 0x00000006u;
|
|
/* 02C63038 */ cpu->r[12] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C6303C */ _t11 = cpu->r[3] + 0x00000005u;
|
|
/* 02C6303C */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C63040 */ _t12 = cpu->r[3] + 0x00000007u;
|
|
/* 02C63040 */ cpu->r[11] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C63044 */ cpu->r[0] = cpu->r[12] - cpu->r[0];
|
|
/* 02C63048 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6304C */ /* nop */
|
|
/* 02C63050 */ _t13 = cpu->r[6] + cpu->r[4];
|
|
/* 02C63050 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C63054 */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 02C63054 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C63058 */ _t15 = ~cpu->r[9];
|
|
/* 02C63058 */ cpu->r[7] = cpu->r[8] & _t15;
|
|
/* 02C6305C */ cpu->r[12] = cpu->r[7] | cpu->r[10];
|
|
/* 02C63060 */ _t16 = cpu->r[6] + cpu->r[4];
|
|
/* 02C63060 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02C63064 */ return;
|
|
}
|
|
|
|
// fn_02C515C8 @ 0x2c515c8
|
|
void Gambit_fn_02C515C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C515C8: ; // 0x2c515c8
|
|
/* 02C515C8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C515CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C515CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C515CC */ cpu->r[1] = _t0;
|
|
/* 02C515D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C515D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C515D4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C515D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C515D8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C515D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C515DC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C515DC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C515E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C515E4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C515E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C515E8 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C515E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C515EC */ _t7 = cpu->r[7] + 0x00000000u;
|
|
/* 02C515EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C515F0 */ _t8 = cpu->r[6] + 0x00000004u;
|
|
/* 02C515F0 */ cpu->r[29] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C515F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C515F8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C515FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C515FC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C515FC */ if (_t10) goto L_02C5164C; else goto L_02C51600;
|
|
L_02C51600: ; // 0x2c51600
|
|
/* 02C51600 */ cpu->r[30] = 0x00000000u;
|
|
L_02C51604: ; // 0x2c51604
|
|
/* 02C51604 */ _t11 = cpu->r[7] + 0x00000000u;
|
|
/* 02C51604 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C51608 */ _t12 = cpu->r[8] + 0x00000034u;
|
|
/* 02C51608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5160C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C51610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51614 */ cpu->r[10] = cpu->r[8] + 0x00000034u;
|
|
/* 02C51618 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51618 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C51618 */ if (_t14) goto L_02C51620; else goto L_02C5161C;
|
|
L_02C5161C: ; // 0x2c5161c
|
|
/* 02C5161C */ cpu->r[11] = cpu->r[10] + cpu->r[0];
|
|
L_02C51620: ; // 0x2c51620
|
|
/* 02C51620 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C51624 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C51628 */ _t15 = cpu->r[12] + 0x00000001u;
|
|
/* 02C51628 */ cpu->r[5] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02C5162C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C51630 */ Gambit_fn_02C5157C(cpu);
|
|
/* 02C51634 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C51634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C51638 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C5163C */ cpu->r[30] = cpu->r[30] + 0x00000018u;
|
|
/* 02C51640 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51640 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C51640 */ if (_t17) goto L_02C5164C; else goto L_02C51644;
|
|
L_02C51644: ; // 0x2c51644
|
|
/* 02C51644 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02C51644 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C51648 */ goto L_02C51604;
|
|
L_02C5164C: ; // 0x2c5164c
|
|
/* 02C5164C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5164C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C51650 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C51650 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C51654 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C51654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C51658 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C51658 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5165C */ cpu->lr = cpu->r[0];
|
|
/* 02C51660 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C51660 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C51664 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C51668 */ return;
|
|
}
|
|
|
|
// fn_02C515CC @ 0x2c515cc
|
|
void Gambit_fn_02C515CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C515CC: ; // 0x2c515cc
|
|
/* 02C515CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C515CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C515CC */ cpu->r[1] = _t0;
|
|
/* 02C515D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C515D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C515D4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C515D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C515D8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C515D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C515DC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C515DC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C515E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C515E4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C515E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C515E8 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C515E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C515EC */ _t7 = cpu->r[7] + 0x00000000u;
|
|
/* 02C515EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C515F0 */ _t8 = cpu->r[6] + 0x00000004u;
|
|
/* 02C515F0 */ cpu->r[29] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C515F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C515F8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C515FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C515FC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C515FC */ if (_t10) goto L_02C5164C; else goto L_02C51600;
|
|
L_02C51600: ; // 0x2c51600
|
|
/* 02C51600 */ cpu->r[30] = 0x00000000u;
|
|
L_02C51604: ; // 0x2c51604
|
|
/* 02C51604 */ _t11 = cpu->r[7] + 0x00000000u;
|
|
/* 02C51604 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C51608 */ _t12 = cpu->r[8] + 0x00000034u;
|
|
/* 02C51608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5160C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C51610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51614 */ cpu->r[10] = cpu->r[8] + 0x00000034u;
|
|
/* 02C51618 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51618 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C51618 */ if (_t14) goto L_02C51620; else goto L_02C5161C;
|
|
L_02C5161C: ; // 0x2c5161c
|
|
/* 02C5161C */ cpu->r[11] = cpu->r[10] + cpu->r[0];
|
|
L_02C51620: ; // 0x2c51620
|
|
/* 02C51620 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C51624 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C51628 */ _t15 = cpu->r[12] + 0x00000001u;
|
|
/* 02C51628 */ cpu->r[5] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02C5162C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C51630 */ Gambit_fn_02C5157C(cpu);
|
|
/* 02C51634 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C51634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C51638 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C5163C */ cpu->r[30] = cpu->r[30] + 0x00000018u;
|
|
/* 02C51640 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51640 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C51640 */ if (_t17) goto L_02C5164C; else goto L_02C51644;
|
|
L_02C51644: ; // 0x2c51644
|
|
/* 02C51644 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02C51644 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C51648 */ goto L_02C51604;
|
|
L_02C5164C: ; // 0x2c5164c
|
|
/* 02C5164C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5164C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C51650 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C51650 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C51654 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C51654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C51658 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C51658 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5165C */ cpu->lr = cpu->r[0];
|
|
/* 02C51660 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C51660 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C51664 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C51668 */ return;
|
|
}
|
|
|
|
// fn_02C5166C @ 0x2c5166c
|
|
void Gambit_fn_02C5166C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02C5166C: ; // 0x2c5166c
|
|
/* 02C5166C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5166C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5166C */ cpu->r[1] = _t0;
|
|
/* 02C51670 */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 02C51670 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C51674 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02C51674 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C51678 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C51678 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02C5167C */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C51680 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C51680 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C51684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 02C51688 */ _t5 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C51688 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5168C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5168C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5168C */ if (_t7) goto L_02C51694; else goto L_02C51690;
|
|
L_02C51690: ; // 0x2c51690
|
|
/* 02C51690 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
L_02C51694: ; // 0x2c51694
|
|
/* 02C51694 */ _t8 = cpu->r[8] + 0x00000000u;
|
|
/* 02C51694 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C51698 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5169C */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5169C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C516A0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C516A4 */ _t10 = cpu->r[3] + 0x00000010u;
|
|
/* 02C516A4 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02C516A8 */ _t11 = cpu->r[4] + 0x00000008u;
|
|
/* 02C516A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C516AC */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C516B0 */ cpu->r[9] = cpu->r[11] + 0x00000003u;
|
|
/* 02C516B4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C516B8 */ _t12 = cpu->r[3] + 0x00000018u;
|
|
/* 02C516B8 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02C516BC */ _t13 = cpu->r[4] + 0x00000011u;
|
|
/* 02C516BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C516C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C516C4 */ cpu->r[10] = cpu->r[3] + 0x00000008u;
|
|
/* 02C516C8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C516C8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C516C8 */ if (_t15) goto L_02C51700; else goto L_02C516CC;
|
|
L_02C516CC: ; // 0x2c516cc
|
|
/* 02C516CC */ _t16 = cpu->r[4] + 0x00000010u;
|
|
/* 02C516CC */ cpu->r[7] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C516D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C516D4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C516D4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C516D4 */ if (_t18) goto L_02C51700; else goto L_02C516D8;
|
|
L_02C516D8: ; // 0x2c516d8
|
|
/* 02C516D8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Cu);
|
|
/* 02C516DC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C516E0 */ _t19 = cpu->r[10] + 0x00000004u;
|
|
/* 02C516E0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02C516E4 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C516E8 */ cpu->r[9] = cpu->r[11] + 0x00000003u;
|
|
/* 02C516EC */ cpu->ctr = cpu->r[0];
|
|
/* 02C516F0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C516F4 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFF8u;
|
|
/* 02C516F8 */ _t20 = cpu->r[10] + 0x00000018u;
|
|
/* 02C516F8 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02C516FC */ goto L_02C51718;
|
|
L_02C51700: ; // 0x2c51700
|
|
/* 02C51700 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C51704 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C51708 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFF8u;
|
|
/* 02C5170C */ _t21 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5170C */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 02C51710 */ cpu->ctr = cpu->r[0];
|
|
/* 02C51714 */ _t22 = cpu->r[10] + 0x00000018u;
|
|
/* 02C51714 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
L_02C51718: ; // 0x2c51718
|
|
/* 02C51718 */ _t23 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C51718 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5171C */ _t24 = cpu->r[9] + 0x00000008u;
|
|
/* 02C5171C */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5171C */ cpu->r[9] = _t24;
|
|
/* 02C51720 */ cpu->r[7] = cpu->r[8] + cpu->r[11];
|
|
/* 02C51724 */ _t25 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C51724 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 02C51728 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C51728 */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C51728 */ _t27 = _t26 >> (0x00000002u & 31u);
|
|
/* 02C51728 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C51728 */ if (_t28) goto L_02C51718; else goto L_02C5172C;
|
|
L_02C5172C: ; // 0x2c5172c
|
|
/* 02C5172C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C51730 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02C51734 */ _t29 = cpu->r[10] + cpu->r[0];
|
|
/* 02C51734 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C51738 */ _t30 = cpu->r[12] + 0x00000004u;
|
|
/* 02C51738 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C5173C */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5173C */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 02C51740 */ cpu->r[0] = cpu->r[7] + cpu->r[8];
|
|
/* 02C51744 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 02C51744 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02C51748 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5174C */ return;
|
|
}
|
|
|
|
// fn_02C51750 @ 0x2c51750
|
|
void Gambit_fn_02C51750(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C51750: ; // 0x2c51750
|
|
/* 02C51750 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C51750 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C51750 */ cpu->r[1] = _t0;
|
|
/* 02C51754 */ /* nop */
|
|
/* 02C51758 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5175C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5175C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C51760 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C51764 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C51768 */ _t2 = cpu->r[30] + 0x00000014u;
|
|
/* 02C51768 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5176C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C51770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C51774 */ cpu->r[27] = cpu->r[30] + 0x00000014u;
|
|
/* 02C51778 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51778 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C51778 */ if (_t4) goto L_02C5177C; else goto L_02C51788;
|
|
L_02C5177C: ; // 0x2c5177c
|
|
/* 02C5177C */ cpu->r[3] = cpu->r[27];
|
|
/* 02C51780 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C51784 */ Gambit_fn_02C5166C(cpu);
|
|
L_02C51788: ; // 0x2c51788
|
|
/* 02C51788 */ _t5 = cpu->r[27] + 0x00000004u;
|
|
/* 02C51788 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5178C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[6]);
|
|
/* 02C51790 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C51790 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C51790 */ if (_t7) goto L_02C51794; else goto L_02C517AC;
|
|
L_02C51794: ; // 0x2c51794
|
|
/* 02C51794 */ /* nop */
|
|
/* 02C51798 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C51798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5179C */ cpu->lr = cpu->r[0];
|
|
/* 02C517A0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C517A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C517A8 */ return;
|
|
L_02C517AC: ; // 0x2c517ac
|
|
/* 02C517AC */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02C517AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C517B0 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02C517B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C517B4 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C517B8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C517B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02C517BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02C517C0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C517C0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C517C4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C517C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C517C4 */ if (_t14) goto L_02C517CC; else goto L_02C517C8;
|
|
L_02C517C8: ; // 0x2c517c8
|
|
/* 02C517C8 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
L_02C517CC: ; // 0x2c517cc
|
|
/* 02C517CC */ _t15 = cpu->r[7] + 0x00000000u;
|
|
/* 02C517CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C517D0 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C517D4 */ _t16 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C517D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C517D8 */ _t17 = cpu->r[29] + 0x00000044u;
|
|
/* 02C517D8 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02C517DC */ _t18 = cpu->r[29] + 0x00000030u;
|
|
/* 02C517DC */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02C517E0 */ _t19 = cpu->r[27] + 0x00000000u;
|
|
/* 02C517E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C517E4 */ _t20 = cpu->r[11] + 0x00000008u;
|
|
/* 02C517E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C517E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C517EC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C517EC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C517EC */ if (_t22) goto L_02C517F8; else goto L_02C517F0;
|
|
L_02C517F0: ; // 0x2c517f0
|
|
/* 02C517F0 */ _t23 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C517F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C517F4 */ cpu->r[4] = cpu->r[31] + cpu->r[0];
|
|
L_02C517F8: ; // 0x2c517f8
|
|
/* 02C517F8 */ cpu->r[3] = cpu->r[29] + 0x00000038u;
|
|
/* 02C517FC */ Gambit_fn_02C4EFC0(cpu);
|
|
/* 02C51800 */ _t24 = cpu->r[27] + 0x00000000u;
|
|
/* 02C51800 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C51804 */ _t25 = cpu->r[11] + 0x00000018u;
|
|
/* 02C51804 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C51808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C5180C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5180C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C5180C */ if (_t27) goto L_02C51818; else goto L_02C51810;
|
|
L_02C51810: ; // 0x2c51810
|
|
/* 02C51810 */ _t28 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C51810 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C51814 */ cpu->r[4] = cpu->r[31] + cpu->r[5];
|
|
L_02C51818: ; // 0x2c51818
|
|
/* 02C51818 */ cpu->r[5] = cpu->r[28];
|
|
/* 02C5181C */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C51820 */ Gambit_fn_02C4F01C(cpu);
|
|
/* 02C51824 */ _t29 = cpu->r[27] + 0x00000000u;
|
|
/* 02C51824 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C51828 */ _t30 = cpu->r[11] + 0x00000000u;
|
|
/* 02C51828 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C5182C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C51830 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51830 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C51830 */ if (_t32) goto L_02C5183C; else goto L_02C51834;
|
|
L_02C51834: ; // 0x2c51834
|
|
/* 02C51834 */ _t33 = cpu->r[11] + 0x00000004u;
|
|
/* 02C51834 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C51838 */ cpu->r[9] = cpu->r[31] + cpu->r[8];
|
|
L_02C5183C: ; // 0x2c5183c
|
|
/* 02C5183C */ _t34 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C5183C */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02C51840 */ _t35 = cpu->r[30] + 0x00000004u;
|
|
/* 02C51840 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C51844 */ _t36 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02C51844 */ rbrew_write32(cpu->mem, _t36, cpu->r[9]);
|
|
/* 02C51848 */ _t37 = cpu->r[30] + 0x00000008u;
|
|
/* 02C51848 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C5184C */ _t38 = cpu->r[29] + 0x00000050u;
|
|
/* 02C5184C */ rbrew_write32(cpu->mem, _t38, cpu->r[11]);
|
|
/* 02C51850 */ _t39 = cpu->r[27] + 0x00000000u;
|
|
/* 02C51850 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C51854 */ _t40 = cpu->r[11] + 0x00000010u;
|
|
/* 02C51854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C51858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5185C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5185C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C5185C */ if (_t42) goto L_02C51868; else goto L_02C51860;
|
|
L_02C51860: ; // 0x2c51860
|
|
/* 02C51860 */ _t43 = cpu->r[11] + 0x00000014u;
|
|
/* 02C51860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C51864 */ cpu->r[10] = cpu->r[31] + cpu->r[0];
|
|
L_02C51868: ; // 0x2c51868
|
|
/* 02C51868 */ _t44 = cpu->r[29] + 0x00000054u;
|
|
/* 02C51868 */ rbrew_write32(cpu->mem, _t44, cpu->r[10]);
|
|
/* 02C5186C */ /* nop */
|
|
/* 02C51870 */ _t45 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C51870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C51874 */ cpu->lr = cpu->r[0];
|
|
/* 02C51878 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5187C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C51880 */ return;
|
|
}
|
|
|
|
// fn_02C51884 @ 0x2c51884
|
|
void Gambit_fn_02C51884(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C51884: ; // 0x2c51884
|
|
/* 02C51884 */ cpu->r[0] = cpu->lr;
|
|
/* 02C51888 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C5188C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C5188C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C51890 */ cpu->r[3] = cpu->r[4] + 0x00000014u;
|
|
/* 02C51894 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C51894 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C51894 */ cpu->r[1] = _t1;
|
|
/* 02C51898 */ Gambit_fn_02C5166C(cpu);
|
|
/* 02C5189C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5189C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C518A0 */ _t3 = cpu->r[4] + 0x00000018u;
|
|
/* 02C518A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C518A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C518A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C518AC */ return;
|
|
}
|
|
|
|
// fn_02C51894 @ 0x2c51894
|
|
void Gambit_fn_02C51894(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C51894: ; // 0x2c51894
|
|
/* 02C51894 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C51894 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C51894 */ cpu->r[1] = _t0;
|
|
/* 02C51898 */ Gambit_fn_02C5166C(cpu);
|
|
/* 02C5189C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5189C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C518A0 */ _t2 = cpu->r[4] + 0x00000018u;
|
|
/* 02C518A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C518A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C518A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C518AC */ return;
|
|
}
|
|
|
|
// fn_02C518B0 @ 0x2c518b0
|
|
void Gambit_fn_02C518B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02C518B0: ; // 0x2c518b0
|
|
/* 02C518B0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C518B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C518B0 */ cpu->r[1] = _t0;
|
|
/* 02C518B4 */ /* nop */
|
|
/* 02C518B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C518BC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C518BC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C518C0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C518C4 */ _t2 = cpu->r[4] + 0x00000014u;
|
|
/* 02C518C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C518C8 */ cpu->r[26] = cpu->r[31];
|
|
/* 02C518CC */ cpu->r[28] = cpu->r[3];
|
|
/* 02C518D0 */ cpu->r[9] = cpu->r[4] + 0x00000014u;
|
|
/* 02C518D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C518D8 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02C518D8 */ cpu->r[29] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C518DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C518DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C518DC */ if (_t5) goto L_02C518E4; else goto L_02C518E0;
|
|
L_02C518E0: ; // 0x2c518e0
|
|
/* 02C518E0 */ cpu->r[26] = cpu->r[9] + cpu->r[6];
|
|
L_02C518E4: ; // 0x2c518e4
|
|
/* 02C518E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C518E8 */ _t6 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C518E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C518EC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C518EC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C518EC */ if (_t8) goto L_02C51970; else goto L_02C518F0;
|
|
L_02C518F0: ; // 0x2c518f0
|
|
/* 02C518F0 */ cpu->r[25] = 0x00010000u;
|
|
/* 02C518F4 */ cpu->r[30] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C518F8 */ cpu->r[27] = cpu->r[5] + 0x00000038u;
|
|
/* 02C518FC */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
L_02C51900: ; // 0x2c51900
|
|
/* 02C51900 */ _t9 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C51900 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C51904 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C51908 */ cpu->r[10] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C5190C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C51910 */ _t10 = cpu->r[27] + 0x00000000u;
|
|
/* 02C51910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C51914 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51914 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C51914 */ if (_t12) goto L_02C51920; else goto L_02C51918;
|
|
L_02C51918: ; // 0x2c51918
|
|
/* 02C51918 */ cpu->r[12] = cpu->r[10] + cpu->r[7];
|
|
/* 02C5191C */ cpu->r[4] = cpu->r[12] + 0xFFFFFFFCu;
|
|
L_02C51920: ; // 0x2c51920
|
|
/* 02C51920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51924 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C51928 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51928 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C51928 */ if (_t14) goto L_02C51930; else goto L_02C5192C;
|
|
L_02C5192C: ; // 0x2c5192c
|
|
/* 02C5192C */ cpu->r[3] = cpu->r[27] + cpu->r[0];
|
|
L_02C51930: ; // 0x2c51930
|
|
/* 02C51930 */ Gambit_fn_02C606B8(cpu);
|
|
/* 02C51934 */ _t15 = cpu->r[28] + 0x00000054u;
|
|
/* 02C51934 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C51938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C5193C */ _t16 = cpu->r[12] + cpu->r[30];
|
|
/* 02C5193C */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[3]);
|
|
/* 02C51940 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C51940 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C51940 */ if (_t18) goto L_02C5195C; else goto L_02C51944;
|
|
L_02C51944: ; // 0x2c51944
|
|
/* 02C51944 */ cpu->r[31] = cpu->r[31] | 0xFFFF0000u;
|
|
/* 02C51948 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C51948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5194C */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02C51950 */ cpu->r[26] = cpu->r[26] + 0x00000010u;
|
|
/* 02C51954 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51954 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C51954 */ if (_t20) goto L_02C51958; else goto L_02C51900;
|
|
L_02C51958: ; // 0x2c51958
|
|
/* 02C51958 */ goto L_02C51970;
|
|
L_02C5195C: ; // 0x2c5195c
|
|
/* 02C5195C */ cpu->r[31] = cpu->r[31] | cpu->r[25];
|
|
/* 02C51960 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C51960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C51964 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02C51968 */ cpu->r[26] = cpu->r[26] + 0x00000010u;
|
|
/* 02C5196C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5196C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C5196C */ if (_t22) goto L_02C51970; else goto L_02C51900;
|
|
L_02C51970: ; // 0x2c51970
|
|
/* 02C51970 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C51974 */ /* nop */
|
|
/* 02C51978 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C51978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5197C */ cpu->lr = cpu->r[0];
|
|
/* 02C51980 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C51984 */ return;
|
|
}
|
|
|
|
// fn_02C51988 @ 0x2c51988
|
|
void Gambit_fn_02C51988(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
|
|
|
|
L_02C51988: ; // 0x2c51988
|
|
/* 02C51988 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C51988 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C51988 */ cpu->r[1] = _t0;
|
|
/* 02C5198C */ /* nop */
|
|
/* 02C51990 */ cpu->r[0] = cpu->lr;
|
|
/* 02C51994 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C51994 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C51998 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C5199C */ cpu->r[24] = cpu->r[29] + 0x00000038u;
|
|
/* 02C519A0 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C519A4 */ _t2 = cpu->r[30] + 0x00000024u;
|
|
/* 02C519A4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C519A8 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C519AC */ cpu->r[31] = 0x00000000u;
|
|
/* 02C519B0 */ Gambit_fn_02C4EFDC(cpu);
|
|
/* 02C519B4 */ _t3 = cpu->r[29] + 0x00000040u;
|
|
/* 02C519B4 */ cpu->r[26] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C519B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C519BC */ cpu->r[25] = cpu->r[31];
|
|
/* 02C519C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C519C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C519C0 */ if (_t5) goto L_02C51AE4; else goto L_02C519C4;
|
|
L_02C519C4: ; // 0x2c519c4
|
|
/* 02C519C4 */ cpu->r[28] = 0x00010000u;
|
|
/* 02C519C8 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C519CC */ cpu->r[30] = cpu->r[30] + 0x00000018u;
|
|
/* 02C519D0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C519D4 */ cpu->r[23] = cpu->r[27];
|
|
L_02C519D8: ; // 0x2c519d8
|
|
/* 02C519D8 */ _t6 = cpu->r[29] + 0x00000048u;
|
|
/* 02C519D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C519DC */ cpu->r[22] = cpu->r[9] + cpu->r[23];
|
|
/* 02C519E0 */ _t7 = cpu->r[22] + 0x00000010u;
|
|
/* 02C519E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C519E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C519E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C519EC */ cpu->r[11] = cpu->r[22] + 0x00000010u;
|
|
/* 02C519F0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C519F0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C519F0 */ if (_t9) goto L_02C519FC; else goto L_02C519F4;
|
|
L_02C519F4: ; // 0x2c519f4
|
|
/* 02C519F4 */ cpu->r[10] = cpu->r[11] + cpu->r[0];
|
|
/* 02C519F8 */ cpu->r[4] = cpu->r[10] + 0xFFFFFFFCu;
|
|
L_02C519FC: ; // 0x2c519fc
|
|
/* 02C519FC */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 02C519FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C51A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51A04 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C51A08 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51A08 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C51A08 */ if (_t12) goto L_02C51A10; else goto L_02C51A0C;
|
|
L_02C51A0C: ; // 0x2c51a0c
|
|
/* 02C51A0C */ cpu->r[3] = cpu->r[30] + cpu->r[0];
|
|
L_02C51A10: ; // 0x2c51a10
|
|
/* 02C51A10 */ Gambit_fn_02C606B8(cpu);
|
|
/* 02C51A14 */ cpu->r[21] = cpu->r[3];
|
|
/* 02C51A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C51A18 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C51A18 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C51A18 */ if (_t14) goto L_02C51ACC; else goto L_02C51A1C;
|
|
L_02C51A1C: ; // 0x2c51a1c
|
|
/* 02C51A1C */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02C51A1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C51A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51A24 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C51A28 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51A28 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C51A28 */ if (_t17) goto L_02C51A30; else goto L_02C51A2C;
|
|
L_02C51A2C: ; // 0x2c51a2c
|
|
/* 02C51A2C */ cpu->r[5] = cpu->r[30] + cpu->r[0];
|
|
L_02C51A30: ; // 0x2c51a30
|
|
/* 02C51A30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[21], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C51A34 */ cpu->r[6] = cpu->r[5] + cpu->r[0];
|
|
/* 02C51A38 */ _t18 = cpu->r[6] + 0x00000024u;
|
|
/* 02C51A38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C51A3C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C51A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C51A44 */ cpu->r[7] = cpu->r[6] + 0x00000024u;
|
|
/* 02C51A48 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51A48 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C51A48 */ if (_t20) goto L_02C51A50; else goto L_02C51A4C;
|
|
L_02C51A4C: ; // 0x2c51a4c
|
|
/* 02C51A4C */ cpu->r[5] = cpu->r[7] + cpu->r[8];
|
|
L_02C51A50: ; // 0x2c51a50
|
|
/* 02C51A50 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C51A54 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C51A58 */ Gambit_fn_02C518B0(cpu);
|
|
/* 02C51A5C */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C51A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C51A60 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51A60 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C51A60 */ if (_t22) goto L_02C51ACC; else goto L_02C51A64;
|
|
L_02C51A64: ; // 0x2c51a64
|
|
/* 02C51A64 */ _t23 = cpu->r[24] + 0x00000000u;
|
|
/* 02C51A64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C51A68 */ _t24 = cpu->r[9] + cpu->r[27];
|
|
/* 02C51A68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C51A6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000002u, 0x00000010u);
|
|
/* 02C51A70 */ _t25 = cpu->r[9] + cpu->r[27];
|
|
/* 02C51A70 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02C51A74 */ _t26 = cpu->r[24] + 0x00000000u;
|
|
/* 02C51A74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C51A78 */ _t27 = cpu->r[9] + cpu->r[27];
|
|
/* 02C51A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C51A7C */ cpu->r[12] = rbrew_rlwinm(cpu->r[21], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C51A80 */ cpu->r[0] = cpu->r[0] | cpu->r[12];
|
|
/* 02C51A84 */ _t28 = cpu->r[9] + cpu->r[27];
|
|
/* 02C51A84 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C51A88 */ _t29 = cpu->r[24] + 0x00000000u;
|
|
/* 02C51A88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C51A8C */ cpu->r[11] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C51A90 */ _t30 = cpu->r[9] + cpu->r[11];
|
|
/* 02C51A90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C51A94 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000011u, 0x00000001u);
|
|
/* 02C51A98 */ _t31 = cpu->r[9] + cpu->r[11];
|
|
/* 02C51A98 */ rbrew_write32(cpu->mem, _t31, cpu->r[6]);
|
|
/* 02C51A9C */ _t32 = cpu->r[24] + 0x00000000u;
|
|
/* 02C51A9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C51AA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[25], 0x0000000Fu, 0x00000002u, 0x00000010u);
|
|
/* 02C51AA4 */ cpu->r[31] = cpu->r[31] | 0xFFFF0000u;
|
|
/* 02C51AA8 */ _t33 = cpu->r[9] + cpu->r[11];
|
|
/* 02C51AA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C51AAC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C51AB0 */ cpu->r[23] = cpu->r[23] + 0x00000020u;
|
|
/* 02C51AB4 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C51AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C51AB8 */ cpu->r[10] = cpu->r[10] | cpu->r[0];
|
|
/* 02C51ABC */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02C51AC0 */ _t34 = cpu->r[9] + cpu->r[11];
|
|
/* 02C51AC0 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
|
|
/* 02C51AC4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51AC4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C51AC4 */ if (_t36) goto L_02C51AC8; else goto L_02C519D8;
|
|
L_02C51AC8: ; // 0x2c51ac8
|
|
/* 02C51AC8 */ goto L_02C51AE4;
|
|
L_02C51ACC: ; // 0x2c51acc
|
|
/* 02C51ACC */ cpu->r[31] = cpu->r[31] | cpu->r[28];
|
|
/* 02C51AD0 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02C51AD4 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C51AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C51AD8 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C51ADC */ cpu->r[23] = cpu->r[23] + 0x00000020u;
|
|
/* 02C51AE0 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51AE0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C51AE0 */ if (_t38) goto L_02C51AE4; else goto L_02C519D8;
|
|
L_02C51AE4: ; // 0x2c51ae4
|
|
/* 02C51AE4 */ _t39 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C51AE4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t39);
|
|
/* 02C51AE8 */ _t40 = cpu->r[29] + 0x00000024u;
|
|
/* 02C51AE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C51AEC */ cpu->r[12] = cpu->r[12] | 0x00000001u;
|
|
/* 02C51AF0 */ _t41 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C51AF0 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[12]);
|
|
/* 02C51AF4 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C51AF8 */ _t42 = cpu->r[12] + 0xFFFFAB0Cu;
|
|
/* 02C51AF8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C51AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51B00 */ _t43 = cpu->r[29] + 0x00000028u;
|
|
/* 02C51B00 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 02C51B04 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C51B04 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C51B04 */ if (_t45) goto L_02C51B08; else goto L_02C51B40;
|
|
L_02C51B08: ; // 0x2c51b08
|
|
/* 02C51B08 */ _t46 = cpu->r[29] + 0x00000020u;
|
|
/* 02C51B08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C51B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[6]);
|
|
/* 02C51B10 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C51B10 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C51B10 */ if (_t48) goto L_02C51B40; else goto L_02C51B14;
|
|
L_02C51B14: ; // 0x2c51b14
|
|
/* 02C51B14 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C51B18 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C51B1C */ _t49 = cpu->r[11] + 0xFFFFED84u;
|
|
/* 02C51B1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C51B20 */ cpu->r[8] = cpu->r[6];
|
|
L_02C51B24: ; // 0x2c51b24
|
|
/* 02C51B24 */ _t50 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C51B24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C51B28 */ _t51 = cpu->r[7] + cpu->r[8];
|
|
/* 02C51B28 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02C51B2C */ _t52 = cpu->r[29] + 0x00000024u;
|
|
/* 02C51B2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C51B30 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02C51B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[9]);
|
|
/* 02C51B38 */ cpu->r[8] = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C51B3C */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C51B3C */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C51B3C */ if (_t54) goto L_02C51B24; else goto L_02C51B40;
|
|
L_02C51B40: ; // 0x2c51b40
|
|
/* 02C51B40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C51B44 */ /* nop */
|
|
/* 02C51B48 */ _t55 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C51B48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C51B4C */ cpu->lr = cpu->r[0];
|
|
/* 02C51B50 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C51B54 */ return;
|
|
}
|
|
|