mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
54481 lines
2.9 MiB
Plaintext
54481 lines
2.9 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02BC5C08 @ 0x2bc5c08
|
|
void Gambit_fn_02BC5C08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100;
|
|
|
|
L_02BC5C08: ; // 0x2bc5c08
|
|
/* 02BC5C08 */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02BC5C08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC5C08 */ cpu->r[1] = _t0;
|
|
/* 02BC5C0C */ /* nop */
|
|
/* 02BC5C10 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC5C14 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC5C18 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5C1C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC5C20 */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BC5C20 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC5C24 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BC5C28 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5C2C */ Gambit_fn_02BF6614(cpu);
|
|
/* 02BC5C30 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC5C34 */ cpu->r[22] = cpu->r[3];
|
|
/* 02BC5C38 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BC5C3C */ _t2 = cpu->r[29] + 0xFFFFB77Cu;
|
|
/* 02BC5C3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC5C3C */ cpu->r[29] = _t2;
|
|
/* 02BC5C40 */ _t3 = ~cpu->r[22];
|
|
/* 02BC5C40 */ cpu->r[7] = cpu->r[0] & _t3;
|
|
/* 02BC5C44 */ _t4 = cpu->r[6] + 0x00000144u;
|
|
/* 02BC5C44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC5C48 */ cpu->r[11] = cpu->r[22] + cpu->r[7];
|
|
/* 02BC5C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC5C50 */ cpu->r[12] = cpu->r[11] + 0x00000001u;
|
|
/* 02BC5C54 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5C54 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC5C54 */ if (_t6) goto L_02BC5F18; else goto L_02BC5C58;
|
|
L_02BC5C58: ; // 0x2bc5c58
|
|
/* 02BC5C58 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BC5C5C */ _t7 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BC5C5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC5C5C */ cpu->r[28] = _t7;
|
|
/* 02BC5C60 */ _t8 = cpu->r[6] + 0x00000052u;
|
|
/* 02BC5C60 */ cpu->r[10] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02BC5C64 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[10]);
|
|
/* 02BC5C68 */ _t9 = cpu->r[6] + 0x00000058u;
|
|
/* 02BC5C68 */ cpu->r[21] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC5C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC5C70 */ cpu->r[27] = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BC5C74 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5C74 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC5C74 */ if (_t11) goto L_02BC5E6C; else goto L_02BC5C78;
|
|
L_02BC5C78: ; // 0x2bc5c78
|
|
/* 02BC5C78 */ _t12 = cpu->r[6] + 0x00000078u;
|
|
/* 02BC5C78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC5C7C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BC5C80 */ _t13 = cpu->r[6] + 0x00000078u;
|
|
/* 02BC5C80 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02BC5C84 */ _t14 = cpu->r[30] + 0x00000050u;
|
|
/* 02BC5C84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC5C88 */ _t15 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BC5C88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC5C8C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC5C90 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BC5C94 */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC5C94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC5C98 */ cpu->r[24] = 0x00000000u;
|
|
/* 02BC5C9C */ _t17 = cpu->r[8] + 0x00000034u;
|
|
/* 02BC5C9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC5CA0 */ cpu->r[20] = cpu->r[8] + 0x00000038u;
|
|
/* 02BC5CA4 */ cpu->r[23] = 0x000000FFu;
|
|
/* 02BC5CA8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC5CAC */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC5CB0 */ cpu->r[19] = 0x0000000Cu;
|
|
/* 02BC5CB4 */ cpu->r[0] = cpu->r[20] + cpu->r[5];
|
|
/* 02BC5CB8 */ _t18 = cpu->r[31] + 0xFFFFB790u;
|
|
/* 02BC5CB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC5CBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[0]);
|
|
/* 02BC5CC0 */ _t19 = cpu->r[30] + 0x00000050u;
|
|
/* 02BC5CC0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC5CC4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5CC4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC5CC4 */ if (_t21) goto L_02BC5DD8; else goto L_02BC5CC8;
|
|
L_02BC5CC8: ; // 0x2bc5cc8
|
|
/* 02BC5CC8 */ cpu->r[26] = 0x00000000u;
|
|
L_02BC5CCC: ; // 0x2bc5ccc
|
|
/* 02BC5CCC */ _t22 = cpu->r[20] + 0x00000000u;
|
|
/* 02BC5CCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC5CD0 */ _t23 = cpu->r[3] + 0x0000001Bu;
|
|
/* 02BC5CD0 */ cpu->r[18] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02BC5CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x0000001Fu);
|
|
/* 02BC5CD8 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC5CD8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC5CD8 */ if (_t25) goto L_02BC5CDC; else goto L_02BC5D18;
|
|
L_02BC5CDC: ; // 0x2bc5cdc
|
|
/* 02BC5CDC */ _t26 = cpu->r[3] + 0x00000068u;
|
|
/* 02BC5CDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC5CE0 */ _t27 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02BC5CE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC5CE4 */ cpu->ctr = cpu->r[9];
|
|
/* 02BC5CE8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC5CEC */ cpu->r[5] = 0x00000002u;
|
|
/* 02BC5CF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC5CF4 */ _t28 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC5CF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC5CF8 */ _t29 = cpu->r[10] + 0x00000034u;
|
|
/* 02BC5CF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC5CFC */ cpu->r[10] = cpu->r[10] + 0x00000038u;
|
|
/* 02BC5D00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC5D04 */ cpu->r[20] = cpu->r[20] + 0x00000004u;
|
|
/* 02BC5D08 */ cpu->r[0] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC5D0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[0]);
|
|
/* 02BC5D10 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5D10 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC5D10 */ if (_t31) goto L_02BC5D14; else goto L_02BC5CCC;
|
|
L_02BC5D14: ; // 0x2bc5d14
|
|
/* 02BC5D14 */ goto L_02BC5DD8;
|
|
L_02BC5D18: ; // 0x2bc5d18
|
|
/* 02BC5D18 */ _t32 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC5D18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC5D1C */ cpu->r[4] = cpu->r[18];
|
|
/* 02BC5D20 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BC5D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5D28 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5D28 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC5D28 */ if (_t34) goto L_02BC5D2C; else goto L_02BC5D6C;
|
|
L_02BC5D2C: ; // 0x2bc5d2c
|
|
/* 02BC5D2C */ _t35 = cpu->r[20] + 0x00000000u;
|
|
/* 02BC5D2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC5D30 */ _t36 = cpu->r[3] + 0x00000068u;
|
|
/* 02BC5D30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC5D34 */ _t37 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BC5D34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC5D38 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC5D3C */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC5D40 */ cpu->r[5] = 0x00000002u;
|
|
/* 02BC5D44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC5D48 */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC5D48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC5D4C */ _t39 = cpu->r[10] + 0x00000034u;
|
|
/* 02BC5D4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC5D50 */ cpu->r[10] = cpu->r[10] + 0x00000038u;
|
|
/* 02BC5D54 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC5D58 */ cpu->r[20] = cpu->r[20] + 0x00000004u;
|
|
/* 02BC5D5C */ cpu->r[0] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC5D60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[0]);
|
|
/* 02BC5D64 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5D64 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BC5D64 */ if (_t41) goto L_02BC5D68; else goto L_02BC5CCC;
|
|
L_02BC5D68: ; // 0x2bc5d68
|
|
/* 02BC5D68 */ goto L_02BC5DD8;
|
|
L_02BC5D6C: ; // 0x2bc5d6c
|
|
/* 02BC5D6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[21]);
|
|
/* 02BC5D70 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5D70 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BC5D70 */ if (_t43) goto L_02BC5D74; else goto L_02BC5D78;
|
|
L_02BC5D74: ; // 0x2bc5d74
|
|
/* 02BC5D74 */ cpu->r[23] = cpu->r[24];
|
|
L_02BC5D78: ; // 0x2bc5d78
|
|
/* 02BC5D78 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5D78 */ rbrew_write32(cpu->mem, _t44, cpu->r[26]);
|
|
/* 02BC5D7C */ _t45 = cpu->r[20] + 0x00000000u;
|
|
/* 02BC5D7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC5D80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5D84 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5D88 */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BC5D8C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5D90 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5D94 */ cpu->r[6] = cpu->r[22];
|
|
/* 02BC5D98 */ cpu->r[4] = cpu->r[25] + cpu->r[19];
|
|
/* 02BC5D9C */ Gambit_fn_02BF665C(cpu);
|
|
/* 02BC5DA0 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5DA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC5DA4 */ cpu->r[19] = cpu->r[19] + cpu->r[0];
|
|
/* 02BC5DA8 */ _t47 = cpu->r[25] + cpu->r[19];
|
|
/* 02BC5DA8 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[18]);
|
|
/* 02BC5DAC */ _t48 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC5DAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC5DB0 */ _t49 = cpu->r[10] + 0x00000034u;
|
|
/* 02BC5DB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC5DB4 */ cpu->r[10] = cpu->r[10] + 0x00000038u;
|
|
/* 02BC5DB8 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02BC5DBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC5DC0 */ cpu->r[20] = cpu->r[20] + 0x00000004u;
|
|
/* 02BC5DC4 */ cpu->r[0] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC5DC8 */ cpu->r[24] = rbrew_rlwinm(cpu->r[24], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC5DCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[0]);
|
|
/* 02BC5DD0 */ cpu->r[19] = cpu->r[19] + 0x00000002u;
|
|
/* 02BC5DD4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5DD4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BC5DD4 */ if (_t51) goto L_02BC5DD8; else goto L_02BC5CCC;
|
|
L_02BC5DD8: ; // 0x2bc5dd8
|
|
/* 02BC5DD8 */ _t52 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC5DD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC5DDC */ _t53 = cpu->r[5] + 0x00000052u;
|
|
/* 02BC5DDC */ cpu->r[6] = rbrew_read16(cpu->mem, _t53);
|
|
/* 02BC5DE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[6]);
|
|
/* 02BC5DE4 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC5DE4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BC5DE4 */ if (_t55) goto L_02BC5DE8; else goto L_02BC5E20;
|
|
L_02BC5DE8: ; // 0x2bc5de8
|
|
/* 02BC5DE8 */ _t56 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC5DE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BC5DEC */ _t57 = cpu->r[3] + 0x0000014Cu;
|
|
/* 02BC5DEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BC5DF0 */ _t58 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02BC5DF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BC5DF4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC5DF8 */ cpu->r[6] = 0x40000000u;
|
|
/* 02BC5DFC */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC5E00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC5E04 */ _t59 = cpu->r[31] + 0x0000019Cu;
|
|
/* 02BC5E04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BC5E08 */ _t60 = cpu->r[9] + 0x00000014u;
|
|
/* 02BC5E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BC5E0C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC5E10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5E14 */ cpu->r[6] = 0x40000000u;
|
|
/* 02BC5E18 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC5E1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC5E20: ; // 0x2bc5e20
|
|
/* 02BC5E20 */ _t61 = cpu->r[25] + 0x00000002u;
|
|
/* 02BC5E20 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[23]);
|
|
/* 02BC5E24 */ cpu->r[0] = 0x00000020u;
|
|
/* 02BC5E28 */ _t62 = cpu->r[25] + 0x00000001u;
|
|
/* 02BC5E28 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[24]);
|
|
/* 02BC5E2C */ _t63 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC5E2C */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[0]);
|
|
/* 02BC5E30 */ _t64 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC5E30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BC5E34 */ _t65 = cpu->r[12] + 0x00000078u;
|
|
/* 02BC5E34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BC5E38 */ cpu->r[3] = cpu->r[25] + 0x00000004u;
|
|
/* 02BC5E3C */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BC5E40 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC5E44 */ _t66 = cpu->r[25] + 0x0000000Au;
|
|
/* 02BC5E44 */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[24]);
|
|
/* 02BC5E48 */ cpu->r[26] = 0x00000000u;
|
|
/* 02BC5E4C */ _t67 = cpu->r[25] + 0x00000008u;
|
|
/* 02BC5E4C */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[0]);
|
|
/* 02BC5E50 */ _t68 = cpu->r[25] + 0x00000009u;
|
|
/* 02BC5E50 */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[26]);
|
|
/* 02BC5E54 */ _t69 = cpu->r[25] + 0x0000000Bu;
|
|
/* 02BC5E54 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[26]);
|
|
/* 02BC5E58 */ _t70 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC5E58 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[0]);
|
|
/* 02BC5E5C */ _t71 = cpu->r[30] + 0x00000038u;
|
|
/* 02BC5E5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BC5E60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[0]);
|
|
/* 02BC5E64 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC5E64 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02BC5E64 */ if (_t73) goto L_02BC5E68; else goto L_02BC5F00;
|
|
L_02BC5E68: ; // 0x2bc5e68
|
|
/* 02BC5E68 */ goto L_02BC5E88;
|
|
L_02BC5E6C: ; // 0x2bc5e6c
|
|
/* 02BC5E6C */ _t74 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC5E6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t74);
|
|
/* 02BC5E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC5E74 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5E74 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02BC5E74 */ if (_t76) goto L_02BC5F18; else goto L_02BC5E78;
|
|
L_02BC5E78: ; // 0x2bc5e78
|
|
/* 02BC5E78 */ _t77 = cpu->r[30] + 0x00000038u;
|
|
/* 02BC5E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BC5E7C */ cpu->r[26] = 0x00000000u;
|
|
/* 02BC5E80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[0]);
|
|
/* 02BC5E84 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC5E84 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02BC5E84 */ if (_t79) goto L_02BC5E88; else goto L_02BC5F00;
|
|
L_02BC5E88: ; // 0x2bc5e88
|
|
/* 02BC5E88 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC5E8C */ cpu->r[29] = 0x00000000u;
|
|
L_02BC5E90: ; // 0x2bc5e90
|
|
/* 02BC5E90 */ _t80 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02BC5E90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BC5E94 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02BC5E98 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC5E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5EA0 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5EA0 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02BC5EA0 */ if (_t82) goto L_02BC5EEC; else goto L_02BC5EA4;
|
|
L_02BC5EA4: ; // 0x2bc5ea4
|
|
/* 02BC5EA4 */ _t83 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02BC5EA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BC5EA8 */ _t84 = cpu->r[30] + 0x00000050u;
|
|
/* 02BC5EA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BC5EAC */ cpu->r[3] = cpu->r[6] + cpu->r[29];
|
|
/* 02BC5EB0 */ cpu->r[5] = cpu->r[27];
|
|
/* 02BC5EB4 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC5EB8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC5EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC5EBC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5EBC */ _t86 = _t85 & 0x00000001u;
|
|
/* 02BC5EBC */ if (_t86) goto L_02BC5EC0; else goto L_02BC5EEC;
|
|
L_02BC5EC0: ; // 0x2bc5ec0
|
|
/* 02BC5EC0 */ _t87 = cpu->r[31] + 0xFFFFB6C8u;
|
|
/* 02BC5EC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BC5EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5EC8 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5EC8 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02BC5EC8 */ if (_t89) goto L_02BC5EEC; else goto L_02BC5ECC;
|
|
L_02BC5ECC: ; // 0x2bc5ecc
|
|
/* 02BC5ECC */ _t90 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02BC5ECC */ cpu->r[10] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BC5ED0 */ cpu->r[9] = cpu->r[10] + cpu->r[29];
|
|
/* 02BC5ED4 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC5ED8 */ _t91 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02BC5ED8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BC5EDC */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC5EE0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC5EE4 */ cpu->r[6] = cpu->r[28];
|
|
/* 02BC5EE8 */ Gambit_fn_02B69330(cpu);
|
|
L_02BC5EEC: ; // 0x2bc5eec
|
|
/* 02BC5EEC */ _t92 = cpu->r[30] + 0x00000038u;
|
|
/* 02BC5EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BC5EF0 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02BC5EF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[0]);
|
|
/* 02BC5EF8 */ cpu->r[29] = cpu->r[29] + 0x00000070u;
|
|
/* 02BC5EFC */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC5EFC */ _t94 = _t93 & 0x00000001u;
|
|
/* 02BC5EFC */ if (_t94) goto L_02BC5E90; else goto L_02BC5F00;
|
|
L_02BC5F00: ; // 0x2bc5f00
|
|
/* 02BC5F00 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC5F04 */ _t95 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BC5F04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BC5F08 */ _t96 = cpu->r[12] + 0x00000008u;
|
|
/* 02BC5F08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BC5F0C */ _t97 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BC5F0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02BC5F10 */ _t98 = cpu->r[30] + 0x00000030u;
|
|
/* 02BC5F10 */ rbrew_write32(cpu->mem, _t98, cpu->r[11]);
|
|
/* 02BC5F14 */ _t99 = cpu->r[30] + 0x00000034u;
|
|
/* 02BC5F14 */ rbrew_write32(cpu->mem, _t99, cpu->r[0]);
|
|
L_02BC5F18: ; // 0x2bc5f18
|
|
/* 02BC5F18 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5F1C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC5F20 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BC5F24 */ /* nop */
|
|
/* 02BC5F28 */ _t100 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BC5F28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BC5F2C */ cpu->lr = cpu->r[0];
|
|
/* 02BC5F30 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BC5F34 */ return;
|
|
}
|
|
|
|
// fn_02BC5F3C @ 0x2bc5f3c
|
|
void Gambit_fn_02BC5F3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02BC5F3C: ; // 0x2bc5f3c
|
|
/* 02BC5F3C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BC5F3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC5F3C */ cpu->r[1] = _t0;
|
|
/* 02BC5F40 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC5F40 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC5F44 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC5F44 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC5F48 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC5F48 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BC5F4C */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC5F4C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC5F50 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BC5F54 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC5F54 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC5F58 */ _t6 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC5F58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC5F58 */ cpu->r[28] = _t6;
|
|
/* 02BC5F5C */ _t7 = cpu->r[9] + 0x00000144u;
|
|
/* 02BC5F5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC5F60 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC5F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC5F68 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC5F6C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5F6C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC5F6C */ if (_t9) goto L_02BC603C; else goto L_02BC5F70;
|
|
L_02BC5F70: ; // 0x2bc5f70
|
|
/* 02BC5F70 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5F70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC5F74 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5F78 */ Gambit_fn_02B6A710(cpu);
|
|
/* 02BC5F7C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5F80 */ cpu->r[4] = cpu->r[29] + 0x00000004u;
|
|
/* 02BC5F84 */ Gambit_fn_02B6A91C(cpu);
|
|
/* 02BC5F88 */ _t11 = cpu->r[29] + 0x00000001u;
|
|
/* 02BC5F88 */ cpu->r[29] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02BC5F8C */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC5F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC5F90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BC5F94 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5F94 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC5F94 */ if (_t14) goto L_02BC5F98; else goto L_02BC6030;
|
|
L_02BC5F98: ; // 0x2bc5f98
|
|
/* 02BC5F98 */ _t15 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC5F98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC5F9C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC5FA0 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC5FA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC5FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC5FA8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5FA8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC5FA8 */ if (_t17) goto L_02BC6030; else goto L_02BC5FAC;
|
|
L_02BC5FAC: ; // 0x2bc5fac
|
|
/* 02BC5FAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC5FB0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC5FB4 */ Gambit_fn_02BC5AAC(cpu);
|
|
/* 02BC5FB8 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BC5FBC */ _t18 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BC5FBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC5FBC */ cpu->r[28] = _t18;
|
|
/* 02BC5FC0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC5FC4 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BC5FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5FCC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5FCC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC5FCC */ if (_t20) goto L_02BC5FEC; else goto L_02BC5FD0;
|
|
L_02BC5FD0: ; // 0x2bc5fd0
|
|
/* 02BC5FD0 */ _t21 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC5FD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC5FD4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC5FD8 */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BC5FDC */ _t22 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC5FDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC5FE0 */ _t23 = cpu->r[12] + 0x00000050u;
|
|
/* 02BC5FE0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02BC5FE4 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02BC5FE8 */ _t24 = cpu->r[12] + 0x00000050u;
|
|
/* 02BC5FE8 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[7]);
|
|
L_02BC5FEC: ; // 0x2bc5fec
|
|
/* 02BC5FEC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC5FF0 */ _t25 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BC5FF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC5FF4 */ _t26 = cpu->r[12] + 0x00000064u;
|
|
/* 02BC5FF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC5FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5FFC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5FFC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC5FFC */ if (_t28) goto L_02BC6010; else goto L_02BC6000;
|
|
L_02BC6000: ; // 0x2bc6000
|
|
/* 02BC6000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BC6004 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6004 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC6004 */ if (_t30) goto L_02BC6010; else goto L_02BC6008;
|
|
L_02BC6008: ; // 0x2bc6008
|
|
/* 02BC6008 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC600C */ Gambit_fn_02BF9BC8(cpu);
|
|
L_02BC6010: ; // 0x2bc6010
|
|
/* 02BC6010 */ cpu->r[8] = 0x00000006u;
|
|
/* 02BC6014 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6018 */ cpu->r[4] = 0x000000FDu;
|
|
/* 02BC601C */ _t31 = cpu->r[31] + 0x00000024u;
|
|
/* 02BC601C */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 02BC6020 */ Gambit_fn_02BF069C(cpu);
|
|
/* 02BC6024 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC6028 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC602C */ Gambit_fn_02BC5C08(cpu);
|
|
L_02BC6030: ; // 0x2bc6030
|
|
/* 02BC6030 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6034 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC6038 */ Gambit_fn_02B67E5C(cpu);
|
|
L_02BC603C: ; // 0x2bc603c
|
|
/* 02BC603C */ _t32 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC603C */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC6040 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6040 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC6044 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC6044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC6048 */ _t35 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC6048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC604C */ cpu->lr = cpu->r[0];
|
|
/* 02BC6050 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC6050 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC6054 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC6058 */ return;
|
|
}
|
|
|
|
// fn_02BC605C @ 0x2bc605c
|
|
void Gambit_fn_02BC605C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC605C: ; // 0x2bc605c
|
|
/* 02BC605C */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC605C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC6060 */ return;
|
|
}
|
|
|
|
// fn_02BC6068 @ 0x2bc6068
|
|
void Gambit_fn_02BC6068(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02BC6068: ; // 0x2bc6068
|
|
/* 02BC6068 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC6068 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6068 */ cpu->r[1] = _t0;
|
|
/* 02BC606C */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC606C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC6070 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6070 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC6074 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6074 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC6078 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC6078 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC607C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC6080 */ _t5 = cpu->r[29] + 0xFFFFB77Cu;
|
|
/* 02BC6080 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC6080 */ cpu->r[29] = _t5;
|
|
/* 02BC6084 */ _t6 = cpu->r[9] + 0x00000144u;
|
|
/* 02BC6084 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC6088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC608C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC608C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC608C */ if (_t8) goto L_02BC6100; else goto L_02BC6090;
|
|
L_02BC6090: ; // 0x2bc6090
|
|
/* 02BC6090 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC6090 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC6094 */ Gambit_fn_02BC605C(cpu);
|
|
/* 02BC6098 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC6098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC609C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC609C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC609C */ if (_t11) goto L_02BC6100; else goto L_02BC60A0;
|
|
L_02BC60A0: ; // 0x2bc60a0
|
|
/* 02BC60A0 */ _t12 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC60A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02BC60A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC60A8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC60A8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC60A8 */ if (_t14) goto L_02BC6100; else goto L_02BC60AC;
|
|
L_02BC60AC: ; // 0x2bc60ac
|
|
/* 02BC60AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC60B0 */ Gambit_fn_02B6A710(cpu);
|
|
/* 02BC60B4 */ cpu->r[4] = cpu->r[31] + 0x00000004u;
|
|
/* 02BC60B8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC60BC */ Gambit_fn_02B6A91C(cpu);
|
|
/* 02BC60C0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC60C4 */ _t15 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC60C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC60C8 */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC60C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC60CC */ _t17 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC60CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC60D0 */ _t18 = cpu->r[31] + 0x00000001u;
|
|
/* 02BC60D0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02BC60D4 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC60D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC60DC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC60DC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC60DC */ if (_t20) goto L_02BC60F4; else goto L_02BC60E0;
|
|
L_02BC60E0: ; // 0x2bc60e0
|
|
/* 02BC60E0 */ _t21 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC60E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC60E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02BC60E8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC60E8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC60E8 */ if (_t23) goto L_02BC60EC; else goto L_02BC60F4;
|
|
L_02BC60EC: ; // 0x2bc60ec
|
|
/* 02BC60EC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC60F0 */ _t24 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC60F0 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
L_02BC60F4: ; // 0x2bc60f4
|
|
/* 02BC60F4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC60F8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC60FC */ Gambit_fn_02B67E5C(cpu);
|
|
L_02BC6100: ; // 0x2bc6100
|
|
/* 02BC6100 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6100 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC6104 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC6104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC6108 */ _t27 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6108 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC610C */ cpu->lr = cpu->r[0];
|
|
/* 02BC6110 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6110 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC6114 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC6118 */ return;
|
|
}
|
|
|
|
// fn_02BC6120 @ 0x2bc6120
|
|
void Gambit_fn_02BC6120(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02BC6120: ; // 0x2bc6120
|
|
/* 02BC6120 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC6120 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6120 */ cpu->r[1] = _t0;
|
|
/* 02BC6124 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6124 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC6128 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6128 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC612C */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC612C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BC6130 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC6134 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC6134 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC6138 */ _t5 = cpu->r[31] + 0xFFFFB77Cu;
|
|
/* 02BC6138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC6138 */ cpu->r[31] = _t5;
|
|
/* 02BC613C */ _t6 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC613C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC6140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6144 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6144 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC6144 */ if (_t8) goto L_02BC61F4; else goto L_02BC6148;
|
|
L_02BC6148: ; // 0x2bc6148
|
|
/* 02BC6148 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC6148 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC614C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6150 */ Gambit_fn_02B6A710(cpu);
|
|
/* 02BC6154 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6158 */ cpu->r[4] = cpu->r[29] + 0x00000004u;
|
|
/* 02BC615C */ Gambit_fn_02B6A91C(cpu);
|
|
/* 02BC6160 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC6164 */ _t10 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC6164 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC6164 */ cpu->r[30] = _t10;
|
|
/* 02BC6168 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC6168 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC616C */ _t12 = cpu->r[11] + 0x00000058u;
|
|
/* 02BC616C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC6170 */ _t13 = cpu->r[29] + 0x00000001u;
|
|
/* 02BC6170 */ cpu->r[31] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC6174 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC6178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC617C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC617C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC617C */ if (_t15) goto L_02BC6180; else goto L_02BC61B8;
|
|
L_02BC6180: ; // 0x2bc6180
|
|
/* 02BC6180 */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6180 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC6184 */ _t17 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02BC6184 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC6188 */ _t18 = cpu->r[12] + 0x0000006Eu;
|
|
/* 02BC6188 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02BC618C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6190 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6190 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC6190 */ if (_t20) goto L_02BC61E8; else goto L_02BC6194;
|
|
L_02BC6194: ; // 0x2bc6194
|
|
/* 02BC6194 */ _t21 = cpu->r[9] + 0x00000018u;
|
|
/* 02BC6194 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC6198 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC619C */ Gambit_fn_02BC9F7C(cpu);
|
|
/* 02BC61A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC61A4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC61A4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC61A4 */ if (_t23) goto L_02BC61E8; else goto L_02BC61A8;
|
|
L_02BC61A8: ; // 0x2bc61a8
|
|
/* 02BC61A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC61AC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC61B0 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BC61B4 */ goto L_02BC61E8;
|
|
L_02BC61B8: ; // 0x2bc61b8
|
|
/* 02BC61B8 */ _t24 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC61B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC61BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02BC61C0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC61C0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BC61C0 */ if (_t26) goto L_02BC61C4; else goto L_02BC61E8;
|
|
L_02BC61C4: ; // 0x2bc61c4
|
|
/* 02BC61C4 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC61C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC61C8 */ _t28 = cpu->r[11] + 0x00000018u;
|
|
/* 02BC61C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC61CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC61D0 */ Gambit_fn_02BC9F7C(cpu);
|
|
/* 02BC61D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC61D8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC61D8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC61D8 */ if (_t30) goto L_02BC61E8; else goto L_02BC61DC;
|
|
L_02BC61DC: ; // 0x2bc61dc
|
|
/* 02BC61DC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC61E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC61E4 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC61E8: ; // 0x2bc61e8
|
|
/* 02BC61E8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC61EC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC61F0 */ Gambit_fn_02B67E5C(cpu);
|
|
L_02BC61F4: ; // 0x2bc61f4
|
|
/* 02BC61F4 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC61F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC61F8 */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC61F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC61FC */ _t33 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC61FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC6200 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6204 */ _t34 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC6208 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC620C */ return;
|
|
}
|
|
|
|
// fn_02BC6254 @ 0x2bc6254
|
|
void Gambit_fn_02BC6254(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC6254: ; // 0x2bc6254
|
|
/* 02BC6254 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC6254 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6254 */ cpu->r[1] = _t0;
|
|
/* 02BC6258 */ /* nop */
|
|
/* 02BC625C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6260 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC6260 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC6264 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC6268 */ _t2 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BC6268 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC6268 */ cpu->r[30] = _t2;
|
|
/* 02BC626C */ _t3 = cpu->r[11] + 0x00000144u;
|
|
/* 02BC626C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC6270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC6274 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC6278 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6278 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC6278 */ if (_t5) goto L_02BC63E0; else goto L_02BC627C;
|
|
L_02BC627C: ; // 0x2bc627c
|
|
/* 02BC627C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC6280 */ _t6 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BC6280 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC6280 */ cpu->r[29] = _t6;
|
|
/* 02BC6284 */ _t7 = cpu->r[9] + 0x00000008u;
|
|
/* 02BC6284 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC6288 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BC628C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6290 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6290 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC6290 */ if (_t9) goto L_02BC6294; else goto L_02BC63E0;
|
|
L_02BC6294: ; // 0x2bc6294
|
|
/* 02BC6294 */ _t10 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC6294 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC6298 */ _t11 = cpu->r[7] + 0x00000018u;
|
|
/* 02BC6298 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC629C */ _t12 = cpu->r[8] + 0x0000004Cu;
|
|
/* 02BC629C */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02BC62A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC62A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC62A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC62A4 */ if (_t14) goto L_02BC62A8; else goto L_02BC63E0;
|
|
L_02BC62A8: ; // 0x2bc62a8
|
|
/* 02BC62A8 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC62A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC62AC */ _t16 = cpu->r[7] + 0x00000058u;
|
|
/* 02BC62AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC62B0 */ _t17 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC62B0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC62B4 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC62B4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC62B8 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC62BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC62C0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC62C0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC62C0 */ if (_t20) goto L_02BC62DC; else goto L_02BC62C4;
|
|
L_02BC62C4: ; // 0x2bc62c4
|
|
/* 02BC62C4 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02BC62C8 */ cpu->r[4] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC62CC */ Gambit_fn_02B6A9F4(cpu);
|
|
/* 02BC62D0 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02BC62D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC62D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC62D8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC62D8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC62D8 */ if (_t22) goto L_02BC6328; else goto L_02BC62DC;
|
|
L_02BC62DC: ; // 0x2bc62dc
|
|
/* 02BC62DC */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC62DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC62E0 */ _t24 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC62E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC62E4 */ _t25 = cpu->r[12] + 0x0000006Eu;
|
|
/* 02BC62E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02BC62E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC62EC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC62EC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC62EC */ if (_t27) goto L_02BC630C; else goto L_02BC62F0;
|
|
L_02BC62F0: ; // 0x2bc62f0
|
|
/* 02BC62F0 */ cpu->r[4] = 0x00000009u;
|
|
/* 02BC62F4 */ Gambit_fn_02BC4BD0(cpu);
|
|
/* 02BC62F8 */ /* nop */
|
|
/* 02BC62FC */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC62FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC6300 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6304 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC6308 */ return;
|
|
L_02BC630C: ; // 0x2bc630c
|
|
/* 02BC630C */ cpu->r[4] = 0x00000006u;
|
|
/* 02BC6310 */ Gambit_fn_02BC4BD0(cpu);
|
|
/* 02BC6314 */ /* nop */
|
|
/* 02BC6318 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC6318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC631C */ cpu->lr = cpu->r[0];
|
|
/* 02BC6320 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC6324 */ return;
|
|
L_02BC6328: ; // 0x2bc6328
|
|
/* 02BC6328 */ _t30 = cpu->r[25] + 0x00000001u;
|
|
/* 02BC6328 */ cpu->r[27] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02BC632C */ cpu->r[3] = cpu->r[25] + 0x00000004u;
|
|
/* 02BC6330 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC6334 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6338 */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC6338 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC633C */ _t32 = cpu->r[7] + 0x00000078u;
|
|
/* 02BC633C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC6340 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC6344 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02BC6348 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6348 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC6348 */ if (_t34) goto L_02BC63E0; else goto L_02BC634C;
|
|
L_02BC634C: ; // 0x2bc634c
|
|
/* 02BC634C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC634C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC634C */ if (_t36) goto L_02BC6368; else goto L_02BC6350;
|
|
L_02BC6350: ; // 0x2bc6350
|
|
/* 02BC6350 */ _t37 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6350 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC6354 */ Gambit_fn_02BF31E0(cpu);
|
|
/* 02BC6358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[3]);
|
|
/* 02BC635C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC635C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BC635C */ if (_t39) goto L_02BC63E0; else goto L_02BC6360;
|
|
L_02BC6360: ; // 0x2bc6360
|
|
/* 02BC6360 */ _t40 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC6360 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC6364 */ cpu->r[31] = 0x00000001u;
|
|
L_02BC6368: ; // 0x2bc6368
|
|
/* 02BC6368 */ _t41 = cpu->r[7] + 0x00000010u;
|
|
/* 02BC6368 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC636C */ _t42 = cpu->r[30] + 0x000000BCu;
|
|
/* 02BC636C */ cpu->r[6] = rbrew_read8(cpu->mem, _t42);
|
|
/* 02BC6370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC6374 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6374 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BC6374 */ if (_t44) goto L_02BC6378; else goto L_02BC63B0;
|
|
L_02BC6378: ; // 0x2bc6378
|
|
/* 02BC6378 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC637C */ cpu->r[5] = cpu->r[26];
|
|
/* 02BC6380 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC6384 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC6388 */ Gambit_fn_02BCE9D0(cpu);
|
|
/* 02BC638C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC6390 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000004u);
|
|
/* 02BC6394 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6394 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BC6394 */ if (_t46) goto L_02BC6398; else goto L_02BC63D0;
|
|
L_02BC6398: ; // 0x2bc6398
|
|
/* 02BC6398 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC639C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC63A0 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BC63A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u);
|
|
/* 02BC63A8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC63A8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BC63A8 */ if (_t48) goto L_02BC63AC; else goto L_02BC63E0;
|
|
L_02BC63AC: ; // 0x2bc63ac
|
|
/* 02BC63AC */ goto L_02BC63D8;
|
|
L_02BC63B0: ; // 0x2bc63b0
|
|
/* 02BC63B0 */ _t49 = cpu->r[30] + 0x000000B8u;
|
|
/* 02BC63B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC63B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02BC63B8 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC63B8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BC63B8 */ if (_t51) goto L_02BC63BC; else goto L_02BC63E0;
|
|
L_02BC63BC: ; // 0x2bc63bc
|
|
/* 02BC63BC */ cpu->r[5] = cpu->r[26];
|
|
/* 02BC63C0 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC63C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC63C8 */ Gambit_fn_02BD0CDC(cpu);
|
|
/* 02BC63CC */ cpu->r[31] = cpu->r[3];
|
|
L_02BC63D0: ; // 0x2bc63d0
|
|
/* 02BC63D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u);
|
|
/* 02BC63D4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC63D4 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BC63D4 */ if (_t53) goto L_02BC63D8; else goto L_02BC63E0;
|
|
L_02BC63D8: ; // 0x2bc63d8
|
|
/* 02BC63D8 */ _t54 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC63D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC63DC */ _t55 = cpu->r[10] + 0x00000078u;
|
|
/* 02BC63DC */ rbrew_write32(cpu->mem, _t55, cpu->r[28]);
|
|
L_02BC63E0: ; // 0x2bc63e0
|
|
/* 02BC63E0 */ /* nop */
|
|
/* 02BC63E4 */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC63E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BC63E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC63EC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC63F0 */ return;
|
|
}
|
|
|
|
// fn_02BC63F8 @ 0x2bc63f8
|
|
void Gambit_fn_02BC63F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02BC63F8: ; // 0x2bc63f8
|
|
/* 02BC63F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC63F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC63F8 */ cpu->r[1] = _t0;
|
|
/* 02BC63FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC63FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC6400 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6404 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6404 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC6408 */ _t3 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC6408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC640C */ _t4 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC640C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC6410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BC6414 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6414 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC6414 */ if (_t6) goto L_02BC642C; else goto L_02BC6418;
|
|
L_02BC6418: ; // 0x2bc6418
|
|
/* 02BC6418 */ _t7 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC6418 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC641C */ cpu->r[11] = cpu->r[0] ^ cpu->r[10];
|
|
/* 02BC6420 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 02BC6424 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC6424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6428 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6428 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC6428 */ if (_t9) goto L_02BC642C; else goto L_02BC6478;
|
|
L_02BC642C: ; // 0x2bc642c
|
|
/* 02BC642C */ _t10 = cpu->r[4] + 0x00000008u;
|
|
/* 02BC642C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC6430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BC6434 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6434 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC6434 */ if (_t12) goto L_02BC6478; else goto L_02BC6438;
|
|
L_02BC6438: ; // 0x2bc6438
|
|
/* 02BC6438 */ _t13 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC6438 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC643C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02BC6440 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6440 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC6440 */ if (_t15) goto L_02BC6444; else goto L_02BC6478;
|
|
L_02BC6444: ; // 0x2bc6444
|
|
/* 02BC6444 */ _t16 = cpu->r[4] + 0x00000004u;
|
|
/* 02BC6444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC6448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BC644C */ _t17 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC644C */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC6450 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6450 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC6450 */ if (_t19) goto L_02BC6454; else goto L_02BC6478;
|
|
L_02BC6454: ; // 0x2bc6454
|
|
/* 02BC6454 */ _t20 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02BC6454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC6458 */ _t21 = cpu->r[11] + 0x00000001u;
|
|
/* 02BC6458 */ cpu->r[4] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02BC645C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6460 */ Gambit_fn_02BE31B4(cpu);
|
|
/* 02BC6464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6468 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6468 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC6468 */ if (_t23) goto L_02BC6478; else goto L_02BC646C;
|
|
L_02BC646C: ; // 0x2bc646c
|
|
/* 02BC646C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6470 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC6474 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC6478: ; // 0x2bc6478
|
|
/* 02BC6478 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC647C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC647C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC6480 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6484 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6488 */ return;
|
|
}
|
|
|
|
// fn_02BC6490 @ 0x2bc6490
|
|
void Gambit_fn_02BC6490(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02BC6490: ; // 0x2bc6490
|
|
/* 02BC6490 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC6490 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6490 */ cpu->r[1] = _t0;
|
|
/* 02BC6494 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6494 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC6498 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6498 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC649C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC64A0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC64A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC64A4 */ _t4 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC64A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC64A8 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC64A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC64AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC64B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000001Fu);
|
|
/* 02BC64B4 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BC64B8 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC64B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC64B8 */ if (_t7) goto L_02BC64EC; else goto L_02BC64BC;
|
|
L_02BC64BC: ; // 0x2bc64bc
|
|
/* 02BC64BC */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC64BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC64C0 */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC64C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC64C4 */ _t10 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC64C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC64C8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC64C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BC64CC */ _t12 = cpu->r[10] + 0x00000024u;
|
|
/* 02BC64CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC64D0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC64D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC64D8 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC64DC */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC64E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC64E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC64E8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC64E8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC64E8 */ if (_t14) goto L_02BC64EC; else goto L_02BC6508;
|
|
L_02BC64EC: ; // 0x2bc64ec
|
|
/* 02BC64EC */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC64EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC64F0 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC64F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC64F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC64F8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC64F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC64FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC6500 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC6504 */ return;
|
|
L_02BC6508: ; // 0x2bc6508
|
|
/* 02BC6508 */ _t18 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC6508 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC650C */ cpu->r[11] = 0x00000023u;
|
|
/* 02BC6510 */ _t19 = cpu->r[10] + 0x00000014u;
|
|
/* 02BC6510 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[11]);
|
|
/* 02BC6514 */ _t20 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC6514 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC6518 */ _t21 = cpu->r[12] + 0x00000015u;
|
|
/* 02BC6518 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02BC651C */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC651C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC6520 */ Gambit_fn_02BEED0C(cpu);
|
|
/* 02BC6524 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC6528 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC652C */ cpu->lr = cpu->r[0];
|
|
/* 02BC6530 */ cpu->r[9] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02BC6534 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC6538 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6538 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC653C */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC6540 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC6544 */ return;
|
|
}
|
|
|
|
// fn_02BC6574 @ 0x2bc6574
|
|
void Gambit_fn_02BC6574(CPUState* 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_02BC6574: ; // 0x2bc6574
|
|
/* 02BC6574 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BC6574 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6574 */ cpu->r[1] = _t0;
|
|
/* 02BC6578 */ /* nop */
|
|
/* 02BC657C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6580 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC6580 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC6584 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6588 */ _t2 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC6588 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC658C */ cpu->r[29] = cpu->r[8];
|
|
/* 02BC6590 */ _t3 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC6590 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC6594 */ cpu->r[26] = cpu->r[3];
|
|
/* 02BC6598 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BC659C */ cpu->r[30] = cpu->r[6];
|
|
/* 02BC65A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000001Fu);
|
|
/* 02BC65A4 */ cpu->r[28] = cpu->r[7];
|
|
/* 02BC65A8 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC65A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC65A8 */ if (_t5) goto L_02BC6628; else goto L_02BC65AC;
|
|
L_02BC65AC: ; // 0x2bc65ac
|
|
/* 02BC65AC */ _t6 = cpu->r[26] + 0x00000010u;
|
|
/* 02BC65AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC65B0 */ _t7 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02BC65B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC65B4 */ _t8 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC65B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC65B8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC65B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BC65BC */ _t10 = cpu->r[9] + 0x00000024u;
|
|
/* 02BC65BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC65C0 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BC65C4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC65C8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC65CC */ cpu->r[6] = 0x00000008u;
|
|
/* 02BC65D0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC65D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC65D8 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BC65D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BC65DC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC65DC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC65DC */ if (_t12) goto L_02BC6628; else goto L_02BC65E0;
|
|
L_02BC65E0: ; // 0x2bc65e0
|
|
/* 02BC65E0 */ cpu->r[25] = 0x00000000u;
|
|
/* 02BC65E4 */ cpu->r[0] = 0x00000024u;
|
|
/* 02BC65E8 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC65E8 */ rbrew_write32(cpu->mem, _t13, cpu->r[25]);
|
|
/* 02BC65EC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC65EC */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 02BC65F0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC65F4 */ _t15 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BC65F4 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[30]);
|
|
/* 02BC65F8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC65F8 */ rbrew_write32(cpu->mem, _t16, cpu->r[25]);
|
|
/* 02BC65FC */ _t17 = cpu->r[1] + 0x0000000Bu;
|
|
/* 02BC65FC */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[28]);
|
|
/* 02BC6600 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6604 */ _t18 = cpu->r[1] + 0x00000009u;
|
|
/* 02BC6604 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[31]);
|
|
/* 02BC6608 */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BC660C */ cpu->r[6] = 0x00000008u;
|
|
/* 02BC6610 */ cpu->r[5] = cpu->r[25];
|
|
/* 02BC6614 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6618 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC661C */ Gambit_fn_02BF5C34(cpu);
|
|
/* 02BC6620 */ _t19 = cpu->r[26] + 0x00000010u;
|
|
/* 02BC6620 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC6624 */ Gambit_fn_02BEED0C(cpu);
|
|
L_02BC6628: ; // 0x2bc6628
|
|
/* 02BC6628 */ /* nop */
|
|
/* 02BC662C */ _t20 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC662C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC6630 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6634 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC6638 */ return;
|
|
}
|
|
|
|
// fn_02BC663C @ 0x2bc663c
|
|
void Gambit_fn_02BC663C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BC663C: ; // 0x2bc663c
|
|
/* 02BC663C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC663C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC663C */ cpu->r[1] = _t0;
|
|
/* 02BC6640 */ /* nop */
|
|
/* 02BC6644 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6648 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6648 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC664C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC6650 */ _t2 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC6650 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC6654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000001Fu);
|
|
/* 02BC6658 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC665C */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC665C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC665C */ if (_t4) goto L_02BC6778; else goto L_02BC6660;
|
|
L_02BC6660: ; // 0x2bc6660
|
|
/* 02BC6660 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC6660 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC6664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000008u);
|
|
/* 02BC6668 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC6668 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC666C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC666C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC666C */ if (_t8) goto L_02BC6670; else goto L_02BC6778;
|
|
L_02BC6670: ; // 0x2bc6670
|
|
/* 02BC6670 */ _t9 = cpu->r[8] + 0x00000002u;
|
|
/* 02BC6670 */ cpu->r[27] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02BC6674 */ cpu->r[3] = cpu->r[8] + 0x00000004u;
|
|
/* 02BC6678 */ _t10 = cpu->r[8] + 0x00000003u;
|
|
/* 02BC6678 */ cpu->r[28] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02BC667C */ _t11 = cpu->r[8] + 0x00000001u;
|
|
/* 02BC667C */ cpu->r[26] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02BC6680 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6684 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6688 */ _t12 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC6688 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC668C */ _t13 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC668C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC6690 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC6694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000001Fu);
|
|
/* 02BC6698 */ _t14 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC6698 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC669C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC669C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC669C */ if (_t16) goto L_02BC66A0; else goto L_02BC66B0;
|
|
L_02BC66A0: ; // 0x2bc66a0
|
|
/* 02BC66A0 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC66A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC66A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]);
|
|
/* 02BC66A8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC66A8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC66A8 */ if (_t19) goto L_02BC6748; else goto L_02BC66AC;
|
|
L_02BC66AC: ; // 0x2bc66ac
|
|
/* 02BC66AC */ goto L_02BC6778;
|
|
L_02BC66B0: ; // 0x2bc66b0
|
|
/* 02BC66B0 */ cpu->r[8] = cpu->r[10] ^ cpu->r[11];
|
|
/* 02BC66B4 */ cpu->r[0] = rbrew_clz32(cpu->r[8]);
|
|
/* 02BC66B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC66B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC66BC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC66BC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC66BC */ if (_t21) goto L_02BC673C; else goto L_02BC66C0;
|
|
L_02BC66C0: ; // 0x2bc66c0
|
|
/* 02BC66C0 */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC66C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC66C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[27]);
|
|
/* 02BC66C8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC66C8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC66C8 */ if (_t24) goto L_02BC66CC; else goto L_02BC6778;
|
|
L_02BC66CC: ; // 0x2bc66cc
|
|
/* 02BC66CC */ _t25 = cpu->r[12] + 0x00000078u;
|
|
/* 02BC66CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC66D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[7]);
|
|
/* 02BC66D4 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC66D4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC66D4 */ if (_t27) goto L_02BC6778; else goto L_02BC66D8;
|
|
L_02BC66D8: ; // 0x2bc66d8
|
|
/* 02BC66D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[10]);
|
|
/* 02BC66DC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC66DC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BC66DC */ if (_t29) goto L_02BC6778; else goto L_02BC66E0;
|
|
L_02BC66E0: ; // 0x2bc66e0
|
|
/* 02BC66E0 */ _t30 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BC66E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC66E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC66E8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC66E8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BC66E8 */ if (_t32) goto L_02BC66EC; else goto L_02BC670C;
|
|
L_02BC66EC: ; // 0x2bc66ec
|
|
/* 02BC66EC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC66F0 */ _t33 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC66F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC66F4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC66F8 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC66FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6700 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6700 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC6700 */ if (_t35) goto L_02BC670C; else goto L_02BC6704;
|
|
L_02BC6704: ; // 0x2bc6704
|
|
/* 02BC6704 */ cpu->r[0] = 0x00000006u;
|
|
/* 02BC6708 */ _t36 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC6708 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
L_02BC670C: ; // 0x2bc670c
|
|
/* 02BC670C */ cpu->r[8] = cpu->r[29];
|
|
/* 02BC6710 */ cpu->r[7] = cpu->r[28];
|
|
/* 02BC6714 */ cpu->r[6] = cpu->r[27];
|
|
/* 02BC6718 */ cpu->r[5] = cpu->r[26];
|
|
/* 02BC671C */ cpu->r[4] = cpu->r[26];
|
|
/* 02BC6720 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC6724 */ Gambit_fn_02BC6574(cpu);
|
|
/* 02BC6728 */ /* nop */
|
|
/* 02BC672C */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC672C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC6730 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6734 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6738 */ return;
|
|
L_02BC673C: ; // 0x2bc673c
|
|
/* 02BC673C */ _t38 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC673C */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC6740 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]);
|
|
/* 02BC6744 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6744 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BC6744 */ if (_t40) goto L_02BC6748; else goto L_02BC6778;
|
|
L_02BC6748: ; // 0x2bc6748
|
|
/* 02BC6748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[10]);
|
|
/* 02BC674C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC674C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BC674C */ if (_t42) goto L_02BC6750; else goto L_02BC6778;
|
|
L_02BC6750: ; // 0x2bc6750
|
|
/* 02BC6750 */ _t43 = cpu->r[12] + 0x00000010u;
|
|
/* 02BC6750 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC6754 */ _t44 = cpu->r[3] + 0x000000BCu;
|
|
/* 02BC6754 */ cpu->r[9] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02BC6758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC675C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC675C */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BC675C */ if (_t46) goto L_02BC6778; else goto L_02BC6760;
|
|
L_02BC6760: ; // 0x2bc6760
|
|
/* 02BC6760 */ _t47 = cpu->r[3] + 0x000000B8u;
|
|
/* 02BC6760 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC6764 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 02BC6768 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6768 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BC6768 */ if (_t49) goto L_02BC676C; else goto L_02BC6778;
|
|
L_02BC676C: ; // 0x2bc676c
|
|
/* 02BC676C */ cpu->r[5] = cpu->r[28];
|
|
/* 02BC6770 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC6774 */ Gambit_fn_02BD12B0(cpu);
|
|
L_02BC6778: ; // 0x2bc6778
|
|
/* 02BC6778 */ /* nop */
|
|
/* 02BC677C */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC677C */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC6780 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6784 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6788 */ return;
|
|
}
|
|
|
|
// fn_02BC6790 @ 0x2bc6790
|
|
void Gambit_fn_02BC6790(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_02BC6790: ; // 0x2bc6790
|
|
/* 02BC6790 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC6790 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6790 */ cpu->r[1] = _t0;
|
|
/* 02BC6794 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC6794 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC6798 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6798 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC679C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC67A0 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC67A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC67A4 */ _t4 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC67A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC67A4 */ cpu->r[30] = _t4;
|
|
/* 02BC67A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC67AC */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC67B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC67B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC67B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC67B4 */ if (_t6) goto L_02BC6854; else goto L_02BC67B8;
|
|
L_02BC67B8: ; // 0x2bc67b8
|
|
/* 02BC67B8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC67BC */ _t7 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC67BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC67C0 */ _t8 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC67C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC67C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC67C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC67C8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC67C8 */ if (_t10) goto L_02BC6854; else goto L_02BC67CC;
|
|
L_02BC67CC: ; // 0x2bc67cc
|
|
/* 02BC67CC */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC67CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC67D0 */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC67D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC67D4 */ _t13 = cpu->r[10] + 0x00000001u;
|
|
/* 02BC67D4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC67D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02BC67DC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC67DC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC67DC */ if (_t15) goto L_02BC67E0; else goto L_02BC6854;
|
|
L_02BC67E0: ; // 0x2bc67e0
|
|
/* 02BC67E0 */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC67E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC67E4 */ _t17 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BC67E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC67E8 */ _t18 = cpu->r[3] + 0x00000099u;
|
|
/* 02BC67E8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02BC67EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC67F0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC67F0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC67F0 */ if (_t20) goto L_02BC67F4; else goto L_02BC6850;
|
|
L_02BC67F4: ; // 0x2bc67f4
|
|
/* 02BC67F4 */ _t21 = cpu->r[3] + 0x0000006Eu;
|
|
/* 02BC67F4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02BC67F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC67FC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC67FC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC67FC */ if (_t23) goto L_02BC6800; else goto L_02BC6854;
|
|
L_02BC6800: ; // 0x2bc6800
|
|
/* 02BC6800 */ _t24 = cpu->r[12] + 0x000000A8u;
|
|
/* 02BC6800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC6804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6808 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6808 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BC6808 */ if (_t26) goto L_02BC6854; else goto L_02BC680C;
|
|
L_02BC680C: ; // 0x2bc680c
|
|
/* 02BC680C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC680C */ rbrew_write32(cpu->mem, _t27, cpu->r[4]);
|
|
/* 02BC6810 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC6814 */ cpu->r[5] = 0x00000015u;
|
|
/* 02BC6818 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6818 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02BC681C */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC681C */ rbrew_write32(cpu->mem, _t29, cpu->r[5]);
|
|
/* 02BC6820 */ _t30 = cpu->r[12] + 0x000000A8u;
|
|
/* 02BC6820 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC6824 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC6824 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC6828 */ _t32 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02BC6828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC682C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC6830 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6834 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC6838 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC683C */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC683C */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC6840 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6844 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC6848 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC684C */ return;
|
|
L_02BC6850: ; // 0x2bc6850
|
|
/* 02BC6850 */ Gambit_fn_02BCB8CC(cpu);
|
|
L_02BC6854: ; // 0x2bc6854
|
|
/* 02BC6854 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC6858 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC6858 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC685C */ cpu->lr = cpu->r[0];
|
|
/* 02BC6860 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6860 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC6864 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6868 */ return;
|
|
}
|
|
|
|
// fn_02BC6870 @ 0x2bc6870
|
|
void Gambit_fn_02BC6870(CPUState* cpu) {
|
|
uint32_t _t0, _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_02BC6870: ; // 0x2bc6870
|
|
/* 02BC6870 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC6870 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6870 */ cpu->r[1] = _t0;
|
|
/* 02BC6874 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6874 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC6878 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6878 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC687C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC6880 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6880 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC6884 */ _t4 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC6884 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC6884 */ cpu->r[30] = _t4;
|
|
/* 02BC6888 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC688C */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC6890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6894 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6894 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC6894 */ if (_t6) goto L_02BC68E4; else goto L_02BC6898;
|
|
L_02BC6898: ; // 0x2bc6898
|
|
/* 02BC6898 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC689C */ _t7 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC689C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC68A0 */ _t8 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC68A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC68A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC68A8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC68A8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC68A8 */ if (_t10) goto L_02BC68E4; else goto L_02BC68AC;
|
|
L_02BC68AC: ; // 0x2bc68ac
|
|
/* 02BC68AC */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC68AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC68B0 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC68B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC68B4 */ _t13 = cpu->r[6] + 0x00000001u;
|
|
/* 02BC68B4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC68B8 */ _t14 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC68B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC68BC */ cpu->r[8] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02BC68C0 */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC68C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC68C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02BC68C8 */ cpu->r[4] = cpu->r[7] - cpu->r[8];
|
|
/* 02BC68CC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC68CC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC68CC */ if (_t17) goto L_02BC68D0; else goto L_02BC68E4;
|
|
L_02BC68D0: ; // 0x2bc68d0
|
|
/* 02BC68D0 */ _t18 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BC68D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC68D4 */ _t19 = cpu->r[3] + 0x000000A0u;
|
|
/* 02BC68D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BC68D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC68DC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC68DC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC68DC */ if (_t21) goto L_02BC68E4; else goto L_02BC68E0;
|
|
L_02BC68E0: ; // 0x2bc68e0
|
|
/* 02BC68E0 */ Gambit_fn_02BCB8D4(cpu);
|
|
L_02BC68E4: ; // 0x2bc68e4
|
|
/* 02BC68E4 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC68E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC68E8 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC68E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC68EC */ cpu->lr = cpu->r[0];
|
|
/* 02BC68F0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC68F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC68F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC68F8 */ return;
|
|
}
|
|
|
|
// fn_02BC6900 @ 0x2bc6900
|
|
void Gambit_fn_02BC6900(CPUState* cpu) {
|
|
uint32_t _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_02BC6900: ; // 0x2bc6900
|
|
/* 02BC6900 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC6900 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6900 */ cpu->r[1] = _t0;
|
|
/* 02BC6904 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6904 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC6908 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6908 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC690C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC6910 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6910 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC6914 */ _t4 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC6914 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC6914 */ cpu->r[31] = _t4;
|
|
/* 02BC6918 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC691C */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC6920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6924 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6924 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC6924 */ if (_t6) goto L_02BC6968; else goto L_02BC6928;
|
|
L_02BC6928: ; // 0x2bc6928
|
|
/* 02BC6928 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC692C */ _t7 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC692C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC6930 */ _t8 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC6930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC6934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6938 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6938 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC6938 */ if (_t10) goto L_02BC6968; else goto L_02BC693C;
|
|
L_02BC693C: ; // 0x2bc693c
|
|
/* 02BC693C */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC693C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC6940 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02BC6940 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC6944 */ _t13 = cpu->r[12] + 0x00000001u;
|
|
/* 02BC6944 */ cpu->r[4] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC6948 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02BC694C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC694C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC694C */ if (_t15) goto L_02BC6950; else goto L_02BC6968;
|
|
L_02BC6950: ; // 0x2bc6950
|
|
/* 02BC6950 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC6950 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC6954 */ _t17 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02BC6954 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC6958 */ _t18 = cpu->r[3] + 0x00000098u;
|
|
/* 02BC6958 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02BC695C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6960 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6960 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC6960 */ if (_t20) goto L_02BC6968; else goto L_02BC6964;
|
|
L_02BC6964: ; // 0x2bc6964
|
|
/* 02BC6964 */ Gambit_fn_02BCB8B4(cpu);
|
|
L_02BC6968: ; // 0x2bc6968
|
|
/* 02BC6968 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC696C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC696C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC6970 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6974 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC6978 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC697C */ return;
|
|
}
|
|
|
|
// fn_02BC6984 @ 0x2bc6984
|
|
void Gambit_fn_02BC6984(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02BC6984: ; // 0x2bc6984
|
|
/* 02BC6984 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC6984 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6984 */ cpu->r[1] = _t0;
|
|
/* 02BC6988 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6988 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC698C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC698C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC6990 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC6994 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6994 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC6998 */ _t4 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC6998 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC6998 */ cpu->r[30] = _t4;
|
|
/* 02BC699C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC69A0 */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC69A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC69A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC69A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC69A8 */ if (_t6) goto L_02BC6A24; else goto L_02BC69AC;
|
|
L_02BC69AC: ; // 0x2bc69ac
|
|
/* 02BC69AC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC69B0 */ _t7 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC69B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC69B4 */ _t8 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC69B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC69B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC69BC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC69BC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC69BC */ if (_t10) goto L_02BC6A24; else goto L_02BC69C0;
|
|
L_02BC69C0: ; // 0x2bc69c0
|
|
/* 02BC69C0 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC69C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC69C4 */ _t12 = cpu->r[8] + 0x00000008u;
|
|
/* 02BC69C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC69C8 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BC69CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC69D0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC69D0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC69D0 */ if (_t14) goto L_02BC69D4; else goto L_02BC6A24;
|
|
L_02BC69D4: ; // 0x2bc69d4
|
|
/* 02BC69D4 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC69D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC69D8 */ _t16 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC69D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC69DC */ _t17 = cpu->r[6] + 0x00000058u;
|
|
/* 02BC69DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC69E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02BC69E4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC69E4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC69E4 */ if (_t19) goto L_02BC69E8; else goto L_02BC6A24;
|
|
L_02BC69E8: ; // 0x2bc69e8
|
|
/* 02BC69E8 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC69E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC69EC */ _t21 = cpu->r[10] + 0x00000001u;
|
|
/* 02BC69EC */ cpu->r[5] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02BC69F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000001Fu);
|
|
/* 02BC69F4 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC69F4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC69F4 */ if (_t23) goto L_02BC6A24; else goto L_02BC69F8;
|
|
L_02BC69F8: ; // 0x2bc69f8
|
|
/* 02BC69F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02BC69FC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC69FC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC69FC */ if (_t25) goto L_02BC6A24; else goto L_02BC6A00;
|
|
L_02BC6A00: ; // 0x2bc6a00
|
|
/* 02BC6A00 */ _t26 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02BC6A00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC6A04 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC6A08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6A0C */ Gambit_fn_02BCA55C(cpu);
|
|
/* 02BC6A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6A14 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6A14 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC6A14 */ if (_t28) goto L_02BC6A24; else goto L_02BC6A18;
|
|
L_02BC6A18: ; // 0x2bc6a18
|
|
/* 02BC6A18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6A1C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC6A20 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC6A24: ; // 0x2bc6a24
|
|
/* 02BC6A24 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC6A28 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6A28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC6A2C */ cpu->lr = cpu->r[0];
|
|
/* 02BC6A30 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6A30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC6A34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6A38 */ return;
|
|
}
|
|
|
|
// fn_02BC6A40 @ 0x2bc6a40
|
|
void Gambit_fn_02BC6A40(CPUState* cpu) {
|
|
uint32_t _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_02BC6A40: ; // 0x2bc6a40
|
|
/* 02BC6A40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC6A40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6A40 */ cpu->r[1] = _t0;
|
|
/* 02BC6A44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6A44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC6A48 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6A48 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC6A4C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC6A50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6A50 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC6A54 */ _t4 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC6A54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC6A54 */ cpu->r[31] = _t4;
|
|
/* 02BC6A58 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC6A5C */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC6A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6A64 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6A64 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC6A64 */ if (_t6) goto L_02BC6AA8; else goto L_02BC6A68;
|
|
L_02BC6A68: ; // 0x2bc6a68
|
|
/* 02BC6A68 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6A6C */ _t7 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC6A6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC6A70 */ _t8 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC6A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC6A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6A78 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6A78 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC6A78 */ if (_t10) goto L_02BC6AA8; else goto L_02BC6A7C;
|
|
L_02BC6A7C: ; // 0x2bc6a7c
|
|
/* 02BC6A7C */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6A7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC6A80 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02BC6A80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC6A84 */ _t13 = cpu->r[12] + 0x00000001u;
|
|
/* 02BC6A84 */ cpu->r[4] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC6A88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02BC6A8C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6A8C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC6A8C */ if (_t15) goto L_02BC6A90; else goto L_02BC6AA8;
|
|
L_02BC6A90: ; // 0x2bc6a90
|
|
/* 02BC6A90 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC6A90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC6A94 */ _t17 = cpu->r[9] + 0x00000020u;
|
|
/* 02BC6A94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC6A98 */ _t18 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BC6A98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02BC6A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6AA0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6AA0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC6AA0 */ if (_t20) goto L_02BC6AA8; else goto L_02BC6AA4;
|
|
L_02BC6AA4: ; // 0x2bc6aa4
|
|
/* 02BC6AA4 */ Gambit_fn_02BC0B74(cpu);
|
|
L_02BC6AA8: ; // 0x2bc6aa8
|
|
/* 02BC6AA8 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6AA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC6AAC */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6AAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC6AB0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6AB4 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6AB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC6AB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6ABC */ return;
|
|
}
|
|
|
|
// fn_02BC6AC4 @ 0x2bc6ac4
|
|
void Gambit_fn_02BC6AC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC6AC4: ; // 0x2bc6ac4
|
|
/* 02BC6AC4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC6AC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6AC4 */ cpu->r[1] = _t0;
|
|
/* 02BC6AC8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6AC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BC6ACC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6ACC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC6AD0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6AD0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BC6AD4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6AD4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC6AD8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC6ADC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6ADC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC6AE0 */ _t6 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC6AE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC6AE0 */ cpu->r[30] = _t6;
|
|
/* 02BC6AE4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC6AE8 */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC6AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6AF0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6AF0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC6AF0 */ if (_t8) goto L_02BC6BC0; else goto L_02BC6AF4;
|
|
L_02BC6AF4: ; // 0x2bc6af4
|
|
/* 02BC6AF4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6AF8 */ _t9 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC6AF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC6AFC */ _t10 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC6AFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC6B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC6B04 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6B04 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC6B04 */ if (_t12) goto L_02BC6BC0; else goto L_02BC6B08;
|
|
L_02BC6B08: ; // 0x2bc6b08
|
|
/* 02BC6B08 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6B08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC6B0C */ _t14 = cpu->r[6] + 0x0000005Cu;
|
|
/* 02BC6B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC6B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BC6B14 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6B14 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC6B14 */ if (_t16) goto L_02BC6B2C; else goto L_02BC6B18;
|
|
L_02BC6B18: ; // 0x2bc6b18
|
|
/* 02BC6B18 */ _t17 = cpu->r[6] + 0x00000058u;
|
|
/* 02BC6B18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC6B1C */ cpu->r[10] = cpu->r[0] ^ cpu->r[9];
|
|
/* 02BC6B20 */ cpu->r[11] = rbrew_clz32(cpu->r[10]);
|
|
/* 02BC6B24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC6B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6B28 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6B28 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC6B28 */ if (_t19) goto L_02BC6B2C; else goto L_02BC6BC0;
|
|
L_02BC6B2C: ; // 0x2bc6b2c
|
|
/* 02BC6B2C */ _t20 = cpu->r[6] + 0x00000008u;
|
|
/* 02BC6B2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC6B30 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BC6B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6B38 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6B38 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC6B38 */ if (_t22) goto L_02BC6B3C; else goto L_02BC6BC0;
|
|
L_02BC6B3C: ; // 0x2bc6b3c
|
|
/* 02BC6B3C */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6B3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC6B40 */ _t24 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC6B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC6B44 */ _t25 = cpu->r[6] + 0x00000058u;
|
|
/* 02BC6B44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC6B48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02BC6B4C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6B4C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC6B4C */ if (_t27) goto L_02BC6B50; else goto L_02BC6BC0;
|
|
L_02BC6B50: ; // 0x2bc6b50
|
|
/* 02BC6B50 */ _t28 = cpu->r[6] + 0x00000052u;
|
|
/* 02BC6B50 */ cpu->r[8] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02BC6B54 */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC6B54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC6B58 */ cpu->r[7] = cpu->r[8] + 0x0000000Cu;
|
|
/* 02BC6B5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 02BC6B60 */ _t30 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC6B60 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC6B64 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6B64 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BC6B64 */ if (_t32) goto L_02BC6B68; else goto L_02BC6BC0;
|
|
L_02BC6B68: ; // 0x2bc6b68
|
|
/* 02BC6B68 */ _t33 = cpu->r[28] + 0x00000001u;
|
|
/* 02BC6B68 */ cpu->r[10] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02BC6B6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC6B70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BC6B74 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6B74 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC6B74 */ if (_t35) goto L_02BC6B78; else goto L_02BC6BC0;
|
|
L_02BC6B78: ; // 0x2bc6b78
|
|
/* 02BC6B78 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02BC6B7C */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6B80 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC6B84 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02BC6B88 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6B8C */ _t36 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6B8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC6B90 */ cpu->r[7] = cpu->r[3];
|
|
/* 02BC6B94 */ _t37 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BC6B94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC6B98 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC6B9C */ cpu->r[6] = cpu->r[29];
|
|
/* 02BC6BA0 */ cpu->r[5] = cpu->r[28] + 0x0000000Cu;
|
|
/* 02BC6BA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6BA8 */ Gambit_fn_02BCB930(cpu);
|
|
/* 02BC6BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6BB0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6BB0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BC6BB0 */ if (_t39) goto L_02BC6BC0; else goto L_02BC6BB4;
|
|
L_02BC6BB4: ; // 0x2bc6bb4
|
|
/* 02BC6BB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6BB8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC6BBC */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC6BC0: ; // 0x2bc6bc0
|
|
/* 02BC6BC0 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6BC0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC6BC4 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6BC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC6BC8 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC6BCC */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6BCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC6BD0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6BD4 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6BD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC6BD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC6BDC */ return;
|
|
}
|
|
|
|
// fn_02BC6BE0 @ 0x2bc6be0
|
|
void Gambit_fn_02BC6BE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02BC6BE0: ; // 0x2bc6be0
|
|
/* 02BC6BE0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BC6BE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6BE0 */ cpu->r[1] = _t0;
|
|
/* 02BC6BE4 */ /* nop */
|
|
/* 02BC6BE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6BEC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC6BEC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC6BF0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC6BF4 */ _t2 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC6BF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC6BF4 */ cpu->r[30] = _t2;
|
|
/* 02BC6BF8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC6BFC */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC6C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6C04 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6C04 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC6C04 */ if (_t4) goto L_02BC6D00; else goto L_02BC6C08;
|
|
L_02BC6C08: ; // 0x2bc6c08
|
|
/* 02BC6C08 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6C0C */ _t5 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC6C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC6C10 */ _t6 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC6C10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC6C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC6C18 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6C18 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC6C18 */ if (_t8) goto L_02BC6D00; else goto L_02BC6C1C;
|
|
L_02BC6C1C: ; // 0x2bc6c1c
|
|
/* 02BC6C1C */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC6C1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC6C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000001Fu);
|
|
/* 02BC6C24 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6C24 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC6C24 */ if (_t11) goto L_02BC6D00; else goto L_02BC6C28;
|
|
L_02BC6C28: ; // 0x2bc6c28
|
|
/* 02BC6C28 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC6C28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC6C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000010u);
|
|
/* 02BC6C30 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC6C30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC6C34 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6C34 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC6C34 */ if (_t15) goto L_02BC6C38; else goto L_02BC6D00;
|
|
L_02BC6C38: ; // 0x2bc6c38
|
|
/* 02BC6C38 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC6C3C */ cpu->r[5] = 0x00000010u;
|
|
/* 02BC6C40 */ _t16 = cpu->r[3] + 0xFFFFB794u;
|
|
/* 02BC6C40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC6C44 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC6C48 */ Gambit_fn_02BF84BC(cpu);
|
|
/* 02BC6C4C */ _t17 = cpu->r[29] + 0x00000003u;
|
|
/* 02BC6C4C */ cpu->r[6] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02BC6C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC6C54 */ cpu->r[25] = cpu->r[3];
|
|
/* 02BC6C58 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6C58 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC6C58 */ if (_t19) goto L_02BC6C64; else goto L_02BC6C5C;
|
|
L_02BC6C5C: ; // 0x2bc6c5c
|
|
/* 02BC6C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 02BC6C60 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6C60 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC6C60 */ if (_t21) goto L_02BC6C64; else goto L_02BC6D00;
|
|
L_02BC6C64: ; // 0x2bc6c64
|
|
/* 02BC6C64 */ cpu->r[0] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02BC6C68 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 02BC6C6C */ cpu->r[26] = cpu->r[6] - cpu->r[0];
|
|
/* 02BC6C70 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6C74 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BC6C78 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 02BC6C7C */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6C80 */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6C80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC6C84 */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC6C84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC6C88 */ _t24 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02BC6C88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC6C8C */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6C90 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6C94 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC6C98 */ _t25 = cpu->r[8] + 0x0000005Cu;
|
|
/* 02BC6C98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC6C9C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC6CA0 */ cpu->r[8] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6CA4 */ Gambit_fn_02BCC098(cpu);
|
|
/* 02BC6CA8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC6CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC6CAC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6CAC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC6CAC */ if (_t27) goto L_02BC6CB0; else goto L_02BC6D00;
|
|
L_02BC6CB0: ; // 0x2bc6cb0
|
|
/* 02BC6CB0 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6CB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02BC6CB4 */ _t29 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6CB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC6CB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02BC6CBC */ _t30 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC6CBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC6CC0 */ _t31 = cpu->r[11] + 0x0000004Cu;
|
|
/* 02BC6CC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC6CC4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6CC4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC6CC4 */ if (_t33) goto L_02BC6CE8; else goto L_02BC6CC8;
|
|
L_02BC6CC8: ; // 0x2bc6cc8
|
|
/* 02BC6CC8 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6CC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC6CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[27]);
|
|
/* 02BC6CD0 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6CD0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC6CD0 */ if (_t36) goto L_02BC6CE4; else goto L_02BC6CD4;
|
|
L_02BC6CD4: ; // 0x2bc6cd4
|
|
/* 02BC6CD4 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC6CD4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BC6CD4 */ if (_t38) goto L_02BC6CE8; else goto L_02BC6CD8;
|
|
L_02BC6CD8: ; // 0x2bc6cd8
|
|
/* 02BC6CD8 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6CD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC6CDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 02BC6CE0 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6CE0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BC6CE0 */ if (_t41) goto L_02BC6CE4; else goto L_02BC6CE8;
|
|
L_02BC6CE4: ; // 0x2bc6ce4
|
|
/* 02BC6CE4 */ cpu->r[26] = cpu->r[0];
|
|
L_02BC6CE8: ; // 0x2bc6ce8
|
|
/* 02BC6CE8 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC6CEC */ Gambit_fn_02BF8850(cpu);
|
|
/* 02BC6CF0 */ _t42 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC6CF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC6CF4 */ cpu->r[5] = cpu->r[26];
|
|
/* 02BC6CF8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC6CFC */ Gambit_fn_02BCC1F0(cpu);
|
|
L_02BC6D00: ; // 0x2bc6d00
|
|
/* 02BC6D00 */ /* nop */
|
|
/* 02BC6D04 */ _t43 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC6D04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC6D08 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6D0C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC6D10 */ return;
|
|
}
|
|
|
|
// fn_02BC6D14 @ 0x2bc6d14
|
|
void Gambit_fn_02BC6D14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_02BC6D14: ; // 0x2bc6d14
|
|
/* 02BC6D14 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC6D14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6D14 */ cpu->r[1] = _t0;
|
|
/* 02BC6D18 */ /* nop */
|
|
/* 02BC6D1C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6D20 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6D20 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC6D24 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC6D28 */ _t2 = cpu->r[11] + 0xFFFFB77Cu;
|
|
/* 02BC6D28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC6D2C */ _t3 = cpu->r[11] + 0x00000144u;
|
|
/* 02BC6D2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC6D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC6D34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6D34 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC6D34 */ if (_t5) goto L_02BC6E18; else goto L_02BC6D38;
|
|
L_02BC6D38: ; // 0x2bc6d38
|
|
/* 02BC6D38 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6D3C */ _t6 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC6D3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC6D40 */ _t7 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC6D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC6D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BC6D48 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6D48 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC6D48 */ if (_t9) goto L_02BC6E18; else goto L_02BC6D4C;
|
|
L_02BC6D4C: ; // 0x2bc6d4c
|
|
/* 02BC6D4C */ _t10 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC6D4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC6D50 */ cpu->r[8] = cpu->r[0] ^ cpu->r[11];
|
|
/* 02BC6D54 */ cpu->r[9] = rbrew_clz32(cpu->r[8]);
|
|
/* 02BC6D58 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC6D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC6D5C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6D5C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC6D5C */ if (_t12) goto L_02BC6E18; else goto L_02BC6D60;
|
|
L_02BC6D60: ; // 0x2bc6d60
|
|
/* 02BC6D60 */ _t13 = cpu->r[12] + 0x00000028u;
|
|
/* 02BC6D60 */ cpu->r[26] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC6D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BC6D68 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6D68 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC6D68 */ if (_t15) goto L_02BC6E18; else goto L_02BC6D6C;
|
|
L_02BC6D6C: ; // 0x2bc6d6c
|
|
/* 02BC6D6C */ _t16 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC6D6C */ cpu->r[27] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC6D70 */ _t17 = cpu->r[27] + 0x00000001u;
|
|
/* 02BC6D70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02BC6D74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02BC6D78 */ _t18 = cpu->r[4] + 0x00000004u;
|
|
/* 02BC6D78 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC6D7C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6D7C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC6D7C */ if (_t20) goto L_02BC6D80; else goto L_02BC6E18;
|
|
L_02BC6D80: ; // 0x2bc6d80
|
|
/* 02BC6D80 */ _t21 = cpu->r[4] + 0x00000008u;
|
|
/* 02BC6D80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC6D84 */ _t22 = cpu->r[27] + 0x00000002u;
|
|
/* 02BC6D84 */ cpu->r[29] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02BC6D88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 02BC6D8C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6D8C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC6D8C */ if (_t24) goto L_02BC6D90; else goto L_02BC6E18;
|
|
L_02BC6D90: ; // 0x2bc6d90
|
|
/* 02BC6D90 */ _t25 = cpu->r[27] + 0x0000000Du;
|
|
/* 02BC6D90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02BC6D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6D98 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6D98 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC6D98 */ if (_t27) goto L_02BC6D9C; else goto L_02BC6E18;
|
|
L_02BC6D9C: ; // 0x2bc6d9c
|
|
/* 02BC6D9C */ _t28 = cpu->r[27] + 0x0000000Eu;
|
|
/* 02BC6D9C */ cpu->r[7] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02BC6DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC6DA4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6DA4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC6DA4 */ if (_t30) goto L_02BC6DA8; else goto L_02BC6E18;
|
|
L_02BC6DA8: ; // 0x2bc6da8
|
|
/* 02BC6DA8 */ _t31 = cpu->r[27] + 0x0000000Fu;
|
|
/* 02BC6DA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02BC6DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6DB0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6DB0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC6DB0 */ if (_t33) goto L_02BC6DB4; else goto L_02BC6E18;
|
|
L_02BC6DB4: ; // 0x2bc6db4
|
|
/* 02BC6DB4 */ cpu->r[3] = cpu->r[27] + 0x00000004u;
|
|
/* 02BC6DB8 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6DBC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC6DC0 */ cpu->r[3] = cpu->r[27] + 0x00000008u;
|
|
/* 02BC6DC4 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6DC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC6DCC */ cpu->r[3] = cpu->r[26];
|
|
/* 02BC6DD0 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BC6DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6DD8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6DD8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC6DD8 */ if (_t35) goto L_02BC6DDC; else goto L_02BC6E04;
|
|
L_02BC6DDC: ; // 0x2bc6ddc
|
|
/* 02BC6DDC */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC6DE0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BC6DE4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC6DE8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BC6DEC */ Gambit_fn_02BD167C(cpu);
|
|
/* 02BC6DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6DF4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6DF4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BC6DF4 */ if (_t37) goto L_02BC6E18; else goto L_02BC6DF8;
|
|
L_02BC6DF8: ; // 0x2bc6df8
|
|
/* 02BC6DF8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BC6DFC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC6E00 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC6E04: ; // 0x2bc6e04
|
|
/* 02BC6E04 */ cpu->r[6] = cpu->r[28];
|
|
/* 02BC6E08 */ cpu->r[5] = cpu->r[27];
|
|
/* 02BC6E0C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC6E10 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BC6E14 */ Gambit_fn_02BD17A4(cpu);
|
|
L_02BC6E18: ; // 0x2bc6e18
|
|
/* 02BC6E18 */ /* nop */
|
|
/* 02BC6E1C */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6E1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC6E20 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6E24 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6E28 */ return;
|
|
}
|
|
|
|
// fn_02BC6E2C @ 0x2bc6e2c
|
|
void Gambit_fn_02BC6E2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_02BC6E2C: ; // 0x2bc6e2c
|
|
/* 02BC6E2C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC6E2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC6E2C */ cpu->r[1] = _t0;
|
|
/* 02BC6E30 */ /* nop */
|
|
/* 02BC6E34 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6E38 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6E38 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC6E3C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC6E40 */ _t2 = cpu->r[11] + 0xFFFFB77Cu;
|
|
/* 02BC6E40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC6E44 */ _t3 = cpu->r[11] + 0x00000144u;
|
|
/* 02BC6E44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC6E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC6E4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6E4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC6E4C */ if (_t5) goto L_02BC6F1C; else goto L_02BC6E50;
|
|
L_02BC6E50: ; // 0x2bc6e50
|
|
/* 02BC6E50 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6E54 */ _t6 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC6E54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC6E58 */ _t7 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC6E58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC6E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x0000001Fu);
|
|
/* 02BC6E60 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6E60 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC6E60 */ if (_t9) goto L_02BC6E78; else goto L_02BC6E64;
|
|
L_02BC6E64: ; // 0x2bc6e64
|
|
/* 02BC6E64 */ _t10 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC6E64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC6E68 */ cpu->r[0] = cpu->r[6] ^ cpu->r[8];
|
|
/* 02BC6E6C */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BC6E70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC6E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6E74 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6E74 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC6E74 */ if (_t12) goto L_02BC6E78; else goto L_02BC6F1C;
|
|
L_02BC6E78: ; // 0x2bc6e78
|
|
/* 02BC6E78 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02BC6E7C */ _t13 = cpu->r[10] + 0xFFFFB778u;
|
|
/* 02BC6E7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC6E80 */ _t14 = cpu->r[10] + 0x00000064u;
|
|
/* 02BC6E80 */ cpu->r[27] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC6E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BC6E88 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6E88 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC6E88 */ if (_t16) goto L_02BC6F1C; else goto L_02BC6E8C;
|
|
L_02BC6E8C: ; // 0x2bc6e8c
|
|
/* 02BC6E8C */ _t17 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC6E8C */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC6E90 */ _t18 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC6E90 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC6E94 */ _t19 = cpu->r[28] + 0x00000001u;
|
|
/* 02BC6E94 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BC6E98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02BC6E9C */ _t20 = cpu->r[4] + 0x00000004u;
|
|
/* 02BC6E9C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC6EA0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6EA0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC6EA0 */ if (_t22) goto L_02BC6EA4; else goto L_02BC6F1C;
|
|
L_02BC6EA4: ; // 0x2bc6ea4
|
|
/* 02BC6EA4 */ _t23 = cpu->r[28] + 0x00000002u;
|
|
/* 02BC6EA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02BC6EA8 */ _t24 = cpu->r[12] + 0x00000052u;
|
|
/* 02BC6EA8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02BC6EAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02BC6EB0 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6EB0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BC6EB0 */ if (_t26) goto L_02BC6F1C; else goto L_02BC6EB4;
|
|
L_02BC6EB4: ; // 0x2bc6eb4
|
|
/* 02BC6EB4 */ _t27 = cpu->r[28] + 0x00000003u;
|
|
/* 02BC6EB4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02BC6EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6EBC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6EBC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BC6EBC */ if (_t29) goto L_02BC6EC0; else goto L_02BC6F1C;
|
|
L_02BC6EC0: ; // 0x2bc6ec0
|
|
/* 02BC6EC0 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02BC6EC4 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6EC8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC6ECC */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02BC6ED0 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6ED4 */ _t30 = cpu->r[27] + 0x00000024u;
|
|
/* 02BC6ED4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC6ED8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC6EDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 02BC6EE0 */ _t31 = cpu->r[27] + 0x00000020u;
|
|
/* 02BC6EE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC6EE4 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6EE4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC6EE4 */ if (_t33) goto L_02BC6F1C; else goto L_02BC6EE8;
|
|
L_02BC6EE8: ; // 0x2bc6ee8
|
|
/* 02BC6EE8 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC6EE8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC6EE8 */ if (_t35) goto L_02BC6EF4; else goto L_02BC6EEC;
|
|
L_02BC6EEC: ; // 0x2bc6eec
|
|
/* 02BC6EEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02BC6EF0 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6EF0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BC6EF0 */ if (_t37) goto L_02BC6EF4; else goto L_02BC6F1C;
|
|
L_02BC6EF4: ; // 0x2bc6ef4
|
|
/* 02BC6EF4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC6EF8 */ cpu->r[6] = 0x10000000u;
|
|
/* 02BC6EFC */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC6F00 */ Gambit_fn_02BFCF44(cpu);
|
|
/* 02BC6F04 */ cpu->r[5] = cpu->r[29] + 0xFFFFFFF4u;
|
|
/* 02BC6F08 */ cpu->r[4] = cpu->r[28] + 0x0000000Cu;
|
|
/* 02BC6F0C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC6F10 */ Gambit_fn_02BFE2CC(cpu);
|
|
/* 02BC6F14 */ _t38 = cpu->r[27] + 0x00000020u;
|
|
/* 02BC6F14 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
|
|
/* 02BC6F18 */ _t39 = cpu->r[27] + 0x00000024u;
|
|
/* 02BC6F18 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
L_02BC6F1C: ; // 0x2bc6f1c
|
|
/* 02BC6F1C */ /* nop */
|
|
/* 02BC6F20 */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC6F24 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6F28 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6F2C */ return;
|
|
}
|
|
|
|
// fn_02BC6F30 @ 0x2bc6f30
|
|
void Gambit_fn_02BC6F30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507, _t508, _t509, _t510, _t511, _t512, _t513, _t514, _t515, _t516, _t517, _t518, _t519, _t520, _t521, _t522, _t523, _t524, _t525, _t526, _t527, _t528, _t529, _t530, _t531, _t532, _t533, _t534, _t535, _t536, _t537, _t538, _t539, _t540, _t541, _t542, _t543, _t544, _t545, _t546, _t547, _t548, _t549, _t550, _t551, _t552, _t553, _t554, _t555, _t556, _t557, _t558, _t559, _t560, _t561, _t562, _t563, _t564, _t565, _t566, _t567, _t568, _t569, _t570, _t571, _t572, _t573, _t574, _t575, _t576, _t577, _t578, _t579, _t580, _t581, _t582, _t583, _t584, _t585, _t586, _t587, _t588, _t589, _t590, _t591, _t592, _t593, _t594, _t595, _t596, _t597, _t598, _t599, _t600, _t601, _t602, _t603, _t604, _t605, _t606, _t607, _t608, _t609, _t610, _t611, _t612, _t613, _t614, _t615, _t616, _t617, _t618, _t619, _t620, _t621, _t622, _t623, _t624, _t625, _t626, _t627, _t628, _t629, _t630, _t631, _t632, _t633, _t634, _t635, _t636, _t637, _t638, _t639, _t640, _t641, _t642, _t643, _t644, _t645, _t646, _t647, _t648, _t649, _t650, _t651, _t652, _t653, _t654, _t655, _t656, _t657, _t658, _t659, _t660, _t661, _t662, _t663, _t664, _t665, _t666, _t667, _t668, _t669, _t670, _t671, _t672, _t673, _t674, _t675, _t676, _t677, _t678, _t679, _t680, _t681, _t682, _t683, _t684, _t685, _t686, _t687, _t688, _t689, _t690, _t691, _t692, _t693, _t694, _t695, _t696, _t697, _t698, _t699, _t700, _t701, _t702, _t703, _t704, _t705, _t706, _t707, _t708, _t709, _t710, _t711, _t712, _t713, _t714, _t715, _t716, _t717, _t718, _t719, _t720, _t721, _t722, _t723, _t724, _t725, _t726, _t727, _t728, _t729, _t730, _t731, _t732, _t733, _t734, _t735;
|
|
|
|
L_02BC5840: ; // 0x2bc5840
|
|
/* 02BC5840 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BC5840 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC5840 */ cpu->r[1] = _t0;
|
|
/* 02BC5844 */ /* nop */
|
|
/* 02BC5848 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC584C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC584C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC5850 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC5854 */ _t2 = cpu->r[29] + 0xFFFFB77Cu;
|
|
/* 02BC5854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC5854 */ cpu->r[29] = _t2;
|
|
/* 02BC5858 */ _t3 = cpu->r[10] + 0x00000144u;
|
|
/* 02BC5858 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC585C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC5860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC5864 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC5868 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5868 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC5868 */ if (_t5) goto L_02BC599C; else goto L_02BC586C;
|
|
L_02BC586C: ; // 0x2bc586c
|
|
/* 02BC586C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC586C */ cpu->r[26] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC5870 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC5874 */ _t7 = cpu->r[3] + 0xFFFFB794u;
|
|
/* 02BC5874 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC5878 */ cpu->r[4] = cpu->r[26];
|
|
/* 02BC587C */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC587C */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC5880 */ Gambit_fn_02BF84BC(cpu);
|
|
/* 02BC5884 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BC5888 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC588C */ Gambit_fn_02BC5838(cpu);
|
|
/* 02BC5890 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC5890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BC5894 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5894 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC5894 */ if (_t10) goto L_02BC599C; else goto L_02BC5898;
|
|
L_02BC5898: ; // 0x2bc5898
|
|
/* 02BC5898 */ _t11 = cpu->r[28] + 0x00000080u;
|
|
/* 02BC5898 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02BC589C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02BC58A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC58A4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC58A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC58A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC58A8 */ if (_t13) goto L_02BC58CC; else goto L_02BC58AC;
|
|
L_02BC58AC: ; // 0x2bc58ac
|
|
/* 02BC58AC */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC58B0 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BC58B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02BC58B8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC58B8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC58B8 */ if (_t15) goto L_02BC5900; else goto L_02BC58BC;
|
|
L_02BC58BC: ; // 0x2bc58bc
|
|
/* 02BC58BC */ _t16 = cpu->r[28] + 0x00000080u;
|
|
/* 02BC58BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02BC58C0 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02BC58C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC58C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC58C8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC58C8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC58C8 */ if (_t18) goto L_02BC58CC; else goto L_02BC599C;
|
|
L_02BC58CC: ; // 0x2bc58cc
|
|
/* 02BC58CC */ _t19 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BC58CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC58D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 02BC58D4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC58D4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC58D4 */ if (_t21) goto L_02BC58D8; else goto L_02BC599C;
|
|
L_02BC58D8: ; // 0x2bc58d8
|
|
/* 02BC58D8 */ _t22 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC58D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC58DC */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC58E0 */ _t23 = cpu->r[9] + 0x0000004Cu;
|
|
/* 02BC58E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC58E4 */ cpu->r[5] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC58E8 */ Gambit_fn_02BF88F0(cpu);
|
|
/* 02BC58EC */ /* nop */
|
|
/* 02BC58F0 */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC58F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC58F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC58F8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC58FC */ return;
|
|
L_02BC5900: ; // 0x2bc5900
|
|
/* 02BC5900 */ cpu->r[4] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC5904 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5908 */ Gambit_fn_02B6A76C(cpu);
|
|
/* 02BC590C */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC590C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC5910 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5914 */ _t26 = cpu->r[31] + 0x0000000Bu;
|
|
/* 02BC5914 */ cpu->r[31] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02BC5918 */ Gambit_fn_02BEDCB0(cpu);
|
|
/* 02BC591C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5920 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5920 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC5920 */ if (_t28) goto L_02BC593C; else goto L_02BC5924;
|
|
L_02BC5924: ; // 0x2bc5924
|
|
/* 02BC5924 */ _t29 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC5924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC5928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FDu);
|
|
/* 02BC592C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC592C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC592C */ if (_t31) goto L_02BC5930; else goto L_02BC593C;
|
|
L_02BC5930: ; // 0x2bc5930
|
|
/* 02BC5930 */ _t32 = cpu->r[26] + 0x00000001u;
|
|
/* 02BC5930 */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02BC5934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FDu);
|
|
/* 02BC5938 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5938 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC5938 */ if (_t34) goto L_02BC595C; else goto L_02BC593C;
|
|
L_02BC593C: ; // 0x2bc593c
|
|
/* 02BC593C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5940 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC5944 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BC5948 */ /* nop */
|
|
/* 02BC594C */ _t35 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC594C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC5950 */ cpu->lr = cpu->r[0];
|
|
/* 02BC5954 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC5958 */ return;
|
|
L_02BC595C: ; // 0x2bc595c
|
|
/* 02BC595C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC5960 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC5964 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5968 */ Gambit_fn_02BCD464(cpu);
|
|
/* 02BC596C */ _t36 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BC596C */ rbrew_write32(cpu->mem, _t36, cpu->r[27]);
|
|
/* 02BC5970 */ _t37 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC5970 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC5974 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC5978 */ _t38 = cpu->r[7] + 0x0000004Cu;
|
|
/* 02BC5978 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC597C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5980 */ Gambit_fn_02BF88F0(cpu);
|
|
/* 02BC5984 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC5988 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC598C */ Gambit_fn_02B6D6B8(cpu);
|
|
/* 02BC5990 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5994 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC5998 */ Gambit_fn_02B67E5C(cpu);
|
|
L_02BC599C: ; // 0x2bc599c
|
|
/* 02BC599C */ /* nop */
|
|
/* 02BC59A0 */ _t39 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC59A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC59A4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC59A8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC59AC */ return;
|
|
L_02BC59B8: ; // 0x2bc59b8
|
|
/* 02BC59B8 */ _t40 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC59B8 */ rbrew_write32(cpu->mem, _t40, cpu->r[1]);
|
|
/* 02BC59B8 */ cpu->r[1] = _t40;
|
|
/* 02BC59BC */ /* nop */
|
|
/* 02BC59C0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC59C4 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC59C4 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02BC59C8 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BC59CC */ _t42 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC59CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC59CC */ cpu->r[28] = _t42;
|
|
/* 02BC59D0 */ _t43 = cpu->r[10] + 0x00000144u;
|
|
/* 02BC59D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC59D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC59D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC59DC */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC59E0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC59E0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BC59E0 */ if (_t45) goto L_02BC5A98; else goto L_02BC59E4;
|
|
L_02BC59E4: ; // 0x2bc59e4
|
|
/* 02BC59E4 */ _t46 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC59E4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC59E8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC59EC */ _t47 = cpu->r[3] + 0xFFFFB794u;
|
|
/* 02BC59EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC59F0 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC59F4 */ _t48 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC59F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC59F8 */ Gambit_fn_02BF84BC(cpu);
|
|
/* 02BC59FC */ cpu->r[27] = cpu->r[3];
|
|
/* 02BC5A00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5A04 */ Gambit_fn_02BC59B0(cpu);
|
|
/* 02BC5A08 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC5A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BC5A0C */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BC5A10 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5A10 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BC5A10 */ if (_t50) goto L_02BC5A14; else goto L_02BC5A2C;
|
|
L_02BC5A14: ; // 0x2bc5a14
|
|
/* 02BC5A14 */ _t51 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BC5A14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC5A18 */ cpu->r[5] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BC5A1C */ _t52 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02BC5A1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC5A20 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC5A24 */ Gambit_fn_02BF88F0(cpu);
|
|
/* 02BC5A28 */ goto L_02BC5A98;
|
|
L_02BC5A2C: ; // 0x2bc5a2c
|
|
/* 02BC5A2C */ _t53 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BC5A2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02BC5A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC5A34 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5A34 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BC5A34 */ if (_t55) goto L_02BC5A98; else goto L_02BC5A38;
|
|
L_02BC5A38: ; // 0x2bc5a38
|
|
/* 02BC5A38 */ _t56 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BC5A38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BC5A3C */ _t57 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC5A3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BC5A40 */ _t58 = cpu->r[9] + 0x00000058u;
|
|
/* 02BC5A40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BC5A44 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC5A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5A4C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5A4C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BC5A4C */ if (_t60) goto L_02BC5A98; else goto L_02BC5A50;
|
|
L_02BC5A50: ; // 0x2bc5a50
|
|
/* 02BC5A50 */ cpu->r[31] = cpu->r[3] + 0x00000004u;
|
|
/* 02BC5A54 */ cpu->r[4] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BC5A58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5A5C */ Gambit_fn_02B6A9F4(cpu);
|
|
/* 02BC5A60 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02BC5A64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC5A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC5A68 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5A68 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BC5A68 */ if (_t62) goto L_02BC5A6C; else goto L_02BC5A98;
|
|
L_02BC5A6C: ; // 0x2bc5a6c
|
|
/* 02BC5A6C */ _t63 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC5A6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BC5A70 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC5A74 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC5A78 */ Gambit_fn_02BBA8E0(cpu);
|
|
/* 02BC5A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5A80 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5A80 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BC5A80 */ if (_t65) goto L_02BC5A98; else goto L_02BC5A84;
|
|
L_02BC5A84: ; // 0x2bc5a84
|
|
/* 02BC5A84 */ _t66 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BC5A84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BC5A88 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC5A8C */ _t67 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02BC5A8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BC5A90 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC5A94 */ Gambit_fn_02BF88F0(cpu);
|
|
L_02BC5A98: ; // 0x2bc5a98
|
|
/* 02BC5A98 */ /* nop */
|
|
/* 02BC5A9C */ _t68 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC5A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BC5AA0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC5AA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC5AA8 */ return;
|
|
L_02BC5F38: ; // 0x2bc5f38
|
|
/* 02BC5F38 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC5F3C */ _t69 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BC5F3C */ rbrew_write32(cpu->mem, _t69, cpu->r[1]);
|
|
/* 02BC5F3C */ cpu->r[1] = _t69;
|
|
/* 02BC5F40 */ _t70 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC5F40 */ rbrew_write32(cpu->mem, _t70, cpu->r[29]);
|
|
/* 02BC5F44 */ _t71 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC5F44 */ rbrew_write32(cpu->mem, _t71, cpu->r[30]);
|
|
/* 02BC5F48 */ _t72 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC5F48 */ rbrew_write32(cpu->mem, _t72, cpu->r[28]);
|
|
/* 02BC5F4C */ _t73 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC5F4C */ rbrew_write32(cpu->mem, _t73, cpu->r[31]);
|
|
/* 02BC5F50 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BC5F54 */ _t74 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC5F54 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 02BC5F58 */ _t75 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC5F58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BC5F58 */ cpu->r[28] = _t75;
|
|
/* 02BC5F5C */ _t76 = cpu->r[9] + 0x00000144u;
|
|
/* 02BC5F5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BC5F60 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC5F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC5F68 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC5F6C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5F6C */ _t78 = _t77 & 0x00000001u;
|
|
/* 02BC5F6C */ if (_t78) goto L_02BC603C; else goto L_02BC5F70;
|
|
L_02BC5F70: ; // 0x2bc5f70
|
|
/* 02BC5F70 */ _t79 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5F70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BC5F74 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5F78 */ Gambit_fn_02B6A710(cpu);
|
|
/* 02BC5F7C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5F80 */ cpu->r[4] = cpu->r[29] + 0x00000004u;
|
|
/* 02BC5F84 */ Gambit_fn_02B6A91C(cpu);
|
|
/* 02BC5F88 */ _t80 = cpu->r[29] + 0x00000001u;
|
|
/* 02BC5F88 */ cpu->r[29] = rbrew_read8(cpu->mem, _t80);
|
|
/* 02BC5F8C */ _t81 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC5F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BC5F90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BC5F94 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5F94 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02BC5F94 */ if (_t83) goto L_02BC5F98; else goto L_02BC6030;
|
|
L_02BC5F98: ; // 0x2bc5f98
|
|
/* 02BC5F98 */ _t84 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC5F98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BC5F9C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC5FA0 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC5FA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC5FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC5FA8 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5FA8 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02BC5FA8 */ if (_t86) goto L_02BC6030; else goto L_02BC5FAC;
|
|
L_02BC5FAC: ; // 0x2bc5fac
|
|
/* 02BC5FAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC5FB0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC5FB4 */ Gambit_fn_02BC5AAC(cpu);
|
|
/* 02BC5FB8 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BC5FBC */ _t87 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BC5FBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BC5FBC */ cpu->r[28] = _t87;
|
|
/* 02BC5FC0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC5FC4 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BC5FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5FCC */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5FCC */ _t89 = _t88 & 0x00000001u;
|
|
/* 02BC5FCC */ if (_t89) goto L_02BC5FEC; else goto L_02BC5FD0;
|
|
L_02BC5FD0: ; // 0x2bc5fd0
|
|
/* 02BC5FD0 */ _t90 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC5FD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BC5FD4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC5FD8 */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BC5FDC */ _t91 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC5FDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BC5FE0 */ _t92 = cpu->r[12] + 0x00000050u;
|
|
/* 02BC5FE0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t92);
|
|
/* 02BC5FE4 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02BC5FE8 */ _t93 = cpu->r[12] + 0x00000050u;
|
|
/* 02BC5FE8 */ rbrew_write16(cpu->mem, _t93, (uint16_t)cpu->r[7]);
|
|
L_02BC5FEC: ; // 0x2bc5fec
|
|
/* 02BC5FEC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC5FF0 */ _t94 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BC5FF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BC5FF4 */ _t95 = cpu->r[12] + 0x00000064u;
|
|
/* 02BC5FF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BC5FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5FFC */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5FFC */ _t97 = _t96 & 0x00000001u;
|
|
/* 02BC5FFC */ if (_t97) goto L_02BC6010; else goto L_02BC6000;
|
|
L_02BC6000: ; // 0x2bc6000
|
|
/* 02BC6000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BC6004 */ _t98 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6004 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02BC6004 */ if (_t99) goto L_02BC6010; else goto L_02BC6008;
|
|
L_02BC6008: ; // 0x2bc6008
|
|
/* 02BC6008 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC600C */ Gambit_fn_02BF9BC8(cpu);
|
|
L_02BC6010: ; // 0x2bc6010
|
|
/* 02BC6010 */ cpu->r[8] = 0x00000006u;
|
|
/* 02BC6014 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6018 */ cpu->r[4] = 0x000000FDu;
|
|
/* 02BC601C */ _t100 = cpu->r[31] + 0x00000024u;
|
|
/* 02BC601C */ rbrew_write32(cpu->mem, _t100, cpu->r[8]);
|
|
/* 02BC6020 */ Gambit_fn_02BF069C(cpu);
|
|
/* 02BC6024 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC6028 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC602C */ Gambit_fn_02BC5C08(cpu);
|
|
L_02BC6030: ; // 0x2bc6030
|
|
/* 02BC6030 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6034 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC6038 */ Gambit_fn_02B67E5C(cpu);
|
|
L_02BC603C: ; // 0x2bc603c
|
|
/* 02BC603C */ _t101 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC603C */ cpu->r[28] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BC6040 */ _t102 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6040 */ cpu->r[29] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BC6044 */ _t103 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC6044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BC6048 */ _t104 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC6048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02BC604C */ cpu->lr = cpu->r[0];
|
|
/* 02BC6050 */ _t105 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC6050 */ cpu->r[31] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02BC6054 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC6058 */ return;
|
|
L_02BC6064: ; // 0x2bc6064
|
|
/* 02BC6064 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6068 */ _t106 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC6068 */ rbrew_write32(cpu->mem, _t106, cpu->r[1]);
|
|
/* 02BC6068 */ cpu->r[1] = _t106;
|
|
/* 02BC606C */ _t107 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC606C */ rbrew_write32(cpu->mem, _t107, cpu->r[29]);
|
|
/* 02BC6070 */ _t108 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6070 */ rbrew_write32(cpu->mem, _t108, cpu->r[30]);
|
|
/* 02BC6074 */ _t109 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6074 */ rbrew_write32(cpu->mem, _t109, cpu->r[31]);
|
|
/* 02BC6078 */ _t110 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC6078 */ rbrew_write32(cpu->mem, _t110, cpu->r[0]);
|
|
/* 02BC607C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC6080 */ _t111 = cpu->r[29] + 0xFFFFB77Cu;
|
|
/* 02BC6080 */ cpu->r[9] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BC6080 */ cpu->r[29] = _t111;
|
|
/* 02BC6084 */ _t112 = cpu->r[9] + 0x00000144u;
|
|
/* 02BC6084 */ cpu->r[10] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02BC6088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC608C */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC608C */ _t114 = _t113 & 0x00000001u;
|
|
/* 02BC608C */ if (_t114) goto L_02BC6100; else goto L_02BC6090;
|
|
L_02BC6090: ; // 0x2bc6090
|
|
/* 02BC6090 */ _t115 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC6090 */ cpu->r[31] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02BC6094 */ Gambit_fn_02BC605C(cpu);
|
|
/* 02BC6098 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC6098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC609C */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC609C */ _t117 = _t116 & 0x00000001u;
|
|
/* 02BC609C */ if (_t117) goto L_02BC6100; else goto L_02BC60A0;
|
|
L_02BC60A0: ; // 0x2bc60a0
|
|
/* 02BC60A0 */ _t118 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC60A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t118);
|
|
/* 02BC60A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC60A8 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC60A8 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02BC60A8 */ if (_t120) goto L_02BC6100; else goto L_02BC60AC;
|
|
L_02BC60AC: ; // 0x2bc60ac
|
|
/* 02BC60AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC60B0 */ Gambit_fn_02B6A710(cpu);
|
|
/* 02BC60B4 */ cpu->r[4] = cpu->r[31] + 0x00000004u;
|
|
/* 02BC60B8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC60BC */ Gambit_fn_02B6A91C(cpu);
|
|
/* 02BC60C0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC60C4 */ _t121 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC60C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02BC60C8 */ _t122 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC60C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02BC60CC */ _t123 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC60CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BC60D0 */ _t124 = cpu->r[31] + 0x00000001u;
|
|
/* 02BC60D0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02BC60D4 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC60D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC60DC */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC60DC */ _t126 = _t125 & 0x00000001u;
|
|
/* 02BC60DC */ if (_t126) goto L_02BC60F4; else goto L_02BC60E0;
|
|
L_02BC60E0: ; // 0x2bc60e0
|
|
/* 02BC60E0 */ _t127 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC60E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02BC60E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02BC60E8 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC60E8 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02BC60E8 */ if (_t129) goto L_02BC60EC; else goto L_02BC60F4;
|
|
L_02BC60EC: ; // 0x2bc60ec
|
|
/* 02BC60EC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC60F0 */ _t130 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC60F0 */ rbrew_write8(cpu->mem, _t130, (uint8_t)cpu->r[0]);
|
|
L_02BC60F4: ; // 0x2bc60f4
|
|
/* 02BC60F4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC60F8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC60FC */ Gambit_fn_02B67E5C(cpu);
|
|
L_02BC6100: ; // 0x2bc6100
|
|
/* 02BC6100 */ _t131 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6100 */ cpu->r[29] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02BC6104 */ _t132 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC6104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02BC6108 */ _t133 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6108 */ cpu->r[30] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02BC610C */ cpu->lr = cpu->r[0];
|
|
/* 02BC6110 */ _t134 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6110 */ cpu->r[31] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02BC6114 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC6118 */ return;
|
|
L_02BC611C: ; // 0x2bc611c
|
|
/* 02BC611C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6120 */ _t135 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC6120 */ rbrew_write32(cpu->mem, _t135, cpu->r[1]);
|
|
/* 02BC6120 */ cpu->r[1] = _t135;
|
|
/* 02BC6124 */ _t136 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6124 */ rbrew_write32(cpu->mem, _t136, cpu->r[29]);
|
|
/* 02BC6128 */ _t137 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6128 */ rbrew_write32(cpu->mem, _t137, cpu->r[31]);
|
|
/* 02BC612C */ _t138 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC612C */ rbrew_write32(cpu->mem, _t138, cpu->r[30]);
|
|
/* 02BC6130 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC6134 */ _t139 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC6134 */ rbrew_write32(cpu->mem, _t139, cpu->r[0]);
|
|
/* 02BC6138 */ _t140 = cpu->r[31] + 0xFFFFB77Cu;
|
|
/* 02BC6138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02BC6138 */ cpu->r[31] = _t140;
|
|
/* 02BC613C */ _t141 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC613C */ cpu->r[0] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02BC6140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6144 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6144 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02BC6144 */ if (_t143) goto L_02BC61F4; else goto L_02BC6148;
|
|
L_02BC6148: ; // 0x2bc6148
|
|
/* 02BC6148 */ _t144 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC6148 */ cpu->r[29] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02BC614C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6150 */ Gambit_fn_02B6A710(cpu);
|
|
/* 02BC6154 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6158 */ cpu->r[4] = cpu->r[29] + 0x00000004u;
|
|
/* 02BC615C */ Gambit_fn_02B6A91C(cpu);
|
|
/* 02BC6160 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC6164 */ _t145 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC6164 */ cpu->r[11] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02BC6164 */ cpu->r[30] = _t145;
|
|
/* 02BC6168 */ _t146 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC6168 */ cpu->r[3] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02BC616C */ _t147 = cpu->r[11] + 0x00000058u;
|
|
/* 02BC616C */ cpu->r[4] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02BC6170 */ _t148 = cpu->r[29] + 0x00000001u;
|
|
/* 02BC6170 */ cpu->r[31] = rbrew_read8(cpu->mem, _t148);
|
|
/* 02BC6174 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC6178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC617C */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC617C */ _t150 = _t149 & 0x00000001u;
|
|
/* 02BC617C */ if (_t150) goto L_02BC6180; else goto L_02BC61B8;
|
|
L_02BC6180: ; // 0x2bc6180
|
|
/* 02BC6180 */ _t151 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6180 */ cpu->r[9] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02BC6184 */ _t152 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02BC6184 */ cpu->r[12] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02BC6188 */ _t153 = cpu->r[12] + 0x0000006Eu;
|
|
/* 02BC6188 */ cpu->r[0] = rbrew_read8(cpu->mem, _t153);
|
|
/* 02BC618C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6190 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6190 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02BC6190 */ if (_t155) goto L_02BC61E8; else goto L_02BC6194;
|
|
L_02BC6194: ; // 0x2bc6194
|
|
/* 02BC6194 */ _t156 = cpu->r[9] + 0x00000018u;
|
|
/* 02BC6194 */ cpu->r[31] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02BC6198 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC619C */ Gambit_fn_02BC9F7C(cpu);
|
|
/* 02BC61A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC61A4 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC61A4 */ _t158 = _t157 & 0x00000001u;
|
|
/* 02BC61A4 */ if (_t158) goto L_02BC61E8; else goto L_02BC61A8;
|
|
L_02BC61A8: ; // 0x2bc61a8
|
|
/* 02BC61A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC61AC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC61B0 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BC61B4 */ goto L_02BC61E8;
|
|
L_02BC61B8: ; // 0x2bc61b8
|
|
/* 02BC61B8 */ _t159 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC61B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02BC61BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02BC61C0 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC61C0 */ _t161 = _t160 & 0x00000001u;
|
|
/* 02BC61C0 */ if (_t161) goto L_02BC61C4; else goto L_02BC61E8;
|
|
L_02BC61C4: ; // 0x2bc61c4
|
|
/* 02BC61C4 */ _t162 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC61C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02BC61C8 */ _t163 = cpu->r[11] + 0x00000018u;
|
|
/* 02BC61C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02BC61CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC61D0 */ Gambit_fn_02BC9F7C(cpu);
|
|
/* 02BC61D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC61D8 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC61D8 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02BC61D8 */ if (_t165) goto L_02BC61E8; else goto L_02BC61DC;
|
|
L_02BC61DC: ; // 0x2bc61dc
|
|
/* 02BC61DC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC61E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC61E4 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC61E8: ; // 0x2bc61e8
|
|
/* 02BC61E8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC61EC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC61F0 */ Gambit_fn_02B67E5C(cpu);
|
|
L_02BC61F4: ; // 0x2bc61f4
|
|
/* 02BC61F4 */ _t166 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC61F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02BC61F8 */ _t167 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC61F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02BC61FC */ _t168 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC61FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02BC6200 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6204 */ _t169 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02BC6208 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC620C */ return;
|
|
L_02BC6210: ; // 0x2bc6210
|
|
/* 02BC6210 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC6214 */ _t170 = cpu->r[11] + 0xFFFFB77Cu;
|
|
/* 02BC6214 */ cpu->r[11] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02BC6218 */ _t171 = cpu->r[11] + 0x00000144u;
|
|
/* 02BC6218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02BC621C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6220 */ _t172 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6220 */ _t173 = _t172 & 0x00000001u;
|
|
/* 02BC6220 */ if (_t173) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC6220 */ goto L_02BC6224;
|
|
L_02BC6224: ; // 0x2bc6224
|
|
/* 02BC6224 */ _t174 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC6224 */ cpu->r[12] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02BC6228 */ _t175 = cpu->r[4] + 0x00000008u;
|
|
/* 02BC6228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02BC622C */ _t176 = cpu->r[12] + 0x00000001u;
|
|
/* 02BC622C */ cpu->r[4] = rbrew_read8(cpu->mem, _t176);
|
|
/* 02BC6230 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02BC6234 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6234 */ _t178 = _t177 & 0x00000001u;
|
|
/* 02BC6234 */ _t179 = _t178 ^ 0x00000001u;
|
|
/* 02BC6234 */ if (_t179) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC6234 */ goto L_02BC6238;
|
|
L_02BC6238: ; // 0x2bc6238
|
|
/* 02BC6238 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC623C */ _t180 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC623C */ cpu->r[12] = rbrew_read32(cpu->mem, _t180);
|
|
/* 02BC6240 */ _t181 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC6240 */ cpu->r[3] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02BC6244 */ _t182 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC6244 */ cpu->r[11] = rbrew_read8(cpu->mem, _t182);
|
|
/* 02BC6248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC624C */ _t183 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC624C */ _t184 = _t183 & 0x00000001u;
|
|
/* 02BC624C */ if (_t184) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC624C */ goto L_02BC6250;
|
|
L_02BC6250: ; // 0x2bc6250
|
|
/* 02BC6250 */ goto L_02BE2FF4;
|
|
L_02BC6254: ; // 0x2bc6254
|
|
/* 02BC6254 */ _t185 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC6254 */ rbrew_write32(cpu->mem, _t185, cpu->r[1]);
|
|
/* 02BC6254 */ cpu->r[1] = _t185;
|
|
/* 02BC6258 */ /* nop */
|
|
/* 02BC625C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6260 */ _t186 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC6260 */ rbrew_write32(cpu->mem, _t186, cpu->r[0]);
|
|
/* 02BC6264 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC6268 */ _t187 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BC6268 */ cpu->r[11] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02BC6268 */ cpu->r[30] = _t187;
|
|
/* 02BC626C */ _t188 = cpu->r[11] + 0x00000144u;
|
|
/* 02BC626C */ cpu->r[12] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02BC6270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC6274 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC6278 */ _t189 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6278 */ _t190 = _t189 & 0x00000001u;
|
|
/* 02BC6278 */ if (_t190) goto L_02BC63E0; else goto L_02BC627C;
|
|
L_02BC627C: ; // 0x2bc627c
|
|
/* 02BC627C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC6280 */ _t191 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BC6280 */ cpu->r[9] = rbrew_read32(cpu->mem, _t191);
|
|
/* 02BC6280 */ cpu->r[29] = _t191;
|
|
/* 02BC6284 */ _t192 = cpu->r[9] + 0x00000008u;
|
|
/* 02BC6284 */ cpu->r[3] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02BC6288 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BC628C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6290 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6290 */ _t194 = _t193 & 0x00000001u;
|
|
/* 02BC6290 */ if (_t194) goto L_02BC6294; else goto L_02BC63E0;
|
|
L_02BC6294: ; // 0x2bc6294
|
|
/* 02BC6294 */ _t195 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC6294 */ cpu->r[7] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02BC6298 */ _t196 = cpu->r[7] + 0x00000018u;
|
|
/* 02BC6298 */ cpu->r[8] = rbrew_read32(cpu->mem, _t196);
|
|
/* 02BC629C */ _t197 = cpu->r[8] + 0x0000004Cu;
|
|
/* 02BC629C */ cpu->r[0] = rbrew_read8(cpu->mem, _t197);
|
|
/* 02BC62A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC62A4 */ _t198 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC62A4 */ _t199 = _t198 & 0x00000001u;
|
|
/* 02BC62A4 */ if (_t199) goto L_02BC62A8; else goto L_02BC63E0;
|
|
L_02BC62A8: ; // 0x2bc62a8
|
|
/* 02BC62A8 */ _t200 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC62A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02BC62AC */ _t201 = cpu->r[7] + 0x00000058u;
|
|
/* 02BC62AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02BC62B0 */ _t202 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC62B0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t202);
|
|
/* 02BC62B4 */ _t203 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC62B4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t203);
|
|
/* 02BC62B8 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC62BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC62C0 */ _t204 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC62C0 */ _t205 = _t204 & 0x00000001u;
|
|
/* 02BC62C0 */ if (_t205) goto L_02BC62DC; else goto L_02BC62C4;
|
|
L_02BC62C4: ; // 0x2bc62c4
|
|
/* 02BC62C4 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02BC62C8 */ cpu->r[4] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC62CC */ Gambit_fn_02B6A9F4(cpu);
|
|
/* 02BC62D0 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02BC62D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC62D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC62D8 */ _t206 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC62D8 */ _t207 = _t206 & 0x00000001u;
|
|
/* 02BC62D8 */ if (_t207) goto L_02BC6328; else goto L_02BC62DC;
|
|
L_02BC62DC: ; // 0x2bc62dc
|
|
/* 02BC62DC */ _t208 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC62DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02BC62E0 */ _t209 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC62E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t209);
|
|
/* 02BC62E4 */ _t210 = cpu->r[12] + 0x0000006Eu;
|
|
/* 02BC62E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t210);
|
|
/* 02BC62E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC62EC */ _t211 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC62EC */ _t212 = _t211 & 0x00000001u;
|
|
/* 02BC62EC */ if (_t212) goto L_02BC630C; else goto L_02BC62F0;
|
|
L_02BC62F0: ; // 0x2bc62f0
|
|
/* 02BC62F0 */ cpu->r[4] = 0x00000009u;
|
|
/* 02BC62F4 */ Gambit_fn_02BC4BD0(cpu);
|
|
/* 02BC62F8 */ /* nop */
|
|
/* 02BC62FC */ _t213 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC62FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02BC6300 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6304 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC6308 */ return;
|
|
L_02BC630C: ; // 0x2bc630c
|
|
/* 02BC630C */ cpu->r[4] = 0x00000006u;
|
|
/* 02BC6310 */ Gambit_fn_02BC4BD0(cpu);
|
|
/* 02BC6314 */ /* nop */
|
|
/* 02BC6318 */ _t214 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC6318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02BC631C */ cpu->lr = cpu->r[0];
|
|
/* 02BC6320 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC6324 */ return;
|
|
L_02BC6328: ; // 0x2bc6328
|
|
/* 02BC6328 */ _t215 = cpu->r[25] + 0x00000001u;
|
|
/* 02BC6328 */ cpu->r[27] = rbrew_read8(cpu->mem, _t215);
|
|
/* 02BC632C */ cpu->r[3] = cpu->r[25] + 0x00000004u;
|
|
/* 02BC6330 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC6334 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6338 */ _t216 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC6338 */ cpu->r[7] = rbrew_read32(cpu->mem, _t216);
|
|
/* 02BC633C */ _t217 = cpu->r[7] + 0x00000078u;
|
|
/* 02BC633C */ cpu->r[0] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02BC6340 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC6344 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02BC6348 */ _t218 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6348 */ _t219 = _t218 & 0x00000001u;
|
|
/* 02BC6348 */ if (_t219) goto L_02BC63E0; else goto L_02BC634C;
|
|
L_02BC634C: ; // 0x2bc634c
|
|
/* 02BC634C */ _t220 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC634C */ _t221 = _t220 & 0x00000001u;
|
|
/* 02BC634C */ if (_t221) goto L_02BC6368; else goto L_02BC6350;
|
|
L_02BC6350: ; // 0x2bc6350
|
|
/* 02BC6350 */ _t222 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6350 */ cpu->r[3] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02BC6354 */ Gambit_fn_02BF31E0(cpu);
|
|
/* 02BC6358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[3]);
|
|
/* 02BC635C */ _t223 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC635C */ _t224 = _t223 & 0x00000001u;
|
|
/* 02BC635C */ if (_t224) goto L_02BC63E0; else goto L_02BC6360;
|
|
L_02BC6360: ; // 0x2bc6360
|
|
/* 02BC6360 */ _t225 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC6360 */ cpu->r[7] = rbrew_read32(cpu->mem, _t225);
|
|
/* 02BC6364 */ cpu->r[31] = 0x00000001u;
|
|
L_02BC6368: ; // 0x2bc6368
|
|
/* 02BC6368 */ _t226 = cpu->r[7] + 0x00000010u;
|
|
/* 02BC6368 */ cpu->r[30] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02BC636C */ _t227 = cpu->r[30] + 0x000000BCu;
|
|
/* 02BC636C */ cpu->r[6] = rbrew_read8(cpu->mem, _t227);
|
|
/* 02BC6370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC6374 */ _t228 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6374 */ _t229 = _t228 & 0x00000001u;
|
|
/* 02BC6374 */ if (_t229) goto L_02BC6378; else goto L_02BC63B0;
|
|
L_02BC6378: ; // 0x2bc6378
|
|
/* 02BC6378 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC637C */ cpu->r[5] = cpu->r[26];
|
|
/* 02BC6380 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC6384 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC6388 */ Gambit_fn_02BCE9D0(cpu);
|
|
/* 02BC638C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC6390 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000004u);
|
|
/* 02BC6394 */ _t230 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6394 */ _t231 = _t230 & 0x00000001u;
|
|
/* 02BC6394 */ if (_t231) goto L_02BC6398; else goto L_02BC63D0;
|
|
L_02BC6398: ; // 0x2bc6398
|
|
/* 02BC6398 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC639C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC63A0 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BC63A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u);
|
|
/* 02BC63A8 */ _t232 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC63A8 */ _t233 = _t232 & 0x00000001u;
|
|
/* 02BC63A8 */ if (_t233) goto L_02BC63AC; else goto L_02BC63E0;
|
|
L_02BC63AC: ; // 0x2bc63ac
|
|
/* 02BC63AC */ goto L_02BC63D8;
|
|
L_02BC63B0: ; // 0x2bc63b0
|
|
/* 02BC63B0 */ _t234 = cpu->r[30] + 0x000000B8u;
|
|
/* 02BC63B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t234);
|
|
/* 02BC63B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02BC63B8 */ _t235 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC63B8 */ _t236 = _t235 & 0x00000001u;
|
|
/* 02BC63B8 */ if (_t236) goto L_02BC63BC; else goto L_02BC63E0;
|
|
L_02BC63BC: ; // 0x2bc63bc
|
|
/* 02BC63BC */ cpu->r[5] = cpu->r[26];
|
|
/* 02BC63C0 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC63C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC63C8 */ Gambit_fn_02BD0CDC(cpu);
|
|
/* 02BC63CC */ cpu->r[31] = cpu->r[3];
|
|
L_02BC63D0: ; // 0x2bc63d0
|
|
/* 02BC63D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u);
|
|
/* 02BC63D4 */ _t237 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC63D4 */ _t238 = _t237 & 0x00000001u;
|
|
/* 02BC63D4 */ if (_t238) goto L_02BC63D8; else goto L_02BC63E0;
|
|
L_02BC63D8: ; // 0x2bc63d8
|
|
/* 02BC63D8 */ _t239 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC63D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t239);
|
|
/* 02BC63DC */ _t240 = cpu->r[10] + 0x00000078u;
|
|
/* 02BC63DC */ rbrew_write32(cpu->mem, _t240, cpu->r[28]);
|
|
L_02BC63E0: ; // 0x2bc63e0
|
|
/* 02BC63E0 */ /* nop */
|
|
/* 02BC63E4 */ _t241 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC63E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t241);
|
|
/* 02BC63E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC63EC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC63F0 */ return;
|
|
L_02BC63F4: ; // 0x2bc63f4
|
|
/* 02BC63F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC63F8 */ _t242 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC63F8 */ rbrew_write32(cpu->mem, _t242, cpu->r[1]);
|
|
/* 02BC63F8 */ cpu->r[1] = _t242;
|
|
/* 02BC63FC */ _t243 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC63FC */ rbrew_write32(cpu->mem, _t243, cpu->r[31]);
|
|
/* 02BC6400 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6404 */ _t244 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6404 */ rbrew_write32(cpu->mem, _t244, cpu->r[0]);
|
|
/* 02BC6408 */ _t245 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC6408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t245);
|
|
/* 02BC640C */ _t246 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC640C */ cpu->r[0] = rbrew_read32(cpu->mem, _t246);
|
|
/* 02BC6410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BC6414 */ _t247 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6414 */ _t248 = _t247 & 0x00000001u;
|
|
/* 02BC6414 */ if (_t248) goto L_02BC642C; else goto L_02BC6418;
|
|
L_02BC6418: ; // 0x2bc6418
|
|
/* 02BC6418 */ _t249 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC6418 */ cpu->r[10] = rbrew_read32(cpu->mem, _t249);
|
|
/* 02BC641C */ cpu->r[11] = cpu->r[0] ^ cpu->r[10];
|
|
/* 02BC6420 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 02BC6424 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC6424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6428 */ _t250 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6428 */ _t251 = _t250 & 0x00000001u;
|
|
/* 02BC6428 */ if (_t251) goto L_02BC642C; else goto L_02BC6478;
|
|
L_02BC642C: ; // 0x2bc642c
|
|
/* 02BC642C */ _t252 = cpu->r[4] + 0x00000008u;
|
|
/* 02BC642C */ cpu->r[0] = rbrew_read32(cpu->mem, _t252);
|
|
/* 02BC6430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BC6434 */ _t253 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6434 */ _t254 = _t253 & 0x00000001u;
|
|
/* 02BC6434 */ if (_t254) goto L_02BC6478; else goto L_02BC6438;
|
|
L_02BC6438: ; // 0x2bc6438
|
|
/* 02BC6438 */ _t255 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC6438 */ cpu->r[10] = rbrew_read32(cpu->mem, _t255);
|
|
/* 02BC643C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02BC6440 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6440 */ _t257 = _t256 & 0x00000001u;
|
|
/* 02BC6440 */ if (_t257) goto L_02BC6444; else goto L_02BC6478;
|
|
L_02BC6444: ; // 0x2bc6444
|
|
/* 02BC6444 */ _t258 = cpu->r[4] + 0x00000004u;
|
|
/* 02BC6444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t258);
|
|
/* 02BC6448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BC644C */ _t259 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC644C */ cpu->r[11] = rbrew_read32(cpu->mem, _t259);
|
|
/* 02BC6450 */ _t260 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6450 */ _t261 = _t260 & 0x00000001u;
|
|
/* 02BC6450 */ if (_t261) goto L_02BC6454; else goto L_02BC6478;
|
|
L_02BC6454: ; // 0x2bc6454
|
|
/* 02BC6454 */ _t262 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02BC6454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t262);
|
|
/* 02BC6458 */ _t263 = cpu->r[11] + 0x00000001u;
|
|
/* 02BC6458 */ cpu->r[4] = rbrew_read8(cpu->mem, _t263);
|
|
/* 02BC645C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6460 */ Gambit_fn_02BE31B4(cpu);
|
|
/* 02BC6464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6468 */ _t264 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6468 */ _t265 = _t264 & 0x00000001u;
|
|
/* 02BC6468 */ if (_t265) goto L_02BC6478; else goto L_02BC646C;
|
|
L_02BC646C: ; // 0x2bc646c
|
|
/* 02BC646C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6470 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC6474 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC6478: ; // 0x2bc6478
|
|
/* 02BC6478 */ _t266 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t266);
|
|
/* 02BC647C */ _t267 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC647C */ cpu->r[31] = rbrew_read32(cpu->mem, _t267);
|
|
/* 02BC6480 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6484 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6488 */ return;
|
|
L_02BC648C: ; // 0x2bc648c
|
|
/* 02BC648C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6490 */ _t268 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC6490 */ rbrew_write32(cpu->mem, _t268, cpu->r[1]);
|
|
/* 02BC6490 */ cpu->r[1] = _t268;
|
|
/* 02BC6494 */ _t269 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6494 */ rbrew_write32(cpu->mem, _t269, cpu->r[30]);
|
|
/* 02BC6498 */ _t270 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6498 */ rbrew_write32(cpu->mem, _t270, cpu->r[31]);
|
|
/* 02BC649C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC64A0 */ _t271 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC64A0 */ rbrew_write32(cpu->mem, _t271, cpu->r[0]);
|
|
/* 02BC64A4 */ _t272 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC64A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t272);
|
|
/* 02BC64A8 */ _t273 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC64A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t273);
|
|
/* 02BC64AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC64B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000001Fu);
|
|
/* 02BC64B4 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BC64B8 */ _t274 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC64B8 */ _t275 = _t274 & 0x00000001u;
|
|
/* 02BC64B8 */ if (_t275) goto L_02BC64EC; else goto L_02BC64BC;
|
|
L_02BC64BC: ; // 0x2bc64bc
|
|
/* 02BC64BC */ _t276 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC64BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t276);
|
|
/* 02BC64C0 */ _t277 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC64C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t277);
|
|
/* 02BC64C4 */ _t278 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC64C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t278);
|
|
/* 02BC64C8 */ _t279 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC64C8 */ rbrew_write32(cpu->mem, _t279, cpu->r[0]);
|
|
/* 02BC64CC */ _t280 = cpu->r[10] + 0x00000024u;
|
|
/* 02BC64CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t280);
|
|
/* 02BC64D0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC64D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC64D8 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC64DC */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC64E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC64E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC64E8 */ _t281 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC64E8 */ _t282 = _t281 & 0x00000001u;
|
|
/* 02BC64E8 */ if (_t282) goto L_02BC64EC; else goto L_02BC6508;
|
|
L_02BC64EC: ; // 0x2bc64ec
|
|
/* 02BC64EC */ _t283 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC64EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t283);
|
|
/* 02BC64F0 */ _t284 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC64F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t284);
|
|
/* 02BC64F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC64F8 */ _t285 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC64F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t285);
|
|
/* 02BC64FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC6500 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC6504 */ return;
|
|
L_02BC6508: ; // 0x2bc6508
|
|
/* 02BC6508 */ _t286 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC6508 */ cpu->r[10] = rbrew_read32(cpu->mem, _t286);
|
|
/* 02BC650C */ cpu->r[11] = 0x00000023u;
|
|
/* 02BC6510 */ _t287 = cpu->r[10] + 0x00000014u;
|
|
/* 02BC6510 */ rbrew_write8(cpu->mem, _t287, (uint8_t)cpu->r[11]);
|
|
/* 02BC6514 */ _t288 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC6514 */ cpu->r[12] = rbrew_read32(cpu->mem, _t288);
|
|
/* 02BC6518 */ _t289 = cpu->r[12] + 0x00000015u;
|
|
/* 02BC6518 */ rbrew_write8(cpu->mem, _t289, (uint8_t)cpu->r[30]);
|
|
/* 02BC651C */ _t290 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC651C */ cpu->r[3] = rbrew_read32(cpu->mem, _t290);
|
|
/* 02BC6520 */ Gambit_fn_02BEED0C(cpu);
|
|
/* 02BC6524 */ _t291 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t291);
|
|
/* 02BC6528 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC652C */ cpu->lr = cpu->r[0];
|
|
/* 02BC6530 */ cpu->r[9] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02BC6534 */ _t292 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t292);
|
|
/* 02BC6538 */ _t293 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6538 */ cpu->r[30] = rbrew_read32(cpu->mem, _t293);
|
|
/* 02BC653C */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC6540 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC6544 */ return;
|
|
L_02BC6548: ; // 0x2bc6548
|
|
/* 02BC6548 */ _t294 = cpu->r[4] + 0x00000008u;
|
|
/* 02BC6548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t294);
|
|
/* 02BC654C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BC6550 */ _t295 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6550 */ _t296 = _t295 & 0x00000001u;
|
|
/* 02BC6550 */ if (_t296) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC6550 */ goto L_02BC6554;
|
|
L_02BC6554: ; // 0x2bc6554
|
|
/* 02BC6554 */ _t297 = cpu->r[4] + 0x00000004u;
|
|
/* 02BC6554 */ cpu->r[11] = rbrew_read32(cpu->mem, _t297);
|
|
/* 02BC6558 */ _t298 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC6558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t298);
|
|
/* 02BC655C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02BC6560 */ _t299 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6560 */ _t300 = _t299 & 0x00000001u;
|
|
/* 02BC6560 */ _t301 = _t300 ^ 0x00000001u;
|
|
/* 02BC6560 */ if (_t301) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC6560 */ goto L_02BC6564;
|
|
L_02BC6564: ; // 0x2bc6564
|
|
/* 02BC6564 */ _t302 = cpu->r[12] + 0x00000001u;
|
|
/* 02BC6564 */ cpu->r[4] = rbrew_read8(cpu->mem, _t302);
|
|
/* 02BC6568 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02BC656C */ _t303 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC656C */ _t304 = _t303 & 0x00000001u;
|
|
/* 02BC656C */ _t305 = _t304 ^ 0x00000001u;
|
|
/* 02BC656C */ if (_t305) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC656C */ goto L_02BC6570;
|
|
L_02BC6570: ; // 0x2bc6570
|
|
/* 02BC6570 */ goto L_02BC648C;
|
|
L_02BC663C: ; // 0x2bc663c
|
|
/* 02BC663C */ _t306 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC663C */ rbrew_write32(cpu->mem, _t306, cpu->r[1]);
|
|
/* 02BC663C */ cpu->r[1] = _t306;
|
|
/* 02BC6640 */ /* nop */
|
|
/* 02BC6644 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6648 */ _t307 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6648 */ rbrew_write32(cpu->mem, _t307, cpu->r[0]);
|
|
/* 02BC664C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC6650 */ _t308 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC6650 */ cpu->r[5] = rbrew_read32(cpu->mem, _t308);
|
|
/* 02BC6654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000001Fu);
|
|
/* 02BC6658 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC665C */ _t309 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC665C */ _t310 = _t309 & 0x00000001u;
|
|
/* 02BC665C */ if (_t310) goto L_02BC6778; else goto L_02BC6660;
|
|
L_02BC6660: ; // 0x2bc6660
|
|
/* 02BC6660 */ _t311 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC6660 */ cpu->r[6] = rbrew_read32(cpu->mem, _t311);
|
|
/* 02BC6664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000008u);
|
|
/* 02BC6668 */ _t312 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC6668 */ cpu->r[8] = rbrew_read32(cpu->mem, _t312);
|
|
/* 02BC666C */ _t313 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC666C */ _t314 = _t313 & 0x00000001u;
|
|
/* 02BC666C */ if (_t314) goto L_02BC6670; else goto L_02BC6778;
|
|
L_02BC6670: ; // 0x2bc6670
|
|
/* 02BC6670 */ _t315 = cpu->r[8] + 0x00000002u;
|
|
/* 02BC6670 */ cpu->r[27] = rbrew_read8(cpu->mem, _t315);
|
|
/* 02BC6674 */ cpu->r[3] = cpu->r[8] + 0x00000004u;
|
|
/* 02BC6678 */ _t316 = cpu->r[8] + 0x00000003u;
|
|
/* 02BC6678 */ cpu->r[28] = rbrew_read8(cpu->mem, _t316);
|
|
/* 02BC667C */ _t317 = cpu->r[8] + 0x00000001u;
|
|
/* 02BC667C */ cpu->r[26] = rbrew_read8(cpu->mem, _t317);
|
|
/* 02BC6680 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6684 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6688 */ _t318 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC6688 */ cpu->r[12] = rbrew_read32(cpu->mem, _t318);
|
|
/* 02BC668C */ _t319 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC668C */ cpu->r[10] = rbrew_read32(cpu->mem, _t319);
|
|
/* 02BC6690 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC6694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000001Fu);
|
|
/* 02BC6698 */ _t320 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC6698 */ cpu->r[11] = rbrew_read32(cpu->mem, _t320);
|
|
/* 02BC669C */ _t321 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC669C */ _t322 = _t321 & 0x00000001u;
|
|
/* 02BC669C */ if (_t322) goto L_02BC66A0; else goto L_02BC66B0;
|
|
L_02BC66A0: ; // 0x2bc66a0
|
|
/* 02BC66A0 */ _t323 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC66A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t323);
|
|
/* 02BC66A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]);
|
|
/* 02BC66A8 */ _t324 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC66A8 */ _t325 = _t324 & 0x00000001u;
|
|
/* 02BC66A8 */ if (_t325) goto L_02BC6748; else goto L_02BC66AC;
|
|
L_02BC66AC: ; // 0x2bc66ac
|
|
/* 02BC66AC */ goto L_02BC6778;
|
|
L_02BC66B0: ; // 0x2bc66b0
|
|
/* 02BC66B0 */ cpu->r[8] = cpu->r[10] ^ cpu->r[11];
|
|
/* 02BC66B4 */ cpu->r[0] = rbrew_clz32(cpu->r[8]);
|
|
/* 02BC66B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC66B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC66BC */ _t326 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC66BC */ _t327 = _t326 & 0x00000001u;
|
|
/* 02BC66BC */ if (_t327) goto L_02BC673C; else goto L_02BC66C0;
|
|
L_02BC66C0: ; // 0x2bc66c0
|
|
/* 02BC66C0 */ _t328 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC66C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t328);
|
|
/* 02BC66C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[27]);
|
|
/* 02BC66C8 */ _t329 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC66C8 */ _t330 = _t329 & 0x00000001u;
|
|
/* 02BC66C8 */ if (_t330) goto L_02BC66CC; else goto L_02BC6778;
|
|
L_02BC66CC: ; // 0x2bc66cc
|
|
/* 02BC66CC */ _t331 = cpu->r[12] + 0x00000078u;
|
|
/* 02BC66CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t331);
|
|
/* 02BC66D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[7]);
|
|
/* 02BC66D4 */ _t332 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC66D4 */ _t333 = _t332 & 0x00000001u;
|
|
/* 02BC66D4 */ if (_t333) goto L_02BC6778; else goto L_02BC66D8;
|
|
L_02BC66D8: ; // 0x2bc66d8
|
|
/* 02BC66D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[10]);
|
|
/* 02BC66DC */ _t334 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC66DC */ _t335 = _t334 & 0x00000001u;
|
|
/* 02BC66DC */ if (_t335) goto L_02BC6778; else goto L_02BC66E0;
|
|
L_02BC66E0: ; // 0x2bc66e0
|
|
/* 02BC66E0 */ _t336 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BC66E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t336);
|
|
/* 02BC66E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC66E8 */ _t337 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC66E8 */ _t338 = _t337 & 0x00000001u;
|
|
/* 02BC66E8 */ if (_t338) goto L_02BC66EC; else goto L_02BC670C;
|
|
L_02BC66EC: ; // 0x2bc66ec
|
|
/* 02BC66EC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC66F0 */ _t339 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC66F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t339);
|
|
/* 02BC66F4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC66F8 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC66FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6700 */ _t340 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6700 */ _t341 = _t340 & 0x00000001u;
|
|
/* 02BC6700 */ if (_t341) goto L_02BC670C; else goto L_02BC6704;
|
|
L_02BC6704: ; // 0x2bc6704
|
|
/* 02BC6704 */ cpu->r[0] = 0x00000006u;
|
|
/* 02BC6708 */ _t342 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC6708 */ rbrew_write32(cpu->mem, _t342, cpu->r[0]);
|
|
L_02BC670C: ; // 0x2bc670c
|
|
/* 02BC670C */ cpu->r[8] = cpu->r[29];
|
|
/* 02BC6710 */ cpu->r[7] = cpu->r[28];
|
|
/* 02BC6714 */ cpu->r[6] = cpu->r[27];
|
|
/* 02BC6718 */ cpu->r[5] = cpu->r[26];
|
|
/* 02BC671C */ cpu->r[4] = cpu->r[26];
|
|
/* 02BC6720 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC6724 */ Gambit_fn_02BC6574(cpu);
|
|
/* 02BC6728 */ /* nop */
|
|
/* 02BC672C */ _t343 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC672C */ cpu->r[0] = rbrew_read32(cpu->mem, _t343);
|
|
/* 02BC6730 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6734 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6738 */ return;
|
|
L_02BC673C: ; // 0x2bc673c
|
|
/* 02BC673C */ _t344 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC673C */ cpu->r[7] = rbrew_read32(cpu->mem, _t344);
|
|
/* 02BC6740 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]);
|
|
/* 02BC6744 */ _t345 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6744 */ _t346 = _t345 & 0x00000001u;
|
|
/* 02BC6744 */ if (_t346) goto L_02BC6748; else goto L_02BC6778;
|
|
L_02BC6748: ; // 0x2bc6748
|
|
/* 02BC6748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[10]);
|
|
/* 02BC674C */ _t347 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC674C */ _t348 = _t347 & 0x00000001u;
|
|
/* 02BC674C */ if (_t348) goto L_02BC6750; else goto L_02BC6778;
|
|
L_02BC6750: ; // 0x2bc6750
|
|
/* 02BC6750 */ _t349 = cpu->r[12] + 0x00000010u;
|
|
/* 02BC6750 */ cpu->r[3] = rbrew_read32(cpu->mem, _t349);
|
|
/* 02BC6754 */ _t350 = cpu->r[3] + 0x000000BCu;
|
|
/* 02BC6754 */ cpu->r[9] = rbrew_read8(cpu->mem, _t350);
|
|
/* 02BC6758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC675C */ _t351 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC675C */ _t352 = _t351 & 0x00000001u;
|
|
/* 02BC675C */ if (_t352) goto L_02BC6778; else goto L_02BC6760;
|
|
L_02BC6760: ; // 0x2bc6760
|
|
/* 02BC6760 */ _t353 = cpu->r[3] + 0x000000B8u;
|
|
/* 02BC6760 */ cpu->r[10] = rbrew_read32(cpu->mem, _t353);
|
|
/* 02BC6764 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 02BC6768 */ _t354 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6768 */ _t355 = _t354 & 0x00000001u;
|
|
/* 02BC6768 */ if (_t355) goto L_02BC676C; else goto L_02BC6778;
|
|
L_02BC676C: ; // 0x2bc676c
|
|
/* 02BC676C */ cpu->r[5] = cpu->r[28];
|
|
/* 02BC6770 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC6774 */ Gambit_fn_02BD12B0(cpu);
|
|
L_02BC6778: ; // 0x2bc6778
|
|
/* 02BC6778 */ /* nop */
|
|
/* 02BC677C */ _t356 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC677C */ cpu->r[0] = rbrew_read32(cpu->mem, _t356);
|
|
/* 02BC6780 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6784 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6788 */ return;
|
|
L_02BC678C: ; // 0x2bc678c
|
|
/* 02BC678C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6790 */ _t357 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC6790 */ rbrew_write32(cpu->mem, _t357, cpu->r[1]);
|
|
/* 02BC6790 */ cpu->r[1] = _t357;
|
|
/* 02BC6794 */ _t358 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC6794 */ rbrew_write32(cpu->mem, _t358, cpu->r[30]);
|
|
/* 02BC6798 */ _t359 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6798 */ rbrew_write32(cpu->mem, _t359, cpu->r[31]);
|
|
/* 02BC679C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC67A0 */ _t360 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC67A0 */ rbrew_write32(cpu->mem, _t360, cpu->r[0]);
|
|
/* 02BC67A4 */ _t361 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC67A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t361);
|
|
/* 02BC67A4 */ cpu->r[30] = _t361;
|
|
/* 02BC67A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC67AC */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC67B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC67B4 */ _t362 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC67B4 */ _t363 = _t362 & 0x00000001u;
|
|
/* 02BC67B4 */ if (_t363) goto L_02BC6854; else goto L_02BC67B8;
|
|
L_02BC67B8: ; // 0x2bc67b8
|
|
/* 02BC67B8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC67BC */ _t364 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC67BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t364);
|
|
/* 02BC67C0 */ _t365 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC67C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t365);
|
|
/* 02BC67C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC67C8 */ _t366 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC67C8 */ _t367 = _t366 & 0x00000001u;
|
|
/* 02BC67C8 */ if (_t367) goto L_02BC6854; else goto L_02BC67CC;
|
|
L_02BC67CC: ; // 0x2bc67cc
|
|
/* 02BC67CC */ _t368 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC67CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t368);
|
|
/* 02BC67D0 */ _t369 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC67D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t369);
|
|
/* 02BC67D4 */ _t370 = cpu->r[10] + 0x00000001u;
|
|
/* 02BC67D4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t370);
|
|
/* 02BC67D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02BC67DC */ _t371 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC67DC */ _t372 = _t371 & 0x00000001u;
|
|
/* 02BC67DC */ if (_t372) goto L_02BC67E0; else goto L_02BC6854;
|
|
L_02BC67E0: ; // 0x2bc67e0
|
|
/* 02BC67E0 */ _t373 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC67E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t373);
|
|
/* 02BC67E4 */ _t374 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BC67E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t374);
|
|
/* 02BC67E8 */ _t375 = cpu->r[3] + 0x00000099u;
|
|
/* 02BC67E8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t375);
|
|
/* 02BC67EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC67F0 */ _t376 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC67F0 */ _t377 = _t376 & 0x00000001u;
|
|
/* 02BC67F0 */ if (_t377) goto L_02BC67F4; else goto L_02BC6850;
|
|
L_02BC67F4: ; // 0x2bc67f4
|
|
/* 02BC67F4 */ _t378 = cpu->r[3] + 0x0000006Eu;
|
|
/* 02BC67F4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t378);
|
|
/* 02BC67F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC67FC */ _t379 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC67FC */ _t380 = _t379 & 0x00000001u;
|
|
/* 02BC67FC */ if (_t380) goto L_02BC6800; else goto L_02BC6854;
|
|
L_02BC6800: ; // 0x2bc6800
|
|
/* 02BC6800 */ _t381 = cpu->r[12] + 0x000000A8u;
|
|
/* 02BC6800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t381);
|
|
/* 02BC6804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6808 */ _t382 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6808 */ _t383 = _t382 & 0x00000001u;
|
|
/* 02BC6808 */ if (_t383) goto L_02BC6854; else goto L_02BC680C;
|
|
L_02BC680C: ; // 0x2bc680c
|
|
/* 02BC680C */ _t384 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC680C */ rbrew_write32(cpu->mem, _t384, cpu->r[4]);
|
|
/* 02BC6810 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC6814 */ cpu->r[5] = 0x00000015u;
|
|
/* 02BC6818 */ _t385 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6818 */ rbrew_write32(cpu->mem, _t385, cpu->r[0]);
|
|
/* 02BC681C */ _t386 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC681C */ rbrew_write32(cpu->mem, _t386, cpu->r[5]);
|
|
/* 02BC6820 */ _t387 = cpu->r[12] + 0x000000A8u;
|
|
/* 02BC6820 */ cpu->r[3] = rbrew_read32(cpu->mem, _t387);
|
|
/* 02BC6824 */ _t388 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC6824 */ cpu->r[7] = rbrew_read32(cpu->mem, _t388);
|
|
/* 02BC6828 */ _t389 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02BC6828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t389);
|
|
/* 02BC682C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC6830 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6834 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC6838 */ _t390 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t390);
|
|
/* 02BC683C */ _t391 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC683C */ cpu->r[30] = rbrew_read32(cpu->mem, _t391);
|
|
/* 02BC6840 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6844 */ _t392 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t392);
|
|
/* 02BC6848 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC684C */ return;
|
|
L_02BC6850: ; // 0x2bc6850
|
|
/* 02BC6850 */ Gambit_fn_02BCB8CC(cpu);
|
|
L_02BC6854: ; // 0x2bc6854
|
|
/* 02BC6854 */ _t393 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t393);
|
|
/* 02BC6858 */ _t394 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC6858 */ cpu->r[30] = rbrew_read32(cpu->mem, _t394);
|
|
/* 02BC685C */ cpu->lr = cpu->r[0];
|
|
/* 02BC6860 */ _t395 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6860 */ cpu->r[31] = rbrew_read32(cpu->mem, _t395);
|
|
/* 02BC6864 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6868 */ return;
|
|
L_02BC686C: ; // 0x2bc686c
|
|
/* 02BC686C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6870 */ _t396 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC6870 */ rbrew_write32(cpu->mem, _t396, cpu->r[1]);
|
|
/* 02BC6870 */ cpu->r[1] = _t396;
|
|
/* 02BC6874 */ _t397 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6874 */ rbrew_write32(cpu->mem, _t397, cpu->r[30]);
|
|
/* 02BC6878 */ _t398 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6878 */ rbrew_write32(cpu->mem, _t398, cpu->r[31]);
|
|
/* 02BC687C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC6880 */ _t399 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6880 */ rbrew_write32(cpu->mem, _t399, cpu->r[0]);
|
|
/* 02BC6884 */ _t400 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC6884 */ cpu->r[3] = rbrew_read32(cpu->mem, _t400);
|
|
/* 02BC6884 */ cpu->r[30] = _t400;
|
|
/* 02BC6888 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC688C */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC6890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6894 */ _t401 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6894 */ _t402 = _t401 & 0x00000001u;
|
|
/* 02BC6894 */ if (_t402) goto L_02BC68E4; else goto L_02BC6898;
|
|
L_02BC6898: ; // 0x2bc6898
|
|
/* 02BC6898 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC689C */ _t403 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC689C */ cpu->r[12] = rbrew_read32(cpu->mem, _t403);
|
|
/* 02BC68A0 */ _t404 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC68A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t404);
|
|
/* 02BC68A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC68A8 */ _t405 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC68A8 */ _t406 = _t405 & 0x00000001u;
|
|
/* 02BC68A8 */ if (_t406) goto L_02BC68E4; else goto L_02BC68AC;
|
|
L_02BC68AC: ; // 0x2bc68ac
|
|
/* 02BC68AC */ _t407 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC68AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t407);
|
|
/* 02BC68B0 */ _t408 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC68B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t408);
|
|
/* 02BC68B4 */ _t409 = cpu->r[6] + 0x00000001u;
|
|
/* 02BC68B4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t409);
|
|
/* 02BC68B8 */ _t410 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC68B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t410);
|
|
/* 02BC68BC */ cpu->r[8] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02BC68C0 */ _t411 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC68C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t411);
|
|
/* 02BC68C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02BC68C8 */ cpu->r[4] = cpu->r[7] - cpu->r[8];
|
|
/* 02BC68CC */ _t412 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC68CC */ _t413 = _t412 & 0x00000001u;
|
|
/* 02BC68CC */ if (_t413) goto L_02BC68D0; else goto L_02BC68E4;
|
|
L_02BC68D0: ; // 0x2bc68d0
|
|
/* 02BC68D0 */ _t414 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BC68D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t414);
|
|
/* 02BC68D4 */ _t415 = cpu->r[3] + 0x000000A0u;
|
|
/* 02BC68D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t415);
|
|
/* 02BC68D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC68DC */ _t416 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC68DC */ _t417 = _t416 & 0x00000001u;
|
|
/* 02BC68DC */ if (_t417) goto L_02BC68E4; else goto L_02BC68E0;
|
|
L_02BC68E0: ; // 0x2bc68e0
|
|
/* 02BC68E0 */ Gambit_fn_02BCB8D4(cpu);
|
|
L_02BC68E4: ; // 0x2bc68e4
|
|
/* 02BC68E4 */ _t418 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC68E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t418);
|
|
/* 02BC68E8 */ _t419 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC68E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t419);
|
|
/* 02BC68EC */ cpu->lr = cpu->r[0];
|
|
/* 02BC68F0 */ _t420 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC68F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t420);
|
|
/* 02BC68F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC68F8 */ return;
|
|
L_02BC68FC: ; // 0x2bc68fc
|
|
/* 02BC68FC */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6900 */ _t421 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC6900 */ rbrew_write32(cpu->mem, _t421, cpu->r[1]);
|
|
/* 02BC6900 */ cpu->r[1] = _t421;
|
|
/* 02BC6904 */ _t422 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6904 */ rbrew_write32(cpu->mem, _t422, cpu->r[31]);
|
|
/* 02BC6908 */ _t423 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6908 */ rbrew_write32(cpu->mem, _t423, cpu->r[30]);
|
|
/* 02BC690C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC6910 */ _t424 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6910 */ rbrew_write32(cpu->mem, _t424, cpu->r[0]);
|
|
/* 02BC6914 */ _t425 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC6914 */ cpu->r[3] = rbrew_read32(cpu->mem, _t425);
|
|
/* 02BC6914 */ cpu->r[31] = _t425;
|
|
/* 02BC6918 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC691C */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC6920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6924 */ _t426 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6924 */ _t427 = _t426 & 0x00000001u;
|
|
/* 02BC6924 */ if (_t427) goto L_02BC6968; else goto L_02BC6928;
|
|
L_02BC6928: ; // 0x2bc6928
|
|
/* 02BC6928 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC692C */ _t428 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC692C */ cpu->r[12] = rbrew_read32(cpu->mem, _t428);
|
|
/* 02BC6930 */ _t429 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC6930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t429);
|
|
/* 02BC6934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6938 */ _t430 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6938 */ _t431 = _t430 & 0x00000001u;
|
|
/* 02BC6938 */ if (_t431) goto L_02BC6968; else goto L_02BC693C;
|
|
L_02BC693C: ; // 0x2bc693c
|
|
/* 02BC693C */ _t432 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC693C */ cpu->r[12] = rbrew_read32(cpu->mem, _t432);
|
|
/* 02BC6940 */ _t433 = cpu->r[30] + 0x00000008u;
|
|
/* 02BC6940 */ cpu->r[8] = rbrew_read32(cpu->mem, _t433);
|
|
/* 02BC6944 */ _t434 = cpu->r[12] + 0x00000001u;
|
|
/* 02BC6944 */ cpu->r[4] = rbrew_read8(cpu->mem, _t434);
|
|
/* 02BC6948 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02BC694C */ _t435 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC694C */ _t436 = _t435 & 0x00000001u;
|
|
/* 02BC694C */ if (_t436) goto L_02BC6950; else goto L_02BC6968;
|
|
L_02BC6950: ; // 0x2bc6950
|
|
/* 02BC6950 */ _t437 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC6950 */ cpu->r[9] = rbrew_read32(cpu->mem, _t437);
|
|
/* 02BC6954 */ _t438 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02BC6954 */ cpu->r[3] = rbrew_read32(cpu->mem, _t438);
|
|
/* 02BC6958 */ _t439 = cpu->r[3] + 0x00000098u;
|
|
/* 02BC6958 */ cpu->r[0] = rbrew_read8(cpu->mem, _t439);
|
|
/* 02BC695C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6960 */ _t440 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6960 */ _t441 = _t440 & 0x00000001u;
|
|
/* 02BC6960 */ if (_t441) goto L_02BC6968; else goto L_02BC6964;
|
|
L_02BC6964: ; // 0x2bc6964
|
|
/* 02BC6964 */ Gambit_fn_02BCB8B4(cpu);
|
|
L_02BC6968: ; // 0x2bc6968
|
|
/* 02BC6968 */ _t442 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t442);
|
|
/* 02BC696C */ _t443 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC696C */ cpu->r[30] = rbrew_read32(cpu->mem, _t443);
|
|
/* 02BC6970 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6974 */ _t444 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t444);
|
|
/* 02BC6978 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC697C */ return;
|
|
L_02BC6980: ; // 0x2bc6980
|
|
/* 02BC6980 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6984 */ _t445 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC6984 */ rbrew_write32(cpu->mem, _t445, cpu->r[1]);
|
|
/* 02BC6984 */ cpu->r[1] = _t445;
|
|
/* 02BC6988 */ _t446 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6988 */ rbrew_write32(cpu->mem, _t446, cpu->r[30]);
|
|
/* 02BC698C */ _t447 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC698C */ rbrew_write32(cpu->mem, _t447, cpu->r[31]);
|
|
/* 02BC6990 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC6994 */ _t448 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6994 */ rbrew_write32(cpu->mem, _t448, cpu->r[0]);
|
|
/* 02BC6998 */ _t449 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC6998 */ cpu->r[3] = rbrew_read32(cpu->mem, _t449);
|
|
/* 02BC6998 */ cpu->r[30] = _t449;
|
|
/* 02BC699C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC69A0 */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC69A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC69A8 */ _t450 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC69A8 */ _t451 = _t450 & 0x00000001u;
|
|
/* 02BC69A8 */ if (_t451) goto L_02BC6A24; else goto L_02BC69AC;
|
|
L_02BC69AC: ; // 0x2bc69ac
|
|
/* 02BC69AC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC69B0 */ _t452 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC69B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t452);
|
|
/* 02BC69B4 */ _t453 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC69B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t453);
|
|
/* 02BC69B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC69BC */ _t454 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC69BC */ _t455 = _t454 & 0x00000001u;
|
|
/* 02BC69BC */ if (_t455) goto L_02BC6A24; else goto L_02BC69C0;
|
|
L_02BC69C0: ; // 0x2bc69c0
|
|
/* 02BC69C0 */ _t456 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC69C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t456);
|
|
/* 02BC69C4 */ _t457 = cpu->r[8] + 0x00000008u;
|
|
/* 02BC69C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t457);
|
|
/* 02BC69C8 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BC69CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC69D0 */ _t458 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC69D0 */ _t459 = _t458 & 0x00000001u;
|
|
/* 02BC69D0 */ if (_t459) goto L_02BC69D4; else goto L_02BC6A24;
|
|
L_02BC69D4: ; // 0x2bc69d4
|
|
/* 02BC69D4 */ _t460 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC69D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t460);
|
|
/* 02BC69D8 */ _t461 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC69D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t461);
|
|
/* 02BC69DC */ _t462 = cpu->r[6] + 0x00000058u;
|
|
/* 02BC69DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t462);
|
|
/* 02BC69E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02BC69E4 */ _t463 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC69E4 */ _t464 = _t463 & 0x00000001u;
|
|
/* 02BC69E4 */ if (_t464) goto L_02BC69E8; else goto L_02BC6A24;
|
|
L_02BC69E8: ; // 0x2bc69e8
|
|
/* 02BC69E8 */ _t465 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC69E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t465);
|
|
/* 02BC69EC */ _t466 = cpu->r[10] + 0x00000001u;
|
|
/* 02BC69EC */ cpu->r[5] = rbrew_read8(cpu->mem, _t466);
|
|
/* 02BC69F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000001Fu);
|
|
/* 02BC69F4 */ _t467 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC69F4 */ _t468 = _t467 & 0x00000001u;
|
|
/* 02BC69F4 */ if (_t468) goto L_02BC6A24; else goto L_02BC69F8;
|
|
L_02BC69F8: ; // 0x2bc69f8
|
|
/* 02BC69F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02BC69FC */ _t469 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC69FC */ _t470 = _t469 & 0x00000001u;
|
|
/* 02BC69FC */ if (_t470) goto L_02BC6A24; else goto L_02BC6A00;
|
|
L_02BC6A00: ; // 0x2bc6a00
|
|
/* 02BC6A00 */ _t471 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02BC6A00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t471);
|
|
/* 02BC6A04 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC6A08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6A0C */ Gambit_fn_02BCA55C(cpu);
|
|
/* 02BC6A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6A14 */ _t472 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6A14 */ _t473 = _t472 & 0x00000001u;
|
|
/* 02BC6A14 */ if (_t473) goto L_02BC6A24; else goto L_02BC6A18;
|
|
L_02BC6A18: ; // 0x2bc6a18
|
|
/* 02BC6A18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6A1C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC6A20 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC6A24: ; // 0x2bc6a24
|
|
/* 02BC6A24 */ _t474 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t474);
|
|
/* 02BC6A28 */ _t475 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6A28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t475);
|
|
/* 02BC6A2C */ cpu->lr = cpu->r[0];
|
|
/* 02BC6A30 */ _t476 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6A30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t476);
|
|
/* 02BC6A34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6A38 */ return;
|
|
L_02BC6A3C: ; // 0x2bc6a3c
|
|
/* 02BC6A3C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6A40 */ _t477 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC6A40 */ rbrew_write32(cpu->mem, _t477, cpu->r[1]);
|
|
/* 02BC6A40 */ cpu->r[1] = _t477;
|
|
/* 02BC6A44 */ _t478 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6A44 */ rbrew_write32(cpu->mem, _t478, cpu->r[31]);
|
|
/* 02BC6A48 */ _t479 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6A48 */ rbrew_write32(cpu->mem, _t479, cpu->r[30]);
|
|
/* 02BC6A4C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC6A50 */ _t480 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6A50 */ rbrew_write32(cpu->mem, _t480, cpu->r[0]);
|
|
/* 02BC6A54 */ _t481 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC6A54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t481);
|
|
/* 02BC6A54 */ cpu->r[31] = _t481;
|
|
/* 02BC6A58 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC6A5C */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC6A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6A64 */ _t482 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6A64 */ _t483 = _t482 & 0x00000001u;
|
|
/* 02BC6A64 */ if (_t483) goto L_02BC6AA8; else goto L_02BC6A68;
|
|
L_02BC6A68: ; // 0x2bc6a68
|
|
/* 02BC6A68 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6A6C */ _t484 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC6A6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t484);
|
|
/* 02BC6A70 */ _t485 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC6A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t485);
|
|
/* 02BC6A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6A78 */ _t486 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6A78 */ _t487 = _t486 & 0x00000001u;
|
|
/* 02BC6A78 */ if (_t487) goto L_02BC6AA8; else goto L_02BC6A7C;
|
|
L_02BC6A7C: ; // 0x2bc6a7c
|
|
/* 02BC6A7C */ _t488 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6A7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t488);
|
|
/* 02BC6A80 */ _t489 = cpu->r[30] + 0x00000008u;
|
|
/* 02BC6A80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t489);
|
|
/* 02BC6A84 */ _t490 = cpu->r[12] + 0x00000001u;
|
|
/* 02BC6A84 */ cpu->r[4] = rbrew_read8(cpu->mem, _t490);
|
|
/* 02BC6A88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02BC6A8C */ _t491 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6A8C */ _t492 = _t491 & 0x00000001u;
|
|
/* 02BC6A8C */ if (_t492) goto L_02BC6A90; else goto L_02BC6AA8;
|
|
L_02BC6A90: ; // 0x2bc6a90
|
|
/* 02BC6A90 */ _t493 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC6A90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t493);
|
|
/* 02BC6A94 */ _t494 = cpu->r[9] + 0x00000020u;
|
|
/* 02BC6A94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t494);
|
|
/* 02BC6A98 */ _t495 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BC6A98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t495);
|
|
/* 02BC6A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6AA0 */ _t496 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6AA0 */ _t497 = _t496 & 0x00000001u;
|
|
/* 02BC6AA0 */ if (_t497) goto L_02BC6AA8; else goto L_02BC6AA4;
|
|
L_02BC6AA4: ; // 0x2bc6aa4
|
|
/* 02BC6AA4 */ Gambit_fn_02BC0B74(cpu);
|
|
L_02BC6AA8: ; // 0x2bc6aa8
|
|
/* 02BC6AA8 */ _t498 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6AA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t498);
|
|
/* 02BC6AAC */ _t499 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6AAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t499);
|
|
/* 02BC6AB0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6AB4 */ _t500 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6AB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t500);
|
|
/* 02BC6AB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6ABC */ return;
|
|
L_02BC6AC0: ; // 0x2bc6ac0
|
|
/* 02BC6AC0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6AC4 */ _t501 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC6AC4 */ rbrew_write32(cpu->mem, _t501, cpu->r[1]);
|
|
/* 02BC6AC4 */ cpu->r[1] = _t501;
|
|
/* 02BC6AC8 */ _t502 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6AC8 */ rbrew_write32(cpu->mem, _t502, cpu->r[28]);
|
|
/* 02BC6ACC */ _t503 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6ACC */ rbrew_write32(cpu->mem, _t503, cpu->r[29]);
|
|
/* 02BC6AD0 */ _t504 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6AD0 */ rbrew_write32(cpu->mem, _t504, cpu->r[30]);
|
|
/* 02BC6AD4 */ _t505 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6AD4 */ rbrew_write32(cpu->mem, _t505, cpu->r[31]);
|
|
/* 02BC6AD8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC6ADC */ _t506 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6ADC */ rbrew_write32(cpu->mem, _t506, cpu->r[0]);
|
|
/* 02BC6AE0 */ _t507 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC6AE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t507);
|
|
/* 02BC6AE0 */ cpu->r[30] = _t507;
|
|
/* 02BC6AE4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC6AE8 */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC6AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6AF0 */ _t508 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6AF0 */ _t509 = _t508 & 0x00000001u;
|
|
/* 02BC6AF0 */ if (_t509) goto L_02BC6BC0; else goto L_02BC6AF4;
|
|
L_02BC6AF4: ; // 0x2bc6af4
|
|
/* 02BC6AF4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6AF8 */ _t510 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC6AF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t510);
|
|
/* 02BC6AFC */ _t511 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC6AFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t511);
|
|
/* 02BC6B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC6B04 */ _t512 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6B04 */ _t513 = _t512 & 0x00000001u;
|
|
/* 02BC6B04 */ if (_t513) goto L_02BC6BC0; else goto L_02BC6B08;
|
|
L_02BC6B08: ; // 0x2bc6b08
|
|
/* 02BC6B08 */ _t514 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6B08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t514);
|
|
/* 02BC6B0C */ _t515 = cpu->r[6] + 0x0000005Cu;
|
|
/* 02BC6B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t515);
|
|
/* 02BC6B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BC6B14 */ _t516 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6B14 */ _t517 = _t516 & 0x00000001u;
|
|
/* 02BC6B14 */ if (_t517) goto L_02BC6B2C; else goto L_02BC6B18;
|
|
L_02BC6B18: ; // 0x2bc6b18
|
|
/* 02BC6B18 */ _t518 = cpu->r[6] + 0x00000058u;
|
|
/* 02BC6B18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t518);
|
|
/* 02BC6B1C */ cpu->r[10] = cpu->r[0] ^ cpu->r[9];
|
|
/* 02BC6B20 */ cpu->r[11] = rbrew_clz32(cpu->r[10]);
|
|
/* 02BC6B24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC6B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6B28 */ _t519 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6B28 */ _t520 = _t519 & 0x00000001u;
|
|
/* 02BC6B28 */ if (_t520) goto L_02BC6B2C; else goto L_02BC6BC0;
|
|
L_02BC6B2C: ; // 0x2bc6b2c
|
|
/* 02BC6B2C */ _t521 = cpu->r[6] + 0x00000008u;
|
|
/* 02BC6B2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t521);
|
|
/* 02BC6B30 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BC6B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6B38 */ _t522 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6B38 */ _t523 = _t522 & 0x00000001u;
|
|
/* 02BC6B38 */ if (_t523) goto L_02BC6B3C; else goto L_02BC6BC0;
|
|
L_02BC6B3C: ; // 0x2bc6b3c
|
|
/* 02BC6B3C */ _t524 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6B3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t524);
|
|
/* 02BC6B40 */ _t525 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC6B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t525);
|
|
/* 02BC6B44 */ _t526 = cpu->r[6] + 0x00000058u;
|
|
/* 02BC6B44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t526);
|
|
/* 02BC6B48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02BC6B4C */ _t527 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6B4C */ _t528 = _t527 & 0x00000001u;
|
|
/* 02BC6B4C */ if (_t528) goto L_02BC6B50; else goto L_02BC6BC0;
|
|
L_02BC6B50: ; // 0x2bc6b50
|
|
/* 02BC6B50 */ _t529 = cpu->r[6] + 0x00000052u;
|
|
/* 02BC6B50 */ cpu->r[8] = rbrew_read16(cpu->mem, _t529);
|
|
/* 02BC6B54 */ _t530 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC6B54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t530);
|
|
/* 02BC6B58 */ cpu->r[7] = cpu->r[8] + 0x0000000Cu;
|
|
/* 02BC6B5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 02BC6B60 */ _t531 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC6B60 */ cpu->r[28] = rbrew_read32(cpu->mem, _t531);
|
|
/* 02BC6B64 */ _t532 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6B64 */ _t533 = _t532 & 0x00000001u;
|
|
/* 02BC6B64 */ if (_t533) goto L_02BC6B68; else goto L_02BC6BC0;
|
|
L_02BC6B68: ; // 0x2bc6b68
|
|
/* 02BC6B68 */ _t534 = cpu->r[28] + 0x00000001u;
|
|
/* 02BC6B68 */ cpu->r[10] = rbrew_read8(cpu->mem, _t534);
|
|
/* 02BC6B6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC6B70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BC6B74 */ _t535 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6B74 */ _t536 = _t535 & 0x00000001u;
|
|
/* 02BC6B74 */ if (_t536) goto L_02BC6B78; else goto L_02BC6BC0;
|
|
L_02BC6B78: ; // 0x2bc6b78
|
|
/* 02BC6B78 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02BC6B7C */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6B80 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC6B84 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02BC6B88 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6B8C */ _t537 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6B8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t537);
|
|
/* 02BC6B90 */ cpu->r[7] = cpu->r[3];
|
|
/* 02BC6B94 */ _t538 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BC6B94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t538);
|
|
/* 02BC6B98 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC6B9C */ cpu->r[6] = cpu->r[29];
|
|
/* 02BC6BA0 */ cpu->r[5] = cpu->r[28] + 0x0000000Cu;
|
|
/* 02BC6BA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6BA8 */ Gambit_fn_02BCB930(cpu);
|
|
/* 02BC6BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6BB0 */ _t539 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6BB0 */ _t540 = _t539 & 0x00000001u;
|
|
/* 02BC6BB0 */ if (_t540) goto L_02BC6BC0; else goto L_02BC6BB4;
|
|
L_02BC6BB4: ; // 0x2bc6bb4
|
|
/* 02BC6BB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC6BB8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC6BBC */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC6BC0: ; // 0x2bc6bc0
|
|
/* 02BC6BC0 */ _t541 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6BC0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t541);
|
|
/* 02BC6BC4 */ _t542 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6BC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t542);
|
|
/* 02BC6BC8 */ _t543 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC6BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t543);
|
|
/* 02BC6BCC */ _t544 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6BCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t544);
|
|
/* 02BC6BD0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6BD4 */ _t545 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC6BD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t545);
|
|
/* 02BC6BD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC6BDC */ return;
|
|
L_02BC6BE0: ; // 0x2bc6be0
|
|
/* 02BC6BE0 */ _t546 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BC6BE0 */ rbrew_write32(cpu->mem, _t546, cpu->r[1]);
|
|
/* 02BC6BE0 */ cpu->r[1] = _t546;
|
|
/* 02BC6BE4 */ /* nop */
|
|
/* 02BC6BE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6BEC */ _t547 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC6BEC */ rbrew_write32(cpu->mem, _t547, cpu->r[0]);
|
|
/* 02BC6BF0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC6BF4 */ _t548 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC6BF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t548);
|
|
/* 02BC6BF4 */ cpu->r[30] = _t548;
|
|
/* 02BC6BF8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC6BFC */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC6C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6C04 */ _t549 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6C04 */ _t550 = _t549 & 0x00000001u;
|
|
/* 02BC6C04 */ if (_t550) goto L_02BC6D00; else goto L_02BC6C08;
|
|
L_02BC6C08: ; // 0x2bc6c08
|
|
/* 02BC6C08 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6C0C */ _t551 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC6C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t551);
|
|
/* 02BC6C10 */ _t552 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC6C10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t552);
|
|
/* 02BC6C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC6C18 */ _t553 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6C18 */ _t554 = _t553 & 0x00000001u;
|
|
/* 02BC6C18 */ if (_t554) goto L_02BC6D00; else goto L_02BC6C1C;
|
|
L_02BC6C1C: ; // 0x2bc6c1c
|
|
/* 02BC6C1C */ _t555 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC6C1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t555);
|
|
/* 02BC6C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000001Fu);
|
|
/* 02BC6C24 */ _t556 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6C24 */ _t557 = _t556 & 0x00000001u;
|
|
/* 02BC6C24 */ if (_t557) goto L_02BC6D00; else goto L_02BC6C28;
|
|
L_02BC6C28: ; // 0x2bc6c28
|
|
/* 02BC6C28 */ _t558 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC6C28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t558);
|
|
/* 02BC6C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000010u);
|
|
/* 02BC6C30 */ _t559 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC6C30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t559);
|
|
/* 02BC6C34 */ _t560 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6C34 */ _t561 = _t560 & 0x00000001u;
|
|
/* 02BC6C34 */ if (_t561) goto L_02BC6C38; else goto L_02BC6D00;
|
|
L_02BC6C38: ; // 0x2bc6c38
|
|
/* 02BC6C38 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC6C3C */ cpu->r[5] = 0x00000010u;
|
|
/* 02BC6C40 */ _t562 = cpu->r[3] + 0xFFFFB794u;
|
|
/* 02BC6C40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t562);
|
|
/* 02BC6C44 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC6C48 */ Gambit_fn_02BF84BC(cpu);
|
|
/* 02BC6C4C */ _t563 = cpu->r[29] + 0x00000003u;
|
|
/* 02BC6C4C */ cpu->r[6] = rbrew_read8(cpu->mem, _t563);
|
|
/* 02BC6C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC6C54 */ cpu->r[25] = cpu->r[3];
|
|
/* 02BC6C58 */ _t564 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6C58 */ _t565 = _t564 & 0x00000001u;
|
|
/* 02BC6C58 */ if (_t565) goto L_02BC6C64; else goto L_02BC6C5C;
|
|
L_02BC6C5C: ; // 0x2bc6c5c
|
|
/* 02BC6C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 02BC6C60 */ _t566 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6C60 */ _t567 = _t566 & 0x00000001u;
|
|
/* 02BC6C60 */ if (_t567) goto L_02BC6C64; else goto L_02BC6D00;
|
|
L_02BC6C64: ; // 0x2bc6c64
|
|
/* 02BC6C64 */ cpu->r[0] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02BC6C68 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 02BC6C6C */ cpu->r[26] = cpu->r[6] - cpu->r[0];
|
|
/* 02BC6C70 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6C74 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BC6C78 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 02BC6C7C */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6C80 */ _t568 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6C80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t568);
|
|
/* 02BC6C84 */ _t569 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC6C84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t569);
|
|
/* 02BC6C88 */ _t570 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02BC6C88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t570);
|
|
/* 02BC6C8C */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6C90 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6C94 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC6C98 */ _t571 = cpu->r[8] + 0x0000005Cu;
|
|
/* 02BC6C98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t571);
|
|
/* 02BC6C9C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC6CA0 */ cpu->r[8] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6CA4 */ Gambit_fn_02BCC098(cpu);
|
|
/* 02BC6CA8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC6CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC6CAC */ _t572 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6CAC */ _t573 = _t572 & 0x00000001u;
|
|
/* 02BC6CAC */ if (_t573) goto L_02BC6CB0; else goto L_02BC6D00;
|
|
L_02BC6CB0: ; // 0x2bc6cb0
|
|
/* 02BC6CB0 */ _t574 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC6CB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t574);
|
|
/* 02BC6CB4 */ _t575 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC6CB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t575);
|
|
/* 02BC6CB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02BC6CBC */ _t576 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC6CBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t576);
|
|
/* 02BC6CC0 */ _t577 = cpu->r[11] + 0x0000004Cu;
|
|
/* 02BC6CC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t577);
|
|
/* 02BC6CC4 */ _t578 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6CC4 */ _t579 = _t578 & 0x00000001u;
|
|
/* 02BC6CC4 */ if (_t579) goto L_02BC6CE8; else goto L_02BC6CC8;
|
|
L_02BC6CC8: ; // 0x2bc6cc8
|
|
/* 02BC6CC8 */ _t580 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC6CC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t580);
|
|
/* 02BC6CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[27]);
|
|
/* 02BC6CD0 */ _t581 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6CD0 */ _t582 = _t581 & 0x00000001u;
|
|
/* 02BC6CD0 */ if (_t582) goto L_02BC6CE4; else goto L_02BC6CD4;
|
|
L_02BC6CD4: ; // 0x2bc6cd4
|
|
/* 02BC6CD4 */ _t583 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC6CD4 */ _t584 = _t583 & 0x00000001u;
|
|
/* 02BC6CD4 */ if (_t584) goto L_02BC6CE8; else goto L_02BC6CD8;
|
|
L_02BC6CD8: ; // 0x2bc6cd8
|
|
/* 02BC6CD8 */ _t585 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC6CD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t585);
|
|
/* 02BC6CDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 02BC6CE0 */ _t586 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6CE0 */ _t587 = _t586 & 0x00000001u;
|
|
/* 02BC6CE0 */ if (_t587) goto L_02BC6CE4; else goto L_02BC6CE8;
|
|
L_02BC6CE4: ; // 0x2bc6ce4
|
|
/* 02BC6CE4 */ cpu->r[26] = cpu->r[0];
|
|
L_02BC6CE8: ; // 0x2bc6ce8
|
|
/* 02BC6CE8 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC6CEC */ Gambit_fn_02BF8850(cpu);
|
|
/* 02BC6CF0 */ _t588 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC6CF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t588);
|
|
/* 02BC6CF4 */ cpu->r[5] = cpu->r[26];
|
|
/* 02BC6CF8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC6CFC */ Gambit_fn_02BCC1F0(cpu);
|
|
L_02BC6D00: ; // 0x2bc6d00
|
|
/* 02BC6D00 */ /* nop */
|
|
/* 02BC6D04 */ _t589 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC6D04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t589);
|
|
/* 02BC6D08 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6D0C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC6D10 */ return;
|
|
L_02BC6D14: ; // 0x2bc6d14
|
|
/* 02BC6D14 */ _t590 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC6D14 */ rbrew_write32(cpu->mem, _t590, cpu->r[1]);
|
|
/* 02BC6D14 */ cpu->r[1] = _t590;
|
|
/* 02BC6D18 */ /* nop */
|
|
/* 02BC6D1C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6D20 */ _t591 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6D20 */ rbrew_write32(cpu->mem, _t591, cpu->r[0]);
|
|
/* 02BC6D24 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC6D28 */ _t592 = cpu->r[11] + 0xFFFFB77Cu;
|
|
/* 02BC6D28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t592);
|
|
/* 02BC6D2C */ _t593 = cpu->r[11] + 0x00000144u;
|
|
/* 02BC6D2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t593);
|
|
/* 02BC6D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC6D34 */ _t594 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6D34 */ _t595 = _t594 & 0x00000001u;
|
|
/* 02BC6D34 */ if (_t595) goto L_02BC6E18; else goto L_02BC6D38;
|
|
L_02BC6D38: ; // 0x2bc6d38
|
|
/* 02BC6D38 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6D3C */ _t596 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC6D3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t596);
|
|
/* 02BC6D40 */ _t597 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC6D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t597);
|
|
/* 02BC6D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BC6D48 */ _t598 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6D48 */ _t599 = _t598 & 0x00000001u;
|
|
/* 02BC6D48 */ if (_t599) goto L_02BC6E18; else goto L_02BC6D4C;
|
|
L_02BC6D4C: ; // 0x2bc6d4c
|
|
/* 02BC6D4C */ _t600 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC6D4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t600);
|
|
/* 02BC6D50 */ cpu->r[8] = cpu->r[0] ^ cpu->r[11];
|
|
/* 02BC6D54 */ cpu->r[9] = rbrew_clz32(cpu->r[8]);
|
|
/* 02BC6D58 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC6D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC6D5C */ _t601 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6D5C */ _t602 = _t601 & 0x00000001u;
|
|
/* 02BC6D5C */ if (_t602) goto L_02BC6E18; else goto L_02BC6D60;
|
|
L_02BC6D60: ; // 0x2bc6d60
|
|
/* 02BC6D60 */ _t603 = cpu->r[12] + 0x00000028u;
|
|
/* 02BC6D60 */ cpu->r[26] = rbrew_read32(cpu->mem, _t603);
|
|
/* 02BC6D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BC6D68 */ _t604 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6D68 */ _t605 = _t604 & 0x00000001u;
|
|
/* 02BC6D68 */ if (_t605) goto L_02BC6E18; else goto L_02BC6D6C;
|
|
L_02BC6D6C: ; // 0x2bc6d6c
|
|
/* 02BC6D6C */ _t606 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC6D6C */ cpu->r[27] = rbrew_read32(cpu->mem, _t606);
|
|
/* 02BC6D70 */ _t607 = cpu->r[27] + 0x00000001u;
|
|
/* 02BC6D70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t607);
|
|
/* 02BC6D74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02BC6D78 */ _t608 = cpu->r[4] + 0x00000004u;
|
|
/* 02BC6D78 */ cpu->r[28] = rbrew_read32(cpu->mem, _t608);
|
|
/* 02BC6D7C */ _t609 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6D7C */ _t610 = _t609 & 0x00000001u;
|
|
/* 02BC6D7C */ if (_t610) goto L_02BC6D80; else goto L_02BC6E18;
|
|
L_02BC6D80: ; // 0x2bc6d80
|
|
/* 02BC6D80 */ _t611 = cpu->r[4] + 0x00000008u;
|
|
/* 02BC6D80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t611);
|
|
/* 02BC6D84 */ _t612 = cpu->r[27] + 0x00000002u;
|
|
/* 02BC6D84 */ cpu->r[29] = rbrew_read8(cpu->mem, _t612);
|
|
/* 02BC6D88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 02BC6D8C */ _t613 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6D8C */ _t614 = _t613 & 0x00000001u;
|
|
/* 02BC6D8C */ if (_t614) goto L_02BC6D90; else goto L_02BC6E18;
|
|
L_02BC6D90: ; // 0x2bc6d90
|
|
/* 02BC6D90 */ _t615 = cpu->r[27] + 0x0000000Du;
|
|
/* 02BC6D90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t615);
|
|
/* 02BC6D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6D98 */ _t616 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6D98 */ _t617 = _t616 & 0x00000001u;
|
|
/* 02BC6D98 */ if (_t617) goto L_02BC6D9C; else goto L_02BC6E18;
|
|
L_02BC6D9C: ; // 0x2bc6d9c
|
|
/* 02BC6D9C */ _t618 = cpu->r[27] + 0x0000000Eu;
|
|
/* 02BC6D9C */ cpu->r[7] = rbrew_read8(cpu->mem, _t618);
|
|
/* 02BC6DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC6DA4 */ _t619 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6DA4 */ _t620 = _t619 & 0x00000001u;
|
|
/* 02BC6DA4 */ if (_t620) goto L_02BC6DA8; else goto L_02BC6E18;
|
|
L_02BC6DA8: ; // 0x2bc6da8
|
|
/* 02BC6DA8 */ _t621 = cpu->r[27] + 0x0000000Fu;
|
|
/* 02BC6DA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t621);
|
|
/* 02BC6DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6DB0 */ _t622 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6DB0 */ _t623 = _t622 & 0x00000001u;
|
|
/* 02BC6DB0 */ if (_t623) goto L_02BC6DB4; else goto L_02BC6E18;
|
|
L_02BC6DB4: ; // 0x2bc6db4
|
|
/* 02BC6DB4 */ cpu->r[3] = cpu->r[27] + 0x00000004u;
|
|
/* 02BC6DB8 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6DBC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC6DC0 */ cpu->r[3] = cpu->r[27] + 0x00000008u;
|
|
/* 02BC6DC4 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6DC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC6DCC */ cpu->r[3] = cpu->r[26];
|
|
/* 02BC6DD0 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BC6DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6DD8 */ _t624 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6DD8 */ _t625 = _t624 & 0x00000001u;
|
|
/* 02BC6DD8 */ if (_t625) goto L_02BC6DDC; else goto L_02BC6E04;
|
|
L_02BC6DDC: ; // 0x2bc6ddc
|
|
/* 02BC6DDC */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC6DE0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BC6DE4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC6DE8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BC6DEC */ Gambit_fn_02BD167C(cpu);
|
|
/* 02BC6DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC6DF4 */ _t626 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6DF4 */ _t627 = _t626 & 0x00000001u;
|
|
/* 02BC6DF4 */ if (_t627) goto L_02BC6E18; else goto L_02BC6DF8;
|
|
L_02BC6DF8: ; // 0x2bc6df8
|
|
/* 02BC6DF8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BC6DFC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC6E00 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC6E04: ; // 0x2bc6e04
|
|
/* 02BC6E04 */ cpu->r[6] = cpu->r[28];
|
|
/* 02BC6E08 */ cpu->r[5] = cpu->r[27];
|
|
/* 02BC6E0C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC6E10 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BC6E14 */ Gambit_fn_02BD17A4(cpu);
|
|
L_02BC6E18: ; // 0x2bc6e18
|
|
/* 02BC6E18 */ /* nop */
|
|
/* 02BC6E1C */ _t628 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6E1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t628);
|
|
/* 02BC6E20 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6E24 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6E28 */ return;
|
|
L_02BC6E2C: ; // 0x2bc6e2c
|
|
/* 02BC6E2C */ _t629 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC6E2C */ rbrew_write32(cpu->mem, _t629, cpu->r[1]);
|
|
/* 02BC6E2C */ cpu->r[1] = _t629;
|
|
/* 02BC6E30 */ /* nop */
|
|
/* 02BC6E34 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC6E38 */ _t630 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6E38 */ rbrew_write32(cpu->mem, _t630, cpu->r[0]);
|
|
/* 02BC6E3C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC6E40 */ _t631 = cpu->r[11] + 0xFFFFB77Cu;
|
|
/* 02BC6E40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t631);
|
|
/* 02BC6E44 */ _t632 = cpu->r[11] + 0x00000144u;
|
|
/* 02BC6E44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t632);
|
|
/* 02BC6E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC6E4C */ _t633 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6E4C */ _t634 = _t633 & 0x00000001u;
|
|
/* 02BC6E4C */ if (_t634) goto L_02BC6F1C; else goto L_02BC6E50;
|
|
L_02BC6E50: ; // 0x2bc6e50
|
|
/* 02BC6E50 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC6E54 */ _t635 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC6E54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t635);
|
|
/* 02BC6E58 */ _t636 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC6E58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t636);
|
|
/* 02BC6E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x0000001Fu);
|
|
/* 02BC6E60 */ _t637 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6E60 */ _t638 = _t637 & 0x00000001u;
|
|
/* 02BC6E60 */ if (_t638) goto L_02BC6E78; else goto L_02BC6E64;
|
|
L_02BC6E64: ; // 0x2bc6e64
|
|
/* 02BC6E64 */ _t639 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC6E64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t639);
|
|
/* 02BC6E68 */ cpu->r[0] = cpu->r[6] ^ cpu->r[8];
|
|
/* 02BC6E6C */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BC6E70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC6E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6E74 */ _t640 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6E74 */ _t641 = _t640 & 0x00000001u;
|
|
/* 02BC6E74 */ if (_t641) goto L_02BC6E78; else goto L_02BC6F1C;
|
|
L_02BC6E78: ; // 0x2bc6e78
|
|
/* 02BC6E78 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02BC6E7C */ _t642 = cpu->r[10] + 0xFFFFB778u;
|
|
/* 02BC6E7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t642);
|
|
/* 02BC6E80 */ _t643 = cpu->r[10] + 0x00000064u;
|
|
/* 02BC6E80 */ cpu->r[27] = rbrew_read32(cpu->mem, _t643);
|
|
/* 02BC6E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BC6E88 */ _t644 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6E88 */ _t645 = _t644 & 0x00000001u;
|
|
/* 02BC6E88 */ if (_t645) goto L_02BC6F1C; else goto L_02BC6E8C;
|
|
L_02BC6E8C: ; // 0x2bc6e8c
|
|
/* 02BC6E8C */ _t646 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC6E8C */ cpu->r[28] = rbrew_read32(cpu->mem, _t646);
|
|
/* 02BC6E90 */ _t647 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC6E90 */ cpu->r[7] = rbrew_read32(cpu->mem, _t647);
|
|
/* 02BC6E94 */ _t648 = cpu->r[28] + 0x00000001u;
|
|
/* 02BC6E94 */ cpu->r[0] = rbrew_read8(cpu->mem, _t648);
|
|
/* 02BC6E98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02BC6E9C */ _t649 = cpu->r[4] + 0x00000004u;
|
|
/* 02BC6E9C */ cpu->r[29] = rbrew_read32(cpu->mem, _t649);
|
|
/* 02BC6EA0 */ _t650 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6EA0 */ _t651 = _t650 & 0x00000001u;
|
|
/* 02BC6EA0 */ if (_t651) goto L_02BC6EA4; else goto L_02BC6F1C;
|
|
L_02BC6EA4: ; // 0x2bc6ea4
|
|
/* 02BC6EA4 */ _t652 = cpu->r[28] + 0x00000002u;
|
|
/* 02BC6EA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t652);
|
|
/* 02BC6EA8 */ _t653 = cpu->r[12] + 0x00000052u;
|
|
/* 02BC6EA8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t653);
|
|
/* 02BC6EAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02BC6EB0 */ _t654 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6EB0 */ _t655 = _t654 & 0x00000001u;
|
|
/* 02BC6EB0 */ if (_t655) goto L_02BC6F1C; else goto L_02BC6EB4;
|
|
L_02BC6EB4: ; // 0x2bc6eb4
|
|
/* 02BC6EB4 */ _t656 = cpu->r[28] + 0x00000003u;
|
|
/* 02BC6EB4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t656);
|
|
/* 02BC6EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC6EBC */ _t657 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6EBC */ _t658 = _t657 & 0x00000001u;
|
|
/* 02BC6EBC */ if (_t658) goto L_02BC6EC0; else goto L_02BC6F1C;
|
|
L_02BC6EC0: ; // 0x2bc6ec0
|
|
/* 02BC6EC0 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02BC6EC4 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6EC8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC6ECC */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02BC6ED0 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BC6ED4 */ _t659 = cpu->r[27] + 0x00000024u;
|
|
/* 02BC6ED4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t659);
|
|
/* 02BC6ED8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC6EDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 02BC6EE0 */ _t660 = cpu->r[27] + 0x00000020u;
|
|
/* 02BC6EE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t660);
|
|
/* 02BC6EE4 */ _t661 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6EE4 */ _t662 = _t661 & 0x00000001u;
|
|
/* 02BC6EE4 */ if (_t662) goto L_02BC6F1C; else goto L_02BC6EE8;
|
|
L_02BC6EE8: ; // 0x2bc6ee8
|
|
/* 02BC6EE8 */ _t663 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC6EE8 */ _t664 = _t663 & 0x00000001u;
|
|
/* 02BC6EE8 */ if (_t664) goto L_02BC6EF4; else goto L_02BC6EEC;
|
|
L_02BC6EEC: ; // 0x2bc6eec
|
|
/* 02BC6EEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02BC6EF0 */ _t665 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC6EF0 */ _t666 = _t665 & 0x00000001u;
|
|
/* 02BC6EF0 */ if (_t666) goto L_02BC6EF4; else goto L_02BC6F1C;
|
|
L_02BC6EF4: ; // 0x2bc6ef4
|
|
/* 02BC6EF4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC6EF8 */ cpu->r[6] = 0x10000000u;
|
|
/* 02BC6EFC */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC6F00 */ Gambit_fn_02BFCF44(cpu);
|
|
/* 02BC6F04 */ cpu->r[5] = cpu->r[29] + 0xFFFFFFF4u;
|
|
/* 02BC6F08 */ cpu->r[4] = cpu->r[28] + 0x0000000Cu;
|
|
/* 02BC6F0C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC6F10 */ Gambit_fn_02BFE2CC(cpu);
|
|
/* 02BC6F14 */ _t667 = cpu->r[27] + 0x00000020u;
|
|
/* 02BC6F14 */ rbrew_write32(cpu->mem, _t667, cpu->r[31]);
|
|
/* 02BC6F18 */ _t668 = cpu->r[27] + 0x00000024u;
|
|
/* 02BC6F18 */ rbrew_write32(cpu->mem, _t668, cpu->r[30]);
|
|
L_02BC6F1C: ; // 0x2bc6f1c
|
|
/* 02BC6F1C */ /* nop */
|
|
/* 02BC6F20 */ _t669 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC6F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t669);
|
|
/* 02BC6F24 */ cpu->lr = cpu->r[0];
|
|
/* 02BC6F28 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC6F2C */ return;
|
|
L_02BC6F30: ; // 0x2bc6f30
|
|
/* 02BC6F30 */ _t670 = cpu->r[4] + 0x00000004u;
|
|
/* 02BC6F30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t670);
|
|
/* 02BC6F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC6F38 */ _t671 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6F38 */ _t672 = _t671 & 0x00000001u;
|
|
/* 02BC6F38 */ if (_t672) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC6F38 */ goto L_02BC6F3C;
|
|
L_02BC6F3C: ; // 0x2bc6f3c
|
|
/* 02BC6F3C */ _t673 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC6F3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t673);
|
|
/* 02BC6F40 */ _t674 = cpu->r[12] + 0x00000000u;
|
|
/* 02BC6F40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t674);
|
|
/* 02BC6F44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000022u);
|
|
/* 02BC6F48 */ _t675 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC6F48 */ _t676 = _t675 & 0x00000001u;
|
|
/* 02BC6F48 */ if (_t676) goto L_02BC6F4C; else goto L_02BC6FC8;
|
|
L_02BC6F4C: ; // 0x2bc6f4c
|
|
/* 02BC6F4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000010u);
|
|
/* 02BC6F50 */ _t677 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC6F50 */ _t678 = _t677 & 0x00000001u;
|
|
/* 02BC6F50 */ if (_t678) goto L_02BC6F54; else goto L_02BC6F90;
|
|
L_02BC6F54: ; // 0x2bc6f54
|
|
/* 02BC6F54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02BC6F58 */ _t679 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6F58 */ _t680 = _t679 & 0x00000001u;
|
|
/* 02BC6F58 */ if (_t680) goto L_02BC7080; else goto L_02BC6F5C;
|
|
L_02BC6F5C: ; // 0x2bc6f5c
|
|
/* 02BC6F5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BC6F60 */ _t681 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6F60 */ _t682 = _t681 & 0x00000001u;
|
|
/* 02BC6F60 */ if (_t682) goto L_02BC7084; else goto L_02BC6F64;
|
|
L_02BC6F64: ; // 0x2bc6f64
|
|
/* 02BC6F64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02BC6F68 */ _t683 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6F68 */ _t684 = _t683 & 0x00000001u;
|
|
/* 02BC6F68 */ if (_t684) goto L_02BC7088; else goto L_02BC6F6C;
|
|
L_02BC6F6C: ; // 0x2bc6f6c
|
|
/* 02BC6F6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000008u);
|
|
/* 02BC6F70 */ _t685 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6F70 */ _t686 = _t685 & 0x00000001u;
|
|
/* 02BC6F70 */ if (_t686) goto L_02BC708C; else goto L_02BC6F74;
|
|
L_02BC6F74: ; // 0x2bc6f74
|
|
/* 02BC6F74 */ _t687 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02BC6F74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t687);
|
|
/* 02BC6F78 */ _t688 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BC6F78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t688);
|
|
/* 02BC6F7C */ cpu->ctr = cpu->r[12];
|
|
/* 02BC6F80 */ cpu->r[3] = cpu->r[4] + 0x0000000Cu;
|
|
/* 02BC6F84 */ cpu->r[6] = 0x40000000u;
|
|
/* 02BC6F88 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC6F8C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02BC6F90: ; // 0x2bc6f90
|
|
/* 02BC6F90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000011u);
|
|
/* 02BC6F94 */ _t689 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC6F94 */ _t690 = _t689 & 0x00000001u;
|
|
/* 02BC6F94 */ if (_t690) goto L_02BC7090; else goto L_02BC6F98;
|
|
L_02BC6F98: ; // 0x2bc6f98
|
|
/* 02BC6F98 */ _t691 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6F98 */ _t692 = _t691 & 0x00000001u;
|
|
/* 02BC6F98 */ if (_t692) goto L_02BC7094; else goto L_02BC6F9C;
|
|
L_02BC6F9C: ; // 0x2bc6f9c
|
|
/* 02BC6F9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000020u);
|
|
/* 02BC6FA0 */ _t693 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6FA0 */ _t694 = _t693 & 0x00000001u;
|
|
/* 02BC6FA0 */ if (_t694) goto L_02BC7098; else goto L_02BC6FA4;
|
|
L_02BC6FA4: ; // 0x2bc6fa4
|
|
/* 02BC6FA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000021u);
|
|
/* 02BC6FA8 */ _t695 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6FA8 */ _t696 = _t695 & 0x00000001u;
|
|
/* 02BC6FA8 */ if (_t696) goto L_02BC709C; else goto L_02BC6FAC;
|
|
L_02BC6FAC: ; // 0x2bc6fac
|
|
/* 02BC6FAC */ _t697 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02BC6FAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t697);
|
|
/* 02BC6FB0 */ _t698 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BC6FB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t698);
|
|
/* 02BC6FB4 */ cpu->ctr = cpu->r[12];
|
|
/* 02BC6FB8 */ cpu->r[3] = cpu->r[4] + 0x0000000Cu;
|
|
/* 02BC6FBC */ cpu->r[6] = 0x40000000u;
|
|
/* 02BC6FC0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC6FC4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02BC6FC8: ; // 0x2bc6fc8
|
|
/* 02BC6FC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000041u);
|
|
/* 02BC6FCC */ _t699 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC6FCC */ _t700 = _t699 & 0x00000001u;
|
|
/* 02BC6FCC */ if (_t700) goto L_02BC6FD0; else goto L_02BC7008;
|
|
L_02BC6FD0: ; // 0x2bc6fd0
|
|
/* 02BC6FD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000023u);
|
|
/* 02BC6FD4 */ _t701 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC6FD4 */ _t702 = _t701 & 0x00000001u;
|
|
/* 02BC6FD4 */ if (_t702) goto L_02BC70A0; else goto L_02BC6FD8;
|
|
L_02BC6FD8: ; // 0x2bc6fd8
|
|
/* 02BC6FD8 */ _t703 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6FD8 */ _t704 = _t703 & 0x00000001u;
|
|
/* 02BC6FD8 */ if (_t704) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC6FD8 */ goto L_02BC6FDC;
|
|
L_02BC6FDC: ; // 0x2bc6fdc
|
|
/* 02BC6FDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000024u);
|
|
/* 02BC6FE0 */ _t705 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6FE0 */ _t706 = _t705 & 0x00000001u;
|
|
/* 02BC6FE0 */ if (_t706) goto L_02BC70A4; else goto L_02BC6FE4;
|
|
L_02BC6FE4: ; // 0x2bc6fe4
|
|
/* 02BC6FE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000040u);
|
|
/* 02BC6FE8 */ _t707 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC6FE8 */ _t708 = _t707 & 0x00000001u;
|
|
/* 02BC6FE8 */ if (_t708) goto L_02BC70A8; else goto L_02BC6FEC;
|
|
L_02BC6FEC: ; // 0x2bc6fec
|
|
/* 02BC6FEC */ _t709 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02BC6FEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t709);
|
|
/* 02BC6FF0 */ _t710 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BC6FF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t710);
|
|
/* 02BC6FF4 */ cpu->ctr = cpu->r[12];
|
|
/* 02BC6FF8 */ cpu->r[3] = cpu->r[4] + 0x0000000Cu;
|
|
/* 02BC6FFC */ cpu->r[6] = 0x40000000u;
|
|
/* 02BC7000 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC7004 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02BC7008: ; // 0x2bc7008
|
|
/* 02BC7008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000049u);
|
|
/* 02BC700C */ _t711 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC700C */ _t712 = _t711 & 0x00000001u;
|
|
/* 02BC700C */ if (_t712) goto L_02BC7010; else goto L_02BC7048;
|
|
L_02BC7010: ; // 0x2bc7010
|
|
/* 02BC7010 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000042u);
|
|
/* 02BC7014 */ _t713 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC7014 */ _t714 = _t713 & 0x00000001u;
|
|
/* 02BC7014 */ if (_t714) goto L_02BC70AC; else goto L_02BC7018;
|
|
L_02BC7018: ; // 0x2bc7018
|
|
/* 02BC7018 */ _t715 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7018 */ _t716 = _t715 & 0x00000001u;
|
|
/* 02BC7018 */ if (_t716) goto L_02BC70B0; else goto L_02BC701C;
|
|
L_02BC701C: ; // 0x2bc701c
|
|
/* 02BC701C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000044u);
|
|
/* 02BC7020 */ _t717 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7020 */ _t718 = _t717 & 0x00000001u;
|
|
/* 02BC7020 */ if (_t718) goto L_02BC70B4; else goto L_02BC7024;
|
|
L_02BC7024: ; // 0x2bc7024
|
|
/* 02BC7024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000048u);
|
|
/* 02BC7028 */ _t719 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7028 */ _t720 = _t719 & 0x00000001u;
|
|
/* 02BC7028 */ if (_t720) goto L_02BC70B8; else goto L_02BC702C;
|
|
L_02BC702C: ; // 0x2bc702c
|
|
/* 02BC702C */ _t721 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02BC702C */ cpu->r[10] = rbrew_read32(cpu->mem, _t721);
|
|
/* 02BC7030 */ _t722 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BC7030 */ cpu->r[12] = rbrew_read32(cpu->mem, _t722);
|
|
/* 02BC7034 */ cpu->ctr = cpu->r[12];
|
|
/* 02BC7038 */ cpu->r[3] = cpu->r[4] + 0x0000000Cu;
|
|
/* 02BC703C */ cpu->r[6] = 0x40000000u;
|
|
/* 02BC7040 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC7044 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02BC7048: ; // 0x2bc7048
|
|
/* 02BC7048 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000004Au);
|
|
/* 02BC704C */ _t723 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC704C */ _t724 = _t723 & 0x00000001u;
|
|
/* 02BC704C */ if (_t724) goto L_02BC70BC; else goto L_02BC7050;
|
|
L_02BC7050: ; // 0x2bc7050
|
|
/* 02BC7050 */ _t725 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7050 */ _t726 = _t725 & 0x00000001u;
|
|
/* 02BC7050 */ if (_t726) goto L_02BC70C0; else goto L_02BC7054;
|
|
L_02BC7054: ; // 0x2bc7054
|
|
/* 02BC7054 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000080u);
|
|
/* 02BC7058 */ _t727 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7058 */ _t728 = _t727 & 0x00000001u;
|
|
/* 02BC7058 */ if (_t728) goto L_02BC70C4; else goto L_02BC705C;
|
|
L_02BC705C: ; // 0x2bc705c
|
|
/* 02BC705C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000081u);
|
|
/* 02BC7060 */ _t729 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7060 */ _t730 = _t729 & 0x00000001u;
|
|
/* 02BC7060 */ if (_t730) goto L_02BC70C8; else goto L_02BC7064;
|
|
L_02BC7064: ; // 0x2bc7064
|
|
/* 02BC7064 */ _t731 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02BC7064 */ cpu->r[10] = rbrew_read32(cpu->mem, _t731);
|
|
/* 02BC7068 */ _t732 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BC7068 */ cpu->r[12] = rbrew_read32(cpu->mem, _t732);
|
|
/* 02BC706C */ cpu->ctr = cpu->r[12];
|
|
/* 02BC7070 */ cpu->r[3] = cpu->r[4] + 0x0000000Cu;
|
|
/* 02BC7074 */ cpu->r[6] = 0x40000000u;
|
|
/* 02BC7078 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC707C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02BC7080: ; // 0x2bc7080
|
|
/* 02BC7080 */ goto L_02BC5840;
|
|
L_02BC7084: ; // 0x2bc7084
|
|
/* 02BC7084 */ goto L_02BC59B8;
|
|
L_02BC7088: ; // 0x2bc7088
|
|
/* 02BC7088 */ goto L_02BC5F38;
|
|
L_02BC708C: ; // 0x2bc708c
|
|
/* 02BC708C */ goto L_02BC6064;
|
|
L_02BC7090: ; // 0x2bc7090
|
|
/* 02BC7090 */ goto L_02BC611C;
|
|
L_02BC7094: ; // 0x2bc7094
|
|
/* 02BC7094 */ goto L_02BC6210;
|
|
L_02BC7098: ; // 0x2bc7098
|
|
/* 02BC7098 */ goto L_02BC6254;
|
|
L_02BC709C: ; // 0x2bc709c
|
|
/* 02BC709C */ goto L_02BC63F4;
|
|
L_02BC70A0: ; // 0x2bc70a0
|
|
/* 02BC70A0 */ goto L_02BC6548;
|
|
L_02BC70A4: ; // 0x2bc70a4
|
|
/* 02BC70A4 */ goto L_02BC663C;
|
|
L_02BC70A8: ; // 0x2bc70a8
|
|
/* 02BC70A8 */ goto L_02BC678C;
|
|
L_02BC70AC: ; // 0x2bc70ac
|
|
/* 02BC70AC */ goto L_02BC686C;
|
|
L_02BC70B0: ; // 0x2bc70b0
|
|
/* 02BC70B0 */ goto L_02BC68FC;
|
|
L_02BC70B4: ; // 0x2bc70b4
|
|
/* 02BC70B4 */ goto L_02BC6980;
|
|
L_02BC70B8: ; // 0x2bc70b8
|
|
/* 02BC70B8 */ goto L_02BC6A3C;
|
|
L_02BC70BC: ; // 0x2bc70bc
|
|
/* 02BC70BC */ goto L_02BC6AC0;
|
|
L_02BC70C0: ; // 0x2bc70c0
|
|
/* 02BC70C0 */ goto L_02BC6BE0;
|
|
L_02BC70C4: ; // 0x2bc70c4
|
|
/* 02BC70C4 */ goto L_02BC6D14;
|
|
L_02BC70C8: ; // 0x2bc70c8
|
|
/* 02BC70C8 */ goto L_02BC6E2C;
|
|
L_02BE2FF4: ; // 0x2be2ff4
|
|
/* 02BE2FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BE2FF8 */ _t733 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BE2FF8 */ _t734 = _t733 & 0x00000001u;
|
|
/* 02BE2FF8 */ if (_t734) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BE2FF8 */ goto L_02BE2FFC;
|
|
L_02BE2FFC: ; // 0x2be2ffc
|
|
/* 02BE2FFC */ cpu->r[12] = cpu->r[3] + cpu->r[4];
|
|
/* 02BE3000 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BE3004 */ _t735 = cpu->r[12] + 0x00000054u;
|
|
/* 02BE3004 */ rbrew_write8(cpu->mem, _t735, (uint8_t)cpu->r[0]);
|
|
/* 02BE3008 */ return;
|
|
}
|
|
|
|
// fn_02BC70CC @ 0x2bc70cc
|
|
void Gambit_fn_02BC70CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419;
|
|
|
|
L_02BC70CC: ; // 0x2bc70cc
|
|
/* 02BC70CC */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 02BC70CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC70CC */ cpu->r[1] = _t0;
|
|
/* 02BC70D0 */ /* nop */
|
|
/* 02BC70D4 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BC70D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC70DC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC70E0 */ _t1 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BC70E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC70E4 */ Gambit_fn_02B6A710(cpu);
|
|
/* 02BC70E8 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC70EC */ _t2 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02BC70EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC70F0 */ _t3 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BC70F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC70F0 */ cpu->r[29] = _t3;
|
|
/* 02BC70F4 */ _t4 = cpu->r[27] + 0x00000010u;
|
|
/* 02BC70F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC70F8 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC70F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC70FC */ cpu->r[4] = cpu->r[1] + 0x00000054u;
|
|
/* 02BC7100 */ _t6 = cpu->r[1] + 0x00000054u;
|
|
/* 02BC7100 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02BC7104 */ Gambit_fn_02BF343C(cpu);
|
|
/* 02BC7108 */ cpu->r[22] = cpu->r[3];
|
|
/* 02BC710C */ _t7 = cpu->r[22] + 0x00000000u;
|
|
/* 02BC710C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC7110 */ _t8 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC7110 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC7114 */ _t9 = cpu->r[5] + 0x00000054u;
|
|
/* 02BC7114 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC7118 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC711C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7120 */ _t10 = cpu->r[22] + 0x00000000u;
|
|
/* 02BC7120 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC7124 */ _t11 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC7124 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC7128 */ _t12 = cpu->r[8] + 0x0000005Cu;
|
|
/* 02BC7128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC712C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC7130 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7138 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7138 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC7138 */ if (_t14) goto L_02BC713C; else goto L_02BC71C0;
|
|
L_02BC713C: ; // 0x2bc713c
|
|
/* 02BC713C */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC7140 */ Gambit_fn_02BF3488(cpu);
|
|
/* 02BC7144 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC7144 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC7148 */ cpu->r[23] = cpu->r[3];
|
|
/* 02BC714C */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC714C */ cpu->r[25] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC7150 */ cpu->r[24] = cpu->r[5] + 0x00000014u;
|
|
/* 02BC7154 */ _t17 = cpu->r[5] + 0x00000001u;
|
|
/* 02BC7154 */ cpu->r[26] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02BC7158 */ Gambit_fn_02BF84B0(cpu);
|
|
/* 02BC715C */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC7160 */ _t18 = cpu->r[23] + 0x00000020u;
|
|
/* 02BC7160 */ cpu->r[31] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02BC7164 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC7164 */ rbrew_write32(cpu->mem, _t19, cpu->r[24]);
|
|
/* 02BC7168 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC716C */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC716C */ rbrew_write32(cpu->mem, _t20, cpu->r[25]);
|
|
/* 02BC7170 */ cpu->r[4] = cpu->r[23] + 0x0000000Cu;
|
|
/* 02BC7174 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7174 */ rbrew_write32(cpu->mem, _t21, cpu->r[26]);
|
|
/* 02BC7178 */ Gambit_fn_02B6AA7C(cpu);
|
|
/* 02BC717C */ _t22 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC717C */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
|
|
/* 02BC7180 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC7184 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC7188 */ _t23 = cpu->r[1] + 0x00000030u;
|
|
/* 02BC7188 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]);
|
|
/* 02BC718C */ Gambit_fn_02BC6F30(cpu);
|
|
/* 02BC7190 */ _t24 = cpu->r[22] + 0x00000000u;
|
|
/* 02BC7190 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC7194 */ _t25 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC7194 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC7198 */ _t26 = cpu->r[4] + 0x00000064u;
|
|
/* 02BC7198 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC719C */ cpu->ctr = cpu->r[6];
|
|
/* 02BC71A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC71A4 */ _t27 = cpu->r[22] + 0x00000000u;
|
|
/* 02BC71A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC71A8 */ _t28 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC71A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC71AC */ _t29 = cpu->r[8] + 0x0000005Cu;
|
|
/* 02BC71AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC71B0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC71B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC71B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC71BC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC71BC */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC71BC */ if (_t31) goto L_02BC713C; else goto L_02BC71C0;
|
|
L_02BC71C0: ; // 0x2bc71c0
|
|
/* 02BC71C0 */ _t32 = cpu->r[27] + 0x00000014u;
|
|
/* 02BC71C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC71C4 */ _t33 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02BC71C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC71C8 */ cpu->ctr = cpu->r[11];
|
|
/* 02BC71CC */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC71D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC71D4 */ _t34 = cpu->r[1] + 0x00000050u;
|
|
/* 02BC71D4 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[3]);
|
|
/* 02BC71D8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC71DC */ _t35 = cpu->r[27] + 0x00000010u;
|
|
/* 02BC71DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC71E0 */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 02BC71E4 */ _t36 = cpu->r[1] + 0x00000052u;
|
|
/* 02BC71E4 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[0]);
|
|
/* 02BC71E8 */ Gambit_fn_02BF343C(cpu);
|
|
/* 02BC71EC */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC71F0 */ _t37 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC71F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC71F4 */ _t38 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC71F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC71F8 */ _t39 = cpu->r[4] + 0x00000054u;
|
|
/* 02BC71F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC71FC */ cpu->ctr = cpu->r[0];
|
|
/* 02BC7200 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7204 */ _t40 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC7204 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC7208 */ _t41 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC7208 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC720C */ _t42 = cpu->r[6] + 0x0000005Cu;
|
|
/* 02BC720C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC7210 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC7214 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC721C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC721C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BC721C */ if (_t44) goto L_02BC7220; else goto L_02BC72FC;
|
|
L_02BC7220: ; // 0x2bc7220
|
|
/* 02BC7220 */ cpu->r[31] = 0x101D0000u;
|
|
L_02BC7224: ; // 0x2bc7224
|
|
/* 02BC7224 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC7228 */ Gambit_fn_02BF3488(cpu);
|
|
/* 02BC722C */ cpu->r[26] = cpu->r[3];
|
|
/* 02BC7230 */ _t45 = cpu->r[26] + 0x00000004u;
|
|
/* 02BC7230 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC7234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000001Fu);
|
|
/* 02BC7238 */ _t46 = cpu->r[9] + 0x00000001u;
|
|
/* 02BC7238 */ cpu->r[12] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02BC723C */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC723C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BC723C */ if (_t48) goto L_02BC72CC; else goto L_02BC7240;
|
|
L_02BC7240: ; // 0x2bc7240
|
|
/* 02BC7240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000001Fu);
|
|
/* 02BC7244 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7244 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BC7244 */ if (_t50) goto L_02BC72CC; else goto L_02BC7248;
|
|
L_02BC7248: ; // 0x2bc7248
|
|
/* 02BC7248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[30]);
|
|
/* 02BC724C */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC724C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BC724C */ if (_t52) goto L_02BC7254; else goto L_02BC7250;
|
|
L_02BC7250: ; // 0x2bc7250
|
|
/* 02BC7250 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02BC7254: ; // 0x2bc7254
|
|
/* 02BC7254 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000070u);
|
|
/* 02BC7258 */ _t53 = cpu->r[27] + 0x0000003Cu;
|
|
/* 02BC7258 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC725C */ cpu->r[25] = cpu->r[12] + cpu->r[0];
|
|
/* 02BC7260 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BC7264 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC7268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC726C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC726C */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BC726C */ if (_t55) goto L_02BC72CC; else goto L_02BC7270;
|
|
L_02BC7270: ; // 0x2bc7270
|
|
/* 02BC7270 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BC7274 */ cpu->r[4] = cpu->r[26];
|
|
/* 02BC7278 */ Gambit_fn_02BF4908(cpu);
|
|
/* 02BC727C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC727C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC7280 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7280 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BC7280 */ if (_t57) goto L_02BC7284; else goto L_02BC72CC;
|
|
L_02BC7284: ; // 0x2bc7284
|
|
/* 02BC7284 */ _t58 = cpu->r[31] + 0xFFFFB6C8u;
|
|
/* 02BC7284 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BC7288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC728C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC728C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BC728C */ if (_t60) goto L_02BC72CC; else goto L_02BC7290;
|
|
L_02BC7290: ; // 0x2bc7290
|
|
/* 02BC7290 */ _t61 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02BC7290 */ cpu->r[26] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BC7294 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC7298 */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC729C */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC72A0 */ cpu->r[6] = cpu->r[26];
|
|
/* 02BC72A4 */ Gambit_fn_02B69330(cpu);
|
|
/* 02BC72A8 */ _t62 = cpu->r[31] + 0xFFFFB6C8u;
|
|
/* 02BC72A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BC72AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC72B0 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC72B0 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BC72B0 */ if (_t64) goto L_02BC72CC; else goto L_02BC72B4;
|
|
L_02BC72B4: ; // 0x2bc72b4
|
|
/* 02BC72B4 */ _t65 = cpu->r[25] + 0x00000030u;
|
|
/* 02BC72B4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BC72B8 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BC72BC */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC72C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC72C4 */ cpu->r[6] = cpu->r[26];
|
|
/* 02BC72C8 */ Gambit_fn_02B69330(cpu);
|
|
L_02BC72CC: ; // 0x2bc72cc
|
|
/* 02BC72CC */ _t66 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC72CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BC72D0 */ _t67 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC72D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BC72D4 */ _t68 = cpu->r[12] + 0x00000064u;
|
|
/* 02BC72D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BC72D8 */ cpu->ctr = cpu->r[4];
|
|
/* 02BC72DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC72E0 */ _t69 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC72E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BC72E4 */ _t70 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC72E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BC72E8 */ _t71 = cpu->r[5] + 0x0000005Cu;
|
|
/* 02BC72E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BC72EC */ cpu->ctr = cpu->r[7];
|
|
/* 02BC72F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC72F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC72F8 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC72F8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02BC72F8 */ if (_t73) goto L_02BC7224; else goto L_02BC72FC;
|
|
L_02BC72FC: ; // 0x2bc72fc
|
|
/* 02BC72FC */ _t74 = cpu->r[27] + 0x00000038u;
|
|
/* 02BC72FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BC7300 */ cpu->r[25] = 0x00000000u;
|
|
/* 02BC7304 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[12]);
|
|
/* 02BC7308 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BC730C */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC730C */ _t76 = _t75 & 0x00000001u;
|
|
/* 02BC730C */ if (_t76) goto L_02BC7310; else goto L_02BC7404;
|
|
L_02BC7310: ; // 0x2bc7310
|
|
/* 02BC7310 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC7314 */ cpu->r[30] = 0x00000000u;
|
|
L_02BC7318: ; // 0x2bc7318
|
|
/* 02BC7318 */ _t77 = cpu->r[27] + 0x0000003Cu;
|
|
/* 02BC7318 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BC731C */ cpu->r[3] = cpu->r[8] + cpu->r[30];
|
|
/* 02BC7320 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC7324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7328 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7328 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02BC7328 */ if (_t79) goto L_02BC73F0; else goto L_02BC732C;
|
|
L_02BC732C: ; // 0x2bc732c
|
|
/* 02BC732C */ cpu->r[26] = 0x00000000u;
|
|
L_02BC7330: ; // 0x2bc7330
|
|
/* 02BC7330 */ _t80 = cpu->r[27] + 0x0000003Cu;
|
|
/* 02BC7330 */ cpu->r[10] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BC7334 */ _t81 = cpu->r[27] + 0x00000044u;
|
|
/* 02BC7334 */ cpu->r[6] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BC7338 */ cpu->r[3] = cpu->r[10] + cpu->r[30];
|
|
/* 02BC733C */ _t82 = cpu->r[27] + 0x00000048u;
|
|
/* 02BC733C */ cpu->r[4] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BC7340 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC7344 */ Gambit_fn_02BF5950(cpu);
|
|
/* 02BC7348 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC7348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC734C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC734C */ _t84 = _t83 & 0x00000001u;
|
|
/* 02BC734C */ if (_t84) goto L_02BC7350; else goto L_02BC73F0;
|
|
L_02BC7350: ; // 0x2bc7350
|
|
/* 02BC7350 */ _t85 = cpu->r[31] + 0xFFFFB6C8u;
|
|
/* 02BC7350 */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BC7354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7358 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7358 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02BC7358 */ if (_t87) goto L_02BC737C; else goto L_02BC735C;
|
|
L_02BC735C: ; // 0x2bc735c
|
|
/* 02BC735C */ _t88 = cpu->r[27] + 0x0000003Cu;
|
|
/* 02BC735C */ cpu->r[12] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BC7360 */ cpu->r[5] = cpu->r[12] + cpu->r[30];
|
|
/* 02BC7364 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BC7368 */ _t89 = cpu->r[5] + 0x00000030u;
|
|
/* 02BC7368 */ cpu->r[24] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BC736C */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC7370 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC7374 */ cpu->r[6] = cpu->r[24];
|
|
/* 02BC7378 */ Gambit_fn_02B69330(cpu);
|
|
L_02BC737C: ; // 0x2bc737c
|
|
/* 02BC737C */ _t90 = cpu->r[27] + 0x0000003Cu;
|
|
/* 02BC737C */ cpu->r[4] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BC7380 */ cpu->r[7] = cpu->r[4] + cpu->r[30];
|
|
/* 02BC7384 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 02BC7388 */ _t91 = cpu->r[7] + 0x00000008u;
|
|
/* 02BC7388 */ cpu->r[24] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BC738C */ Gambit_fn_02B6A710(cpu);
|
|
/* 02BC7390 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
|
|
/* 02BC7394 */ _t92 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC7394 */ cpu->r[3] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BC7398 */ cpu->r[5] = cpu->r[24];
|
|
/* 02BC739C */ Gambit_fn_02BF3118(cpu);
|
|
/* 02BC73A0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC73A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC73A4 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC73A4 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02BC73A4 */ if (_t94) goto L_02BC73A8; else goto L_02BC73E0;
|
|
L_02BC73A8: ; // 0x2bc73a8
|
|
/* 02BC73A8 */ _t95 = cpu->r[27] + 0x00000048u;
|
|
/* 02BC73A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BC73AC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC73B0 */ _t96 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC73B0 */ rbrew_write32(cpu->mem, _t96, cpu->r[24]);
|
|
/* 02BC73B4 */ _t97 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC73B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02BC73B8 */ _t98 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC73B8 */ rbrew_write32(cpu->mem, _t98, cpu->r[6]);
|
|
/* 02BC73BC */ cpu->r[4] = cpu->r[1] + 0x00000034u;
|
|
/* 02BC73C0 */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC73C0 */ rbrew_write32(cpu->mem, _t99, cpu->r[7]);
|
|
/* 02BC73C4 */ Gambit_fn_02B6AA7C(cpu);
|
|
/* 02BC73C8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC73CC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC73D0 */ _t100 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC73D0 */ rbrew_write32(cpu->mem, _t100, cpu->r[26]);
|
|
/* 02BC73D4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC73D8 */ _t101 = cpu->r[1] + 0x00000030u;
|
|
/* 02BC73D8 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[0]);
|
|
/* 02BC73DC */ Gambit_fn_02BC6F30(cpu);
|
|
L_02BC73E0: ; // 0x2bc73e0
|
|
/* 02BC73E0 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC73E4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC73E8 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BC73EC */ goto L_02BC7330;
|
|
L_02BC73F0: ; // 0x2bc73f0
|
|
/* 02BC73F0 */ _t102 = cpu->r[27] + 0x00000038u;
|
|
/* 02BC73F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BC73F4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02BC73F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[12]);
|
|
/* 02BC73FC */ cpu->r[30] = cpu->r[30] + 0x00000070u;
|
|
/* 02BC7400 */ _t103 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC7400 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02BC7400 */ if (_t104) goto L_02BC7318; else goto L_02BC7404;
|
|
L_02BC7404: ; // 0x2bc7404
|
|
/* 02BC7404 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC7408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[12]);
|
|
/* 02BC740C */ _t105 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC740C */ _t106 = _t105 & 0x00000001u;
|
|
/* 02BC740C */ if (_t106) goto L_02BC7410; else goto L_02BC744C;
|
|
L_02BC7410: ; // 0x2bc7410
|
|
/* 02BC7410 */ cpu->r[31] = 0x00000000u;
|
|
L_02BC7414: ; // 0x2bc7414
|
|
/* 02BC7414 */ _t107 = cpu->r[27] + 0x0000003Cu;
|
|
/* 02BC7414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BC7418 */ cpu->r[3] = cpu->r[8] + cpu->r[31];
|
|
/* 02BC741C */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC7420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7424 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7424 */ _t109 = _t108 & 0x00000001u;
|
|
/* 02BC7424 */ if (_t109) goto L_02BC7438; else goto L_02BC7428;
|
|
L_02BC7428: ; // 0x2bc7428
|
|
/* 02BC7428 */ _t110 = cpu->r[27] + 0x0000003Cu;
|
|
/* 02BC7428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02BC742C */ _t111 = cpu->r[27] + 0x00000010u;
|
|
/* 02BC742C */ cpu->r[4] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BC7430 */ cpu->r[3] = cpu->r[10] + cpu->r[31];
|
|
/* 02BC7434 */ Gambit_fn_02BF4D10(cpu);
|
|
L_02BC7438: ; // 0x2bc7438
|
|
/* 02BC7438 */ _t112 = cpu->r[27] + 0x00000038u;
|
|
/* 02BC7438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02BC743C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02BC7440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02BC7444 */ cpu->r[31] = cpu->r[31] + 0x00000070u;
|
|
/* 02BC7448 */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC7448 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02BC7448 */ if (_t114) goto L_02BC7414; else goto L_02BC744C;
|
|
L_02BC744C: ; // 0x2bc744c
|
|
/* 02BC744C */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7450 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC7454 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BC7458 */ cpu->r[25] = 0x101D0000u;
|
|
/* 02BC745C */ _t115 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC745C */ cpu->r[9] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02BC7460 */ _t116 = cpu->r[25] + 0xFFFFB778u;
|
|
/* 02BC7460 */ cpu->r[12] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02BC7460 */ cpu->r[25] = _t116;
|
|
/* 02BC7464 */ cpu->r[20] = 0x00000000u;
|
|
/* 02BC7468 */ _t117 = cpu->r[9] + 0x00000144u;
|
|
/* 02BC7468 */ cpu->r[22] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BC746C */ cpu->r[21] = cpu->r[20];
|
|
/* 02BC7470 */ _t118 = cpu->r[12] + 0x00000008u;
|
|
/* 02BC7470 */ cpu->r[30] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02BC7474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BC7478 */ _t119 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BC7478 */ cpu->r[31] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02BC747C */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC747C */ _t121 = _t120 & 0x00000001u;
|
|
/* 02BC747C */ if (_t121) goto L_02BC7480; else goto L_02BC7498;
|
|
L_02BC7480: ; // 0x2bc7480
|
|
/* 02BC7480 */ /* nop */
|
|
/* 02BC7484 */ _t122 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BC7484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02BC7488 */ cpu->lr = cpu->r[0];
|
|
/* 02BC748C */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02BC7490 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC7494 */ return;
|
|
L_02BC7498: ; // 0x2bc7498
|
|
/* 02BC7498 */ _t123 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7498 */ cpu->r[3] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BC749C */ _t124 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BC749C */ cpu->r[8] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02BC74A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000001Fu);
|
|
/* 02BC74A4 */ _t125 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC74A4 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02BC74A4 */ if (_t126) goto L_02BC756C; else goto L_02BC74A8;
|
|
L_02BC74A8: ; // 0x2bc74a8
|
|
/* 02BC74A8 */ _t127 = cpu->r[3] + 0x00000058u;
|
|
/* 02BC74A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02BC74AC */ cpu->r[5] = cpu->r[8] ^ cpu->r[4];
|
|
/* 02BC74B0 */ cpu->r[6] = rbrew_clz32(cpu->r[5]);
|
|
/* 02BC74B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC74B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC74B8 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC74B8 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02BC74B8 */ if (_t129) goto L_02BC756C; else goto L_02BC74BC;
|
|
L_02BC74BC: ; // 0x2bc74bc
|
|
/* 02BC74BC */ _t130 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC74BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02BC74C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC74C4 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC74C4 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02BC74C4 */ if (_t132) goto L_02BC756C; else goto L_02BC74C8;
|
|
L_02BC74C8: ; // 0x2bc74c8
|
|
/* 02BC74C8 */ _t133 = cpu->r[6] + 0x0000005Cu;
|
|
/* 02BC74C8 */ cpu->r[17] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02BC74CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02BC74D0 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC74D0 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02BC74D0 */ if (_t135) goto L_02BC756C; else goto L_02BC74D4;
|
|
L_02BC74D4: ; // 0x2bc74d4
|
|
/* 02BC74D4 */ cpu->r[18] = 0x00000000u;
|
|
/* 02BC74D8 */ cpu->r[23] = 0x0000001Fu;
|
|
/* 02BC74DC */ cpu->r[24] = 0xFD230000u;
|
|
/* 02BC74E0 */ cpu->r[19] = cpu->r[18];
|
|
/* 02BC74E4 */ cpu->r[16] = 0x00000001u;
|
|
/* 02BC74E8 */ cpu->r[24] = cpu->r[24] + 0xFFFF942Eu;
|
|
/* 02BC74EC */ cpu->r[26] = cpu->r[1] + 0x0000004Cu;
|
|
L_02BC74F0: ; // 0x2bc74f0
|
|
/* 02BC74F0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[17], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC74F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC74F4 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC74F4 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02BC74F4 */ if (_t137) goto L_02BC7544; else goto L_02BC74F8;
|
|
L_02BC74F8: ; // 0x2bc74f8
|
|
/* 02BC74F8 */ _t138 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC74F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02BC74FC */ _t139 = cpu->r[9] + 0x00000028u;
|
|
/* 02BC74FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BC7500 */ _t140 = cpu->r[6] + 0x00000060u;
|
|
/* 02BC7500 */ cpu->r[10] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02BC7504 */ _t141 = cpu->r[10] + cpu->r[19];
|
|
/* 02BC7504 */ cpu->r[11] = rbrew_read8(cpu->mem, _t141);
|
|
/* 02BC7508 */ cpu->r[5] = cpu->r[11] + 0x00000003u;
|
|
/* 02BC750C */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC7510 */ _t142 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02BC7510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02BC7514 */ cpu->r[4] = cpu->r[19];
|
|
/* 02BC7518 */ Gambit_fn_02BE3888(cpu);
|
|
/* 02BC751C */ cpu->r[15] = cpu->r[3];
|
|
/* 02BC7520 */ cpu->r[0] = rbrew_rlwinm(cpu->r[15], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC7520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC7524 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7524 */ _t144 = _t143 & 0x00000001u;
|
|
/* 02BC7524 */ if (_t144) goto L_02BC7544; else goto L_02BC7528;
|
|
L_02BC7528: ; // 0x2bc7528
|
|
/* 02BC7528 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BC752C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC7530 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC7534 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[24]);
|
|
/* 02BC7538 */ _t145 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BC7538 */ rbrew_write32(cpu->mem, _t145, cpu->r[24]);
|
|
/* 02BC753C */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC753C */ _t147 = _t146 & 0x00000001u;
|
|
/* 02BC753C */ if (_t147) goto L_02BC7544; else goto L_02BC7540;
|
|
L_02BC7540: ; // 0x2bc7540
|
|
/* 02BC7540 */ cpu->r[18] = cpu->r[18] | cpu->r[16];
|
|
L_02BC7544: ; // 0x2bc7544
|
|
/* 02BC7544 */ cpu->r[17] = rbrew_rlwinm(cpu->r[17], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02BC7544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02BC7548 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7548 */ _t149 = _t148 & 0x00000001u;
|
|
/* 02BC7548 */ if (_t149) goto L_02BC755C; else goto L_02BC754C;
|
|
L_02BC754C: ; // 0x2bc754c
|
|
/* 02BC754C */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 02BC754C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02BC7550 */ cpu->r[19] = cpu->r[19] + 0x00000001u;
|
|
/* 02BC7554 */ cpu->r[16] = rbrew_rlwinm(cpu->r[16], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BC7558 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7558 */ _t151 = _t150 & 0x00000001u;
|
|
/* 02BC7558 */ if (_t151) goto L_02BC755C; else goto L_02BC74F0;
|
|
L_02BC755C: ; // 0x2bc755c
|
|
/* 02BC755C */ _t152 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC755C */ cpu->r[5] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02BC7560 */ _t153 = cpu->r[5] + 0x00000028u;
|
|
/* 02BC7560 */ cpu->r[11] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02BC7564 */ _t154 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02BC7564 */ rbrew_write32(cpu->mem, _t154, cpu->r[18]);
|
|
/* 02BC7568 */ _t155 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC7568 */ cpu->r[9] = rbrew_read32(cpu->mem, _t155);
|
|
L_02BC756C: ; // 0x2bc756c
|
|
/* 02BC756C */ _t156 = cpu->r[9] + 0x00000034u;
|
|
/* 02BC756C */ cpu->r[8] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02BC7570 */ cpu->r[19] = cpu->r[9] + 0x00000038u;
|
|
/* 02BC7574 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC7578 */ cpu->r[9] = cpu->r[19] + cpu->r[7];
|
|
/* 02BC757C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[9]);
|
|
/* 02BC7580 */ cpu->r[26] = 0x00000000u;
|
|
/* 02BC7584 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7584 */ _t158 = _t157 & 0x00000001u;
|
|
/* 02BC7584 */ if (_t158) goto L_02BC7818; else goto L_02BC7588;
|
|
L_02BC7588: ; // 0x2bc7588
|
|
/* 02BC7588 */ cpu->r[24] = 0x101D0000u;
|
|
/* 02BC758C */ cpu->r[23] = 0x101D0000u;
|
|
L_02BC7590: ; // 0x2bc7590
|
|
/* 02BC7590 */ _t159 = cpu->r[19] + 0x00000000u;
|
|
/* 02BC7590 */ cpu->r[18] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02BC7594 */ cpu->r[19] = cpu->r[19] + 0x00000004u;
|
|
/* 02BC7598 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[22]);
|
|
/* 02BC759C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02BC75A0 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC75A0 */ _t161 = _t160 & 0x00000001u;
|
|
/* 02BC75A0 */ if (_t161) goto L_02BC7698; else goto L_02BC75A4;
|
|
L_02BC75A4: ; // 0x2bc75a4
|
|
/* 02BC75A4 */ _t162 = cpu->r[18] + 0x00000024u;
|
|
/* 02BC75A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02BC75A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000005u);
|
|
/* 02BC75AC */ cpu->r[17] = 0x00000000u;
|
|
/* 02BC75B0 */ _t163 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC75B0 */ _t164 = _t163 & 0x00000001u;
|
|
/* 02BC75B0 */ if (_t164) goto L_02BC75B4; else goto L_02BC7690;
|
|
L_02BC75B4: ; // 0x2bc75b4
|
|
/* 02BC75B4 */ _t165 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC75B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02BC75B8 */ _t166 = cpu->r[10] + 0x00000064u;
|
|
/* 02BC75B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02BC75BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC75C0 */ _t167 = cpu->r[27] + 0x00000028u;
|
|
/* 02BC75C0 */ cpu->r[17] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02BC75C4 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC75C4 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02BC75C4 */ if (_t169) goto L_02BC7618; else goto L_02BC75C8;
|
|
L_02BC75C8: ; // 0x2bc75c8
|
|
/* 02BC75C8 */ _t170 = cpu->r[18] + 0x00000018u;
|
|
/* 02BC75C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02BC75CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000001Fu);
|
|
/* 02BC75D0 */ _t171 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC75D0 */ _t172 = _t171 & 0x00000001u;
|
|
/* 02BC75D0 */ if (_t172) goto L_02BC7618; else goto L_02BC75D4;
|
|
L_02BC75D4: ; // 0x2bc75d4
|
|
/* 02BC75D4 */ _t173 = cpu->r[22] + 0x00000018u;
|
|
/* 02BC75D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t173);
|
|
/* 02BC75D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BC75DC */ _t174 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC75DC */ _t175 = _t174 & 0x00000001u;
|
|
/* 02BC75DC */ if (_t175) goto L_02BC7618; else goto L_02BC75E0;
|
|
L_02BC75E0: ; // 0x2bc75e0
|
|
/* 02BC75E0 */ cpu->r[6] = cpu->r[1] + 0x00000048u;
|
|
/* 02BC75E4 */ Gambit_fn_02BFB208(cpu);
|
|
/* 02BC75E8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC75EC */ cpu->r[12] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02BC75F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC75F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC75F4 */ _t176 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC75F4 */ _t177 = _t176 & 0x00000001u;
|
|
/* 02BC75F4 */ if (_t177) goto L_02BC7618; else goto L_02BC75F8;
|
|
L_02BC75F8: ; // 0x2bc75f8
|
|
/* 02BC75F8 */ _t178 = cpu->r[1] + 0x00000048u;
|
|
/* 02BC75F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02BC75FC */ _t179 = cpu->r[18] + 0x00000018u;
|
|
/* 02BC75FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t179);
|
|
/* 02BC7600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]);
|
|
/* 02BC7604 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7604 */ _t181 = _t180 & 0x00000001u;
|
|
/* 02BC7604 */ if (_t181) goto L_02BC7618; else goto L_02BC7608;
|
|
L_02BC7608: ; // 0x2bc7608
|
|
/* 02BC7608 */ _t182 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC7608 */ cpu->r[3] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02BC760C */ Gambit_fn_02BECAD4(cpu);
|
|
/* 02BC7610 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BC7614 */ cpu->r[17] = cpu->r[17] + cpu->r[0];
|
|
L_02BC7618: ; // 0x2bc7618
|
|
/* 02BC7618 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BC761C */ _t183 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC761C */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02BC7620 */ _t184 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC7620 */ cpu->r[12] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02BC7624 */ /* nop */
|
|
/* 02BC7628 */ /* nop */
|
|
/* 02BC762C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[7]);
|
|
/* 02BC7630 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[17]);
|
|
/* 02BC7634 */ _t185 = cpu->r[18] + 0x00000064u;
|
|
/* 02BC7634 */ cpu->r[5] = rbrew_read32(cpu->mem, _t185);
|
|
/* 02BC7638 */ cpu->r[10] = cpu->r[8] + cpu->r[9];
|
|
/* 02BC763C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[17]);
|
|
/* 02BC7640 */ cpu->r[8] = cpu->r[10] + cpu->r[11];
|
|
/* 02BC7644 */ _t186 = cpu->r[18] + 0x00000060u;
|
|
/* 02BC7644 */ cpu->r[12] = rbrew_read32(cpu->mem, _t186);
|
|
/* 02BC7648 */ cpu->r[10] = cpu->r[5] + cpu->r[9];
|
|
/* 02BC764C */ cpu->r[9] = cpu->r[12] + cpu->r[8];
|
|
/* 02BC7650 */ _t187 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BC7650 */ rbrew_write32(cpu->mem, _t187, cpu->r[10]);
|
|
/* 02BC7654 */ _t188 = cpu->r[1] + 0x00000058u;
|
|
/* 02BC7654 */ rbrew_write32(cpu->mem, _t188, cpu->r[9]);
|
|
/* 02BC7658 */ cpu->r[0] = cpu->r[9] - cpu->r[30];
|
|
/* 02BC765C */ cpu->r[4] = cpu->r[0] - cpu->r[0];
|
|
/* 02BC7660 */ cpu->r[0] = cpu->r[30] ^ cpu->r[9];
|
|
/* 02BC7664 */ cpu->r[9] = cpu->r[10] - cpu->r[31];
|
|
/* 02BC7668 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BC766C */ cpu->r[10] = cpu->r[9] - cpu->r[9];
|
|
/* 02BC7670 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC7674 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[10]);
|
|
/* 02BC7678 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[4]);
|
|
/* 02BC767C */ cpu->r[0] = cpu->r[5] & cpu->r[0];
|
|
/* 02BC7680 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
|
|
/* 02BC7684 */ cpu->r[17] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC7684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02BC7688 */ _t189 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7688 */ _t190 = _t189 & 0x00000001u;
|
|
/* 02BC7688 */ if (_t190) goto L_02BC768C; else goto L_02BC76B8;
|
|
L_02BC768C: ; // 0x2bc768c
|
|
/* 02BC768C */ _t191 = cpu->r[18] + 0x00000024u;
|
|
/* 02BC768C */ cpu->r[4] = rbrew_read32(cpu->mem, _t191);
|
|
L_02BC7690: ; // 0x2bc7690
|
|
/* 02BC7690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000006u);
|
|
/* 02BC7694 */ _t192 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7694 */ _t193 = _t192 & 0x00000001u;
|
|
/* 02BC7694 */ if (_t193) goto L_02BC76B8; else goto L_02BC7698;
|
|
L_02BC7698: ; // 0x2bc7698
|
|
/* 02BC7698 */ _t194 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC7698 */ cpu->r[8] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02BC769C */ _t195 = cpu->r[8] + 0x00000034u;
|
|
/* 02BC769C */ cpu->r[11] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02BC76A0 */ cpu->r[7] = cpu->r[8] + 0x00000038u;
|
|
/* 02BC76A4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC76A8 */ cpu->r[12] = cpu->r[7] + cpu->r[10];
|
|
/* 02BC76AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[12]);
|
|
/* 02BC76B0 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC76B0 */ _t197 = _t196 & 0x00000001u;
|
|
/* 02BC76B0 */ if (_t197) goto L_02BC76B4; else goto L_02BC7590;
|
|
L_02BC76B4: ; // 0x2bc76b4
|
|
/* 02BC76B4 */ goto L_02BC7818;
|
|
L_02BC76B8: ; // 0x2bc76b8
|
|
/* 02BC76B8 */ _t198 = cpu->r[18] + 0x00000018u;
|
|
/* 02BC76B8 */ cpu->r[19] = rbrew_read32(cpu->mem, _t198);
|
|
/* 02BC76BC */ _t199 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC76BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t199);
|
|
/* 02BC76C0 */ cpu->r[4] = cpu->r[19];
|
|
/* 02BC76C4 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BC76C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC76CC */ _t200 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC76CC */ _t201 = _t200 & 0x00000001u;
|
|
/* 02BC76CC */ if (_t201) goto L_02BC7740; else goto L_02BC76D0;
|
|
L_02BC76D0: ; // 0x2bc76d0
|
|
/* 02BC76D0 */ _t202 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC76D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t202);
|
|
/* 02BC76D4 */ _t203 = cpu->r[7] + 0x00000058u;
|
|
/* 02BC76D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t203);
|
|
/* 02BC76D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[4]);
|
|
/* 02BC76DC */ cpu->r[20] = 0x00000001u;
|
|
/* 02BC76E0 */ _t204 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC76E0 */ _t205 = _t204 & 0x00000001u;
|
|
/* 02BC76E0 */ if (_t205) goto L_02BC76E4; else goto L_02BC76F0;
|
|
L_02BC76E4: ; // 0x2bc76e4
|
|
/* 02BC76E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02BC76E8 */ _t206 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC76E8 */ _t207 = _t206 & 0x00000001u;
|
|
/* 02BC76E8 */ if (_t207) goto L_02BC76F0; else goto L_02BC76EC;
|
|
L_02BC76EC: ; // 0x2bc76ec
|
|
/* 02BC76EC */ cpu->r[21] = 0x00000001u;
|
|
L_02BC76F0: ; // 0x2bc76f0
|
|
/* 02BC76F0 */ cpu->r[3] = cpu->r[7];
|
|
/* 02BC76F4 */ cpu->r[4] = cpu->r[19];
|
|
/* 02BC76F8 */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BC76FC */ _t208 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC76FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02BC7700 */ _t209 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02BC7700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t209);
|
|
/* 02BC7704 */ _t210 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BC7704 */ cpu->r[5] = rbrew_read32(cpu->mem, _t210);
|
|
/* 02BC7708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[19]);
|
|
/* 02BC770C */ _t211 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC770C */ _t212 = _t211 & 0x00000001u;
|
|
/* 02BC770C */ if (_t212) goto L_02BC7710; else goto L_02BC772C;
|
|
L_02BC7710: ; // 0x2bc7710
|
|
/* 02BC7710 */ cpu->r[4] = cpu->r[19];
|
|
/* 02BC7714 */ Gambit_fn_02BCD474(cpu);
|
|
/* 02BC7718 */ _t213 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC7718 */ cpu->r[8] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02BC771C */ _t214 = cpu->r[8] + 0x00000064u;
|
|
/* 02BC771C */ cpu->r[3] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02BC7720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7724 */ _t215 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7724 */ _t216 = _t215 & 0x00000001u;
|
|
/* 02BC7724 */ if (_t216) goto L_02BC7768; else goto L_02BC7728;
|
|
L_02BC7728: ; // 0x2bc7728
|
|
/* 02BC7728 */ goto L_02BC7750;
|
|
L_02BC772C: ; // 0x2bc772c
|
|
/* 02BC772C */ _t217 = cpu->r[7] + 0x00000050u;
|
|
/* 02BC772C */ cpu->r[12] = rbrew_read16(cpu->mem, _t217);
|
|
/* 02BC7730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC7734 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7734 */ _t219 = _t218 & 0x00000001u;
|
|
/* 02BC7734 */ if (_t219) goto L_02BC7740; else goto L_02BC7738;
|
|
L_02BC7738: ; // 0x2bc7738
|
|
/* 02BC7738 */ cpu->r[6] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02BC773C */ _t220 = cpu->r[7] + 0x00000050u;
|
|
/* 02BC773C */ rbrew_write16(cpu->mem, _t220, (uint16_t)cpu->r[6]);
|
|
L_02BC7740: ; // 0x2bc7740
|
|
/* 02BC7740 */ _t221 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC7740 */ cpu->r[8] = rbrew_read32(cpu->mem, _t221);
|
|
/* 02BC7744 */ _t222 = cpu->r[8] + 0x00000064u;
|
|
/* 02BC7744 */ cpu->r[3] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02BC7748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC774C */ _t223 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC774C */ _t224 = _t223 & 0x00000001u;
|
|
/* 02BC774C */ if (_t224) goto L_02BC7768; else goto L_02BC7750;
|
|
L_02BC7750: ; // 0x2bc7750
|
|
/* 02BC7750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x0000001Fu);
|
|
/* 02BC7754 */ _t225 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7754 */ _t226 = _t225 & 0x00000001u;
|
|
/* 02BC7754 */ if (_t226) goto L_02BC7768; else goto L_02BC7758;
|
|
L_02BC7758: ; // 0x2bc7758
|
|
/* 02BC7758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02BC775C */ _t227 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC775C */ _t228 = _t227 & 0x00000001u;
|
|
/* 02BC775C */ if (_t228) goto L_02BC7760; else goto L_02BC7768;
|
|
L_02BC7760: ; // 0x2bc7760
|
|
/* 02BC7760 */ cpu->r[4] = cpu->r[19];
|
|
/* 02BC7764 */ Gambit_fn_02BF9BC8(cpu);
|
|
L_02BC7768: ; // 0x2bc7768
|
|
/* 02BC7768 */ _t229 = cpu->r[18] + 0x00000034u;
|
|
/* 02BC7768 */ cpu->r[3] = rbrew_read32(cpu->mem, _t229);
|
|
/* 02BC776C */ _t230 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC776C */ cpu->r[9] = rbrew_read32(cpu->mem, _t230);
|
|
/* 02BC7770 */ _t231 = cpu->r[9] + 0x00000034u;
|
|
/* 02BC7770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t231);
|
|
/* 02BC7774 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC7778 */ cpu->r[4] = cpu->r[18];
|
|
/* 02BC777C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7780 */ _t232 = cpu->r[24] + 0xFFFFB790u;
|
|
/* 02BC7780 */ cpu->r[3] = rbrew_read32(cpu->mem, _t232);
|
|
/* 02BC7784 */ cpu->r[4] = cpu->r[18];
|
|
/* 02BC7788 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BC778C */ _t233 = cpu->r[23] + 0xFFFFB798u;
|
|
/* 02BC778C */ cpu->r[3] = rbrew_read32(cpu->mem, _t233);
|
|
/* 02BC7790 */ cpu->r[4] = cpu->r[18];
|
|
/* 02BC7794 */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BC7798 */ cpu->r[3] = cpu->r[18];
|
|
/* 02BC779C */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BC77A0 */ cpu->r[3] = cpu->r[18];
|
|
/* 02BC77A4 */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BC77A8 */ _t234 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC77A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t234);
|
|
/* 02BC77AC */ cpu->r[4] = cpu->r[18];
|
|
/* 02BC77B0 */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BC77B4 */ _t235 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC77B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t235);
|
|
/* 02BC77B8 */ _t236 = cpu->r[11] + 0x00000010u;
|
|
/* 02BC77B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t236);
|
|
/* 02BC77BC */ cpu->r[4] = cpu->r[19];
|
|
/* 02BC77C0 */ Gambit_fn_02BD1310(cpu);
|
|
/* 02BC77C4 */ _t237 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC77C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t237);
|
|
/* 02BC77C8 */ Gambit_fn_02BEDC48(cpu);
|
|
/* 02BC77CC */ _t238 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC77CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t238);
|
|
/* 02BC77D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BC77D4 */ cpu->r[19] = cpu->r[8] + 0x00000038u;
|
|
/* 02BC77D8 */ _t239 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC77D8 */ _t240 = _t239 & 0x00000001u;
|
|
/* 02BC77D8 */ if (_t240) goto L_02BC77DC; else goto L_02BC7800;
|
|
L_02BC77DC: ; // 0x2bc77dc
|
|
/* 02BC77DC */ cpu->ctr = cpu->r[26];
|
|
L_02BC77E0: ; // 0x2bc77e0
|
|
/* 02BC77E0 */ _t241 = cpu->r[8] + 0x00000034u;
|
|
/* 02BC77E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t241);
|
|
/* 02BC77E4 */ cpu->r[12] = cpu->r[8] + 0x00000038u;
|
|
/* 02BC77E8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC77EC */ cpu->r[19] = cpu->r[19] + 0x00000004u;
|
|
/* 02BC77F0 */ cpu->r[0] = cpu->r[12] + cpu->r[4];
|
|
/* 02BC77F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[0]);
|
|
/* 02BC77F8 */ _t242 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC77F8 */ _t243 = _t242 & 0x00000001u;
|
|
/* 02BC77F8 */ if (_t243) goto L_02BC7800; else goto L_02BC77FC;
|
|
L_02BC77FC: ; // 0x2bc77fc
|
|
/* 02BC77FC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BC77FC */ _t244 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BC77FC */ _t245 = _t244 >> (0x00000002u & 31u);
|
|
/* 02BC77FC */ _t246 = _t245 & 0x00000001u;
|
|
/* 02BC77FC */ if (_t246) goto L_02BC77E0; else goto L_02BC7800;
|
|
L_02BC7800: ; // 0x2bc7800
|
|
/* 02BC7800 */ _t247 = cpu->r[8] + 0x00000034u;
|
|
/* 02BC7800 */ cpu->r[11] = rbrew_read32(cpu->mem, _t247);
|
|
/* 02BC7804 */ cpu->r[7] = cpu->r[8] + 0x00000038u;
|
|
/* 02BC7808 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC780C */ cpu->r[12] = cpu->r[7] + cpu->r[10];
|
|
/* 02BC7810 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[12]);
|
|
/* 02BC7814 */ _t248 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7814 */ _t249 = _t248 & 0x00000001u;
|
|
/* 02BC7814 */ if (_t249) goto L_02BC7818; else goto L_02BC7590;
|
|
L_02BC7818: ; // 0x2bc7818
|
|
/* 02BC7818 */ _t250 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7818 */ cpu->r[3] = rbrew_read32(cpu->mem, _t250);
|
|
/* 02BC781C */ _t251 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BC781C */ cpu->r[8] = rbrew_read32(cpu->mem, _t251);
|
|
/* 02BC7820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000001Fu);
|
|
/* 02BC7824 */ _t252 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7824 */ _t253 = _t252 & 0x00000001u;
|
|
/* 02BC7824 */ if (_t253) goto L_02BC78C4; else goto L_02BC7828;
|
|
L_02BC7828: ; // 0x2bc7828
|
|
/* 02BC7828 */ _t254 = cpu->r[3] + 0x00000058u;
|
|
/* 02BC7828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t254);
|
|
/* 02BC782C */ cpu->r[4] = cpu->r[8] ^ cpu->r[0];
|
|
/* 02BC7830 */ cpu->r[5] = rbrew_clz32(cpu->r[4]);
|
|
/* 02BC7834 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC7834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC7838 */ _t255 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7838 */ _t256 = _t255 & 0x00000001u;
|
|
/* 02BC7838 */ if (_t256) goto L_02BC78C4; else goto L_02BC783C;
|
|
L_02BC783C: ; // 0x2bc783c
|
|
/* 02BC783C */ _t257 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC783C */ cpu->r[23] = rbrew_read32(cpu->mem, _t257);
|
|
/* 02BC7840 */ cpu->r[26] = 0x0000001Fu;
|
|
/* 02BC7844 */ cpu->r[24] = 0x00000000u;
|
|
L_02BC7848: ; // 0x2bc7848
|
|
/* 02BC7848 */ cpu->r[7] = rbrew_rlwinm(cpu->r[23], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC7848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC784C */ _t258 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC784C */ _t259 = _t258 & 0x00000001u;
|
|
/* 02BC784C */ if (_t259) goto L_02BC78A8; else goto L_02BC7850;
|
|
L_02BC7850: ; // 0x2bc7850
|
|
/* 02BC7850 */ _t260 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC7850 */ cpu->r[3] = rbrew_read32(cpu->mem, _t260);
|
|
/* 02BC7854 */ cpu->r[4] = cpu->r[24];
|
|
/* 02BC7858 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC785C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7860 */ _t261 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7860 */ _t262 = _t261 & 0x00000001u;
|
|
/* 02BC7860 */ if (_t262) goto L_02BC7864; else goto L_02BC78A8;
|
|
L_02BC7864: ; // 0x2bc7864
|
|
/* 02BC7864 */ _t263 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7864 */ cpu->r[3] = rbrew_read32(cpu->mem, _t263);
|
|
/* 02BC7868 */ cpu->r[4] = cpu->r[24];
|
|
/* 02BC786C */ cpu->r[20] = 0x00000001u;
|
|
/* 02BC7870 */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BC7874 */ _t264 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7874 */ cpu->r[10] = rbrew_read32(cpu->mem, _t264);
|
|
/* 02BC7878 */ _t265 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BC7878 */ cpu->r[3] = rbrew_read32(cpu->mem, _t265);
|
|
/* 02BC787C */ _t266 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BC787C */ cpu->r[0] = rbrew_read32(cpu->mem, _t266);
|
|
/* 02BC7880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 02BC7884 */ _t267 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7884 */ _t268 = _t267 & 0x00000001u;
|
|
/* 02BC7884 */ if (_t268) goto L_02BC7888; else goto L_02BC7890;
|
|
L_02BC7888: ; // 0x2bc7888
|
|
/* 02BC7888 */ cpu->r[4] = cpu->r[24];
|
|
/* 02BC788C */ Gambit_fn_02BCD474(cpu);
|
|
L_02BC7890: ; // 0x2bc7890
|
|
/* 02BC7890 */ _t269 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC7890 */ cpu->r[4] = rbrew_read32(cpu->mem, _t269);
|
|
/* 02BC7894 */ _t270 = cpu->r[4] + 0x00000064u;
|
|
/* 02BC7894 */ cpu->r[3] = rbrew_read32(cpu->mem, _t270);
|
|
/* 02BC7898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC789C */ _t271 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC789C */ _t272 = _t271 & 0x00000001u;
|
|
/* 02BC789C */ if (_t272) goto L_02BC78A8; else goto L_02BC78A0;
|
|
L_02BC78A0: ; // 0x2bc78a0
|
|
/* 02BC78A0 */ cpu->r[4] = cpu->r[24];
|
|
/* 02BC78A4 */ Gambit_fn_02BF9BC8(cpu);
|
|
L_02BC78A8: ; // 0x2bc78a8
|
|
/* 02BC78A8 */ cpu->r[23] = rbrew_rlwinm(cpu->r[23], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02BC78A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02BC78AC */ _t273 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC78AC */ _t274 = _t273 & 0x00000001u;
|
|
/* 02BC78AC */ if (_t274) goto L_02BC78BC; else goto L_02BC78B0;
|
|
L_02BC78B0: ; // 0x2bc78b0
|
|
/* 02BC78B0 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02BC78B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BC78B4 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02BC78B8 */ _t275 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC78B8 */ _t276 = _t275 & 0x00000001u;
|
|
/* 02BC78B8 */ if (_t276) goto L_02BC78BC; else goto L_02BC7848;
|
|
L_02BC78BC: ; // 0x2bc78bc
|
|
/* 02BC78BC */ _t277 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC78BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t277);
|
|
/* 02BC78C0 */ _t278 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BC78C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t278);
|
|
L_02BC78C4: ; // 0x2bc78c4
|
|
/* 02BC78C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02BC78C8 */ _t279 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC78C8 */ _t280 = _t279 & 0x00000001u;
|
|
/* 02BC78C8 */ if (_t280) goto L_02BC7A54; else goto L_02BC78CC;
|
|
L_02BC78CC: ; // 0x2bc78cc
|
|
/* 02BC78CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000001Fu);
|
|
/* 02BC78D0 */ _t281 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC78D0 */ _t282 = _t281 & 0x00000001u;
|
|
/* 02BC78D0 */ if (_t282) goto L_02BC78F8; else goto L_02BC78D4;
|
|
L_02BC78D4: ; // 0x2bc78d4
|
|
/* 02BC78D4 */ _t283 = cpu->r[3] + 0x00000058u;
|
|
/* 02BC78D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t283);
|
|
/* 02BC78D8 */ cpu->r[6] = cpu->r[8] ^ cpu->r[5];
|
|
/* 02BC78DC */ cpu->r[7] = rbrew_clz32(cpu->r[6]);
|
|
/* 02BC78E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC78E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC78E4 */ _t284 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC78E4 */ _t285 = _t284 & 0x00000001u;
|
|
/* 02BC78E4 */ if (_t285) goto L_02BC78F8; else goto L_02BC78E8;
|
|
L_02BC78E8: ; // 0x2bc78e8
|
|
/* 02BC78E8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC78EC */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC78F0 */ Gambit_fn_02BC5C08(cpu);
|
|
/* 02BC78F4 */ goto L_02BC7C88;
|
|
L_02BC78F8: ; // 0x2bc78f8
|
|
/* 02BC78F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02BC78FC */ _t286 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC78FC */ _t287 = _t286 & 0x00000001u;
|
|
/* 02BC78FC */ if (_t287) goto L_02BC7C88; else goto L_02BC7900;
|
|
L_02BC7900: ; // 0x2bc7900
|
|
/* 02BC7900 */ _t288 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC7900 */ cpu->r[26] = rbrew_read32(cpu->mem, _t288);
|
|
/* 02BC7904 */ cpu->r[31] = 0x00000001u;
|
|
/* 02BC7908 */ cpu->r[30] = 0x0000001Fu;
|
|
/* 02BC790C */ cpu->r[27] = 0x00000000u;
|
|
L_02BC7910: ; // 0x2bc7910
|
|
/* 02BC7910 */ /* nop */
|
|
/* 02BC7914 */ cpu->r[9] = cpu->r[26] & cpu->r[8];
|
|
/* 02BC7914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC7918 */ _t289 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7918 */ _t290 = _t289 & 0x00000001u;
|
|
/* 02BC7918 */ if (_t290) goto L_02BC7954; else goto L_02BC791C;
|
|
L_02BC791C: ; // 0x2bc791c
|
|
/* 02BC791C */ _t291 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC791C */ cpu->r[3] = rbrew_read32(cpu->mem, _t291);
|
|
/* 02BC7920 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC7924 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC7928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC792C */ _t292 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC792C */ _t293 = _t292 & 0x00000001u;
|
|
/* 02BC792C */ if (_t293) goto L_02BC7930; else goto L_02BC7954;
|
|
L_02BC7930: ; // 0x2bc7930
|
|
/* 02BC7930 */ _t294 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7930 */ cpu->r[3] = rbrew_read32(cpu->mem, _t294);
|
|
/* 02BC7934 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC7938 */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BC793C */ _t295 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC793C */ cpu->r[10] = rbrew_read32(cpu->mem, _t295);
|
|
/* 02BC7940 */ _t296 = cpu->r[10] + 0x00000050u;
|
|
/* 02BC7940 */ cpu->r[11] = rbrew_read16(cpu->mem, _t296);
|
|
/* 02BC7944 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02BC7948 */ _t297 = cpu->r[10] + 0x00000050u;
|
|
/* 02BC7948 */ rbrew_write16(cpu->mem, _t297, (uint16_t)cpu->r[11]);
|
|
/* 02BC794C */ _t298 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC794C */ cpu->r[3] = rbrew_read32(cpu->mem, _t298);
|
|
/* 02BC7950 */ Gambit_fn_02BEDC48(cpu);
|
|
L_02BC7954: ; // 0x2bc7954
|
|
/* 02BC7954 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BC7954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC7958 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02BC795C */ _t299 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC795C */ _t300 = _t299 & 0x00000001u;
|
|
/* 02BC795C */ if (_t300) goto L_02BC7960; else goto L_02BC7910;
|
|
L_02BC7960: ; // 0x2bc7960
|
|
/* 02BC7960 */ _t301 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7960 */ cpu->r[3] = rbrew_read32(cpu->mem, _t301);
|
|
/* 02BC7964 */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC7968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC796C */ _t302 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC796C */ cpu->r[3] = rbrew_read32(cpu->mem, _t302);
|
|
/* 02BC7970 */ _t303 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7970 */ _t304 = _t303 & 0x00000001u;
|
|
/* 02BC7970 */ if (_t304) goto L_02BC79C8; else goto L_02BC7974;
|
|
L_02BC7974: ; // 0x2bc7974
|
|
/* 02BC7974 */ _t305 = cpu->r[3] + 0x00000068u;
|
|
/* 02BC7974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t305);
|
|
/* 02BC7978 */ _t306 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC7978 */ cpu->r[3] = rbrew_read32(cpu->mem, _t306);
|
|
/* 02BC797C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BC7980 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC7984 */ _t307 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7984 */ _t308 = _t307 & 0x00000001u;
|
|
/* 02BC7984 */ if (_t308) goto L_02BC7988; else goto L_02BC79A4;
|
|
L_02BC7988: ; // 0x2bc7988
|
|
/* 02BC7988 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC798C */ cpu->r[5] = cpu->r[4];
|
|
/* 02BC7990 */ cpu->r[7] = cpu->r[6];
|
|
/* 02BC7994 */ Gambit_fn_02BCB930(cpu);
|
|
/* 02BC7998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC799C */ _t309 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC799C */ _t310 = _t309 & 0x00000001u;
|
|
/* 02BC799C */ if (_t310) goto L_02BC7C88; else goto L_02BC79A0;
|
|
L_02BC79A0: ; // 0x2bc79a0
|
|
/* 02BC79A0 */ goto L_02BC79B4;
|
|
L_02BC79A4: ; // 0x2bc79a4
|
|
/* 02BC79A4 */ cpu->r[5] = 0x000000FDu;
|
|
/* 02BC79A8 */ Gambit_fn_02BCA55C(cpu);
|
|
/* 02BC79AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC79B0 */ _t311 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC79B0 */ _t312 = _t311 & 0x00000001u;
|
|
/* 02BC79B0 */ if (_t312) goto L_02BC7C88; else goto L_02BC79B4;
|
|
L_02BC79B4: ; // 0x2bc79b4
|
|
/* 02BC79B4 */ _t313 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC79B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t313);
|
|
/* 02BC79B8 */ _t314 = cpu->r[5] + 0x0000001Cu;
|
|
/* 02BC79B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t314);
|
|
/* 02BC79BC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC79C0 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BC79C4 */ goto L_02BC7C88;
|
|
L_02BC79C8: ; // 0x2bc79c8
|
|
/* 02BC79C8 */ Gambit_fn_02BC28A8(cpu);
|
|
/* 02BC79CC */ _t315 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC79CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t315);
|
|
/* 02BC79D0 */ _t316 = cpu->r[6] + 0x00000004u;
|
|
/* 02BC79D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t316);
|
|
/* 02BC79D4 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BC79D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC79DC */ _t317 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC79DC */ _t318 = _t317 & 0x00000001u;
|
|
/* 02BC79DC */ if (_t318) goto L_02BC7A34; else goto L_02BC79E0;
|
|
L_02BC79E0: ; // 0x2bc79e0
|
|
/* 02BC79E0 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 02BC79E4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC79E8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC79EC */ cpu->r[8] = 0xFD230000u;
|
|
/* 02BC79F0 */ _t319 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC79F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t319);
|
|
/* 02BC79F4 */ cpu->r[7] = cpu->r[8] + 0xFFFF94E1u;
|
|
/* 02BC79F8 */ _t320 = cpu->r[1] + 0x00000060u;
|
|
/* 02BC79F8 */ rbrew_write32(cpu->mem, _t320, cpu->r[7]);
|
|
/* 02BC79FC */ _t321 = cpu->r[1] + 0x00000064u;
|
|
/* 02BC79FC */ rbrew_write32(cpu->mem, _t321, cpu->r[7]);
|
|
/* 02BC7A00 */ _t322 = cpu->r[9] + 0x00000004u;
|
|
/* 02BC7A00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t322);
|
|
/* 02BC7A04 */ cpu->r[4] = cpu->r[1] + 0x00000064u;
|
|
/* 02BC7A08 */ Gambit_fn_02BBB968(cpu);
|
|
/* 02BC7A0C */ _t323 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7A0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t323);
|
|
/* 02BC7A10 */ _t324 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC7A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t324);
|
|
/* 02BC7A14 */ _t325 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC7A14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t325);
|
|
/* 02BC7A18 */ _t326 = cpu->r[10] + 0x00000014u;
|
|
/* 02BC7A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t326);
|
|
/* 02BC7A1C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC7A20 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC7A24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7A28 */ _t327 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7A28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t327);
|
|
/* 02BC7A2C */ Gambit_fn_02BC2DA0(cpu);
|
|
/* 02BC7A30 */ goto L_02BC7C88;
|
|
L_02BC7A34: ; // 0x2bc7a34
|
|
/* 02BC7A34 */ _t328 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7A34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t328);
|
|
/* 02BC7A38 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BC7A3C */ _t329 = cpu->r[12] + 0x00000064u;
|
|
/* 02BC7A3C */ rbrew_write32(cpu->mem, _t329, cpu->r[4]);
|
|
/* 02BC7A40 */ _t330 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7A40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t330);
|
|
/* 02BC7A44 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BC7A48 */ _t331 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7A48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t331);
|
|
/* 02BC7A4C */ Gambit_fn_02BC2DA0(cpu);
|
|
/* 02BC7A50 */ goto L_02BC7C88;
|
|
L_02BC7A54: ; // 0x2bc7a54
|
|
/* 02BC7A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000001Fu);
|
|
/* 02BC7A58 */ _t332 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7A58 */ _t333 = _t332 & 0x00000001u;
|
|
/* 02BC7A58 */ if (_t333) goto L_02BC7B78; else goto L_02BC7A5C;
|
|
L_02BC7A5C: ; // 0x2bc7a5c
|
|
/* 02BC7A5C */ _t334 = cpu->r[3] + 0x00000058u;
|
|
/* 02BC7A5C */ cpu->r[5] = rbrew_read32(cpu->mem, _t334);
|
|
/* 02BC7A60 */ cpu->r[6] = cpu->r[8] ^ cpu->r[5];
|
|
/* 02BC7A64 */ cpu->r[7] = rbrew_clz32(cpu->r[6]);
|
|
/* 02BC7A68 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC7A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC7A6C */ _t335 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7A6C */ _t336 = _t335 & 0x00000001u;
|
|
/* 02BC7A6C */ if (_t336) goto L_02BC7B78; else goto L_02BC7A70;
|
|
L_02BC7A70: ; // 0x2bc7a70
|
|
/* 02BC7A70 */ _t337 = cpu->r[3] + 0x00000050u;
|
|
/* 02BC7A70 */ cpu->r[8] = rbrew_read16(cpu->mem, _t337);
|
|
/* 02BC7A74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000001u);
|
|
/* 02BC7A78 */ _t338 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7A78 */ _t339 = _t338 & 0x00000001u;
|
|
/* 02BC7A78 */ if (_t339) goto L_02BC7A7C; else goto L_02BC7B04;
|
|
L_02BC7A7C: ; // 0x2bc7a7c
|
|
/* 02BC7A7C */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC7A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7A84 */ _t340 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7A84 */ _t341 = _t340 & 0x00000001u;
|
|
/* 02BC7A84 */ if (_t341) goto L_02BC7A9C; else goto L_02BC7A88;
|
|
L_02BC7A88: ; // 0x2bc7a88
|
|
/* 02BC7A88 */ _t342 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7A88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t342);
|
|
/* 02BC7A8C */ _t343 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC7A8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t343);
|
|
/* 02BC7A90 */ _t344 = cpu->r[8] + 0x0000006Eu;
|
|
/* 02BC7A90 */ cpu->r[9] = rbrew_read8(cpu->mem, _t344);
|
|
/* 02BC7A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC7A98 */ _t345 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7A98 */ _t346 = _t345 & 0x00000001u;
|
|
/* 02BC7A98 */ if (_t346) goto L_02BC7A9C; else goto L_02BC7B04;
|
|
L_02BC7A9C: ; // 0x2bc7a9c
|
|
/* 02BC7A9C */ _t347 = cpu->r[27] + 0x0000002Cu;
|
|
/* 02BC7A9C */ cpu->r[28] = rbrew_read32(cpu->mem, _t347);
|
|
/* 02BC7AA0 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BC7AA4 */ _t348 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC7AA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t348);
|
|
/* 02BC7AA8 */ /* nop */
|
|
/* 02BC7AAC */ _t349 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC7AAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t349);
|
|
/* 02BC7AB0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[28]);
|
|
/* 02BC7AB4 */ /* nop */
|
|
/* 02BC7AB8 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[6]);
|
|
/* 02BC7ABC */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC7AC0 */ _t350 = cpu->r[27] + 0x00000034u;
|
|
/* 02BC7AC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t350);
|
|
/* 02BC7AC4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[28]);
|
|
/* 02BC7AC8 */ cpu->r[11] = cpu->r[12] + cpu->r[4];
|
|
/* 02BC7ACC */ _t351 = cpu->r[27] + 0x00000030u;
|
|
/* 02BC7ACC */ cpu->r[9] = rbrew_read32(cpu->mem, _t351);
|
|
/* 02BC7AD0 */ cpu->r[0] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC7AD4 */ cpu->r[5] = cpu->r[9] + cpu->r[11];
|
|
/* 02BC7AD8 */ _t352 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02BC7AD8 */ rbrew_write32(cpu->mem, _t352, cpu->r[0]);
|
|
/* 02BC7ADC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[5]);
|
|
/* 02BC7AE0 */ _t353 = cpu->r[1] + 0x00000068u;
|
|
/* 02BC7AE0 */ rbrew_write32(cpu->mem, _t353, cpu->r[5]);
|
|
/* 02BC7AE4 */ _t354 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC7AE4 */ _t355 = _t354 & 0x00000001u;
|
|
/* 02BC7AE4 */ if (_t355) goto L_02BC7B00; else goto L_02BC7AE8;
|
|
L_02BC7AE8: ; // 0x2bc7ae8
|
|
/* 02BC7AE8 */ _t356 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7AE8 */ _t357 = _t356 & 0x00000001u;
|
|
/* 02BC7AE8 */ if (_t357) goto L_02BC7AF4; else goto L_02BC7AEC;
|
|
L_02BC7AEC: ; // 0x2bc7aec
|
|
/* 02BC7AEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02BC7AF0 */ _t358 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7AF0 */ _t359 = _t358 & 0x00000001u;
|
|
/* 02BC7AF0 */ if (_t359) goto L_02BC7AF4; else goto L_02BC7B00;
|
|
L_02BC7AF4: ; // 0x2bc7af4
|
|
/* 02BC7AF4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC7AF8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC7AFC */ Gambit_fn_02BC5C08(cpu);
|
|
L_02BC7B00: ; // 0x2bc7b00
|
|
/* 02BC7B00 */ _t360 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7B00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t360);
|
|
L_02BC7B04: ; // 0x2bc7b04
|
|
/* 02BC7B04 */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC7B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7B0C */ _t361 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7B0C */ _t362 = _t361 & 0x00000001u;
|
|
/* 02BC7B0C */ if (_t362) goto L_02BC7C88; else goto L_02BC7B10;
|
|
L_02BC7B10: ; // 0x2bc7b10
|
|
/* 02BC7B10 */ _t363 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7B10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t363);
|
|
/* 02BC7B14 */ _t364 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC7B14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t364);
|
|
/* 02BC7B18 */ _t365 = cpu->r[3] + 0x0000006Eu;
|
|
/* 02BC7B18 */ cpu->r[7] = rbrew_read8(cpu->mem, _t365);
|
|
/* 02BC7B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC7B20 */ _t366 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7B20 */ _t367 = _t366 & 0x00000001u;
|
|
/* 02BC7B20 */ if (_t367) goto L_02BC7B24; else goto L_02BC7C88;
|
|
L_02BC7B24: ; // 0x2bc7b24
|
|
/* 02BC7B24 */ _t368 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC7B24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t368);
|
|
/* 02BC7B28 */ _t369 = cpu->r[8] + 0x0000003Cu;
|
|
/* 02BC7B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t369);
|
|
/* 02BC7B2C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC7B30 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7B38 */ _t370 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7B38 */ _t371 = _t370 & 0x00000001u;
|
|
/* 02BC7B38 */ if (_t371) goto L_02BC7C88; else goto L_02BC7B3C;
|
|
L_02BC7B3C: ; // 0x2bc7b3c
|
|
/* 02BC7B3C */ _t372 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7B3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t372);
|
|
/* 02BC7B40 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC7B44 */ _t373 = cpu->r[10] + 0x00000014u;
|
|
/* 02BC7B44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t373);
|
|
/* 02BC7B48 */ cpu->r[5] = 0x00000001u;
|
|
/* 02BC7B4C */ Gambit_fn_02BE2AE0(cpu);
|
|
/* 02BC7B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7B54 */ _t374 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7B54 */ _t375 = _t374 & 0x00000001u;
|
|
/* 02BC7B54 */ if (_t375) goto L_02BC7C88; else goto L_02BC7B58;
|
|
L_02BC7B58: ; // 0x2bc7b58
|
|
/* 02BC7B58 */ _t376 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7B58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t376);
|
|
/* 02BC7B5C */ _t377 = cpu->r[11] + 0x00000014u;
|
|
/* 02BC7B5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t377);
|
|
/* 02BC7B60 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC7B64 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BC7B68 */ _t378 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7B68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t378);
|
|
/* 02BC7B6C */ cpu->r[4] = 0x00000009u;
|
|
/* 02BC7B70 */ _t379 = cpu->r[12] + 0x00000064u;
|
|
/* 02BC7B70 */ rbrew_write32(cpu->mem, _t379, cpu->r[4]);
|
|
/* 02BC7B74 */ goto L_02BC7C88;
|
|
L_02BC7B78: ; // 0x2bc7b78
|
|
/* 02BC7B78 */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC7B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7B80 */ _t380 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7B80 */ _t381 = _t380 & 0x00000001u;
|
|
/* 02BC7B80 */ if (_t381) goto L_02BC7C88; else goto L_02BC7B84;
|
|
L_02BC7B84: ; // 0x2bc7b84
|
|
/* 02BC7B84 */ _t382 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7B84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t382);
|
|
/* 02BC7B88 */ Gambit_fn_02BC4BC8(cpu);
|
|
/* 02BC7B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7B90 */ _t383 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7B90 */ _t384 = _t383 & 0x00000001u;
|
|
/* 02BC7B90 */ if (_t384) goto L_02BC7C88; else goto L_02BC7B94;
|
|
L_02BC7B94: ; // 0x2bc7b94
|
|
/* 02BC7B94 */ _t385 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7B94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t385);
|
|
/* 02BC7B98 */ _t386 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC7B98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t386);
|
|
/* 02BC7B9C */ _t387 = cpu->r[9] + 0x0000006Eu;
|
|
/* 02BC7B9C */ cpu->r[5] = rbrew_read8(cpu->mem, _t387);
|
|
/* 02BC7BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC7BA4 */ _t388 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7BA4 */ _t389 = _t388 & 0x00000001u;
|
|
/* 02BC7BA4 */ if (_t389) goto L_02BC7BA8; else goto L_02BC7C80;
|
|
L_02BC7BA8: ; // 0x2bc7ba8
|
|
/* 02BC7BA8 */ _t390 = cpu->r[3] + 0x00000058u;
|
|
/* 02BC7BA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t390);
|
|
/* 02BC7BAC */ _t391 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC7BAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t391);
|
|
/* 02BC7BB0 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC7BB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC7BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC7BB8 */ _t392 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7BB8 */ _t393 = _t392 & 0x00000001u;
|
|
/* 02BC7BB8 */ if (_t393) goto L_02BC7C50; else goto L_02BC7BBC;
|
|
L_02BC7BBC: ; // 0x2bc7bbc
|
|
/* 02BC7BBC */ _t394 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7BBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t394);
|
|
/* 02BC7BC0 */ _t395 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC7BC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t395);
|
|
/* 02BC7BC4 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BC7BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7BCC */ _t396 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7BCC */ _t397 = _t396 & 0x00000001u;
|
|
/* 02BC7BCC */ if (_t397) goto L_02BC7BF4; else goto L_02BC7BD0;
|
|
L_02BC7BD0: ; // 0x2bc7bd0
|
|
/* 02BC7BD0 */ _t398 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7BD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t398);
|
|
/* 02BC7BD4 */ _t399 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC7BD4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t399);
|
|
/* 02BC7BD8 */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BC7BDC */ _t400 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7BDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t400);
|
|
/* 02BC7BE0 */ _t401 = cpu->r[3] + 0x00000050u;
|
|
/* 02BC7BE0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t401);
|
|
/* 02BC7BE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC7BE8 */ _t402 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7BE8 */ _t403 = _t402 & 0x00000001u;
|
|
/* 02BC7BE8 */ if (_t403) goto L_02BC7BF4; else goto L_02BC7BEC;
|
|
L_02BC7BEC: ; // 0x2bc7bec
|
|
/* 02BC7BEC */ cpu->r[0] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02BC7BF0 */ _t404 = cpu->r[3] + 0x00000050u;
|
|
/* 02BC7BF0 */ rbrew_write16(cpu->mem, _t404, (uint16_t)cpu->r[0]);
|
|
L_02BC7BF4: ; // 0x2bc7bf4
|
|
/* 02BC7BF4 */ _t405 = cpu->r[31] + 0x00000034u;
|
|
/* 02BC7BF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t405);
|
|
/* 02BC7BF8 */ _t406 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC7BF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t406);
|
|
/* 02BC7BFC */ _t407 = cpu->r[4] + 0x00000034u;
|
|
/* 02BC7BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t407);
|
|
/* 02BC7C00 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC7C04 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC7C08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7C0C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC7C10 */ _t408 = cpu->r[3] + 0xFFFFB790u;
|
|
/* 02BC7C10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t408);
|
|
/* 02BC7C14 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC7C18 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BC7C1C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC7C20 */ _t409 = cpu->r[3] + 0xFFFFB798u;
|
|
/* 02BC7C20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t409);
|
|
/* 02BC7C24 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC7C28 */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BC7C2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC7C30 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BC7C34 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC7C38 */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BC7C3C */ _t410 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC7C3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t410);
|
|
/* 02BC7C40 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC7C44 */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BC7C48 */ _t411 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC7C48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t411);
|
|
/* 02BC7C4C */ Gambit_fn_02BEDC48(cpu);
|
|
L_02BC7C50: ; // 0x2bc7c50
|
|
/* 02BC7C50 */ _t412 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7C50 */ cpu->r[6] = rbrew_read32(cpu->mem, _t412);
|
|
/* 02BC7C54 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC7C58 */ _t413 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02BC7C58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t413);
|
|
/* 02BC7C5C */ cpu->r[5] = 0x000000FDu;
|
|
/* 02BC7C60 */ Gambit_fn_02BCA55C(cpu);
|
|
/* 02BC7C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7C68 */ _t414 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7C68 */ _t415 = _t414 & 0x00000001u;
|
|
/* 02BC7C68 */ if (_t415) goto L_02BC7C7C; else goto L_02BC7C6C;
|
|
L_02BC7C6C: ; // 0x2bc7c6c
|
|
/* 02BC7C6C */ _t416 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7C6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t416);
|
|
/* 02BC7C70 */ _t417 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02BC7C70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t417);
|
|
/* 02BC7C74 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC7C78 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC7C7C: ; // 0x2bc7c7c
|
|
/* 02BC7C7C */ _t418 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC7C7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t418);
|
|
L_02BC7C80: ; // 0x2bc7c80
|
|
/* 02BC7C80 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC7C84 */ Gambit_fn_02BC4BC0(cpu);
|
|
L_02BC7C88: ; // 0x2bc7c88
|
|
/* 02BC7C88 */ /* nop */
|
|
/* 02BC7C8C */ _t419 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BC7C8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t419);
|
|
/* 02BC7C90 */ cpu->lr = cpu->r[0];
|
|
/* 02BC7C94 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02BC7C98 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC7C9C */ return;
|
|
}
|
|
|
|
// fn_02BC7CA0 @ 0x2bc7ca0
|
|
void Gambit_fn_02BC7CA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC7CA0: ; // 0x2bc7ca0
|
|
/* 02BC7CA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC7CA4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC7CA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC7CA4 */ cpu->r[1] = _t0;
|
|
/* 02BC7CA8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7CA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC7CAC */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC7CB0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC7CB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BC7CB4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7CB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC7CB8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7CB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02BC7CBC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC7CC0 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7CC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC7CC4 */ _t6 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC7CC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC7CC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC7CCC */ _t7 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BC7CCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC7CCC */ cpu->r[30] = _t7;
|
|
/* 02BC7CD0 */ _t8 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC7CD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC7CD4 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC7CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7CDC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7CDC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC7CDC */ if (_t10) goto L_02BC7DE0; else goto L_02BC7CE0;
|
|
L_02BC7CE0: ; // 0x2bc7ce0
|
|
/* 02BC7CE0 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC7CE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC7CE4 */ _t12 = cpu->r[8] + 0x00000144u;
|
|
/* 02BC7CE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC7CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BC7CEC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7CEC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC7CEC */ if (_t14) goto L_02BC7DE0; else goto L_02BC7CF0;
|
|
L_02BC7CF0: ; // 0x2bc7cf0
|
|
/* 02BC7CF0 */ _t15 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC7CF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC7CF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000001Fu);
|
|
/* 02BC7CF8 */ _t16 = cpu->r[28] + 0x00000018u;
|
|
/* 02BC7CF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC7CFC */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7CFC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC7CFC */ if (_t18) goto L_02BC7DE0; else goto L_02BC7D00;
|
|
L_02BC7D00: ; // 0x2bc7d00
|
|
/* 02BC7D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BC7D04 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7D04 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC7D04 */ if (_t20) goto L_02BC7DE0; else goto L_02BC7D08;
|
|
L_02BC7D08: ; // 0x2bc7d08
|
|
/* 02BC7D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[29]);
|
|
/* 02BC7D0C */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7D0C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC7D0C */ if (_t22) goto L_02BC7D34; else goto L_02BC7D10;
|
|
L_02BC7D10: ; // 0x2bc7d10
|
|
/* 02BC7D10 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC7D10 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC7D10 */ if (_t24) goto L_02BC7D14; else goto L_02BC7DE0;
|
|
L_02BC7D14: ; // 0x2bc7d14
|
|
/* 02BC7D14 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000070u);
|
|
/* 02BC7D18 */ _t25 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC7D18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC7D1C */ cpu->r[30] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC7D20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC7D24 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC7D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7D2C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7D2C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC7D2C */ if (_t27) goto L_02BC7D30; else goto L_02BC7D54;
|
|
L_02BC7D30: ; // 0x2bc7d30
|
|
/* 02BC7D30 */ goto L_02BC7DE0;
|
|
L_02BC7D34: ; // 0x2bc7d34
|
|
/* 02BC7D34 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02BC7D38 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000070u);
|
|
/* 02BC7D3C */ _t28 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC7D3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC7D40 */ cpu->r[30] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC7D44 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC7D48 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC7D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7D50 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7D50 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC7D50 */ if (_t30) goto L_02BC7DE0; else goto L_02BC7D54;
|
|
L_02BC7D54: ; // 0x2bc7d54
|
|
/* 02BC7D54 */ _t31 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC7D54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC7D58 */ cpu->r[0] = 0x00000004u;
|
|
/* 02BC7D5C */ _t32 = cpu->r[10] + 0x00000000u;
|
|
/* 02BC7D5C */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
|
|
/* 02BC7D60 */ _t33 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC7D60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC7D64 */ _t34 = cpu->r[12] + 0x00000001u;
|
|
/* 02BC7D64 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[29]);
|
|
/* 02BC7D68 */ _t35 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC7D68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC7D6C */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC7D70 */ _t36 = cpu->r[6] + 0x00000003u;
|
|
/* 02BC7D70 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[7]);
|
|
/* 02BC7D74 */ _t37 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC7D74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC7D78 */ _t38 = cpu->r[8] + 0x00000002u;
|
|
/* 02BC7D78 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[7]);
|
|
/* 02BC7D7C */ _t39 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC7D7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC7D80 */ _t40 = cpu->r[31] + 0x00000044u;
|
|
/* 02BC7D80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC7D84 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02BC7D88 */ cpu->r[4] = cpu->r[11] + 0x00000004u;
|
|
/* 02BC7D8C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC7D90 */ cpu->r[6] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 02BC7D94 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC7D94 */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
|
|
/* 02BC7D98 */ Gambit_fn_02B6A81C(cpu);
|
|
/* 02BC7D9C */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC7D9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC7DA0 */ _t43 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC7DA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC7DA4 */ cpu->r[5] = cpu->r[6] + 0x00000004u;
|
|
/* 02BC7DA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC7DAC */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC7DB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC7DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC7DB4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7DB4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BC7DB4 */ if (_t45) goto L_02BC7DB8; else goto L_02BC7DE0;
|
|
L_02BC7DB8: ; // 0x2bc7db8
|
|
/* 02BC7DB8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC7DBC */ _t46 = cpu->r[3] + 0xFFFFB6C8u;
|
|
/* 02BC7DBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC7DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7DC4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7DC4 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BC7DC4 */ if (_t48) goto L_02BC7DE0; else goto L_02BC7DC8;
|
|
L_02BC7DC8: ; // 0x2bc7dc8
|
|
/* 02BC7DC8 */ _t49 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BC7DC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC7DCC */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC7DD0 */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC7DD4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC7DD8 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC7DDC */ Gambit_fn_02B69330(cpu);
|
|
L_02BC7DE0: ; // 0x2bc7de0
|
|
/* 02BC7DE0 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC7DE0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC7DE4 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7DE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC7DE8 */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC7DEC */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7DEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC7DF0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC7DF4 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7DF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC7DF8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC7DFC */ return;
|
|
}
|
|
|
|
// fn_02BC7CA4 @ 0x2bc7ca4
|
|
void Gambit_fn_02BC7CA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC7CA4: ; // 0x2bc7ca4
|
|
/* 02BC7CA4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC7CA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC7CA4 */ cpu->r[1] = _t0;
|
|
/* 02BC7CA8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7CA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC7CAC */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC7CB0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC7CB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BC7CB4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7CB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC7CB8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7CB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02BC7CBC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC7CC0 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7CC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC7CC4 */ _t6 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC7CC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC7CC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC7CCC */ _t7 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BC7CCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC7CCC */ cpu->r[30] = _t7;
|
|
/* 02BC7CD0 */ _t8 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC7CD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC7CD4 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC7CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7CDC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7CDC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC7CDC */ if (_t10) goto L_02BC7DE0; else goto L_02BC7CE0;
|
|
L_02BC7CE0: ; // 0x2bc7ce0
|
|
/* 02BC7CE0 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC7CE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC7CE4 */ _t12 = cpu->r[8] + 0x00000144u;
|
|
/* 02BC7CE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC7CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BC7CEC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7CEC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC7CEC */ if (_t14) goto L_02BC7DE0; else goto L_02BC7CF0;
|
|
L_02BC7CF0: ; // 0x2bc7cf0
|
|
/* 02BC7CF0 */ _t15 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC7CF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC7CF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000001Fu);
|
|
/* 02BC7CF8 */ _t16 = cpu->r[28] + 0x00000018u;
|
|
/* 02BC7CF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC7CFC */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7CFC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC7CFC */ if (_t18) goto L_02BC7DE0; else goto L_02BC7D00;
|
|
L_02BC7D00: ; // 0x2bc7d00
|
|
/* 02BC7D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BC7D04 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7D04 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC7D04 */ if (_t20) goto L_02BC7DE0; else goto L_02BC7D08;
|
|
L_02BC7D08: ; // 0x2bc7d08
|
|
/* 02BC7D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[29]);
|
|
/* 02BC7D0C */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7D0C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC7D0C */ if (_t22) goto L_02BC7D34; else goto L_02BC7D10;
|
|
L_02BC7D10: ; // 0x2bc7d10
|
|
/* 02BC7D10 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC7D10 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC7D10 */ if (_t24) goto L_02BC7D14; else goto L_02BC7DE0;
|
|
L_02BC7D14: ; // 0x2bc7d14
|
|
/* 02BC7D14 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000070u);
|
|
/* 02BC7D18 */ _t25 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC7D18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC7D1C */ cpu->r[30] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC7D20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC7D24 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC7D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7D2C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7D2C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC7D2C */ if (_t27) goto L_02BC7D30; else goto L_02BC7D54;
|
|
L_02BC7D30: ; // 0x2bc7d30
|
|
/* 02BC7D30 */ goto L_02BC7DE0;
|
|
L_02BC7D34: ; // 0x2bc7d34
|
|
/* 02BC7D34 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02BC7D38 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000070u);
|
|
/* 02BC7D3C */ _t28 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC7D3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC7D40 */ cpu->r[30] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC7D44 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC7D48 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC7D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7D50 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7D50 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC7D50 */ if (_t30) goto L_02BC7DE0; else goto L_02BC7D54;
|
|
L_02BC7D54: ; // 0x2bc7d54
|
|
/* 02BC7D54 */ _t31 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC7D54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC7D58 */ cpu->r[0] = 0x00000004u;
|
|
/* 02BC7D5C */ _t32 = cpu->r[10] + 0x00000000u;
|
|
/* 02BC7D5C */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
|
|
/* 02BC7D60 */ _t33 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC7D60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC7D64 */ _t34 = cpu->r[12] + 0x00000001u;
|
|
/* 02BC7D64 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[29]);
|
|
/* 02BC7D68 */ _t35 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC7D68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC7D6C */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC7D70 */ _t36 = cpu->r[6] + 0x00000003u;
|
|
/* 02BC7D70 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[7]);
|
|
/* 02BC7D74 */ _t37 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC7D74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC7D78 */ _t38 = cpu->r[8] + 0x00000002u;
|
|
/* 02BC7D78 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[7]);
|
|
/* 02BC7D7C */ _t39 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC7D7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC7D80 */ _t40 = cpu->r[31] + 0x00000044u;
|
|
/* 02BC7D80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC7D84 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02BC7D88 */ cpu->r[4] = cpu->r[11] + 0x00000004u;
|
|
/* 02BC7D8C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC7D90 */ cpu->r[6] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 02BC7D94 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC7D94 */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
|
|
/* 02BC7D98 */ Gambit_fn_02B6A81C(cpu);
|
|
/* 02BC7D9C */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC7D9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC7DA0 */ _t43 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC7DA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC7DA4 */ cpu->r[5] = cpu->r[6] + 0x00000004u;
|
|
/* 02BC7DA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC7DAC */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC7DB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC7DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC7DB4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7DB4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BC7DB4 */ if (_t45) goto L_02BC7DB8; else goto L_02BC7DE0;
|
|
L_02BC7DB8: ; // 0x2bc7db8
|
|
/* 02BC7DB8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC7DBC */ _t46 = cpu->r[3] + 0xFFFFB6C8u;
|
|
/* 02BC7DBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC7DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7DC4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7DC4 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BC7DC4 */ if (_t48) goto L_02BC7DE0; else goto L_02BC7DC8;
|
|
L_02BC7DC8: ; // 0x2bc7dc8
|
|
/* 02BC7DC8 */ _t49 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BC7DC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC7DCC */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC7DD0 */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC7DD4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC7DD8 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC7DDC */ Gambit_fn_02B69330(cpu);
|
|
L_02BC7DE0: ; // 0x2bc7de0
|
|
/* 02BC7DE0 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC7DE0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC7DE4 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7DE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC7DE8 */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC7DEC */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7DEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC7DF0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC7DF4 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7DF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC7DF8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC7DFC */ return;
|
|
}
|
|
|
|
// fn_02BC7E00 @ 0x2bc7e00
|
|
void Gambit_fn_02BC7E00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_02BC7E00: ; // 0x2bc7e00
|
|
/* 02BC7E00 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC7E04 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC7E04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC7E04 */ cpu->r[1] = _t0;
|
|
/* 02BC7E08 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7E08 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC7E0C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7E0C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC7E10 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7E10 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC7E14 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC7E18 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7E18 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC7E1C */ _t5 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC7E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC7E20 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC7E24 */ _t6 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC7E24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC7E28 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BC7E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC7E30 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC7E34 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7E34 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC7E34 */ if (_t8) goto L_02BC7F34; else goto L_02BC7E38;
|
|
L_02BC7E38: ; // 0x2bc7e38
|
|
/* 02BC7E38 */ _t9 = cpu->r[29] + 0x00000010u;
|
|
/* 02BC7E38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC7E3C */ _t10 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BC7E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC7E40 */ _t11 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC7E40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC7E44 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC7E44 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BC7E48 */ _t13 = cpu->r[10] + 0x00000034u;
|
|
/* 02BC7E48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC7E4C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC7E50 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC7E54 */ cpu->r[6] = 0x00000005u;
|
|
/* 02BC7E58 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC7E5C */ cpu->r[5] = cpu->r[30];
|
|
/* 02BC7E60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7E68 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7E68 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC7E68 */ if (_t15) goto L_02BC7E6C; else goto L_02BC7EA4;
|
|
L_02BC7E6C: ; // 0x2bc7e6c
|
|
/* 02BC7E6C */ _t16 = cpu->r[30] + 0x00000010u;
|
|
/* 02BC7E6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC7E70 */ _t17 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BC7E70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC7E74 */ cpu->ctr = cpu->r[12];
|
|
/* 02BC7E78 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC7E7C */ cpu->r[6] = 0x80000000u;
|
|
/* 02BC7E80 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC7E84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7E88 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7E88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC7E8C */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7E8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC7E90 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7E90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC7E94 */ cpu->lr = cpu->r[0];
|
|
/* 02BC7E98 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7E98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC7E9C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC7EA0 */ return;
|
|
L_02BC7EA4: ; // 0x2bc7ea4
|
|
/* 02BC7EA4 */ _t22 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7EA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC7EA8 */ cpu->r[9] = 0x00000002u;
|
|
/* 02BC7EAC */ _t23 = cpu->r[8] + 0x00000000u;
|
|
/* 02BC7EAC */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[9]);
|
|
/* 02BC7EB0 */ _t24 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7EB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC7EB4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC7EB8 */ _t25 = cpu->r[10] + 0x00000001u;
|
|
/* 02BC7EB8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 02BC7EBC */ _t26 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7EBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC7EC0 */ cpu->r[7] = 0x000000FFu;
|
|
/* 02BC7EC4 */ _t27 = cpu->r[12] + 0x00000002u;
|
|
/* 02BC7EC4 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[7]);
|
|
/* 02BC7EC8 */ _t28 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7EC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC7ECC */ _t29 = cpu->r[8] + 0x00000003u;
|
|
/* 02BC7ECC */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[7]);
|
|
/* 02BC7ED0 */ _t30 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7ED0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC7ED4 */ _t31 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC7ED4 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[31]);
|
|
/* 02BC7ED8 */ _t32 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7ED8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC7EDC */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC7EE0 */ _t33 = cpu->r[29] + 0x00000010u;
|
|
/* 02BC7EE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC7EE4 */ Gambit_fn_02BEED0C(cpu);
|
|
/* 02BC7EE8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC7EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC7EEC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7EEC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC7EEC */ if (_t35) goto L_02BC7EF0; else goto L_02BC7F34;
|
|
L_02BC7EF0: ; // 0x2bc7ef0
|
|
/* 02BC7EF0 */ _t36 = cpu->r[29] + 0x00000010u;
|
|
/* 02BC7EF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC7EF4 */ _t37 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BC7EF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC7EF8 */ _t38 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC7EF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC7EFC */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC7EFC */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
|
|
/* 02BC7F00 */ _t40 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC7F00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC7F04 */ cpu->ctr = cpu->r[9];
|
|
/* 02BC7F08 */ cpu->r[7] = 0x00000001u;
|
|
/* 02BC7F0C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC7F10 */ cpu->r[6] = 0x00000005u;
|
|
/* 02BC7F14 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BC7F18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7F20 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7F20 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BC7F20 */ if (_t42) goto L_02BC7F34; else goto L_02BC7F24;
|
|
L_02BC7F24: ; // 0x2bc7f24
|
|
/* 02BC7F24 */ _t43 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7F24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC7F28 */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC7F2C */ _t44 = cpu->r[29] + 0x00000010u;
|
|
/* 02BC7F2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC7F30 */ Gambit_fn_02BEED0C(cpu);
|
|
L_02BC7F34: ; // 0x2bc7f34
|
|
/* 02BC7F34 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7F34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC7F38 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC7F3C */ _t47 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7F3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC7F40 */ cpu->lr = cpu->r[0];
|
|
/* 02BC7F44 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7F44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC7F48 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC7F4C */ return;
|
|
}
|
|
|
|
// fn_02BC7E04 @ 0x2bc7e04
|
|
void Gambit_fn_02BC7E04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_02BC7E04: ; // 0x2bc7e04
|
|
/* 02BC7E04 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC7E04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC7E04 */ cpu->r[1] = _t0;
|
|
/* 02BC7E08 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7E08 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC7E0C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7E0C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC7E10 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7E10 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC7E14 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC7E18 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7E18 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC7E1C */ _t5 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC7E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC7E20 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC7E24 */ _t6 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC7E24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC7E28 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BC7E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC7E30 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC7E34 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7E34 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC7E34 */ if (_t8) goto L_02BC7F34; else goto L_02BC7E38;
|
|
L_02BC7E38: ; // 0x2bc7e38
|
|
/* 02BC7E38 */ _t9 = cpu->r[29] + 0x00000010u;
|
|
/* 02BC7E38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC7E3C */ _t10 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BC7E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC7E40 */ _t11 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC7E40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC7E44 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC7E44 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BC7E48 */ _t13 = cpu->r[10] + 0x00000034u;
|
|
/* 02BC7E48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC7E4C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC7E50 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC7E54 */ cpu->r[6] = 0x00000005u;
|
|
/* 02BC7E58 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC7E5C */ cpu->r[5] = cpu->r[30];
|
|
/* 02BC7E60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7E68 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7E68 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC7E68 */ if (_t15) goto L_02BC7E6C; else goto L_02BC7EA4;
|
|
L_02BC7E6C: ; // 0x2bc7e6c
|
|
/* 02BC7E6C */ _t16 = cpu->r[30] + 0x00000010u;
|
|
/* 02BC7E6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC7E70 */ _t17 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BC7E70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC7E74 */ cpu->ctr = cpu->r[12];
|
|
/* 02BC7E78 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC7E7C */ cpu->r[6] = 0x80000000u;
|
|
/* 02BC7E80 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC7E84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7E88 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7E88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC7E8C */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7E8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC7E90 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7E90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC7E94 */ cpu->lr = cpu->r[0];
|
|
/* 02BC7E98 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7E98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC7E9C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC7EA0 */ return;
|
|
L_02BC7EA4: ; // 0x2bc7ea4
|
|
/* 02BC7EA4 */ _t22 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7EA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC7EA8 */ cpu->r[9] = 0x00000002u;
|
|
/* 02BC7EAC */ _t23 = cpu->r[8] + 0x00000000u;
|
|
/* 02BC7EAC */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[9]);
|
|
/* 02BC7EB0 */ _t24 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7EB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC7EB4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC7EB8 */ _t25 = cpu->r[10] + 0x00000001u;
|
|
/* 02BC7EB8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 02BC7EBC */ _t26 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7EBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC7EC0 */ cpu->r[7] = 0x000000FFu;
|
|
/* 02BC7EC4 */ _t27 = cpu->r[12] + 0x00000002u;
|
|
/* 02BC7EC4 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[7]);
|
|
/* 02BC7EC8 */ _t28 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7EC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC7ECC */ _t29 = cpu->r[8] + 0x00000003u;
|
|
/* 02BC7ECC */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[7]);
|
|
/* 02BC7ED0 */ _t30 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7ED0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC7ED4 */ _t31 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC7ED4 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[31]);
|
|
/* 02BC7ED8 */ _t32 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7ED8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC7EDC */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC7EE0 */ _t33 = cpu->r[29] + 0x00000010u;
|
|
/* 02BC7EE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC7EE4 */ Gambit_fn_02BEED0C(cpu);
|
|
/* 02BC7EE8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC7EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC7EEC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7EEC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC7EEC */ if (_t35) goto L_02BC7EF0; else goto L_02BC7F34;
|
|
L_02BC7EF0: ; // 0x2bc7ef0
|
|
/* 02BC7EF0 */ _t36 = cpu->r[29] + 0x00000010u;
|
|
/* 02BC7EF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC7EF4 */ _t37 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BC7EF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC7EF8 */ _t38 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC7EF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC7EFC */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC7EFC */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
|
|
/* 02BC7F00 */ _t40 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC7F00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC7F04 */ cpu->ctr = cpu->r[9];
|
|
/* 02BC7F08 */ cpu->r[7] = 0x00000001u;
|
|
/* 02BC7F0C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC7F10 */ cpu->r[6] = 0x00000005u;
|
|
/* 02BC7F14 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BC7F18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC7F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7F20 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7F20 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BC7F20 */ if (_t42) goto L_02BC7F34; else goto L_02BC7F24;
|
|
L_02BC7F24: ; // 0x2bc7f24
|
|
/* 02BC7F24 */ _t43 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC7F24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC7F28 */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC7F2C */ _t44 = cpu->r[29] + 0x00000010u;
|
|
/* 02BC7F2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC7F30 */ Gambit_fn_02BEED0C(cpu);
|
|
L_02BC7F34: ; // 0x2bc7f34
|
|
/* 02BC7F34 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7F34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC7F38 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC7F3C */ _t47 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7F3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC7F40 */ cpu->lr = cpu->r[0];
|
|
/* 02BC7F44 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7F44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC7F48 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC7F4C */ return;
|
|
}
|
|
|
|
// fn_02BC7F50 @ 0x2bc7f50
|
|
void Gambit_fn_02BC7F50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC7F50: ; // 0x2bc7f50
|
|
/* 02BC7F50 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC7F54 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC7F54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC7F54 */ cpu->r[1] = _t0;
|
|
/* 02BC7F58 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC7F5C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7F5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC7F60 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC7F60 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BC7F64 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC7F68 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7F68 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC7F6C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC7F70 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7F70 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC7F74 */ _t6 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC7F74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC7F78 */ _t7 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC7F78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC7F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BC7F80 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC7F84 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7F84 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC7F84 */ if (_t9) goto L_02BC7FE0; else goto L_02BC7F88;
|
|
L_02BC7F88: ; // 0x2bc7f88
|
|
/* 02BC7F88 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC7F8C */ _t10 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC7F8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC7F90 */ _t11 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC7F90 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC7F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x0000001Fu);
|
|
/* 02BC7F98 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7F98 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC7F98 */ if (_t13) goto L_02BC7FE0; else goto L_02BC7F9C;
|
|
L_02BC7F9C: ; // 0x2bc7f9c
|
|
/* 02BC7F9C */ _t14 = cpu->r[29] + 0x00000018u;
|
|
/* 02BC7F9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC7FA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[12]);
|
|
/* 02BC7FA4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7FA4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC7FA4 */ if (_t16) goto L_02BC7FA8; else goto L_02BC7FE0;
|
|
L_02BC7FA8: ; // 0x2bc7fa8
|
|
/* 02BC7FA8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC7FAC */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC7FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7FB4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7FB4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC7FB4 */ if (_t18) goto L_02BC7FE0; else goto L_02BC7FB8;
|
|
L_02BC7FB8: ; // 0x2bc7fb8
|
|
/* 02BC7FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[28]);
|
|
/* 02BC7FBC */ _t19 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02BC7FBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC7FC0 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC7FC0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC7FC0 */ if (_t21) goto L_02BC7FC8; else goto L_02BC7FC4;
|
|
L_02BC7FC4: ; // 0x2bc7fc4
|
|
/* 02BC7FC4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
L_02BC7FC8: ; // 0x2bc7fc8
|
|
/* 02BC7FC8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000070u);
|
|
/* 02BC7FCC */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
/* 02BC7FD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC7FD4 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC7FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7FDC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7FDC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC7FDC */ if (_t23) goto L_02BC7FE0; else goto L_02BC8004;
|
|
L_02BC7FE0: ; // 0x2bc7fe0
|
|
/* 02BC7FE0 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC7FE0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC7FE4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7FE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC7FE8 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC7FEC */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7FEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC7FF0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC7FF4 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7FF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC7FF8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC7FFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC8000 */ return;
|
|
L_02BC8004: ; // 0x2bc8004
|
|
/* 02BC8004 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 02BC8008 */ Gambit_fn_02B6A814(cpu);
|
|
/* 02BC800C */ _t29 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC800C */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC8010 */ cpu->r[0] = 0x00000010u;
|
|
/* 02BC8014 */ _t30 = cpu->r[9] + 0x00000000u;
|
|
/* 02BC8014 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 02BC8018 */ _t31 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8018 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC801C */ _t32 = cpu->r[11] + 0x00000001u;
|
|
/* 02BC801C */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[28]);
|
|
/* 02BC8020 */ _t33 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC8024 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC8028 */ _t34 = cpu->r[12] + 0x00000003u;
|
|
/* 02BC8028 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[0]);
|
|
/* 02BC802C */ _t35 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC802C */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC8030 */ _t36 = cpu->r[10] + 0x00000002u;
|
|
/* 02BC8030 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[0]);
|
|
/* 02BC8034 */ _t37 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8034 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC8038 */ _t38 = cpu->r[30] + 0x00000044u;
|
|
/* 02BC8038 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC803C */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 02BC8040 */ cpu->r[4] = cpu->r[12] + 0x00000004u;
|
|
/* 02BC8044 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8048 */ cpu->r[6] = cpu->r[9] + 0xFFFFFFFCu;
|
|
/* 02BC804C */ Gambit_fn_02B6A81C(cpu);
|
|
/* 02BC8050 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8050 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC8054 */ _t40 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8054 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC8058 */ cpu->r[5] = cpu->r[10] + 0x00000004u;
|
|
/* 02BC805C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC8060 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC8064 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8068 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC8068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC806C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC806C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BC806C */ if (_t42) goto L_02BC8070; else goto L_02BC8098;
|
|
L_02BC8070: ; // 0x2bc8070
|
|
/* 02BC8070 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC8074 */ _t43 = cpu->r[3] + 0xFFFFB6C8u;
|
|
/* 02BC8074 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC8078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC807C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC807C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BC807C */ if (_t45) goto L_02BC8098; else goto L_02BC8080;
|
|
L_02BC8080: ; // 0x2bc8080
|
|
/* 02BC8080 */ _t46 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC8080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC8084 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC8088 */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC808C */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC8090 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC8094 */ Gambit_fn_02B69330(cpu);
|
|
L_02BC8098: ; // 0x2bc8098
|
|
/* 02BC8098 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8098 */ cpu->r[28] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC809C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC80A0 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC80A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC80A4 */ cpu->r[9] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02BC80A8 */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC80A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC80AC */ _t50 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC80AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC80B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC80B4 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC80B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC80B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC80BC */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC80C0 */ return;
|
|
}
|
|
|
|
// fn_02BC7F54 @ 0x2bc7f54
|
|
void Gambit_fn_02BC7F54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC7F54: ; // 0x2bc7f54
|
|
/* 02BC7F54 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC7F54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC7F54 */ cpu->r[1] = _t0;
|
|
/* 02BC7F58 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC7F5C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7F5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC7F60 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC7F60 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BC7F64 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC7F68 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7F68 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC7F6C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC7F70 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7F70 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC7F74 */ _t6 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC7F74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC7F78 */ _t7 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC7F78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC7F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BC7F80 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC7F84 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7F84 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC7F84 */ if (_t9) goto L_02BC7FE0; else goto L_02BC7F88;
|
|
L_02BC7F88: ; // 0x2bc7f88
|
|
/* 02BC7F88 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC7F8C */ _t10 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC7F8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC7F90 */ _t11 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC7F90 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC7F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x0000001Fu);
|
|
/* 02BC7F98 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC7F98 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC7F98 */ if (_t13) goto L_02BC7FE0; else goto L_02BC7F9C;
|
|
L_02BC7F9C: ; // 0x2bc7f9c
|
|
/* 02BC7F9C */ _t14 = cpu->r[29] + 0x00000018u;
|
|
/* 02BC7F9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC7FA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[12]);
|
|
/* 02BC7FA4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7FA4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC7FA4 */ if (_t16) goto L_02BC7FA8; else goto L_02BC7FE0;
|
|
L_02BC7FA8: ; // 0x2bc7fa8
|
|
/* 02BC7FA8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC7FAC */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC7FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7FB4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7FB4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC7FB4 */ if (_t18) goto L_02BC7FE0; else goto L_02BC7FB8;
|
|
L_02BC7FB8: ; // 0x2bc7fb8
|
|
/* 02BC7FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[28]);
|
|
/* 02BC7FBC */ _t19 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02BC7FBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC7FC0 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC7FC0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC7FC0 */ if (_t21) goto L_02BC7FC8; else goto L_02BC7FC4;
|
|
L_02BC7FC4: ; // 0x2bc7fc4
|
|
/* 02BC7FC4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
L_02BC7FC8: ; // 0x2bc7fc8
|
|
/* 02BC7FC8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000070u);
|
|
/* 02BC7FCC */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
/* 02BC7FD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC7FD4 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC7FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC7FDC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC7FDC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC7FDC */ if (_t23) goto L_02BC7FE0; else goto L_02BC8004;
|
|
L_02BC7FE0: ; // 0x2bc7fe0
|
|
/* 02BC7FE0 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC7FE0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC7FE4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC7FE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC7FE8 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC7FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC7FEC */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC7FEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC7FF0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC7FF4 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC7FF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC7FF8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC7FFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC8000 */ return;
|
|
L_02BC8004: ; // 0x2bc8004
|
|
/* 02BC8004 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 02BC8008 */ Gambit_fn_02B6A814(cpu);
|
|
/* 02BC800C */ _t29 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC800C */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC8010 */ cpu->r[0] = 0x00000010u;
|
|
/* 02BC8014 */ _t30 = cpu->r[9] + 0x00000000u;
|
|
/* 02BC8014 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 02BC8018 */ _t31 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8018 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC801C */ _t32 = cpu->r[11] + 0x00000001u;
|
|
/* 02BC801C */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[28]);
|
|
/* 02BC8020 */ _t33 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC8024 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC8028 */ _t34 = cpu->r[12] + 0x00000003u;
|
|
/* 02BC8028 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[0]);
|
|
/* 02BC802C */ _t35 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC802C */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC8030 */ _t36 = cpu->r[10] + 0x00000002u;
|
|
/* 02BC8030 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[0]);
|
|
/* 02BC8034 */ _t37 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8034 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC8038 */ _t38 = cpu->r[30] + 0x00000044u;
|
|
/* 02BC8038 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC803C */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 02BC8040 */ cpu->r[4] = cpu->r[12] + 0x00000004u;
|
|
/* 02BC8044 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8048 */ cpu->r[6] = cpu->r[9] + 0xFFFFFFFCu;
|
|
/* 02BC804C */ Gambit_fn_02B6A81C(cpu);
|
|
/* 02BC8050 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8050 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC8054 */ _t40 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8054 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC8058 */ cpu->r[5] = cpu->r[10] + 0x00000004u;
|
|
/* 02BC805C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC8060 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC8064 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8068 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC8068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC806C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC806C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BC806C */ if (_t42) goto L_02BC8070; else goto L_02BC8098;
|
|
L_02BC8070: ; // 0x2bc8070
|
|
/* 02BC8070 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC8074 */ _t43 = cpu->r[3] + 0xFFFFB6C8u;
|
|
/* 02BC8074 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC8078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC807C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC807C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BC807C */ if (_t45) goto L_02BC8098; else goto L_02BC8080;
|
|
L_02BC8080: ; // 0x2bc8080
|
|
/* 02BC8080 */ _t46 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC8080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC8084 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC8088 */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC808C */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC8090 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC8094 */ Gambit_fn_02B69330(cpu);
|
|
L_02BC8098: ; // 0x2bc8098
|
|
/* 02BC8098 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8098 */ cpu->r[28] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC809C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC80A0 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC80A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC80A4 */ cpu->r[9] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02BC80A8 */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC80A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC80AC */ _t50 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC80AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC80B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC80B4 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC80B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC80B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC80BC */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC80C0 */ return;
|
|
}
|
|
|
|
// fn_02BC80C4 @ 0x2bc80c4
|
|
void Gambit_fn_02BC80C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC80C4: ; // 0x2bc80c4
|
|
/* 02BC80C4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC80C8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC80C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC80C8 */ cpu->r[1] = _t0;
|
|
/* 02BC80CC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC80CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC80D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC80D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC80D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC80D8 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC80D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BC80DC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC80E0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC80E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC80E4 */ _t5 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC80E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC80E8 */ _t6 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC80E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC80EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC80F0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC80F0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC80F0 */ if (_t8) goto L_02BC8120; else goto L_02BC80F4;
|
|
L_02BC80F4: ; // 0x2bc80f4
|
|
/* 02BC80F4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC80F8 */ _t9 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC80F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC80FC */ _t10 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC80FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC8100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BC8104 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC8104 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC8104 */ if (_t12) goto L_02BC8120; else goto L_02BC8108;
|
|
L_02BC8108: ; // 0x2bc8108
|
|
/* 02BC8108 */ _t13 = cpu->r[10] + 0x00000018u;
|
|
/* 02BC8108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC810C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BC8110 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8110 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC8110 */ if (_t15) goto L_02BC8114; else goto L_02BC8120;
|
|
L_02BC8114: ; // 0x2bc8114
|
|
/* 02BC8114 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC8118 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC811C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC811C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC811C */ if (_t17) goto L_02BC8120; else goto L_02BC8140;
|
|
L_02BC8120: ; // 0x2bc8120
|
|
/* 02BC8120 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8120 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC8124 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC8128 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8128 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC812C */ cpu->lr = cpu->r[0];
|
|
/* 02BC8130 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8130 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC8134 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC8138 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC813C */ return;
|
|
L_02BC8140: ; // 0x2bc8140
|
|
/* 02BC8140 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC8140 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC8144 */ _t23 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC8144 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC8148 */ _t24 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC8148 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC814C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC814C */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 02BC8150 */ _t26 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC8150 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC8154 */ cpu->ctr = cpu->r[8];
|
|
/* 02BC8158 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC815C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8160 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC8164 */ cpu->r[5] = cpu->r[30] + 0x00000004u;
|
|
/* 02BC8168 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC816C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8170 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8170 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC8170 */ if (_t28) goto L_02BC8174; else goto L_02BC81B0;
|
|
L_02BC8174: ; // 0x2bc8174
|
|
/* 02BC8174 */ _t29 = cpu->r[30] + 0x00000068u;
|
|
/* 02BC8174 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC8178 */ _t30 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BC8178 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC817C */ cpu->ctr = cpu->r[10];
|
|
/* 02BC8180 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC8184 */ cpu->r[6] = 0x80000000u;
|
|
/* 02BC8188 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC818C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC8190 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8190 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC8194 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC8198 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8198 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC819C */ cpu->lr = cpu->r[0];
|
|
/* 02BC81A0 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC81A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC81A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC81A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC81AC */ return;
|
|
L_02BC81B0: ; // 0x2bc81b0
|
|
/* 02BC81B0 */ _t35 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC81B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC81B4 */ cpu->r[0] = 0x00000011u;
|
|
/* 02BC81B8 */ _t36 = cpu->r[6] + 0x00000000u;
|
|
/* 02BC81B8 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[0]);
|
|
/* 02BC81BC */ _t37 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC81BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC81C0 */ _t38 = cpu->r[9] + 0x00000001u;
|
|
/* 02BC81C0 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[29]);
|
|
/* 02BC81C4 */ _t39 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC81C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC81C8 */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC81CC */ _t40 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC81CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC81D0 */ Gambit_fn_02BEED0C(cpu);
|
|
/* 02BC81D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC81D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC81D8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC81D8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BC81D8 */ if (_t42) goto L_02BC81DC; else goto L_02BC8220;
|
|
L_02BC81DC: ; // 0x2bc81dc
|
|
/* 02BC81DC */ _t43 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC81DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC81E0 */ _t44 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC81E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC81E4 */ _t45 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC81E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC81E8 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC81E8 */ rbrew_write32(cpu->mem, _t46, cpu->r[6]);
|
|
/* 02BC81EC */ _t47 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC81EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC81F0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC81F4 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC81F8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC81FC */ cpu->r[7] = 0x00000001u;
|
|
/* 02BC8200 */ cpu->r[5] = cpu->r[30] + 0x00000004u;
|
|
/* 02BC8204 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC8208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC820C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC820C */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BC820C */ if (_t49) goto L_02BC8220; else goto L_02BC8210;
|
|
L_02BC8210: ; // 0x2bc8210
|
|
/* 02BC8210 */ _t50 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC8210 */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC8214 */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC8218 */ _t51 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC8218 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC821C */ Gambit_fn_02BEED0C(cpu);
|
|
L_02BC8220: ; // 0x2bc8220
|
|
/* 02BC8220 */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8220 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC8224 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC8228 */ _t54 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8228 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC822C */ cpu->lr = cpu->r[0];
|
|
/* 02BC8230 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8230 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC8234 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC8238 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BC823C */ return;
|
|
}
|
|
|
|
// fn_02BC80C8 @ 0x2bc80c8
|
|
void Gambit_fn_02BC80C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC80C8: ; // 0x2bc80c8
|
|
/* 02BC80C8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC80C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC80C8 */ cpu->r[1] = _t0;
|
|
/* 02BC80CC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC80CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC80D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC80D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC80D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC80D8 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC80D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BC80DC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC80E0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC80E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC80E4 */ _t5 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC80E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC80E8 */ _t6 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC80E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC80EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC80F0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC80F0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC80F0 */ if (_t8) goto L_02BC8120; else goto L_02BC80F4;
|
|
L_02BC80F4: ; // 0x2bc80f4
|
|
/* 02BC80F4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC80F8 */ _t9 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC80F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC80FC */ _t10 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC80FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC8100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BC8104 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC8104 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC8104 */ if (_t12) goto L_02BC8120; else goto L_02BC8108;
|
|
L_02BC8108: ; // 0x2bc8108
|
|
/* 02BC8108 */ _t13 = cpu->r[10] + 0x00000018u;
|
|
/* 02BC8108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC810C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BC8110 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8110 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC8110 */ if (_t15) goto L_02BC8114; else goto L_02BC8120;
|
|
L_02BC8114: ; // 0x2bc8114
|
|
/* 02BC8114 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC8118 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC811C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC811C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC811C */ if (_t17) goto L_02BC8120; else goto L_02BC8140;
|
|
L_02BC8120: ; // 0x2bc8120
|
|
/* 02BC8120 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8120 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC8124 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC8128 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8128 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC812C */ cpu->lr = cpu->r[0];
|
|
/* 02BC8130 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8130 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC8134 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC8138 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC813C */ return;
|
|
L_02BC8140: ; // 0x2bc8140
|
|
/* 02BC8140 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC8140 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC8144 */ _t23 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC8144 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC8148 */ _t24 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC8148 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC814C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC814C */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 02BC8150 */ _t26 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC8150 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC8154 */ cpu->ctr = cpu->r[8];
|
|
/* 02BC8158 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC815C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8160 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC8164 */ cpu->r[5] = cpu->r[30] + 0x00000004u;
|
|
/* 02BC8168 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC816C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8170 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8170 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC8170 */ if (_t28) goto L_02BC8174; else goto L_02BC81B0;
|
|
L_02BC8174: ; // 0x2bc8174
|
|
/* 02BC8174 */ _t29 = cpu->r[30] + 0x00000068u;
|
|
/* 02BC8174 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC8178 */ _t30 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BC8178 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC817C */ cpu->ctr = cpu->r[10];
|
|
/* 02BC8180 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC8184 */ cpu->r[6] = 0x80000000u;
|
|
/* 02BC8188 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC818C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC8190 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8190 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC8194 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC8198 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8198 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC819C */ cpu->lr = cpu->r[0];
|
|
/* 02BC81A0 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC81A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC81A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC81A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC81AC */ return;
|
|
L_02BC81B0: ; // 0x2bc81b0
|
|
/* 02BC81B0 */ _t35 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC81B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC81B4 */ cpu->r[0] = 0x00000011u;
|
|
/* 02BC81B8 */ _t36 = cpu->r[6] + 0x00000000u;
|
|
/* 02BC81B8 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[0]);
|
|
/* 02BC81BC */ _t37 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC81BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC81C0 */ _t38 = cpu->r[9] + 0x00000001u;
|
|
/* 02BC81C0 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[29]);
|
|
/* 02BC81C4 */ _t39 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC81C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC81C8 */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC81CC */ _t40 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC81CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC81D0 */ Gambit_fn_02BEED0C(cpu);
|
|
/* 02BC81D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC81D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC81D8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC81D8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BC81D8 */ if (_t42) goto L_02BC81DC; else goto L_02BC8220;
|
|
L_02BC81DC: ; // 0x2bc81dc
|
|
/* 02BC81DC */ _t43 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC81DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC81E0 */ _t44 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC81E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC81E4 */ _t45 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC81E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC81E8 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC81E8 */ rbrew_write32(cpu->mem, _t46, cpu->r[6]);
|
|
/* 02BC81EC */ _t47 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC81EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC81F0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC81F4 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC81F8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC81FC */ cpu->r[7] = 0x00000001u;
|
|
/* 02BC8200 */ cpu->r[5] = cpu->r[30] + 0x00000004u;
|
|
/* 02BC8204 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC8208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC820C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC820C */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BC820C */ if (_t49) goto L_02BC8220; else goto L_02BC8210;
|
|
L_02BC8210: ; // 0x2bc8210
|
|
/* 02BC8210 */ _t50 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC8210 */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC8214 */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC8218 */ _t51 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC8218 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC821C */ Gambit_fn_02BEED0C(cpu);
|
|
L_02BC8220: ; // 0x2bc8220
|
|
/* 02BC8220 */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8220 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC8224 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC8228 */ _t54 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8228 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC822C */ cpu->lr = cpu->r[0];
|
|
/* 02BC8230 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8230 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC8234 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC8238 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BC823C */ return;
|
|
}
|
|
|
|
// fn_02BC8240 @ 0x2bc8240
|
|
void Gambit_fn_02BC8240(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BC8240: ; // 0x2bc8240
|
|
/* 02BC8240 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC8244 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC8244 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC8244 */ cpu->r[1] = _t0;
|
|
/* 02BC8248 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8248 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC824C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC824C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC8250 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8254 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8254 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC8258 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC825C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC825C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC8260 */ _t5 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC8260 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC8264 */ _t6 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC8264 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC8268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC826C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC8270 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8270 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC8270 */ if (_t8) goto L_02BC82D8; else goto L_02BC8274;
|
|
L_02BC8274: ; // 0x2bc8274
|
|
/* 02BC8274 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC8278 */ _t9 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC8278 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC827C */ _t10 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC827C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC8280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BC8284 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC8284 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC8284 */ if (_t12) goto L_02BC82D8; else goto L_02BC8288;
|
|
L_02BC8288: ; // 0x2bc8288
|
|
/* 02BC8288 */ _t13 = cpu->r[10] + 0x00000018u;
|
|
/* 02BC8288 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC828C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[7]);
|
|
/* 02BC8290 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8290 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC8290 */ if (_t15) goto L_02BC8294; else goto L_02BC82D8;
|
|
L_02BC8294: ; // 0x2bc8294
|
|
/* 02BC8294 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC8298 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC829C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC82A0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC82A0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC82A0 */ if (_t17) goto L_02BC82D8; else goto L_02BC82A4;
|
|
L_02BC82A4: ; // 0x2bc82a4
|
|
/* 02BC82A4 */ _t18 = cpu->r[30] + 0x00000010u;
|
|
/* 02BC82A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC82A8 */ _t19 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BC82A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC82AC */ _t20 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC82AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC82B0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC82B0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02BC82B4 */ _t22 = cpu->r[11] + 0x00000024u;
|
|
/* 02BC82B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC82B8 */ cpu->ctr = cpu->r[11];
|
|
/* 02BC82BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC82C0 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC82C4 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC82C8 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC82CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC82D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC82D4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC82D4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC82D4 */ if (_t24) goto L_02BC82D8; else goto L_02BC82F8;
|
|
L_02BC82D8: ; // 0x2bc82d8
|
|
/* 02BC82D8 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC82D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC82DC */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC82DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC82E0 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC82E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC82E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC82E8 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC82E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC82EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC82F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC82F4 */ return;
|
|
L_02BC82F8: ; // 0x2bc82f8
|
|
/* 02BC82F8 */ _t29 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC82F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC82FC */ cpu->r[0] = 0x00000040u;
|
|
/* 02BC8300 */ _t30 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC8300 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 02BC8304 */ _t31 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC8304 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC8308 */ _t32 = cpu->r[8] + 0x00000015u;
|
|
/* 02BC8308 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[29]);
|
|
/* 02BC830C */ _t33 = cpu->r[30] + 0x00000010u;
|
|
/* 02BC830C */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC8310 */ Gambit_fn_02BEED0C(cpu);
|
|
/* 02BC8314 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC8318 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8318 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC831C */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02BC8320 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC8324 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC8328 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8328 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC832C */ cpu->lr = cpu->r[0];
|
|
/* 02BC8330 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8330 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC8334 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8338 */ return;
|
|
}
|
|
|
|
// fn_02BC8244 @ 0x2bc8244
|
|
void Gambit_fn_02BC8244(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BC8244: ; // 0x2bc8244
|
|
/* 02BC8244 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC8244 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC8244 */ cpu->r[1] = _t0;
|
|
/* 02BC8248 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8248 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC824C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC824C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC8250 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8254 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8254 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC8258 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC825C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC825C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC8260 */ _t5 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC8260 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC8264 */ _t6 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC8264 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC8268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC826C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC8270 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8270 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC8270 */ if (_t8) goto L_02BC82D8; else goto L_02BC8274;
|
|
L_02BC8274: ; // 0x2bc8274
|
|
/* 02BC8274 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC8278 */ _t9 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC8278 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC827C */ _t10 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC827C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC8280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BC8284 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC8284 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC8284 */ if (_t12) goto L_02BC82D8; else goto L_02BC8288;
|
|
L_02BC8288: ; // 0x2bc8288
|
|
/* 02BC8288 */ _t13 = cpu->r[10] + 0x00000018u;
|
|
/* 02BC8288 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC828C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[7]);
|
|
/* 02BC8290 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8290 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC8290 */ if (_t15) goto L_02BC8294; else goto L_02BC82D8;
|
|
L_02BC8294: ; // 0x2bc8294
|
|
/* 02BC8294 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC8298 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC829C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC82A0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC82A0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC82A0 */ if (_t17) goto L_02BC82D8; else goto L_02BC82A4;
|
|
L_02BC82A4: ; // 0x2bc82a4
|
|
/* 02BC82A4 */ _t18 = cpu->r[30] + 0x00000010u;
|
|
/* 02BC82A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC82A8 */ _t19 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BC82A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC82AC */ _t20 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC82AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC82B0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC82B0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02BC82B4 */ _t22 = cpu->r[11] + 0x00000024u;
|
|
/* 02BC82B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC82B8 */ cpu->ctr = cpu->r[11];
|
|
/* 02BC82BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC82C0 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC82C4 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC82C8 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC82CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC82D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC82D4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC82D4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC82D4 */ if (_t24) goto L_02BC82D8; else goto L_02BC82F8;
|
|
L_02BC82D8: ; // 0x2bc82d8
|
|
/* 02BC82D8 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC82D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC82DC */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC82DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC82E0 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC82E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC82E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC82E8 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC82E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC82EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC82F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC82F4 */ return;
|
|
L_02BC82F8: ; // 0x2bc82f8
|
|
/* 02BC82F8 */ _t29 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC82F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC82FC */ cpu->r[0] = 0x00000040u;
|
|
/* 02BC8300 */ _t30 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC8300 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 02BC8304 */ _t31 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC8304 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC8308 */ _t32 = cpu->r[8] + 0x00000015u;
|
|
/* 02BC8308 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[29]);
|
|
/* 02BC830C */ _t33 = cpu->r[30] + 0x00000010u;
|
|
/* 02BC830C */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC8310 */ Gambit_fn_02BEED0C(cpu);
|
|
/* 02BC8314 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC8318 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8318 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC831C */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02BC8320 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC8324 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC8328 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8328 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC832C */ cpu->lr = cpu->r[0];
|
|
/* 02BC8330 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8330 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC8334 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8338 */ return;
|
|
}
|
|
|
|
// fn_02BC833C @ 0x2bc833c
|
|
void Gambit_fn_02BC833C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02BC833C: ; // 0x2bc833c
|
|
/* 02BC833C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC833C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC833C */ cpu->r[1] = _t0;
|
|
/* 02BC8340 */ /* nop */
|
|
/* 02BC8344 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC8348 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8348 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC834C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC8350 */ _t2 = cpu->r[11] + 0xFFFFB77Cu;
|
|
/* 02BC8350 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC8354 */ _t3 = cpu->r[11] + 0x00000144u;
|
|
/* 02BC8354 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC8358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC835C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC8360 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8360 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC8360 */ if (_t5) goto L_02BC8384; else goto L_02BC8364;
|
|
L_02BC8364: ; // 0x2bc8364
|
|
/* 02BC8364 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC8368 */ _t6 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC8368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC836C */ _t7 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC836C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC8370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000001Fu);
|
|
/* 02BC8374 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC8374 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC8374 */ if (_t9) goto L_02BC8384; else goto L_02BC8378;
|
|
L_02BC8378: ; // 0x2bc8378
|
|
/* 02BC8378 */ _t10 = cpu->r[11] + 0x00000018u;
|
|
/* 02BC8378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC837C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02BC8380 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8380 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC8380 */ if (_t12) goto L_02BC839C; else goto L_02BC8384;
|
|
L_02BC8384: ; // 0x2bc8384
|
|
/* 02BC8384 */ /* nop */
|
|
/* 02BC8388 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC838C */ cpu->lr = cpu->r[0];
|
|
/* 02BC8390 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC8394 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC8398 */ return;
|
|
L_02BC839C: ; // 0x2bc839c
|
|
/* 02BC839C */ _t14 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC839C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC83A0 */ cpu->r[8] = 0x00000041u;
|
|
/* 02BC83A4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02BC83A4 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[8]);
|
|
/* 02BC83A8 */ _t16 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC83A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC83AC */ _t17 = cpu->r[9] + 0x00000001u;
|
|
/* 02BC83AC */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[4]);
|
|
/* 02BC83B0 */ _t18 = cpu->r[31] + 0x00000038u;
|
|
/* 02BC83B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC83B4 */ cpu->r[27] = 0x00000000u;
|
|
/* 02BC83B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02BC83BC */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC83BC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC83BC */ if (_t20) goto L_02BC83C0; else goto L_02BC8438;
|
|
L_02BC83C0: ; // 0x2bc83c0
|
|
/* 02BC83C0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC83C4 */ cpu->r[29] = 0x00000000u;
|
|
L_02BC83C8: ; // 0x2bc83c8
|
|
/* 02BC83C8 */ _t21 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC83C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC83CC */ cpu->r[3] = cpu->r[10] + cpu->r[29];
|
|
/* 02BC83D0 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC83D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC83D8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC83D8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC83D8 */ if (_t23) goto L_02BC8424; else goto L_02BC83DC;
|
|
L_02BC83DC: ; // 0x2bc83dc
|
|
/* 02BC83DC */ _t24 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC83DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC83E0 */ _t25 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC83E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC83E4 */ cpu->r[3] = cpu->r[11] + cpu->r[29];
|
|
/* 02BC83E8 */ cpu->r[5] = 0x00000002u;
|
|
/* 02BC83EC */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC83F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC83F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC83F4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC83F4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC83F4 */ if (_t27) goto L_02BC83F8; else goto L_02BC8424;
|
|
L_02BC83F8: ; // 0x2bc83f8
|
|
/* 02BC83F8 */ _t28 = cpu->r[30] + 0xFFFFB6C8u;
|
|
/* 02BC83F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC83FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8400 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8400 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC8400 */ if (_t30) goto L_02BC8424; else goto L_02BC8404;
|
|
L_02BC8404: ; // 0x2bc8404
|
|
/* 02BC8404 */ _t31 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC8404 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC8408 */ cpu->r[12] = cpu->r[9] + cpu->r[29];
|
|
/* 02BC840C */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC8410 */ _t32 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BC8410 */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC8414 */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC8418 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC841C */ cpu->r[6] = cpu->r[28];
|
|
/* 02BC8420 */ Gambit_fn_02B69330(cpu);
|
|
L_02BC8424: ; // 0x2bc8424
|
|
/* 02BC8424 */ _t33 = cpu->r[31] + 0x00000038u;
|
|
/* 02BC8424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC8428 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02BC842C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02BC8430 */ cpu->r[29] = cpu->r[29] + 0x00000070u;
|
|
/* 02BC8434 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC8434 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC8434 */ if (_t35) goto L_02BC83C8; else goto L_02BC8438;
|
|
L_02BC8438: ; // 0x2bc8438
|
|
/* 02BC8438 */ /* nop */
|
|
/* 02BC843C */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC843C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC8440 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8444 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC8448 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BC844C */ return;
|
|
}
|
|
|
|
// fn_02BC8450 @ 0x2bc8450
|
|
void Gambit_fn_02BC8450(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02BC8450: ; // 0x2bc8450
|
|
/* 02BC8450 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC8454 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC8454 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC8454 */ cpu->r[1] = _t0;
|
|
/* 02BC8458 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8458 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC845C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC845C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC8460 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8464 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8464 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC8468 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC846C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC846C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC8470 */ _t5 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC8470 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC8474 */ _t6 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC8474 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC8478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC847C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC8480 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8480 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC8480 */ if (_t8) goto L_02BC84DC; else goto L_02BC8484;
|
|
L_02BC8484: ; // 0x2bc8484
|
|
/* 02BC8484 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC8488 */ _t9 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC8488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC848C */ _t10 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC848C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC8490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BC8494 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC8494 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC8494 */ if (_t12) goto L_02BC84DC; else goto L_02BC8498;
|
|
L_02BC8498: ; // 0x2bc8498
|
|
/* 02BC8498 */ _t13 = cpu->r[11] + 0x00000018u;
|
|
/* 02BC8498 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC849C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[9]);
|
|
/* 02BC84A0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC84A0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC84A0 */ if (_t15) goto L_02BC84A4; else goto L_02BC84DC;
|
|
L_02BC84A4: ; // 0x2bc84a4
|
|
/* 02BC84A4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC84A8 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC84AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC84B0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC84B0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC84B0 */ if (_t17) goto L_02BC84DC; else goto L_02BC84B4;
|
|
L_02BC84B4: ; // 0x2bc84b4
|
|
/* 02BC84B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[29]);
|
|
/* 02BC84B8 */ _t18 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02BC84B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC84BC */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC84BC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC84BC */ if (_t20) goto L_02BC84C4; else goto L_02BC84C0;
|
|
L_02BC84C0: ; // 0x2bc84c0
|
|
/* 02BC84C0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
L_02BC84C4: ; // 0x2bc84c4
|
|
/* 02BC84C4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000070u);
|
|
/* 02BC84C8 */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
/* 02BC84CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC84D0 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC84D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC84D8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC84D8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC84D8 */ if (_t22) goto L_02BC84DC; else goto L_02BC84FC;
|
|
L_02BC84DC: ; // 0x2bc84dc
|
|
/* 02BC84DC */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC84DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC84E0 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC84E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC84E4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC84E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC84E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC84EC */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC84EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC84F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC84F4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC84F8 */ return;
|
|
L_02BC84FC: ; // 0x2bc84fc
|
|
/* 02BC84FC */ _t27 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC84FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC8500 */ cpu->r[0] = 0x00000042u;
|
|
/* 02BC8504 */ _t28 = cpu->r[12] + 0x00000000u;
|
|
/* 02BC8504 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 02BC8508 */ _t29 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8508 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC850C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC8510 */ _t30 = cpu->r[7] + 0x00000001u;
|
|
/* 02BC8510 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[29]);
|
|
/* 02BC8514 */ _t31 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8514 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC8518 */ cpu->r[5] = 0x00000002u;
|
|
/* 02BC851C */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC8520 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8524 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC8524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC8528 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8528 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC8528 */ if (_t33) goto L_02BC852C; else goto L_02BC8554;
|
|
L_02BC852C: ; // 0x2bc852c
|
|
/* 02BC852C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC8530 */ _t34 = cpu->r[3] + 0xFFFFB6C8u;
|
|
/* 02BC8530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC8534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8538 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8538 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC8538 */ if (_t36) goto L_02BC8554; else goto L_02BC853C;
|
|
L_02BC853C: ; // 0x2bc853c
|
|
/* 02BC853C */ _t37 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC853C */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC8540 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC8544 */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC8548 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC854C */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC8550 */ Gambit_fn_02B69330(cpu);
|
|
L_02BC8554: ; // 0x2bc8554
|
|
/* 02BC8554 */ cpu->r[9] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC8558 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8558 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC855C */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02BC8560 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC8564 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC8568 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC856C */ cpu->lr = cpu->r[0];
|
|
/* 02BC8570 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC8574 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8578 */ return;
|
|
}
|
|
|
|
// fn_02BC8454 @ 0x2bc8454
|
|
void Gambit_fn_02BC8454(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02BC8454: ; // 0x2bc8454
|
|
/* 02BC8454 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC8454 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC8454 */ cpu->r[1] = _t0;
|
|
/* 02BC8458 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8458 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC845C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC845C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC8460 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8464 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8464 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC8468 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC846C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC846C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC8470 */ _t5 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC8470 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC8474 */ _t6 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC8474 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC8478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC847C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC8480 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8480 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC8480 */ if (_t8) goto L_02BC84DC; else goto L_02BC8484;
|
|
L_02BC8484: ; // 0x2bc8484
|
|
/* 02BC8484 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC8488 */ _t9 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC8488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC848C */ _t10 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC848C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC8490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BC8494 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC8494 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC8494 */ if (_t12) goto L_02BC84DC; else goto L_02BC8498;
|
|
L_02BC8498: ; // 0x2bc8498
|
|
/* 02BC8498 */ _t13 = cpu->r[11] + 0x00000018u;
|
|
/* 02BC8498 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC849C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[9]);
|
|
/* 02BC84A0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC84A0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC84A0 */ if (_t15) goto L_02BC84A4; else goto L_02BC84DC;
|
|
L_02BC84A4: ; // 0x2bc84a4
|
|
/* 02BC84A4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC84A8 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC84AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC84B0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC84B0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC84B0 */ if (_t17) goto L_02BC84DC; else goto L_02BC84B4;
|
|
L_02BC84B4: ; // 0x2bc84b4
|
|
/* 02BC84B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[29]);
|
|
/* 02BC84B8 */ _t18 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02BC84B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC84BC */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC84BC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC84BC */ if (_t20) goto L_02BC84C4; else goto L_02BC84C0;
|
|
L_02BC84C0: ; // 0x2bc84c0
|
|
/* 02BC84C0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
L_02BC84C4: ; // 0x2bc84c4
|
|
/* 02BC84C4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000070u);
|
|
/* 02BC84C8 */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
/* 02BC84CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC84D0 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC84D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC84D8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC84D8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC84D8 */ if (_t22) goto L_02BC84DC; else goto L_02BC84FC;
|
|
L_02BC84DC: ; // 0x2bc84dc
|
|
/* 02BC84DC */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC84DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC84E0 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC84E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC84E4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC84E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC84E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC84EC */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC84EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC84F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC84F4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC84F8 */ return;
|
|
L_02BC84FC: ; // 0x2bc84fc
|
|
/* 02BC84FC */ _t27 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC84FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC8500 */ cpu->r[0] = 0x00000042u;
|
|
/* 02BC8504 */ _t28 = cpu->r[12] + 0x00000000u;
|
|
/* 02BC8504 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 02BC8508 */ _t29 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8508 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC850C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC8510 */ _t30 = cpu->r[7] + 0x00000001u;
|
|
/* 02BC8510 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[29]);
|
|
/* 02BC8514 */ _t31 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8514 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC8518 */ cpu->r[5] = 0x00000002u;
|
|
/* 02BC851C */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC8520 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8524 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC8524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC8528 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8528 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC8528 */ if (_t33) goto L_02BC852C; else goto L_02BC8554;
|
|
L_02BC852C: ; // 0x2bc852c
|
|
/* 02BC852C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC8530 */ _t34 = cpu->r[3] + 0xFFFFB6C8u;
|
|
/* 02BC8530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC8534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8538 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8538 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC8538 */ if (_t36) goto L_02BC8554; else goto L_02BC853C;
|
|
L_02BC853C: ; // 0x2bc853c
|
|
/* 02BC853C */ _t37 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC853C */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC8540 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC8544 */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC8548 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC854C */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC8550 */ Gambit_fn_02B69330(cpu);
|
|
L_02BC8554: ; // 0x2bc8554
|
|
/* 02BC8554 */ cpu->r[9] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC8558 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8558 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC855C */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02BC8560 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC8564 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC8568 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC856C */ cpu->lr = cpu->r[0];
|
|
/* 02BC8570 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC8574 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8578 */ return;
|
|
}
|
|
|
|
// fn_02BC857C @ 0x2bc857c
|
|
void Gambit_fn_02BC857C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC857C: ; // 0x2bc857c
|
|
/* 02BC857C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC8580 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC8580 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC8580 */ cpu->r[1] = _t0;
|
|
/* 02BC8584 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8584 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC8588 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8588 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC858C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC858C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BC8590 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8590 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC8594 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8594 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC8598 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC859C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC85A0 */ _t6 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC85A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC85A4 */ _t7 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC85A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC85A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC85AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC85B0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BC85B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC85B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC85B4 */ if (_t9) goto L_02BC8610; else goto L_02BC85B8;
|
|
L_02BC85B8: ; // 0x2bc85b8
|
|
/* 02BC85B8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC85BC */ _t10 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC85BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC85C0 */ _t11 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC85C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC85C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x0000001Fu);
|
|
/* 02BC85C8 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC85C8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC85C8 */ if (_t13) goto L_02BC8610; else goto L_02BC85CC;
|
|
L_02BC85CC: ; // 0x2bc85cc
|
|
/* 02BC85CC */ _t14 = cpu->r[11] + 0x00000018u;
|
|
/* 02BC85CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC85D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]);
|
|
/* 02BC85D4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC85D4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC85D4 */ if (_t16) goto L_02BC85D8; else goto L_02BC8610;
|
|
L_02BC85D8: ; // 0x2bc85d8
|
|
/* 02BC85D8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC85DC */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC85E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC85E4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC85E4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC85E4 */ if (_t18) goto L_02BC8610; else goto L_02BC85E8;
|
|
L_02BC85E8: ; // 0x2bc85e8
|
|
/* 02BC85E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[28]);
|
|
/* 02BC85EC */ _t19 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02BC85EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC85F0 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC85F0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC85F0 */ if (_t21) goto L_02BC85F8; else goto L_02BC85F4;
|
|
L_02BC85F4: ; // 0x2bc85f4
|
|
/* 02BC85F4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
L_02BC85F8: ; // 0x2bc85f8
|
|
/* 02BC85F8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000070u);
|
|
/* 02BC85FC */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
/* 02BC8600 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC8604 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC8608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC860C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC860C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC860C */ if (_t23) goto L_02BC8610; else goto L_02BC8634;
|
|
L_02BC8610: ; // 0x2bc8610
|
|
/* 02BC8610 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8610 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC8614 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8614 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC8618 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC861C */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC861C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC8620 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8624 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8624 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC8628 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC862C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC8630 */ return;
|
|
L_02BC8634: ; // 0x2bc8634
|
|
/* 02BC8634 */ _t29 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC8634 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC8638 */ cpu->r[0] = 0x00000044u;
|
|
/* 02BC863C */ _t30 = cpu->r[5] + 0x00000000u;
|
|
/* 02BC863C */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 02BC8640 */ _t31 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC8640 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC8644 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC8648 */ _t32 = cpu->r[7] + 0x00000001u;
|
|
/* 02BC8648 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[30]);
|
|
/* 02BC864C */ _t33 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC864C */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC8650 */ cpu->r[5] = 0x00000002u;
|
|
/* 02BC8654 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC8658 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC865C */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC865C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC8660 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8660 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC8660 */ if (_t35) goto L_02BC8664; else goto L_02BC868C;
|
|
L_02BC8664: ; // 0x2bc8664
|
|
/* 02BC8664 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC8668 */ _t36 = cpu->r[3] + 0xFFFFB6C8u;
|
|
/* 02BC8668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC866C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8670 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8670 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BC8670 */ if (_t38) goto L_02BC868C; else goto L_02BC8674;
|
|
L_02BC8674: ; // 0x2bc8674
|
|
/* 02BC8674 */ _t39 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC8674 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC8678 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC867C */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC8680 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC8684 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC8688 */ Gambit_fn_02B69330(cpu);
|
|
L_02BC868C: ; // 0x2bc868c
|
|
/* 02BC868C */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC8690 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8690 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC8694 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02BC8698 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8698 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC869C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC86A0 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC86A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC86A4 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC86A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC86A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC86AC */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC86AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC86B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC86B4 */ return;
|
|
}
|
|
|
|
// fn_02BC8580 @ 0x2bc8580
|
|
void Gambit_fn_02BC8580(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC8580: ; // 0x2bc8580
|
|
/* 02BC8580 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC8580 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC8580 */ cpu->r[1] = _t0;
|
|
/* 02BC8584 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8584 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC8588 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8588 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC858C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC858C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BC8590 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8590 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC8594 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8594 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC8598 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC859C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC85A0 */ _t6 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC85A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC85A4 */ _t7 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC85A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC85A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC85AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC85B0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BC85B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC85B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC85B4 */ if (_t9) goto L_02BC8610; else goto L_02BC85B8;
|
|
L_02BC85B8: ; // 0x2bc85b8
|
|
/* 02BC85B8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC85BC */ _t10 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC85BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC85C0 */ _t11 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC85C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC85C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x0000001Fu);
|
|
/* 02BC85C8 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC85C8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC85C8 */ if (_t13) goto L_02BC8610; else goto L_02BC85CC;
|
|
L_02BC85CC: ; // 0x2bc85cc
|
|
/* 02BC85CC */ _t14 = cpu->r[11] + 0x00000018u;
|
|
/* 02BC85CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC85D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]);
|
|
/* 02BC85D4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC85D4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC85D4 */ if (_t16) goto L_02BC85D8; else goto L_02BC8610;
|
|
L_02BC85D8: ; // 0x2bc85d8
|
|
/* 02BC85D8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC85DC */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC85E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC85E4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC85E4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC85E4 */ if (_t18) goto L_02BC8610; else goto L_02BC85E8;
|
|
L_02BC85E8: ; // 0x2bc85e8
|
|
/* 02BC85E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[28]);
|
|
/* 02BC85EC */ _t19 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02BC85EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC85F0 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC85F0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC85F0 */ if (_t21) goto L_02BC85F8; else goto L_02BC85F4;
|
|
L_02BC85F4: ; // 0x2bc85f4
|
|
/* 02BC85F4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
L_02BC85F8: ; // 0x2bc85f8
|
|
/* 02BC85F8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000070u);
|
|
/* 02BC85FC */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
/* 02BC8600 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC8604 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC8608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC860C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC860C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC860C */ if (_t23) goto L_02BC8610; else goto L_02BC8634;
|
|
L_02BC8610: ; // 0x2bc8610
|
|
/* 02BC8610 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8610 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC8614 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8614 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC8618 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC861C */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC861C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC8620 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8624 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8624 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC8628 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC862C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC8630 */ return;
|
|
L_02BC8634: ; // 0x2bc8634
|
|
/* 02BC8634 */ _t29 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC8634 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC8638 */ cpu->r[0] = 0x00000044u;
|
|
/* 02BC863C */ _t30 = cpu->r[5] + 0x00000000u;
|
|
/* 02BC863C */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 02BC8640 */ _t31 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC8640 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC8644 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC8648 */ _t32 = cpu->r[7] + 0x00000001u;
|
|
/* 02BC8648 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[30]);
|
|
/* 02BC864C */ _t33 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC864C */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC8650 */ cpu->r[5] = 0x00000002u;
|
|
/* 02BC8654 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC8658 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC865C */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC865C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC8660 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8660 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC8660 */ if (_t35) goto L_02BC8664; else goto L_02BC868C;
|
|
L_02BC8664: ; // 0x2bc8664
|
|
/* 02BC8664 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC8668 */ _t36 = cpu->r[3] + 0xFFFFB6C8u;
|
|
/* 02BC8668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC866C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8670 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8670 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BC8670 */ if (_t38) goto L_02BC868C; else goto L_02BC8674;
|
|
L_02BC8674: ; // 0x2bc8674
|
|
/* 02BC8674 */ _t39 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC8674 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC8678 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC867C */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC8680 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC8684 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC8688 */ Gambit_fn_02B69330(cpu);
|
|
L_02BC868C: ; // 0x2bc868c
|
|
/* 02BC868C */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC8690 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8690 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC8694 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02BC8698 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8698 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC869C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC86A0 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC86A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC86A4 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC86A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC86A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC86AC */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC86AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC86B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC86B4 */ return;
|
|
}
|
|
|
|
// fn_02BC86B8 @ 0x2bc86b8
|
|
void Gambit_fn_02BC86B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC86B8: ; // 0x2bc86b8
|
|
/* 02BC86B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC86BC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC86BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC86BC */ cpu->r[1] = _t0;
|
|
/* 02BC86C0 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC86C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC86C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC86C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC86C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC86CC */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC86CC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BC86D0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC86D4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC86D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC86D8 */ _t5 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC86D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC86DC */ _t6 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC86DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC86E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC86E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC86E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC86E4 */ if (_t8) goto L_02BC8714; else goto L_02BC86E8;
|
|
L_02BC86E8: ; // 0x2bc86e8
|
|
/* 02BC86E8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC86EC */ _t9 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC86EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC86F0 */ _t10 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC86F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC86F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BC86F8 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC86F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC86F8 */ if (_t12) goto L_02BC8714; else goto L_02BC86FC;
|
|
L_02BC86FC: ; // 0x2bc86fc
|
|
/* 02BC86FC */ _t13 = cpu->r[10] + 0x00000018u;
|
|
/* 02BC86FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC8700 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BC8704 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8704 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC8704 */ if (_t15) goto L_02BC8708; else goto L_02BC8714;
|
|
L_02BC8708: ; // 0x2bc8708
|
|
/* 02BC8708 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC870C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC870C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC8710 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8710 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC8710 */ if (_t17) goto L_02BC8714; else goto L_02BC8734;
|
|
L_02BC8714: ; // 0x2bc8714
|
|
/* 02BC8714 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8714 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC8718 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC871C */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC871C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC8720 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8724 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8724 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC8728 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC872C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC8730 */ return;
|
|
L_02BC8734: ; // 0x2bc8734
|
|
/* 02BC8734 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC8734 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC8738 */ _t23 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC8738 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC873C */ _t24 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC873C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC8740 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8740 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 02BC8744 */ _t26 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC8744 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC8748 */ cpu->ctr = cpu->r[8];
|
|
/* 02BC874C */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC8750 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8754 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC8758 */ cpu->r[5] = cpu->r[30] + 0x00000004u;
|
|
/* 02BC875C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC8760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8764 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8764 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC8764 */ if (_t28) goto L_02BC8768; else goto L_02BC87A4;
|
|
L_02BC8768: ; // 0x2bc8768
|
|
/* 02BC8768 */ _t29 = cpu->r[30] + 0x00000068u;
|
|
/* 02BC8768 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC876C */ _t30 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BC876C */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC8770 */ cpu->ctr = cpu->r[10];
|
|
/* 02BC8774 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC8778 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC877C */ cpu->r[5] = 0x00000004u;
|
|
/* 02BC8780 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC8784 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8784 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC8788 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC878C */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC878C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC8790 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8794 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC8798 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC879C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC87A0 */ return;
|
|
L_02BC87A4: ; // 0x2bc87a4
|
|
/* 02BC87A4 */ _t35 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC87A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC87A8 */ cpu->r[0] = 0x00000048u;
|
|
/* 02BC87AC */ _t36 = cpu->r[6] + 0x00000000u;
|
|
/* 02BC87AC */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[0]);
|
|
/* 02BC87B0 */ _t37 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC87B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC87B4 */ _t38 = cpu->r[9] + 0x00000001u;
|
|
/* 02BC87B4 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[29]);
|
|
/* 02BC87B8 */ _t39 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC87B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC87BC */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC87C0 */ _t40 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC87C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC87C4 */ Gambit_fn_02BEED0C(cpu);
|
|
/* 02BC87C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC87C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC87CC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC87CC */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BC87CC */ if (_t42) goto L_02BC87D0; else goto L_02BC8814;
|
|
L_02BC87D0: ; // 0x2bc87d0
|
|
/* 02BC87D0 */ _t43 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC87D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC87D4 */ _t44 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC87D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC87D8 */ _t45 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC87D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC87DC */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC87DC */ rbrew_write32(cpu->mem, _t46, cpu->r[6]);
|
|
/* 02BC87E0 */ _t47 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC87E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC87E4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC87E8 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC87EC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC87F0 */ cpu->r[7] = 0x00000001u;
|
|
/* 02BC87F4 */ cpu->r[5] = cpu->r[30] + 0x00000004u;
|
|
/* 02BC87F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC87FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8800 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8800 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BC8800 */ if (_t49) goto L_02BC8814; else goto L_02BC8804;
|
|
L_02BC8804: ; // 0x2bc8804
|
|
/* 02BC8804 */ _t50 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC8804 */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC8808 */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC880C */ _t51 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC880C */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC8810 */ Gambit_fn_02BEED0C(cpu);
|
|
L_02BC8814: ; // 0x2bc8814
|
|
/* 02BC8814 */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8814 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC8818 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC881C */ _t54 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC881C */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC8820 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8824 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8824 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC8828 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC882C */ cpu->r[3] = 0x00000001u;
|
|
/* 02BC8830 */ return;
|
|
}
|
|
|
|
// fn_02BC86BC @ 0x2bc86bc
|
|
void Gambit_fn_02BC86BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC86BC: ; // 0x2bc86bc
|
|
/* 02BC86BC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC86BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC86BC */ cpu->r[1] = _t0;
|
|
/* 02BC86C0 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC86C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC86C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC86C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC86C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC86CC */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC86CC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BC86D0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC86D4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC86D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC86D8 */ _t5 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC86D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC86DC */ _t6 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC86DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC86E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC86E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC86E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC86E4 */ if (_t8) goto L_02BC8714; else goto L_02BC86E8;
|
|
L_02BC86E8: ; // 0x2bc86e8
|
|
/* 02BC86E8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC86EC */ _t9 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC86EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC86F0 */ _t10 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC86F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC86F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BC86F8 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC86F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC86F8 */ if (_t12) goto L_02BC8714; else goto L_02BC86FC;
|
|
L_02BC86FC: ; // 0x2bc86fc
|
|
/* 02BC86FC */ _t13 = cpu->r[10] + 0x00000018u;
|
|
/* 02BC86FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC8700 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BC8704 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8704 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC8704 */ if (_t15) goto L_02BC8708; else goto L_02BC8714;
|
|
L_02BC8708: ; // 0x2bc8708
|
|
/* 02BC8708 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC870C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC870C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC8710 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8710 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC8710 */ if (_t17) goto L_02BC8714; else goto L_02BC8734;
|
|
L_02BC8714: ; // 0x2bc8714
|
|
/* 02BC8714 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8714 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC8718 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC871C */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC871C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC8720 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8724 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8724 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC8728 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC872C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC8730 */ return;
|
|
L_02BC8734: ; // 0x2bc8734
|
|
/* 02BC8734 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC8734 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC8738 */ _t23 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC8738 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC873C */ _t24 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC873C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC8740 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8740 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 02BC8744 */ _t26 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC8744 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC8748 */ cpu->ctr = cpu->r[8];
|
|
/* 02BC874C */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC8750 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8754 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC8758 */ cpu->r[5] = cpu->r[30] + 0x00000004u;
|
|
/* 02BC875C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC8760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8764 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8764 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC8764 */ if (_t28) goto L_02BC8768; else goto L_02BC87A4;
|
|
L_02BC8768: ; // 0x2bc8768
|
|
/* 02BC8768 */ _t29 = cpu->r[30] + 0x00000068u;
|
|
/* 02BC8768 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC876C */ _t30 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BC876C */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC8770 */ cpu->ctr = cpu->r[10];
|
|
/* 02BC8774 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC8778 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC877C */ cpu->r[5] = 0x00000004u;
|
|
/* 02BC8780 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC8784 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8784 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC8788 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC878C */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC878C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC8790 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8794 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC8798 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC879C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC87A0 */ return;
|
|
L_02BC87A4: ; // 0x2bc87a4
|
|
/* 02BC87A4 */ _t35 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC87A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC87A8 */ cpu->r[0] = 0x00000048u;
|
|
/* 02BC87AC */ _t36 = cpu->r[6] + 0x00000000u;
|
|
/* 02BC87AC */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[0]);
|
|
/* 02BC87B0 */ _t37 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC87B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC87B4 */ _t38 = cpu->r[9] + 0x00000001u;
|
|
/* 02BC87B4 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[29]);
|
|
/* 02BC87B8 */ _t39 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC87B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC87BC */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC87C0 */ _t40 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC87C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC87C4 */ Gambit_fn_02BEED0C(cpu);
|
|
/* 02BC87C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC87C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC87CC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC87CC */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BC87CC */ if (_t42) goto L_02BC87D0; else goto L_02BC8814;
|
|
L_02BC87D0: ; // 0x2bc87d0
|
|
/* 02BC87D0 */ _t43 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC87D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC87D4 */ _t44 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC87D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC87D8 */ _t45 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC87D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC87DC */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC87DC */ rbrew_write32(cpu->mem, _t46, cpu->r[6]);
|
|
/* 02BC87E0 */ _t47 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC87E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC87E4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC87E8 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC87EC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC87F0 */ cpu->r[7] = 0x00000001u;
|
|
/* 02BC87F4 */ cpu->r[5] = cpu->r[30] + 0x00000004u;
|
|
/* 02BC87F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC87FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8800 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8800 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BC8800 */ if (_t49) goto L_02BC8814; else goto L_02BC8804;
|
|
L_02BC8804: ; // 0x2bc8804
|
|
/* 02BC8804 */ _t50 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC8804 */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC8808 */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC880C */ _t51 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC880C */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC8810 */ Gambit_fn_02BEED0C(cpu);
|
|
L_02BC8814: ; // 0x2bc8814
|
|
/* 02BC8814 */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8814 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC8818 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC881C */ _t54 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC881C */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC8820 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8824 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8824 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC8828 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC882C */ cpu->r[3] = 0x00000001u;
|
|
/* 02BC8830 */ return;
|
|
}
|
|
|
|
// fn_02BC8834 @ 0x2bc8834
|
|
void Gambit_fn_02BC8834(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BC8834: ; // 0x2bc8834
|
|
/* 02BC8834 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02BC8834 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC8834 */ cpu->r[1] = _t0;
|
|
/* 02BC8838 */ /* nop */
|
|
/* 02BC883C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC8840 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BC8840 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC8844 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC8848 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BC884C */ _t2 = cpu->r[27] + 0xFFFFB77Cu;
|
|
/* 02BC884C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC884C */ cpu->r[27] = _t2;
|
|
/* 02BC8850 */ cpu->r[29] = cpu->r[7];
|
|
/* 02BC8854 */ _t3 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC8854 */ cpu->r[25] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC8858 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC885C */ cpu->r[24] = cpu->r[5];
|
|
/* 02BC8860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02BC8864 */ cpu->r[30] = cpu->r[6];
|
|
/* 02BC8868 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8868 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC8868 */ if (_t5) goto L_02BC88CC; else goto L_02BC886C;
|
|
L_02BC886C: ; // 0x2bc886c
|
|
/* 02BC886C */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BC8870 */ _t6 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BC8870 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC8870 */ cpu->r[26] = _t6;
|
|
/* 02BC8874 */ _t7 = cpu->r[10] + 0x0000005Cu;
|
|
/* 02BC8874 */ cpu->r[23] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC8878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x0000001Fu);
|
|
/* 02BC887C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC887C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC887C */ if (_t9) goto L_02BC88CC; else goto L_02BC8880;
|
|
L_02BC8880: ; // 0x2bc8880
|
|
/* 02BC8880 */ _t10 = cpu->r[25] + 0x00000018u;
|
|
/* 02BC8880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC8884 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[0]);
|
|
/* 02BC8888 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8888 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC8888 */ if (_t12) goto L_02BC888C; else goto L_02BC88CC;
|
|
L_02BC888C: ; // 0x2bc888c
|
|
/* 02BC888C */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC8890 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC8894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8898 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8898 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC8898 */ if (_t14) goto L_02BC88CC; else goto L_02BC889C;
|
|
L_02BC889C: ; // 0x2bc889c
|
|
/* 02BC889C */ _t15 = cpu->r[26] + 0x00000000u;
|
|
/* 02BC889C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC88A0 */ _t16 = cpu->r[28] + 0x0000003Cu;
|
|
/* 02BC88A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC88A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[23]);
|
|
/* 02BC88A8 */ _t17 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC88A8 */ cpu->r[20] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC88AC */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC88AC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC88AC */ if (_t19) goto L_02BC88B4; else goto L_02BC88B0;
|
|
L_02BC88B0: ; // 0x2bc88b0
|
|
/* 02BC88B0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
L_02BC88B4: ; // 0x2bc88b4
|
|
/* 02BC88B4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000070u);
|
|
/* 02BC88B8 */ cpu->r[22] = cpu->r[6] + cpu->r[0];
|
|
/* 02BC88BC */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC88C0 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC88C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC88C8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC88C8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC88C8 */ if (_t21) goto L_02BC88CC; else goto L_02BC88E4;
|
|
L_02BC88CC: ; // 0x2bc88cc
|
|
/* 02BC88CC */ /* nop */
|
|
/* 02BC88D0 */ _t22 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BC88D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC88D4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC88D8 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BC88DC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC88E0 */ return;
|
|
L_02BC88E4: ; // 0x2bc88e4
|
|
/* 02BC88E4 */ _t23 = cpu->r[28] + 0x00000048u;
|
|
/* 02BC88E4 */ cpu->r[21] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC88E8 */ cpu->r[9] = 0x00000080u;
|
|
/* 02BC88EC */ _t24 = cpu->r[21] + 0x00000002u;
|
|
/* 02BC88EC */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[23]);
|
|
/* 02BC88F0 */ cpu->r[3] = cpu->r[21] + 0x00000004u;
|
|
/* 02BC88F4 */ _t25 = cpu->r[21] + 0x00000001u;
|
|
/* 02BC88F4 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[20]);
|
|
/* 02BC88F8 */ cpu->r[4] = cpu->r[24];
|
|
/* 02BC88FC */ _t26 = cpu->r[21] + 0x00000000u;
|
|
/* 02BC88FC */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[9]);
|
|
/* 02BC8900 */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BC8904 */ cpu->r[3] = cpu->r[21] + 0x00000008u;
|
|
/* 02BC8908 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC890C */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BC8910 */ cpu->r[10] = 0x00000032u;
|
|
/* 02BC8914 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC8918 */ _t27 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02BC8918 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[10]);
|
|
/* 02BC891C */ _t28 = cpu->r[21] + 0x0000000Du;
|
|
/* 02BC891C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[11]);
|
|
/* 02BC8920 */ _t29 = cpu->r[21] + 0x0000000Fu;
|
|
/* 02BC8920 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[11]);
|
|
/* 02BC8924 */ cpu->r[24] = cpu->r[11];
|
|
/* 02BC8928 */ _t30 = cpu->r[21] + 0x0000000Eu;
|
|
/* 02BC8928 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[11]);
|
|
/* 02BC892C */ _t31 = cpu->r[26] + 0x00000000u;
|
|
/* 02BC892C */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC8930 */ cpu->r[31] = cpu->r[24];
|
|
/* 02BC8934 */ _t32 = cpu->r[10] + 0x00000052u;
|
|
/* 02BC8934 */ cpu->r[0] = rbrew_read16(cpu->mem, _t32);
|
|
/* 02BC8938 */ cpu->r[19] = cpu->r[11];
|
|
/* 02BC893C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02BC8940 */ cpu->r[20] = cpu->r[19];
|
|
/* 02BC8944 */ cpu->r[18] = 0x00000010u;
|
|
/* 02BC8948 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC8948 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC8948 */ if (_t34) goto L_02BC894C; else goto L_02BC8A20;
|
|
L_02BC894C: ; // 0x2bc894c
|
|
/* 02BC894C */ cpu->r[17] = 0x101D0000u;
|
|
/* 02BC8950 */ cpu->r[16] = 0x00000001u;
|
|
L_02BC8954: ; // 0x2bc8954
|
|
/* 02BC8954 */ _t35 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC8954 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC8958 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC895C */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC8960 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC8964 */ cpu->r[23] = cpu->r[3];
|
|
/* 02BC8964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02BC8968 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8968 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BC8968 */ if (_t37) goto L_02BC89F0; else goto L_02BC896C;
|
|
L_02BC896C: ; // 0x2bc896c
|
|
/* 02BC896C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[25]);
|
|
/* 02BC8970 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8970 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BC8970 */ if (_t39) goto L_02BC89F0; else goto L_02BC8974;
|
|
L_02BC8974: ; // 0x2bc8974
|
|
/* 02BC8974 */ _t40 = cpu->r[23] + 0x00000024u;
|
|
/* 02BC8974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC8978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BC897C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC897C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BC897C */ if (_t42) goto L_02BC8980; else goto L_02BC89F0;
|
|
L_02BC8980: ; // 0x2bc8980
|
|
/* 02BC8980 */ _t43 = cpu->r[17] + 0xFFFFB79Cu;
|
|
/* 02BC8980 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC8984 */ cpu->r[4] = cpu->r[23] + 0x00000004u;
|
|
/* 02BC8988 */ Gambit_fn_02BECD1C(cpu);
|
|
/* 02BC898C */ cpu->r[30] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02BC898C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC8990 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8990 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BC8990 */ if (_t45) goto L_02BC89D4; else goto L_02BC8994;
|
|
L_02BC8994: ; // 0x2bc8994
|
|
/* 02BC8994 */ cpu->r[3] = cpu->r[23];
|
|
/* 02BC8998 */ Gambit_fn_02BF2CF8(cpu);
|
|
/* 02BC899C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC89A0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC89A0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BC89A0 */ if (_t47) goto L_02BC89A4; else goto L_02BC89B4;
|
|
L_02BC89A4: ; // 0x2bc89a4
|
|
/* 02BC89A4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC89A8 */ cpu->r[5] = 0x000000FFu;
|
|
/* 02BC89AC */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC89B0 */ goto L_02BC8A04;
|
|
L_02BC89B4: ; // 0x2bc89b4
|
|
/* 02BC89B4 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02BC89B8 */ /* nop */
|
|
/* 02BC89BC */ cpu->r[24] = rbrew_rlwinm(cpu->r[24], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC89C0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC89C0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BC89C0 */ if (_t49) goto L_02BC89C4; else goto L_02BC89F0;
|
|
L_02BC89C4: ; // 0x2bc89c4
|
|
/* 02BC89C4 */ cpu->r[30] = 0x00000001u;
|
|
/* 02BC89C8 */ cpu->r[5] = 0x000000FFu;
|
|
/* 02BC89CC */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC89D0 */ goto L_02BC8A04;
|
|
L_02BC89D4: ; // 0x2bc89d4
|
|
/* 02BC89D4 */ cpu->r[3] = cpu->r[23];
|
|
/* 02BC89D8 */ Gambit_fn_02BF2CD0(cpu);
|
|
/* 02BC89DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC89E0 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC89E0 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BC89E0 */ if (_t51) goto L_02BC89E4; else goto L_02BC89F0;
|
|
L_02BC89E4: ; // 0x2bc89e4
|
|
/* 02BC89E4 */ /* nop */
|
|
/* 02BC89E8 */ cpu->r[19] = 0x00000001u;
|
|
/* 02BC89EC */ cpu->r[20] = cpu->r[20] | cpu->r[0];
|
|
L_02BC89F0: ; // 0x2bc89f0
|
|
/* 02BC89F0 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02BC89F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000FFu);
|
|
/* 02BC89F8 */ cpu->r[5] = 0x000000FFu;
|
|
/* 02BC89FC */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC89FC */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BC89FC */ if (_t53) goto L_02BC8A00; else goto L_02BC8A04;
|
|
L_02BC8A00: ; // 0x2bc8a00
|
|
/* 02BC8A00 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02BC8A04: ; // 0x2bc8a04
|
|
/* 02BC8A04 */ _t54 = cpu->r[21] + cpu->r[18];
|
|
/* 02BC8A04 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[5]);
|
|
/* 02BC8A08 */ _t55 = cpu->r[26] + 0x00000000u;
|
|
/* 02BC8A08 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC8A0C */ _t56 = cpu->r[7] + 0x00000052u;
|
|
/* 02BC8A0C */ cpu->r[0] = rbrew_read16(cpu->mem, _t56);
|
|
/* 02BC8A10 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BC8A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02BC8A18 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
/* 02BC8A1C */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC8A1C */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BC8A1C */ if (_t58) goto L_02BC8954; else goto L_02BC8A20;
|
|
L_02BC8A20: ; // 0x2bc8a20
|
|
/* 02BC8A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 02BC8A24 */ _t59 = cpu->r[21] + 0x00000003u;
|
|
/* 02BC8A24 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[24]);
|
|
/* 02BC8A28 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8A28 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BC8A28 */ if (_t61) goto L_02BC8A48; else goto L_02BC8A2C;
|
|
L_02BC8A2C: ; // 0x2bc8a2c
|
|
/* 02BC8A2C */ _t62 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC8A2C */ rbrew_write32(cpu->mem, _t62, cpu->r[20]);
|
|
/* 02BC8A30 */ /* nop */
|
|
/* 02BC8A34 */ _t63 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BC8A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BC8A38 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8A3C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BC8A40 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC8A44 */ return;
|
|
L_02BC8A48: ; // 0x2bc8a48
|
|
/* 02BC8A48 */ _t64 = cpu->r[28] + 0x00000048u;
|
|
/* 02BC8A48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BC8A4C */ cpu->r[5] = cpu->r[18];
|
|
/* 02BC8A50 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC8A54 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC8A58 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC8A5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC8A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC8A60 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8A60 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02BC8A60 */ if (_t66) goto L_02BC8A64; else goto L_02BC8A8C;
|
|
L_02BC8A64: ; // 0x2bc8a64
|
|
/* 02BC8A64 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC8A68 */ _t67 = cpu->r[3] + 0xFFFFB6C8u;
|
|
/* 02BC8A68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BC8A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8A70 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8A70 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BC8A70 */ if (_t69) goto L_02BC8A8C; else goto L_02BC8A74;
|
|
L_02BC8A74: ; // 0x2bc8a74
|
|
/* 02BC8A74 */ _t70 = cpu->r[22] + 0x0000001Cu;
|
|
/* 02BC8A74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BC8A78 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC8A7C */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC8A80 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC8A84 */ cpu->r[6] = cpu->r[30];
|
|
/* 02BC8A88 */ Gambit_fn_02B69330(cpu);
|
|
L_02BC8A8C: ; // 0x2bc8a8c
|
|
/* 02BC8A8C */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC8A90 */ /* nop */
|
|
/* 02BC8A94 */ _t71 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BC8A94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BC8A98 */ cpu->r[8] = cpu->r[7] ^ 0x00000001u;
|
|
/* 02BC8A9C */ cpu->lr = cpu->r[0];
|
|
/* 02BC8AA0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BC8AA4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC8AA8 */ return;
|
|
}
|
|
|
|
// fn_02BC8AAC @ 0x2bc8aac
|
|
void Gambit_fn_02BC8AAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49;
|
|
|
|
L_02BC8AAC: ; // 0x2bc8aac
|
|
/* 02BC8AAC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC8AAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC8AAC */ cpu->r[1] = _t0;
|
|
/* 02BC8AB0 */ /* nop */
|
|
/* 02BC8AB4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC8AB8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC8AB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC8ABC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC8AC0 */ _t2 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC8AC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC8AC4 */ _t3 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC8AC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC8AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC8ACC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC8AD0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8AD0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC8AD0 */ if (_t5) goto L_02BC8B70; else goto L_02BC8AD4;
|
|
L_02BC8AD4: ; // 0x2bc8ad4
|
|
/* 02BC8AD4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC8AD8 */ _t6 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC8AD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC8AD8 */ cpu->r[30] = _t6;
|
|
/* 02BC8ADC */ _t7 = cpu->r[10] + 0x0000005Cu;
|
|
/* 02BC8ADC */ cpu->r[27] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC8AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x0000001Fu);
|
|
/* 02BC8AE4 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC8AE4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC8AE4 */ if (_t9) goto L_02BC8B70; else goto L_02BC8AE8;
|
|
L_02BC8AE8: ; // 0x2bc8ae8
|
|
/* 02BC8AE8 */ _t10 = cpu->r[12] + 0x00000018u;
|
|
/* 02BC8AE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC8AEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]);
|
|
/* 02BC8AF0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8AF0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC8AF0 */ if (_t12) goto L_02BC8AF4; else goto L_02BC8B70;
|
|
L_02BC8AF4: ; // 0x2bc8af4
|
|
/* 02BC8AF4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC8AF8 */ _t13 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BC8AF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC8AFC */ _t14 = cpu->r[11] + 0x00000064u;
|
|
/* 02BC8AFC */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC8B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BC8B04 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8B04 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC8B04 */ if (_t16) goto L_02BC8B70; else goto L_02BC8B08;
|
|
L_02BC8B08: ; // 0x2bc8b08
|
|
/* 02BC8B08 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC8B0C */ Gambit_fn_02BFE57C(cpu);
|
|
/* 02BC8B10 */ _t17 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC8B10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC8B14 */ cpu->r[0] = 0x00000081u;
|
|
/* 02BC8B18 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC8B18 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 02BC8B1C */ _t19 = cpu->r[29] + 0x00000001u;
|
|
/* 02BC8B1C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[27]);
|
|
/* 02BC8B20 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC8B20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC8B24 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC8B28 */ _t21 = cpu->r[6] + 0x00000050u;
|
|
/* 02BC8B28 */ cpu->r[0] = rbrew_read16(cpu->mem, _t21);
|
|
/* 02BC8B2C */ _t22 = cpu->r[29] + 0x00000003u;
|
|
/* 02BC8B2C */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
|
|
/* 02BC8B30 */ cpu->r[26] = cpu->r[3];
|
|
/* 02BC8B34 */ _t23 = cpu->r[29] + 0x00000002u;
|
|
/* 02BC8B34 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 02BC8B38 */ _t24 = cpu->r[28] + 0x00000024u;
|
|
/* 02BC8B38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC8B3C */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 02BC8B40 */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BC8B44 */ _t25 = cpu->r[28] + 0x00000020u;
|
|
/* 02BC8B44 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC8B48 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 02BC8B4C */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BC8B50 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8B54 */ _t26 = cpu->r[31] + 0x00000044u;
|
|
/* 02BC8B54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC8B58 */ cpu->r[4] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BC8B5C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC8B60 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8B60 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02BC8B64 */ Gambit_fn_02BFE058(cpu);
|
|
/* 02BC8B68 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC8B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC8B6C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8B6C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BC8B6C */ if (_t29) goto L_02BC8B88; else goto L_02BC8B70;
|
|
L_02BC8B70: ; // 0x2bc8b70
|
|
/* 02BC8B70 */ /* nop */
|
|
/* 02BC8B74 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC8B74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC8B78 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8B7C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC8B80 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC8B84 */ return;
|
|
L_02BC8B88: ; // 0x2bc8b88
|
|
/* 02BC8B88 */ _t31 = cpu->r[31] + 0x00000038u;
|
|
/* 02BC8B88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC8B8C */ cpu->r[27] = 0x00000000u;
|
|
/* 02BC8B90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[11]);
|
|
/* 02BC8B94 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC8B94 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC8B94 */ if (_t33) goto L_02BC8B98; else goto L_02BC8C10;
|
|
L_02BC8B98: ; // 0x2bc8b98
|
|
/* 02BC8B98 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC8B9C */ cpu->r[29] = 0x00000000u;
|
|
L_02BC8BA0: ; // 0x2bc8ba0
|
|
/* 02BC8BA0 */ _t34 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC8BA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC8BA4 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02BC8BA8 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC8BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8BB0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8BB0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC8BB0 */ if (_t36) goto L_02BC8BFC; else goto L_02BC8BB4;
|
|
L_02BC8BB4: ; // 0x2bc8bb4
|
|
/* 02BC8BB4 */ _t37 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC8BB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC8BB8 */ _t38 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC8BB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC8BBC */ cpu->r[3] = cpu->r[6] + cpu->r[29];
|
|
/* 02BC8BC0 */ cpu->r[5] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02BC8BC4 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC8BC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC8BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC8BCC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8BCC */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BC8BCC */ if (_t40) goto L_02BC8BD0; else goto L_02BC8BFC;
|
|
L_02BC8BD0: ; // 0x2bc8bd0
|
|
/* 02BC8BD0 */ _t41 = cpu->r[30] + 0xFFFFB6C8u;
|
|
/* 02BC8BD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC8BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8BD8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8BD8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BC8BD8 */ if (_t43) goto L_02BC8BFC; else goto L_02BC8BDC;
|
|
L_02BC8BDC: ; // 0x2bc8bdc
|
|
/* 02BC8BDC */ _t44 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC8BDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC8BE0 */ cpu->r[9] = cpu->r[8] + cpu->r[29];
|
|
/* 02BC8BE4 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC8BE8 */ _t45 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02BC8BE8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC8BEC */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC8BF0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC8BF4 */ cpu->r[6] = cpu->r[28];
|
|
/* 02BC8BF8 */ Gambit_fn_02B69330(cpu);
|
|
L_02BC8BFC: ; // 0x2bc8bfc
|
|
/* 02BC8BFC */ _t46 = cpu->r[31] + 0x00000038u;
|
|
/* 02BC8BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC8C00 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02BC8C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02BC8C08 */ cpu->r[29] = cpu->r[29] + 0x00000070u;
|
|
/* 02BC8C0C */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC8C0C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BC8C0C */ if (_t48) goto L_02BC8BA0; else goto L_02BC8C10;
|
|
L_02BC8C10: ; // 0x2bc8c10
|
|
/* 02BC8C10 */ /* nop */
|
|
/* 02BC8C14 */ _t49 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC8C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC8C18 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8C1C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC8C20 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BC8C24 */ return;
|
|
}
|
|
|
|
// fn_02BC8C28 @ 0x2bc8c28
|
|
void Gambit_fn_02BC8C28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC8C28: ; // 0x2bc8c28
|
|
/* 02BC8C28 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02BC8C28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC8C28 */ cpu->r[1] = _t0;
|
|
/* 02BC8C2C */ /* nop */
|
|
/* 02BC8C30 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC8C34 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC8C34 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC8C38 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC8C3C */ _t2 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC8C3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC8C40 */ _t3 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC8C40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC8C44 */ cpu->r[25] = cpu->r[3];
|
|
/* 02BC8C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC8C4C */ cpu->r[26] = cpu->r[4];
|
|
/* 02BC8C50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8C50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC8C50 */ if (_t5) goto L_02BC8CB8; else goto L_02BC8C54;
|
|
L_02BC8C54: ; // 0x2bc8c54
|
|
/* 02BC8C54 */ cpu->r[23] = 0x101D0000u;
|
|
/* 02BC8C58 */ _t6 = cpu->r[23] + 0xFFFFB770u;
|
|
/* 02BC8C58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC8C58 */ cpu->r[23] = _t6;
|
|
/* 02BC8C5C */ _t7 = cpu->r[8] + 0x0000005Cu;
|
|
/* 02BC8C5C */ cpu->r[24] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC8C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x0000001Fu);
|
|
/* 02BC8C64 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC8C64 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC8C64 */ if (_t9) goto L_02BC8CB8; else goto L_02BC8C68;
|
|
L_02BC8C68: ; // 0x2bc8c68
|
|
/* 02BC8C68 */ _t10 = cpu->r[12] + 0x00000018u;
|
|
/* 02BC8C68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC8C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[7]);
|
|
/* 02BC8C70 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8C70 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC8C70 */ if (_t12) goto L_02BC8C74; else goto L_02BC8CB8;
|
|
L_02BC8C74: ; // 0x2bc8c74
|
|
/* 02BC8C74 */ cpu->r[0] = 0x0000000Bu;
|
|
/* 02BC8C78 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BC8C7C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC8C80 */ cpu->r[10] = cpu->r[1] + 0x0000000Cu;
|
|
L_02BC8C84: ; // 0x2bc8c84
|
|
/* 02BC8C84 */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 02BC8C84 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 02BC8C84 */ cpu->r[10] = _t13;
|
|
/* 02BC8C88 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BC8C88 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BC8C88 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 02BC8C88 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC8C88 */ if (_t16) goto L_02BC8C84; else goto L_02BC8C8C;
|
|
L_02BC8C8C: ; // 0x2bc8c8c
|
|
/* 02BC8C8C */ cpu->r[4] = cpu->r[24];
|
|
/* 02BC8C90 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8C94 */ _t17 = cpu->r[8] + 0x00000052u;
|
|
/* 02BC8C94 */ cpu->r[12] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02BC8C98 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8C9C */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8CA0 */ _t18 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02BC8CA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC8CA4 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BC8CA8 */ cpu->r[22] = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BC8CAC */ Gambit_fn_02BCBC6C(cpu);
|
|
/* 02BC8CB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC8CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC8CB4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8CB4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC8CB4 */ if (_t20) goto L_02BC8CD0; else goto L_02BC8CB8;
|
|
L_02BC8CB8: ; // 0x2bc8cb8
|
|
/* 02BC8CB8 */ /* nop */
|
|
/* 02BC8CBC */ _t21 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC8CBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC8CC0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8CC4 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02BC8CC8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC8CCC */ return;
|
|
L_02BC8CD0: ; // 0x2bc8cd0
|
|
/* 02BC8CD0 */ _t22 = cpu->r[23] + 0x00000000u;
|
|
/* 02BC8CD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC8CD4 */ cpu->r[0] = 0x00000049u;
|
|
/* 02BC8CD8 */ _t23 = cpu->r[1] + 0x00000011u;
|
|
/* 02BC8CD8 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[24]);
|
|
/* 02BC8CDC */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8CDC */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 02BC8CE0 */ _t25 = cpu->r[7] + 0x00000050u;
|
|
/* 02BC8CE0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02BC8CE4 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8CE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC8CE8 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8CEC */ _t27 = cpu->r[1] + 0x00000012u;
|
|
/* 02BC8CEC */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[11]);
|
|
/* 02BC8CF0 */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BC8CF4 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8CF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC8CF8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8CFC */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BC8D00 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC8D04 */ cpu->r[29] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8D08 */ cpu->r[30] = 0x00000001u;
|
|
/* 02BC8D0C */ cpu->r[28] = cpu->r[31];
|
|
/* 02BC8D10 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BC8D14 */ cpu->r[21] = 0x00000020u;
|
|
L_02BC8D18: ; // 0x2bc8d18
|
|
/* 02BC8D18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[24]);
|
|
/* 02BC8D1C */ _t29 = cpu->r[26] + cpu->r[31];
|
|
/* 02BC8D1C */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[28]);
|
|
/* 02BC8D20 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8D20 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC8D20 */ if (_t31) goto L_02BC8DBC; else goto L_02BC8D24;
|
|
L_02BC8D24: ; // 0x2bc8d24
|
|
/* 02BC8D24 */ _t32 = cpu->r[23] + 0x00000000u;
|
|
/* 02BC8D24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC8D28 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC8D2C */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BC8D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8D34 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8D34 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC8D34 */ if (_t34) goto L_02BC8DBC; else goto L_02BC8D38;
|
|
L_02BC8D38: ; // 0x2bc8d38
|
|
/* 02BC8D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[24]);
|
|
/* 02BC8D3C */ _t35 = cpu->r[25] + 0x0000003Cu;
|
|
/* 02BC8D3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC8D40 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC8D40 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BC8D40 */ if (_t37) goto L_02BC8D44; else goto L_02BC8D60;
|
|
L_02BC8D44: ; // 0x2bc8d44
|
|
/* 02BC8D44 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000070u);
|
|
/* 02BC8D48 */ cpu->r[20] = cpu->r[11] + cpu->r[10];
|
|
/* 02BC8D4C */ cpu->r[3] = cpu->r[20];
|
|
/* 02BC8D50 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC8D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8D58 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8D58 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BC8D58 */ if (_t39) goto L_02BC8D5C; else goto L_02BC8D7C;
|
|
L_02BC8D5C: ; // 0x2bc8d5c
|
|
/* 02BC8D5C */ goto L_02BC8DBC;
|
|
L_02BC8D60: ; // 0x2bc8d60
|
|
/* 02BC8D60 */ cpu->r[10] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BC8D64 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000070u);
|
|
/* 02BC8D68 */ cpu->r[20] = cpu->r[11] + cpu->r[10];
|
|
/* 02BC8D6C */ cpu->r[3] = cpu->r[20];
|
|
/* 02BC8D70 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC8D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8D78 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8D78 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BC8D78 */ if (_t41) goto L_02BC8DBC; else goto L_02BC8D7C;
|
|
L_02BC8D7C: ; // 0x2bc8d7c
|
|
/* 02BC8D7C */ cpu->r[5] = cpu->r[22];
|
|
/* 02BC8D80 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC8D84 */ cpu->r[3] = cpu->r[20];
|
|
/* 02BC8D88 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC8D8C */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC8D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC8D90 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8D90 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BC8D90 */ if (_t43) goto L_02BC8D94; else goto L_02BC8DBC;
|
|
L_02BC8D94: ; // 0x2bc8d94
|
|
/* 02BC8D94 */ _t44 = cpu->r[27] + 0xFFFFB6C8u;
|
|
/* 02BC8D94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC8D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8D9C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8D9C */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BC8D9C */ if (_t46) goto L_02BC8DB8; else goto L_02BC8DA0;
|
|
L_02BC8DA0: ; // 0x2bc8da0
|
|
/* 02BC8DA0 */ _t47 = cpu->r[20] + 0x0000001Cu;
|
|
/* 02BC8DA0 */ cpu->r[20] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC8DA4 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC8DA8 */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC8DAC */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC8DB0 */ cpu->r[6] = cpu->r[20];
|
|
/* 02BC8DB4 */ Gambit_fn_02B69330(cpu);
|
|
L_02BC8DB8: ; // 0x2bc8db8
|
|
/* 02BC8DB8 */ _t48 = cpu->r[26] + cpu->r[31];
|
|
/* 02BC8DB8 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[30]);
|
|
L_02BC8DBC: ; // 0x2bc8dbc
|
|
/* 02BC8DBC */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 02BC8DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02BC8DC0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BC8DC4 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8DC4 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BC8DC4 */ if (_t50) goto L_02BC8DC8; else goto L_02BC8D18;
|
|
L_02BC8DC8: ; // 0x2bc8dc8
|
|
/* 02BC8DC8 */ /* nop */
|
|
/* 02BC8DCC */ _t51 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC8DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC8DD0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8DD4 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02BC8DD8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BC8DDC */ return;
|
|
}
|
|
|
|
// fn_02BC8DE0 @ 0x2bc8de0
|
|
void Gambit_fn_02BC8DE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_02BC8DE0: ; // 0x2bc8de0
|
|
/* 02BC8DE0 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02BC8DE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC8DE0 */ cpu->r[1] = _t0;
|
|
/* 02BC8DE4 */ /* nop */
|
|
/* 02BC8DE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC8DEC */ cpu->r[27] = cpu->r[3];
|
|
/* 02BC8DF0 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02BC8DF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC8DF4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC8DF8 */ _t2 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC8DF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC8DFC */ cpu->r[29] = cpu->r[7];
|
|
/* 02BC8E00 */ _t3 = cpu->r[3] + 0x00000144u;
|
|
/* 02BC8E00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC8E04 */ cpu->r[28] = cpu->r[4];
|
|
/* 02BC8E08 */ cpu->r[31] = cpu->r[6];
|
|
/* 02BC8E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC8E10 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BC8E14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8E14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC8E14 */ if (_t5) goto L_02BC8E70; else goto L_02BC8E18;
|
|
L_02BC8E18: ; // 0x2bc8e18
|
|
/* 02BC8E18 */ cpu->r[25] = 0x101D0000u;
|
|
/* 02BC8E1C */ _t6 = cpu->r[25] + 0xFFFFB770u;
|
|
/* 02BC8E1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC8E1C */ cpu->r[25] = _t6;
|
|
/* 02BC8E20 */ _t7 = cpu->r[5] + 0x0000005Cu;
|
|
/* 02BC8E20 */ cpu->r[24] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC8E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x0000001Fu);
|
|
/* 02BC8E28 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC8E28 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC8E28 */ if (_t9) goto L_02BC8E70; else goto L_02BC8E2C;
|
|
L_02BC8E2C: ; // 0x2bc8e2c
|
|
/* 02BC8E2C */ _t10 = cpu->r[7] + 0x00000018u;
|
|
/* 02BC8E2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC8E30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 02BC8E34 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8E34 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC8E34 */ if (_t12) goto L_02BC8E38; else goto L_02BC8E70;
|
|
L_02BC8E38: ; // 0x2bc8e38
|
|
/* 02BC8E38 */ cpu->r[4] = cpu->r[28];
|
|
/* 02BC8E3C */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC8E40 */ cpu->r[26] = cpu->r[3];
|
|
/* 02BC8E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BC8E44 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8E44 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC8E44 */ if (_t14) goto L_02BC8E70; else goto L_02BC8E48;
|
|
L_02BC8E48: ; // 0x2bc8e48
|
|
/* 02BC8E48 */ _t15 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC8E48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC8E4C */ cpu->r[4] = cpu->r[24];
|
|
/* 02BC8E50 */ cpu->r[5] = cpu->r[28];
|
|
/* 02BC8E54 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8E58 */ _t16 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02BC8E58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC8E5C */ cpu->r[8] = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8E60 */ cpu->r[7] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC8E64 */ Gambit_fn_02BCC098(cpu);
|
|
/* 02BC8E68 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC8E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC8E6C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8E6C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC8E6C */ if (_t18) goto L_02BC8E88; else goto L_02BC8E70;
|
|
L_02BC8E70: ; // 0x2bc8e70
|
|
/* 02BC8E70 */ /* nop */
|
|
/* 02BC8E74 */ _t19 = cpu->r[1] + 0x00000054u;
|
|
/* 02BC8E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC8E78 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8E7C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BC8E80 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC8E84 */ return;
|
|
L_02BC8E88: ; // 0x2bc8e88
|
|
/* 02BC8E88 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC8E8C */ _t20 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC8E8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC8E90 */ cpu->r[9] = 0x0000004Au;
|
|
/* 02BC8E94 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8E94 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02BC8E98 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8E98 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[9]);
|
|
/* 02BC8E9C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8E9C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02BC8EA0 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8EA0 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02BC8EA4 */ _t25 = cpu->r[10] + 0x00000058u;
|
|
/* 02BC8EA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC8EA8 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8EA8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02BC8EAC */ _t27 = cpu->r[1] + 0x00000015u;
|
|
/* 02BC8EAC */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[11]);
|
|
/* 02BC8EB0 */ _t28 = cpu->r[10] + 0x00000050u;
|
|
/* 02BC8EB0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02BC8EB4 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC8EB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC8EB8 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02BC8EBC */ _t30 = cpu->r[1] + 0x00000016u;
|
|
/* 02BC8EBC */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[10]);
|
|
/* 02BC8EC0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8EC4 */ _t31 = cpu->r[1] + 0x00000017u;
|
|
/* 02BC8EC4 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 02BC8EC8 */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BC8ECC */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC8ECC */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC8ED0 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8ED4 */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BC8ED8 */ _t33 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02BC8ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC8EDC */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC8EE0 */ cpu->r[6] = 0x0000000Cu;
|
|
/* 02BC8EE4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC8EE8 */ _t34 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC8EE8 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02BC8EEC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8EF0 */ _t35 = cpu->r[3] + 0xFFFFB794u;
|
|
/* 02BC8EF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC8EF4 */ cpu->r[9] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC8EF8 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC8EF8 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
|
|
/* 02BC8EFC */ cpu->r[8] = cpu->r[26] + 0x00000004u;
|
|
/* 02BC8F00 */ cpu->r[7] = cpu->r[28];
|
|
/* 02BC8F04 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8F04 */ rbrew_write32(cpu->mem, _t37, cpu->r[31]);
|
|
/* 02BC8F08 */ Gambit_fn_02BF6B20(cpu);
|
|
/* 02BC8F0C */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC8F10 */ /* nop */
|
|
/* 02BC8F14 */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02BC8F18 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC8F1C */ _t38 = cpu->r[1] + 0x00000054u;
|
|
/* 02BC8F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC8F20 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8F24 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BC8F28 */ return;
|
|
}
|
|
|
|
// fn_02BC8F2C @ 0x2bc8f2c
|
|
void Gambit_fn_02BC8F2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02BC8F2C: ; // 0x2bc8f2c
|
|
/* 02BC8F2C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC8F30 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC8F30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC8F30 */ cpu->r[1] = _t0;
|
|
/* 02BC8F34 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8F34 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC8F38 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8F38 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC8F3C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8F3C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC8F40 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC8F44 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8F44 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC8F48 */ _t5 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC8F48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC8F4C */ _t6 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC8F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC8F50 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BC8F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BC8F58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8F5C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC8F5C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC8F5C */ if (_t8) goto L_02BC8F88; else goto L_02BC8F60;
|
|
L_02BC8F60: ; // 0x2bc8f60
|
|
/* 02BC8F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 02BC8F64 */ _t9 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02BC8F64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC8F68 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC8F68 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC8F68 */ if (_t11) goto L_02BC8F70; else goto L_02BC8F6C;
|
|
L_02BC8F6C: ; // 0x2bc8f6c
|
|
/* 02BC8F6C */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02BC8F70: ; // 0x2bc8f70
|
|
/* 02BC8F70 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000070u);
|
|
/* 02BC8F74 */ cpu->r[29] = cpu->r[12] + cpu->r[0];
|
|
/* 02BC8F78 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC8F7C */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC8F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8F84 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8F84 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC8F84 */ if (_t13) goto L_02BC8F88; else goto L_02BC8FA8;
|
|
L_02BC8F88: ; // 0x2bc8f88
|
|
/* 02BC8F88 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8F88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC8F8C */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC8F90 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8F90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC8F94 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8F98 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8F98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC8F9C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8FA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC8FA4 */ return;
|
|
L_02BC8FA8: ; // 0x2bc8fa8
|
|
/* 02BC8FA8 */ _t18 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8FA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC8FAC */ cpu->r[0] = 0x00000021u;
|
|
/* 02BC8FB0 */ _t19 = cpu->r[12] + 0x00000000u;
|
|
/* 02BC8FB0 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 02BC8FB4 */ _t20 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8FB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC8FB8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC8FBC */ _t21 = cpu->r[11] + 0x00000001u;
|
|
/* 02BC8FBC */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
|
|
/* 02BC8FC0 */ _t22 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8FC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC8FC4 */ cpu->r[5] = 0x00000002u;
|
|
/* 02BC8FC8 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC8FCC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8FD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC8FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC8FD4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8FD4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC8FD4 */ if (_t24) goto L_02BC8FD8; else goto L_02BC9000;
|
|
L_02BC8FD8: ; // 0x2bc8fd8
|
|
/* 02BC8FD8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC8FDC */ _t25 = cpu->r[3] + 0xFFFFB6C8u;
|
|
/* 02BC8FDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC8FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8FE4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8FE4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC8FE4 */ if (_t27) goto L_02BC9000; else goto L_02BC8FE8;
|
|
L_02BC8FE8: ; // 0x2bc8fe8
|
|
/* 02BC8FE8 */ _t28 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02BC8FE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC8FEC */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC8FF0 */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC8FF4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC8FF8 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC8FFC */ Gambit_fn_02B69330(cpu);
|
|
L_02BC9000: ; // 0x2bc9000
|
|
/* 02BC9000 */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC9004 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9004 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC9008 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02BC900C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC9010 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC9010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC9014 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9014 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC9018 */ cpu->lr = cpu->r[0];
|
|
/* 02BC901C */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC901C */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC9020 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC9024 */ return;
|
|
}
|
|
|
|
// fn_02BC8F30 @ 0x2bc8f30
|
|
void Gambit_fn_02BC8F30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02BC8F30: ; // 0x2bc8f30
|
|
/* 02BC8F30 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC8F30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC8F30 */ cpu->r[1] = _t0;
|
|
/* 02BC8F34 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8F34 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC8F38 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8F38 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC8F3C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8F3C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC8F40 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC8F44 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8F44 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC8F48 */ _t5 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC8F48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC8F4C */ _t6 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC8F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC8F50 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BC8F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BC8F58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8F5C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC8F5C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC8F5C */ if (_t8) goto L_02BC8F88; else goto L_02BC8F60;
|
|
L_02BC8F60: ; // 0x2bc8f60
|
|
/* 02BC8F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 02BC8F64 */ _t9 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02BC8F64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC8F68 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC8F68 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC8F68 */ if (_t11) goto L_02BC8F70; else goto L_02BC8F6C;
|
|
L_02BC8F6C: ; // 0x2bc8f6c
|
|
/* 02BC8F6C */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02BC8F70: ; // 0x2bc8f70
|
|
/* 02BC8F70 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000070u);
|
|
/* 02BC8F74 */ cpu->r[29] = cpu->r[12] + cpu->r[0];
|
|
/* 02BC8F78 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC8F7C */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BC8F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8F84 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8F84 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC8F84 */ if (_t13) goto L_02BC8F88; else goto L_02BC8FA8;
|
|
L_02BC8F88: ; // 0x2bc8f88
|
|
/* 02BC8F88 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC8F88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC8F8C */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC8F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC8F90 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC8F90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC8F94 */ cpu->lr = cpu->r[0];
|
|
/* 02BC8F98 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC8F98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC8F9C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC8FA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC8FA4 */ return;
|
|
L_02BC8FA8: ; // 0x2bc8fa8
|
|
/* 02BC8FA8 */ _t18 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8FA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC8FAC */ cpu->r[0] = 0x00000021u;
|
|
/* 02BC8FB0 */ _t19 = cpu->r[12] + 0x00000000u;
|
|
/* 02BC8FB0 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 02BC8FB4 */ _t20 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8FB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC8FB8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC8FBC */ _t21 = cpu->r[11] + 0x00000001u;
|
|
/* 02BC8FBC */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
|
|
/* 02BC8FC0 */ _t22 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC8FC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC8FC4 */ cpu->r[5] = 0x00000002u;
|
|
/* 02BC8FC8 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BC8FCC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC8FD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC8FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC8FD4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8FD4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC8FD4 */ if (_t24) goto L_02BC8FD8; else goto L_02BC9000;
|
|
L_02BC8FD8: ; // 0x2bc8fd8
|
|
/* 02BC8FD8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC8FDC */ _t25 = cpu->r[3] + 0xFFFFB6C8u;
|
|
/* 02BC8FDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC8FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC8FE4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC8FE4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC8FE4 */ if (_t27) goto L_02BC9000; else goto L_02BC8FE8;
|
|
L_02BC8FE8: ; // 0x2bc8fe8
|
|
/* 02BC8FE8 */ _t28 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02BC8FE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC8FEC */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC8FF0 */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC8FF4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC8FF8 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BC8FFC */ Gambit_fn_02B69330(cpu);
|
|
L_02BC9000: ; // 0x2bc9000
|
|
/* 02BC9000 */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC9004 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9004 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC9008 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02BC900C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC9010 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC9010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC9014 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9014 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC9018 */ cpu->lr = cpu->r[0];
|
|
/* 02BC901C */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC901C */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC9020 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC9024 */ return;
|
|
}
|
|
|
|
// fn_02BC9028 @ 0x2bc9028
|
|
void Gambit_fn_02BC9028(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02BC9028: ; // 0x2bc9028
|
|
/* 02BC9028 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC902C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC902C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC902C */ cpu->r[1] = _t0;
|
|
/* 02BC9030 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9030 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC9034 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9034 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC9038 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC903C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC903C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9040 */ _t4 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC9040 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC9044 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC9044 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC9048 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC904C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000001Fu);
|
|
/* 02BC9050 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BC9054 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC9054 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC9054 */ if (_t7) goto L_02BC9088; else goto L_02BC9058;
|
|
L_02BC9058: ; // 0x2bc9058
|
|
/* 02BC9058 */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC9058 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC905C */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC905C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC9060 */ _t10 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC9060 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC9064 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9064 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BC9068 */ _t12 = cpu->r[10] + 0x00000024u;
|
|
/* 02BC9068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC906C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC9070 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9074 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC9078 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC907C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC9080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC9084 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9084 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC9084 */ if (_t14) goto L_02BC9088; else goto L_02BC90A4;
|
|
L_02BC9088: ; // 0x2bc9088
|
|
/* 02BC9088 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC9088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC908C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC908C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC9090 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9094 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9094 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC9098 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC909C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC90A0 */ return;
|
|
L_02BC90A4: ; // 0x2bc90a4
|
|
/* 02BC90A4 */ _t18 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC90A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC90A8 */ cpu->r[11] = 0x00000022u;
|
|
/* 02BC90AC */ _t19 = cpu->r[10] + 0x00000014u;
|
|
/* 02BC90AC */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[11]);
|
|
/* 02BC90B0 */ _t20 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC90B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC90B4 */ _t21 = cpu->r[12] + 0x00000015u;
|
|
/* 02BC90B4 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02BC90B8 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC90B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC90BC */ Gambit_fn_02BEED0C(cpu);
|
|
/* 02BC90C0 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC90C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC90C4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC90C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC90CC */ cpu->r[9] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02BC90D0 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC90D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC90D4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC90D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC90D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC90DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC90E0 */ return;
|
|
}
|
|
|
|
// fn_02BC902C @ 0x2bc902c
|
|
void Gambit_fn_02BC902C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02BC902C: ; // 0x2bc902c
|
|
/* 02BC902C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC902C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC902C */ cpu->r[1] = _t0;
|
|
/* 02BC9030 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9030 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC9034 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9034 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC9038 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC903C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC903C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9040 */ _t4 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC9040 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC9044 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC9044 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC9048 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC904C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000001Fu);
|
|
/* 02BC9050 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BC9054 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC9054 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC9054 */ if (_t7) goto L_02BC9088; else goto L_02BC9058;
|
|
L_02BC9058: ; // 0x2bc9058
|
|
/* 02BC9058 */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC9058 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC905C */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC905C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC9060 */ _t10 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC9060 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC9064 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9064 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BC9068 */ _t12 = cpu->r[10] + 0x00000024u;
|
|
/* 02BC9068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC906C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC9070 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9074 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BC9078 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC907C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC9080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC9084 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9084 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC9084 */ if (_t14) goto L_02BC9088; else goto L_02BC90A4;
|
|
L_02BC9088: ; // 0x2bc9088
|
|
/* 02BC9088 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC9088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC908C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC908C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC9090 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9094 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9094 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC9098 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC909C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC90A0 */ return;
|
|
L_02BC90A4: ; // 0x2bc90a4
|
|
/* 02BC90A4 */ _t18 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC90A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC90A8 */ cpu->r[11] = 0x00000022u;
|
|
/* 02BC90AC */ _t19 = cpu->r[10] + 0x00000014u;
|
|
/* 02BC90AC */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[11]);
|
|
/* 02BC90B0 */ _t20 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC90B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC90B4 */ _t21 = cpu->r[12] + 0x00000015u;
|
|
/* 02BC90B4 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02BC90B8 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC90B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC90BC */ Gambit_fn_02BEED0C(cpu);
|
|
/* 02BC90C0 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC90C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC90C4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC90C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC90CC */ cpu->r[9] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02BC90D0 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC90D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC90D4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC90D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC90D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC90DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC90E0 */ return;
|
|
}
|
|
|
|
// fn_02BC90E4 @ 0x2bc90e4
|
|
void Gambit_fn_02BC90E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BC90E4: ; // 0x2bc90e4
|
|
/* 02BC90E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC90E8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC90E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC90EC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC90F0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC90F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC90F0 */ cpu->r[1] = _t1;
|
|
/* 02BC90F4 */ _t2 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC90F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC90F8 */ _t3 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC90F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC90FC */ cpu->r[3] = cpu->r[12] + 0x00000004u;
|
|
/* 02BC9100 */ Gambit_fn_02B6A814(cpu);
|
|
/* 02BC9104 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC9108 */ cpu->lr = cpu->r[0];
|
|
/* 02BC910C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9110 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02BC9114 */ return;
|
|
}
|
|
|
|
// fn_02BC90F0 @ 0x2bc90f0
|
|
void Gambit_fn_02BC90F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02BC90F0: ; // 0x2bc90f0
|
|
/* 02BC90F0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC90F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC90F0 */ cpu->r[1] = _t0;
|
|
/* 02BC90F4 */ _t1 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC90F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC90F8 */ _t2 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC90F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC90FC */ cpu->r[3] = cpu->r[12] + 0x00000004u;
|
|
/* 02BC9100 */ Gambit_fn_02B6A814(cpu);
|
|
/* 02BC9104 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC9108 */ cpu->lr = cpu->r[0];
|
|
/* 02BC910C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9110 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02BC9114 */ return;
|
|
}
|
|
|
|
// fn_02BC9118 @ 0x2bc9118
|
|
void Gambit_fn_02BC9118(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BC9118: ; // 0x2bc9118
|
|
/* 02BC9118 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC911C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC911C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC911C */ cpu->r[1] = _t0;
|
|
/* 02BC9120 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9120 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC9124 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9124 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC9128 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC912C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC912C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9130 */ _t4 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC9130 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC9134 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC9138 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC913C */ _t5 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC913C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC9140 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BC9144 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC9144 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 02BC9148 */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 02BC9148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC914C */ _t8 = cpu->r[31] + 0x00000002u;
|
|
/* 02BC914C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[9]);
|
|
/* 02BC9150 */ _t9 = cpu->r[31] + 0x00000001u;
|
|
/* 02BC9150 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 02BC9154 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9154 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BC9158 */ _t11 = cpu->r[31] + 0x00000003u;
|
|
/* 02BC9158 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[9]);
|
|
/* 02BC915C */ Gambit_fn_02BC90E4(cpu);
|
|
/* 02BC9160 */ cpu->r[6] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 02BC9164 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 02BC9168 */ cpu->r[4] = cpu->r[31] + 0x00000004u;
|
|
/* 02BC916C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9170 */ Gambit_fn_02B6A81C(cpu);
|
|
/* 02BC9174 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC9174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC9178 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC917C */ cpu->lr = cpu->r[0];
|
|
/* 02BC9180 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9180 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC9184 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC9188 */ return;
|
|
}
|
|
|
|
// fn_02BC911C @ 0x2bc911c
|
|
void Gambit_fn_02BC911C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BC911C: ; // 0x2bc911c
|
|
/* 02BC911C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC911C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC911C */ cpu->r[1] = _t0;
|
|
/* 02BC9120 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9120 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC9124 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9124 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC9128 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC912C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC912C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9130 */ _t4 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC9130 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC9134 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC9138 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC913C */ _t5 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC913C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC9140 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BC9144 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC9144 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 02BC9148 */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 02BC9148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC914C */ _t8 = cpu->r[31] + 0x00000002u;
|
|
/* 02BC914C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[9]);
|
|
/* 02BC9150 */ _t9 = cpu->r[31] + 0x00000001u;
|
|
/* 02BC9150 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 02BC9154 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9154 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BC9158 */ _t11 = cpu->r[31] + 0x00000003u;
|
|
/* 02BC9158 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[9]);
|
|
/* 02BC915C */ Gambit_fn_02BC90E4(cpu);
|
|
/* 02BC9160 */ cpu->r[6] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 02BC9164 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 02BC9168 */ cpu->r[4] = cpu->r[31] + 0x00000004u;
|
|
/* 02BC916C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9170 */ Gambit_fn_02B6A81C(cpu);
|
|
/* 02BC9174 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC9174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC9178 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC917C */ cpu->lr = cpu->r[0];
|
|
/* 02BC9180 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9180 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC9184 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC9188 */ return;
|
|
}
|
|
|
|
// fn_02BC918C @ 0x2bc918c
|
|
void Gambit_fn_02BC918C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02BC918C: ; // 0x2bc918c
|
|
/* 02BC918C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC9190 */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02BC9190 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9190 */ cpu->r[1] = _t0;
|
|
/* 02BC9194 */ _t1 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC9194 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC9198 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BC919C */ _t2 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC919C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BC91A0 */ _t3 = cpu->r[1] + 0x00000078u;
|
|
/* 02BC91A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BC91A4 */ _t4 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC91A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02BC91A8 */ _t5 = cpu->r[1] + 0x00000084u;
|
|
/* 02BC91A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC91AC */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC91B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC91B4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC91B8 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BC91BC */ Gambit_fn_02BF6614(cpu);
|
|
/* 02BC91C0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC91C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC91C8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC91CC */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BC91D0 */ cpu->r[11] = 0x00000003u;
|
|
/* 02BC91D4 */ _t6 = ~cpu->r[28];
|
|
/* 02BC91D4 */ cpu->r[10] = cpu->r[11] & _t6;
|
|
/* 02BC91D8 */ _t7 = cpu->r[29] + 0x00000010u;
|
|
/* 02BC91D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC91DC */ cpu->r[12] = cpu->r[28] + cpu->r[10];
|
|
/* 02BC91E0 */ cpu->r[29] = cpu->r[12] + 0x00000001u;
|
|
/* 02BC91E4 */ Gambit_fn_02BF3270(cpu);
|
|
/* 02BC91E8 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BC91EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000020u);
|
|
/* 02BC91F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC91F4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC91F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC91F4 */ if (_t9) goto L_02BC91F8; else goto L_02BC9270;
|
|
L_02BC91F8: ; // 0x2bc91f8
|
|
/* 02BC91F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC91FC */ cpu->r[7] = cpu->r[31];
|
|
/* 02BC9200 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC9200 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC9200 */ if (_t11) goto L_02BC9204; else goto L_02BC9270;
|
|
L_02BC9204: ; // 0x2bc9204
|
|
/* 02BC9204 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[7]);
|
|
/* 02BC9208 */ cpu->ctr = cpu->r[31];
|
|
/* 02BC920C */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[29]);
|
|
L_02BC9210: ; // 0x2bc9210
|
|
/* 02BC9210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000002u);
|
|
/* 02BC9214 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9214 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC9214 */ if (_t13) goto L_02BC9220; else goto L_02BC9218;
|
|
L_02BC9218: ; // 0x2bc9218
|
|
/* 02BC9218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000020u);
|
|
/* 02BC921C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC921C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC921C */ if (_t15) goto L_02BC9220; else goto L_02BC9224;
|
|
L_02BC9220: ; // 0x2bc9220
|
|
/* 02BC9220 */ cpu->r[6] = cpu->r[8] + 0x0000000Cu;
|
|
L_02BC9224: ; // 0x2bc9224
|
|
/* 02BC9224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[3]);
|
|
/* 02BC9228 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC9228 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC9228 */ if (_t17) goto L_02BC9264; else goto L_02BC922C;
|
|
L_02BC922C: ; // 0x2bc922c
|
|
/* 02BC922C */ cpu->r[10] = cpu->r[31] / cpu->r[7];
|
|
/* 02BC9230 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[7]);
|
|
/* 02BC9234 */ cpu->r[12] = cpu->r[31] - cpu->r[0];
|
|
/* 02BC9238 */ _t18 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC9238 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC923C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02BC9240 */ _t19 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC9240 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC9244 */ cpu->r[0] = cpu->r[12] - cpu->r[0];
|
|
/* 02BC9248 */ _t20 = cpu->r[1] + 0x00000078u;
|
|
/* 02BC9248 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC924C */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC9250 */ _t21 = cpu->r[1] + 0x00000084u;
|
|
/* 02BC9250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC9254 */ _t22 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC9254 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC9258 */ cpu->lr = cpu->r[0];
|
|
/* 02BC925C */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BC9260 */ return;
|
|
L_02BC9264: ; // 0x2bc9264
|
|
/* 02BC9264 */ cpu->r[8] = cpu->r[8] + cpu->r[0];
|
|
/* 02BC9268 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02BC926C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BC926C */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BC926C */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02BC926C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC926C */ if (_t25) goto L_02BC9210; else goto L_02BC9270;
|
|
L_02BC9270: ; // 0x2bc9270
|
|
/* 02BC9270 */ _t26 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC9270 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC9274 */ _t27 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC9274 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC9278 */ _t28 = cpu->r[1] + 0x00000084u;
|
|
/* 02BC9278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC927C */ _t29 = cpu->r[1] + 0x00000078u;
|
|
/* 02BC927C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC9280 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9284 */ _t30 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC9284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC9288 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BC928C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC9290 */ return;
|
|
}
|
|
|
|
// fn_02BC9190 @ 0x2bc9190
|
|
void Gambit_fn_02BC9190(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02BC9190: ; // 0x2bc9190
|
|
/* 02BC9190 */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02BC9190 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9190 */ cpu->r[1] = _t0;
|
|
/* 02BC9194 */ _t1 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC9194 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC9198 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BC919C */ _t2 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC919C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BC91A0 */ _t3 = cpu->r[1] + 0x00000078u;
|
|
/* 02BC91A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BC91A4 */ _t4 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC91A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02BC91A8 */ _t5 = cpu->r[1] + 0x00000084u;
|
|
/* 02BC91A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC91AC */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC91B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC91B4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC91B8 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BC91BC */ Gambit_fn_02BF6614(cpu);
|
|
/* 02BC91C0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC91C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC91C8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC91CC */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BC91D0 */ cpu->r[11] = 0x00000003u;
|
|
/* 02BC91D4 */ _t6 = ~cpu->r[28];
|
|
/* 02BC91D4 */ cpu->r[10] = cpu->r[11] & _t6;
|
|
/* 02BC91D8 */ _t7 = cpu->r[29] + 0x00000010u;
|
|
/* 02BC91D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC91DC */ cpu->r[12] = cpu->r[28] + cpu->r[10];
|
|
/* 02BC91E0 */ cpu->r[29] = cpu->r[12] + 0x00000001u;
|
|
/* 02BC91E4 */ Gambit_fn_02BF3270(cpu);
|
|
/* 02BC91E8 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BC91EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000020u);
|
|
/* 02BC91F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC91F4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC91F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC91F4 */ if (_t9) goto L_02BC91F8; else goto L_02BC9270;
|
|
L_02BC91F8: ; // 0x2bc91f8
|
|
/* 02BC91F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC91FC */ cpu->r[7] = cpu->r[31];
|
|
/* 02BC9200 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC9200 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC9200 */ if (_t11) goto L_02BC9204; else goto L_02BC9270;
|
|
L_02BC9204: ; // 0x2bc9204
|
|
/* 02BC9204 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[7]);
|
|
/* 02BC9208 */ cpu->ctr = cpu->r[31];
|
|
/* 02BC920C */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[29]);
|
|
L_02BC9210: ; // 0x2bc9210
|
|
/* 02BC9210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000002u);
|
|
/* 02BC9214 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9214 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC9214 */ if (_t13) goto L_02BC9220; else goto L_02BC9218;
|
|
L_02BC9218: ; // 0x2bc9218
|
|
/* 02BC9218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000020u);
|
|
/* 02BC921C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC921C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC921C */ if (_t15) goto L_02BC9220; else goto L_02BC9224;
|
|
L_02BC9220: ; // 0x2bc9220
|
|
/* 02BC9220 */ cpu->r[6] = cpu->r[8] + 0x0000000Cu;
|
|
L_02BC9224: ; // 0x2bc9224
|
|
/* 02BC9224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[3]);
|
|
/* 02BC9228 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC9228 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC9228 */ if (_t17) goto L_02BC9264; else goto L_02BC922C;
|
|
L_02BC922C: ; // 0x2bc922c
|
|
/* 02BC922C */ cpu->r[10] = cpu->r[31] / cpu->r[7];
|
|
/* 02BC9230 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[7]);
|
|
/* 02BC9234 */ cpu->r[12] = cpu->r[31] - cpu->r[0];
|
|
/* 02BC9238 */ _t18 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC9238 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC923C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02BC9240 */ _t19 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC9240 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC9244 */ cpu->r[0] = cpu->r[12] - cpu->r[0];
|
|
/* 02BC9248 */ _t20 = cpu->r[1] + 0x00000078u;
|
|
/* 02BC9248 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC924C */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC9250 */ _t21 = cpu->r[1] + 0x00000084u;
|
|
/* 02BC9250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC9254 */ _t22 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC9254 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC9258 */ cpu->lr = cpu->r[0];
|
|
/* 02BC925C */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BC9260 */ return;
|
|
L_02BC9264: ; // 0x2bc9264
|
|
/* 02BC9264 */ cpu->r[8] = cpu->r[8] + cpu->r[0];
|
|
/* 02BC9268 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02BC926C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BC926C */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BC926C */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02BC926C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC926C */ if (_t25) goto L_02BC9210; else goto L_02BC9270;
|
|
L_02BC9270: ; // 0x2bc9270
|
|
/* 02BC9270 */ _t26 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC9270 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC9274 */ _t27 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC9274 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC9278 */ _t28 = cpu->r[1] + 0x00000084u;
|
|
/* 02BC9278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC927C */ _t29 = cpu->r[1] + 0x00000078u;
|
|
/* 02BC927C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC9280 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9284 */ _t30 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC9284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC9288 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BC928C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC9290 */ return;
|
|
}
|
|
|
|
// fn_02BC9294 @ 0x2bc9294
|
|
void Gambit_fn_02BC9294(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BC9294: ; // 0x2bc9294
|
|
/* 02BC9294 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 02BC9294 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9294 */ cpu->r[1] = _t0;
|
|
/* 02BC9298 */ /* nop */
|
|
/* 02BC929C */ cpu->r[22] = cpu->r[3];
|
|
/* 02BC92A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC92A4 */ cpu->r[21] = cpu->r[4];
|
|
/* 02BC92A8 */ cpu->r[23] = cpu->r[5];
|
|
/* 02BC92AC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC92B0 */ cpu->r[24] = cpu->r[6];
|
|
/* 02BC92B4 */ _t1 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BC92B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC92B8 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BC92BC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC92C0 */ Gambit_fn_02BF6614(cpu);
|
|
/* 02BC92C4 */ cpu->r[8] = 0x00000003u;
|
|
/* 02BC92C8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC92CC */ _t2 = ~cpu->r[30];
|
|
/* 02BC92CC */ cpu->r[6] = cpu->r[8] & _t2;
|
|
/* 02BC92D0 */ cpu->r[10] = cpu->r[30] + cpu->r[6];
|
|
/* 02BC92D4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC92D8 */ _t3 = cpu->r[22] + 0x00000048u;
|
|
/* 02BC92D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC92DC */ cpu->r[25] = cpu->r[10] + 0x00000001u;
|
|
/* 02BC92E0 */ _t4 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC92E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC92E4 */ _t5 = cpu->r[22] + 0x00000044u;
|
|
/* 02BC92E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC92E8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC92EC */ _t6 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC92EC */ cpu->r[19] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC92F0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BC92F4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC92F8 */ cpu->r[28] = 0x000000FFu;
|
|
/* 02BC92FC */ _t7 = cpu->r[31] + 0xFFFFB774u;
|
|
/* 02BC92FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC92FC */ cpu->r[31] = _t7;
|
|
/* 02BC9300 */ cpu->r[27] = 0x00000000u;
|
|
/* 02BC9304 */ cpu->r[29] = cpu->r[28];
|
|
/* 02BC9308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC930C */ _t8 = cpu->r[22] + 0x00000048u;
|
|
/* 02BC930C */ cpu->r[26] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC9310 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9310 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC9310 */ if (_t10) goto L_02BC9384; else goto L_02BC9314;
|
|
L_02BC9314: ; // 0x2bc9314
|
|
/* 02BC9314 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BC9318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC931C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC931C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC931C */ if (_t12) goto L_02BC9384; else goto L_02BC9320;
|
|
L_02BC9320: ; // 0x2bc9320
|
|
/* 02BC9320 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC9320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC9324 */ _t14 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BC9324 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02BC9328 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC932C */ cpu->r[6] = cpu->r[3] + cpu->r[0];
|
|
/* 02BC9330 */ _t15 = cpu->r[6] + 0x000000C4u;
|
|
/* 02BC9330 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC9334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC9338 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9338 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC9338 */ if (_t17) goto L_02BC9350; else goto L_02BC933C;
|
|
L_02BC933C: ; // 0x2bc933c
|
|
/* 02BC933C */ _t18 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BC933C */ cpu->r[10] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02BC9340 */ cpu->r[9] = cpu->r[3] + cpu->r[10];
|
|
/* 02BC9344 */ _t19 = cpu->r[9] + 0x000000C0u;
|
|
/* 02BC9344 */ cpu->r[6] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BC9348 */ _t20 = cpu->r[26] + 0x00000008u;
|
|
/* 02BC9348 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[6]);
|
|
/* 02BC934C */ _t21 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC934C */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
L_02BC9350: ; // 0x2bc9350
|
|
/* 02BC9350 */ _t22 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BC9350 */ cpu->r[11] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02BC9354 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 02BC9358 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BC935C */ cpu->r[5] = cpu->r[3] + cpu->r[0];
|
|
/* 02BC9360 */ _t23 = cpu->r[5] + 0x000000C4u;
|
|
/* 02BC9360 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC9364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC9368 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9368 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC9368 */ if (_t25) goto L_02BC9384; else goto L_02BC936C;
|
|
L_02BC936C: ; // 0x2bc936c
|
|
/* 02BC936C */ _t26 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BC936C */ cpu->r[8] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02BC9370 */ cpu->r[0] = rbrew_clz32(cpu->r[8]);
|
|
/* 02BC9374 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC9378 */ cpu->r[10] = cpu->r[3] + cpu->r[7];
|
|
/* 02BC937C */ _t27 = cpu->r[10] + 0x000000C0u;
|
|
/* 02BC937C */ cpu->r[9] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02BC9380 */ _t28 = cpu->r[26] + 0x00000009u;
|
|
/* 02BC9380 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[9]);
|
|
L_02BC9384: ; // 0x2bc9384
|
|
/* 02BC9384 */ cpu->r[17] = 0x101D0000u;
|
|
/* 02BC9388 */ _t29 = cpu->r[17] + 0xFFFFB77Cu;
|
|
/* 02BC9388 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC9388 */ cpu->r[17] = _t29;
|
|
/* 02BC938C */ _t30 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC938C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC9390 */ cpu->r[20] = cpu->r[12] + 0x00000038u;
|
|
/* 02BC9394 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC9398 */ cpu->r[18] = 0x0000000Cu;
|
|
/* 02BC939C */ cpu->r[0] = cpu->r[20] + cpu->r[0];
|
|
/* 02BC93A0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC93A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[0]);
|
|
/* 02BC93A8 */ _t31 = cpu->r[31] + 0xFFFFB790u;
|
|
/* 02BC93A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC93AC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC93AC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC93AC */ if (_t33) goto L_02BC9478; else goto L_02BC93B0;
|
|
L_02BC93B0: ; // 0x2bc93b0
|
|
/* 02BC93B0 */ cpu->r[16] = 0x00000000u;
|
|
L_02BC93B4: ; // 0x2bc93b4
|
|
/* 02BC93B4 */ _t34 = cpu->r[20] + 0x00000000u;
|
|
/* 02BC93B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC93B8 */ _t35 = cpu->r[3] + 0x0000001Bu;
|
|
/* 02BC93B8 */ cpu->r[15] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02BC93BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x0000001Fu);
|
|
/* 02BC93C0 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC93C0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BC93C0 */ if (_t37) goto L_02BC93C4; else goto L_02BC9400;
|
|
L_02BC93C4: ; // 0x2bc93c4
|
|
/* 02BC93C4 */ _t38 = cpu->r[3] + 0x00000068u;
|
|
/* 02BC93C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC93C8 */ _t39 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BC93C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC93CC */ cpu->ctr = cpu->r[7];
|
|
/* 02BC93D0 */ cpu->r[6] = 0x80000000u;
|
|
/* 02BC93D4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC93D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC93DC */ _t40 = cpu->r[17] + 0x00000000u;
|
|
/* 02BC93DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC93E0 */ _t41 = cpu->r[7] + 0x00000034u;
|
|
/* 02BC93E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC93E4 */ cpu->r[10] = cpu->r[7] + 0x00000038u;
|
|
/* 02BC93E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC93EC */ cpu->r[20] = cpu->r[20] + 0x00000004u;
|
|
/* 02BC93F0 */ cpu->r[11] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC93F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[11]);
|
|
/* 02BC93F8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC93F8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BC93F8 */ if (_t43) goto L_02BC93FC; else goto L_02BC93B4;
|
|
L_02BC93FC: ; // 0x2bc93fc
|
|
/* 02BC93FC */ goto L_02BC9478;
|
|
L_02BC9400: ; // 0x2bc9400
|
|
/* 02BC9400 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[19]);
|
|
/* 02BC9404 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9404 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BC9404 */ if (_t45) goto L_02BC9408; else goto L_02BC940C;
|
|
L_02BC9408: ; // 0x2bc9408
|
|
/* 02BC9408 */ cpu->r[28] = cpu->r[27];
|
|
L_02BC940C: ; // 0x2bc940c
|
|
/* 02BC940C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[21]);
|
|
/* 02BC9410 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9410 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BC9410 */ if (_t47) goto L_02BC9414; else goto L_02BC9418;
|
|
L_02BC9414: ; // 0x2bc9414
|
|
/* 02BC9414 */ cpu->r[29] = cpu->r[27];
|
|
L_02BC9418: ; // 0x2bc9418
|
|
/* 02BC9418 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9418 */ rbrew_write32(cpu->mem, _t48, cpu->r[16]);
|
|
/* 02BC941C */ _t49 = cpu->r[20] + 0x00000000u;
|
|
/* 02BC941C */ cpu->r[4] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC9420 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9424 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9428 */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BC942C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9430 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9434 */ cpu->r[6] = cpu->r[30];
|
|
/* 02BC9438 */ cpu->r[4] = cpu->r[26] + cpu->r[18];
|
|
/* 02BC943C */ Gambit_fn_02BF665C(cpu);
|
|
/* 02BC9440 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC9444 */ cpu->r[18] = cpu->r[18] + cpu->r[0];
|
|
/* 02BC9448 */ _t51 = cpu->r[26] + cpu->r[18];
|
|
/* 02BC9448 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[15]);
|
|
/* 02BC944C */ _t52 = cpu->r[17] + 0x00000000u;
|
|
/* 02BC944C */ cpu->r[7] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC9450 */ _t53 = cpu->r[7] + 0x00000034u;
|
|
/* 02BC9450 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC9454 */ cpu->r[10] = cpu->r[7] + 0x00000038u;
|
|
/* 02BC9458 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02BC945C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC9460 */ cpu->r[20] = cpu->r[20] + 0x00000004u;
|
|
/* 02BC9464 */ cpu->r[11] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC9468 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC946C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[11]);
|
|
/* 02BC9470 */ cpu->r[18] = cpu->r[18] + 0x00000002u;
|
|
/* 02BC9474 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9474 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BC9474 */ if (_t55) goto L_02BC9478; else goto L_02BC93B4;
|
|
L_02BC9478: ; // 0x2bc9478
|
|
/* 02BC9478 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC947C */ cpu->r[5] = cpu->r[27];
|
|
/* 02BC9480 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC9484 */ Gambit_fn_02BC918C(cpu);
|
|
/* 02BC9488 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC948C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02BC9490 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9490 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BC9490 */ if (_t57) goto L_02BC9494; else goto L_02BC94FC;
|
|
L_02BC9494: ; // 0x2bc9494
|
|
/* 02BC9494 */ _t58 = cpu->r[22] + 0x00000010u;
|
|
/* 02BC9494 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BC9498 */ Gambit_fn_02BF3270(cpu);
|
|
/* 02BC949C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[3]);
|
|
/* 02BC94A0 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC94A0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BC94A0 */ if (_t60) goto L_02BC95DC; else goto L_02BC94A4;
|
|
L_02BC94A4: ; // 0x2bc94a4
|
|
/* 02BC94A4 */ _t61 = cpu->r[23] + 0x00000000u;
|
|
/* 02BC94A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BC94A8 */ cpu->r[5] = 0x00000001u;
|
|
/* 02BC94AC */ cpu->r[0] = 0x00000002u;
|
|
/* 02BC94B0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC94B4 */ _t62 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC94B4 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[5]);
|
|
/* 02BC94B8 */ cpu->r[5] = cpu->r[18] + 0xFFFFFFF8u;
|
|
/* 02BC94BC */ _t63 = cpu->r[11] + 0x00000006u;
|
|
/* 02BC94BC */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[27]);
|
|
/* 02BC94C0 */ cpu->r[3] = cpu->r[11] + 0x00000008u;
|
|
/* 02BC94C4 */ _t64 = cpu->r[11] + 0x00000003u;
|
|
/* 02BC94C4 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[29]);
|
|
/* 02BC94C8 */ cpu->r[4] = cpu->r[26] + 0x00000008u;
|
|
/* 02BC94CC */ _t65 = cpu->r[11] + 0x00000007u;
|
|
/* 02BC94CC */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[6]);
|
|
/* 02BC94D0 */ _t66 = cpu->r[11] + 0x00000000u;
|
|
/* 02BC94D0 */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[0]);
|
|
/* 02BC94D4 */ _t67 = cpu->r[11] + 0x00000005u;
|
|
/* 02BC94D4 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[6]);
|
|
/* 02BC94D8 */ _t68 = cpu->r[11] + 0x00000001u;
|
|
/* 02BC94D8 */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[27]);
|
|
/* 02BC94DC */ _t69 = cpu->r[11] + 0x00000002u;
|
|
/* 02BC94DC */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[28]);
|
|
/* 02BC94E0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02BC94E4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC94E8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC94EC */ _t70 = cpu->r[24] + 0x00000000u;
|
|
/* 02BC94EC */ rbrew_write32(cpu->mem, _t70, cpu->r[18]);
|
|
/* 02BC94F0 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BC94F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC94F8 */ goto L_02BC9610;
|
|
L_02BC94FC: ; // 0x2bc94fc
|
|
/* 02BC94FC */ cpu->r[10] = cpu->r[31] + 0xFFFFFFFEu;
|
|
/* 02BC9500 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000002u);
|
|
/* 02BC9504 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC9504 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02BC9504 */ if (_t72) goto L_02BC9508; else goto L_02BC95DC;
|
|
L_02BC9508: ; // 0x2bc9508
|
|
/* 02BC9508 */ cpu->r[11] = cpu->r[27] / cpu->r[31];
|
|
/* 02BC950C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[31]);
|
|
/* 02BC9510 */ cpu->r[0] = cpu->r[27] - cpu->r[5];
|
|
/* 02BC9514 */ cpu->r[7] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 02BC9518 */ cpu->r[18] = 0x00000000u;
|
|
/* 02BC951C */ cpu->r[12] = cpu->r[0] - cpu->r[7];
|
|
/* 02BC9520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9524 */ cpu->r[20] = cpu->r[18];
|
|
/* 02BC9528 */ cpu->r[4] = cpu->r[26];
|
|
/* 02BC952C */ cpu->r[17] = cpu->r[27];
|
|
/* 02BC9530 */ cpu->r[16] = cpu->r[11] + cpu->r[12];
|
|
/* 02BC9534 */ cpu->r[21] = cpu->r[31];
|
|
/* 02BC9538 */ cpu->r[16] = rbrew_rlwinm(cpu->r[16], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC953C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC953C */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BC953C */ if (_t74) goto L_02BC9600; else goto L_02BC9540;
|
|
L_02BC9540: ; // 0x2bc9540
|
|
/* 02BC9540 */ cpu->r[30] = 0x00000002u;
|
|
/* 02BC9544 */ cpu->r[22] = 0x00000000u;
|
|
L_02BC9548: ; // 0x2bc9548
|
|
/* 02BC9548 */ _t75 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC9548 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[30]);
|
|
/* 02BC954C */ cpu->r[9] = cpu->r[27] - cpu->r[17];
|
|
/* 02BC9550 */ _t76 = cpu->r[4] + 0x00000001u;
|
|
/* 02BC9550 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[27]);
|
|
/* 02BC9554 */ cpu->r[8] = 0x00000008u;
|
|
/* 02BC9558 */ _t77 = cpu->r[4] + 0x00000007u;
|
|
/* 02BC9558 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[9]);
|
|
/* 02BC955C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02BC9560 */ _t78 = cpu->r[4] + 0x00000002u;
|
|
/* 02BC9560 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[28]);
|
|
/* 02BC9564 */ _t79 = cpu->r[4] + 0x00000003u;
|
|
/* 02BC9564 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[29]);
|
|
/* 02BC9568 */ _t80 = cpu->r[4] + 0x00000005u;
|
|
/* 02BC9568 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[20]);
|
|
/* 02BC956C */ _t81 = cpu->r[4] + 0x00000006u;
|
|
/* 02BC956C */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[16]);
|
|
/* 02BC9570 */ _t82 = cpu->r[4] + 0x00000004u;
|
|
/* 02BC9570 */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[31]);
|
|
/* 02BC9574 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9574 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02BC9574 */ if (_t84) goto L_02BC9578; else goto L_02BC957C;
|
|
L_02BC9578: ; // 0x2bc9578
|
|
/* 02BC9578 */ cpu->r[8] = 0x0000000Cu;
|
|
L_02BC957C: ; // 0x2bc957c
|
|
/* 02BC957C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[16]);
|
|
/* 02BC9580 */ _t85 = cpu->r[23] + cpu->r[22];
|
|
/* 02BC9580 */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BC9584 */ cpu->r[19] = cpu->r[11] + cpu->r[8];
|
|
/* 02BC9588 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC958C */ cpu->r[5] = cpu->r[19];
|
|
/* 02BC9590 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02BC9594 */ cpu->r[17] = cpu->r[17] - cpu->r[16];
|
|
/* 02BC9598 */ cpu->r[12] = cpu->r[18] + cpu->r[19];
|
|
/* 02BC959C */ cpu->r[17] = rbrew_rlwinm(cpu->r[17], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC95A0 */ cpu->r[18] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 02BC95A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[16]);
|
|
/* 02BC95A8 */ cpu->r[4] = cpu->r[26] + cpu->r[18];
|
|
/* 02BC95AC */ _t86 = cpu->r[24] + cpu->r[22];
|
|
/* 02BC95AC */ rbrew_write32(cpu->mem, _t86, cpu->r[19]);
|
|
/* 02BC95B0 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC95B0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02BC95B0 */ if (_t88) goto L_02BC95B4; else goto L_02BC95B8;
|
|
L_02BC95B4: ; // 0x2bc95b4
|
|
/* 02BC95B4 */ cpu->r[16] = cpu->r[17];
|
|
L_02BC95B8: ; // 0x2bc95b8
|
|
/* 02BC95B8 */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 02BC95B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02BC95BC */ cpu->r[20] = cpu->r[20] + 0x00000001u;
|
|
/* 02BC95C0 */ cpu->r[22] = cpu->r[22] + 0x00000004u;
|
|
/* 02BC95C4 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC95C4 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02BC95C4 */ if (_t90) goto L_02BC95C8; else goto L_02BC9548;
|
|
L_02BC95C8: ; // 0x2bc95c8
|
|
/* 02BC95C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC95CC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC95D0 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BC95D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC95D8 */ goto L_02BC9610;
|
|
L_02BC95DC: ; // 0x2bc95dc
|
|
/* 02BC95DC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC95E0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC95E4 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BC95E8 */ /* nop */
|
|
/* 02BC95EC */ _t91 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BC95EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BC95F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC95F4 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02BC95F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC95FC */ return;
|
|
L_02BC9600: ; // 0x2bc9600
|
|
/* 02BC9600 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9604 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC9608 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BC960C */ cpu->r[3] = cpu->r[31];
|
|
L_02BC9610: ; // 0x2bc9610
|
|
/* 02BC9610 */ /* nop */
|
|
/* 02BC9614 */ _t92 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BC9614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BC9618 */ cpu->lr = cpu->r[0];
|
|
/* 02BC961C */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02BC9620 */ return;
|
|
}
|
|
|
|
// fn_02BC9624 @ 0x2bc9624
|
|
void Gambit_fn_02BC9624(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC9624: ; // 0x2bc9624
|
|
/* 02BC9624 */ _t0 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC9624 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02BC9628 */ return;
|
|
}
|
|
|
|
// fn_02BC962C @ 0x2bc962c
|
|
void Gambit_fn_02BC962C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC962C: ; // 0x2bc962c
|
|
/* 02BC962C */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC962C */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02BC9630 */ return;
|
|
}
|
|
|
|
// fn_02BC9634 @ 0x2bc9634
|
|
void Gambit_fn_02BC9634(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC9634: ; // 0x2bc9634
|
|
/* 02BC9634 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC9634 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02BC9638 */ return;
|
|
}
|
|
|
|
// fn_02BC9640 @ 0x2bc9640
|
|
void Gambit_fn_02BC9640(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BC9640: ; // 0x2bc9640
|
|
/* 02BC9640 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9640 */ cpu->r[1] = _t0;
|
|
/* 02BC9644 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9644 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC9648 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC964C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC964C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC9650 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9650 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC9650 */ if (_t4) goto L_02BC9668; else goto L_02BC9654;
|
|
L_02BC9654: ; // 0x2bc9654
|
|
/* 02BC9654 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9658 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BC965C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC9660 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9664 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BC9668: ; // 0x2bc9668
|
|
/* 02BC9668 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC966C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC966C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC9670 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9674 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9678 */ return;
|
|
}
|
|
|
|
// fn_02BC967C @ 0x2bc967c
|
|
void Gambit_fn_02BC967C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BC963C: ; // 0x2bc963c
|
|
/* 02BC963C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC9640 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9640 */ cpu->r[1] = _t0;
|
|
/* 02BC9644 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9644 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC9648 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC964C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC964C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC9650 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9650 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC9650 */ if (_t4) goto L_02BC9668; else goto L_02BC9654;
|
|
L_02BC9654: ; // 0x2bc9654
|
|
/* 02BC9654 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9658 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BC965C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC9660 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9664 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BC9668: ; // 0x2bc9668
|
|
/* 02BC9668 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC966C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC966C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC9670 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9674 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9678 */ return;
|
|
L_02BC967C: ; // 0x2bc967c
|
|
/* 02BC967C */ goto L_02BC963C;
|
|
}
|
|
|
|
// fn_02BC9680 @ 0x2bc9680
|
|
void Gambit_fn_02BC9680(CPUState* cpu) {
|
|
uint32_t _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_02BC9680: ; // 0x2bc9680
|
|
/* 02BC9680 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC9680 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9680 */ cpu->r[1] = _t0;
|
|
/* 02BC9684 */ /* nop */
|
|
/* 02BC9688 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC968C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC968C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC9690 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC9694 */ _t2 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC9694 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC9698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC969C */ cpu->r[29] = 0x00000000u;
|
|
/* 02BC96A0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC96A0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC96A0 */ if (_t4) goto L_02BC96AC; else goto L_02BC96A4;
|
|
L_02BC96A4: ; // 0x2bc96a4
|
|
/* 02BC96A4 */ Gambit_fn_02BC967C(cpu);
|
|
/* 02BC96A8 */ _t5 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC96A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
L_02BC96AC: ; // 0x2bc96ac
|
|
/* 02BC96AC */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02BC96AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC96B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC96B4 */ _t7 = cpu->r[30] + 0x00000044u;
|
|
/* 02BC96B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 02BC96B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC96B8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC96B8 */ if (_t9) goto L_02BC96C4; else goto L_02BC96BC;
|
|
L_02BC96BC: ; // 0x2bc96bc
|
|
/* 02BC96BC */ Gambit_fn_02BC967C(cpu);
|
|
/* 02BC96C0 */ _t10 = cpu->r[30] + 0x00000050u;
|
|
/* 02BC96C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
L_02BC96C4: ; // 0x2bc96c4
|
|
/* 02BC96C4 */ _t11 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02BC96C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC96C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC96CC */ _t12 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BC96CC */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02BC96D0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC96D0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC96D0 */ if (_t14) goto L_02BC9724; else goto L_02BC96D4;
|
|
L_02BC96D4: ; // 0x2bc96d4
|
|
/* 02BC96D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC96D8 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BC96DC */ cpu->r[0] = 0x24920000u;
|
|
/* 02BC96E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x0000001Cu, 0x00000004u, 0x0000001Fu);
|
|
/* 02BC96E4 */ cpu->r[0] = cpu->r[0] | 0x00004925u;
|
|
/* 02BC96E8 */ /* nop */
|
|
/* 02BC96EC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC96EC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC96EC */ if (_t16) goto L_02BC9718; else goto L_02BC96F0;
|
|
L_02BC96F0: ; // 0x2bc96f0
|
|
/* 02BC96F0 */ cpu->r[28] = cpu->r[31];
|
|
L_02BC96F4: ; // 0x2bc96f4
|
|
/* 02BC96F4 */ _t17 = cpu->r[28] + 0x00000068u;
|
|
/* 02BC96F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC96F8 */ _t18 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BC96F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC96FC */ cpu->ctr = cpu->r[0];
|
|
/* 02BC9700 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC9704 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC9708 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC970C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02BC970C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BC9710 */ cpu->r[28] = cpu->r[28] + 0x00000070u;
|
|
/* 02BC9714 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9714 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC9714 */ if (_t20) goto L_02BC9718; else goto L_02BC96F4;
|
|
L_02BC9718: ; // 0x2bc9718
|
|
/* 02BC9718 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC971C */ Gambit_fn_02C07DC8(cpu);
|
|
/* 02BC9720 */ _t21 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02BC9720 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
L_02BC9724: ; // 0x2bc9724
|
|
/* 02BC9724 */ _t22 = cpu->r[30] + 0x00000038u;
|
|
/* 02BC9724 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 02BC9728 */ /* nop */
|
|
/* 02BC972C */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC972C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC9730 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9734 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC9738 */ return;
|
|
}
|
|
|
|
// fn_02BC973C @ 0x2bc973c
|
|
void Gambit_fn_02BC973C(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_02BC973C: ; // 0x2bc973c
|
|
/* 02BC973C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC9740 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9740 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9740 */ cpu->r[1] = _t0;
|
|
/* 02BC9744 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9744 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC9748 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9748 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC974C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC9750 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9754 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9754 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9758 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BC975C */ cpu->r[4] = cpu->r[3];
|
|
/* 02BC9760 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BC9764 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9768 */ Gambit_fn_02C07D54(cpu);
|
|
/* 02BC976C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC9770 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9770 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC9770 */ if (_t5) goto L_02BC9774; else goto L_02BC9790;
|
|
L_02BC9774: ; // 0x2bc9774
|
|
/* 02BC9774 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC9778 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9778 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC977C */ cpu->lr = cpu->r[0];
|
|
/* 02BC9780 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9780 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC9784 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9788 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC978C */ return;
|
|
L_02BC9790: ; // 0x2bc9790
|
|
/* 02BC9790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9794 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9794 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC9794 */ if (_t10) goto L_02BC97B8; else goto L_02BC9798;
|
|
L_02BC9798: ; // 0x2bc9798
|
|
/* 02BC9798 */ cpu->ctr = cpu->r[31];
|
|
/* 02BC979C */ cpu->r[12] = cpu->r[3];
|
|
/* 02BC97A0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BC97A4: ; // 0x2bc97a4
|
|
/* 02BC97A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC97A8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC97A8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC97A8 */ if (_t12) goto L_02BC97B0; else goto L_02BC97AC;
|
|
L_02BC97AC: ; // 0x2bc97ac
|
|
/* 02BC97AC */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02BC97AC */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
L_02BC97B0: ; // 0x2bc97b0
|
|
/* 02BC97B0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BC97B4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BC97B4 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BC97B4 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 02BC97B4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC97B4 */ if (_t16) goto L_02BC97A4; else goto L_02BC97B8;
|
|
L_02BC97B8: ; // 0x2bc97b8
|
|
/* 02BC97B8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC97B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC97BC */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC97BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC97C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC97C4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC97C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC97C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC97CC */ return;
|
|
}
|
|
|
|
// fn_02BC9740 @ 0x2bc9740
|
|
void Gambit_fn_02BC9740(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_02BC9740: ; // 0x2bc9740
|
|
/* 02BC9740 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9740 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9740 */ cpu->r[1] = _t0;
|
|
/* 02BC9744 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9744 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC9748 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9748 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC974C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC9750 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9754 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9754 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9758 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BC975C */ cpu->r[4] = cpu->r[3];
|
|
/* 02BC9760 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BC9764 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9768 */ Gambit_fn_02C07D54(cpu);
|
|
/* 02BC976C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC9770 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9770 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC9770 */ if (_t5) goto L_02BC9774; else goto L_02BC9790;
|
|
L_02BC9774: ; // 0x2bc9774
|
|
/* 02BC9774 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC9778 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9778 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC977C */ cpu->lr = cpu->r[0];
|
|
/* 02BC9780 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9780 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC9784 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9788 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC978C */ return;
|
|
L_02BC9790: ; // 0x2bc9790
|
|
/* 02BC9790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9794 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9794 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC9794 */ if (_t10) goto L_02BC97B8; else goto L_02BC9798;
|
|
L_02BC9798: ; // 0x2bc9798
|
|
/* 02BC9798 */ cpu->ctr = cpu->r[31];
|
|
/* 02BC979C */ cpu->r[12] = cpu->r[3];
|
|
/* 02BC97A0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BC97A4: ; // 0x2bc97a4
|
|
/* 02BC97A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC97A8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC97A8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC97A8 */ if (_t12) goto L_02BC97B0; else goto L_02BC97AC;
|
|
L_02BC97AC: ; // 0x2bc97ac
|
|
/* 02BC97AC */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02BC97AC */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
L_02BC97B0: ; // 0x2bc97b0
|
|
/* 02BC97B0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BC97B4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BC97B4 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BC97B4 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 02BC97B4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC97B4 */ if (_t16) goto L_02BC97A4; else goto L_02BC97B8;
|
|
L_02BC97B8: ; // 0x2bc97b8
|
|
/* 02BC97B8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC97B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC97BC */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC97BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC97C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC97C4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC97C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC97C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC97CC */ return;
|
|
}
|
|
|
|
// fn_02BC97D0 @ 0x2bc97d0
|
|
void Gambit_fn_02BC97D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02BC97D0: ; // 0x2bc97d0
|
|
/* 02BC97D0 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 02BC97D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC97D0 */ cpu->r[1] = _t0;
|
|
/* 02BC97D4 */ /* nop */
|
|
/* 02BC97D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC97DC */ _t1 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BC97DC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC97E0 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BC97E4 */ _t2 = cpu->r[27] + 0xFFFFB778u;
|
|
/* 02BC97E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC97E4 */ cpu->r[27] = _t2;
|
|
/* 02BC97E8 */ _t3 = cpu->r[7] + 0x00000034u;
|
|
/* 02BC97E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC97EC */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC97F0 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02BC97F4 */ _t4 = cpu->r[28] + 0x00000038u;
|
|
/* 02BC97F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BC97F8 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BC97FC */ cpu->r[4] = cpu->r[3];
|
|
/* 02BC9800 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000070u);
|
|
/* 02BC9804 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BC9808 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC980C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC980C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC980C */ if (_t6) goto L_02BC9810; else goto L_02BC98A0;
|
|
L_02BC9810: ; // 0x2bc9810
|
|
/* 02BC9810 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC9814 */ _t7 = cpu->r[28] + 0x00000038u;
|
|
/* 02BC9814 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC9818 */ cpu->r[30] = cpu->r[31];
|
|
/* 02BC981C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 02BC9820 */ _t8 = cpu->r[28] + 0x0000003Cu;
|
|
/* 02BC9820 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02BC9824 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC9824 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC9824 */ if (_t10) goto L_02BC98DC; else goto L_02BC9828;
|
|
L_02BC9828: ; // 0x2bc9828
|
|
/* 02BC9828 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC982C */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BC9830 */ Gambit_fn_02BF6614(cpu);
|
|
/* 02BC9834 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9838 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC983C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC9840 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BC9844 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BC9848 */ _t11 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC9848 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC984C */ _t12 = ~cpu->r[31];
|
|
/* 02BC984C */ cpu->r[0] = cpu->r[0] & _t12;
|
|
/* 02BC9850 */ cpu->r[8] = cpu->r[31] + cpu->r[0];
|
|
/* 02BC9854 */ _t13 = cpu->r[11] + 0x00000034u;
|
|
/* 02BC9854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC9858 */ cpu->r[10] = cpu->r[8] + 0x00000001u;
|
|
/* 02BC985C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[0]);
|
|
/* 02BC9860 */ cpu->r[3] = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BC9864 */ _t14 = cpu->r[28] + 0x00000044u;
|
|
/* 02BC9864 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02BC9868 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC986C */ _t15 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BC986C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02BC9870 */ Gambit_fn_02BC973C(cpu);
|
|
/* 02BC9874 */ _t16 = cpu->r[28] + 0x00000048u;
|
|
/* 02BC9874 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02BC9878 */ _t17 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BC9878 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC987C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC9880 */ Gambit_fn_02BC973C(cpu);
|
|
/* 02BC9884 */ _t18 = cpu->r[28] + 0x00000050u;
|
|
/* 02BC9884 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 02BC9888 */ /* nop */
|
|
/* 02BC988C */ _t19 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BC988C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC9890 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9894 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02BC9898 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC989C */ return;
|
|
L_02BC98A0: ; // 0x2bc98a0
|
|
/* 02BC98A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC98A4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC98A4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC98A4 */ if (_t21) goto L_02BC98C8; else goto L_02BC98A8;
|
|
L_02BC98A8: ; // 0x2bc98a8
|
|
/* 02BC98A8 */ cpu->r[29] = cpu->r[31];
|
|
L_02BC98AC: ; // 0x2bc98ac
|
|
/* 02BC98AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BC98B0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC98B0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC98B0 */ if (_t23) goto L_02BC98BC; else goto L_02BC98B4;
|
|
L_02BC98B4: ; // 0x2bc98b4
|
|
/* 02BC98B4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC98B8 */ Gambit_fn_02BE86AC(cpu);
|
|
L_02BC98BC: ; // 0x2bc98bc
|
|
/* 02BC98BC */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BC98BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC98C0 */ cpu->r[29] = cpu->r[29] + 0x00000070u;
|
|
/* 02BC98C4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC98C4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC98C4 */ if (_t25) goto L_02BC98C8; else goto L_02BC98AC;
|
|
L_02BC98C8: ; // 0x2bc98c8
|
|
/* 02BC98C8 */ _t26 = cpu->r[28] + 0x00000038u;
|
|
/* 02BC98C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC98CC */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC98D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 02BC98D4 */ _t27 = cpu->r[28] + 0x0000003Cu;
|
|
/* 02BC98D4 */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 02BC98D8 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC98D8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BC98D8 */ if (_t29) goto L_02BC98DC; else goto L_02BC9828;
|
|
L_02BC98DC: ; // 0x2bc98dc
|
|
/* 02BC98DC */ cpu->r[29] = 0x00000000u;
|
|
L_02BC98E0: ; // 0x2bc98e0
|
|
/* 02BC98E0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC98E4 */ cpu->r[3] = cpu->r[31] + cpu->r[29];
|
|
/* 02BC98E8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BC98EC */ Gambit_fn_02BE88E0(cpu);
|
|
/* 02BC98F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC98F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC98F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC98F8 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC98F8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC98F8 */ if (_t31) goto L_02BC991C; else goto L_02BC98FC;
|
|
L_02BC98FC: ; // 0x2bc98fc
|
|
/* 02BC98FC */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC9900 */ Gambit_fn_02BC9680(cpu);
|
|
/* 02BC9904 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9908 */ /* nop */
|
|
/* 02BC990C */ _t32 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BC990C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC9910 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9914 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02BC9918 */ return;
|
|
L_02BC991C: ; // 0x2bc991c
|
|
/* 02BC991C */ _t33 = cpu->r[28] + 0x00000038u;
|
|
/* 02BC991C */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC9920 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02BC9924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[12]);
|
|
/* 02BC9928 */ cpu->r[29] = cpu->r[29] + 0x00000070u;
|
|
/* 02BC992C */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC992C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC992C */ if (_t35) goto L_02BC9930; else goto L_02BC9828;
|
|
L_02BC9930: ; // 0x2bc9930
|
|
/* 02BC9930 */ _t36 = cpu->r[28] + 0x0000003Cu;
|
|
/* 02BC9930 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC9934 */ goto L_02BC98E0;
|
|
}
|
|
|
|
// fn_02BC9938 @ 0x2bc9938
|
|
void Gambit_fn_02BC9938(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02BC9938: ; // 0x2bc9938
|
|
/* 02BC9938 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BC9938 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9938 */ cpu->r[1] = _t0;
|
|
/* 02BC993C */ /* nop */
|
|
/* 02BC9940 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC9944 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC9944 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC9948 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC994C */ _t2 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC994C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC9950 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC9954 */ _t3 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC9954 */ cpu->r[27] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC9958 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC995C */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC9960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x0000001Fu);
|
|
/* 02BC9964 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC9968 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC9968 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC9968 */ if (_t5) goto L_02BC996C; else goto L_02BC9990;
|
|
L_02BC996C: ; // 0x2bc996c
|
|
/* 02BC996C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9970 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC9974 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC9978 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC997C */ /* nop */
|
|
/* 02BC9980 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC9980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC9984 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9988 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC998C */ return;
|
|
L_02BC9990: ; // 0x2bc9990
|
|
/* 02BC9990 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC9990 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC9994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC9998 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC9998 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC9998 */ if (_t9) goto L_02BC99AC; else goto L_02BC999C;
|
|
L_02BC999C: ; // 0x2bc999c
|
|
/* 02BC999C */ _t10 = cpu->r[29] + 0x00000038u;
|
|
/* 02BC999C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC99A0 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 02BC99A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02BC99A8 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC99A8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC99A8 */ if (_t12) goto L_02BC99D0; else goto L_02BC99AC;
|
|
L_02BC99AC: ; // 0x2bc99ac
|
|
/* 02BC99AC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC99B0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC99B4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC99B8 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC99BC */ /* nop */
|
|
/* 02BC99C0 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC99C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC99C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC99C8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC99CC */ return;
|
|
L_02BC99D0: ; // 0x2bc99d0
|
|
/* 02BC99D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[27]);
|
|
/* 02BC99D4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC99D4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC99D4 */ if (_t15) goto L_02BC99D8; else goto L_02BC99FC;
|
|
L_02BC99D8: ; // 0x2bc99d8
|
|
/* 02BC99D8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC99DC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC99E0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC99E4 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC99E8 */ /* nop */
|
|
/* 02BC99EC */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC99EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC99F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC99F4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC99F8 */ return;
|
|
L_02BC99FC: ; // 0x2bc99fc
|
|
/* 02BC99FC */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC99FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC9A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[27]);
|
|
/* 02BC9A04 */ _t18 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02BC9A04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC9A08 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC9A08 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC9A08 */ if (_t20) goto L_02BC9A10; else goto L_02BC9A0C;
|
|
L_02BC9A0C: ; // 0x2bc9a0c
|
|
/* 02BC9A0C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02BC9A10: ; // 0x2bc9a10
|
|
/* 02BC9A10 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000070u);
|
|
/* 02BC9A14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 02BC9A18 */ cpu->r[28] = cpu->r[6] + cpu->r[5];
|
|
/* 02BC9A1C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC9A1C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC9A1C */ if (_t22) goto L_02BC9A38; else goto L_02BC9A20;
|
|
L_02BC9A20: ; // 0x2bc9a20
|
|
/* 02BC9A20 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9A20 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC9A20 */ if (_t24) goto L_02BC9A84; else goto L_02BC9A24;
|
|
L_02BC9A24: ; // 0x2bc9a24
|
|
/* 02BC9A24 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9A28 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC9A2C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC9A30 */ cpu->r[31] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC9A34 */ goto L_02BC9A90;
|
|
L_02BC9A38: ; // 0x2bc9a38
|
|
/* 02BC9A38 */ _t25 = cpu->r[29] + 0x00000014u;
|
|
/* 02BC9A38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC9A3C */ _t26 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02BC9A3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC9A40 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC9A44 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC9A48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC9A4C */ _t27 = cpu->r[29] + 0x00000010u;
|
|
/* 02BC9A4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC9A50 */ _t28 = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC9A50 */ _t29 = cpu->r[31] & 0x0000FFFFu;
|
|
/* 02BC9A50 */ cpu->r[31] = _t29 | _t28;
|
|
/* 02BC9A54 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC9A58 */ _t30 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC9A58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC9A5C */ _t31 = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02BC9A5C */ _t32 = cpu->r[31] & 0xFFFF0000u;
|
|
/* 02BC9A5C */ cpu->r[31] = _t32 | _t31;
|
|
/* 02BC9A60 */ cpu->r[6] = cpu->r[27];
|
|
/* 02BC9A64 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC9A68 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC9A6C */ Gambit_fn_02BF5404(cpu);
|
|
/* 02BC9A70 */ /* nop */
|
|
/* 02BC9A74 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC9A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC9A78 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9A7C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC9A80 */ return;
|
|
L_02BC9A84: ; // 0x2bc9a84
|
|
/* 02BC9A84 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC9A88 */ Gambit_fn_02BF06B8(cpu);
|
|
/* 02BC9A8C */ cpu->r[31] = 0x00000000u;
|
|
L_02BC9A90: ; // 0x2bc9a90
|
|
/* 02BC9A90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9A94 */ /* nop */
|
|
/* 02BC9A98 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC9A98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC9A9C */ cpu->lr = cpu->r[0];
|
|
/* 02BC9AA0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC9AA4 */ return;
|
|
}
|
|
|
|
// fn_02BC9AA8 @ 0x2bc9aa8
|
|
void Gambit_fn_02BC9AA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC9AA8: ; // 0x2bc9aa8
|
|
/* 02BC9AA8 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BC9AAC */ cpu->r[9] = 0x10200000u;
|
|
/* 02BC9AB0 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BC9AB4 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC9AB8 */ _t0 = cpu->r[9] + 0x00002704u;
|
|
/* 02BC9AB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BC9AB8 */ cpu->r[9] = _t0;
|
|
/* 02BC9ABC */ _t1 = cpu->r[11] + 0x000026FCu;
|
|
/* 02BC9ABC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC9ABC */ cpu->r[11] = _t1;
|
|
/* 02BC9AC0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BC9AC4 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC9AC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BC9AC8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC9ACC */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BC9ACC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BC9AD0 */ _t4 = cpu->r[11] + 0x0000270Cu;
|
|
/* 02BC9AD0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BC9AD0 */ cpu->r[11] = _t4;
|
|
/* 02BC9AD4 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC9AD4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BC9AD8 */ return;
|
|
}
|
|
|
|
// fn_02BC9ADC @ 0x2bc9adc
|
|
void Gambit_fn_02BC9ADC(CPUState* cpu) {
|
|
L_02BC9ADC: ; // 0x2bc9adc
|
|
/* 02BC9ADC */ cpu->r[3] = 0x00000200u;
|
|
/* 02BC9AE0 */ return;
|
|
}
|
|
|
|
// fn_02BC9AE4 @ 0x2bc9ae4
|
|
void Gambit_fn_02BC9AE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BC9AE4: ; // 0x2bc9ae4
|
|
/* 02BC9AE4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC9AE8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC9AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC9AEC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC9AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC9AEC */ cpu->r[1] = _t1;
|
|
/* 02BC9AF0 */ Gambit_fn_02BE5C78(cpu);
|
|
/* 02BC9AF4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9AF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC9AF8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9AFC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9B00 */ return;
|
|
}
|
|
|
|
// fn_02BC9AEC @ 0x2bc9aec
|
|
void Gambit_fn_02BC9AEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BC9AEC: ; // 0x2bc9aec
|
|
/* 02BC9AEC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC9AEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9AEC */ cpu->r[1] = _t0;
|
|
/* 02BC9AF0 */ Gambit_fn_02BE5C78(cpu);
|
|
/* 02BC9AF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9AF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC9AF8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9AFC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9B00 */ return;
|
|
}
|
|
|
|
// fn_02BC9B04 @ 0x2bc9b04
|
|
void Gambit_fn_02BC9B04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BC9B04: ; // 0x2bc9b04
|
|
/* 02BC9B04 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC9B08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9B08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9B08 */ cpu->r[1] = _t0;
|
|
/* 02BC9B0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9B0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC9B10 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9B10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC9B14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9B18 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9B18 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9B1C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9B1C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC9B1C */ if (_t5) goto L_02BC9B20; else goto L_02BC9B30;
|
|
L_02BC9B20: ; // 0x2bc9b20
|
|
/* 02BC9B20 */ cpu->r[3] = 0x00000068u;
|
|
/* 02BC9B24 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC9B28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9B2C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9B2C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC9B2C */ if (_t7) goto L_02BC9B60; else goto L_02BC9B30;
|
|
L_02BC9B30: ; // 0x2bc9b30
|
|
/* 02BC9B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9B34 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BC9B38 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC9B3C */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC9B40 */ cpu->r[0] = cpu->r[0] + 0x000038D0u;
|
|
/* 02BC9B44 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC9B44 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BC9B48 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC9B4C */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC9B4C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BC9B50 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BC9B54 */ _t10 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC9B54 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02BC9B58 */ _t11 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BC9B58 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02BC9B5C */ _t12 = cpu->r[31] + 0x00000060u;
|
|
/* 02BC9B5C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02BC9B60: ; // 0x2bc9b60
|
|
/* 02BC9B60 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9B60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC9B64 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9B68 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9B68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC9B6C */ cpu->lr = cpu->r[0];
|
|
/* 02BC9B70 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9B70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC9B74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9B78 */ return;
|
|
}
|
|
|
|
// fn_02BC9B08 @ 0x2bc9b08
|
|
void Gambit_fn_02BC9B08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BC9B08: ; // 0x2bc9b08
|
|
/* 02BC9B08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9B08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9B08 */ cpu->r[1] = _t0;
|
|
/* 02BC9B0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9B0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC9B10 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9B10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC9B14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9B18 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9B18 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9B1C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9B1C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC9B1C */ if (_t5) goto L_02BC9B20; else goto L_02BC9B30;
|
|
L_02BC9B20: ; // 0x2bc9b20
|
|
/* 02BC9B20 */ cpu->r[3] = 0x00000068u;
|
|
/* 02BC9B24 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC9B28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9B2C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9B2C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC9B2C */ if (_t7) goto L_02BC9B60; else goto L_02BC9B30;
|
|
L_02BC9B30: ; // 0x2bc9b30
|
|
/* 02BC9B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9B34 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BC9B38 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC9B3C */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC9B40 */ cpu->r[0] = cpu->r[0] + 0x000038D0u;
|
|
/* 02BC9B44 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC9B44 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BC9B48 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC9B4C */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC9B4C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BC9B50 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BC9B54 */ _t10 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC9B54 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02BC9B58 */ _t11 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BC9B58 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02BC9B5C */ _t12 = cpu->r[31] + 0x00000060u;
|
|
/* 02BC9B5C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02BC9B60: ; // 0x2bc9b60
|
|
/* 02BC9B60 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9B60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC9B64 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9B68 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9B68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC9B6C */ cpu->lr = cpu->r[0];
|
|
/* 02BC9B70 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9B70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC9B74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9B78 */ return;
|
|
}
|
|
|
|
// fn_02BC9B7C @ 0x2bc9b7c
|
|
void Gambit_fn_02BC9B7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC9B7C: ; // 0x2bc9b7c
|
|
/* 02BC9B7C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC9B80 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9B80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9B80 */ cpu->r[1] = _t0;
|
|
/* 02BC9B84 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9B84 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC9B88 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9B88 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC9B8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9B90 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC9B94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9B94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9B98 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9B98 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC9B98 */ if (_t5) goto L_02BC9BC4; else goto L_02BC9B9C;
|
|
L_02BC9B9C: ; // 0x2bc9b9c
|
|
/* 02BC9B9C */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC9BA0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC9BA4 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BC9BA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9BAC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC9BB0 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BC9BB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC9BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC9BB8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9BB8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC9BB8 */ if (_t7) goto L_02BC9BC4; else goto L_02BC9BBC;
|
|
L_02BC9BBC: ; // 0x2bc9bbc
|
|
/* 02BC9BBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9BC0 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BC9BC4: ; // 0x2bc9bc4
|
|
/* 02BC9BC4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC9BC8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9BC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC9BCC */ cpu->lr = cpu->r[0];
|
|
/* 02BC9BD0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9BD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC9BD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9BD8 */ return;
|
|
}
|
|
|
|
// fn_02BC9B80 @ 0x2bc9b80
|
|
void Gambit_fn_02BC9B80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC9B80: ; // 0x2bc9b80
|
|
/* 02BC9B80 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9B80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9B80 */ cpu->r[1] = _t0;
|
|
/* 02BC9B84 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9B84 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC9B88 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9B88 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC9B8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9B90 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC9B94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9B94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9B98 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9B98 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC9B98 */ if (_t5) goto L_02BC9BC4; else goto L_02BC9B9C;
|
|
L_02BC9B9C: ; // 0x2bc9b9c
|
|
/* 02BC9B9C */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC9BA0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC9BA4 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BC9BA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9BAC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC9BB0 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BC9BB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC9BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC9BB8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9BB8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC9BB8 */ if (_t7) goto L_02BC9BC4; else goto L_02BC9BBC;
|
|
L_02BC9BBC: ; // 0x2bc9bbc
|
|
/* 02BC9BBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9BC0 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BC9BC4: ; // 0x2bc9bc4
|
|
/* 02BC9BC4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC9BC8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9BC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC9BCC */ cpu->lr = cpu->r[0];
|
|
/* 02BC9BD0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9BD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC9BD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9BD8 */ return;
|
|
}
|
|
|
|
// fn_02BC9BDC @ 0x2bc9bdc
|
|
void Gambit_fn_02BC9BDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02BC9BDC: ; // 0x2bc9bdc
|
|
/* 02BC9BDC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC9BDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9BDC */ cpu->r[1] = _t0;
|
|
/* 02BC9BE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC9BE4 */ /* nop */
|
|
/* 02BC9BE8 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BC9BEC */ cpu->r[28] = cpu->r[4];
|
|
/* 02BC9BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BC9BF0 */ cpu->r[30] = cpu->r[6];
|
|
/* 02BC9BF4 */ cpu->r[31] = cpu->r[7];
|
|
/* 02BC9BF8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC9BF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC9BFC */ cpu->r[29] = cpu->r[5];
|
|
/* 02BC9C00 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9C00 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC9C00 */ if (_t3) goto L_02BC9C0C; else goto L_02BC9C04;
|
|
L_02BC9C04: ; // 0x2bc9c04
|
|
/* 02BC9C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC9C08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9C08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC9C08 */ if (_t5) goto L_02BC9C0C; else goto L_02BC9C34;
|
|
L_02BC9C0C: ; // 0x2bc9c0c
|
|
/* 02BC9C0C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9C10 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC9C14 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC9C18 */ /* nop */
|
|
/* 02BC9C1C */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC9C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC9C20 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC9C24 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9C28 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC9C2C */ cpu->r[3] = cpu->r[3] + 0xFFFF9C26u;
|
|
/* 02BC9C30 */ return;
|
|
L_02BC9C34: ; // 0x2bc9c34
|
|
/* 02BC9C34 */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 02BC9C34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC9C38 */ _t8 = cpu->r[12] + 0x00000114u;
|
|
/* 02BC9C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC9C3C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC9C40 */ cpu->r[3] = cpu->r[8];
|
|
/* 02BC9C44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC9C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC9C4C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9C4C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC9C4C */ if (_t10) goto L_02BC9C50; else goto L_02BC9C78;
|
|
L_02BC9C50: ; // 0x2bc9c50
|
|
/* 02BC9C50 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9C54 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC9C58 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC9C5C */ /* nop */
|
|
/* 02BC9C60 */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC9C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC9C64 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC9C68 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9C6C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC9C70 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BC9C74 */ return;
|
|
L_02BC9C78: ; // 0x2bc9c78
|
|
/* 02BC9C78 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC9C7C */ _t12 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BC9C7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC9C80 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BC9C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BC9C88 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9C88 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC9C88 */ if (_t14) goto L_02BC9C8C; else goto L_02BC9CB4;
|
|
L_02BC9C8C: ; // 0x2bc9c8c
|
|
/* 02BC9C8C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9C90 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC9C94 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC9C98 */ /* nop */
|
|
/* 02BC9C9C */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC9C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC9CA0 */ cpu->r[3] = 0xFD230000u;
|
|
/* 02BC9CA4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9CA8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC9CAC */ cpu->r[3] = cpu->r[3] + 0xFFFF9425u;
|
|
/* 02BC9CB0 */ return;
|
|
L_02BC9CB4: ; // 0x2bc9cb4
|
|
/* 02BC9CB4 */ _t16 = cpu->r[27] + 0x00000018u;
|
|
/* 02BC9CB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC9CB8 */ _t17 = cpu->r[7] + 0x0000003Cu;
|
|
/* 02BC9CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC9CBC */ cpu->ctr = cpu->r[0];
|
|
/* 02BC9CC0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC9CC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC9CC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC9CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC9CCC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9CCC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC9CCC */ if (_t19) goto L_02BC9CD0; else goto L_02BC9D04;
|
|
L_02BC9CD0: ; // 0x2bc9cd0
|
|
/* 02BC9CD0 */ _t20 = cpu->r[27] + 0x00000040u;
|
|
/* 02BC9CD0 */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 02BC9CD4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC9CD8 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BC9CDC */ _t21 = cpu->r[27] + 0x00000058u;
|
|
/* 02BC9CDC */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 02BC9CE0 */ _t22 = cpu->r[27] + 0x00000018u;
|
|
/* 02BC9CE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC9CE4 */ _t23 = cpu->r[27] + 0x0000005Cu;
|
|
/* 02BC9CE4 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02BC9CE8 */ _t24 = cpu->r[27] + 0x00000060u;
|
|
/* 02BC9CE8 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
|
|
/* 02BC9CEC */ _t25 = cpu->r[10] + 0x00000014u;
|
|
/* 02BC9CEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC9CF0 */ cpu->ctr = cpu->r[11];
|
|
/* 02BC9CF4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC9CF8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC9CFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC9D00 */ cpu->r[3] = 0x00000000u;
|
|
L_02BC9D04: ; // 0x2bc9d04
|
|
/* 02BC9D04 */ /* nop */
|
|
/* 02BC9D08 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC9D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC9D0C */ cpu->lr = cpu->r[0];
|
|
/* 02BC9D10 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC9D14 */ return;
|
|
}
|
|
|
|
// fn_02BC9D1C @ 0x2bc9d1c
|
|
void Gambit_fn_02BC9D1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BC9D1C: ; // 0x2bc9d1c
|
|
/* 02BC9D1C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC9D1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9D1C */ cpu->r[1] = _t0;
|
|
/* 02BC9D20 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9D20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC9D24 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9D24 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC9D28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9D2C */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC9D30 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC9D30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9D34 */ _t4 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC9D34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC9D38 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9D3C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9D3C */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02BC9D40 */ Gambit_fn_02B67894(cpu);
|
|
/* 02BC9D44 */ cpu->r[7] = 0x10200000u;
|
|
/* 02BC9D48 */ cpu->r[7] = cpu->r[7] + 0x000006B8u;
|
|
/* 02BC9D4C */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC9D4C */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02BC9D50 */ _t7 = cpu->r[7] + 0x00000817u;
|
|
/* 02BC9D50 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02BC9D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FFu);
|
|
/* 02BC9D58 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BC9D5C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9D5C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC9D5C */ if (_t9) goto L_02BC9D68; else goto L_02BC9D60;
|
|
L_02BC9D60: ; // 0x2bc9d60
|
|
/* 02BC9D60 */ cpu->r[11] = cpu->r[10] + 0x00000001u;
|
|
/* 02BC9D64 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02BC9D68: ; // 0x2bc9d68
|
|
/* 02BC9D68 */ _t10 = cpu->r[7] + 0x00000817u;
|
|
/* 02BC9D68 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
|
|
/* 02BC9D6C */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC9D6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC9D70 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BC9D74 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9D78 */ _t12 = rbrew_rlwinm(cpu->r[12], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BC9D78 */ _t13 = cpu->r[9] & 0x00FFFFFFu;
|
|
/* 02BC9D78 */ cpu->r[9] = _t13 | _t12;
|
|
/* 02BC9D7C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9D7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC9D80 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9D80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC9D84 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC9D88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC9D8C */ return;
|
|
}
|
|
|
|
// fn_02BC9D94 @ 0x2bc9d94
|
|
void Gambit_fn_02BC9D94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BC9D94: ; // 0x2bc9d94
|
|
/* 02BC9D94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC9D94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9D94 */ cpu->r[1] = _t0;
|
|
/* 02BC9D98 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9D98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC9D9C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9D9C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC9DA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9DA4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC9DA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9DA8 */ _t4 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC9DA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC9DAC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9DB0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC9DB4 */ _t5 = cpu->r[10] + 0x00000004u;
|
|
/* 02BC9DB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC9DB8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC9DBC */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BC9DC0 */ cpu->r[0] = cpu->r[0] | 0x000094FEu;
|
|
/* 02BC9DC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02BC9DC8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9DC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BC9DCC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9DCC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC9DCC */ if (_t8) goto L_02BC9DD0; else goto L_02BC9DDC;
|
|
L_02BC9DD0: ; // 0x2bc9dd0
|
|
/* 02BC9DD0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC9DD4 */ _t9 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BC9DD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC9DD8 */ Gambit_fn_02BD61EC(cpu);
|
|
L_02BC9DDC: ; // 0x2bc9ddc
|
|
/* 02BC9DDC */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC9DE0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BC9DE4 */ _t10 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BC9DE4 */ _t11 = cpu->r[11] & 0x00FFFFFFu;
|
|
/* 02BC9DE4 */ cpu->r[11] = _t11 | _t10;
|
|
/* 02BC9DE8 */ _t12 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC9DE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02BC9DEC */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC9DEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC9DF0 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9DF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC9DF4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9DF8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9DF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC9DFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC9E00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC9E04 */ return;
|
|
}
|
|
|
|
// fn_02BC9E08 @ 0x2bc9e08
|
|
void Gambit_fn_02BC9E08(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_02BC9E08: ; // 0x2bc9e08
|
|
/* 02BC9E08 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC9E0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9E0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9E0C */ cpu->r[1] = _t0;
|
|
/* 02BC9E10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9E10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC9E14 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9E14 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC9E18 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9E1C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9E1C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9E20 */ _t4 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC9E20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC9E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC9E28 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC9E2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9E2C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC9E2C */ if (_t6) goto L_02BC9E44; else goto L_02BC9E30;
|
|
L_02BC9E30: ; // 0x2bc9e30
|
|
/* 02BC9E30 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC9E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC9E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC9E38 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9E38 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC9E38 */ if (_t9) goto L_02BC9E3C; else goto L_02BC9E40;
|
|
L_02BC9E3C: ; // 0x2bc9e3c
|
|
/* 02BC9E3C */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC9E40: ; // 0x2bc9e40
|
|
/* 02BC9E40 */ _t10 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC9E40 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
L_02BC9E44: ; // 0x2bc9e44
|
|
/* 02BC9E44 */ _t11 = cpu->r[31] + 0x00000044u;
|
|
/* 02BC9E44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC9E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC9E4C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9E4C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC9E4C */ if (_t13) goto L_02BC9E50; else goto L_02BC9E58;
|
|
L_02BC9E50: ; // 0x2bc9e50
|
|
/* 02BC9E50 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC9E54 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC9E58: ; // 0x2bc9e58
|
|
/* 02BC9E58 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC9E5C */ Gambit_fn_02B67784(cpu);
|
|
/* 02BC9E60 */ _t14 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BC9E60 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BC9E64 */ _t15 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC9E64 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02BC9E68 */ _t16 = cpu->r[31] + 0x00000060u;
|
|
/* 02BC9E68 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02BC9E6C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9E6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC9E70 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9E70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC9E74 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9E78 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9E78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC9E7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9E80 */ return;
|
|
}
|
|
|
|
// fn_02BC9E0C @ 0x2bc9e0c
|
|
void Gambit_fn_02BC9E0C(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_02BC9E0C: ; // 0x2bc9e0c
|
|
/* 02BC9E0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9E0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9E0C */ cpu->r[1] = _t0;
|
|
/* 02BC9E10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9E10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC9E14 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9E14 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC9E18 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9E1C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9E1C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9E20 */ _t4 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC9E20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC9E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC9E28 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC9E2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9E2C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC9E2C */ if (_t6) goto L_02BC9E44; else goto L_02BC9E30;
|
|
L_02BC9E30: ; // 0x2bc9e30
|
|
/* 02BC9E30 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC9E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC9E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC9E38 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9E38 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC9E38 */ if (_t9) goto L_02BC9E3C; else goto L_02BC9E40;
|
|
L_02BC9E3C: ; // 0x2bc9e3c
|
|
/* 02BC9E3C */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC9E40: ; // 0x2bc9e40
|
|
/* 02BC9E40 */ _t10 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC9E40 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
L_02BC9E44: ; // 0x2bc9e44
|
|
/* 02BC9E44 */ _t11 = cpu->r[31] + 0x00000044u;
|
|
/* 02BC9E44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC9E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC9E4C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9E4C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC9E4C */ if (_t13) goto L_02BC9E50; else goto L_02BC9E58;
|
|
L_02BC9E50: ; // 0x2bc9e50
|
|
/* 02BC9E50 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC9E54 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC9E58: ; // 0x2bc9e58
|
|
/* 02BC9E58 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC9E5C */ Gambit_fn_02B67784(cpu);
|
|
/* 02BC9E60 */ _t14 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BC9E60 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BC9E64 */ _t15 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC9E64 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02BC9E68 */ _t16 = cpu->r[31] + 0x00000060u;
|
|
/* 02BC9E68 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02BC9E6C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9E6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC9E70 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9E70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC9E74 */ cpu->lr = cpu->r[0];
|
|
/* 02BC9E78 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9E78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC9E7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9E80 */ return;
|
|
}
|
|
|
|
// fn_02BC9E84 @ 0x2bc9e84
|
|
void Gambit_fn_02BC9E84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC9E84: ; // 0x2bc9e84
|
|
/* 02BC9E84 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BC9E88 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BC9E8C */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BC9E90 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC9E94 */ _t0 = cpu->r[9] + 0x0000271Cu;
|
|
/* 02BC9E94 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BC9E94 */ cpu->r[9] = _t0;
|
|
/* 02BC9E98 */ _t1 = cpu->r[11] + 0x00002714u;
|
|
/* 02BC9E98 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC9E98 */ cpu->r[11] = _t1;
|
|
/* 02BC9E9C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BC9EA0 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC9EA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BC9EA4 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC9EA8 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BC9EA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BC9EAC */ _t4 = cpu->r[11] + 0x00002724u;
|
|
/* 02BC9EAC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BC9EAC */ cpu->r[11] = _t4;
|
|
/* 02BC9EB0 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC9EB0 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BC9EB4 */ return;
|
|
}
|
|
|
|
// fn_02BC9EB8 @ 0x2bc9eb8
|
|
void Gambit_fn_02BC9EB8(CPUState* cpu) {
|
|
L_02BC9EB8: ; // 0x2bc9eb8
|
|
/* 02BC9EB8 */ return;
|
|
}
|
|
|
|
// fn_02BC9EBC @ 0x2bc9ebc
|
|
void Gambit_fn_02BC9EBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BC9EBC: ; // 0x2bc9ebc
|
|
/* 02BC9EBC */ cpu->r[0] = cpu->lr;
|
|
/* 02BC9EC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9EC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9EC0 */ cpu->r[1] = _t0;
|
|
/* 02BC9EC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9EC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC9EC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9ECC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9ECC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC9ED0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9ED0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC9ED0 */ if (_t4) goto L_02BC9ED4; else goto L_02BC9EE4;
|
|
L_02BC9ED4: ; // 0x2bc9ed4
|
|
/* 02BC9ED4 */ cpu->r[3] = 0x00000050u;
|
|
/* 02BC9ED8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC9EDC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9EE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9EE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC9EE0 */ if (_t6) goto L_02BC9F10; else goto L_02BC9EE4;
|
|
L_02BC9EE4: ; // 0x2bc9ee4
|
|
/* 02BC9EE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9EE8 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BC9EEC */ cpu->r[12] = 0x00000000u;
|
|
/* 02BC9EF0 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC9EF4 */ _t7 = cpu->r[31] + 0x00000044u;
|
|
/* 02BC9EF4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BC9EF8 */ cpu->r[0] = cpu->r[0] + 0x00003978u;
|
|
/* 02BC9EFC */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC9EFC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02BC9F00 */ _t9 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BC9F00 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 02BC9F04 */ cpu->r[11] = 0x000003E8u;
|
|
/* 02BC9F08 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC9F08 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BC9F0C */ _t11 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC9F0C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02BC9F10: ; // 0x2bc9f10
|
|
/* 02BC9F10 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC9F14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9F18 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9F18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC9F1C */ cpu->lr = cpu->r[0];
|
|
/* 02BC9F20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9F24 */ return;
|
|
}
|
|
|
|
// fn_02BC9EC0 @ 0x2bc9ec0
|
|
void Gambit_fn_02BC9EC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BC9EC0: ; // 0x2bc9ec0
|
|
/* 02BC9EC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9EC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9EC0 */ cpu->r[1] = _t0;
|
|
/* 02BC9EC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9EC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC9EC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9ECC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9ECC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC9ED0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9ED0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC9ED0 */ if (_t4) goto L_02BC9ED4; else goto L_02BC9EE4;
|
|
L_02BC9ED4: ; // 0x2bc9ed4
|
|
/* 02BC9ED4 */ cpu->r[3] = 0x00000050u;
|
|
/* 02BC9ED8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC9EDC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9EE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9EE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC9EE0 */ if (_t6) goto L_02BC9F10; else goto L_02BC9EE4;
|
|
L_02BC9EE4: ; // 0x2bc9ee4
|
|
/* 02BC9EE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9EE8 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BC9EEC */ cpu->r[12] = 0x00000000u;
|
|
/* 02BC9EF0 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC9EF4 */ _t7 = cpu->r[31] + 0x00000044u;
|
|
/* 02BC9EF4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BC9EF8 */ cpu->r[0] = cpu->r[0] + 0x00003978u;
|
|
/* 02BC9EFC */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC9EFC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02BC9F00 */ _t9 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BC9F00 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 02BC9F04 */ cpu->r[11] = 0x000003E8u;
|
|
/* 02BC9F08 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC9F08 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BC9F0C */ _t11 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC9F0C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02BC9F10: ; // 0x2bc9f10
|
|
/* 02BC9F10 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC9F14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9F18 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9F18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC9F1C */ cpu->lr = cpu->r[0];
|
|
/* 02BC9F20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9F24 */ return;
|
|
}
|
|
|
|
// fn_02BC9F28 @ 0x2bc9f28
|
|
void Gambit_fn_02BC9F28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC9F28: ; // 0x2bc9f28
|
|
/* 02BC9F28 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC9F2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9F2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9F2C */ cpu->r[1] = _t0;
|
|
/* 02BC9F30 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9F30 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC9F34 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9F34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC9F38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9F3C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC9F40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9F40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9F44 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9F44 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC9F44 */ if (_t5) goto L_02BC9F64; else goto L_02BC9F48;
|
|
L_02BC9F48: ; // 0x2bc9f48
|
|
/* 02BC9F48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9F4C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC9F50 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BC9F54 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC9F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC9F58 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9F58 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC9F58 */ if (_t7) goto L_02BC9F64; else goto L_02BC9F5C;
|
|
L_02BC9F5C: ; // 0x2bc9f5c
|
|
/* 02BC9F5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9F60 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BC9F64: ; // 0x2bc9f64
|
|
/* 02BC9F64 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC9F68 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9F68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC9F6C */ cpu->lr = cpu->r[0];
|
|
/* 02BC9F70 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9F70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC9F74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9F78 */ return;
|
|
}
|
|
|
|
// fn_02BC9F2C @ 0x2bc9f2c
|
|
void Gambit_fn_02BC9F2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC9F2C: ; // 0x2bc9f2c
|
|
/* 02BC9F2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC9F2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9F2C */ cpu->r[1] = _t0;
|
|
/* 02BC9F30 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9F30 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC9F34 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9F34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC9F38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC9F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9F3C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC9F40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9F40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC9F44 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9F44 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC9F44 */ if (_t5) goto L_02BC9F64; else goto L_02BC9F48;
|
|
L_02BC9F48: ; // 0x2bc9f48
|
|
/* 02BC9F48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9F4C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC9F50 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BC9F54 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC9F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC9F58 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9F58 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC9F58 */ if (_t7) goto L_02BC9F64; else goto L_02BC9F5C;
|
|
L_02BC9F5C: ; // 0x2bc9f5c
|
|
/* 02BC9F5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9F60 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BC9F64: ; // 0x2bc9f64
|
|
/* 02BC9F64 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC9F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC9F68 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC9F68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC9F6C */ cpu->lr = cpu->r[0];
|
|
/* 02BC9F70 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC9F70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC9F74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC9F78 */ return;
|
|
}
|
|
|
|
// fn_02BC9F7C @ 0x2bc9f7c
|
|
void Gambit_fn_02BC9F7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BC9F7C: ; // 0x2bc9f7c
|
|
/* 02BC9F7C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC9F80 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BC9F80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9F80 */ cpu->r[1] = _t0;
|
|
/* 02BC9F84 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC9F84 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC9F88 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02BC9F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC9F8C */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC9F8C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC9F90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC9F94 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC9F94 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC9F98 */ _t5 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BC9F98 */ cpu->r[10] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BC9F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC9FA0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9FA0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC9FA0 */ if (_t7) goto L_02BC9FA4; else goto L_02BCA040;
|
|
L_02BC9FA4: ; // 0x2bc9fa4
|
|
/* 02BC9FA4 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC9FA8 */ _t8 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BC9FA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC9FA8 */ cpu->r[29] = _t8;
|
|
/* 02BC9FAC */ _t9 = cpu->r[5] + 0x00000010u;
|
|
/* 02BC9FAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC9FB0 */ _t10 = cpu->r[31] + 0x000000BCu;
|
|
/* 02BC9FB0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02BC9FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC9FB8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9FB8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC9FB8 */ if (_t12) goto L_02BC9FE0; else goto L_02BC9FBC;
|
|
L_02BC9FBC: ; // 0x2bc9fbc
|
|
/* 02BC9FBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9FC0 */ Gambit_fn_02BD1194(cpu);
|
|
/* 02BC9FC4 */ _t13 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC9FC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC9FC8 */ _t14 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC9FC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC9FCC */ cpu->ctr = cpu->r[8];
|
|
/* 02BC9FD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9FD4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC9FD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC9FDC */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC9FDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
L_02BC9FE0: ; // 0x2bc9fe0
|
|
/* 02BC9FE0 */ _t16 = cpu->r[5] + 0x0000001Cu;
|
|
/* 02BC9FE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC9FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9FE8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9FE8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC9FE8 */ if (_t18) goto L_02BCA01C; else goto L_02BC9FEC;
|
|
L_02BC9FEC: ; // 0x2bc9fec
|
|
/* 02BC9FEC */ _t19 = cpu->r[31] + 0x0000006Eu;
|
|
/* 02BC9FEC */ cpu->r[9] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BC9FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC9FF4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9FF4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC9FF4 */ if (_t21) goto L_02BCA01C; else goto L_02BC9FF8;
|
|
L_02BC9FF8: ; // 0x2bc9ff8
|
|
/* 02BC9FF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9FFC */ Gambit_fn_02BCB8E4(cpu);
|
|
/* 02BCA000 */ _t22 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCA000 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCA004 */ _t23 = cpu->r[11] + 0x00000014u;
|
|
/* 02BCA004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCA008 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCA00C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA010 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCA014 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA018 */ _t24 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCA018 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
L_02BCA01C: ; // 0x2bca01c
|
|
/* 02BCA01C */ _t25 = cpu->r[5] + 0x00000008u;
|
|
/* 02BCA01C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCA020 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA024 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BCA028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 02BCA02C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA02C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BCA02C */ if (_t27) goto L_02BCA040; else goto L_02BCA030;
|
|
L_02BCA030: ; // 0x2bca030
|
|
/* 02BCA030 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA034 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BCA038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BCA03C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA03C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BCA03C */ if (_t29) goto L_02BCA040; else goto L_02BCA060;
|
|
L_02BCA040: ; // 0x2bca040
|
|
/* 02BCA040 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCA040 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCA044 */ _t31 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCA044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BCA048 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCA048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCA04C */ cpu->lr = cpu->r[0];
|
|
/* 02BCA050 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCA050 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCA054 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BCA058 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCA05C */ return;
|
|
L_02BCA060: ; // 0x2bca060
|
|
/* 02BCA060 */ _t34 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCA060 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCA064 */ _t35 = cpu->r[7] + 0x00000004u;
|
|
/* 02BCA064 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCA068 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA06C */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BCA070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCA074 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA074 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BCA074 */ if (_t37) goto L_02BCA0E0; else goto L_02BCA078;
|
|
L_02BCA078: ; // 0x2bca078
|
|
/* 02BCA078 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCA07C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA080 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCA084 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BCA088 */ cpu->r[0] = cpu->r[0] | 0x000094E1u;
|
|
/* 02BCA08C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA090 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA090 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02BCA094 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA098 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA098 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02BCA09C */ Gambit_fn_02BBB968(cpu);
|
|
/* 02BCA0A0 */ _t40 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCA0A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BCA0A4 */ _t41 = cpu->r[11] + 0x00000014u;
|
|
/* 02BCA0A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCA0A8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCA0AC */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCA0B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA0B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA0B8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCA0BC */ _t42 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BCA0BC */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[0]);
|
|
/* 02BCA0C0 */ _t43 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCA0C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BCA0C4 */ _t44 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCA0C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCA0C8 */ _t45 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCA0C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BCA0CC */ cpu->lr = cpu->r[0];
|
|
/* 02BCA0D0 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCA0D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BCA0D4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BCA0D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCA0DC */ return;
|
|
L_02BCA0E0: ; // 0x2bca0e0
|
|
/* 02BCA0E0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BCA0E4 */ _t47 = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA0E4 */ rbrew_write32(cpu->mem, _t47, cpu->r[5]);
|
|
/* 02BCA0E8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA0EC */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA0EC */ rbrew_write32(cpu->mem, _t48, cpu->r[5]);
|
|
/* 02BCA0F0 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BCA0F4 */ _t49 = cpu->r[30] + 0x00000048u;
|
|
/* 02BCA0F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BCA0F8 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCA0FC */ _t50 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCA0FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BCA100 */ /* nop */
|
|
/* 02BCA104 */ _t51 = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA104 */ cpu->r[5] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BCA108 */ /* nop */
|
|
/* 02BCA10C */ _t52 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCA10C */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BCA110 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[31]);
|
|
/* 02BCA114 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA114 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BCA118 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[7]);
|
|
/* 02BCA11C */ cpu->r[10] = cpu->r[8] + cpu->r[0];
|
|
/* 02BCA120 */ cpu->r[0] = cpu->r[5];
|
|
/* 02BCA124 */ cpu->r[5] = cpu->r[6];
|
|
/* 02BCA128 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[31]);
|
|
/* 02BCA12C */ cpu->r[31] = 0x00000001u;
|
|
/* 02BCA130 */ cpu->r[12] = cpu->r[10] + cpu->r[11];
|
|
/* 02BCA134 */ _t54 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BCA134 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[31]);
|
|
/* 02BCA138 */ cpu->r[9] = cpu->r[5] + cpu->r[6];
|
|
/* 02BCA13C */ cpu->r[8] = cpu->r[0] + cpu->r[12];
|
|
/* 02BCA140 */ _t55 = cpu->r[30] + 0x00000044u;
|
|
/* 02BCA140 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
/* 02BCA144 */ _t56 = cpu->r[30] + 0x00000040u;
|
|
/* 02BCA144 */ rbrew_write32(cpu->mem, _t56, cpu->r[8]);
|
|
/* 02BCA148 */ _t57 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCA148 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BCA14C */ cpu->r[4] = 0x00000003u;
|
|
/* 02BCA150 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BCA154 */ _t58 = cpu->r[30] + 0x00000018u;
|
|
/* 02BCA154 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BCA158 */ _t59 = cpu->r[8] + 0x00000014u;
|
|
/* 02BCA158 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BCA15C */ cpu->ctr = cpu->r[9];
|
|
/* 02BCA160 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCA164 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BCA168 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA16C */ cpu->r[8] = 0x00000000u;
|
|
/* 02BCA170 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BCA174 */ cpu->r[6] = 0x02BD0000u;
|
|
/* 02BCA178 */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA178 */ rbrew_write16(cpu->mem, _t60, (uint16_t)cpu->r[8]);
|
|
/* 02BCA17C */ cpu->r[6] = cpu->r[6] + 0xFFFFA1C4u;
|
|
/* 02BCA180 */ _t61 = cpu->r[1] + 0x00000012u;
|
|
/* 02BCA180 */ rbrew_write16(cpu->mem, _t61, (uint16_t)cpu->r[7]);
|
|
/* 02BCA184 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCA188 */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA188 */ rbrew_write32(cpu->mem, _t63, cpu->r[6]);
|
|
/* 02BCA18C */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA18C */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BCA190 */ _t65 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCA190 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
/* 02BCA194 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BCA198 */ _t66 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCA198 */ rbrew_write32(cpu->mem, _t66, cpu->r[12]);
|
|
/* 02BCA19C */ cpu->r[0] = cpu->r[0] + 0x00003928u;
|
|
/* 02BCA1A0 */ _t67 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCA1A0 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 02BCA1A4 */ _t68 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCA1A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BCA1A8 */ _t69 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCA1A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BCA1AC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA1B0 */ _t70 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCA1B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BCA1B4 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA1B8 */ _t71 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCA1B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BCA1BC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BCA1C0 */ return;
|
|
}
|
|
|
|
// fn_02BC9F80 @ 0x2bc9f80
|
|
void Gambit_fn_02BC9F80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BC9F80: ; // 0x2bc9f80
|
|
/* 02BC9F80 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BC9F80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC9F80 */ cpu->r[1] = _t0;
|
|
/* 02BC9F84 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC9F84 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC9F88 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02BC9F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC9F8C */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC9F8C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC9F90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC9F94 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC9F94 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC9F98 */ _t5 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BC9F98 */ cpu->r[10] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BC9F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC9FA0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9FA0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC9FA0 */ if (_t7) goto L_02BC9FA4; else goto L_02BCA040;
|
|
L_02BC9FA4: ; // 0x2bc9fa4
|
|
/* 02BC9FA4 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC9FA8 */ _t8 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BC9FA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC9FA8 */ cpu->r[29] = _t8;
|
|
/* 02BC9FAC */ _t9 = cpu->r[5] + 0x00000010u;
|
|
/* 02BC9FAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC9FB0 */ _t10 = cpu->r[31] + 0x000000BCu;
|
|
/* 02BC9FB0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02BC9FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC9FB8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9FB8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC9FB8 */ if (_t12) goto L_02BC9FE0; else goto L_02BC9FBC;
|
|
L_02BC9FBC: ; // 0x2bc9fbc
|
|
/* 02BC9FBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9FC0 */ Gambit_fn_02BD1194(cpu);
|
|
/* 02BC9FC4 */ _t13 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC9FC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC9FC8 */ _t14 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC9FC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC9FCC */ cpu->ctr = cpu->r[8];
|
|
/* 02BC9FD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9FD4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC9FD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC9FDC */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC9FDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
L_02BC9FE0: ; // 0x2bc9fe0
|
|
/* 02BC9FE0 */ _t16 = cpu->r[5] + 0x0000001Cu;
|
|
/* 02BC9FE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC9FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC9FE8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9FE8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC9FE8 */ if (_t18) goto L_02BCA01C; else goto L_02BC9FEC;
|
|
L_02BC9FEC: ; // 0x2bc9fec
|
|
/* 02BC9FEC */ _t19 = cpu->r[31] + 0x0000006Eu;
|
|
/* 02BC9FEC */ cpu->r[9] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BC9FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC9FF4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC9FF4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC9FF4 */ if (_t21) goto L_02BCA01C; else goto L_02BC9FF8;
|
|
L_02BC9FF8: ; // 0x2bc9ff8
|
|
/* 02BC9FF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC9FFC */ Gambit_fn_02BCB8E4(cpu);
|
|
/* 02BCA000 */ _t22 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCA000 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCA004 */ _t23 = cpu->r[11] + 0x00000014u;
|
|
/* 02BCA004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCA008 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCA00C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA010 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCA014 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA018 */ _t24 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCA018 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
L_02BCA01C: ; // 0x2bca01c
|
|
/* 02BCA01C */ _t25 = cpu->r[5] + 0x00000008u;
|
|
/* 02BCA01C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCA020 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA024 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BCA028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 02BCA02C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA02C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BCA02C */ if (_t27) goto L_02BCA040; else goto L_02BCA030;
|
|
L_02BCA030: ; // 0x2bca030
|
|
/* 02BCA030 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA034 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BCA038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BCA03C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA03C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BCA03C */ if (_t29) goto L_02BCA040; else goto L_02BCA060;
|
|
L_02BCA040: ; // 0x2bca040
|
|
/* 02BCA040 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCA040 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCA044 */ _t31 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCA044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BCA048 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCA048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCA04C */ cpu->lr = cpu->r[0];
|
|
/* 02BCA050 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCA050 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCA054 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BCA058 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCA05C */ return;
|
|
L_02BCA060: ; // 0x2bca060
|
|
/* 02BCA060 */ _t34 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCA060 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCA064 */ _t35 = cpu->r[7] + 0x00000004u;
|
|
/* 02BCA064 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCA068 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA06C */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BCA070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCA074 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA074 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BCA074 */ if (_t37) goto L_02BCA0E0; else goto L_02BCA078;
|
|
L_02BCA078: ; // 0x2bca078
|
|
/* 02BCA078 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCA07C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA080 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCA084 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BCA088 */ cpu->r[0] = cpu->r[0] | 0x000094E1u;
|
|
/* 02BCA08C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA090 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA090 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02BCA094 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA098 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA098 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02BCA09C */ Gambit_fn_02BBB968(cpu);
|
|
/* 02BCA0A0 */ _t40 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCA0A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BCA0A4 */ _t41 = cpu->r[11] + 0x00000014u;
|
|
/* 02BCA0A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCA0A8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCA0AC */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCA0B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA0B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA0B8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCA0BC */ _t42 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BCA0BC */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[0]);
|
|
/* 02BCA0C0 */ _t43 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCA0C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BCA0C4 */ _t44 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCA0C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCA0C8 */ _t45 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCA0C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BCA0CC */ cpu->lr = cpu->r[0];
|
|
/* 02BCA0D0 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCA0D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BCA0D4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BCA0D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCA0DC */ return;
|
|
L_02BCA0E0: ; // 0x2bca0e0
|
|
/* 02BCA0E0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BCA0E4 */ _t47 = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA0E4 */ rbrew_write32(cpu->mem, _t47, cpu->r[5]);
|
|
/* 02BCA0E8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA0EC */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA0EC */ rbrew_write32(cpu->mem, _t48, cpu->r[5]);
|
|
/* 02BCA0F0 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BCA0F4 */ _t49 = cpu->r[30] + 0x00000048u;
|
|
/* 02BCA0F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BCA0F8 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCA0FC */ _t50 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCA0FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BCA100 */ /* nop */
|
|
/* 02BCA104 */ _t51 = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA104 */ cpu->r[5] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BCA108 */ /* nop */
|
|
/* 02BCA10C */ _t52 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCA10C */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BCA110 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[31]);
|
|
/* 02BCA114 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA114 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BCA118 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[7]);
|
|
/* 02BCA11C */ cpu->r[10] = cpu->r[8] + cpu->r[0];
|
|
/* 02BCA120 */ cpu->r[0] = cpu->r[5];
|
|
/* 02BCA124 */ cpu->r[5] = cpu->r[6];
|
|
/* 02BCA128 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[31]);
|
|
/* 02BCA12C */ cpu->r[31] = 0x00000001u;
|
|
/* 02BCA130 */ cpu->r[12] = cpu->r[10] + cpu->r[11];
|
|
/* 02BCA134 */ _t54 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BCA134 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[31]);
|
|
/* 02BCA138 */ cpu->r[9] = cpu->r[5] + cpu->r[6];
|
|
/* 02BCA13C */ cpu->r[8] = cpu->r[0] + cpu->r[12];
|
|
/* 02BCA140 */ _t55 = cpu->r[30] + 0x00000044u;
|
|
/* 02BCA140 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
/* 02BCA144 */ _t56 = cpu->r[30] + 0x00000040u;
|
|
/* 02BCA144 */ rbrew_write32(cpu->mem, _t56, cpu->r[8]);
|
|
/* 02BCA148 */ _t57 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCA148 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BCA14C */ cpu->r[4] = 0x00000003u;
|
|
/* 02BCA150 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BCA154 */ _t58 = cpu->r[30] + 0x00000018u;
|
|
/* 02BCA154 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BCA158 */ _t59 = cpu->r[8] + 0x00000014u;
|
|
/* 02BCA158 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BCA15C */ cpu->ctr = cpu->r[9];
|
|
/* 02BCA160 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCA164 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BCA168 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA16C */ cpu->r[8] = 0x00000000u;
|
|
/* 02BCA170 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BCA174 */ cpu->r[6] = 0x02BD0000u;
|
|
/* 02BCA178 */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA178 */ rbrew_write16(cpu->mem, _t60, (uint16_t)cpu->r[8]);
|
|
/* 02BCA17C */ cpu->r[6] = cpu->r[6] + 0xFFFFA1C4u;
|
|
/* 02BCA180 */ _t61 = cpu->r[1] + 0x00000012u;
|
|
/* 02BCA180 */ rbrew_write16(cpu->mem, _t61, (uint16_t)cpu->r[7]);
|
|
/* 02BCA184 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCA188 */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA188 */ rbrew_write32(cpu->mem, _t63, cpu->r[6]);
|
|
/* 02BCA18C */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA18C */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BCA190 */ _t65 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCA190 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
/* 02BCA194 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BCA198 */ _t66 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCA198 */ rbrew_write32(cpu->mem, _t66, cpu->r[12]);
|
|
/* 02BCA19C */ cpu->r[0] = cpu->r[0] + 0x00003928u;
|
|
/* 02BCA1A0 */ _t67 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCA1A0 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 02BCA1A4 */ _t68 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCA1A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BCA1A8 */ _t69 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCA1A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BCA1AC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA1B0 */ _t70 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCA1B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BCA1B4 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA1B8 */ _t71 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCA1B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BCA1BC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BCA1C0 */ return;
|
|
}
|
|
|
|
// fn_02BCA1C8 @ 0x2bca1c8
|
|
void Gambit_fn_02BCA1C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02BCA1C8: ; // 0x2bca1c8
|
|
/* 02BCA1C8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCA1C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA1C8 */ cpu->r[1] = _t0;
|
|
/* 02BCA1CC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA1CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCA1D0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BCA1D4 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA1D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCA1D8 */ _t3 = cpu->r[11] + 0xFFFFB770u;
|
|
/* 02BCA1D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCA1DC */ _t4 = cpu->r[11] + 0x00000058u;
|
|
/* 02BCA1DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCA1E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BCA1E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA1E8 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCA1E8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCA1E8 */ if (_t6) goto L_02BCA228; else goto L_02BCA1EC;
|
|
L_02BCA1EC: ; // 0x2bca1ec
|
|
/* 02BCA1EC */ _t7 = cpu->r[11] + 0x00000048u;
|
|
/* 02BCA1EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCA1F0 */ Gambit_fn_02BC80C4(cpu);
|
|
/* 02BCA1F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCA1F8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA1F8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BCA1F8 */ if (_t9) goto L_02BCA1FC; else goto L_02BCA228;
|
|
L_02BCA1FC: ; // 0x2bca1fc
|
|
/* 02BCA1FC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCA200 */ _t10 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BCA200 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCA204 */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCA204 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCA208 */ _t12 = cpu->r[12] + 0x00000030u;
|
|
/* 02BCA208 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCA20C */ _t13 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCA20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCA210 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 02BCA214 */ _t14 = cpu->r[12] + 0x00000034u;
|
|
/* 02BCA214 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCA218 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCA218 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BCA218 */ if (_t16) goto L_02BCA25C; else goto L_02BCA21C;
|
|
L_02BCA21C: ; // 0x2bca21c
|
|
/* 02BCA21C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCA21C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BCA21C */ if (_t18) goto L_02BCA228; else goto L_02BCA220;
|
|
L_02BCA220: ; // 0x2bca220
|
|
/* 02BCA220 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BCA224 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCA224 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BCA224 */ if (_t20) goto L_02BCA25C; else goto L_02BCA228;
|
|
L_02BCA228: ; // 0x2bca228
|
|
/* 02BCA228 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BCA22C */ cpu->r[9] = 0x02BD0000u;
|
|
/* 02BCA230 */ _t21 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCA230 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[0]);
|
|
/* 02BCA234 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BCA238 */ cpu->r[9] = cpu->r[9] + 0xFFFFA27Cu;
|
|
/* 02BCA23C */ cpu->r[0] = cpu->r[0] + 0x00003954u;
|
|
/* 02BCA240 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA240 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 02BCA244 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BCA248 */ _t23 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCA248 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02BCA24C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA24C */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[8]);
|
|
/* 02BCA250 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA250 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCA254 */ _t26 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCA254 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 02BCA258 */ _t27 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCA258 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
L_02BCA25C: ; // 0x2bca25c
|
|
/* 02BCA25C */ cpu->r[9] = 0x00000005u;
|
|
/* 02BCA260 */ _t28 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCA260 */ _t29 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BCA260 */ cpu->r[0] = _t29 | _t28;
|
|
/* 02BCA264 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCA268 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCA26C */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA26C */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BCA270 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA274 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA278 */ return;
|
|
}
|
|
|
|
// fn_02BCA280 @ 0x2bca280
|
|
void Gambit_fn_02BCA280(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02BCA280: ; // 0x2bca280
|
|
/* 02BCA280 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BCA280 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA280 */ cpu->r[1] = _t0;
|
|
/* 02BCA284 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA284 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BCA288 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA288 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BCA28C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA28C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BCA290 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCA294 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA294 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BCA298 */ _t5 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BCA298 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCA298 */ cpu->r[30] = _t5;
|
|
/* 02BCA29C */ _t6 = cpu->r[12] + 0x00000034u;
|
|
/* 02BCA29C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCA2A0 */ cpu->r[29] = cpu->r[12] + 0x00000038u;
|
|
/* 02BCA2A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCA2A8 */ cpu->r[7] = cpu->r[29] + cpu->r[12];
|
|
/* 02BCA2AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[7]);
|
|
/* 02BCA2B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA2B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA2B4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCA2B4 */ if (_t8) goto L_02BCA2F0; else goto L_02BCA2B8;
|
|
L_02BCA2B8: ; // 0x2bca2b8
|
|
/* 02BCA2B8 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCA2B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCA2BC */ _t10 = cpu->r[4] + 0x00000034u;
|
|
/* 02BCA2BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCA2C0 */ _t11 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCA2C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCA2C4 */ _t12 = cpu->r[8] + 0x00000034u;
|
|
/* 02BCA2C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCA2C8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCA2CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA2D0 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCA2D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCA2D4 */ _t14 = cpu->r[11] + 0x00000034u;
|
|
/* 02BCA2D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCA2D8 */ cpu->r[11] = cpu->r[11] + 0x00000038u;
|
|
/* 02BCA2DC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCA2E0 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02BCA2E4 */ cpu->r[7] = cpu->r[11] + cpu->r[12];
|
|
/* 02BCA2E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[7]);
|
|
/* 02BCA2EC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA2EC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BCA2EC */ if (_t16) goto L_02BCA2F0; else goto L_02BCA2B8;
|
|
L_02BCA2F0: ; // 0x2bca2f0
|
|
/* 02BCA2F0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCA2F4 */ _t17 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BCA2F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BCA2F8 */ Gambit_fn_02BC28A8(cpu);
|
|
/* 02BCA2FC */ _t18 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BCA2FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCA300 */ cpu->r[9] = 0x00000003u;
|
|
/* 02BCA304 */ _t19 = cpu->r[8] + 0x00000064u;
|
|
/* 02BCA304 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 02BCA308 */ _t20 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BCA308 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BCA30C */ Gambit_fn_02BC2DA0(cpu);
|
|
/* 02BCA310 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCA314 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BCA318 */ _t21 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCA318 */ _t22 = cpu->r[29] & 0x00FFFFFFu;
|
|
/* 02BCA318 */ cpu->r[29] = _t22 | _t21;
|
|
/* 02BCA31C */ _t23 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BCA31C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[10]);
|
|
/* 02BCA320 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCA324 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA324 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BCA328 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCA32C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA32C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCA330 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA334 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA334 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BCA338 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA33C */ return;
|
|
}
|
|
|
|
// fn_02BCA340 @ 0x2bca340
|
|
void Gambit_fn_02BCA340(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BCA340: ; // 0x2bca340
|
|
/* 02BCA340 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCA344 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 02BCA344 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 02BCA348 */ return;
|
|
}
|
|
|
|
// fn_02BCA34C @ 0x2bca34c
|
|
void Gambit_fn_02BCA34C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BCA34C: ; // 0x2bca34c
|
|
/* 02BCA34C */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BCA350 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BCA354 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BCA358 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BCA35C */ _t0 = cpu->r[9] + 0x00002734u;
|
|
/* 02BCA35C */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BCA35C */ cpu->r[9] = _t0;
|
|
/* 02BCA360 */ _t1 = cpu->r[11] + 0x0000272Cu;
|
|
/* 02BCA360 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCA360 */ cpu->r[11] = _t1;
|
|
/* 02BCA364 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BCA368 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BCA368 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BCA36C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BCA370 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BCA370 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BCA374 */ _t4 = cpu->r[11] + 0x0000273Cu;
|
|
/* 02BCA374 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BCA374 */ cpu->r[11] = _t4;
|
|
/* 02BCA378 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BCA378 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BCA37C */ return;
|
|
}
|
|
|
|
// fn_02BCA380 @ 0x2bca380
|
|
void Gambit_fn_02BCA380(CPUState* cpu) {
|
|
L_02BCA380: ; // 0x2bca380
|
|
/* 02BCA380 */ return;
|
|
}
|
|
|
|
// fn_02BCA384 @ 0x2bca384
|
|
void Gambit_fn_02BCA384(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02BCA384: ; // 0x2bca384
|
|
/* 02BCA384 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCA388 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCA388 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA388 */ cpu->r[1] = _t0;
|
|
/* 02BCA38C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA38C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCA390 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA390 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BCA394 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCA398 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA398 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCA39C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA39C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCA39C */ if (_t5) goto L_02BCA3A0; else goto L_02BCA3B0;
|
|
L_02BCA3A0: ; // 0x2bca3a0
|
|
/* 02BCA3A0 */ cpu->r[3] = 0x000000F0u;
|
|
/* 02BCA3A4 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BCA3A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCA3AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA3AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCA3AC */ if (_t7) goto L_02BCA470; else goto L_02BCA3B0;
|
|
L_02BCA3B0: ; // 0x2bca3b0
|
|
/* 02BCA3B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA3B4 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BCA3B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCA3BC */ cpu->r[12] = 0x00002710u;
|
|
/* 02BCA3C0 */ _t8 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCA3C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 02BCA3C4 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BCA3C8 */ _t9 = cpu->r[31] + 0x00000048u;
|
|
/* 02BCA3C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BCA3CC */ cpu->r[11] = cpu->r[11] + 0x00003BA0u;
|
|
/* 02BCA3D0 */ _t10 = cpu->r[31] + 0x0000006Eu;
|
|
/* 02BCA3D0 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[4]);
|
|
/* 02BCA3D4 */ _t11 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCA3D4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02BCA3D8 */ _t12 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BCA3D8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 02BCA3DC */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCA3E0 */ _t13 = cpu->r[31] + 0x0000006Du;
|
|
/* 02BCA3E0 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[4]);
|
|
/* 02BCA3E4 */ _t14 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BCA3E4 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[4]);
|
|
/* 02BCA3E8 */ _t15 = cpu->r[31] + 0x00000058u;
|
|
/* 02BCA3E8 */ rbrew_write32(cpu->mem, _t15, cpu->r[4]);
|
|
/* 02BCA3EC */ _t16 = cpu->r[31] + 0x00000050u;
|
|
/* 02BCA3EC */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 02BCA3F0 */ _t17 = cpu->r[31] + 0x00000068u;
|
|
/* 02BCA3F0 */ rbrew_write32(cpu->mem, _t17, cpu->r[4]);
|
|
/* 02BCA3F4 */ cpu->r[3] = cpu->r[31] + 0x00000078u;
|
|
/* 02BCA3F8 */ _t18 = cpu->r[31] + 0x00000054u;
|
|
/* 02BCA3F8 */ rbrew_write32(cpu->mem, _t18, cpu->r[4]);
|
|
/* 02BCA3FC */ _t19 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCA3FC */ rbrew_write32(cpu->mem, _t19, cpu->r[4]);
|
|
/* 02BCA400 */ _t20 = cpu->r[31] + 0x00000064u;
|
|
/* 02BCA400 */ rbrew_write32(cpu->mem, _t20, cpu->r[4]);
|
|
/* 02BCA404 */ _t21 = cpu->r[31] + 0x00000060u;
|
|
/* 02BCA404 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]);
|
|
/* 02BCA408 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BCA40C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCA410 */ cpu->r[30] = 0x000000FDu;
|
|
/* 02BCA414 */ _t22 = cpu->r[31] + 0x00000098u;
|
|
/* 02BCA414 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[4]);
|
|
/* 02BCA418 */ _t23 = cpu->r[31] + 0x00000074u;
|
|
/* 02BCA418 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02BCA41C */ _t24 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BCA41C */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02BCA420 */ _t25 = cpu->r[31] + 0x00000070u;
|
|
/* 02BCA420 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02BCA424 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCA428 */ _t26 = cpu->r[31] + 0x00000099u;
|
|
/* 02BCA428 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[4]);
|
|
/* 02BCA42C */ _t27 = cpu->r[31] + 0x000000A1u;
|
|
/* 02BCA42C */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[4]);
|
|
/* 02BCA430 */ _t28 = cpu->r[31] + 0x000000A0u;
|
|
/* 02BCA430 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[4]);
|
|
/* 02BCA434 */ _t29 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCA434 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BCA438 */ _t30 = cpu->r[12] + 0x00000068u;
|
|
/* 02BCA438 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCA43C */ cpu->r[3] = cpu->r[31] + 0x000000CCu;
|
|
/* 02BCA440 */ cpu->r[11] = cpu->r[10] ^ 0x00000002u;
|
|
/* 02BCA444 */ _t31 = cpu->r[31] + 0x000000C8u;
|
|
/* 02BCA444 */ rbrew_write32(cpu->mem, _t31, cpu->r[4]);
|
|
/* 02BCA448 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 02BCA44C */ _t32 = cpu->r[31] + 0x000000C4u;
|
|
/* 02BCA44C */ rbrew_write32(cpu->mem, _t32, cpu->r[4]);
|
|
/* 02BCA450 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BCA454 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCA458 */ _t33 = cpu->r[31] + 0x000000A3u;
|
|
/* 02BCA458 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
/* 02BCA45C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BCA460 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCA464 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BCA468 */ cpu->r[3] = cpu->r[31] + 0x000000A4u;
|
|
/* 02BCA46C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_02BCA470: ; // 0x2bca470
|
|
/* 02BCA470 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCA474 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA478 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA478 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCA47C */ cpu->lr = cpu->r[0];
|
|
/* 02BCA480 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA480 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCA484 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA488 */ return;
|
|
}
|
|
|
|
// fn_02BCA388 @ 0x2bca388
|
|
void Gambit_fn_02BCA388(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02BCA388: ; // 0x2bca388
|
|
/* 02BCA388 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCA388 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA388 */ cpu->r[1] = _t0;
|
|
/* 02BCA38C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA38C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCA390 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA390 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BCA394 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCA398 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA398 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCA39C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA39C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCA39C */ if (_t5) goto L_02BCA3A0; else goto L_02BCA3B0;
|
|
L_02BCA3A0: ; // 0x2bca3a0
|
|
/* 02BCA3A0 */ cpu->r[3] = 0x000000F0u;
|
|
/* 02BCA3A4 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BCA3A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCA3AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA3AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCA3AC */ if (_t7) goto L_02BCA470; else goto L_02BCA3B0;
|
|
L_02BCA3B0: ; // 0x2bca3b0
|
|
/* 02BCA3B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA3B4 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BCA3B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCA3BC */ cpu->r[12] = 0x00002710u;
|
|
/* 02BCA3C0 */ _t8 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCA3C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 02BCA3C4 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BCA3C8 */ _t9 = cpu->r[31] + 0x00000048u;
|
|
/* 02BCA3C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BCA3CC */ cpu->r[11] = cpu->r[11] + 0x00003BA0u;
|
|
/* 02BCA3D0 */ _t10 = cpu->r[31] + 0x0000006Eu;
|
|
/* 02BCA3D0 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[4]);
|
|
/* 02BCA3D4 */ _t11 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCA3D4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02BCA3D8 */ _t12 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BCA3D8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 02BCA3DC */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCA3E0 */ _t13 = cpu->r[31] + 0x0000006Du;
|
|
/* 02BCA3E0 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[4]);
|
|
/* 02BCA3E4 */ _t14 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BCA3E4 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[4]);
|
|
/* 02BCA3E8 */ _t15 = cpu->r[31] + 0x00000058u;
|
|
/* 02BCA3E8 */ rbrew_write32(cpu->mem, _t15, cpu->r[4]);
|
|
/* 02BCA3EC */ _t16 = cpu->r[31] + 0x00000050u;
|
|
/* 02BCA3EC */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 02BCA3F0 */ _t17 = cpu->r[31] + 0x00000068u;
|
|
/* 02BCA3F0 */ rbrew_write32(cpu->mem, _t17, cpu->r[4]);
|
|
/* 02BCA3F4 */ cpu->r[3] = cpu->r[31] + 0x00000078u;
|
|
/* 02BCA3F8 */ _t18 = cpu->r[31] + 0x00000054u;
|
|
/* 02BCA3F8 */ rbrew_write32(cpu->mem, _t18, cpu->r[4]);
|
|
/* 02BCA3FC */ _t19 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCA3FC */ rbrew_write32(cpu->mem, _t19, cpu->r[4]);
|
|
/* 02BCA400 */ _t20 = cpu->r[31] + 0x00000064u;
|
|
/* 02BCA400 */ rbrew_write32(cpu->mem, _t20, cpu->r[4]);
|
|
/* 02BCA404 */ _t21 = cpu->r[31] + 0x00000060u;
|
|
/* 02BCA404 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]);
|
|
/* 02BCA408 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BCA40C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCA410 */ cpu->r[30] = 0x000000FDu;
|
|
/* 02BCA414 */ _t22 = cpu->r[31] + 0x00000098u;
|
|
/* 02BCA414 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[4]);
|
|
/* 02BCA418 */ _t23 = cpu->r[31] + 0x00000074u;
|
|
/* 02BCA418 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02BCA41C */ _t24 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BCA41C */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02BCA420 */ _t25 = cpu->r[31] + 0x00000070u;
|
|
/* 02BCA420 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02BCA424 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCA428 */ _t26 = cpu->r[31] + 0x00000099u;
|
|
/* 02BCA428 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[4]);
|
|
/* 02BCA42C */ _t27 = cpu->r[31] + 0x000000A1u;
|
|
/* 02BCA42C */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[4]);
|
|
/* 02BCA430 */ _t28 = cpu->r[31] + 0x000000A0u;
|
|
/* 02BCA430 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[4]);
|
|
/* 02BCA434 */ _t29 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCA434 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BCA438 */ _t30 = cpu->r[12] + 0x00000068u;
|
|
/* 02BCA438 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCA43C */ cpu->r[3] = cpu->r[31] + 0x000000CCu;
|
|
/* 02BCA440 */ cpu->r[11] = cpu->r[10] ^ 0x00000002u;
|
|
/* 02BCA444 */ _t31 = cpu->r[31] + 0x000000C8u;
|
|
/* 02BCA444 */ rbrew_write32(cpu->mem, _t31, cpu->r[4]);
|
|
/* 02BCA448 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 02BCA44C */ _t32 = cpu->r[31] + 0x000000C4u;
|
|
/* 02BCA44C */ rbrew_write32(cpu->mem, _t32, cpu->r[4]);
|
|
/* 02BCA450 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BCA454 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCA458 */ _t33 = cpu->r[31] + 0x000000A3u;
|
|
/* 02BCA458 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
/* 02BCA45C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BCA460 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCA464 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BCA468 */ cpu->r[3] = cpu->r[31] + 0x000000A4u;
|
|
/* 02BCA46C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_02BCA470: ; // 0x2bca470
|
|
/* 02BCA470 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCA474 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA478 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA478 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCA47C */ cpu->lr = cpu->r[0];
|
|
/* 02BCA480 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA480 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCA484 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA488 */ return;
|
|
}
|
|
|
|
// fn_02BCA48C @ 0x2bca48c
|
|
void Gambit_fn_02BCA48C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BCA48C: ; // 0x2bca48c
|
|
/* 02BCA48C */ cpu->r[0] = cpu->lr;
|
|
/* 02BCA490 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCA490 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA490 */ cpu->r[1] = _t0;
|
|
/* 02BCA494 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA494 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCA498 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA498 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCA49C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA49C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCA4A0 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BCA4A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA4A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCA4A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA4A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCA4A8 */ if (_t5) goto L_02BCA4C8; else goto L_02BCA4AC;
|
|
L_02BCA4AC: ; // 0x2bca4ac
|
|
/* 02BCA4AC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA4B0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCA4B4 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BCA4B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCA4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCA4BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA4BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCA4BC */ if (_t7) goto L_02BCA4C8; else goto L_02BCA4C0;
|
|
L_02BCA4C0: ; // 0x2bca4c0
|
|
/* 02BCA4C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA4C4 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BCA4C8: ; // 0x2bca4c8
|
|
/* 02BCA4C8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA4C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCA4CC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA4CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCA4D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA4D4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA4D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCA4D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA4DC */ return;
|
|
}
|
|
|
|
// fn_02BCA490 @ 0x2bca490
|
|
void Gambit_fn_02BCA490(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BCA490: ; // 0x2bca490
|
|
/* 02BCA490 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCA490 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA490 */ cpu->r[1] = _t0;
|
|
/* 02BCA494 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA494 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCA498 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA498 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCA49C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA49C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCA4A0 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BCA4A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA4A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCA4A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA4A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCA4A8 */ if (_t5) goto L_02BCA4C8; else goto L_02BCA4AC;
|
|
L_02BCA4AC: ; // 0x2bca4ac
|
|
/* 02BCA4AC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA4B0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCA4B4 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BCA4B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCA4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCA4BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA4BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCA4BC */ if (_t7) goto L_02BCA4C8; else goto L_02BCA4C0;
|
|
L_02BCA4C0: ; // 0x2bca4c0
|
|
/* 02BCA4C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA4C4 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BCA4C8: ; // 0x2bca4c8
|
|
/* 02BCA4C8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA4C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCA4CC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA4CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCA4D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA4D4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA4D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCA4D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA4DC */ return;
|
|
}
|
|
|
|
// fn_02BCA4E0 @ 0x2bca4e0
|
|
void Gambit_fn_02BCA4E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02BCA4E0: ; // 0x2bca4e0
|
|
/* 02BCA4E0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCA4E4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BCA4E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA4E4 */ cpu->r[1] = _t0;
|
|
/* 02BCA4E8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA4E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCA4EC */ cpu->r[11] = 0x00000000u;
|
|
/* 02BCA4F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA4F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02BCA4F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA4F8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA4F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02BCA4FC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA500 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA500 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BCA504 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BCA508 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA508 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCA50C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA50C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCA510 */ _t7 = cpu->r[31] + 0x00000058u;
|
|
/* 02BCA510 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02BCA514 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCA518 */ _t8 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BCA518 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02BCA51C */ _t9 = cpu->r[31] + 0x00000060u;
|
|
/* 02BCA51C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BCA520 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCA524 */ _t10 = cpu->r[31] + 0x00000064u;
|
|
/* 02BCA524 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BCA528 */ _t11 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCA528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCA52C */ _t12 = cpu->r[12] + 0x00000050u;
|
|
/* 02BCA52C */ cpu->r[12] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02BCA530 */ cpu->r[0] = 0x000000FFu;
|
|
/* 02BCA534 */ _t13 = cpu->r[31] + 0x00000068u;
|
|
/* 02BCA534 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCA538 */ _t14 = cpu->r[31] + 0x0000006Du;
|
|
/* 02BCA538 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 02BCA53C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BCA540 */ _t15 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BCA540 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[12]);
|
|
/* 02BCA544 */ _t16 = cpu->r[31] + 0x00000068u;
|
|
/* 02BCA544 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02BCA548 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BCA54C */ cpu->lr = cpu->r[0];
|
|
/* 02BCA550 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA550 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCA554 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA558 */ return;
|
|
}
|
|
|
|
// fn_02BCA4E4 @ 0x2bca4e4
|
|
void Gambit_fn_02BCA4E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02BCA4E4: ; // 0x2bca4e4
|
|
/* 02BCA4E4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BCA4E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA4E4 */ cpu->r[1] = _t0;
|
|
/* 02BCA4E8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA4E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCA4EC */ cpu->r[11] = 0x00000000u;
|
|
/* 02BCA4F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA4F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02BCA4F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA4F8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA4F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02BCA4FC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA500 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA500 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BCA504 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BCA508 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA508 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCA50C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA50C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCA510 */ _t7 = cpu->r[31] + 0x00000058u;
|
|
/* 02BCA510 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02BCA514 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCA518 */ _t8 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BCA518 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02BCA51C */ _t9 = cpu->r[31] + 0x00000060u;
|
|
/* 02BCA51C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BCA520 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCA524 */ _t10 = cpu->r[31] + 0x00000064u;
|
|
/* 02BCA524 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BCA528 */ _t11 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCA528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCA52C */ _t12 = cpu->r[12] + 0x00000050u;
|
|
/* 02BCA52C */ cpu->r[12] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02BCA530 */ cpu->r[0] = 0x000000FFu;
|
|
/* 02BCA534 */ _t13 = cpu->r[31] + 0x00000068u;
|
|
/* 02BCA534 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCA538 */ _t14 = cpu->r[31] + 0x0000006Du;
|
|
/* 02BCA538 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 02BCA53C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BCA540 */ _t15 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BCA540 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[12]);
|
|
/* 02BCA544 */ _t16 = cpu->r[31] + 0x00000068u;
|
|
/* 02BCA544 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02BCA548 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BCA54C */ cpu->lr = cpu->r[0];
|
|
/* 02BCA550 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA550 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCA554 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA558 */ return;
|
|
}
|
|
|
|
// fn_02BCA55C @ 0x2bca55c
|
|
void Gambit_fn_02BCA55C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
|
|
|
|
L_02BCA55C: ; // 0x2bca55c
|
|
/* 02BCA55C */ cpu->r[0] = cpu->lr;
|
|
/* 02BCA560 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCA560 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA560 */ cpu->r[1] = _t0;
|
|
/* 02BCA564 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA564 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BCA568 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA568 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BCA56C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA56C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BCA570 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA570 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BCA574 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA574 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BCA578 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BCA57C */ _t6 = cpu->r[29] + 0x0000006Eu;
|
|
/* 02BCA57C */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BCA580 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BCA584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BCA588 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BCA58C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA58C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCA58C */ if (_t8) goto L_02BCA590; else goto L_02BCA6DC;
|
|
L_02BCA590: ; // 0x2bca590
|
|
/* 02BCA590 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BCA594 */ _t9 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BCA594 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCA594 */ cpu->r[28] = _t9;
|
|
/* 02BCA598 */ _t10 = cpu->r[7] + 0x00000008u;
|
|
/* 02BCA598 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCA59C */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BCA5A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCA5A4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA5A4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BCA5A4 */ if (_t12) goto L_02BCA5A8; else goto L_02BCA6DC;
|
|
L_02BCA5A8: ; // 0x2bca5a8
|
|
/* 02BCA5A8 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA5A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCA5AC */ _t14 = cpu->r[9] + 0x00000018u;
|
|
/* 02BCA5AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCA5B0 */ _t15 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02BCA5B0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02BCA5B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BCA5B8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA5B8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BCA5B8 */ if (_t17) goto L_02BCA5BC; else goto L_02BCA6DC;
|
|
L_02BCA5BC: ; // 0x2bca5bc
|
|
/* 02BCA5BC */ _t18 = cpu->r[9] + 0x00000004u;
|
|
/* 02BCA5BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCA5C0 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BCA5C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCA5C8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA5C8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BCA5C8 */ if (_t20) goto L_02BCA660; else goto L_02BCA5CC;
|
|
L_02BCA5CC: ; // 0x2bca5cc
|
|
/* 02BCA5CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA5D0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCA5D4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCA5D8 */ cpu->r[10] = 0xFD230000u;
|
|
/* 02BCA5DC */ _t21 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA5DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCA5E0 */ cpu->r[10] = cpu->r[10] + 0xFFFF94E1u;
|
|
/* 02BCA5E4 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA5E4 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02BCA5E8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA5E8 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02BCA5EC */ _t24 = cpu->r[12] + 0x00000004u;
|
|
/* 02BCA5EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BCA5F0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA5F4 */ Gambit_fn_02BBB968(cpu);
|
|
/* 02BCA5F8 */ _t25 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA5F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCA5FC */ _t26 = cpu->r[9] + 0x00000004u;
|
|
/* 02BCA5FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCA600 */ _t27 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCA600 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BCA604 */ _t28 = cpu->r[7] + 0x00000014u;
|
|
/* 02BCA604 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BCA608 */ cpu->ctr = cpu->r[8];
|
|
/* 02BCA60C */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCA610 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA614 */ _t29 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA614 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BCA618 */ _t30 = cpu->r[9] + 0x00000010u;
|
|
/* 02BCA618 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCA61C */ Gambit_fn_02BD1194(cpu);
|
|
/* 02BCA620 */ _t31 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA620 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BCA624 */ _t32 = cpu->r[9] + 0x00000010u;
|
|
/* 02BCA624 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCA628 */ _t33 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCA628 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCA62C */ _t34 = cpu->r[10] + 0x00000014u;
|
|
/* 02BCA62C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCA630 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCA634 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCA638 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA63C */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA63C */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCA640 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA640 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCA644 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCA648 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA648 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BCA64C */ cpu->lr = cpu->r[0];
|
|
/* 02BCA650 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCA654 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA658 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCA65C */ return;
|
|
L_02BCA660: ; // 0x2bca660
|
|
/* 02BCA660 */ _t40 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA660 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BCA664 */ _t41 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BCA664 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCA668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x0000001Fu);
|
|
/* 02BCA66C */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCA66C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BCA66C */ if (_t43) goto L_02BCA6DC; else goto L_02BCA670;
|
|
L_02BCA670: ; // 0x2bca670
|
|
/* 02BCA670 */ cpu->r[3] = cpu->r[29] + 0x00000078u;
|
|
/* 02BCA674 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BCA678 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02BCA67C */ _t44 = cpu->r[29] + 0x00000018u;
|
|
/* 02BCA67C */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCA680 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BCA684 */ cpu->r[11] = 0x000000FDu;
|
|
/* 02BCA688 */ _t45 = cpu->r[29] + 0x00000099u;
|
|
/* 02BCA688 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[8]);
|
|
/* 02BCA68C */ _t46 = cpu->r[29] + 0x00000074u;
|
|
/* 02BCA68C */ rbrew_write32(cpu->mem, _t46, cpu->r[11]);
|
|
/* 02BCA690 */ _t47 = cpu->r[29] + 0x00000070u;
|
|
/* 02BCA690 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 02BCA694 */ _t48 = cpu->r[29] + 0x00000098u;
|
|
/* 02BCA694 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[8]);
|
|
/* 02BCA698 */ _t49 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BCA698 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]);
|
|
/* 02BCA69C */ _t50 = cpu->r[29] + 0x000000A1u;
|
|
/* 02BCA69C */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[8]);
|
|
/* 02BCA6A0 */ _t51 = cpu->r[29] + 0x000000A0u;
|
|
/* 02BCA6A0 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[8]);
|
|
/* 02BCA6A4 */ _t52 = cpu->r[9] + 0x00000014u;
|
|
/* 02BCA6A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BCA6A8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCA6AC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCA6B0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCA6B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA6B8 */ _t53 = cpu->r[29] + 0x00000018u;
|
|
/* 02BCA6B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BCA6BC */ _t54 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02BCA6BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BCA6C0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCA6C4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BCA6C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCA6CC */ cpu->r[4] = cpu->r[30];
|
|
/* 02BCA6D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA6D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCA6D8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA6D8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BCA6D8 */ if (_t56) goto L_02BCA6DC; else goto L_02BCA700;
|
|
L_02BCA6DC: ; // 0x2bca6dc
|
|
/* 02BCA6DC */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA6DC */ cpu->r[28] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BCA6E0 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA6E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BCA6E4 */ _t59 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA6E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BCA6E8 */ _t60 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA6E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BCA6EC */ cpu->lr = cpu->r[0];
|
|
/* 02BCA6F0 */ _t61 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA6F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BCA6F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA6F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCA6FC */ return;
|
|
L_02BCA700: ; // 0x2bca700
|
|
/* 02BCA700 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCA704 */ _t62 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BCA704 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCA708 */ _t63 = cpu->r[12] + 0x00000064u;
|
|
/* 02BCA708 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BCA70C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCA710 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA710 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BCA710 */ if (_t65) goto L_02BCA728; else goto L_02BCA714;
|
|
L_02BCA714: ; // 0x2bca714
|
|
/* 02BCA714 */ _t66 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA714 */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BCA718 */ _t67 = cpu->r[9] + 0x00000058u;
|
|
/* 02BCA718 */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BCA71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BCA720 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCA720 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BCA720 */ if (_t69) goto L_02BCA728; else goto L_02BCA724;
|
|
L_02BCA724: ; // 0x2bca724
|
|
/* 02BCA724 */ Gambit_fn_02BF9BC8(cpu);
|
|
L_02BCA728: ; // 0x2bca728
|
|
/* 02BCA728 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCA72C */ Gambit_fn_02BCA4E0(cpu);
|
|
/* 02BCA730 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCA734 */ _t70 = cpu->r[29] + 0x0000006Eu;
|
|
/* 02BCA734 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[0]);
|
|
/* 02BCA738 */ _t71 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA738 */ cpu->r[28] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BCA73C */ _t72 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA73C */ cpu->r[29] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BCA740 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BCA744 */ _t73 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BCA748 */ _t74 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA748 */ cpu->r[30] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BCA74C */ cpu->lr = cpu->r[0];
|
|
/* 02BCA750 */ _t75 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA750 */ cpu->r[31] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BCA754 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA758 */ return;
|
|
}
|
|
|
|
// fn_02BCA560 @ 0x2bca560
|
|
void Gambit_fn_02BCA560(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
|
|
|
|
L_02BCA560: ; // 0x2bca560
|
|
/* 02BCA560 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCA560 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA560 */ cpu->r[1] = _t0;
|
|
/* 02BCA564 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA564 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BCA568 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA568 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BCA56C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA56C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BCA570 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA570 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BCA574 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA574 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BCA578 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BCA57C */ _t6 = cpu->r[29] + 0x0000006Eu;
|
|
/* 02BCA57C */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BCA580 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BCA584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BCA588 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BCA58C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA58C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCA58C */ if (_t8) goto L_02BCA590; else goto L_02BCA6DC;
|
|
L_02BCA590: ; // 0x2bca590
|
|
/* 02BCA590 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BCA594 */ _t9 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BCA594 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCA594 */ cpu->r[28] = _t9;
|
|
/* 02BCA598 */ _t10 = cpu->r[7] + 0x00000008u;
|
|
/* 02BCA598 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCA59C */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BCA5A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCA5A4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA5A4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BCA5A4 */ if (_t12) goto L_02BCA5A8; else goto L_02BCA6DC;
|
|
L_02BCA5A8: ; // 0x2bca5a8
|
|
/* 02BCA5A8 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA5A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCA5AC */ _t14 = cpu->r[9] + 0x00000018u;
|
|
/* 02BCA5AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCA5B0 */ _t15 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02BCA5B0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02BCA5B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BCA5B8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA5B8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BCA5B8 */ if (_t17) goto L_02BCA5BC; else goto L_02BCA6DC;
|
|
L_02BCA5BC: ; // 0x2bca5bc
|
|
/* 02BCA5BC */ _t18 = cpu->r[9] + 0x00000004u;
|
|
/* 02BCA5BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCA5C0 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BCA5C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCA5C8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA5C8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BCA5C8 */ if (_t20) goto L_02BCA660; else goto L_02BCA5CC;
|
|
L_02BCA5CC: ; // 0x2bca5cc
|
|
/* 02BCA5CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA5D0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCA5D4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCA5D8 */ cpu->r[10] = 0xFD230000u;
|
|
/* 02BCA5DC */ _t21 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA5DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCA5E0 */ cpu->r[10] = cpu->r[10] + 0xFFFF94E1u;
|
|
/* 02BCA5E4 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA5E4 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02BCA5E8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA5E8 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02BCA5EC */ _t24 = cpu->r[12] + 0x00000004u;
|
|
/* 02BCA5EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BCA5F0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA5F4 */ Gambit_fn_02BBB968(cpu);
|
|
/* 02BCA5F8 */ _t25 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA5F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCA5FC */ _t26 = cpu->r[9] + 0x00000004u;
|
|
/* 02BCA5FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCA600 */ _t27 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCA600 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BCA604 */ _t28 = cpu->r[7] + 0x00000014u;
|
|
/* 02BCA604 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BCA608 */ cpu->ctr = cpu->r[8];
|
|
/* 02BCA60C */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCA610 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA614 */ _t29 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA614 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BCA618 */ _t30 = cpu->r[9] + 0x00000010u;
|
|
/* 02BCA618 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCA61C */ Gambit_fn_02BD1194(cpu);
|
|
/* 02BCA620 */ _t31 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA620 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BCA624 */ _t32 = cpu->r[9] + 0x00000010u;
|
|
/* 02BCA624 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCA628 */ _t33 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCA628 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCA62C */ _t34 = cpu->r[10] + 0x00000014u;
|
|
/* 02BCA62C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCA630 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCA634 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCA638 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA63C */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA63C */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCA640 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA640 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCA644 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCA648 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA648 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BCA64C */ cpu->lr = cpu->r[0];
|
|
/* 02BCA650 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCA654 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA658 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCA65C */ return;
|
|
L_02BCA660: ; // 0x2bca660
|
|
/* 02BCA660 */ _t40 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA660 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BCA664 */ _t41 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BCA664 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCA668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x0000001Fu);
|
|
/* 02BCA66C */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCA66C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BCA66C */ if (_t43) goto L_02BCA6DC; else goto L_02BCA670;
|
|
L_02BCA670: ; // 0x2bca670
|
|
/* 02BCA670 */ cpu->r[3] = cpu->r[29] + 0x00000078u;
|
|
/* 02BCA674 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BCA678 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02BCA67C */ _t44 = cpu->r[29] + 0x00000018u;
|
|
/* 02BCA67C */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCA680 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BCA684 */ cpu->r[11] = 0x000000FDu;
|
|
/* 02BCA688 */ _t45 = cpu->r[29] + 0x00000099u;
|
|
/* 02BCA688 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[8]);
|
|
/* 02BCA68C */ _t46 = cpu->r[29] + 0x00000074u;
|
|
/* 02BCA68C */ rbrew_write32(cpu->mem, _t46, cpu->r[11]);
|
|
/* 02BCA690 */ _t47 = cpu->r[29] + 0x00000070u;
|
|
/* 02BCA690 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 02BCA694 */ _t48 = cpu->r[29] + 0x00000098u;
|
|
/* 02BCA694 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[8]);
|
|
/* 02BCA698 */ _t49 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BCA698 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]);
|
|
/* 02BCA69C */ _t50 = cpu->r[29] + 0x000000A1u;
|
|
/* 02BCA69C */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[8]);
|
|
/* 02BCA6A0 */ _t51 = cpu->r[29] + 0x000000A0u;
|
|
/* 02BCA6A0 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[8]);
|
|
/* 02BCA6A4 */ _t52 = cpu->r[9] + 0x00000014u;
|
|
/* 02BCA6A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BCA6A8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCA6AC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCA6B0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCA6B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA6B8 */ _t53 = cpu->r[29] + 0x00000018u;
|
|
/* 02BCA6B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BCA6BC */ _t54 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02BCA6BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BCA6C0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCA6C4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BCA6C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCA6CC */ cpu->r[4] = cpu->r[30];
|
|
/* 02BCA6D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA6D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCA6D8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA6D8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BCA6D8 */ if (_t56) goto L_02BCA6DC; else goto L_02BCA700;
|
|
L_02BCA6DC: ; // 0x2bca6dc
|
|
/* 02BCA6DC */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA6DC */ cpu->r[28] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BCA6E0 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA6E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BCA6E4 */ _t59 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA6E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BCA6E8 */ _t60 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA6E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BCA6EC */ cpu->lr = cpu->r[0];
|
|
/* 02BCA6F0 */ _t61 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA6F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BCA6F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA6F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCA6FC */ return;
|
|
L_02BCA700: ; // 0x2bca700
|
|
/* 02BCA700 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCA704 */ _t62 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BCA704 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCA708 */ _t63 = cpu->r[12] + 0x00000064u;
|
|
/* 02BCA708 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BCA70C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCA710 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA710 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BCA710 */ if (_t65) goto L_02BCA728; else goto L_02BCA714;
|
|
L_02BCA714: ; // 0x2bca714
|
|
/* 02BCA714 */ _t66 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA714 */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BCA718 */ _t67 = cpu->r[9] + 0x00000058u;
|
|
/* 02BCA718 */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BCA71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BCA720 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCA720 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BCA720 */ if (_t69) goto L_02BCA728; else goto L_02BCA724;
|
|
L_02BCA724: ; // 0x2bca724
|
|
/* 02BCA724 */ Gambit_fn_02BF9BC8(cpu);
|
|
L_02BCA728: ; // 0x2bca728
|
|
/* 02BCA728 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCA72C */ Gambit_fn_02BCA4E0(cpu);
|
|
/* 02BCA730 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCA734 */ _t70 = cpu->r[29] + 0x0000006Eu;
|
|
/* 02BCA734 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[0]);
|
|
/* 02BCA738 */ _t71 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA738 */ cpu->r[28] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BCA73C */ _t72 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA73C */ cpu->r[29] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BCA740 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BCA744 */ _t73 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BCA748 */ _t74 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA748 */ cpu->r[30] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BCA74C */ cpu->lr = cpu->r[0];
|
|
/* 02BCA750 */ _t75 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA750 */ cpu->r[31] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BCA754 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA758 */ return;
|
|
}
|
|
|
|
// fn_02BCA75C @ 0x2bca75c
|
|
void Gambit_fn_02BCA75C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BCA75C: ; // 0x2bca75c
|
|
/* 02BCA75C */ cpu->r[0] = cpu->lr;
|
|
/* 02BCA760 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCA760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA760 */ cpu->r[1] = _t0;
|
|
/* 02BCA764 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA764 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCA768 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA76C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCA770 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA770 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCA774 */ _t3 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCA774 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCA778 */ _t4 = cpu->r[31] + 0x00000070u;
|
|
/* 02BCA778 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCA77C */ _t5 = cpu->r[12] + 0x00000048u;
|
|
/* 02BCA77C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCA780 */ Gambit_fn_02BC86B8(cpu);
|
|
/* 02BCA784 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCA784 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCA788 */ _t7 = cpu->r[10] + 0x00000084u;
|
|
/* 02BCA788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCA78C */ _t8 = cpu->r[31] + 0x00000070u;
|
|
/* 02BCA78C */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCA790 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCA794 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA798 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA79C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA79C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCA7A0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA7A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCA7A4 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA7A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA7AC */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCA7B0 */ return;
|
|
}
|
|
|
|
// fn_02BCA760 @ 0x2bca760
|
|
void Gambit_fn_02BCA760(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BCA760: ; // 0x2bca760
|
|
/* 02BCA760 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCA760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA760 */ cpu->r[1] = _t0;
|
|
/* 02BCA764 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA764 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCA768 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA76C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCA770 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA770 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCA774 */ _t3 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCA774 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCA778 */ _t4 = cpu->r[31] + 0x00000070u;
|
|
/* 02BCA778 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCA77C */ _t5 = cpu->r[12] + 0x00000048u;
|
|
/* 02BCA77C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCA780 */ Gambit_fn_02BC86B8(cpu);
|
|
/* 02BCA784 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCA784 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCA788 */ _t7 = cpu->r[10] + 0x00000084u;
|
|
/* 02BCA788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCA78C */ _t8 = cpu->r[31] + 0x00000070u;
|
|
/* 02BCA78C */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCA790 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCA794 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCA798 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCA79C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA79C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCA7A0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA7A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCA7A4 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA7A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA7AC */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCA7B0 */ return;
|
|
}
|
|
|
|
// fn_02BCA7B4 @ 0x2bca7b4
|
|
void Gambit_fn_02BCA7B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BCA7B4: ; // 0x2bca7b4
|
|
/* 02BCA7B4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCA7B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCA7B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA7B8 */ cpu->r[1] = _t0;
|
|
/* 02BCA7BC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA7BC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCA7C0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA7C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCA7C4 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02BCA7C8 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA7C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCA7CC */ _t4 = cpu->r[6] + 0xFFFFB770u;
|
|
/* 02BCA7CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCA7D0 */ _t5 = cpu->r[7] + 0x00000058u;
|
|
/* 02BCA7D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCA7D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA7D8 */ _t6 = cpu->r[31] + 0x00000070u;
|
|
/* 02BCA7D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 02BCA7DC */ _t7 = cpu->r[6] + 0xFFFFB770u;
|
|
/* 02BCA7DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCA7E0 */ _t8 = cpu->r[10] + 0x0000005Cu;
|
|
/* 02BCA7E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCA7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000001Fu);
|
|
/* 02BCA7E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCA7EC */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCA7EC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCA7EC */ if (_t10) goto L_02BCA7FC; else goto L_02BCA7F0;
|
|
L_02BCA7F0: ; // 0x2bca7f0
|
|
/* 02BCA7F0 */ _t11 = cpu->r[31] + 0x00000074u;
|
|
/* 02BCA7F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCA7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000001Fu);
|
|
/* 02BCA7F8 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCA7F8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BCA7F8 */ if (_t13) goto L_02BCA7FC; else goto L_02BCA818;
|
|
L_02BCA7FC: ; // 0x2bca7fc
|
|
/* 02BCA7FC */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA7FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCA800 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA800 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCA804 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA808 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCA80C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA810 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCA814 */ return;
|
|
L_02BCA818: ; // 0x2bca818
|
|
/* 02BCA818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02BCA81C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA81C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BCA81C */ if (_t18) goto L_02BCA820; else goto L_02BCA894;
|
|
L_02BCA820: ; // 0x2bca820
|
|
/* 02BCA820 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA820 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02BCA824 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA828 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA828 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02BCA82C */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BCA830 */ _t21 = cpu->r[31] + 0x00000048u;
|
|
/* 02BCA830 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCA834 */ cpu->r[30] = cpu->r[12] + 0xFFFFFE0Cu;
|
|
/* 02BCA838 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCA83C */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCA83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCA840 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[30]);
|
|
/* 02BCA844 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCA844 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCA848 */ /* nop */
|
|
/* 02BCA84C */ /* nop */
|
|
/* 02BCA850 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[8]);
|
|
/* 02BCA854 */ cpu->r[12] = cpu->r[9] + cpu->r[11];
|
|
/* 02BCA858 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA858 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BCA85C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[30]);
|
|
/* 02BCA860 */ cpu->r[9] = cpu->r[12] + cpu->r[0];
|
|
/* 02BCA864 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA864 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCA868 */ cpu->r[5] = cpu->r[7] + cpu->r[11];
|
|
/* 02BCA86C */ cpu->r[0] = cpu->r[6] + cpu->r[9];
|
|
/* 02BCA870 */ _t26 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCA870 */ rbrew_write32(cpu->mem, _t26, cpu->r[5]);
|
|
/* 02BCA874 */ _t27 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCA874 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02BCA878 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BCA87C */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA87C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BCA880 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA884 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA884 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCA888 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA88C */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCA890 */ return;
|
|
L_02BCA894: ; // 0x2bca894
|
|
/* 02BCA894 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA894 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02BCA898 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BCA89C */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA89C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02BCA8A0 */ cpu->r[9] = 0x000000FDu;
|
|
/* 02BCA8A4 */ _t33 = cpu->r[31] + 0x00000099u;
|
|
/* 02BCA8A4 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[8]);
|
|
/* 02BCA8A8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA8AC */ _t34 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BCA8AC */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02BCA8B0 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BCA8B4 */ _t35 = cpu->r[31] + 0x00000048u;
|
|
/* 02BCA8B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCA8B8 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCA8BC */ _t36 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCA8BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCA8C0 */ /* nop */
|
|
/* 02BCA8C4 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCA8C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCA8C8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[30]);
|
|
/* 02BCA8CC */ /* nop */
|
|
/* 02BCA8D0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[9]);
|
|
/* 02BCA8D4 */ cpu->r[12] = cpu->r[10] + cpu->r[11];
|
|
/* 02BCA8D8 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA8D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BCA8DC */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[30]);
|
|
/* 02BCA8E0 */ cpu->r[0] = cpu->r[12] + cpu->r[0];
|
|
/* 02BCA8E4 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA8E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCA8E8 */ cpu->r[10] = cpu->r[4] + cpu->r[7];
|
|
/* 02BCA8EC */ cpu->r[8] = cpu->r[3] + cpu->r[0];
|
|
/* 02BCA8F0 */ _t40 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCA8F0 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 02BCA8F4 */ _t41 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCA8F4 */ rbrew_write32(cpu->mem, _t41, cpu->r[8]);
|
|
/* 02BCA8F8 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BCA8FC */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA8FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BCA900 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA904 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA904 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCA908 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA90C */ cpu->r[3] = 0x00000002u;
|
|
/* 02BCA910 */ return;
|
|
}
|
|
|
|
// fn_02BCA7B8 @ 0x2bca7b8
|
|
void Gambit_fn_02BCA7B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BCA7B8: ; // 0x2bca7b8
|
|
/* 02BCA7B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCA7B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA7B8 */ cpu->r[1] = _t0;
|
|
/* 02BCA7BC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA7BC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCA7C0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA7C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCA7C4 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02BCA7C8 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA7C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCA7CC */ _t4 = cpu->r[6] + 0xFFFFB770u;
|
|
/* 02BCA7CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCA7D0 */ _t5 = cpu->r[7] + 0x00000058u;
|
|
/* 02BCA7D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCA7D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCA7D8 */ _t6 = cpu->r[31] + 0x00000070u;
|
|
/* 02BCA7D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 02BCA7DC */ _t7 = cpu->r[6] + 0xFFFFB770u;
|
|
/* 02BCA7DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCA7E0 */ _t8 = cpu->r[10] + 0x0000005Cu;
|
|
/* 02BCA7E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCA7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000001Fu);
|
|
/* 02BCA7E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCA7EC */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCA7EC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCA7EC */ if (_t10) goto L_02BCA7FC; else goto L_02BCA7F0;
|
|
L_02BCA7F0: ; // 0x2bca7f0
|
|
/* 02BCA7F0 */ _t11 = cpu->r[31] + 0x00000074u;
|
|
/* 02BCA7F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCA7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000001Fu);
|
|
/* 02BCA7F8 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCA7F8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BCA7F8 */ if (_t13) goto L_02BCA7FC; else goto L_02BCA818;
|
|
L_02BCA7FC: ; // 0x2bca7fc
|
|
/* 02BCA7FC */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA7FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCA800 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA800 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCA804 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA808 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCA80C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA810 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCA814 */ return;
|
|
L_02BCA818: ; // 0x2bca818
|
|
/* 02BCA818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02BCA81C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA81C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BCA81C */ if (_t18) goto L_02BCA820; else goto L_02BCA894;
|
|
L_02BCA820: ; // 0x2bca820
|
|
/* 02BCA820 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA820 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02BCA824 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA828 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA828 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02BCA82C */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BCA830 */ _t21 = cpu->r[31] + 0x00000048u;
|
|
/* 02BCA830 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCA834 */ cpu->r[30] = cpu->r[12] + 0xFFFFFE0Cu;
|
|
/* 02BCA838 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCA83C */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCA83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCA840 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[30]);
|
|
/* 02BCA844 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCA844 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCA848 */ /* nop */
|
|
/* 02BCA84C */ /* nop */
|
|
/* 02BCA850 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[8]);
|
|
/* 02BCA854 */ cpu->r[12] = cpu->r[9] + cpu->r[11];
|
|
/* 02BCA858 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCA858 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BCA85C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[30]);
|
|
/* 02BCA860 */ cpu->r[9] = cpu->r[12] + cpu->r[0];
|
|
/* 02BCA864 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCA864 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCA868 */ cpu->r[5] = cpu->r[7] + cpu->r[11];
|
|
/* 02BCA86C */ cpu->r[0] = cpu->r[6] + cpu->r[9];
|
|
/* 02BCA870 */ _t26 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCA870 */ rbrew_write32(cpu->mem, _t26, cpu->r[5]);
|
|
/* 02BCA874 */ _t27 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCA874 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02BCA878 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BCA87C */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA87C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BCA880 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA884 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA884 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCA888 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA88C */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCA890 */ return;
|
|
L_02BCA894: ; // 0x2bca894
|
|
/* 02BCA894 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA894 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02BCA898 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BCA89C */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA89C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02BCA8A0 */ cpu->r[9] = 0x000000FDu;
|
|
/* 02BCA8A4 */ _t33 = cpu->r[31] + 0x00000099u;
|
|
/* 02BCA8A4 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[8]);
|
|
/* 02BCA8A8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA8AC */ _t34 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BCA8AC */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02BCA8B0 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BCA8B4 */ _t35 = cpu->r[31] + 0x00000048u;
|
|
/* 02BCA8B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCA8B8 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCA8BC */ _t36 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCA8BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCA8C0 */ /* nop */
|
|
/* 02BCA8C4 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCA8C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCA8C8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[30]);
|
|
/* 02BCA8CC */ /* nop */
|
|
/* 02BCA8D0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[9]);
|
|
/* 02BCA8D4 */ cpu->r[12] = cpu->r[10] + cpu->r[11];
|
|
/* 02BCA8D8 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCA8D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BCA8DC */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[30]);
|
|
/* 02BCA8E0 */ cpu->r[0] = cpu->r[12] + cpu->r[0];
|
|
/* 02BCA8E4 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCA8E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCA8E8 */ cpu->r[10] = cpu->r[4] + cpu->r[7];
|
|
/* 02BCA8EC */ cpu->r[8] = cpu->r[3] + cpu->r[0];
|
|
/* 02BCA8F0 */ _t40 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCA8F0 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 02BCA8F4 */ _t41 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCA8F4 */ rbrew_write32(cpu->mem, _t41, cpu->r[8]);
|
|
/* 02BCA8F8 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BCA8FC */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCA8FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BCA900 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA904 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCA904 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCA908 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA90C */ cpu->r[3] = 0x00000002u;
|
|
/* 02BCA910 */ return;
|
|
}
|
|
|
|
// fn_02BCA914 @ 0x2bca914
|
|
void Gambit_fn_02BCA914(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_02BCA914: ; // 0x2bca914
|
|
/* 02BCA914 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCA914 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCA914 */ cpu->r[1] = _t0;
|
|
/* 02BCA918 */ /* nop */
|
|
/* 02BCA91C */ cpu->r[0] = cpu->lr;
|
|
/* 02BCA920 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA920 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCA924 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BCA928 */ _t2 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BCA928 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BCA928 */ cpu->r[29] = _t2;
|
|
/* 02BCA92C */ Gambit_fn_02BC49B4(cpu);
|
|
/* 02BCA930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02BCA934 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA934 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BCA934 */ if (_t4) goto L_02BCA938; else goto L_02BCA940;
|
|
L_02BCA938: ; // 0x2bca938
|
|
/* 02BCA938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 02BCA93C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA93C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCA93C */ if (_t6) goto L_02BCA988; else goto L_02BCA940;
|
|
L_02BCA940: ; // 0x2bca940
|
|
/* 02BCA940 */ _t7 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCA940 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCA944 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCA948 */ _t8 = cpu->r[7] + 0x00000054u;
|
|
/* 02BCA948 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 02BCA94C */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCA94C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCA950 */ _t10 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BCA950 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCA954 */ Gambit_fn_02BCC6BC(cpu);
|
|
/* 02BCA958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCA95C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA95C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BCA95C */ if (_t12) goto L_02BCA988; else goto L_02BCA960;
|
|
L_02BCA960: ; // 0x2bca960
|
|
/* 02BCA960 */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCA960 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCA964 */ _t14 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BCA964 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCA968 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCA96C */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BCA970 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCA970 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCA974 */ _t16 = cpu->r[12] + 0x00000010u;
|
|
/* 02BCA974 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCA978 */ _t17 = cpu->r[3] + 0x000000BCu;
|
|
/* 02BCA978 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02BCA97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCA980 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA980 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BCA980 */ if (_t19) goto L_02BCA9C0; else goto L_02BCA984;
|
|
L_02BCA984: ; // 0x2bca984
|
|
/* 02BCA984 */ goto L_02BCA9A0;
|
|
L_02BCA988: ; // 0x2bca988
|
|
/* 02BCA988 */ /* nop */
|
|
/* 02BCA98C */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCA98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BCA990 */ cpu->lr = cpu->r[0];
|
|
/* 02BCA994 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCA998 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCA99C */ return;
|
|
L_02BCA9A0: ; // 0x2bca9a0
|
|
/* 02BCA9A0 */ Gambit_fn_02BD1194(cpu);
|
|
/* 02BCA9A4 */ _t21 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCA9A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCA9A8 */ _t22 = cpu->r[5] + 0x00000010u;
|
|
/* 02BCA9A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCA9AC */ _t23 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCA9AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCA9B0 */ _t24 = cpu->r[6] + 0x00000014u;
|
|
/* 02BCA9B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BCA9B4 */ cpu->ctr = cpu->r[7];
|
|
/* 02BCA9B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCA9BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BCA9C0: ; // 0x2bca9c0
|
|
/* 02BCA9C0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BCA9C4 */ _t25 = cpu->r[31] + 0xFFFFB77Cu;
|
|
/* 02BCA9C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCA9C8 */ _t26 = cpu->r[31] + 0x00000034u;
|
|
/* 02BCA9C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCA9CC */ cpu->r[27] = cpu->r[31] + 0x00000038u;
|
|
/* 02BCA9D0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCA9D4 */ cpu->r[28] = cpu->r[27];
|
|
/* 02BCA9D8 */ cpu->r[10] = cpu->r[27] + cpu->r[8];
|
|
/* 02BCA9DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[10]);
|
|
/* 02BCA9E0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA9E0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BCA9E0 */ if (_t28) goto L_02BCAA6C; else goto L_02BCA9E4;
|
|
L_02BCA9E4: ; // 0x2bca9e4
|
|
/* 02BCA9E4 */ cpu->r[30] = 0x00000006u;
|
|
L_02BCA9E8: ; // 0x2bca9e8
|
|
/* 02BCA9E8 */ _t29 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCA9E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BCA9EC */ _t30 = cpu->r[31] + 0x00000144u;
|
|
/* 02BCA9EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCA9F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BCA9F4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCA9F4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BCA9F4 */ if (_t32) goto L_02BCAA04; else goto L_02BCA9F8;
|
|
L_02BCA9F8: ; // 0x2bca9f8
|
|
/* 02BCA9F8 */ _t33 = cpu->r[11] + 0x00000024u;
|
|
/* 02BCA9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCA9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BCAA00 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAA00 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BCAA00 */ if (_t35) goto L_02BCAA04; else goto L_02BCAA50;
|
|
L_02BCAA04: ; // 0x2bcaa04
|
|
/* 02BCAA04 */ _t36 = cpu->r[11] + 0x00000018u;
|
|
/* 02BCAA04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCAA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BCAA0C */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCAA0C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BCAA0C */ if (_t38) goto L_02BCAA10; else goto L_02BCAA50;
|
|
L_02BCAA10: ; // 0x2bcaa10
|
|
/* 02BCAA10 */ _t39 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCAA10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCAA14 */ _t40 = cpu->r[11] + 0x00000018u;
|
|
/* 02BCAA14 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BCAA18 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BCAA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCAA20 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAA20 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BCAA20 */ if (_t42) goto L_02BCAA24; else goto L_02BCAA54;
|
|
L_02BCAA24: ; // 0x2bcaa24
|
|
/* 02BCAA24 */ _t43 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCAA24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BCAA28 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCAA28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCAA2C */ _t45 = cpu->r[9] + 0x00000018u;
|
|
/* 02BCAA2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BCAA30 */ Gambit_fn_02BC4FC0(cpu);
|
|
/* 02BCAA34 */ _t46 = cpu->r[31] + 0x00000034u;
|
|
/* 02BCAA34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BCAA38 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCAA3C */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 02BCAA40 */ cpu->r[5] = cpu->r[27] + cpu->r[12];
|
|
/* 02BCAA44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[5]);
|
|
/* 02BCAA48 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAA48 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BCAA48 */ if (_t48) goto L_02BCAA4C; else goto L_02BCA9E8;
|
|
L_02BCAA4C: ; // 0x2bcaa4c
|
|
/* 02BCAA4C */ goto L_02BCAA6C;
|
|
L_02BCAA50: ; // 0x2bcaa50
|
|
/* 02BCAA50 */ _t49 = cpu->r[11] + 0x00000024u;
|
|
/* 02BCAA50 */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
|
|
L_02BCAA54: ; // 0x2bcaa54
|
|
/* 02BCAA54 */ _t50 = cpu->r[31] + 0x00000034u;
|
|
/* 02BCAA54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BCAA58 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCAA5C */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 02BCAA60 */ cpu->r[5] = cpu->r[27] + cpu->r[12];
|
|
/* 02BCAA64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[5]);
|
|
/* 02BCAA68 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAA68 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BCAA68 */ if (_t52) goto L_02BCAA6C; else goto L_02BCA9E8;
|
|
L_02BCAA6C: ; // 0x2bcaa6c
|
|
/* 02BCAA6C */ _t53 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCAA6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BCAA70 */ _t54 = cpu->r[6] + 0x00000028u;
|
|
/* 02BCAA70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BCAA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCAA78 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAA78 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BCAA78 */ if (_t56) goto L_02BCAA80; else goto L_02BCAA7C;
|
|
L_02BCAA7C: ; // 0x2bcaa7c
|
|
/* 02BCAA7C */ Gambit_fn_02BD1DB0(cpu);
|
|
L_02BCAA80: ; // 0x2bcaa80
|
|
/* 02BCAA80 */ /* nop */
|
|
/* 02BCAA84 */ _t57 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCAA84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BCAA88 */ cpu->lr = cpu->r[0];
|
|
/* 02BCAA8C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCAA90 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCAA94 */ return;
|
|
}
|
|
|
|
// fn_02BCAA98 @ 0x2bcaa98
|
|
void Gambit_fn_02BCAA98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BCAA98: ; // 0x2bcaa98
|
|
/* 02BCAA98 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCAA9C */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02BCAA9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCAA9C */ cpu->r[1] = _t0;
|
|
/* 02BCAAA0 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02BCAAA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCAAA4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCAAA8 */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 02BCAAA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCAAAC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BCAAB0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCAAB4 */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCAAB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCAAB8 */ _t4 = cpu->r[31] + 0xFFFFB790u;
|
|
/* 02BCAAB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCAABC */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BCAAC0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BCAAC4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCAAC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCAACC */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BCAAD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCAAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCAAD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAAD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCAAD4 */ if (_t6) goto L_02BCAB00; else goto L_02BCAAD8;
|
|
L_02BCAAD8: ; // 0x2bcaad8
|
|
/* 02BCAAD8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCAADC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCAAE0 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BCAAE4 */ _t7 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCAAE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCAAE8 */ _t8 = cpu->r[1] + 0x00000070u;
|
|
/* 02BCAAE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCAAEC */ cpu->lr = cpu->r[0];
|
|
/* 02BCAAF0 */ _t9 = cpu->r[1] + 0x00000074u;
|
|
/* 02BCAAF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCAAF4 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BCAAF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCAAFC */ return;
|
|
L_02BCAB00: ; // 0x2bcab00
|
|
/* 02BCAB00 */ cpu->r[3] = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BCAB04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCAB08 */ Gambit_fn_02BECBBC(cpu);
|
|
/* 02BCAB0C */ cpu->r[3] = cpu->r[31] + 0x000000D4u;
|
|
/* 02BCAB10 */ cpu->r[4] = cpu->r[30] + 0x00000004u;
|
|
/* 02BCAB14 */ Gambit_fn_02B6AA7C(cpu);
|
|
/* 02BCAB18 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCAB1C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCAB20 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BCAB24 */ _t10 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCAB24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCAB28 */ _t11 = cpu->r[1] + 0x00000070u;
|
|
/* 02BCAB28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCAB2C */ cpu->lr = cpu->r[0];
|
|
/* 02BCAB30 */ _t12 = cpu->r[1] + 0x00000074u;
|
|
/* 02BCAB30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCAB34 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BCAB38 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCAB3C */ return;
|
|
}
|
|
|
|
// fn_02BCAA9C @ 0x2bcaa9c
|
|
void Gambit_fn_02BCAA9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BCAA9C: ; // 0x2bcaa9c
|
|
/* 02BCAA9C */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02BCAA9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCAA9C */ cpu->r[1] = _t0;
|
|
/* 02BCAAA0 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02BCAAA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCAAA4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCAAA8 */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 02BCAAA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCAAAC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BCAAB0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCAAB4 */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCAAB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCAAB8 */ _t4 = cpu->r[31] + 0xFFFFB790u;
|
|
/* 02BCAAB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCAABC */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BCAAC0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BCAAC4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCAAC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCAACC */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BCAAD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCAAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCAAD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAAD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCAAD4 */ if (_t6) goto L_02BCAB00; else goto L_02BCAAD8;
|
|
L_02BCAAD8: ; // 0x2bcaad8
|
|
/* 02BCAAD8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCAADC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCAAE0 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BCAAE4 */ _t7 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCAAE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCAAE8 */ _t8 = cpu->r[1] + 0x00000070u;
|
|
/* 02BCAAE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCAAEC */ cpu->lr = cpu->r[0];
|
|
/* 02BCAAF0 */ _t9 = cpu->r[1] + 0x00000074u;
|
|
/* 02BCAAF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCAAF4 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BCAAF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCAAFC */ return;
|
|
L_02BCAB00: ; // 0x2bcab00
|
|
/* 02BCAB00 */ cpu->r[3] = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BCAB04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCAB08 */ Gambit_fn_02BECBBC(cpu);
|
|
/* 02BCAB0C */ cpu->r[3] = cpu->r[31] + 0x000000D4u;
|
|
/* 02BCAB10 */ cpu->r[4] = cpu->r[30] + 0x00000004u;
|
|
/* 02BCAB14 */ Gambit_fn_02B6AA7C(cpu);
|
|
/* 02BCAB18 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCAB1C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCAB20 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BCAB24 */ _t10 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCAB24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCAB28 */ _t11 = cpu->r[1] + 0x00000070u;
|
|
/* 02BCAB28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCAB2C */ cpu->lr = cpu->r[0];
|
|
/* 02BCAB30 */ _t12 = cpu->r[1] + 0x00000074u;
|
|
/* 02BCAB30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCAB34 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BCAB38 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCAB3C */ return;
|
|
}
|
|
|
|
// fn_02BCAB40 @ 0x2bcab40
|
|
void Gambit_fn_02BCAB40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BCAB40: ; // 0x2bcab40
|
|
/* 02BCAB40 */ _t0 = cpu->r[1] + 0xFFFFFF30u;
|
|
/* 02BCAB40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCAB40 */ cpu->r[1] = _t0;
|
|
/* 02BCAB44 */ /* nop */
|
|
/* 02BCAB48 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCAB4C */ _t1 = cpu->r[1] + 0x000000D4u;
|
|
/* 02BCAB4C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCAB50 */ cpu->r[24] = 0x101D0000u;
|
|
/* 02BCAB54 */ _t2 = cpu->r[24] + 0xFFFFB77Cu;
|
|
/* 02BCAB54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BCAB54 */ cpu->r[24] = _t2;
|
|
/* 02BCAB58 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BCAB5C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BCAB60 */ _t3 = cpu->r[5] + 0x00000144u;
|
|
/* 02BCAB60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCAB64 */ _t4 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BCAB64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCAB64 */ cpu->r[31] = _t4;
|
|
/* 02BCAB68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCAB6C */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BCAB6C */ cpu->r[26] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCAB70 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAB70 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCAB70 */ if (_t7) goto L_02BCABA0; else goto L_02BCAB74;
|
|
L_02BCAB74: ; // 0x2bcab74
|
|
/* 02BCAB74 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCAB78 */ Gambit_fn_02BCAA98(cpu);
|
|
/* 02BCAB7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCAB80 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAB80 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BCAB80 */ if (_t9) goto L_02BCAB84; else goto L_02BCABF0;
|
|
L_02BCAB84: ; // 0x2bcab84
|
|
/* 02BCAB84 */ _t10 = cpu->r[30] + 0x00000068u;
|
|
/* 02BCAB84 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCAB88 */ _t11 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BCAB88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCAB8C */ cpu->ctr = cpu->r[0];
|
|
/* 02BCAB90 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCAB94 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCAB98 */ cpu->r[5] = 0x00000004u;
|
|
/* 02BCAB9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BCABA0: ; // 0x2bcaba0
|
|
/* 02BCABA0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BCABA4 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BCABA8 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCABA8 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[5]);
|
|
/* 02BCABAC */ cpu->r[0] = 0x02BD0000u;
|
|
/* 02BCABB0 */ _t13 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BCABB0 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[12]);
|
|
/* 02BCABB4 */ cpu->r[0] = cpu->r[0] + 0xFFFFB828u;
|
|
/* 02BCABB8 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCABB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCABBC */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BCABC0 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCABC0 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BCABC4 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCABC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCABC8 */ cpu->r[10] = cpu->r[10] + 0x000039C0u;
|
|
/* 02BCABCC */ _t17 = cpu->r[29] + 0x00000020u;
|
|
/* 02BCABCC */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 02BCABD0 */ _t18 = cpu->r[29] + 0x00000028u;
|
|
/* 02BCABD0 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 02BCABD4 */ _t19 = cpu->r[29] + 0x00000024u;
|
|
/* 02BCABD4 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 02BCABD8 */ /* nop */
|
|
/* 02BCABDC */ _t20 = cpu->r[1] + 0x000000D4u;
|
|
/* 02BCABDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BCABE0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCABE4 */ cpu->r[1] = cpu->r[1] + 0x000000D0u;
|
|
/* 02BCABE8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCABEC */ return;
|
|
L_02BCABF0: ; // 0x2bcabf0
|
|
/* 02BCABF0 */ _t21 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCABF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCABF4 */ _t22 = cpu->r[29] + 0x00000070u;
|
|
/* 02BCABF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCABF8 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCABFC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCABFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCAC00 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAC00 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BCAC00 */ if (_t24) goto L_02BCAC5C; else goto L_02BCAC04;
|
|
L_02BCAC04: ; // 0x2bcac04
|
|
/* 02BCAC04 */ _t25 = cpu->r[31] + 0x00000000u;
|
|
/* 02BCAC04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCAC08 */ _t26 = cpu->r[29] + 0x00000070u;
|
|
/* 02BCAC08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCAC0C */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BCAC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCAC14 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAC14 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BCAC14 */ if (_t28) goto L_02BCAC54; else goto L_02BCAC18;
|
|
L_02BCAC18: ; // 0x2bcac18
|
|
/* 02BCAC18 */ _t29 = cpu->r[29] + 0x00000018u;
|
|
/* 02BCAC18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BCAC1C */ _t30 = cpu->r[7] + 0x00000084u;
|
|
/* 02BCAC1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCAC20 */ cpu->ctr = cpu->r[8];
|
|
/* 02BCAC24 */ _t31 = cpu->r[29] + 0x00000070u;
|
|
/* 02BCAC24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BCAC28 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCAC2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCAC30 */ _t32 = cpu->r[31] + 0x00000000u;
|
|
/* 02BCAC30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCAC34 */ cpu->r[5] = cpu->r[26];
|
|
/* 02BCAC38 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCAC3C */ Gambit_fn_02BC2B24(cpu);
|
|
/* 02BCAC40 */ cpu->r[12] = 0x00000008u;
|
|
/* 02BCAC44 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BCAC48 */ cpu->r[11] = cpu->r[1] + 0x00000024u;
|
|
/* 02BCAC4C */ cpu->ctr = cpu->r[12];
|
|
/* 02BCAC50 */ goto L_02BCAC7C;
|
|
L_02BCAC54: ; // 0x2bcac54
|
|
/* 02BCAC54 */ cpu->r[9] = 0x00000006u;
|
|
/* 02BCAC58 */ _t33 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCAC58 */ rbrew_write32(cpu->mem, _t33, cpu->r[9]);
|
|
L_02BCAC5C: ; // 0x2bcac5c
|
|
/* 02BCAC5C */ _t34 = cpu->r[31] + 0x00000000u;
|
|
/* 02BCAC5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCAC60 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCAC64 */ cpu->r[5] = cpu->r[26];
|
|
/* 02BCAC68 */ Gambit_fn_02BC2B24(cpu);
|
|
/* 02BCAC6C */ cpu->r[12] = 0x00000008u;
|
|
/* 02BCAC70 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BCAC74 */ cpu->ctr = cpu->r[12];
|
|
/* 02BCAC78 */ cpu->r[11] = cpu->r[1] + 0x00000024u;
|
|
L_02BCAC7C: ; // 0x2bcac7c
|
|
/* 02BCAC7C */ _t35 = cpu->r[11] + 0x00000004u;
|
|
/* 02BCAC7C */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
|
|
/* 02BCAC80 */ _t36 = cpu->r[11] + 0x00000008u;
|
|
/* 02BCAC80 */ rbrew_write32(cpu->mem, _t36, cpu->r[10]);
|
|
/* 02BCAC84 */ _t37 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BCAC84 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 02BCAC88 */ _t38 = cpu->r[11] + 0x00000010u;
|
|
/* 02BCAC88 */ rbrew_write32(cpu->mem, _t38, cpu->r[10]);
|
|
/* 02BCAC88 */ cpu->r[11] = _t38;
|
|
/* 02BCAC8C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCAC8C */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCAC8C */ _t40 = _t39 >> (0x00000002u & 31u);
|
|
/* 02BCAC8C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BCAC8C */ if (_t41) goto L_02BCAC7C; else goto L_02BCAC90;
|
|
L_02BCAC90: ; // 0x2bcac90
|
|
/* 02BCAC90 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BCAC94 */ cpu->r[28] = cpu->r[1] + 0x00000028u;
|
|
/* 02BCAC98 */ cpu->r[27] = 0x00000020u;
|
|
/* 02BCAC9C */ cpu->r[25] = cpu->r[30];
|
|
/* 02BCACA0 */ cpu->r[23] = cpu->r[29] + 0x00000078u;
|
|
L_02BCACA4: ; // 0x2bcaca4
|
|
/* 02BCACA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[26]);
|
|
/* 02BCACA8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCACA8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BCACA8 */ if (_t43) goto L_02BCAD14; else goto L_02BCACAC;
|
|
L_02BCACAC: ; // 0x2bcacac
|
|
/* 02BCACAC */ _t44 = cpu->r[31] + 0x00000000u;
|
|
/* 02BCACAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCACB0 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BCACB4 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BCACB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCACBC */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCACBC */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BCACBC */ if (_t46) goto L_02BCAD14; else goto L_02BCACC0;
|
|
L_02BCACC0: ; // 0x2bcacc0
|
|
/* 02BCACC0 */ _t47 = cpu->r[31] + 0x00000000u;
|
|
/* 02BCACC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BCACC4 */ _t48 = cpu->r[6] + 0x00000048u;
|
|
/* 02BCACC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BCACC8 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BCACCC */ Gambit_fn_02BC8240(cpu);
|
|
/* 02BCACD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCACD4 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCACD4 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BCACD4 */ if (_t50) goto L_02BCACF0; else goto L_02BCACD8;
|
|
L_02BCACD8: ; // 0x2bcacd8
|
|
/* 02BCACD8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCACDC */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02BCACDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BCACE0 */ _t51 = cpu->r[23] + cpu->r[25];
|
|
/* 02BCACE0 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 02BCACE4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02BCACE8 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCACE8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BCACE8 */ if (_t53) goto L_02BCACEC; else goto L_02BCACA4;
|
|
L_02BCACEC: ; // 0x2bcacec
|
|
/* 02BCACEC */ goto L_02BCAD28;
|
|
L_02BCACF0: ; // 0x2bcacf0
|
|
/* 02BCACF0 */ _t54 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCACF0 */ rbrew_write32(cpu->mem, _t54, cpu->r[25]);
|
|
/* 02BCACF4 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 02BCACF8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCACFC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02BCAD00 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02BCAD00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BCAD04 */ _t55 = cpu->r[23] + cpu->r[25];
|
|
/* 02BCAD04 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]);
|
|
/* 02BCAD08 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02BCAD0C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAD0C */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BCAD0C */ if (_t57) goto L_02BCAD10; else goto L_02BCACA4;
|
|
L_02BCAD10: ; // 0x2bcad10
|
|
/* 02BCAD10 */ goto L_02BCAD28;
|
|
L_02BCAD14: ; // 0x2bcad14
|
|
/* 02BCAD14 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCAD18 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02BCAD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BCAD1C */ _t58 = cpu->r[23] + cpu->r[25];
|
|
/* 02BCAD1C */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[0]);
|
|
/* 02BCAD20 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02BCAD24 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAD24 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BCAD24 */ if (_t60) goto L_02BCAD28; else goto L_02BCACA4;
|
|
L_02BCAD28: ; // 0x2bcad28
|
|
/* 02BCAD28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCAD2C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCAD2C */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BCAD2C */ if (_t62) goto L_02BCAD30; else goto L_02BCADCC;
|
|
L_02BCAD30: ; // 0x2bcad30
|
|
/* 02BCAD30 */ cpu->r[25] = cpu->r[1] + 0x00000024u;
|
|
/* 02BCAD34 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BCAD38 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BCAD3C */ cpu->r[26] = 0x101D0000u;
|
|
L_02BCAD40: ; // 0x2bcad40
|
|
/* 02BCAD40 */ _t63 = cpu->r[31] + 0x00000000u;
|
|
/* 02BCAD40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BCAD44 */ _t64 = cpu->r[25] + 0x00000004u;
|
|
/* 02BCAD44 */ cpu->r[4] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BCAD44 */ cpu->r[25] = _t64;
|
|
/* 02BCAD48 */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BCAD4C */ _t65 = cpu->r[31] + 0x00000000u;
|
|
/* 02BCAD4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BCAD50 */ _t66 = cpu->r[11] + 0x00000050u;
|
|
/* 02BCAD50 */ cpu->r[7] = rbrew_read16(cpu->mem, _t66);
|
|
/* 02BCAD54 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02BCAD58 */ _t67 = cpu->r[11] + 0x00000050u;
|
|
/* 02BCAD58 */ rbrew_write16(cpu->mem, _t67, (uint16_t)cpu->r[7]);
|
|
/* 02BCAD5C */ _t68 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCAD5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BCAD60 */ _t69 = cpu->r[25] + 0x00000000u;
|
|
/* 02BCAD60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BCAD64 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCAD68 */ cpu->r[23] = cpu->r[3];
|
|
/* 02BCAD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02BCAD6C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAD6C */ _t71 = _t70 & 0x00000001u;
|
|
/* 02BCAD6C */ if (_t71) goto L_02BCADC4; else goto L_02BCAD70;
|
|
L_02BCAD70: ; // 0x2bcad70
|
|
/* 02BCAD70 */ _t72 = cpu->r[23] + 0x00000034u;
|
|
/* 02BCAD70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BCAD74 */ _t73 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCAD74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BCAD78 */ _t74 = cpu->r[8] + 0x00000034u;
|
|
/* 02BCAD78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BCAD7C */ cpu->ctr = cpu->r[0];
|
|
/* 02BCAD80 */ cpu->r[4] = cpu->r[23];
|
|
/* 02BCAD84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCAD88 */ _t75 = cpu->r[28] + 0xFFFFB790u;
|
|
/* 02BCAD88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BCAD8C */ cpu->r[4] = cpu->r[23];
|
|
/* 02BCAD90 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BCAD94 */ _t76 = cpu->r[27] + 0xFFFFB798u;
|
|
/* 02BCAD94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BCAD98 */ cpu->r[4] = cpu->r[23];
|
|
/* 02BCAD9C */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BCADA0 */ cpu->r[3] = cpu->r[23];
|
|
/* 02BCADA4 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BCADA8 */ cpu->r[3] = cpu->r[23];
|
|
/* 02BCADAC */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BCADB0 */ _t77 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCADB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BCADB4 */ cpu->r[4] = cpu->r[23];
|
|
/* 02BCADB8 */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BCADBC */ _t78 = cpu->r[26] + 0xFFFFB778u;
|
|
/* 02BCADBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BCADC0 */ Gambit_fn_02BEDC48(cpu);
|
|
L_02BCADC4: ; // 0x2bcadc4
|
|
/* 02BCADC4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BCADC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCADC8 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCADC8 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BCADC8 */ if (_t80) goto L_02BCADCC; else goto L_02BCAD40;
|
|
L_02BCADCC: ; // 0x2bcadcc
|
|
/* 02BCADCC */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCADD0 */ _t81 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCADD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BCADD4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCADD8 */ _t82 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCADD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BCADDC */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x000001F4u);
|
|
/* 02BCADE0 */ _t83 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BCADE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BCADE4 */ cpu->r[0] = 0x000001F4u;
|
|
/* 02BCADE8 */ /* nop */
|
|
/* 02BCADEC */ _t84 = cpu->r[12] + 0x00000034u;
|
|
/* 02BCADEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BCADF0 */ cpu->r[7] = 0x02BD0000u;
|
|
/* 02BCADF4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x000001F4u);
|
|
/* 02BCADF8 */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BCADFC */ cpu->r[8] = cpu->r[11] + cpu->r[6];
|
|
/* 02BCAE00 */ _t85 = cpu->r[12] + 0x00000030u;
|
|
/* 02BCAE00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BCAE04 */ cpu->r[7] = cpu->r[7] + 0xFFFFAE6Cu;
|
|
/* 02BCAE08 */ cpu->r[6] = cpu->r[5] + cpu->r[0];
|
|
/* 02BCAE0C */ cpu->r[5] = cpu->r[9] + cpu->r[8];
|
|
/* 02BCAE10 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCAE14 */ _t86 = cpu->r[29] + 0x00000054u;
|
|
/* 02BCAE14 */ rbrew_write32(cpu->mem, _t86, cpu->r[6]);
|
|
/* 02BCAE18 */ _t87 = cpu->r[29] + 0x00000098u;
|
|
/* 02BCAE18 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[0]);
|
|
/* 02BCAE1C */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BCAE20 */ _t88 = cpu->r[29] + 0x00000050u;
|
|
/* 02BCAE20 */ rbrew_write32(cpu->mem, _t88, cpu->r[5]);
|
|
/* 02BCAE24 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCAE28 */ _t89 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCAE28 */ rbrew_write16(cpu->mem, _t89, (uint16_t)cpu->r[9]);
|
|
/* 02BCAE2C */ _t90 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCAE2C */ rbrew_write16(cpu->mem, _t90, (uint16_t)cpu->r[0]);
|
|
/* 02BCAE30 */ _t91 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCAE30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BCAE34 */ cpu->r[6] = 0x00000005u;
|
|
/* 02BCAE38 */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCAE38 */ rbrew_write32(cpu->mem, _t92, cpu->r[7]);
|
|
/* 02BCAE3C */ _t93 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCAE3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BCAE40 */ _t94 = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCAE40 */ _t95 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BCAE40 */ cpu->r[31] = _t95 | _t94;
|
|
/* 02BCAE44 */ _t96 = cpu->r[29] + 0x00000020u;
|
|
/* 02BCAE44 */ rbrew_write32(cpu->mem, _t96, cpu->r[5]);
|
|
/* 02BCAE48 */ cpu->r[10] = cpu->r[10] + 0x000039F0u;
|
|
/* 02BCAE4C */ _t97 = cpu->r[29] + 0x00000024u;
|
|
/* 02BCAE4C */ rbrew_write32(cpu->mem, _t97, cpu->r[9]);
|
|
/* 02BCAE50 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCAE54 */ _t98 = cpu->r[29] + 0x00000028u;
|
|
/* 02BCAE54 */ rbrew_write32(cpu->mem, _t98, cpu->r[10]);
|
|
/* 02BCAE58 */ /* nop */
|
|
/* 02BCAE5C */ _t99 = cpu->r[1] + 0x000000D4u;
|
|
/* 02BCAE5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BCAE60 */ cpu->lr = cpu->r[0];
|
|
/* 02BCAE64 */ cpu->r[1] = cpu->r[1] + 0x000000D0u;
|
|
/* 02BCAE68 */ return;
|
|
}
|
|
|
|
// fn_02BCAE70 @ 0x2bcae70
|
|
void Gambit_fn_02BCAE70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BCAE70: ; // 0x2bcae70
|
|
/* 02BCAE70 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BCAE70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCAE70 */ cpu->r[1] = _t0;
|
|
/* 02BCAE74 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCAE74 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCAE78 */ cpu->r[0] = 0x00000020u;
|
|
/* 02BCAE7C */ /* nop */
|
|
/* 02BCAE80 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BCAE84 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BCAE88 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCAE8C */ cpu->r[7] = cpu->r[31];
|
|
/* 02BCAE90 */ cpu->r[28] = cpu->r[29] + 0x00000078u;
|
|
L_02BCAE94: ; // 0x2bcae94
|
|
/* 02BCAE94 */ _t2 = cpu->r[28] + cpu->r[7];
|
|
/* 02BCAE94 */ cpu->r[5] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02BCAE98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BCAE9C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAE9C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BCAE9C */ if (_t4) goto L_02BCAEA0; else goto L_02BCAEC8;
|
|
L_02BCAEA0: ; // 0x2bcaea0
|
|
/* 02BCAEA0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02BCAEA4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCAEA4 */ _t5 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCAEA4 */ _t6 = _t5 >> (0x00000002u & 31u);
|
|
/* 02BCAEA4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCAEA4 */ if (_t7) goto L_02BCAE94; else goto L_02BCAEA8;
|
|
L_02BCAEA8: ; // 0x2bcaea8
|
|
/* 02BCAEA8 */ _t8 = cpu->r[29] + 0x00000018u;
|
|
/* 02BCAEA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCAEAC */ _t9 = cpu->r[5] + 0x0000009Cu;
|
|
/* 02BCAEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCAEB0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCAEB4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCAEB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCAEBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCAEC0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAEC0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BCAEC0 */ if (_t11) goto L_02BCB04C; else goto L_02BCAEC4;
|
|
L_02BCAEC4: ; // 0x2bcaec4
|
|
/* 02BCAEC4 */ goto L_02BCB018;
|
|
L_02BCAEC8: ; // 0x2bcaec8
|
|
/* 02BCAEC8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCAECC */ _t12 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BCAECC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCAED0 */ _t13 = cpu->r[29] + 0x00000040u;
|
|
/* 02BCAED0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCAED4 */ _t14 = cpu->r[12] + 0x00000030u;
|
|
/* 02BCAED4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCAED8 */ cpu->r[7] = cpu->r[12] + 0x00000030u;
|
|
/* 02BCAEDC */ cpu->r[31] = 0x00000001u;
|
|
/* 02BCAEE0 */ _t15 = cpu->r[29] + 0x00000044u;
|
|
/* 02BCAEE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCAEE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]);
|
|
/* 02BCAEE8 */ _t16 = cpu->r[12] + 0x00000034u;
|
|
/* 02BCAEE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCAEEC */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCAEEC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BCAEEC */ if (_t18) goto L_02BCAEFC; else goto L_02BCAEF0;
|
|
L_02BCAEF0: ; // 0x2bcaef0
|
|
/* 02BCAEF0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCAEF0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BCAEF0 */ if (_t20) goto L_02BCAFFC; else goto L_02BCAEF4;
|
|
L_02BCAEF4: ; // 0x2bcaef4
|
|
/* 02BCAEF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02BCAEF8 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCAEF8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BCAEF8 */ if (_t22) goto L_02BCAEFC; else goto L_02BCAFFC;
|
|
L_02BCAEFC: ; // 0x2bcaefc
|
|
/* 02BCAEFC */ _t23 = cpu->r[7] + 0x00000000u;
|
|
/* 02BCAEFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCAF00 */ _t24 = cpu->r[29] + 0x00000050u;
|
|
/* 02BCAF00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BCAF04 */ _t25 = cpu->r[7] + 0x00000004u;
|
|
/* 02BCAF04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCAF08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[6]);
|
|
/* 02BCAF0C */ _t26 = cpu->r[29] + 0x00000054u;
|
|
/* 02BCAF0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCAF10 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCAF10 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BCAF10 */ if (_t28) goto L_02BCAFDC; else goto L_02BCAF14;
|
|
L_02BCAF14: ; // 0x2bcaf14
|
|
/* 02BCAF14 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCAF14 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BCAF14 */ if (_t30) goto L_02BCAF20; else goto L_02BCAF18;
|
|
L_02BCAF18: ; // 0x2bcaf18
|
|
/* 02BCAF18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[7]);
|
|
/* 02BCAF1C */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCAF1C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BCAF1C */ if (_t32) goto L_02BCAF20; else goto L_02BCAFDC;
|
|
L_02BCAF20: ; // 0x2bcaf20
|
|
/* 02BCAF20 */ cpu->r[23] = 0x00000000u;
|
|
/* 02BCAF24 */ cpu->r[25] = 0x101D0000u;
|
|
/* 02BCAF28 */ cpu->r[27] = cpu->r[23];
|
|
/* 02BCAF2C */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BCAF30 */ cpu->r[24] = 0x00000020u;
|
|
L_02BCAF34: ; // 0x2bcaf34
|
|
/* 02BCAF34 */ _t33 = cpu->r[28] + cpu->r[23];
|
|
/* 02BCAF34 */ cpu->r[9] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02BCAF38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BCAF3C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAF3C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BCAF3C */ if (_t35) goto L_02BCAFA0; else goto L_02BCAF40;
|
|
L_02BCAF40: ; // 0x2bcaf40
|
|
/* 02BCAF40 */ _t36 = cpu->r[25] + 0xFFFFB770u;
|
|
/* 02BCAF40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCAF44 */ _t37 = cpu->r[10] + 0x00000048u;
|
|
/* 02BCAF44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCAF48 */ cpu->r[4] = cpu->r[23];
|
|
/* 02BCAF4C */ Gambit_fn_02BC8240(cpu);
|
|
/* 02BCAF50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCAF54 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAF54 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BCAF54 */ if (_t39) goto L_02BCAF58; else goto L_02BCAFA0;
|
|
L_02BCAF58: ; // 0x2bcaf58
|
|
/* 02BCAF58 */ _t40 = cpu->r[25] + 0xFFFFB770u;
|
|
/* 02BCAF58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BCAF5C */ cpu->r[4] = cpu->r[23];
|
|
/* 02BCAF60 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BCAF64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCAF68 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAF68 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BCAF68 */ if (_t42) goto L_02BCAF9C; else goto L_02BCAF6C;
|
|
L_02BCAF6C: ; // 0x2bcaf6c
|
|
/* 02BCAF6C */ _t43 = cpu->r[26] + 0xFFFFB77Cu;
|
|
/* 02BCAF6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BCAF70 */ cpu->r[4] = cpu->r[23];
|
|
/* 02BCAF74 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCAF78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCAF7C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAF7C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BCAF7C */ if (_t45) goto L_02BCAF80; else goto L_02BCAFA0;
|
|
L_02BCAF80: ; // 0x2bcaf80
|
|
/* 02BCAF80 */ _t46 = cpu->r[25] + 0xFFFFB770u;
|
|
/* 02BCAF80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BCAF84 */ cpu->r[4] = cpu->r[23];
|
|
/* 02BCAF88 */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BCAF8C */ _t47 = cpu->r[25] + 0xFFFFB770u;
|
|
/* 02BCAF8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BCAF90 */ _t48 = cpu->r[11] + 0x00000050u;
|
|
/* 02BCAF90 */ cpu->r[6] = rbrew_read16(cpu->mem, _t48);
|
|
/* 02BCAF94 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02BCAF98 */ _t49 = cpu->r[11] + 0x00000050u;
|
|
/* 02BCAF98 */ rbrew_write16(cpu->mem, _t49, (uint16_t)cpu->r[6]);
|
|
L_02BCAF9C: ; // 0x2bcaf9c
|
|
/* 02BCAF9C */ _t50 = cpu->r[28] + cpu->r[23];
|
|
/* 02BCAF9C */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[27]);
|
|
L_02BCAFA0: ; // 0x2bcafa0
|
|
/* 02BCAFA0 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02BCAFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BCAFA4 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02BCAFA8 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCAFA8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BCAFA8 */ if (_t52) goto L_02BCAFAC; else goto L_02BCAF34;
|
|
L_02BCAFAC: ; // 0x2bcafac
|
|
/* 02BCAFAC */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCAFB0 */ _t53 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCAFB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BCAFB4 */ cpu->r[10] = 0x000001F4u;
|
|
/* 02BCAFB8 */ /* nop */
|
|
/* 02BCAFBC */ _t54 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCAFBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BCAFC0 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000001F4u);
|
|
/* 02BCAFC4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x000001F4u);
|
|
/* 02BCAFC8 */ cpu->r[0] = cpu->r[8] + cpu->r[11];
|
|
/* 02BCAFCC */ cpu->r[8] = cpu->r[31] + cpu->r[6];
|
|
/* 02BCAFD0 */ cpu->r[7] = cpu->r[30] + cpu->r[0];
|
|
/* 02BCAFD4 */ _t55 = cpu->r[29] + 0x00000054u;
|
|
/* 02BCAFD4 */ rbrew_write32(cpu->mem, _t55, cpu->r[8]);
|
|
/* 02BCAFD8 */ _t56 = cpu->r[29] + 0x00000050u;
|
|
/* 02BCAFD8 */ rbrew_write32(cpu->mem, _t56, cpu->r[7]);
|
|
L_02BCAFDC: ; // 0x2bcafdc
|
|
/* 02BCAFDC */ /* nop */
|
|
/* 02BCAFE0 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BCAFE4 */ _t57 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCAFE4 */ _t58 = cpu->r[9] & 0x00FFFFFFu;
|
|
/* 02BCAFE4 */ cpu->r[9] = _t58 | _t57;
|
|
/* 02BCAFE8 */ _t59 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCAFE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BCAFEC */ cpu->lr = cpu->r[0];
|
|
/* 02BCAFF0 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BCAFF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCAFF8 */ return;
|
|
L_02BCAFFC: ; // 0x2bcaffc
|
|
/* 02BCAFFC */ _t60 = cpu->r[29] + 0x00000018u;
|
|
/* 02BCAFFC */ cpu->r[5] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BCB000 */ _t61 = cpu->r[5] + 0x0000009Cu;
|
|
/* 02BCB000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BCB004 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCB008 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCB00C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCB010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCB014 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB014 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BCB014 */ if (_t63) goto L_02BCB04C; else goto L_02BCB018;
|
|
L_02BCB018: ; // 0x2bcb018
|
|
/* 02BCB018 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BCB01C */ cpu->r[8] = 0x02BD0000u;
|
|
/* 02BCB020 */ _t64 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCB020 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[9]);
|
|
/* 02BCB024 */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BCB028 */ cpu->r[8] = cpu->r[8] + 0xFFFFB06Cu;
|
|
/* 02BCB02C */ cpu->r[9] = cpu->r[9] + 0x00003A20u;
|
|
/* 02BCB030 */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB030 */ rbrew_write32(cpu->mem, _t65, cpu->r[8]);
|
|
/* 02BCB034 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BCB038 */ _t66 = cpu->r[29] + 0x00000028u;
|
|
/* 02BCB038 */ rbrew_write32(cpu->mem, _t66, cpu->r[9]);
|
|
/* 02BCB03C */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB03C */ rbrew_write16(cpu->mem, _t67, (uint16_t)cpu->r[10]);
|
|
/* 02BCB040 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB040 */ cpu->r[10] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BCB044 */ _t69 = cpu->r[29] + 0x00000024u;
|
|
/* 02BCB044 */ rbrew_write32(cpu->mem, _t69, cpu->r[8]);
|
|
/* 02BCB048 */ _t70 = cpu->r[29] + 0x00000020u;
|
|
/* 02BCB048 */ rbrew_write32(cpu->mem, _t70, cpu->r[10]);
|
|
L_02BCB04C: ; // 0x2bcb04c
|
|
/* 02BCB04C */ cpu->r[12] = cpu->r[31] ^ 0x00000001u;
|
|
/* 02BCB050 */ _t71 = cpu->r[29] + 0x000000A2u;
|
|
/* 02BCB050 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[12]);
|
|
/* 02BCB054 */ /* nop */
|
|
/* 02BCB058 */ _t72 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCB058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BCB05C */ cpu->lr = cpu->r[0];
|
|
/* 02BCB060 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BCB064 */ cpu->r[3] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCB068 */ return;
|
|
}
|
|
|
|
// fn_02BCB070 @ 0x2bcb070
|
|
void Gambit_fn_02BCB070(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02BCB070: ; // 0x2bcb070
|
|
/* 02BCB070 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BCB070 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCB070 */ cpu->r[1] = _t0;
|
|
/* 02BCB074 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCB074 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCB078 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCB078 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BCB07C */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCB07C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BCB080 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCB080 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BCB084 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BCB088 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCB08C */ _t5 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BCB08C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCB090 */ _t6 = cpu->r[31] + 0x000000A2u;
|
|
/* 02BCB090 */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BCB094 */ _t7 = cpu->r[8] + 0x00000048u;
|
|
/* 02BCB094 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCB098 */ Gambit_fn_02BC833C(cpu);
|
|
/* 02BCB09C */ cpu->r[30] = 0x00000000u;
|
|
/* 02BCB0A0 */ _t8 = cpu->r[31] + 0x00000098u;
|
|
/* 02BCB0A0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
|
|
/* 02BCB0A4 */ _t9 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BCB0A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCB0A8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCB0AC */ _t10 = cpu->r[9] + 0x00000054u;
|
|
/* 02BCB0AC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[4]);
|
|
/* 02BCB0B0 */ _t11 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BCB0B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCB0B4 */ _t12 = cpu->r[11] + 0x00000048u;
|
|
/* 02BCB0B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCB0B8 */ Gambit_fn_02BC5C08(cpu);
|
|
/* 02BCB0BC */ _t13 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCB0BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCB0C0 */ _t14 = cpu->r[12] + 0x00000074u;
|
|
/* 02BCB0C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCB0C4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCB0C8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BCB0CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCB0D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCB0D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCB0D8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB0D8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BCB0D8 */ if (_t16) goto L_02BCB118; else goto L_02BCB0DC;
|
|
L_02BCB0DC: ; // 0x2bcb0dc
|
|
/* 02BCB0DC */ cpu->r[12] = 0x00000000u;
|
|
/* 02BCB0E0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BCB0E4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB0E4 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[12]);
|
|
/* 02BCB0E8 */ cpu->r[12] = 0x02BD0000u;
|
|
/* 02BCB0EC */ _t18 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCB0EC */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[0]);
|
|
/* 02BCB0F0 */ cpu->r[12] = cpu->r[12] + 0xFFFFB170u;
|
|
/* 02BCB0F4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB0F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCB0F8 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BCB0FC */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB0FC */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02BCB100 */ cpu->r[0] = cpu->r[0] + 0x00003A80u;
|
|
/* 02BCB104 */ _t21 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCB104 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02BCB108 */ _t22 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCB108 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02BCB10C */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCB110 */ _t23 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCB110 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02BCB114 */ goto L_02BCB150;
|
|
L_02BCB118: ; // 0x2bcb118
|
|
/* 02BCB118 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BCB11C */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BCB120 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCB120 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[11]);
|
|
/* 02BCB124 */ cpu->r[9] = 0x02BD0000u;
|
|
/* 02BCB128 */ _t25 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BCB128 */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[10]);
|
|
/* 02BCB12C */ cpu->r[9] = cpu->r[9] + 0xFFFFB7CCu;
|
|
/* 02BCB130 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCB130 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCB134 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BCB138 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCB138 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 02BCB13C */ cpu->r[0] = cpu->r[0] + 0x00003A50u;
|
|
/* 02BCB140 */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCB140 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 02BCB144 */ _t29 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCB144 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02BCB148 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCB14C */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCB14C */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
L_02BCB150: ; // 0x2bcb150
|
|
/* 02BCB150 */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCB150 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BCB154 */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCB154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCB158 */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCB158 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCB15C */ cpu->lr = cpu->r[0];
|
|
/* 02BCB160 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCB160 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCB164 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BCB168 */ cpu->r[3] = cpu->r[8];
|
|
/* 02BCB16C */ return;
|
|
}
|
|
|
|
// fn_02BCB174 @ 0x2bcb174
|
|
void Gambit_fn_02BCB174(CPUState* 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_02BCB174: ; // 0x2bcb174
|
|
/* 02BCB174 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCB174 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCB174 */ cpu->r[1] = _t0;
|
|
/* 02BCB178 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCB178 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCB17C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCB17C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCB180 */ _t3 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCB180 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCB184 */ _t4 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BCB184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCB188 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCB18C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCB190 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCB194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCB198 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB198 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCB198 */ if (_t6) goto L_02BCB19C; else goto L_02BCB1BC;
|
|
L_02BCB19C: ; // 0x2bcb19c
|
|
/* 02BCB19C */ cpu->r[0] = 0x00000005u;
|
|
/* 02BCB1A0 */ _t7 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCB1A0 */ _t8 = cpu->r[12] & 0x00FFFFFFu;
|
|
/* 02BCB1A0 */ cpu->r[12] = _t8 | _t7;
|
|
/* 02BCB1A4 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCB1A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCB1A8 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCB1A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCB1AC */ cpu->lr = cpu->r[0];
|
|
/* 02BCB1B0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCB1B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCB1B8 */ return;
|
|
L_02BCB1BC: ; // 0x2bcb1bc
|
|
/* 02BCB1BC */ cpu->r[8] = 0x00000000u;
|
|
/* 02BCB1C0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BCB1C4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB1C4 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[8]);
|
|
/* 02BCB1C8 */ cpu->r[10] = 0x02BD0000u;
|
|
/* 02BCB1CC */ _t12 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCB1CC */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[0]);
|
|
/* 02BCB1D0 */ cpu->r[10] = cpu->r[10] + 0xFFFFB7CCu;
|
|
/* 02BCB1D4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB1D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCB1D8 */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BCB1DC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB1DC */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02BCB1E0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB1E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCB1E4 */ cpu->r[9] = cpu->r[9] + 0x00003AB0u;
|
|
/* 02BCB1E8 */ _t16 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCB1E8 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02BCB1EC */ _t17 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCB1EC */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02BCB1F0 */ _t18 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCB1F0 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 02BCB1F4 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCB1F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCB1F8 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCB1F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BCB1FC */ cpu->lr = cpu->r[0];
|
|
/* 02BCB200 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCB204 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCB208 */ return;
|
|
}
|
|
|
|
// fn_02BCB20C @ 0x2bcb20c
|
|
void Gambit_fn_02BCB20C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BCB20C: ; // 0x2bcb20c
|
|
/* 02BCB20C */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 02BCB20C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCB20C */ cpu->r[1] = _t0;
|
|
/* 02BCB210 */ /* nop */
|
|
/* 02BCB214 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCB218 */ _t1 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BCB218 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCB21C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BCB220 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCB224 */ _t2 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BCB224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BCB224 */ cpu->r[29] = _t2;
|
|
/* 02BCB228 */ Gambit_fn_02BC4868(cpu);
|
|
/* 02BCB22C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCB230 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB234 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCB238 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCB23C */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BCB240 */ cpu->r[28] = 0x101A0000u;
|
|
/* 02BCB244 */ cpu->r[0] = cpu->r[0] | 0x000094F8u;
|
|
/* 02BCB248 */ cpu->r[28] = cpu->r[28] + 0x00003AE0u;
|
|
/* 02BCB24C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02BCB250 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB250 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCB254 */ cpu->r[27] = 0x00000000u;
|
|
/* 02BCB258 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB258 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCB258 */ if (_t5) goto L_02BCB25C; else goto L_02BCB2A4;
|
|
L_02BCB25C: ; // 0x2bcb25c
|
|
/* 02BCB25C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCB260 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BCB264 */ cpu->r[5] = 0x02BD0000u;
|
|
/* 02BCB268 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCB268 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[0]);
|
|
/* 02BCB26C */ cpu->r[5] = cpu->r[5] + 0xFFFFB828u;
|
|
/* 02BCB270 */ _t7 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02BCB270 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[7]);
|
|
/* 02BCB274 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCB274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCB278 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02BCB278 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02BCB27C */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 02BCB27C */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCB280 */ _t11 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCB280 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BCB284 */ _t12 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCB284 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 02BCB288 */ _t13 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCB288 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 02BCB28C */ /* nop */
|
|
/* 02BCB290 */ _t14 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BCB290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCB294 */ cpu->lr = cpu->r[0];
|
|
/* 02BCB298 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02BCB29C */ cpu->r[3] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCB2A0 */ return;
|
|
L_02BCB2A4: ; // 0x2bcb2a4
|
|
/* 02BCB2A4 */ _t15 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BCB2A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCB2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FDu);
|
|
/* 02BCB2AC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB2AC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BCB2AC */ if (_t17) goto L_02BCB2B0; else goto L_02BCB35C;
|
|
L_02BCB2B0: ; // 0x2bcb2b0
|
|
/* 02BCB2B0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCB2B4 */ _t18 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BCB2B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCB2B8 */ _t19 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCB2B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCB2BC */ _t20 = cpu->r[12] + 0x00000030u;
|
|
/* 02BCB2BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BCB2C0 */ _t21 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCB2C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCB2C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 02BCB2C8 */ _t22 = cpu->r[12] + 0x00000034u;
|
|
/* 02BCB2C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCB2CC */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCB2CC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BCB2CC */ if (_t24) goto L_02BCB33C; else goto L_02BCB2D0;
|
|
L_02BCB2D0: ; // 0x2bcb2d0
|
|
/* 02BCB2D0 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCB2D0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BCB2D0 */ if (_t26) goto L_02BCB2DC; else goto L_02BCB2D4;
|
|
L_02BCB2D4: ; // 0x2bcb2d4
|
|
/* 02BCB2D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[8]);
|
|
/* 02BCB2D8 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCB2D8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BCB2D8 */ if (_t28) goto L_02BCB33C; else goto L_02BCB2DC;
|
|
L_02BCB2DC: ; // 0x2bcb2dc
|
|
/* 02BCB2DC */ _t29 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCB2DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BCB2E0 */ _t30 = cpu->r[6] + 0x00000094u;
|
|
/* 02BCB2E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCB2E4 */ cpu->ctr = cpu->r[9];
|
|
/* 02BCB2E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCB2EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCB2F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCB2F4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB2F4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BCB2F4 */ if (_t32) goto L_02BCB2F8; else goto L_02BCB324;
|
|
L_02BCB2F8: ; // 0x2bcb2f8
|
|
/* 02BCB2F8 */ _t33 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCB2F8 */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
|
|
/* 02BCB2FC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCB300 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BCB304 */ cpu->r[7] = 0x02BD0000u;
|
|
/* 02BCB308 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCB308 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[0]);
|
|
/* 02BCB30C */ cpu->r[7] = cpu->r[7] + 0xFFFFB828u;
|
|
/* 02BCB310 */ _t35 = cpu->r[1] + 0x0000002Eu;
|
|
/* 02BCB310 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[9]);
|
|
/* 02BCB314 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCB314 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCB318 */ _t37 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCB318 */ rbrew_write32(cpu->mem, _t37, cpu->r[7]);
|
|
/* 02BCB31C */ _t38 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCB31C */ rbrew_write32(cpu->mem, _t38, cpu->r[11]);
|
|
/* 02BCB320 */ _t39 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCB320 */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
|
|
L_02BCB324: ; // 0x2bcb324
|
|
/* 02BCB324 */ /* nop */
|
|
/* 02BCB328 */ _t40 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BCB328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BCB32C */ cpu->lr = cpu->r[0];
|
|
/* 02BCB330 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02BCB334 */ cpu->r[3] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCB338 */ return;
|
|
L_02BCB33C: ; // 0x2bcb33c
|
|
/* 02BCB33C */ /* nop */
|
|
/* 02BCB340 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BCB344 */ _t41 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCB344 */ _t42 = cpu->r[9] & 0x00FFFFFFu;
|
|
/* 02BCB344 */ cpu->r[9] = _t42 | _t41;
|
|
/* 02BCB348 */ _t43 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BCB348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BCB34C */ cpu->lr = cpu->r[0];
|
|
/* 02BCB350 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02BCB354 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCB358 */ return;
|
|
L_02BCB35C: ; // 0x2bcb35c
|
|
/* 02BCB35C */ _t44 = cpu->r[31] + 0x000000A3u;
|
|
/* 02BCB35C */ cpu->r[5] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02BCB360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BCB364 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB364 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BCB364 */ if (_t46) goto L_02BCB3E0; else goto L_02BCB368;
|
|
L_02BCB368: ; // 0x2bcb368
|
|
/* 02BCB368 */ _t47 = cpu->r[31] + 0x00000074u;
|
|
/* 02BCB368 */ rbrew_write32(cpu->mem, _t47, cpu->r[12]);
|
|
/* 02BCB36C */ _t48 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCB36C */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BCB370 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCB374 */ _t49 = cpu->r[10] + 0x00000058u;
|
|
/* 02BCB374 */ rbrew_write32(cpu->mem, _t49, cpu->r[12]);
|
|
/* 02BCB378 */ _t50 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BCB378 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BCB37C */ _t51 = cpu->r[31] + 0x00000074u;
|
|
/* 02BCB37C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BCB380 */ _t52 = cpu->r[12] + 0x00000148u;
|
|
/* 02BCB380 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02BCB384 */ _t53 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BCB384 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BCB384 */ cpu->r[30] = _t53;
|
|
/* 02BCB388 */ _t54 = cpu->r[31] + 0x00000074u;
|
|
/* 02BCB388 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BCB38C */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCB390 */ cpu->r[26] = cpu->r[3];
|
|
/* 02BCB390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BCB394 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB394 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BCB394 */ if (_t56) goto L_02BCB398; else goto L_02BCB460;
|
|
L_02BCB398: ; // 0x2bcb398
|
|
/* 02BCB398 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BCB39C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BCB3A0 */ cpu->r[10] = 0x02BD0000u;
|
|
/* 02BCB3A4 */ _t57 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BCB3A4 */ rbrew_write16(cpu->mem, _t57, (uint16_t)cpu->r[5]);
|
|
/* 02BCB3A8 */ cpu->r[10] = cpu->r[10] + 0xFFFFB828u;
|
|
/* 02BCB3AC */ _t58 = cpu->r[1] + 0x0000005Eu;
|
|
/* 02BCB3AC */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[0]);
|
|
/* 02BCB3B0 */ _t59 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BCB3B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BCB3B4 */ _t60 = cpu->r[1] + 0x00000060u;
|
|
/* 02BCB3B4 */ rbrew_write32(cpu->mem, _t60, cpu->r[10]);
|
|
/* 02BCB3B8 */ _t61 = cpu->r[1] + 0x00000060u;
|
|
/* 02BCB3B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BCB3BC */ _t62 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCB3BC */ rbrew_write32(cpu->mem, _t62, cpu->r[8]);
|
|
/* 02BCB3C0 */ _t63 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCB3C0 */ rbrew_write32(cpu->mem, _t63, cpu->r[10]);
|
|
/* 02BCB3C4 */ _t64 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCB3C4 */ rbrew_write32(cpu->mem, _t64, cpu->r[28]);
|
|
/* 02BCB3C8 */ /* nop */
|
|
/* 02BCB3CC */ _t65 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BCB3CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BCB3D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCB3D4 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02BCB3D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCB3DC */ return;
|
|
L_02BCB3E0: ; // 0x2bcb3e0
|
|
/* 02BCB3E0 */ _t66 = cpu->r[31] + 0x00000074u;
|
|
/* 02BCB3E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BCB3E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
|
|
/* 02BCB3E8 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB3E8 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BCB3E8 */ if (_t68) goto L_02BCB434; else goto L_02BCB3EC;
|
|
L_02BCB3EC: ; // 0x2bcb3ec
|
|
/* 02BCB3EC */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BCB3F0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BCB3F4 */ cpu->r[7] = 0x02BD0000u;
|
|
/* 02BCB3F8 */ _t69 = cpu->r[1] + 0x0000003Eu;
|
|
/* 02BCB3F8 */ rbrew_write16(cpu->mem, _t69, (uint16_t)cpu->r[8]);
|
|
/* 02BCB3FC */ cpu->r[7] = cpu->r[7] + 0xFFFFB828u;
|
|
/* 02BCB400 */ _t70 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCB400 */ rbrew_write16(cpu->mem, _t70, (uint16_t)cpu->r[9]);
|
|
/* 02BCB404 */ _t71 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCB404 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BCB408 */ _t72 = cpu->r[1] + 0x00000040u;
|
|
/* 02BCB408 */ rbrew_write32(cpu->mem, _t72, cpu->r[7]);
|
|
/* 02BCB40C */ _t73 = cpu->r[1] + 0x00000040u;
|
|
/* 02BCB40C */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BCB410 */ _t74 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCB410 */ rbrew_write32(cpu->mem, _t74, cpu->r[8]);
|
|
/* 02BCB414 */ _t75 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCB414 */ rbrew_write32(cpu->mem, _t75, cpu->r[9]);
|
|
/* 02BCB418 */ _t76 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCB418 */ rbrew_write32(cpu->mem, _t76, cpu->r[28]);
|
|
/* 02BCB41C */ /* nop */
|
|
/* 02BCB420 */ _t77 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BCB420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BCB424 */ cpu->lr = cpu->r[0];
|
|
/* 02BCB428 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02BCB42C */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCB430 */ return;
|
|
L_02BCB434: ; // 0x2bcb434
|
|
/* 02BCB434 */ _t78 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCB434 */ cpu->r[10] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BCB438 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCB43C */ _t79 = cpu->r[10] + 0x00000058u;
|
|
/* 02BCB43C */ rbrew_write32(cpu->mem, _t79, cpu->r[4]);
|
|
/* 02BCB440 */ _t80 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BCB440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BCB444 */ _t81 = cpu->r[31] + 0x00000074u;
|
|
/* 02BCB444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BCB448 */ _t82 = cpu->r[12] + 0x00000148u;
|
|
/* 02BCB448 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 02BCB44C */ _t83 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BCB44C */ cpu->r[3] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BCB44C */ cpu->r[30] = _t83;
|
|
/* 02BCB450 */ _t84 = cpu->r[31] + 0x00000074u;
|
|
/* 02BCB450 */ cpu->r[4] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BCB454 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCB458 */ cpu->r[26] = cpu->r[3];
|
|
/* 02BCB458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BCB45C */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB45C */ _t86 = _t85 & 0x00000001u;
|
|
/* 02BCB45C */ if (_t86) goto L_02BCB398; else goto L_02BCB460;
|
|
L_02BCB460: ; // 0x2bcb460
|
|
/* 02BCB460 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BCB464 */ Gambit_fn_02BCAA98(cpu);
|
|
/* 02BCB468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCB46C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB46C */ _t88 = _t87 & 0x00000001u;
|
|
/* 02BCB46C */ if (_t88) goto L_02BCB470; else goto L_02BCB4D4;
|
|
L_02BCB470: ; // 0x2bcb470
|
|
/* 02BCB470 */ _t89 = cpu->r[26] + 0x00000068u;
|
|
/* 02BCB470 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BCB474 */ _t90 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BCB474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BCB478 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCB47C */ cpu->r[3] = cpu->r[26];
|
|
/* 02BCB480 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCB484 */ cpu->r[5] = 0x00000004u;
|
|
/* 02BCB488 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCB48C */ cpu->r[9] = 0x00000000u;
|
|
/* 02BCB490 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BCB494 */ cpu->r[6] = 0x02BD0000u;
|
|
/* 02BCB498 */ _t91 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCB498 */ rbrew_write16(cpu->mem, _t91, (uint16_t)cpu->r[9]);
|
|
/* 02BCB49C */ cpu->r[6] = cpu->r[6] + 0xFFFFB828u;
|
|
/* 02BCB4A0 */ _t92 = cpu->r[1] + 0x0000004Eu;
|
|
/* 02BCB4A0 */ rbrew_write16(cpu->mem, _t92, (uint16_t)cpu->r[7]);
|
|
/* 02BCB4A4 */ _t93 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCB4A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BCB4A8 */ _t94 = cpu->r[1] + 0x00000050u;
|
|
/* 02BCB4A8 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02BCB4AC */ _t95 = cpu->r[1] + 0x00000050u;
|
|
/* 02BCB4AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BCB4B0 */ _t96 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCB4B0 */ rbrew_write32(cpu->mem, _t96, cpu->r[28]);
|
|
/* 02BCB4B4 */ _t97 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCB4B4 */ rbrew_write32(cpu->mem, _t97, cpu->r[8]);
|
|
/* 02BCB4B8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCB4BC */ _t98 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCB4BC */ rbrew_write32(cpu->mem, _t98, cpu->r[0]);
|
|
/* 02BCB4C0 */ /* nop */
|
|
/* 02BCB4C4 */ _t99 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BCB4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BCB4C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BCB4CC */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02BCB4D0 */ return;
|
|
L_02BCB4D4: ; // 0x2bcb4d4
|
|
/* 02BCB4D4 */ _t100 = cpu->r[31] + 0x00000070u;
|
|
/* 02BCB4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BCB4D8 */ _t101 = cpu->r[31] + 0x00000074u;
|
|
/* 02BCB4D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BCB4DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BCB4E0 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB4E0 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02BCB4E0 */ if (_t103) goto L_02BCB524; else goto L_02BCB4E4;
|
|
L_02BCB4E4: ; // 0x2bcb4e4
|
|
/* 02BCB4E4 */ _t104 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCB4E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02BCB4E8 */ cpu->r[4] = cpu->r[0];
|
|
/* 02BCB4EC */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCB4F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCB4F4 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB4F4 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02BCB4F4 */ if (_t106) goto L_02BCB510; else goto L_02BCB4F8;
|
|
L_02BCB4F8: ; // 0x2bcb4f8
|
|
/* 02BCB4F8 */ _t107 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCB4F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BCB4FC */ _t108 = cpu->r[12] + 0x00000084u;
|
|
/* 02BCB4FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02BCB500 */ cpu->ctr = cpu->r[6];
|
|
/* 02BCB504 */ _t109 = cpu->r[31] + 0x00000070u;
|
|
/* 02BCB504 */ cpu->r[4] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BCB508 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCB50C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BCB510: ; // 0x2bcb510
|
|
/* 02BCB510 */ _t110 = cpu->r[31] + 0x00000074u;
|
|
/* 02BCB510 */ cpu->r[5] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02BCB514 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCB518 */ _t111 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCB518 */ cpu->r[3] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BCB51C */ Gambit_fn_02BC2B24(cpu);
|
|
/* 02BCB520 */ _t112 = cpu->r[31] + 0x00000074u;
|
|
/* 02BCB520 */ cpu->r[4] = rbrew_read32(cpu->mem, _t112);
|
|
L_02BCB524: ; // 0x2bcb524
|
|
/* 02BCB524 */ _t113 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCB524 */ cpu->r[10] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02BCB528 */ _t114 = cpu->r[10] + 0x00000048u;
|
|
/* 02BCB528 */ cpu->r[3] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02BCB52C */ Gambit_fn_02BC8450(cpu);
|
|
/* 02BCB530 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCB534 */ _t115 = cpu->r[31] + 0x00000099u;
|
|
/* 02BCB534 */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[27]);
|
|
/* 02BCB538 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCB53C */ _t116 = cpu->r[31] + 0x000000A0u;
|
|
/* 02BCB53C */ rbrew_write8(cpu->mem, _t116, (uint8_t)cpu->r[0]);
|
|
/* 02BCB540 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02BCB544 */ cpu->r[11] = 0x02BD0000u;
|
|
/* 02BCB548 */ _t117 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB548 */ rbrew_write16(cpu->mem, _t117, (uint16_t)cpu->r[6]);
|
|
/* 02BCB54C */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BCB550 */ cpu->r[11] = cpu->r[11] + 0xFFFFB594u;
|
|
/* 02BCB554 */ _t118 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BCB554 */ rbrew_write16(cpu->mem, _t118, (uint16_t)cpu->r[5]);
|
|
/* 02BCB558 */ _t119 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02BCB55C */ cpu->r[9] = cpu->r[9] + 0x00003B10u;
|
|
/* 02BCB560 */ cpu->r[6] = 0x00000005u;
|
|
/* 02BCB564 */ _t120 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB564 */ rbrew_write32(cpu->mem, _t120, cpu->r[11]);
|
|
/* 02BCB568 */ _t121 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB568 */ cpu->r[5] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02BCB56C */ _t122 = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCB56C */ _t123 = cpu->r[30] & 0x00FFFFFFu;
|
|
/* 02BCB56C */ cpu->r[30] = _t123 | _t122;
|
|
/* 02BCB570 */ _t124 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCB570 */ rbrew_write32(cpu->mem, _t124, cpu->r[9]);
|
|
/* 02BCB574 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCB578 */ _t125 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCB578 */ rbrew_write32(cpu->mem, _t125, cpu->r[0]);
|
|
/* 02BCB57C */ _t126 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCB57C */ rbrew_write32(cpu->mem, _t126, cpu->r[5]);
|
|
/* 02BCB580 */ /* nop */
|
|
/* 02BCB584 */ _t127 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BCB584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02BCB588 */ cpu->lr = cpu->r[0];
|
|
/* 02BCB58C */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02BCB590 */ return;
|
|
}
|
|
|
|
// fn_02BCB598 @ 0x2bcb598
|
|
void Gambit_fn_02BCB598(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63;
|
|
|
|
L_02BCB598: ; // 0x2bcb598
|
|
/* 02BCB598 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02BCB598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCB598 */ cpu->r[1] = _t0;
|
|
/* 02BCB59C */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCB59C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCB5A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCB5A4 */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 02BCB5A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BCB5A8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BCB5AC */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCB5AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCB5B0 */ _t4 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BCB5B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCB5B4 */ Gambit_fn_02BC4868(cpu);
|
|
/* 02BCB5B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCB5BC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCB5C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB5C4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCB5C8 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BCB5CC */ cpu->r[0] = cpu->r[0] | 0x000094F8u;
|
|
/* 02BCB5D0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BCB5D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02BCB5D8 */ cpu->r[30] = 0x101A0000u;
|
|
/* 02BCB5DC */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB5DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BCB5E0 */ cpu->r[30] = cpu->r[30] + 0x00003B40u;
|
|
/* 02BCB5E4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB5E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCB5E4 */ if (_t7) goto L_02BCB5E8; else goto L_02BCB634;
|
|
L_02BCB5E8: ; // 0x2bcb5e8
|
|
/* 02BCB5E8 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BCB5EC */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02BCB5F0 */ cpu->r[0] = 0x02BD0000u;
|
|
/* 02BCB5F4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCB5F4 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[7]);
|
|
/* 02BCB5F8 */ cpu->r[0] = cpu->r[0] + 0xFFFFB828u;
|
|
/* 02BCB5FC */ _t9 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02BCB5FC */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[6]);
|
|
/* 02BCB600 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCB600 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCB604 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02BCB604 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BCB608 */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02BCB608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCB60C */ _t13 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCB60C */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 02BCB610 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCB610 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02BCB614 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCB614 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02BCB618 */ _t16 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCB618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCB61C */ _t17 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCB61C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BCB620 */ cpu->lr = cpu->r[0];
|
|
/* 02BCB624 */ _t18 = cpu->r[1] + 0x00000040u;
|
|
/* 02BCB624 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCB628 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BCB62C */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCB630 */ return;
|
|
L_02BCB634: ; // 0x2bcb634
|
|
/* 02BCB634 */ _t19 = cpu->r[31] + 0x000000A0u;
|
|
/* 02BCB634 */ cpu->r[10] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BCB638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BCB63C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB63C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BCB63C */ if (_t21) goto L_02BCB6F4; else goto L_02BCB640;
|
|
L_02BCB640: ; // 0x2bcb640
|
|
/* 02BCB640 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCB644 */ _t22 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BCB644 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCB648 */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCB648 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCB64C */ _t24 = cpu->r[12] + 0x00000030u;
|
|
/* 02BCB64C */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BCB650 */ _t25 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCB650 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCB654 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]);
|
|
/* 02BCB658 */ _t26 = cpu->r[12] + 0x00000034u;
|
|
/* 02BCB658 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCB65C */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCB65C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BCB65C */ if (_t28) goto L_02BCB6D0; else goto L_02BCB660;
|
|
L_02BCB660: ; // 0x2bcb660
|
|
/* 02BCB660 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCB660 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BCB660 */ if (_t30) goto L_02BCB66C; else goto L_02BCB664;
|
|
L_02BCB664: ; // 0x2bcb664
|
|
/* 02BCB664 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]);
|
|
/* 02BCB668 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCB668 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BCB668 */ if (_t32) goto L_02BCB6D0; else goto L_02BCB66C;
|
|
L_02BCB66C: ; // 0x2bcb66c
|
|
/* 02BCB66C */ _t33 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCB66C */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCB670 */ _t34 = cpu->r[10] + 0x00000094u;
|
|
/* 02BCB670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCB674 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCB678 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCB67C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCB680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCB684 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB684 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BCB684 */ if (_t36) goto L_02BCB688; else goto L_02BCB6B4;
|
|
L_02BCB688: ; // 0x2bcb688
|
|
/* 02BCB688 */ _t37 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCB688 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02BCB68C */ cpu->r[12] = 0x00000000u;
|
|
/* 02BCB690 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02BCB694 */ cpu->r[10] = 0x02BD0000u;
|
|
/* 02BCB698 */ _t38 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCB698 */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[12]);
|
|
/* 02BCB69C */ cpu->r[10] = cpu->r[10] + 0xFFFFB828u;
|
|
/* 02BCB6A0 */ _t39 = cpu->r[1] + 0x0000002Eu;
|
|
/* 02BCB6A0 */ rbrew_write16(cpu->mem, _t39, (uint16_t)cpu->r[11]);
|
|
/* 02BCB6A4 */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCB6A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BCB6A8 */ _t41 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCB6A8 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 02BCB6AC */ _t42 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCB6AC */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 02BCB6B0 */ _t43 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCB6B0 */ rbrew_write32(cpu->mem, _t43, cpu->r[10]);
|
|
L_02BCB6B4: ; // 0x2bcb6b4
|
|
/* 02BCB6B4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCB6B8 */ _t44 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCB6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCB6BC */ _t45 = cpu->r[1] + 0x00000040u;
|
|
/* 02BCB6BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BCB6C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCB6C4 */ _t46 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCB6C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BCB6C8 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BCB6CC */ return;
|
|
L_02BCB6D0: ; // 0x2bcb6d0
|
|
/* 02BCB6D0 */ _t47 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCB6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BCB6D4 */ cpu->r[8] = 0x00000005u;
|
|
/* 02BCB6D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BCB6DC */ _t48 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCB6DC */ _t49 = cpu->r[7] & 0x00FFFFFFu;
|
|
/* 02BCB6DC */ cpu->r[7] = _t49 | _t48;
|
|
/* 02BCB6E0 */ _t50 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCB6E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BCB6E4 */ _t51 = cpu->r[1] + 0x00000040u;
|
|
/* 02BCB6E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BCB6E8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCB6EC */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BCB6F0 */ return;
|
|
L_02BCB6F4: ; // 0x2bcb6f4
|
|
/* 02BCB6F4 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BCB6F8 */ _t52 = cpu->r[31] + 0x000000A1u;
|
|
/* 02BCB6F8 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[9]);
|
|
/* 02BCB6FC */ cpu->r[0] = 0x02BD0000u;
|
|
/* 02BCB700 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BCB704 */ _t53 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BCB704 */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[7]);
|
|
/* 02BCB708 */ cpu->r[0] = cpu->r[0] + 0xFFFFB7CCu;
|
|
/* 02BCB70C */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB70C */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[8]);
|
|
/* 02BCB710 */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BCB714 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB714 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 02BCB718 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BCB71C */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB71C */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BCB720 */ cpu->r[0] = cpu->r[0] + 0x00003B70u;
|
|
/* 02BCB724 */ _t58 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCB724 */ rbrew_write32(cpu->mem, _t58, cpu->r[12]);
|
|
/* 02BCB728 */ _t59 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCB728 */ rbrew_write32(cpu->mem, _t59, cpu->r[6]);
|
|
/* 02BCB72C */ _t60 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCB72C */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 02BCB730 */ _t61 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCB730 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BCB734 */ _t62 = cpu->r[1] + 0x00000040u;
|
|
/* 02BCB734 */ cpu->r[30] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCB738 */ cpu->lr = cpu->r[0];
|
|
/* 02BCB73C */ _t63 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCB73C */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BCB740 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BCB744 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCB748 */ return;
|
|
}
|
|
|
|
// fn_02BCB74C @ 0x2bcb74c
|
|
void Gambit_fn_02BCB74C(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_02BCB74C: ; // 0x2bcb74c
|
|
/* 02BCB74C */ cpu->r[0] = cpu->lr;
|
|
/* 02BCB750 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BCB750 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCB750 */ cpu->r[1] = _t0;
|
|
/* 02BCB754 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCB754 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCB758 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BCB75C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB75C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BCB760 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BCB764 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB764 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02BCB768 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCB76C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB76C */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02BCB770 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB774 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCB774 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BCB778 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BCB77C */ _t6 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BCB77C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCB780 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB780 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCB784 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB784 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCB788 */ cpu->r[10] = cpu->r[6] - cpu->r[8];
|
|
/* 02BCB78C */ _t9 = cpu->r[30] + 0x00000058u;
|
|
/* 02BCB78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCB790 */ cpu->r[9] = cpu->r[5] - cpu->r[0];
|
|
/* 02BCB794 */ _t10 = cpu->r[30] + 0x00000064u;
|
|
/* 02BCB794 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02BCB798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCB79C */ _t11 = cpu->r[30] + 0x00000060u;
|
|
/* 02BCB79C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02BCB7A0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB7A0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BCB7A0 */ if (_t13) goto L_02BCB7B4; else goto L_02BCB7A4;
|
|
L_02BCB7A4: ; // 0x2bcb7a4
|
|
/* 02BCB7A4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCB7A8 */ _t14 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCB7A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCB7AC */ _t15 = cpu->r[12] + 0x00000050u;
|
|
/* 02BCB7AC */ cpu->r[8] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02BCB7B0 */ _t16 = cpu->r[30] + 0x0000006Du;
|
|
/* 02BCB7B0 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[8]);
|
|
L_02BCB7B4: ; // 0x2bcb7b4
|
|
/* 02BCB7B4 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCB7B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BCB7B8 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB7B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCB7BC */ cpu->lr = cpu->r[0];
|
|
/* 02BCB7C0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCB7C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCB7C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCB7C8 */ return;
|
|
}
|
|
|
|
// fn_02BCB750 @ 0x2bcb750
|
|
void Gambit_fn_02BCB750(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_02BCB750: ; // 0x2bcb750
|
|
/* 02BCB750 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BCB750 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCB750 */ cpu->r[1] = _t0;
|
|
/* 02BCB754 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCB754 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCB758 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BCB75C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB75C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BCB760 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BCB764 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB764 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02BCB768 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCB76C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB76C */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02BCB770 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB774 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCB774 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BCB778 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BCB77C */ _t6 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BCB77C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCB780 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB780 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCB784 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB784 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCB788 */ cpu->r[10] = cpu->r[6] - cpu->r[8];
|
|
/* 02BCB78C */ _t9 = cpu->r[30] + 0x00000058u;
|
|
/* 02BCB78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCB790 */ cpu->r[9] = cpu->r[5] - cpu->r[0];
|
|
/* 02BCB794 */ _t10 = cpu->r[30] + 0x00000064u;
|
|
/* 02BCB794 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02BCB798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCB79C */ _t11 = cpu->r[30] + 0x00000060u;
|
|
/* 02BCB79C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02BCB7A0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB7A0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BCB7A0 */ if (_t13) goto L_02BCB7B4; else goto L_02BCB7A4;
|
|
L_02BCB7A4: ; // 0x2bcb7a4
|
|
/* 02BCB7A4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCB7A8 */ _t14 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCB7A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCB7AC */ _t15 = cpu->r[12] + 0x00000050u;
|
|
/* 02BCB7AC */ cpu->r[8] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02BCB7B0 */ _t16 = cpu->r[30] + 0x0000006Du;
|
|
/* 02BCB7B0 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[8]);
|
|
L_02BCB7B4: ; // 0x2bcb7b4
|
|
/* 02BCB7B4 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCB7B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BCB7B8 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB7B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCB7BC */ cpu->lr = cpu->r[0];
|
|
/* 02BCB7C0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCB7C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCB7C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCB7C8 */ return;
|
|
}
|
|
|
|
// fn_02BCB7D0 @ 0x2bcb7d0
|
|
void Gambit_fn_02BCB7D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BCB7D0: ; // 0x2bcb7d0
|
|
/* 02BCB7D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCB7D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCB7D0 */ cpu->r[1] = _t0;
|
|
/* 02BCB7D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB7D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCB7D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCB7DC */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCB7E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCB7E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCB7E4 */ Gambit_fn_02BCB74C(cpu);
|
|
/* 02BCB7E8 */ _t3 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCB7E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCB7EC */ _t4 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BCB7EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCB7F0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCB7F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCB7F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCB7FC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BCB800 */ _t5 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BCB800 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCB804 */ Gambit_fn_02BC51A4(cpu);
|
|
/* 02BCB808 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCB80C */ _t6 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCB80C */ _t7 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BCB80C */ cpu->r[31] = _t7 | _t6;
|
|
/* 02BCB810 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCB810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCB814 */ cpu->lr = cpu->r[0];
|
|
/* 02BCB818 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCB81C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB81C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCB820 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB824 */ return;
|
|
}
|
|
|
|
// fn_02BCB82C @ 0x2bcb82c
|
|
void Gambit_fn_02BCB82C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BCB82C: ; // 0x2bcb82c
|
|
/* 02BCB82C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCB82C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCB82C */ cpu->r[1] = _t0;
|
|
/* 02BCB830 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB830 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCB834 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB834 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BCB838 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCB83C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCB840 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BCB844 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCB844 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCB848 */ _t4 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BCB848 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCB84C */ cpu->r[5] = 0x000000FDu;
|
|
/* 02BCB850 */ Gambit_fn_02BC2B24(cpu);
|
|
/* 02BCB854 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCB858 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCB85C */ Gambit_fn_02BCB74C(cpu);
|
|
/* 02BCB860 */ _t5 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BCB860 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCB864 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BCB868 */ _t6 = cpu->r[8] + 0x00000064u;
|
|
/* 02BCB868 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 02BCB86C */ _t7 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BCB86C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCB870 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BCB874 */ _t8 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BCB874 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCB878 */ Gambit_fn_02BC2DA0(cpu);
|
|
/* 02BCB87C */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCB87C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCB880 */ _t10 = cpu->r[10] + 0x0000006Cu;
|
|
/* 02BCB880 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCB884 */ cpu->ctr = cpu->r[11];
|
|
/* 02BCB888 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCB88C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCB890 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCB894 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB894 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCB898 */ _t12 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCB898 */ _t13 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BCB898 */ cpu->r[31] = _t13 | _t12;
|
|
/* 02BCB89C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCB89C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCB8A0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCB8A4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB8A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCB8A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BCB8AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB8B0 */ return;
|
|
}
|
|
|
|
// fn_02BCB8B4 @ 0x2bcb8b4
|
|
void Gambit_fn_02BCB8B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BCB8B4: ; // 0x2bcb8b4
|
|
/* 02BCB8B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BCB8B8 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCB8B8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02BCB8B8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BCB8B8 */ goto L_02BCB8BC;
|
|
L_02BCB8BC: ; // 0x2bcb8bc
|
|
/* 02BCB8BC */ cpu->r[12] = cpu->r[3] + cpu->r[4];
|
|
/* 02BCB8C0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCB8C4 */ _t2 = cpu->r[12] + 0x00000078u;
|
|
/* 02BCB8C4 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]);
|
|
/* 02BCB8C8 */ return;
|
|
}
|
|
|
|
// fn_02BCB8CC @ 0x2bcb8cc
|
|
void Gambit_fn_02BCB8CC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BCB8CC: ; // 0x2bcb8cc
|
|
/* 02BCB8CC */ _t0 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BCB8CC */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02BCB8D0 */ return;
|
|
}
|
|
|
|
// fn_02BCB8D4 @ 0x2bcb8d4
|
|
void Gambit_fn_02BCB8D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BCB8D4: ; // 0x2bcb8d4
|
|
/* 02BCB8D4 */ _t0 = cpu->r[3] + 0x000000A1u;
|
|
/* 02BCB8D4 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02BCB8D8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCB8DC */ _t1 = cpu->r[3] + 0x000000A0u;
|
|
/* 02BCB8DC */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
|
|
/* 02BCB8E0 */ return;
|
|
}
|
|
|
|
// fn_02BCB8E4 @ 0x2bcb8e4
|
|
void Gambit_fn_02BCB8E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BCB8E4: ; // 0x2bcb8e4
|
|
/* 02BCB8E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCB8E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCB8E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCB8E8 */ cpu->r[1] = _t0;
|
|
/* 02BCB8EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB8EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCB8F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCB8F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCB8F4 */ _t3 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCB8F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCB8F8 */ _t4 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BCB8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCB8FC */ cpu->ctr = cpu->r[0];
|
|
/* 02BCB900 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCB904 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCB908 */ _t5 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCB908 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCB90C */ _t6 = cpu->r[12] + 0x00000064u;
|
|
/* 02BCB90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCB910 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCB914 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCB918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCB91C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCB91C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCB920 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB920 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCB924 */ cpu->lr = cpu->r[0];
|
|
/* 02BCB928 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB92C */ return;
|
|
}
|
|
|
|
// fn_02BCB8E8 @ 0x2bcb8e8
|
|
void Gambit_fn_02BCB8E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BCB8E8: ; // 0x2bcb8e8
|
|
/* 02BCB8E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCB8E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCB8E8 */ cpu->r[1] = _t0;
|
|
/* 02BCB8EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB8EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCB8F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCB8F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCB8F4 */ _t3 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCB8F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCB8F8 */ _t4 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BCB8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCB8FC */ cpu->ctr = cpu->r[0];
|
|
/* 02BCB900 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCB904 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCB908 */ _t5 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCB908 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCB90C */ _t6 = cpu->r[12] + 0x00000064u;
|
|
/* 02BCB90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCB910 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCB914 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCB918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCB91C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCB91C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCB920 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB920 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCB924 */ cpu->lr = cpu->r[0];
|
|
/* 02BCB928 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB92C */ return;
|
|
}
|
|
|
|
// fn_02BCB930 @ 0x2bcb930
|
|
void Gambit_fn_02BCB930(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BCB930: ; // 0x2bcb930
|
|
/* 02BCB930 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02BCB930 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCB930 */ cpu->r[1] = _t0;
|
|
/* 02BCB934 */ /* nop */
|
|
/* 02BCB938 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCB93C */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCB93C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCB940 */ cpu->r[29] = cpu->r[6];
|
|
/* 02BCB944 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BCB948 */ _t2 = cpu->r[28] + 0x0000006Eu;
|
|
/* 02BCB948 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02BCB94C */ cpu->r[26] = cpu->r[4];
|
|
/* 02BCB950 */ cpu->r[27] = cpu->r[5];
|
|
/* 02BCB954 */ cpu->r[31] = cpu->r[7];
|
|
/* 02BCB958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCB95C */ cpu->r[25] = 0x00000000u;
|
|
/* 02BCB960 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB960 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BCB960 */ if (_t4) goto L_02BCB964; else goto L_02BCBC04;
|
|
L_02BCB964: ; // 0x2bcb964
|
|
/* 02BCB964 */ cpu->r[24] = 0x101D0000u;
|
|
/* 02BCB968 */ _t5 = cpu->r[24] + 0xFFFFB770u;
|
|
/* 02BCB968 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCB968 */ cpu->r[24] = _t5;
|
|
/* 02BCB96C */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 02BCB96C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCB970 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BCB974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCB978 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB978 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCB978 */ if (_t8) goto L_02BCB97C; else goto L_02BCBC04;
|
|
L_02BCB97C: ; // 0x2bcb97c
|
|
/* 02BCB97C */ _t9 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCB97C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCB980 */ _t10 = cpu->r[12] + 0x00000018u;
|
|
/* 02BCB980 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCB984 */ _t11 = cpu->r[11] + 0x0000004Cu;
|
|
/* 02BCB984 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02BCB988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCB98C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB98C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BCB98C */ if (_t13) goto L_02BCB990; else goto L_02BCBC04;
|
|
L_02BCB990: ; // 0x2bcb990
|
|
/* 02BCB990 */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 02BCB990 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCB994 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BCB998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCB99C */ _t15 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCB99C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCB9A0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB9A0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BCB9A0 */ if (_t17) goto L_02BCBA64; else goto L_02BCB9A4;
|
|
L_02BCB9A4: ; // 0x2bcb9a4
|
|
/* 02BCB9A4 */ _t18 = cpu->r[12] + 0x000000A8u;
|
|
/* 02BCB9A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCB9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BCB9AC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCB9AC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BCB9AC */ if (_t20) goto L_02BCB9DC; else goto L_02BCB9B0;
|
|
L_02BCB9B0: ; // 0x2bcb9b0
|
|
/* 02BCB9B0 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCB9B0 */ rbrew_write32(cpu->mem, _t21, cpu->r[25]);
|
|
/* 02BCB9B4 */ cpu->r[7] = 0x000000FDu;
|
|
/* 02BCB9B8 */ cpu->r[6] = 0x00000013u;
|
|
/* 02BCB9BC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCB9BC */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 02BCB9C0 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB9C0 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 02BCB9C4 */ _t24 = cpu->r[12] + 0x000000A8u;
|
|
/* 02BCB9C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BCB9C8 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCB9C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCB9CC */ _t26 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02BCB9CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCB9D0 */ cpu->ctr = cpu->r[9];
|
|
/* 02BCB9D4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCB9D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BCB9DC: ; // 0x2bcb9dc
|
|
/* 02BCB9DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB9E0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCB9E4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCB9E8 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BCB9EC */ _t27 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCB9EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BCB9F0 */ cpu->r[0] = cpu->r[0] | 0x000094E1u;
|
|
/* 02BCB9F4 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCB9F4 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02BCB9F8 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCB9F8 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02BCB9FC */ _t30 = cpu->r[11] + 0x00000004u;
|
|
/* 02BCB9FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCBA00 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCBA04 */ Gambit_fn_02BBB968(cpu);
|
|
/* 02BCBA08 */ _t31 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCBA08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BCBA0C */ _t32 = cpu->r[12] + 0x00000004u;
|
|
/* 02BCBA0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCBA10 */ _t33 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCBA10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCBA14 */ _t34 = cpu->r[12] + 0x00000014u;
|
|
/* 02BCBA14 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCBA18 */ cpu->ctr = cpu->r[5];
|
|
/* 02BCBA1C */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCBA20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCBA24 */ _t35 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCBA24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCBA28 */ _t36 = cpu->r[6] + 0x00000010u;
|
|
/* 02BCBA28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCBA2C */ Gambit_fn_02BD1194(cpu);
|
|
/* 02BCBA30 */ _t37 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCBA30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCBA34 */ _t38 = cpu->r[12] + 0x00000010u;
|
|
/* 02BCBA34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BCBA38 */ _t39 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCBA38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCBA3C */ _t40 = cpu->r[7] + 0x00000014u;
|
|
/* 02BCBA3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BCBA40 */ cpu->ctr = cpu->r[8];
|
|
/* 02BCBA44 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCBA48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCBA4C */ /* nop */
|
|
/* 02BCBA50 */ _t41 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCBA50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCBA54 */ cpu->lr = cpu->r[0];
|
|
/* 02BCBA58 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BCBA5C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCBA60 */ return;
|
|
L_02BCBA64: ; // 0x2bcba64
|
|
/* 02BCBA64 */ _t42 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BCBA64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BCBA68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000001Fu);
|
|
/* 02BCBA6C */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCBA6C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BCBA6C */ if (_t44) goto L_02BCBC04; else goto L_02BCBA70;
|
|
L_02BCBA70: ; // 0x2bcba70
|
|
/* 02BCBA70 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCBA74 */ _t45 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BCBA74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BCBA78 */ _t46 = cpu->r[30] + 0x00000034u;
|
|
/* 02BCBA78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BCBA7C */ cpu->r[23] = cpu->r[30] + 0x00000038u;
|
|
/* 02BCBA80 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCBA84 */ cpu->r[21] = cpu->r[23];
|
|
/* 02BCBA88 */ cpu->r[5] = cpu->r[23] + cpu->r[11];
|
|
/* 02BCBA8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[5]);
|
|
/* 02BCBA90 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBA90 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BCBA90 */ if (_t48) goto L_02BCBB20; else goto L_02BCBA94;
|
|
L_02BCBA94: ; // 0x2bcba94
|
|
/* 02BCBA94 */ cpu->r[22] = 0x00000006u;
|
|
L_02BCBA98: ; // 0x2bcba98
|
|
/* 02BCBA98 */ _t49 = cpu->r[21] + 0x00000000u;
|
|
/* 02BCBA98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BCBA9C */ _t50 = cpu->r[30] + 0x00000144u;
|
|
/* 02BCBA9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BCBAA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[6]);
|
|
/* 02BCBAA4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBAA4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BCBAA4 */ if (_t52) goto L_02BCBAB4; else goto L_02BCBAA8;
|
|
L_02BCBAA8: ; // 0x2bcbaa8
|
|
/* 02BCBAA8 */ _t53 = cpu->r[9] + 0x00000024u;
|
|
/* 02BCBAA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BCBAAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000005u);
|
|
/* 02BCBAB0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBAB0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BCBAB0 */ if (_t55) goto L_02BCBAB4; else goto L_02BCBACC;
|
|
L_02BCBAB4: ; // 0x2bcbab4
|
|
/* 02BCBAB4 */ _t56 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCBAB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BCBAB8 */ _t57 = cpu->r[9] + 0x00000018u;
|
|
/* 02BCBAB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BCBABC */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BCBAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCBAC4 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBAC4 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BCBAC4 */ if (_t59) goto L_02BCBAC8; else goto L_02BCBB08;
|
|
L_02BCBAC8: ; // 0x2bcbac8
|
|
/* 02BCBAC8 */ _t60 = cpu->r[21] + 0x00000000u;
|
|
/* 02BCBAC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
L_02BCBACC: ; // 0x2bcbacc
|
|
/* 02BCBACC */ _t61 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCBACC */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BCBAD0 */ _t62 = cpu->r[9] + 0x00000018u;
|
|
/* 02BCBAD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCBAD4 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BCBAD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCBADC */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBADC */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BCBADC */ if (_t64) goto L_02BCBB00; else goto L_02BCBAE0;
|
|
L_02BCBAE0: ; // 0x2bcbae0
|
|
/* 02BCBAE0 */ _t65 = cpu->r[21] + 0x00000000u;
|
|
/* 02BCBAE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BCBAE4 */ _t66 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCBAE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BCBAE8 */ _t67 = cpu->r[10] + 0x00000018u;
|
|
/* 02BCBAE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BCBAEC */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BCBAF0 */ _t68 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCBAF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BCBAF4 */ _t69 = cpu->r[6] + 0x00000050u;
|
|
/* 02BCBAF4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t69);
|
|
/* 02BCBAF8 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02BCBAFC */ _t70 = cpu->r[6] + 0x00000050u;
|
|
/* 02BCBAFC */ rbrew_write16(cpu->mem, _t70, (uint16_t)cpu->r[10]);
|
|
L_02BCBB00: ; // 0x2bcbb00
|
|
/* 02BCBB00 */ _t71 = cpu->r[21] + 0x00000000u;
|
|
/* 02BCBB00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BCBB04 */ _t72 = cpu->r[12] + 0x00000024u;
|
|
/* 02BCBB04 */ rbrew_write32(cpu->mem, _t72, cpu->r[22]);
|
|
L_02BCBB08: ; // 0x2bcbb08
|
|
/* 02BCBB08 */ _t73 = cpu->r[30] + 0x00000034u;
|
|
/* 02BCBB08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BCBB0C */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCBB10 */ cpu->r[21] = cpu->r[21] + 0x00000004u;
|
|
/* 02BCBB14 */ cpu->r[0] = cpu->r[23] + cpu->r[11];
|
|
/* 02BCBB18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[0]);
|
|
/* 02BCBB1C */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBB1C */ _t75 = _t74 & 0x00000001u;
|
|
/* 02BCBB1C */ if (_t75) goto L_02BCBB20; else goto L_02BCBA98;
|
|
L_02BCBB20: ; // 0x2bcbb20
|
|
/* 02BCBB20 */ cpu->r[3] = cpu->r[28] + 0x00000078u;
|
|
/* 02BCBB24 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BCBB28 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02BCBB2C */ _t76 = cpu->r[28] + 0x00000098u;
|
|
/* 02BCBB2C */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[25]);
|
|
/* 02BCBB30 */ cpu->r[5] = 0x000000FDu;
|
|
/* 02BCBB34 */ _t77 = cpu->r[28] + 0x000000A0u;
|
|
/* 02BCBB34 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[25]);
|
|
/* 02BCBB38 */ _t78 = cpu->r[28] + 0x00000070u;
|
|
/* 02BCBB38 */ rbrew_write32(cpu->mem, _t78, cpu->r[5]);
|
|
/* 02BCBB3C */ _t79 = cpu->r[28] + 0x000000A1u;
|
|
/* 02BCBB3C */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[25]);
|
|
/* 02BCBB40 */ _t80 = cpu->r[28] + 0x0000009Cu;
|
|
/* 02BCBB40 */ rbrew_write32(cpu->mem, _t80, cpu->r[5]);
|
|
/* 02BCBB44 */ _t81 = cpu->r[28] + 0x00000099u;
|
|
/* 02BCBB44 */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[25]);
|
|
/* 02BCBB48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BCBB4C */ _t82 = cpu->r[28] + 0x00000074u;
|
|
/* 02BCBB4C */ rbrew_write32(cpu->mem, _t82, cpu->r[5]);
|
|
/* 02BCBB50 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBB50 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02BCBB50 */ if (_t84) goto L_02BCBBB8; else goto L_02BCBB54;
|
|
L_02BCBB54: ; // 0x2bcbb54
|
|
/* 02BCBB54 */ _t85 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCBB54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BCBB58 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BCBB5C */ cpu->r[3] = cpu->r[28] + 0x000000A4u;
|
|
/* 02BCBB60 */ _t86 = cpu->r[8] + 0x00000052u;
|
|
/* 02BCBB60 */ cpu->r[5] = rbrew_read16(cpu->mem, _t86);
|
|
/* 02BCBB64 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCBB68 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02BCBB6C */ _t87 = cpu->r[28] + 0x00000018u;
|
|
/* 02BCBB6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BCBB70 */ _t88 = cpu->r[28] + 0x000000C8u;
|
|
/* 02BCBB70 */ rbrew_write32(cpu->mem, _t88, cpu->r[31]);
|
|
/* 02BCBB74 */ _t89 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BCBB74 */ rbrew_write32(cpu->mem, _t89, cpu->r[29]);
|
|
/* 02BCBB78 */ _t90 = cpu->r[10] + 0x00000014u;
|
|
/* 02BCBB78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BCBB7C */ cpu->ctr = cpu->r[0];
|
|
/* 02BCBB80 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCBB84 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCBB88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCBB8C */ _t91 = cpu->r[28] + 0x00000018u;
|
|
/* 02BCBB8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BCBB90 */ _t92 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02BCBB90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BCBB94 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCBB98 */ _t93 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCBB98 */ cpu->r[5] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BCBB9C */ _t94 = cpu->r[5] + 0x00000052u;
|
|
/* 02BCBB9C */ cpu->r[5] = rbrew_read16(cpu->mem, _t94);
|
|
/* 02BCBBA0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCBBA4 */ cpu->r[4] = cpu->r[26];
|
|
/* 02BCBBA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCBBAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCBBB0 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBBB0 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02BCBBB0 */ if (_t96) goto L_02BCBC04; else goto L_02BCBBB4;
|
|
L_02BCBBB4: ; // 0x2bcbbb4
|
|
/* 02BCBBB4 */ goto L_02BCBC1C;
|
|
L_02BCBBB8: ; // 0x2bcbbb8
|
|
/* 02BCBBB8 */ _t97 = cpu->r[28] + 0x00000018u;
|
|
/* 02BCBBB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02BCBBBC */ cpu->r[31] = 0x00000000u;
|
|
/* 02BCBBC0 */ _t98 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BCBBC0 */ rbrew_write32(cpu->mem, _t98, cpu->r[25]);
|
|
/* 02BCBBC4 */ _t99 = cpu->r[28] + 0x000000C8u;
|
|
/* 02BCBBC4 */ rbrew_write32(cpu->mem, _t99, cpu->r[31]);
|
|
/* 02BCBBC8 */ _t100 = cpu->r[10] + 0x00000014u;
|
|
/* 02BCBBC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BCBBCC */ cpu->ctr = cpu->r[0];
|
|
/* 02BCBBD0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCBBD4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCBBD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCBBDC */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02BCBBDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BCBBE0 */ _t102 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02BCBBE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BCBBE4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCBBE8 */ _t103 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCBBE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BCBBEC */ _t104 = cpu->r[5] + 0x00000052u;
|
|
/* 02BCBBEC */ cpu->r[5] = rbrew_read16(cpu->mem, _t104);
|
|
/* 02BCBBF0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCBBF4 */ cpu->r[4] = cpu->r[26];
|
|
/* 02BCBBF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCBBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCBC00 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBC00 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02BCBC00 */ if (_t106) goto L_02BCBC04; else goto L_02BCBC1C;
|
|
L_02BCBC04: ; // 0x2bcbc04
|
|
/* 02BCBC04 */ /* nop */
|
|
/* 02BCBC08 */ _t107 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCBC08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BCBC0C */ cpu->lr = cpu->r[0];
|
|
/* 02BCBC10 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BCBC14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCBC18 */ return;
|
|
L_02BCBC1C: ; // 0x2bcbc1c
|
|
/* 02BCBC1C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BCBC20 */ _t108 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BCBC20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02BCBC24 */ _t109 = cpu->r[11] + 0x00000064u;
|
|
/* 02BCBC24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BCBC28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCBC2C */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBC2C */ _t111 = _t110 & 0x00000001u;
|
|
/* 02BCBC2C */ if (_t111) goto L_02BCBC44; else goto L_02BCBC30;
|
|
L_02BCBC30: ; // 0x2bcbc30
|
|
/* 02BCBC30 */ _t112 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCBC30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02BCBC34 */ _t113 = cpu->r[8] + 0x00000058u;
|
|
/* 02BCBC34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02BCBC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BCBC3C */ _t114 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCBC3C */ _t115 = _t114 & 0x00000001u;
|
|
/* 02BCBC3C */ if (_t115) goto L_02BCBC44; else goto L_02BCBC40;
|
|
L_02BCBC40: ; // 0x2bcbc40
|
|
/* 02BCBC40 */ Gambit_fn_02BF9BC8(cpu);
|
|
L_02BCBC44: ; // 0x2bcbc44
|
|
/* 02BCBC44 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCBC48 */ Gambit_fn_02BCA4E0(cpu);
|
|
/* 02BCBC4C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCBC50 */ _t116 = cpu->r[28] + 0x0000006Eu;
|
|
/* 02BCBC50 */ rbrew_write8(cpu->mem, _t116, (uint8_t)cpu->r[0]);
|
|
/* 02BCBC54 */ /* nop */
|
|
/* 02BCBC58 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BCBC5C */ _t117 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCBC5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BCBC60 */ cpu->lr = cpu->r[0];
|
|
/* 02BCBC64 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BCBC68 */ return;
|
|
}
|
|
|
|
// fn_02BCBC6C @ 0x2bcbc6c
|
|
void Gambit_fn_02BCBC6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129;
|
|
|
|
L_02BCBC6C: ; // 0x2bcbc6c
|
|
/* 02BCBC6C */ _t0 = cpu->r[1] + 0xFFFFFEC8u;
|
|
/* 02BCBC6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCBC6C */ cpu->r[1] = _t0;
|
|
/* 02BCBC70 */ /* nop */
|
|
/* 02BCBC74 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCBC78 */ cpu->r[10] = 0x00000008u;
|
|
/* 02BCBC7C */ _t1 = cpu->r[1] + 0x0000013Cu;
|
|
/* 02BCBC7C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCBC80 */ cpu->ctr = cpu->r[10];
|
|
/* 02BCBC84 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCBC88 */ cpu->r[25] = cpu->r[4];
|
|
/* 02BCBC8C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCBC90 */ cpu->r[27] = cpu->r[6];
|
|
/* 02BCBC94 */ cpu->r[28] = cpu->r[7];
|
|
/* 02BCBC98 */ _t2 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BCBC98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BCBC9C */ cpu->r[7] = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCBCA0 */ _t3 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BCBCA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCBCA4 */ cpu->r[26] = cpu->r[5];
|
|
/* 02BCBCA8 */ _t4 = cpu->r[12] + 0x00000064u;
|
|
/* 02BCBCA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCBCAC */ cpu->r[5] = 0x00000000u;
|
|
L_02BCBCB0: ; // 0x2bcbcb0
|
|
/* 02BCBCB0 */ _t5 = cpu->r[7] + 0x00000004u;
|
|
/* 02BCBCB0 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02BCBCB4 */ _t6 = cpu->r[7] + 0x00000008u;
|
|
/* 02BCBCB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
|
|
/* 02BCBCB8 */ _t7 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02BCBCB8 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 02BCBCBC */ _t8 = cpu->r[7] + 0x00000010u;
|
|
/* 02BCBCBC */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02BCBCBC */ cpu->r[7] = _t8;
|
|
/* 02BCBCC0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCBCC0 */ _t9 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCBCC0 */ _t10 = _t9 >> (0x00000002u & 31u);
|
|
/* 02BCBCC0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BCBCC0 */ if (_t11) goto L_02BCBCB0; else goto L_02BCBCC4;
|
|
L_02BCBCC4: ; // 0x2bcbcc4
|
|
/* 02BCBCC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BCBCC8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBCC8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BCBCC8 */ if (_t13) goto L_02BCBE84; else goto L_02BCBCCC;
|
|
L_02BCBCCC: ; // 0x2bcbccc
|
|
/* 02BCBCCC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BCBCD0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCBCD4 */ _t14 = cpu->r[31] + 0xFFFFB790u;
|
|
/* 02BCBCD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCBCD8 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BCBCDC */ _t15 = cpu->r[30] + 0x00000052u;
|
|
/* 02BCBCDC */ cpu->r[4] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02BCBCE0 */ cpu->r[21] = 0x00000000u;
|
|
/* 02BCBCE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[4]);
|
|
/* 02BCBCE8 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCBCE8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BCBCE8 */ if (_t17) goto L_02BCBCEC; else goto L_02BCBE5C;
|
|
L_02BCBCEC: ; // 0x2bcbcec
|
|
/* 02BCBCEC */ cpu->r[22] = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCBCF0 */ cpu->r[24] = 0xFFFFFFFFu;
|
|
/* 02BCBCF4 */ cpu->r[23] = 0x101D0000u;
|
|
L_02BCBCF8: ; // 0x2bcbcf8
|
|
/* 02BCBCF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[25]);
|
|
/* 02BCBCFC */ _t18 = cpu->r[22] + 0x00000004u;
|
|
/* 02BCBCFC */ rbrew_write32(cpu->mem, _t18, cpu->r[24]);
|
|
/* 02BCBCFC */ cpu->r[22] = _t18;
|
|
/* 02BCBD00 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBD00 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BCBD00 */ if (_t20) goto L_02BCBE4C; else goto L_02BCBD04;
|
|
L_02BCBD04: ; // 0x2bcbd04
|
|
/* 02BCBD04 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCBD08 */ cpu->r[4] = cpu->r[21];
|
|
/* 02BCBD0C */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BCBD10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCBD14 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBD14 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BCBD14 */ if (_t22) goto L_02BCBE4C; else goto L_02BCBD18;
|
|
L_02BCBD18: ; // 0x2bcbd18
|
|
/* 02BCBD18 */ _t23 = cpu->r[23] + 0xFFFFB77Cu;
|
|
/* 02BCBD18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCBD1C */ cpu->r[4] = cpu->r[21];
|
|
/* 02BCBD20 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCBD24 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BCBD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BCBD28 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBD28 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BCBD28 */ if (_t25) goto L_02BCBE4C; else goto L_02BCBD2C;
|
|
L_02BCBD2C: ; // 0x2bcbd2c
|
|
/* 02BCBD2C */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCBD30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCBD34 */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BCBD38 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCBD3C */ cpu->r[12] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02BCBD40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCBD40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCBD44 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBD44 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BCBD44 */ if (_t27) goto L_02BCBE4C; else goto L_02BCBD48;
|
|
L_02BCBD48: ; // 0x2bcbd48
|
|
/* 02BCBD48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCBD4C */ cpu->r[20] = 0x00000000u;
|
|
/* 02BCBD50 */ cpu->r[19] = 0x00000001u;
|
|
/* 02BCBD54 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBD54 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BCBD54 */ if (_t29) goto L_02BCBDDC; else goto L_02BCBD58;
|
|
L_02BCBD58: ; // 0x2bcbd58
|
|
/* 02BCBD58 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCBD5C */ cpu->r[5] = cpu->r[25];
|
|
/* 02BCBD60 */ cpu->r[4] = cpu->r[21];
|
|
/* 02BCBD64 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCBD68 */ Gambit_fn_02BFE954(cpu);
|
|
/* 02BCBD6C */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCBD70 */ cpu->r[11] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02BCBD74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCBD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCBD78 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBD78 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BCBD78 */ if (_t31) goto L_02BCBD8C; else goto L_02BCBD7C;
|
|
L_02BCBD7C: ; // 0x2bcbd7c
|
|
/* 02BCBD7C */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCBD7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCBD80 */ cpu->r[6] = cpu->r[25] ^ cpu->r[5];
|
|
/* 02BCBD84 */ cpu->r[7] = rbrew_clz32(cpu->r[6]);
|
|
/* 02BCBD88 */ cpu->r[19] = rbrew_rlwinm(cpu->r[7], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
L_02BCBD8C: ; // 0x2bcbd8c
|
|
/* 02BCBD8C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCBD90 */ cpu->r[4] = cpu->r[21];
|
|
/* 02BCBD94 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCBD98 */ Gambit_fn_02BFE9F4(cpu);
|
|
/* 02BCBD9C */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCBDA0 */ cpu->r[9] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02BCBDA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCBDA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCBDA8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBDA8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BCBDA8 */ if (_t34) goto L_02BCBDD0; else goto L_02BCBDAC;
|
|
L_02BCBDAC: ; // 0x2bcbdac
|
|
/* 02BCBDAC */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCBDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCBDB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCBDB4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBDB4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BCBDB4 */ if (_t37) goto L_02BCBDD0; else goto L_02BCBDB8;
|
|
L_02BCBDB8: ; // 0x2bcbdb8
|
|
/* 02BCBDB8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BCBDB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BCBDBC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBDBC */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BCBDBC */ if (_t39) goto L_02BCBDC4; else goto L_02BCBDC0;
|
|
L_02BCBDC0: ; // 0x2bcbdc0
|
|
/* 02BCBDC0 */ cpu->r[20] = cpu->r[20] + 0x00000001u;
|
|
L_02BCBDC4: ; // 0x2bcbdc4
|
|
/* 02BCBDC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BCBDC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCBDC8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBDC8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BCBDC8 */ if (_t41) goto L_02BCBDCC; else goto L_02BCBDB8;
|
|
L_02BCBDCC: ; // 0x2bcbdcc
|
|
/* 02BCBDCC */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCBDCC */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
L_02BCBDD0: ; // 0x2bcbdd0
|
|
/* 02BCBDD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 02BCBDD4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBDD4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BCBDD4 */ if (_t44) goto L_02BCBDDC; else goto L_02BCBDD8;
|
|
L_02BCBDD8: ; // 0x2bcbdd8
|
|
/* 02BCBDD8 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu;
|
|
L_02BCBDDC: ; // 0x2bcbddc
|
|
/* 02BCBDDC */ _t45 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02BCBDDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BCBDE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCBDE4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BCBDE8 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBDE8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BCBDE8 */ if (_t47) goto L_02BCBE00; else goto L_02BCBDEC;
|
|
L_02BCBDEC: ; // 0x2bcbdec
|
|
/* 02BCBDEC */ cpu->ctr = cpu->r[0];
|
|
/* 02BCBDF0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCBDF4 */ cpu->r[3] = cpu->r[21];
|
|
/* 02BCBDF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCBDFC */ cpu->r[5] = cpu->r[3];
|
|
L_02BCBE00: ; // 0x2bcbe00
|
|
/* 02BCBE00 */ _t48 = cpu->r[1] + 0x00000043u;
|
|
/* 02BCBE00 */ cpu->r[0] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02BCBE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BCBE08 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BCBE0C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBE0C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BCBE0C */ if (_t50) goto L_02BCBE10; else goto L_02BCBE14;
|
|
L_02BCBE10: ; // 0x2bcbe10
|
|
/* 02BCBE10 */ cpu->r[7] = 0x00800000u;
|
|
L_02BCBE14: ; // 0x2bcbe14
|
|
/* 02BCBE14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 02BCBE18 */ cpu->r[9] = 0x00000100u;
|
|
/* 02BCBE1C */ _t51 = cpu->r[30] + 0x00000052u;
|
|
/* 02BCBE1C */ cpu->r[8] = rbrew_read16(cpu->mem, _t51);
|
|
/* 02BCBE20 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBE20 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BCBE20 */ if (_t53) goto L_02BCBE28; else goto L_02BCBE24;
|
|
L_02BCBE24: ; // 0x2bcbe24
|
|
/* 02BCBE24 */ cpu->r[9] = 0x00000000u;
|
|
L_02BCBE28: ; // 0x2bcbe28
|
|
/* 02BCBE28 */ cpu->r[6] = cpu->r[8] - cpu->r[20];
|
|
/* 02BCBE2C */ cpu->r[4] = cpu->r[7] + cpu->r[9];
|
|
/* 02BCBE30 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x0000000Cu, 0x00000000u, 0x00000013u);
|
|
/* 02BCBE34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCBE38 */ cpu->r[10] = cpu->r[4] + cpu->r[9];
|
|
/* 02BCBE3C */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02BCBE40 */ cpu->r[4] = cpu->r[12] + cpu->r[21];
|
|
/* 02BCBE44 */ cpu->r[5] = cpu->r[4] + 0x00000001u;
|
|
/* 02BCBE48 */ _t54 = cpu->r[22] + 0x00000000u;
|
|
/* 02BCBE48 */ rbrew_write32(cpu->mem, _t54, cpu->r[5]);
|
|
L_02BCBE4C: ; // 0x2bcbe4c
|
|
/* 02BCBE4C */ _t55 = cpu->r[30] + 0x00000052u;
|
|
/* 02BCBE4C */ cpu->r[6] = rbrew_read16(cpu->mem, _t55);
|
|
/* 02BCBE50 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02BCBE54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[6]);
|
|
/* 02BCBE58 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCBE58 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BCBE58 */ if (_t57) goto L_02BCBCF8; else goto L_02BCBE5C;
|
|
L_02BCBE5C: ; // 0x2bcbe5c
|
|
/* 02BCBE5C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCBE60 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCBE64 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BCBE68 */ _t58 = cpu->r[30] + 0x00000052u;
|
|
/* 02BCBE68 */ cpu->r[10] = rbrew_read16(cpu->mem, _t58);
|
|
/* 02BCBE6C */ cpu->r[11] = 0x00000000u;
|
|
/* 02BCBE70 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BCBE74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 02BCBE78 */ cpu->r[12] = cpu->r[11];
|
|
/* 02BCBE7C */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCBE7C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BCBE7C */ if (_t60) goto L_02BCBE80; else goto L_02BCC048;
|
|
L_02BCBE80: ; // 0x2bcbe80
|
|
/* 02BCBE80 */ goto L_02BCBFEC;
|
|
L_02BCBE84: ; // 0x2bcbe84
|
|
/* 02BCBE84 */ _t61 = cpu->r[30] + 0x00000052u;
|
|
/* 02BCBE84 */ cpu->r[10] = rbrew_read16(cpu->mem, _t61);
|
|
/* 02BCBE88 */ cpu->r[23] = 0x00000000u;
|
|
/* 02BCBE8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[10]);
|
|
/* 02BCBE90 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCBE90 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BCBE90 */ if (_t63) goto L_02BCBE94; else goto L_02BCBFD8;
|
|
L_02BCBE94: ; // 0x2bcbe94
|
|
/* 02BCBE94 */ cpu->r[24] = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCBE98 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
L_02BCBE9C: ; // 0x2bcbe9c
|
|
/* 02BCBE9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[25]);
|
|
/* 02BCBEA0 */ _t64 = cpu->r[24] + 0x00000004u;
|
|
/* 02BCBEA0 */ rbrew_write32(cpu->mem, _t64, cpu->r[31]);
|
|
/* 02BCBEA0 */ cpu->r[24] = _t64;
|
|
/* 02BCBEA4 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBEA4 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02BCBEA4 */ if (_t66) goto L_02BCBFC8; else goto L_02BCBEA8;
|
|
L_02BCBEA8: ; // 0x2bcbea8
|
|
/* 02BCBEA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCBEAC */ cpu->r[4] = cpu->r[23];
|
|
/* 02BCBEB0 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BCBEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCBEB8 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBEB8 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BCBEB8 */ if (_t68) goto L_02BCBFC8; else goto L_02BCBEBC;
|
|
L_02BCBEBC: ; // 0x2bcbebc
|
|
/* 02BCBEBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCBEC0 */ cpu->r[22] = 0x00000000u;
|
|
/* 02BCBEC4 */ cpu->r[21] = 0x00000001u;
|
|
/* 02BCBEC8 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBEC8 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02BCBEC8 */ if (_t70) goto L_02BCBF50; else goto L_02BCBECC;
|
|
L_02BCBECC: ; // 0x2bcbecc
|
|
/* 02BCBECC */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02BCBED0 */ cpu->r[5] = cpu->r[25];
|
|
/* 02BCBED4 */ cpu->r[4] = cpu->r[23];
|
|
/* 02BCBED8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCBEDC */ Gambit_fn_02BFE954(cpu);
|
|
/* 02BCBEE0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCBEE4 */ cpu->r[9] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02BCBEE8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCBEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BCBEEC */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBEEC */ _t72 = _t71 & 0x00000001u;
|
|
/* 02BCBEEC */ if (_t72) goto L_02BCBF00; else goto L_02BCBEF0;
|
|
L_02BCBEF0: ; // 0x2bcbef0
|
|
/* 02BCBEF0 */ _t73 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCBEF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BCBEF4 */ cpu->r[7] = cpu->r[25] ^ cpu->r[5];
|
|
/* 02BCBEF8 */ cpu->r[0] = rbrew_clz32(cpu->r[7]);
|
|
/* 02BCBEFC */ cpu->r[21] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
L_02BCBF00: ; // 0x2bcbf00
|
|
/* 02BCBF00 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCBF04 */ cpu->r[4] = cpu->r[23];
|
|
/* 02BCBF08 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCBF0C */ Gambit_fn_02BFE9F4(cpu);
|
|
/* 02BCBF10 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCBF14 */ cpu->r[10] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02BCBF18 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCBF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BCBF1C */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBF1C */ _t75 = _t74 & 0x00000001u;
|
|
/* 02BCBF1C */ if (_t75) goto L_02BCBF44; else goto L_02BCBF20;
|
|
L_02BCBF20: ; // 0x2bcbf20
|
|
/* 02BCBF20 */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCBF20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BCBF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BCBF28 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBF28 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02BCBF28 */ if (_t78) goto L_02BCBF44; else goto L_02BCBF2C;
|
|
L_02BCBF2C: ; // 0x2bcbf2c
|
|
/* 02BCBF2C */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BCBF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BCBF30 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBF30 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BCBF30 */ if (_t80) goto L_02BCBF38; else goto L_02BCBF34;
|
|
L_02BCBF34: ; // 0x2bcbf34
|
|
/* 02BCBF34 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
L_02BCBF38: ; // 0x2bcbf38
|
|
/* 02BCBF38 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BCBF38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BCBF3C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBF3C */ _t82 = _t81 & 0x00000001u;
|
|
/* 02BCBF3C */ if (_t82) goto L_02BCBF40; else goto L_02BCBF2C;
|
|
L_02BCBF40: ; // 0x2bcbf40
|
|
/* 02BCBF40 */ _t83 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCBF40 */ rbrew_write32(cpu->mem, _t83, cpu->r[9]);
|
|
L_02BCBF44: ; // 0x2bcbf44
|
|
/* 02BCBF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02BCBF48 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBF48 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02BCBF48 */ if (_t85) goto L_02BCBF50; else goto L_02BCBF4C;
|
|
L_02BCBF4C: ; // 0x2bcbf4c
|
|
/* 02BCBF4C */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
L_02BCBF50: ; // 0x2bcbf50
|
|
/* 02BCBF50 */ _t86 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02BCBF50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BCBF54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCBF58 */ cpu->r[20] = 0x00000000u;
|
|
/* 02BCBF5C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBF5C */ _t88 = _t87 & 0x00000001u;
|
|
/* 02BCBF5C */ if (_t88) goto L_02BCBF74; else goto L_02BCBF60;
|
|
L_02BCBF60: ; // 0x2bcbf60
|
|
/* 02BCBF60 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCBF64 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCBF68 */ cpu->r[3] = cpu->r[23];
|
|
/* 02BCBF6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCBF70 */ cpu->r[20] = cpu->r[3];
|
|
L_02BCBF74: ; // 0x2bcbf74
|
|
/* 02BCBF74 */ _t89 = cpu->r[30] + 0x00000010u;
|
|
/* 02BCBF74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BCBF78 */ cpu->r[4] = cpu->r[23];
|
|
/* 02BCBF7C */ cpu->r[19] = 0x00000000u;
|
|
/* 02BCBF80 */ Gambit_fn_02BD125C(cpu);
|
|
/* 02BCBF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCBF88 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBF88 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02BCBF88 */ if (_t91) goto L_02BCBF90; else goto L_02BCBF8C;
|
|
L_02BCBF8C: ; // 0x2bcbf8c
|
|
/* 02BCBF8C */ cpu->r[19] = 0x00800000u;
|
|
L_02BCBF90: ; // 0x2bcbf90
|
|
/* 02BCBF90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02BCBF94 */ cpu->r[4] = 0x00000100u;
|
|
/* 02BCBF98 */ _t92 = cpu->r[30] + 0x00000052u;
|
|
/* 02BCBF98 */ cpu->r[9] = rbrew_read16(cpu->mem, _t92);
|
|
/* 02BCBF9C */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCBF9C */ _t94 = _t93 & 0x00000001u;
|
|
/* 02BCBF9C */ if (_t94) goto L_02BCBFA4; else goto L_02BCBFA0;
|
|
L_02BCBFA0: ; // 0x2bcbfa0
|
|
/* 02BCBFA0 */ cpu->r[4] = 0x00000000u;
|
|
L_02BCBFA4: ; // 0x2bcbfa4
|
|
/* 02BCBFA4 */ cpu->r[0] = cpu->r[9] - cpu->r[22];
|
|
/* 02BCBFA8 */ cpu->r[4] = cpu->r[19] + cpu->r[4];
|
|
/* 02BCBFAC */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000000u, 0x00000013u);
|
|
/* 02BCBFB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[20], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCBFB4 */ cpu->r[12] = cpu->r[4] + cpu->r[11];
|
|
/* 02BCBFB8 */ cpu->r[4] = cpu->r[12] + cpu->r[0];
|
|
/* 02BCBFBC */ cpu->r[5] = cpu->r[4] + cpu->r[23];
|
|
/* 02BCBFC0 */ cpu->r[6] = cpu->r[5] + 0x00000001u;
|
|
/* 02BCBFC4 */ _t95 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCBFC4 */ rbrew_write32(cpu->mem, _t95, cpu->r[6]);
|
|
L_02BCBFC8: ; // 0x2bcbfc8
|
|
/* 02BCBFC8 */ _t96 = cpu->r[30] + 0x00000052u;
|
|
/* 02BCBFC8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t96);
|
|
/* 02BCBFCC */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02BCBFD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[10]);
|
|
/* 02BCBFD4 */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCBFD4 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02BCBFD4 */ if (_t98) goto L_02BCBE9C; else goto L_02BCBFD8;
|
|
L_02BCBFD8: ; // 0x2bcbfd8
|
|
/* 02BCBFD8 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BCBFDC */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BCBFE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 02BCBFE4 */ cpu->r[12] = cpu->r[11];
|
|
/* 02BCBFE8 */ _t99 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCBFE8 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02BCBFE8 */ if (_t100) goto L_02BCBFEC; else goto L_02BCC048;
|
|
L_02BCBFEC: ; // 0x2bcbfec
|
|
/* 02BCBFEC */ cpu->r[0] = cpu->r[10];
|
|
/* 02BCBFEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCBFF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCBFF4 */ _t101 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCBFF4 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02BCBFF4 */ if (_t102) goto L_02BCBFF8; else goto L_02BCC048;
|
|
L_02BCBFF8: ; // 0x2bcbff8
|
|
/* 02BCBFF8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCBFFC */ cpu->r[7] = cpu->r[1] + 0x0000007Cu;
|
|
L_02BCC000: ; // 0x2bcc000
|
|
/* 02BCC000 */ _t103 = cpu->r[7] + 0x00000004u;
|
|
/* 02BCC000 */ cpu->r[6] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BCC000 */ cpu->r[7] = _t103;
|
|
/* 02BCC004 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 02BCC008 */ _t104 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCC008 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02BCC008 */ if (_t105) goto L_02BCC00C; else goto L_02BCC01C;
|
|
L_02BCC00C: ; // 0x2bcc00c
|
|
/* 02BCC00C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]);
|
|
/* 02BCC010 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCC010 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02BCC010 */ if (_t107) goto L_02BCC014; else goto L_02BCC01C;
|
|
L_02BCC014: ; // 0x2bcc014
|
|
/* 02BCC014 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BCC018 */ cpu->r[9] = cpu->r[6];
|
|
L_02BCC01C: ; // 0x2bcc01c
|
|
/* 02BCC01C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02BCC020 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCC020 */ _t108 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCC020 */ _t109 = _t108 >> (0x00000002u & 31u);
|
|
/* 02BCC020 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02BCC020 */ if (_t110) goto L_02BCC000; else goto L_02BCC024;
|
|
L_02BCC024: ; // 0x2bcc024
|
|
/* 02BCC024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0xFFFFFFFFu);
|
|
/* 02BCC028 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC028 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02BCC028 */ if (_t112) goto L_02BCC048; else goto L_02BCC02C;
|
|
L_02BCC02C: ; // 0x2bcc02c
|
|
/* 02BCC02C */ _t113 = cpu->r[26] + cpu->r[11];
|
|
/* 02BCC02C */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[5]);
|
|
/* 02BCC030 */ _t114 = cpu->r[30] + 0x00000052u;
|
|
/* 02BCC030 */ cpu->r[10] = rbrew_read16(cpu->mem, _t114);
|
|
/* 02BCC034 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BCC038 */ cpu->r[12] = cpu->r[9];
|
|
/* 02BCC03C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 02BCC040 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BCC044 */ _t115 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCC044 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02BCC044 */ if (_t116) goto L_02BCBFEC; else goto L_02BCC048;
|
|
L_02BCC048: ; // 0x2bcc048
|
|
/* 02BCC048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[10]);
|
|
/* 02BCC04C */ _t117 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCC04C */ _t118 = _t117 & 0x00000001u;
|
|
/* 02BCC04C */ if (_t118) goto L_02BCC050; else goto L_02BCC068;
|
|
L_02BCC050: ; // 0x2bcc050
|
|
/* 02BCC050 */ cpu->r[5] = 0x000000FDu;
|
|
L_02BCC054: ; // 0x2bcc054
|
|
/* 02BCC054 */ _t119 = cpu->r[26] + cpu->r[11];
|
|
/* 02BCC054 */ rbrew_write8(cpu->mem, _t119, (uint8_t)cpu->r[5]);
|
|
/* 02BCC058 */ _t120 = cpu->r[30] + 0x00000052u;
|
|
/* 02BCC058 */ cpu->r[0] = rbrew_read16(cpu->mem, _t120);
|
|
/* 02BCC05C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BCC060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02BCC064 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCC064 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02BCC064 */ if (_t122) goto L_02BCC054; else goto L_02BCC068;
|
|
L_02BCC068: ; // 0x2bcc068
|
|
/* 02BCC068 */ _t123 = cpu->r[30] + 0x00000078u;
|
|
/* 02BCC068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BCC06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCC070 */ _t124 = cpu->r[27] + 0x00000000u;
|
|
/* 02BCC070 */ rbrew_write32(cpu->mem, _t124, cpu->r[0]);
|
|
/* 02BCC074 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC074 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02BCC074 */ if (_t126) goto L_02BCC07C; else goto L_02BCC078;
|
|
L_02BCC078: ; // 0x2bcc078
|
|
/* 02BCC078 */ _t127 = cpu->r[29] + 0x00000020u;
|
|
/* 02BCC078 */ cpu->r[29] = rbrew_read32(cpu->mem, _t127);
|
|
L_02BCC07C: ; // 0x2bcc07c
|
|
/* 02BCC07C */ _t128 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCC07C */ rbrew_write32(cpu->mem, _t128, cpu->r[29]);
|
|
/* 02BCC080 */ /* nop */
|
|
/* 02BCC084 */ _t129 = cpu->r[1] + 0x0000013Cu;
|
|
/* 02BCC084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02BCC088 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC08C */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 02BCC090 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCC094 */ return;
|
|
}
|
|
|
|
// fn_02BCC098 @ 0x2bcc098
|
|
void Gambit_fn_02BCC098(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BCC098: ; // 0x2bcc098
|
|
/* 02BCC098 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCC09C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCC09C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC09C */ cpu->r[1] = _t0;
|
|
/* 02BCC0A0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC0A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCC0A4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC0A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCC0A8 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC0A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCC0AC */ _t4 = cpu->r[3] + 0x000000C4u;
|
|
/* 02BCC0AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCC0B0 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BCC0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCC0B8 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BCC0BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC0BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCC0BC */ if (_t6) goto L_02BCC0C0; else goto L_02BCC0E8;
|
|
L_02BCC0C0: ; // 0x2bcc0c0
|
|
/* 02BCC0C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC0C4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCC0C8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCC0CC */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC0CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCC0D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC0D4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC0D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCC0D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC0DC */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC0DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCC0E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCC0E4 */ return;
|
|
L_02BCC0E8: ; // 0x2bcc0e8
|
|
/* 02BCC0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x000000FDu);
|
|
/* 02BCC0EC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC0EC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BCC0EC */ if (_t11) goto L_02BCC100; else goto L_02BCC0F0;
|
|
L_02BCC0F0: ; // 0x2bcc0f0
|
|
/* 02BCC0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x000000FDu);
|
|
/* 02BCC0F4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC0F4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BCC0F4 */ if (_t13) goto L_02BCC100; else goto L_02BCC0F8;
|
|
L_02BCC0F8: ; // 0x2bcc0f8
|
|
/* 02BCC0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BCC0FC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC0FC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BCC0FC */ if (_t15) goto L_02BCC100; else goto L_02BCC128;
|
|
L_02BCC100: ; // 0x2bcc100
|
|
/* 02BCC100 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC104 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCC108 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCC10C */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC10C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCC110 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BCC114 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC114 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BCC118 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC11C */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC11C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCC120 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCC124 */ return;
|
|
L_02BCC128: ; // 0x2bcc128
|
|
/* 02BCC128 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCC12C */ _t19 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCC12C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCC130 */ _t20 = cpu->r[12] + 0x00000052u;
|
|
/* 02BCC130 */ cpu->r[10] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02BCC134 */ cpu->r[11] = 0x00000020u;
|
|
/* 02BCC138 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BCC13C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BCC140 */ cpu->r[0] = cpu->r[11];
|
|
/* 02BCC144 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC144 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BCC144 */ if (_t22) goto L_02BCC18C; else goto L_02BCC148;
|
|
L_02BCC148: ; // 0x2bcc148
|
|
/* 02BCC148 */ cpu->ctr = cpu->r[10];
|
|
/* 02BCC14C */ cpu->r[9] = cpu->r[3] + 0x000000A4u;
|
|
L_02BCC150: ; // 0x2bcc150
|
|
/* 02BCC150 */ _t23 = cpu->r[9] + cpu->r[30];
|
|
/* 02BCC150 */ cpu->r[10] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02BCC154 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCC158 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 02BCC15C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC15C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BCC15C */ if (_t25) goto L_02BCC160; else goto L_02BCC164;
|
|
L_02BCC160: ; // 0x2bcc160
|
|
/* 02BCC160 */ cpu->r[11] = cpu->r[30];
|
|
L_02BCC164: ; // 0x2bcc164
|
|
/* 02BCC164 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCC168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 02BCC16C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC16C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BCC16C */ if (_t27) goto L_02BCC170; else goto L_02BCC174;
|
|
L_02BCC170: ; // 0x2bcc170
|
|
/* 02BCC170 */ cpu->r[0] = cpu->r[30];
|
|
L_02BCC174: ; // 0x2bcc174
|
|
/* 02BCC174 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02BCC178 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCC178 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCC178 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 02BCC178 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BCC178 */ if (_t30) goto L_02BCC150; else goto L_02BCC17C;
|
|
L_02BCC17C: ; // 0x2bcc17c
|
|
/* 02BCC17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000020u);
|
|
/* 02BCC180 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC180 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BCC180 */ if (_t32) goto L_02BCC184; else goto L_02BCC1B4;
|
|
L_02BCC184: ; // 0x2bcc184
|
|
/* 02BCC184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02BCC188 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC188 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BCC188 */ if (_t34) goto L_02BCC18C; else goto L_02BCC1B4;
|
|
L_02BCC18C: ; // 0x2bcc18c
|
|
/* 02BCC18C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCC190 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCC194 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCC198 */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCC19C */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BCC1A0 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC1A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCC1A4 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC1A8 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC1A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCC1AC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCC1B0 */ return;
|
|
L_02BCC1B4: ; // 0x2bcc1b4
|
|
/* 02BCC1B4 */ cpu->r[12] = cpu->r[11] - cpu->r[0];
|
|
/* 02BCC1B8 */ cpu->r[5] = cpu->r[12] - cpu->r[12];
|
|
/* 02BCC1BC */ cpu->r[10] = (uint32_t)(-(int32_t)cpu->r[5]);
|
|
/* 02BCC1C0 */ _t38 = cpu->r[6] + 0x00000000u;
|
|
/* 02BCC1C0 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[10]);
|
|
/* 02BCC1C4 */ _t39 = cpu->r[3] + 0x000000C4u;
|
|
/* 02BCC1C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCC1C8 */ _t40 = cpu->r[7] + 0x00000000u;
|
|
/* 02BCC1C8 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 02BCC1CC */ _t41 = cpu->r[3] + 0x000000C8u;
|
|
/* 02BCC1CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCC1D0 */ _t42 = cpu->r[8] + 0x00000000u;
|
|
/* 02BCC1D0 */ rbrew_write32(cpu->mem, _t42, cpu->r[10]);
|
|
/* 02BCC1D4 */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC1D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BCC1D8 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC1D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCC1DC */ cpu->lr = cpu->r[0];
|
|
/* 02BCC1E0 */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC1E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BCC1E4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCC1E8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCC1EC */ return;
|
|
}
|
|
|
|
// fn_02BCC09C @ 0x2bcc09c
|
|
void Gambit_fn_02BCC09C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BCC09C: ; // 0x2bcc09c
|
|
/* 02BCC09C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCC09C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC09C */ cpu->r[1] = _t0;
|
|
/* 02BCC0A0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC0A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCC0A4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC0A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCC0A8 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC0A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCC0AC */ _t4 = cpu->r[3] + 0x000000C4u;
|
|
/* 02BCC0AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCC0B0 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BCC0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCC0B8 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BCC0BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC0BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCC0BC */ if (_t6) goto L_02BCC0C0; else goto L_02BCC0E8;
|
|
L_02BCC0C0: ; // 0x2bcc0c0
|
|
/* 02BCC0C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC0C4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCC0C8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCC0CC */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC0CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCC0D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC0D4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC0D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCC0D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC0DC */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC0DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCC0E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCC0E4 */ return;
|
|
L_02BCC0E8: ; // 0x2bcc0e8
|
|
/* 02BCC0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x000000FDu);
|
|
/* 02BCC0EC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC0EC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BCC0EC */ if (_t11) goto L_02BCC100; else goto L_02BCC0F0;
|
|
L_02BCC0F0: ; // 0x2bcc0f0
|
|
/* 02BCC0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x000000FDu);
|
|
/* 02BCC0F4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC0F4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BCC0F4 */ if (_t13) goto L_02BCC100; else goto L_02BCC0F8;
|
|
L_02BCC0F8: ; // 0x2bcc0f8
|
|
/* 02BCC0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BCC0FC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC0FC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BCC0FC */ if (_t15) goto L_02BCC100; else goto L_02BCC128;
|
|
L_02BCC100: ; // 0x2bcc100
|
|
/* 02BCC100 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC104 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCC108 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCC10C */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC10C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCC110 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BCC114 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC114 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BCC118 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC11C */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC11C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCC120 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCC124 */ return;
|
|
L_02BCC128: ; // 0x2bcc128
|
|
/* 02BCC128 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCC12C */ _t19 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCC12C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCC130 */ _t20 = cpu->r[12] + 0x00000052u;
|
|
/* 02BCC130 */ cpu->r[10] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02BCC134 */ cpu->r[11] = 0x00000020u;
|
|
/* 02BCC138 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BCC13C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BCC140 */ cpu->r[0] = cpu->r[11];
|
|
/* 02BCC144 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC144 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BCC144 */ if (_t22) goto L_02BCC18C; else goto L_02BCC148;
|
|
L_02BCC148: ; // 0x2bcc148
|
|
/* 02BCC148 */ cpu->ctr = cpu->r[10];
|
|
/* 02BCC14C */ cpu->r[9] = cpu->r[3] + 0x000000A4u;
|
|
L_02BCC150: ; // 0x2bcc150
|
|
/* 02BCC150 */ _t23 = cpu->r[9] + cpu->r[30];
|
|
/* 02BCC150 */ cpu->r[10] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02BCC154 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCC158 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 02BCC15C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC15C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BCC15C */ if (_t25) goto L_02BCC160; else goto L_02BCC164;
|
|
L_02BCC160: ; // 0x2bcc160
|
|
/* 02BCC160 */ cpu->r[11] = cpu->r[30];
|
|
L_02BCC164: ; // 0x2bcc164
|
|
/* 02BCC164 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCC168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 02BCC16C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC16C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BCC16C */ if (_t27) goto L_02BCC170; else goto L_02BCC174;
|
|
L_02BCC170: ; // 0x2bcc170
|
|
/* 02BCC170 */ cpu->r[0] = cpu->r[30];
|
|
L_02BCC174: ; // 0x2bcc174
|
|
/* 02BCC174 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02BCC178 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCC178 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCC178 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 02BCC178 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BCC178 */ if (_t30) goto L_02BCC150; else goto L_02BCC17C;
|
|
L_02BCC17C: ; // 0x2bcc17c
|
|
/* 02BCC17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000020u);
|
|
/* 02BCC180 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC180 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BCC180 */ if (_t32) goto L_02BCC184; else goto L_02BCC1B4;
|
|
L_02BCC184: ; // 0x2bcc184
|
|
/* 02BCC184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02BCC188 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC188 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BCC188 */ if (_t34) goto L_02BCC18C; else goto L_02BCC1B4;
|
|
L_02BCC18C: ; // 0x2bcc18c
|
|
/* 02BCC18C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCC190 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCC194 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCC198 */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCC19C */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BCC1A0 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC1A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCC1A4 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC1A8 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC1A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCC1AC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCC1B0 */ return;
|
|
L_02BCC1B4: ; // 0x2bcc1b4
|
|
/* 02BCC1B4 */ cpu->r[12] = cpu->r[11] - cpu->r[0];
|
|
/* 02BCC1B8 */ cpu->r[5] = cpu->r[12] - cpu->r[12];
|
|
/* 02BCC1BC */ cpu->r[10] = (uint32_t)(-(int32_t)cpu->r[5]);
|
|
/* 02BCC1C0 */ _t38 = cpu->r[6] + 0x00000000u;
|
|
/* 02BCC1C0 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[10]);
|
|
/* 02BCC1C4 */ _t39 = cpu->r[3] + 0x000000C4u;
|
|
/* 02BCC1C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCC1C8 */ _t40 = cpu->r[7] + 0x00000000u;
|
|
/* 02BCC1C8 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 02BCC1CC */ _t41 = cpu->r[3] + 0x000000C8u;
|
|
/* 02BCC1CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCC1D0 */ _t42 = cpu->r[8] + 0x00000000u;
|
|
/* 02BCC1D0 */ rbrew_write32(cpu->mem, _t42, cpu->r[10]);
|
|
/* 02BCC1D4 */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC1D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BCC1D8 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC1D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCC1DC */ cpu->lr = cpu->r[0];
|
|
/* 02BCC1E0 */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC1E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BCC1E4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCC1E8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCC1EC */ return;
|
|
}
|
|
|
|
// fn_02BCC1F0 @ 0x2bcc1f0
|
|
void Gambit_fn_02BCC1F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BCC1F0: ; // 0x2bcc1f0
|
|
/* 02BCC1F0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCC1F4 */ _t0 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCC1F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BCC1F8 */ _t1 = cpu->r[12] + 0x00000052u;
|
|
/* 02BCC1F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02BCC1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 02BCC200 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCC200 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BCC200 */ _t4 = _t3 ^ 0x00000001u;
|
|
/* 02BCC200 */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BCC200 */ goto L_02BCC204;
|
|
L_02BCC204: ; // 0x2bcc204
|
|
/* 02BCC204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BCC208 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCC20C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC20C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCC20C */ if (_t6) goto L_02BCC214; else goto L_02BCC210;
|
|
L_02BCC210: ; // 0x2bcc210
|
|
/* 02BCC210 */ cpu->r[0] = 0x00000002u;
|
|
L_02BCC214: ; // 0x2bcc214
|
|
/* 02BCC214 */ cpu->r[11] = cpu->r[3] + cpu->r[4];
|
|
/* 02BCC218 */ _t7 = cpu->r[11] + 0x000000CCu;
|
|
/* 02BCC218 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 02BCC21C */ return;
|
|
}
|
|
|
|
// fn_02BCC220 @ 0x2bcc220
|
|
void Gambit_fn_02BCC220(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BCC220: ; // 0x2bcc220
|
|
/* 02BCC220 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCC224 */ cpu->r[11] = 0x000000FFu;
|
|
/* 02BCC228 */ _t0 = cpu->r[3] + 0x00000068u;
|
|
/* 02BCC228 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BCC22C */ _t1 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02BCC22C */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[11]);
|
|
/* 02BCC230 */ _t2 = cpu->r[3] + 0x00000064u;
|
|
/* 02BCC230 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCC234 */ _t3 = cpu->r[3] + 0x0000006Du;
|
|
/* 02BCC234 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]);
|
|
/* 02BCC238 */ _t4 = cpu->r[3] + 0x00000060u;
|
|
/* 02BCC238 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BCC23C */ return;
|
|
}
|
|
|
|
// fn_02BCC240 @ 0x2bcc240
|
|
void Gambit_fn_02BCC240(CPUState* cpu) {
|
|
uint32_t _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_02BCC240: ; // 0x2bcc240
|
|
/* 02BCC240 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCC244 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BCC244 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC244 */ cpu->r[1] = _t0;
|
|
/* 02BCC248 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC248 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BCC24C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC24C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BCC250 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCC250 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BCC254 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC254 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BCC258 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCC25C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC25C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BCC260 */ _t6 = cpu->r[30] + 0x00000068u;
|
|
/* 02BCC260 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCC264 */ cpu->r[29] = 0x10200000u;
|
|
/* 02BCC268 */ cpu->r[29] = cpu->r[29] + 0x000006B8u;
|
|
/* 02BCC26C */ _t7 = cpu->r[29] + 0x0000078Cu;
|
|
/* 02BCC26C */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02BCC270 */ _t8 = cpu->r[30] + 0x00000064u;
|
|
/* 02BCC270 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCC274 */ _t9 = cpu->r[30] + 0x00000060u;
|
|
/* 02BCC274 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCC278 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCC27C */ cpu->r[4] = cpu->r[28];
|
|
/* 02BCC280 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCC280 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCC284 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCC284 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCC288 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC28C */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BCC290 */ cpu->r[12] = cpu->r[4];
|
|
/* 02BCC290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BCC294 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC294 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BCC294 */ if (_t13) goto L_02BCC298; else goto L_02BCC29C;
|
|
L_02BCC298: ; // 0x2bcc298
|
|
/* 02BCC298 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
L_02BCC29C: ; // 0x2bcc29c
|
|
/* 02BCC29C */ _t14 = cpu->r[29] + 0x00000790u;
|
|
/* 02BCC29C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02BCC2A0 */ _t15 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02BCC2A0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02BCC2A4 */ _t16 = cpu->r[29] + 0x00000794u;
|
|
/* 02BCC2A4 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[11]);
|
|
/* 02BCC2A8 */ _t17 = cpu->r[30] + 0x0000006Du;
|
|
/* 02BCC2A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02BCC2AC */ _t18 = cpu->r[29] + 0x00000795u;
|
|
/* 02BCC2AC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 02BCC2B0 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC2B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCC2B4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC2B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BCC2B8 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC2B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCC2BC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCC2BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCC2C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC2C4 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC2C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCC2C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC2CC */ return;
|
|
}
|
|
|
|
// fn_02BCC244 @ 0x2bcc244
|
|
void Gambit_fn_02BCC244(CPUState* cpu) {
|
|
uint32_t _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_02BCC244: ; // 0x2bcc244
|
|
/* 02BCC244 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BCC244 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC244 */ cpu->r[1] = _t0;
|
|
/* 02BCC248 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC248 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BCC24C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC24C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BCC250 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCC250 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BCC254 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC254 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BCC258 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCC25C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC25C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BCC260 */ _t6 = cpu->r[30] + 0x00000068u;
|
|
/* 02BCC260 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCC264 */ cpu->r[29] = 0x10200000u;
|
|
/* 02BCC268 */ cpu->r[29] = cpu->r[29] + 0x000006B8u;
|
|
/* 02BCC26C */ _t7 = cpu->r[29] + 0x0000078Cu;
|
|
/* 02BCC26C */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02BCC270 */ _t8 = cpu->r[30] + 0x00000064u;
|
|
/* 02BCC270 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCC274 */ _t9 = cpu->r[30] + 0x00000060u;
|
|
/* 02BCC274 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCC278 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCC27C */ cpu->r[4] = cpu->r[28];
|
|
/* 02BCC280 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCC280 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCC284 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCC284 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCC288 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC28C */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BCC290 */ cpu->r[12] = cpu->r[4];
|
|
/* 02BCC290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BCC294 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC294 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BCC294 */ if (_t13) goto L_02BCC298; else goto L_02BCC29C;
|
|
L_02BCC298: ; // 0x2bcc298
|
|
/* 02BCC298 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
L_02BCC29C: ; // 0x2bcc29c
|
|
/* 02BCC29C */ _t14 = cpu->r[29] + 0x00000790u;
|
|
/* 02BCC29C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02BCC2A0 */ _t15 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02BCC2A0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02BCC2A4 */ _t16 = cpu->r[29] + 0x00000794u;
|
|
/* 02BCC2A4 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[11]);
|
|
/* 02BCC2A8 */ _t17 = cpu->r[30] + 0x0000006Du;
|
|
/* 02BCC2A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02BCC2AC */ _t18 = cpu->r[29] + 0x00000795u;
|
|
/* 02BCC2AC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 02BCC2B0 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC2B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCC2B4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC2B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BCC2B8 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC2B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCC2BC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCC2BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCC2C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC2C4 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC2C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCC2C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC2CC */ return;
|
|
}
|
|
|
|
// fn_02BCC2D0 @ 0x2bcc2d0
|
|
void Gambit_fn_02BCC2D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BCC2D0: ; // 0x2bcc2d0
|
|
/* 02BCC2D0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCC2D4 */ _t0 = cpu->r[3] + 0x00000074u;
|
|
/* 02BCC2D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BCC2D8 */ _t1 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCC2D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BCC2DC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BCC2E0 */ _t2 = cpu->r[12] + 0x00000058u;
|
|
/* 02BCC2E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCC2E4 */ _t3 = cpu->r[11] + 0xFFFFB77Cu;
|
|
/* 02BCC2E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCC2E8 */ _t4 = cpu->r[3] + 0x00000074u;
|
|
/* 02BCC2E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCC2EC */ _t5 = cpu->r[11] + 0x00000148u;
|
|
/* 02BCC2EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BCC2F0 */ return;
|
|
}
|
|
|
|
// fn_02BCC2F4 @ 0x2bcc2f4
|
|
void Gambit_fn_02BCC2F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BCC2F4: ; // 0x2bcc2f4
|
|
/* 02BCC2F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCC2F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCC2F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC2F8 */ cpu->r[1] = _t0;
|
|
/* 02BCC2FC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC2FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCC300 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC300 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCC304 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCC308 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCC30C */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCC310 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC310 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCC314 */ cpu->r[3] = cpu->r[30] + 0x00000078u;
|
|
/* 02BCC318 */ _t4 = cpu->r[30] + 0x0000006Eu;
|
|
/* 02BCC318 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[4]);
|
|
/* 02BCC31C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BCC320 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCC324 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BCC328 */ _t5 = cpu->r[30] + 0x000000C4u;
|
|
/* 02BCC328 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 02BCC32C */ cpu->r[3] = cpu->r[30] + 0x000000CCu;
|
|
/* 02BCC330 */ _t6 = cpu->r[30] + 0x00000070u;
|
|
/* 02BCC330 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BCC334 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCC338 */ _t7 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BCC338 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BCC33C */ _t8 = cpu->r[30] + 0x00000098u;
|
|
/* 02BCC33C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[4]);
|
|
/* 02BCC340 */ _t9 = cpu->r[30] + 0x00000074u;
|
|
/* 02BCC340 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BCC344 */ _t10 = cpu->r[30] + 0x000000A1u;
|
|
/* 02BCC344 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[4]);
|
|
/* 02BCC348 */ _t11 = cpu->r[30] + 0x00000099u;
|
|
/* 02BCC348 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[4]);
|
|
/* 02BCC34C */ _t12 = cpu->r[30] + 0x000000A0u;
|
|
/* 02BCC34C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[4]);
|
|
/* 02BCC350 */ _t13 = cpu->r[30] + 0x000000C8u;
|
|
/* 02BCC350 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 02BCC354 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BCC358 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCC35C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC35C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCC360 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC364 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC364 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCC368 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCC36C */ return;
|
|
}
|
|
|
|
// fn_02BCC2F8 @ 0x2bcc2f8
|
|
void Gambit_fn_02BCC2F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BCC2F8: ; // 0x2bcc2f8
|
|
/* 02BCC2F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCC2F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC2F8 */ cpu->r[1] = _t0;
|
|
/* 02BCC2FC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC2FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCC300 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC300 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCC304 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCC308 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCC30C */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCC310 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC310 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCC314 */ cpu->r[3] = cpu->r[30] + 0x00000078u;
|
|
/* 02BCC318 */ _t4 = cpu->r[30] + 0x0000006Eu;
|
|
/* 02BCC318 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[4]);
|
|
/* 02BCC31C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BCC320 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCC324 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BCC328 */ _t5 = cpu->r[30] + 0x000000C4u;
|
|
/* 02BCC328 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 02BCC32C */ cpu->r[3] = cpu->r[30] + 0x000000CCu;
|
|
/* 02BCC330 */ _t6 = cpu->r[30] + 0x00000070u;
|
|
/* 02BCC330 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BCC334 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCC338 */ _t7 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BCC338 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BCC33C */ _t8 = cpu->r[30] + 0x00000098u;
|
|
/* 02BCC33C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[4]);
|
|
/* 02BCC340 */ _t9 = cpu->r[30] + 0x00000074u;
|
|
/* 02BCC340 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BCC344 */ _t10 = cpu->r[30] + 0x000000A1u;
|
|
/* 02BCC344 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[4]);
|
|
/* 02BCC348 */ _t11 = cpu->r[30] + 0x00000099u;
|
|
/* 02BCC348 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[4]);
|
|
/* 02BCC34C */ _t12 = cpu->r[30] + 0x000000A0u;
|
|
/* 02BCC34C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[4]);
|
|
/* 02BCC350 */ _t13 = cpu->r[30] + 0x000000C8u;
|
|
/* 02BCC350 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 02BCC354 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BCC358 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCC35C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC35C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCC360 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC364 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC364 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCC368 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCC36C */ return;
|
|
}
|
|
|
|
// fn_02BCC370 @ 0x2bcc370
|
|
void Gambit_fn_02BCC370(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BCC370: ; // 0x2bcc370
|
|
/* 02BCC370 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCC374 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCC374 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC374 */ cpu->r[1] = _t0;
|
|
/* 02BCC378 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC378 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCC37C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC37C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCC380 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCC384 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC384 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCC388 */ _t4 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BCC388 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCC388 */ cpu->r[30] = _t4;
|
|
/* 02BCC38C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BCC390 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BCC394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCC398 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC398 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCC398 */ if (_t6) goto L_02BCC3E0; else goto L_02BCC39C;
|
|
L_02BCC39C: ; // 0x2bcc39c
|
|
/* 02BCC39C */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCC39C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCC3A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BCC3A4 */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BCC3A8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BCC3AC */ _t8 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BCC3AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCC3B0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BCC3B4 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCC3B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCC3BC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC3BC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCC3BC */ if (_t10) goto L_02BCC3D0; else goto L_02BCC3C0;
|
|
L_02BCC3C0: ; // 0x2bcc3c0
|
|
/* 02BCC3C0 */ cpu->r[0] = 0x00000006u;
|
|
/* 02BCC3C4 */ cpu->r[4] = 0x000000FDu;
|
|
/* 02BCC3C8 */ _t11 = cpu->r[3] + 0x00000024u;
|
|
/* 02BCC3C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BCC3CC */ Gambit_fn_02BF069C(cpu);
|
|
L_02BCC3D0: ; // 0x2bcc3d0
|
|
/* 02BCC3D0 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCC3D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCC3D4 */ _t13 = cpu->r[12] + 0x00000050u;
|
|
/* 02BCC3D4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02BCC3D8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02BCC3DC */ _t14 = cpu->r[12] + 0x00000050u;
|
|
/* 02BCC3DC */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[11]);
|
|
L_02BCC3E0: ; // 0x2bcc3e0
|
|
/* 02BCC3E0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC3E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCC3E4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC3E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCC3E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC3EC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC3EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BCC3F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCC3F4 */ return;
|
|
}
|
|
|
|
// fn_02BCC374 @ 0x2bcc374
|
|
void Gambit_fn_02BCC374(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BCC374: ; // 0x2bcc374
|
|
/* 02BCC374 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCC374 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC374 */ cpu->r[1] = _t0;
|
|
/* 02BCC378 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC378 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCC37C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC37C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCC380 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCC384 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC384 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCC388 */ _t4 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BCC388 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCC388 */ cpu->r[30] = _t4;
|
|
/* 02BCC38C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BCC390 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BCC394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCC398 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC398 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCC398 */ if (_t6) goto L_02BCC3E0; else goto L_02BCC39C;
|
|
L_02BCC39C: ; // 0x2bcc39c
|
|
/* 02BCC39C */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCC39C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCC3A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BCC3A4 */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BCC3A8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BCC3AC */ _t8 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BCC3AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCC3B0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BCC3B4 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCC3B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCC3BC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC3BC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCC3BC */ if (_t10) goto L_02BCC3D0; else goto L_02BCC3C0;
|
|
L_02BCC3C0: ; // 0x2bcc3c0
|
|
/* 02BCC3C0 */ cpu->r[0] = 0x00000006u;
|
|
/* 02BCC3C4 */ cpu->r[4] = 0x000000FDu;
|
|
/* 02BCC3C8 */ _t11 = cpu->r[3] + 0x00000024u;
|
|
/* 02BCC3C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BCC3CC */ Gambit_fn_02BF069C(cpu);
|
|
L_02BCC3D0: ; // 0x2bcc3d0
|
|
/* 02BCC3D0 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCC3D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCC3D4 */ _t13 = cpu->r[12] + 0x00000050u;
|
|
/* 02BCC3D4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02BCC3D8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02BCC3DC */ _t14 = cpu->r[12] + 0x00000050u;
|
|
/* 02BCC3DC */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[11]);
|
|
L_02BCC3E0: ; // 0x2bcc3e0
|
|
/* 02BCC3E0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC3E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCC3E4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC3E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCC3E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC3EC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC3EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BCC3F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCC3F4 */ return;
|
|
}
|
|
|
|
// fn_02BCC3F8 @ 0x2bcc3f8
|
|
void Gambit_fn_02BCC3F8(CPUState* cpu) {
|
|
L_02BCC3F8: ; // 0x2bcc3f8
|
|
/* 02BCC3F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCC3FC */ return;
|
|
}
|
|
|
|
// fn_02BCC400 @ 0x2bcc400
|
|
void Gambit_fn_02BCC400(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BCC400: ; // 0x2bcc400
|
|
/* 02BCC400 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCC404 */ _t0 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCC404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BCC408 */ _t1 = cpu->r[12] + 0x00000010u;
|
|
/* 02BCC408 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BCC40C */ goto L_02BD1214;
|
|
L_02BD1214: ; // 0x2bd1214
|
|
/* 02BD1214 */ _t2 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD1214 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD1218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD121C */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BD1220 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1220 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD1220 */ if (_t4) goto L_02BD1254; else goto L_02BD1224;
|
|
L_02BD1224: ; // 0x2bd1224
|
|
/* 02BD1224 */ _t5 = cpu->r[3] + 0x00000084u;
|
|
/* 02BD1224 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD1228 */ cpu->ctr = cpu->r[8];
|
|
/* 02BD122C */ cpu->r[12] = 0x00000000u;
|
|
L_02BD1230: ; // 0x2bd1230
|
|
/* 02BD1230 */ _t6 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02BD1230 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD1234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[4]);
|
|
/* 02BD1238 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1238 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD1238 */ if (_t8) goto L_02BD123C; else goto L_02BD1248;
|
|
L_02BD123C: ; // 0x2bd123c
|
|
/* 02BD123C */ _t9 = cpu->r[3] + 0x00000088u;
|
|
/* 02BD123C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD1240 */ _t10 = cpu->r[10] + cpu->r[12];
|
|
/* 02BD1240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD1244 */ goto L_02BD1254;
|
|
L_02BD1248: ; // 0x2bd1248
|
|
/* 02BD1248 */ cpu->r[11] = cpu->r[11] + 0x00000068u;
|
|
/* 02BD124C */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 02BD1250 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD1250 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD1250 */ _t12 = _t11 >> (0x00000002u & 31u);
|
|
/* 02BD1250 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD1250 */ if (_t13) goto L_02BD1230; else goto L_02BD1254;
|
|
L_02BD1254: ; // 0x2bd1254
|
|
/* 02BD1254 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BD1258 */ return;
|
|
}
|
|
|
|
// fn_02BCC410 @ 0x2bcc410
|
|
void Gambit_fn_02BCC410(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BCC410: ; // 0x2bcc410
|
|
/* 02BCC410 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BCC414 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BCC418 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BCC41C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BCC420 */ _t0 = cpu->r[9] + 0x0000274Cu;
|
|
/* 02BCC420 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BCC420 */ cpu->r[9] = _t0;
|
|
/* 02BCC424 */ _t1 = cpu->r[11] + 0x00002744u;
|
|
/* 02BCC424 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCC424 */ cpu->r[11] = _t1;
|
|
/* 02BCC428 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BCC42C */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BCC42C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BCC430 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BCC434 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BCC434 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BCC438 */ _t4 = cpu->r[11] + 0x00002754u;
|
|
/* 02BCC438 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BCC438 */ cpu->r[11] = _t4;
|
|
/* 02BCC43C */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BCC43C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BCC440 */ return;
|
|
}
|
|
|
|
// fn_02BCC444 @ 0x2bcc444
|
|
void Gambit_fn_02BCC444(CPUState* cpu) {
|
|
L_02BCC444: ; // 0x2bcc444
|
|
/* 02BCC444 */ return;
|
|
}
|
|
|
|
// fn_02BCC448 @ 0x2bcc448
|
|
void Gambit_fn_02BCC448(CPUState* cpu) {
|
|
L_02BCC448: ; // 0x2bcc448
|
|
/* 02BCC448 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCC44C */ return;
|
|
}
|
|
|
|
// fn_02BCC450 @ 0x2bcc450
|
|
void Gambit_fn_02BCC450(CPUState* cpu) {
|
|
L_02BCC450: ; // 0x2bcc450
|
|
/* 02BCC450 */ return;
|
|
}
|
|
|
|
// fn_02BCC454 @ 0x2bcc454
|
|
void Gambit_fn_02BCC454(CPUState* cpu) {
|
|
L_02BCC454: ; // 0x2bcc454
|
|
/* 02BCC454 */ return;
|
|
}
|
|
|
|
// fn_02BCC458 @ 0x2bcc458
|
|
void Gambit_fn_02BCC458(CPUState* cpu) {
|
|
L_02BCC458: ; // 0x2bcc458
|
|
/* 02BCC458 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCC45C */ return;
|
|
}
|
|
|
|
// fn_02BCC460 @ 0x2bcc460
|
|
void Gambit_fn_02BCC460(CPUState* cpu) {
|
|
L_02BCC460: ; // 0x2bcc460
|
|
/* 02BCC460 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCC464 */ return;
|
|
}
|
|
|
|
// fn_02BCC468 @ 0x2bcc468
|
|
void Gambit_fn_02BCC468(CPUState* cpu) {
|
|
L_02BCC468: ; // 0x2bcc468
|
|
/* 02BCC468 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCC46C */ return;
|
|
}
|
|
|
|
// fn_02BCC470 @ 0x2bcc470
|
|
void Gambit_fn_02BCC470(CPUState* cpu) {
|
|
L_02BCC470: ; // 0x2bcc470
|
|
/* 02BCC470 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCC474 */ return;
|
|
}
|
|
|
|
// fn_02BCC478 @ 0x2bcc478
|
|
void Gambit_fn_02BCC478(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02BCC478: ; // 0x2bcc478
|
|
/* 02BCC478 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCC478 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC478 */ cpu->r[1] = _t0;
|
|
/* 02BCC47C */ cpu->r[0] = cpu->lr;
|
|
/* 02BCC480 */ /* nop */
|
|
/* 02BCC484 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCC484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCC488 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC488 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCC48C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC48C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BCC48C */ if (_t3) goto L_02BCC490; else goto L_02BCC4A0;
|
|
L_02BCC490: ; // 0x2bcc490
|
|
/* 02BCC490 */ cpu->r[3] = 0x00000088u;
|
|
/* 02BCC494 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BCC498 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCC498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCC49C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC49C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCC49C */ if (_t5) goto L_02BCC5D8; else goto L_02BCC4A0;
|
|
L_02BCC4A0: ; // 0x2bcc4a0
|
|
/* 02BCC4A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC4A4 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BCC4A8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02BCC4AC */ cpu->r[12] = 0x00007530u;
|
|
/* 02BCC4B0 */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCC4B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 02BCC4B4 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BCC4B8 */ _t7 = cpu->r[31] + 0x00000048u;
|
|
/* 02BCC4B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BCC4BC */ cpu->r[11] = cpu->r[11] + 0x00003E74u;
|
|
/* 02BCC4C0 */ _t8 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCC4C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 02BCC4C4 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCC4C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02BCC4C8 */ cpu->r[3] = cpu->r[31] + 0x00000068u;
|
|
/* 02BCC4CC */ _t10 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BCC4CC */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 02BCC4D0 */ Gambit_fn_02B6A710(cpu);
|
|
/* 02BCC4D4 */ _t11 = cpu->r[31] + 0x00000082u;
|
|
/* 02BCC4D4 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[28]);
|
|
/* 02BCC4D8 */ cpu->r[29] = 0x00000003u;
|
|
/* 02BCC4DC */ _t12 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCC4DC */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[28]);
|
|
/* 02BCC4E0 */ _t13 = cpu->r[31] + 0x00000081u;
|
|
/* 02BCC4E0 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[29]);
|
|
/* 02BCC4E4 */ cpu->r[6] = 0x000000FDu;
|
|
/* 02BCC4E8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCC4EC */ _t14 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BCC4EC */ rbrew_write32(cpu->mem, _t14, cpu->r[6]);
|
|
/* 02BCC4F0 */ _t15 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCC4F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCC4F4 */ cpu->r[8] = 0x38E40000u;
|
|
/* 02BCC4F8 */ _t16 = cpu->r[12] + 0x00000052u;
|
|
/* 02BCC4F8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02BCC4FC */ cpu->r[8] = cpu->r[8] + 0xFFFF8E39u;
|
|
/* 02BCC500 */ cpu->r[10] = (uint32_t)(((int64_t)(int32_t)cpu->r[8] * (int64_t)(int32_t)cpu->r[9]) >> 32);
|
|
/* 02BCC504 */ /* nop */
|
|
/* 02BCC508 */ cpu->r[12] = cpu->r[10];
|
|
/* 02BCC50C */ /* nop */
|
|
/* 02BCC510 */ /* nop */
|
|
/* 02BCC514 */ cpu->r[12] = cpu->r[12] - cpu->r[7];
|
|
/* 02BCC518 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000009u);
|
|
/* 02BCC51C */ cpu->r[11] = cpu->r[9] - cpu->r[12];
|
|
/* 02BCC520 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[11]);
|
|
/* 02BCC524 */ _t17 = ~cpu->r[11];
|
|
/* 02BCC524 */ cpu->r[6] = cpu->r[0] & _t17;
|
|
/* 02BCC528 */ cpu->r[10] = cpu->r[10] - cpu->r[7];
|
|
/* 02BCC52C */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCC530 */ cpu->r[30] = cpu->r[31] + 0x00000058u;
|
|
/* 02BCC534 */ cpu->r[27] = cpu->r[10] + cpu->r[0];
|
|
L_02BCC538: ; // 0x2bcc538
|
|
/* 02BCC538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[27]);
|
|
/* 02BCC53C */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCC53C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BCC53C */ if (_t19) goto L_02BCC540; else goto L_02BCC5AC;
|
|
L_02BCC540: ; // 0x2bcc540
|
|
/* 02BCC540 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BCC544 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BCC548 */ cpu->r[3] = 0x000005AAu;
|
|
/* 02BCC54C */ cpu->r[5] = 0x00000004u;
|
|
/* 02BCC550 */ Gambit_fn_02C07D54(cpu);
|
|
/* 02BCC554 */ cpu->r[0] = cpu->r[3];
|
|
/* 02BCC554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCC558 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC558 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BCC558 */ if (_t21) goto L_02BCC55C; else goto L_02BCC574;
|
|
L_02BCC55C: ; // 0x2bcc55c
|
|
/* 02BCC55C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02BCC55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCC560 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCC564 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02BCC568 */ _t22 = cpu->r[30] + 0x00000004u;
|
|
/* 02BCC568 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02BCC568 */ cpu->r[30] = _t22;
|
|
/* 02BCC56C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC56C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BCC56C */ if (_t24) goto L_02BCC570; else goto L_02BCC538;
|
|
L_02BCC570: ; // 0x2bcc570
|
|
/* 02BCC570 */ goto L_02BCC5C0;
|
|
L_02BCC574: ; // 0x2bcc574
|
|
/* 02BCC574 */ cpu->r[7] = 0x000005AAu;
|
|
/* 02BCC578 */ cpu->r[10] = cpu->r[0];
|
|
/* 02BCC57C */ cpu->ctr = cpu->r[7];
|
|
/* 02BCC580 */ cpu->r[8] = 0x00000000u;
|
|
L_02BCC584: ; // 0x2bcc584
|
|
/* 02BCC584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BCC588 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC588 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BCC588 */ if (_t26) goto L_02BCC590; else goto L_02BCC58C;
|
|
L_02BCC58C: ; // 0x2bcc58c
|
|
/* 02BCC58C */ _t27 = cpu->r[10] + 0x00000000u;
|
|
/* 02BCC58C */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[8]);
|
|
L_02BCC590: ; // 0x2bcc590
|
|
/* 02BCC590 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02BCC594 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCC594 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCC594 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 02BCC594 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BCC594 */ if (_t30) goto L_02BCC584; else goto L_02BCC598;
|
|
L_02BCC598: ; // 0x2bcc598
|
|
/* 02BCC598 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02BCC598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCC59C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02BCC5A0 */ _t31 = cpu->r[30] + 0x00000004u;
|
|
/* 02BCC5A0 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02BCC5A0 */ cpu->r[30] = _t31;
|
|
/* 02BCC5A4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC5A4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BCC5A4 */ if (_t33) goto L_02BCC5A8; else goto L_02BCC538;
|
|
L_02BCC5A8: ; // 0x2bcc5a8
|
|
/* 02BCC5A8 */ goto L_02BCC5C0;
|
|
L_02BCC5AC: ; // 0x2bcc5ac
|
|
/* 02BCC5AC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02BCC5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCC5B0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCC5B4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02BCC5B8 */ _t34 = cpu->r[30] + 0x00000004u;
|
|
/* 02BCC5B8 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02BCC5B8 */ cpu->r[30] = _t34;
|
|
/* 02BCC5BC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC5BC */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BCC5BC */ if (_t36) goto L_02BCC5C0; else goto L_02BCC538;
|
|
L_02BCC5C0: ; // 0x2bcc5c0
|
|
/* 02BCC5C0 */ cpu->r[10] = 0x00000003u;
|
|
/* 02BCC5C4 */ cpu->r[12] = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BCC5C8 */ cpu->ctr = cpu->r[10];
|
|
/* 02BCC5CC */ cpu->r[0] = 0x00000000u;
|
|
L_02BCC5D0: ; // 0x2bcc5d0
|
|
/* 02BCC5D0 */ _t37 = cpu->r[12] + 0x00000004u;
|
|
/* 02BCC5D0 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02BCC5D0 */ cpu->r[12] = _t37;
|
|
/* 02BCC5D4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCC5D4 */ _t38 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCC5D4 */ _t39 = _t38 >> (0x00000002u & 31u);
|
|
/* 02BCC5D4 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BCC5D4 */ if (_t40) goto L_02BCC5D0; else goto L_02BCC5D8;
|
|
L_02BCC5D8: ; // 0x2bcc5d8
|
|
/* 02BCC5D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC5DC */ /* nop */
|
|
/* 02BCC5E0 */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC5E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCC5E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC5E8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCC5EC */ return;
|
|
}
|
|
|
|
// fn_02BCC5F0 @ 0x2bcc5f0
|
|
void Gambit_fn_02BCC5F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BCC5F0: ; // 0x2bcc5f0
|
|
/* 02BCC5F0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCC5F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCC5F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC5F4 */ cpu->r[1] = _t0;
|
|
/* 02BCC5F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC5F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCC5FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCC5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCC600 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC600 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCC604 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC604 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BCC604 */ if (_t4) goto L_02BCC61C; else goto L_02BCC608;
|
|
L_02BCC608: ; // 0x2bcc608
|
|
/* 02BCC608 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC60C */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BCC610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCC614 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC618 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BCC61C: ; // 0x2bcc61c
|
|
/* 02BCC61C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC61C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCC620 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCC624 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC628 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCC62C */ return;
|
|
}
|
|
|
|
// fn_02BCC5F4 @ 0x2bcc5f4
|
|
void Gambit_fn_02BCC5F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BCC5F4: ; // 0x2bcc5f4
|
|
/* 02BCC5F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCC5F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC5F4 */ cpu->r[1] = _t0;
|
|
/* 02BCC5F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC5F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCC5FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCC5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCC600 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC600 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCC604 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC604 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BCC604 */ if (_t4) goto L_02BCC61C; else goto L_02BCC608;
|
|
L_02BCC608: ; // 0x2bcc608
|
|
/* 02BCC608 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC60C */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BCC610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCC614 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC618 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BCC61C: ; // 0x2bcc61c
|
|
/* 02BCC61C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCC61C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCC620 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCC624 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC628 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCC62C */ return;
|
|
}
|
|
|
|
// fn_02BCC630 @ 0x2bcc630
|
|
void Gambit_fn_02BCC630(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BCC630: ; // 0x2bcc630
|
|
/* 02BCC630 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCC630 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC630 */ cpu->r[1] = _t0;
|
|
/* 02BCC634 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCC638 */ /* nop */
|
|
/* 02BCC63C */ cpu->r[28] = cpu->r[3];
|
|
/* 02BCC63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BCC640 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC640 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCC644 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BCC648 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC648 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BCC648 */ if (_t3) goto L_02BCC6A8; else goto L_02BCC64C;
|
|
L_02BCC64C: ; // 0x2bcc64c
|
|
/* 02BCC64C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BCC650 */ cpu->r[30] = 0x00000003u;
|
|
/* 02BCC654 */ cpu->r[0] = cpu->r[0] + 0x00003E74u;
|
|
/* 02BCC658 */ cpu->r[27] = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BCC65C */ cpu->r[31] = 0x00000000u;
|
|
/* 02BCC660 */ _t4 = cpu->r[28] + 0x00000018u;
|
|
/* 02BCC660 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_02BCC664: ; // 0x2bcc664
|
|
/* 02BCC664 */ _t5 = cpu->r[27] + cpu->r[31];
|
|
/* 02BCC664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCC668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCC66C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC66C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCC66C */ if (_t7) goto L_02BCC674; else goto L_02BCC670;
|
|
L_02BCC670: ; // 0x2bcc670
|
|
/* 02BCC670 */ Gambit_fn_02BCC5F0(cpu);
|
|
L_02BCC674: ; // 0x2bcc674
|
|
/* 02BCC674 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BCC674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCC678 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02BCC67C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC67C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BCC67C */ if (_t9) goto L_02BCC680; else goto L_02BCC664;
|
|
L_02BCC680: ; // 0x2bcc680
|
|
/* 02BCC680 */ cpu->r[3] = cpu->r[28] + 0x0000006Cu;
|
|
/* 02BCC684 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCC688 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BCC68C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCC690 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCC694 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BCC698 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCC698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCC69C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC69C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BCC69C */ if (_t11) goto L_02BCC6A8; else goto L_02BCC6A0;
|
|
L_02BCC6A0: ; // 0x2bcc6a0
|
|
/* 02BCC6A0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCC6A4 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BCC6A8: ; // 0x2bcc6a8
|
|
/* 02BCC6A8 */ /* nop */
|
|
/* 02BCC6AC */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC6AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCC6B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC6B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCC6B8 */ return;
|
|
}
|
|
|
|
// fn_02BCC6BC @ 0x2bcc6bc
|
|
void Gambit_fn_02BCC6BC(CPUState* cpu) {
|
|
uint32_t _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_02BCC6BC: ; // 0x2bcc6bc
|
|
/* 02BCC6BC */ cpu->r[0] = cpu->lr;
|
|
/* 02BCC6C0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCC6C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC6C0 */ cpu->r[1] = _t0;
|
|
/* 02BCC6C4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC6C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCC6C8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCC6CC */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC6CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCC6D0 */ _t3 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCC6D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCC6D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCC6D8 */ _t4 = cpu->r[12] + 0x00000048u;
|
|
/* 02BCC6D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCC6DC */ cpu->r[4] = cpu->r[31];
|
|
/* 02BCC6E0 */ Gambit_fn_02BC9624(cpu);
|
|
/* 02BCC6E4 */ cpu->r[11] = 0x00000003u;
|
|
/* 02BCC6E8 */ cpu->r[12] = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BCC6EC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCC6F0 */ cpu->ctr = cpu->r[11];
|
|
/* 02BCC6F4 */ cpu->r[9] = cpu->r[0];
|
|
/* 02BCC6F8 */ _t5 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BCC6F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_02BCC6FC: ; // 0x2bcc6fc
|
|
/* 02BCC6FC */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 02BCC6FC */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02BCC6FC */ cpu->r[12] = _t6;
|
|
/* 02BCC700 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCC700 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCC700 */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 02BCC700 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BCC700 */ if (_t9) goto L_02BCC6FC; else goto L_02BCC704;
|
|
L_02BCC704: ; // 0x2bcc704
|
|
/* 02BCC704 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCC704 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCC708 */ cpu->r[9] = 0x000000FDu;
|
|
/* 02BCC70C */ _t11 = cpu->r[31] + 0x00000082u;
|
|
/* 02BCC70C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 02BCC710 */ _t12 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BCC710 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02BCC714 */ _t13 = cpu->r[10] + 0x00000014u;
|
|
/* 02BCC714 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCC718 */ cpu->ctr = cpu->r[8];
|
|
/* 02BCC71C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC720 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCC724 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCC728 */ cpu->r[11] = 0x02BD0000u;
|
|
/* 02BCC72C */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BCC730 */ cpu->r[11] = cpu->r[11] + 0xFFFFC778u;
|
|
/* 02BCC734 */ cpu->r[9] = cpu->r[9] + 0x00003C58u;
|
|
/* 02BCC738 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC738 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02BCC73C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC73C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCC740 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCC744 */ _t16 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCC744 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 02BCC748 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BCC74C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC74C */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[0]);
|
|
/* 02BCC750 */ _t18 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCC750 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[12]);
|
|
/* 02BCC754 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC754 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCC758 */ _t20 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCC758 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 02BCC75C */ _t21 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCC75C */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 02BCC760 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCC764 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCC768 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC76C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCC770 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCC774 */ return;
|
|
}
|
|
|
|
// fn_02BCC6C0 @ 0x2bcc6c0
|
|
void Gambit_fn_02BCC6C0(CPUState* cpu) {
|
|
uint32_t _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_02BCC6C0: ; // 0x2bcc6c0
|
|
/* 02BCC6C0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCC6C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC6C0 */ cpu->r[1] = _t0;
|
|
/* 02BCC6C4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC6C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCC6C8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCC6CC */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC6CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCC6D0 */ _t3 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCC6D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCC6D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCC6D8 */ _t4 = cpu->r[12] + 0x00000048u;
|
|
/* 02BCC6D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCC6DC */ cpu->r[4] = cpu->r[31];
|
|
/* 02BCC6E0 */ Gambit_fn_02BC9624(cpu);
|
|
/* 02BCC6E4 */ cpu->r[11] = 0x00000003u;
|
|
/* 02BCC6E8 */ cpu->r[12] = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BCC6EC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCC6F0 */ cpu->ctr = cpu->r[11];
|
|
/* 02BCC6F4 */ cpu->r[9] = cpu->r[0];
|
|
/* 02BCC6F8 */ _t5 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BCC6F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_02BCC6FC: ; // 0x2bcc6fc
|
|
/* 02BCC6FC */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 02BCC6FC */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02BCC6FC */ cpu->r[12] = _t6;
|
|
/* 02BCC700 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCC700 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCC700 */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 02BCC700 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BCC700 */ if (_t9) goto L_02BCC6FC; else goto L_02BCC704;
|
|
L_02BCC704: ; // 0x2bcc704
|
|
/* 02BCC704 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCC704 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCC708 */ cpu->r[9] = 0x000000FDu;
|
|
/* 02BCC70C */ _t11 = cpu->r[31] + 0x00000082u;
|
|
/* 02BCC70C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 02BCC710 */ _t12 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BCC710 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02BCC714 */ _t13 = cpu->r[10] + 0x00000014u;
|
|
/* 02BCC714 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCC718 */ cpu->ctr = cpu->r[8];
|
|
/* 02BCC71C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC720 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCC724 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCC728 */ cpu->r[11] = 0x02BD0000u;
|
|
/* 02BCC72C */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BCC730 */ cpu->r[11] = cpu->r[11] + 0xFFFFC778u;
|
|
/* 02BCC734 */ cpu->r[9] = cpu->r[9] + 0x00003C58u;
|
|
/* 02BCC738 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC738 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02BCC73C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC73C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCC740 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCC744 */ _t16 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCC744 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 02BCC748 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BCC74C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC74C */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[0]);
|
|
/* 02BCC750 */ _t18 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCC750 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[12]);
|
|
/* 02BCC754 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC754 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCC758 */ _t20 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCC758 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 02BCC75C */ _t21 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCC75C */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 02BCC760 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCC760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCC764 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCC768 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC76C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCC770 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCC774 */ return;
|
|
}
|
|
|
|
// fn_02BCC780 @ 0x2bcc780
|
|
void Gambit_fn_02BCC780(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_02BCC780: ; // 0x2bcc780
|
|
/* 02BCC780 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCC780 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC780 */ cpu->r[1] = _t0;
|
|
/* 02BCC784 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BCC788 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCC78C */ cpu->r[6] = cpu->r[10];
|
|
/* 02BCC790 */ _t1 = cpu->r[3] + 0x0000004Cu;
|
|
/* 02BCC790 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
L_02BCC794: ; // 0x2bcc794
|
|
/* 02BCC794 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BCC794 */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
|
|
/* 02BCC794 */ cpu->r[11] = _t2;
|
|
/* 02BCC798 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCC798 */ _t3 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCC798 */ _t4 = _t3 >> (0x00000002u & 31u);
|
|
/* 02BCC798 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCC798 */ if (_t5) goto L_02BCC794; else goto L_02BCC79C;
|
|
L_02BCC79C: ; // 0x2bcc79c
|
|
/* 02BCC79C */ cpu->r[7] = 0x00000000u;
|
|
/* 02BCC7A0 */ _t6 = cpu->r[3] + 0x00000082u;
|
|
/* 02BCC7A0 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[10]);
|
|
/* 02BCC7A4 */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BCC7A8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC7A8 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[7]);
|
|
/* 02BCC7AC */ cpu->r[9] = cpu->r[9] + 0x00003C7Cu;
|
|
/* 02BCC7B0 */ _t8 = cpu->r[3] + 0x00000080u;
|
|
/* 02BCC7B0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[10]);
|
|
/* 02BCC7B4 */ cpu->r[0] = 0x02BD0000u;
|
|
/* 02BCC7B8 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02BCC7BC */ _t9 = cpu->r[3] + 0x00000028u;
|
|
/* 02BCC7BC */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02BCC7C0 */ cpu->r[0] = cpu->r[0] + 0xFFFFC800u;
|
|
/* 02BCC7C4 */ _t10 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCC7C4 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[6]);
|
|
/* 02BCC7C8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCC7C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCC7CC */ cpu->r[11] = 0x00000003u;
|
|
/* 02BCC7D0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC7D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BCC7D4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCC7D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCC7D8 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BCC7DC */ _t14 = cpu->r[3] + 0x00000020u;
|
|
/* 02BCC7DC */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 02BCC7E0 */ _t15 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCC7E0 */ _t16 = cpu->r[12] & 0x00FFFFFFu;
|
|
/* 02BCC7E0 */ cpu->r[12] = _t16 | _t15;
|
|
/* 02BCC7E4 */ _t17 = cpu->r[3] + 0x00000024u;
|
|
/* 02BCC7E4 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02BCC7E8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCC7EC */ _t18 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BCC7EC */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02BCC7F0 */ _t19 = cpu->r[3] + 0x00000081u;
|
|
/* 02BCC7F0 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[11]);
|
|
/* 02BCC7F4 */ cpu->r[3] = cpu->r[8];
|
|
/* 02BCC7F8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCC7FC */ return;
|
|
}
|
|
|
|
// fn_02BCC800 @ 0x2bcc800
|
|
void Gambit_fn_02BCC800(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95;
|
|
|
|
L_02BCC800: ; // 0x2bcc800
|
|
/* 02BCC800 */ _t0 = cpu->r[1] + 0xFFFFFF38u;
|
|
/* 02BCC800 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCC800 */ cpu->r[1] = _t0;
|
|
/* 02BCC804 */ /* nop */
|
|
/* 02BCC808 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCC80C */ cpu->r[0] = cpu->lr;
|
|
/* 02BCC810 */ cpu->r[6] = 0x80000000u;
|
|
/* 02BCC814 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BCC818 */ cpu->r[3] = cpu->r[30] + 0x00000068u;
|
|
/* 02BCC81C */ _t1 = cpu->r[1] + 0x000000CCu;
|
|
/* 02BCC81C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCC820 */ Gambit_fn_02B6ABF8(cpu);
|
|
/* 02BCC824 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BCC828 */ _t2 = cpu->r[30] + 0x00000080u;
|
|
/* 02BCC828 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[11]);
|
|
/* 02BCC82C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BCC830 */ _t3 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BCC830 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCC834 */ cpu->r[4] = cpu->r[30] + 0x00000068u;
|
|
/* 02BCC838 */ Gambit_fn_02BEDCB0(cpu);
|
|
/* 02BCC83C */ cpu->r[28] = 0x101A0000u;
|
|
/* 02BCC840 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BCC840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BCC844 */ cpu->r[28] = cpu->r[28] + 0x00003CD4u;
|
|
/* 02BCC848 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC848 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCC848 */ if (_t5) goto L_02BCC84C; else goto L_02BCC894;
|
|
L_02BCC84C: ; // 0x2bcc84c
|
|
/* 02BCC84C */ cpu->r[8] = 0x00000000u;
|
|
/* 02BCC850 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02BCC854 */ cpu->r[11] = 0x02BD0000u;
|
|
/* 02BCC858 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC858 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[8]);
|
|
/* 02BCC85C */ cpu->r[11] = cpu->r[11] + 0xFFFFC778u;
|
|
/* 02BCC860 */ _t7 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BCC860 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[6]);
|
|
/* 02BCC864 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCC864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCC868 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC868 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02BCC86C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCC86C */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCC870 */ _t11 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCC870 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BCC874 */ _t12 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCC874 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 02BCC878 */ _t13 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCC878 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 02BCC87C */ /* nop */
|
|
/* 02BCC880 */ _t14 = cpu->r[1] + 0x000000CCu;
|
|
/* 02BCC880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCC884 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC888 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 02BCC88C */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCC890 */ return;
|
|
L_02BCC894: ; // 0x2bcc894
|
|
/* 02BCC894 */ _t15 = cpu->r[27] + 0x00000024u;
|
|
/* 02BCC894 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCC898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000005u);
|
|
/* 02BCC89C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC89C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BCC89C */ if (_t17) goto L_02BCC938; else goto L_02BCC8A0;
|
|
L_02BCC8A0: ; // 0x2bcc8a0
|
|
/* 02BCC8A0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BCC8A4 */ _t18 = cpu->r[31] + 0xFFFFB6C0u;
|
|
/* 02BCC8A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCC8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCC8AC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC8AC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BCC8AC */ if (_t20) goto L_02BCC8F0; else goto L_02BCC8B0;
|
|
L_02BCC8B0: ; // 0x2bcc8b0
|
|
/* 02BCC8B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC8B4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCC8B8 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BCC8BC */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BCC8C0 */ _t21 = cpu->r[27] + 0x00000018u;
|
|
/* 02BCC8C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCC8C4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCC8C8 */ cpu->r[5] = cpu->r[5] + 0x00003CF8u;
|
|
/* 02BCC8CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC8D0 */ _t22 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BCC8D0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BCC8D0 */ if (_t23) goto L_02BCC8D4; // else: addr-0 trap, fall-through
|
|
L_02BCC8D4: ; // 0x2bcc8d4
|
|
/* 02BCC8D4 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BCC8D8 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BCC8DC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCC8E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCC8E4 */ cpu->r[5] = cpu->r[5] + 0x00003CA8u;
|
|
/* 02BCC8E8 */ _t24 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BCC8E8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BCC8E8 */ if (_t25) goto L_02BCC8EC; // else: addr-0 trap, fall-through
|
|
L_02BCC8EC: ; // 0x2bcc8ec
|
|
/* 02BCC8EC */ Gambit_fn_02B676C8(cpu);
|
|
L_02BCC8F0: ; // 0x2bcc8f0
|
|
/* 02BCC8F0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCC8F4 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BCC8F8 */ cpu->r[6] = 0x02BD0000u;
|
|
/* 02BCC8FC */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 02BCC8FC */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[0]);
|
|
/* 02BCC900 */ cpu->r[6] = cpu->r[6] + 0xFFFFC778u;
|
|
/* 02BCC904 */ _t27 = cpu->r[1] + 0x0000002Au;
|
|
/* 02BCC904 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[7]);
|
|
/* 02BCC908 */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 02BCC908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BCC90C */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCC90C */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
|
|
/* 02BCC910 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCC910 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCC914 */ _t31 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCC914 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02BCC918 */ _t32 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCC918 */ rbrew_write32(cpu->mem, _t32, cpu->r[6]);
|
|
/* 02BCC91C */ _t33 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCC91C */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
|
|
/* 02BCC920 */ /* nop */
|
|
/* 02BCC924 */ _t34 = cpu->r[1] + 0x000000CCu;
|
|
/* 02BCC924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCC928 */ cpu->lr = cpu->r[0];
|
|
/* 02BCC92C */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 02BCC930 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCC934 */ return;
|
|
L_02BCC938: ; // 0x2bcc938
|
|
/* 02BCC938 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BCC93C */ _t35 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BCC93C */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCC93C */ cpu->r[29] = _t35;
|
|
/* 02BCC940 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BCC944 */ Gambit_fn_02BC3F10(cpu);
|
|
/* 02BCC948 */ cpu->r[31] = 0x101A0000u;
|
|
/* 02BCC94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x000000FFu);
|
|
/* 02BCC950 */ cpu->r[31] = cpu->r[31] + 0x00003D34u;
|
|
/* 02BCC954 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC954 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BCC954 */ if (_t37) goto L_02BCC958; else goto L_02BCCA80;
|
|
L_02BCC958: ; // 0x2bcc958
|
|
/* 02BCC958 */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCC958 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BCC95C */ _t39 = cpu->r[10] + 0x00000038u;
|
|
/* 02BCC95C */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCC960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BCC964 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC964 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BCC964 */ if (_t41) goto L_02BCCACC; else goto L_02BCC968;
|
|
L_02BCC968: ; // 0x2bcc968
|
|
/* 02BCC968 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BCC96C */ cpu->r[5] = cpu->r[1] + 0x00000068u;
|
|
/* 02BCC970 */ _t42 = cpu->r[3] + 0xFFFFB798u;
|
|
/* 02BCC970 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BCC974 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BCC978 */ Gambit_fn_02BFB558(cpu);
|
|
/* 02BCC97C */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCC980 */ cpu->r[12] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02BCC984 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCC984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BCC988 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC988 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BCC988 */ if (_t44) goto L_02BCCA38; else goto L_02BCC98C;
|
|
L_02BCC98C: ; // 0x2bcc98c
|
|
/* 02BCC98C */ _t45 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCC98C */ cpu->r[6] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BCC990 */ _t46 = cpu->r[6] + 0x00000038u;
|
|
/* 02BCC990 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BCC994 */ cpu->ctr = cpu->r[8];
|
|
/* 02BCC998 */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 02BCC99C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCC9A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCC9A4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC9A4 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BCC9A4 */ if (_t48) goto L_02BCC9C8; else goto L_02BCC9A8;
|
|
L_02BCC9A8: ; // 0x2bcc9a8
|
|
/* 02BCC9A8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BCC9AC */ _t49 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BCC9AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BCC9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCC9B4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC9B4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BCC9B4 */ if (_t51) goto L_02BCCACC; else goto L_02BCC9B8;
|
|
L_02BCC9B8: ; // 0x2bcc9b8
|
|
/* 02BCC9B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCC9BC */ Gambit_fn_02BD6990(cpu);
|
|
/* 02BCC9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCC9C4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC9C4 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BCC9C4 */ if (_t53) goto L_02BCC9C8; else goto L_02BCCACC;
|
|
L_02BCC9C8: ; // 0x2bcc9c8
|
|
/* 02BCC9C8 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BCC9CC */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCC9D0 */ cpu->r[12] = cpu->r[12] + 0x000006B8u;
|
|
/* 02BCC9D4 */ _t54 = cpu->r[30] + 0x00000081u;
|
|
/* 02BCC9D4 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[0]);
|
|
/* 02BCC9D8 */ _t55 = cpu->r[12] + 0x00000810u;
|
|
/* 02BCC9D8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t55);
|
|
/* 02BCC9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FFu);
|
|
/* 02BCC9E0 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCC9E0 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BCC9E0 */ if (_t57) goto L_02BCC9EC; else goto L_02BCC9E4;
|
|
L_02BCC9E4: ; // 0x2bcc9e4
|
|
/* 02BCC9E4 */ cpu->r[0] = cpu->r[10] + 0x00000001u;
|
|
/* 02BCC9E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02BCC9EC: ; // 0x2bcc9ec
|
|
/* 02BCC9EC */ cpu->r[7] = 0x00000000u;
|
|
/* 02BCC9F0 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BCC9F4 */ _t58 = cpu->r[1] + 0x00000038u;
|
|
/* 02BCC9F4 */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[7]);
|
|
/* 02BCC9F8 */ cpu->r[9] = 0x02BD0000u;
|
|
/* 02BCC9FC */ _t59 = cpu->r[1] + 0x0000003Au;
|
|
/* 02BCC9FC */ rbrew_write16(cpu->mem, _t59, (uint16_t)cpu->r[10]);
|
|
/* 02BCCA00 */ _t60 = cpu->r[1] + 0x00000038u;
|
|
/* 02BCCA00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BCCA04 */ cpu->r[9] = cpu->r[9] + 0xFFFFD358u;
|
|
/* 02BCCA08 */ _t61 = cpu->r[12] + 0x00000810u;
|
|
/* 02BCCA08 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[0]);
|
|
/* 02BCCA0C */ _t62 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCCA0C */ rbrew_write32(cpu->mem, _t62, cpu->r[9]);
|
|
/* 02BCCA10 */ _t63 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCCA10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BCCA14 */ _t64 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCCA14 */ rbrew_write32(cpu->mem, _t64, cpu->r[31]);
|
|
/* 02BCCA18 */ _t65 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCCA18 */ rbrew_write32(cpu->mem, _t65, cpu->r[6]);
|
|
/* 02BCCA1C */ _t66 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCCA1C */ rbrew_write32(cpu->mem, _t66, cpu->r[10]);
|
|
/* 02BCCA20 */ /* nop */
|
|
/* 02BCCA24 */ _t67 = cpu->r[1] + 0x000000CCu;
|
|
/* 02BCCA24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BCCA28 */ cpu->lr = cpu->r[0];
|
|
/* 02BCCA2C */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 02BCCA30 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCCA34 */ return;
|
|
L_02BCCA38: ; // 0x2bcca38
|
|
/* 02BCCA38 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BCCA3C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCCA40 */ _t68 = cpu->r[1] + 0x0000004Au;
|
|
/* 02BCCA40 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[7]);
|
|
/* 02BCCA44 */ _t69 = cpu->r[1] + 0x00000048u;
|
|
/* 02BCCA44 */ rbrew_write16(cpu->mem, _t69, (uint16_t)cpu->r[0]);
|
|
/* 02BCCA48 */ cpu->r[0] = 0x02BD0000u;
|
|
/* 02BCCA4C */ _t70 = cpu->r[1] + 0x00000048u;
|
|
/* 02BCCA4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BCCA50 */ cpu->r[0] = cpu->r[0] + 0xFFFFC778u;
|
|
/* 02BCCA54 */ _t71 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCCA54 */ rbrew_write32(cpu->mem, _t71, cpu->r[28]);
|
|
/* 02BCCA58 */ _t72 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCCA58 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 02BCCA5C */ _t73 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCCA5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BCCA60 */ _t74 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCCA60 */ rbrew_write32(cpu->mem, _t74, cpu->r[10]);
|
|
/* 02BCCA64 */ _t75 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCCA64 */ rbrew_write32(cpu->mem, _t75, cpu->r[6]);
|
|
/* 02BCCA68 */ /* nop */
|
|
/* 02BCCA6C */ _t76 = cpu->r[1] + 0x000000CCu;
|
|
/* 02BCCA6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BCCA70 */ cpu->lr = cpu->r[0];
|
|
/* 02BCCA74 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 02BCCA78 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCCA7C */ return;
|
|
L_02BCCA80: ; // 0x2bcca80
|
|
/* 02BCCA80 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BCCA84 */ _t77 = cpu->r[30] + 0x00000081u;
|
|
/* 02BCCA84 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[3]);
|
|
/* 02BCCA88 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BCCA8C */ _t78 = cpu->r[1] + 0x00000058u;
|
|
/* 02BCCA8C */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[9]);
|
|
/* 02BCCA90 */ _t79 = cpu->r[1] + 0x0000005Au;
|
|
/* 02BCCA90 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[0]);
|
|
/* 02BCCA94 */ cpu->r[0] = 0x02BD0000u;
|
|
/* 02BCCA98 */ _t80 = cpu->r[1] + 0x00000058u;
|
|
/* 02BCCA98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BCCA9C */ cpu->r[0] = cpu->r[0] + 0xFFFFD358u;
|
|
/* 02BCCAA0 */ _t81 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCCAA0 */ rbrew_write32(cpu->mem, _t81, cpu->r[31]);
|
|
/* 02BCCAA4 */ _t82 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BCCAA4 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 02BCCAA8 */ _t83 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BCCAA8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BCCAAC */ _t84 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCCAAC */ rbrew_write32(cpu->mem, _t84, cpu->r[10]);
|
|
/* 02BCCAB0 */ _t85 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCCAB0 */ rbrew_write32(cpu->mem, _t85, cpu->r[6]);
|
|
/* 02BCCAB4 */ /* nop */
|
|
/* 02BCCAB8 */ _t86 = cpu->r[1] + 0x000000CCu;
|
|
/* 02BCCAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BCCABC */ cpu->lr = cpu->r[0];
|
|
/* 02BCCAC0 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 02BCCAC4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCCAC8 */ return;
|
|
L_02BCCACC: ; // 0x2bccacc
|
|
/* 02BCCACC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCCAD0 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BCCAD4 */ cpu->r[6] = 0x101A0000u;
|
|
/* 02BCCAD8 */ _t87 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCCAD8 */ rbrew_write16(cpu->mem, _t87, (uint16_t)cpu->r[0]);
|
|
/* 02BCCADC */ cpu->r[8] = 0x02BD0000u;
|
|
/* 02BCCAE0 */ cpu->r[6] = cpu->r[6] + 0x00003CACu;
|
|
/* 02BCCAE4 */ _t88 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCCAE4 */ rbrew_write16(cpu->mem, _t88, (uint16_t)cpu->r[9]);
|
|
/* 02BCCAE8 */ _t89 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCCAE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BCCAEC */ cpu->r[8] = cpu->r[8] + 0xFFFFCB1Cu;
|
|
/* 02BCCAF0 */ _t90 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCCAF0 */ rbrew_write32(cpu->mem, _t90, cpu->r[6]);
|
|
/* 02BCCAF4 */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCCAF4 */ rbrew_write32(cpu->mem, _t91, cpu->r[8]);
|
|
/* 02BCCAF8 */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCCAF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BCCAFC */ _t93 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCCAFC */ rbrew_write32(cpu->mem, _t93, cpu->r[9]);
|
|
/* 02BCCB00 */ _t94 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCCB00 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02BCCB04 */ /* nop */
|
|
/* 02BCCB08 */ _t95 = cpu->r[1] + 0x000000CCu;
|
|
/* 02BCCB08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BCCB0C */ cpu->lr = cpu->r[0];
|
|
/* 02BCCB10 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 02BCCB14 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCCB18 */ return;
|
|
}
|
|
|
|
// fn_02BCCB1C @ 0x2bccb1c
|
|
void Gambit_fn_02BCCB1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209;
|
|
|
|
L_02BCCB1C: ; // 0x2bccb1c
|
|
/* 02BCCB1C */ _t0 = cpu->r[1] + 0xFFFFFDE0u;
|
|
/* 02BCCB1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCCB1C */ cpu->r[1] = _t0;
|
|
/* 02BCCB20 */ /* nop */
|
|
/* 02BCCB24 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCCB28 */ _t1 = cpu->r[1] + 0x00000224u;
|
|
/* 02BCCB28 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCCB2C */ cpu->r[23] = 0x101D0000u;
|
|
/* 02BCCB30 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BCCB34 */ _t2 = cpu->r[23] + 0xFFFFB77Cu;
|
|
/* 02BCCB34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BCCB34 */ cpu->r[23] = _t2;
|
|
/* 02BCCB38 */ cpu->r[27] = 0x101A0000u;
|
|
/* 02BCCB3C */ _t3 = cpu->r[3] + 0x00000144u;
|
|
/* 02BCCB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCCB40 */ cpu->r[27] = cpu->r[27] + 0x00003D64u;
|
|
/* 02BCCB44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCCB48 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BCCB4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCB4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCCB4C */ if (_t5) goto L_02BCCB50; else goto L_02BCCB98;
|
|
L_02BCCB50: ; // 0x2bccb50
|
|
/* 02BCCB50 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BCCB54 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02BCCB58 */ cpu->r[12] = 0x02BD0000u;
|
|
/* 02BCCB5C */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCCB5C */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[8]);
|
|
/* 02BCCB60 */ cpu->r[12] = cpu->r[12] + 0xFFFFC778u;
|
|
/* 02BCCB64 */ _t7 = cpu->r[1] + 0x00000026u;
|
|
/* 02BCCB64 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[6]);
|
|
/* 02BCCB68 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCCB68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCCB6C */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 02BCCB6C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BCCB70 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02BCCB70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCCB74 */ _t11 = cpu->r[28] + 0x00000020u;
|
|
/* 02BCCB74 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BCCB78 */ _t12 = cpu->r[28] + 0x00000024u;
|
|
/* 02BCCB78 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 02BCCB7C */ _t13 = cpu->r[28] + 0x00000028u;
|
|
/* 02BCCB7C */ rbrew_write32(cpu->mem, _t13, cpu->r[27]);
|
|
/* 02BCCB80 */ /* nop */
|
|
/* 02BCCB84 */ _t14 = cpu->r[1] + 0x00000224u;
|
|
/* 02BCCB84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCCB88 */ cpu->lr = cpu->r[0];
|
|
/* 02BCCB8C */ cpu->r[1] = cpu->r[1] + 0x00000220u;
|
|
/* 02BCCB90 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCCB94 */ return;
|
|
L_02BCCB98: ; // 0x2bccb98
|
|
/* 02BCCB98 */ cpu->r[4] = cpu->r[28] + 0x00000068u;
|
|
/* 02BCCB9C */ Gambit_fn_02BEDCB0(cpu);
|
|
/* 02BCCBA0 */ cpu->r[25] = cpu->r[3];
|
|
/* 02BCCBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02BCCBA4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCBA4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BCCBA4 */ if (_t16) goto L_02BCCBA8; else goto L_02BCCBF0;
|
|
L_02BCCBA8: ; // 0x2bccba8
|
|
/* 02BCCBA8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCCBAC */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BCCBB0 */ cpu->r[12] = 0x02BD0000u;
|
|
/* 02BCCBB4 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCCBB4 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[0]);
|
|
/* 02BCCBB8 */ cpu->r[12] = cpu->r[12] + 0xFFFFC778u;
|
|
/* 02BCCBBC */ _t18 = cpu->r[1] + 0x00000036u;
|
|
/* 02BCCBBC */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[7]);
|
|
/* 02BCCBC0 */ _t19 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCCBC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCCBC4 */ _t20 = cpu->r[1] + 0x00000038u;
|
|
/* 02BCCBC4 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02BCCBC8 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 02BCCBC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCCBCC */ _t22 = cpu->r[28] + 0x00000020u;
|
|
/* 02BCCBCC */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02BCCBD0 */ _t23 = cpu->r[28] + 0x00000024u;
|
|
/* 02BCCBD0 */ rbrew_write32(cpu->mem, _t23, cpu->r[7]);
|
|
/* 02BCCBD4 */ _t24 = cpu->r[28] + 0x00000028u;
|
|
/* 02BCCBD4 */ rbrew_write32(cpu->mem, _t24, cpu->r[27]);
|
|
/* 02BCCBD8 */ /* nop */
|
|
/* 02BCCBDC */ _t25 = cpu->r[1] + 0x00000224u;
|
|
/* 02BCCBDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCCBE0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCCBE4 */ cpu->r[1] = cpu->r[1] + 0x00000220u;
|
|
/* 02BCCBE8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCCBEC */ return;
|
|
L_02BCCBF0: ; // 0x2bccbf0
|
|
/* 02BCCBF0 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BCCBF4 */ _t26 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BCCBF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCCBF4 */ cpu->r[26] = _t26;
|
|
/* 02BCCBF8 */ Gambit_fn_02BC3ED4(cpu);
|
|
/* 02BCCBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x000000FDu);
|
|
/* 02BCCC00 */ _t27 = cpu->r[28] + 0x0000007Cu;
|
|
/* 02BCCC00 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02BCCC04 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCC04 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BCCC04 */ if (_t29) goto L_02BCCC08; else goto L_02BCCC58;
|
|
L_02BCCC08: ; // 0x2bccc08
|
|
/* 02BCCC08 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BCCC0C */ cpu->r[10] = 0x00000000u;
|
|
/* 02BCCC10 */ _t30 = cpu->r[1] + 0x00000046u;
|
|
/* 02BCCC10 */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[7]);
|
|
/* 02BCCC14 */ cpu->r[7] = 0x101A0000u;
|
|
/* 02BCCC18 */ cpu->r[5] = 0x02BD0000u;
|
|
/* 02BCCC1C */ _t31 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCCC1C */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[10]);
|
|
/* 02BCCC20 */ cpu->r[7] = cpu->r[7] + 0x00003D88u;
|
|
/* 02BCCC24 */ _t32 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCCC24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCCC28 */ cpu->r[5] = cpu->r[5] + 0xFFFFD358u;
|
|
/* 02BCCC2C */ _t33 = cpu->r[28] + 0x00000028u;
|
|
/* 02BCCC2C */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 02BCCC30 */ _t34 = cpu->r[1] + 0x00000048u;
|
|
/* 02BCCC30 */ rbrew_write32(cpu->mem, _t34, cpu->r[5]);
|
|
/* 02BCCC34 */ _t35 = cpu->r[1] + 0x00000048u;
|
|
/* 02BCCC34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCCC38 */ _t36 = cpu->r[28] + 0x00000020u;
|
|
/* 02BCCC38 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02BCCC3C */ _t37 = cpu->r[28] + 0x00000024u;
|
|
/* 02BCCC3C */ rbrew_write32(cpu->mem, _t37, cpu->r[7]);
|
|
/* 02BCCC40 */ /* nop */
|
|
/* 02BCCC44 */ _t38 = cpu->r[1] + 0x00000224u;
|
|
/* 02BCCC44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BCCC48 */ cpu->lr = cpu->r[0];
|
|
/* 02BCCC4C */ cpu->r[1] = cpu->r[1] + 0x00000220u;
|
|
/* 02BCCC50 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCCC54 */ return;
|
|
L_02BCCC58: ; // 0x2bccc58
|
|
/* 02BCCC58 */ cpu->r[8] = 0x00000008u;
|
|
/* 02BCCC5C */ cpu->r[10] = 0x00000000u;
|
|
/* 02BCCC60 */ cpu->ctr = cpu->r[8];
|
|
/* 02BCCC64 */ cpu->r[12] = cpu->r[1] + 0x0000016Cu;
|
|
L_02BCCC68: ; // 0x2bccc68
|
|
/* 02BCCC68 */ _t39 = cpu->r[12] + 0x00000004u;
|
|
/* 02BCCC68 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 02BCCC6C */ _t40 = cpu->r[12] + 0x00000008u;
|
|
/* 02BCCC6C */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 02BCCC70 */ _t41 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BCCC70 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 02BCCC74 */ _t42 = cpu->r[12] + 0x00000010u;
|
|
/* 02BCCC74 */ rbrew_write32(cpu->mem, _t42, cpu->r[10]);
|
|
/* 02BCCC74 */ cpu->r[12] = _t42;
|
|
/* 02BCCC78 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCCC78 */ _t43 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCCC78 */ _t44 = _t43 >> (0x00000002u & 31u);
|
|
/* 02BCCC78 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BCCC78 */ if (_t45) goto L_02BCCC68; else goto L_02BCCC7C;
|
|
L_02BCCC7C: ; // 0x2bccc7c
|
|
/* 02BCCC7C */ cpu->r[3] = cpu->r[1] + 0x000000E8u;
|
|
/* 02BCCC80 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BCCC84 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BCCC88 */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 02BCCC8C */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BCCC90 */ cpu->r[21] = 0x101D0000u;
|
|
/* 02BCCC94 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BCCC98 */ _t46 = cpu->r[21] + 0xFFFFB790u;
|
|
/* 02BCCC98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BCCC98 */ cpu->r[21] = _t46;
|
|
/* 02BCCC9C */ cpu->r[5] = cpu->r[1] + 0x000000E8u;
|
|
/* 02BCCCA0 */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BCCCA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BCCCA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCCCA8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCCA8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BCCCA8 */ if (_t48) goto L_02BCCCAC; else goto L_02BCCE4C;
|
|
L_02BCCCAC: ; // 0x2bcccac
|
|
/* 02BCCCAC */ cpu->r[3] = cpu->r[1] + 0x000000F0u;
|
|
/* 02BCCCB0 */ Gambit_fn_02B6A9A4(cpu);
|
|
/* 02BCCCB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCCCB8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCCB8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BCCCB8 */ if (_t50) goto L_02BCCE4C; else goto L_02BCCCBC;
|
|
L_02BCCCBC: ; // 0x2bcccbc
|
|
/* 02BCCCBC */ _t51 = cpu->r[23] + 0x00000000u;
|
|
/* 02BCCCBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BCCCC0 */ _t52 = cpu->r[3] + 0x00000034u;
|
|
/* 02BCCCC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BCCCC4 */ cpu->r[24] = cpu->r[3] + 0x00000038u;
|
|
/* 02BCCCC8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCCCCC */ cpu->r[6] = cpu->r[24] + cpu->r[9];
|
|
/* 02BCCCD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[6]);
|
|
/* 02BCCCD4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCCD4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BCCCD4 */ if (_t54) goto L_02BCCE4C; else goto L_02BCCCD8;
|
|
L_02BCCCD8: ; // 0x2bcccd8
|
|
/* 02BCCCD8 */ cpu->r[30] = cpu->r[1] + 0x00000170u;
|
|
L_02BCCCDC: ; // 0x2bcccdc
|
|
/* 02BCCCDC */ _t55 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCCCDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BCCCE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[25]);
|
|
/* 02BCCCE4 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCCE4 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BCCCE4 */ if (_t57) goto L_02BCCD2C; else goto L_02BCCCE8;
|
|
L_02BCCCE8: ; // 0x2bccce8
|
|
/* 02BCCCE8 */ _t58 = cpu->r[21] + 0x00000000u;
|
|
/* 02BCCCE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BCCCEC */ cpu->r[5] = cpu->r[1] + 0x00000080u;
|
|
/* 02BCCCF0 */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BCCCF4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BCCCF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BCCCF8 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCCF8 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BCCCF8 */ if (_t60) goto L_02BCCCFC; else goto L_02BCCD2C;
|
|
L_02BCCCFC: ; // 0x2bcccfc
|
|
/* 02BCCCFC */ _t61 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BCCCFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BCCD00 */ _t62 = cpu->r[1] + 0x000000A4u;
|
|
/* 02BCCD00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCCD04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 02BCCD08 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCD08 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BCCD08 */ if (_t64) goto L_02BCCD0C; else goto L_02BCCD2C;
|
|
L_02BCCD0C: ; // 0x2bccd0c
|
|
/* 02BCCD0C */ _t65 = cpu->r[1] + 0x000000FCu;
|
|
/* 02BCCD0C */ cpu->r[10] = rbrew_read16(cpu->mem, _t65);
|
|
/* 02BCCD10 */ _t66 = cpu->r[1] + 0x00000094u;
|
|
/* 02BCCD10 */ cpu->r[0] = rbrew_read16(cpu->mem, _t66);
|
|
/* 02BCCD14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BCCD18 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCD18 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BCCD18 */ if (_t68) goto L_02BCCD1C; else goto L_02BCCD2C;
|
|
L_02BCCD1C: ; // 0x2bccd1c
|
|
/* 02BCCD1C */ _t69 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCCD1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BCCD20 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BCCD24 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCCD24 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 02BCCD28 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
L_02BCCD2C: ; // 0x2bccd2c
|
|
/* 02BCCD2C */ _t71 = cpu->r[23] + 0x00000000u;
|
|
/* 02BCCD2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BCCD30 */ _t72 = cpu->r[11] + 0x00000034u;
|
|
/* 02BCCD30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BCCD34 */ cpu->r[12] = cpu->r[11] + 0x00000038u;
|
|
/* 02BCCD38 */ cpu->r[4] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCCD3C */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 02BCCD40 */ cpu->r[8] = cpu->r[12] + cpu->r[4];
|
|
/* 02BCCD44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[8]);
|
|
/* 02BCCD48 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCD48 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BCCD48 */ if (_t74) goto L_02BCCD4C; else goto L_02BCCCDC;
|
|
L_02BCCD4C: ; // 0x2bccd4c
|
|
/* 02BCCD4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCCD50 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCD50 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02BCCD50 */ if (_t76) goto L_02BCCE4C; else goto L_02BCCD54;
|
|
L_02BCCD54: ; // 0x2bccd54
|
|
/* 02BCCD54 */ cpu->r[20] = 0x00000000u;
|
|
/* 02BCCD58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
|
|
/* 02BCCD5C */ cpu->r[6] = cpu->r[20];
|
|
/* 02BCCD60 */ _t77 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCCD60 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02BCCD60 */ if (_t78) goto L_02BCCD68; else goto L_02BCCD64;
|
|
L_02BCCD64: ; // 0x2bccd64
|
|
/* 02BCCD64 */ cpu->r[31] = 0x00000001u;
|
|
L_02BCCD68: ; // 0x2bccd68
|
|
/* 02BCCD68 */ cpu->r[11] = cpu->r[1] + 0x00000170u;
|
|
/* 02BCCD6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCCD70 */ cpu->r[24] = cpu->r[11] + cpu->r[0];
|
|
/* 02BCCD74 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCCD78 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFCu;
|
|
L_02BCCD7C: ; // 0x2bccd7c
|
|
/* 02BCCD7C */ _t79 = cpu->r[24] + 0x00000004u;
|
|
/* 02BCCD7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BCCD7C */ cpu->r[24] = _t79;
|
|
/* 02BCCD80 */ _t80 = cpu->r[3] + 0x00000068u;
|
|
/* 02BCCD80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BCCD84 */ _t81 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BCCD84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BCCD88 */ cpu->ctr = cpu->r[4];
|
|
/* 02BCCD8C */ cpu->r[6] = 0x80000000u;
|
|
/* 02BCCD90 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BCCD94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCCD98 */ _t82 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCCD98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BCCD9C */ _t83 = cpu->r[8] + 0x00000018u;
|
|
/* 02BCCD9C */ cpu->r[22] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BCCDA0 */ _t84 = cpu->r[26] + 0x00000000u;
|
|
/* 02BCCDA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BCCDA4 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCCDA8 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BCCDAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCCDB0 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCDB0 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02BCCDB0 */ if (_t86) goto L_02BCCDD4; else goto L_02BCCDB4;
|
|
L_02BCCDB4: ; // 0x2bccdb4
|
|
/* 02BCCDB4 */ _t87 = cpu->r[26] + 0x00000000u;
|
|
/* 02BCCDB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BCCDB8 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCCDBC */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BCCDC0 */ _t88 = cpu->r[26] + 0x00000000u;
|
|
/* 02BCCDC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BCCDC4 */ _t89 = cpu->r[9] + 0x00000050u;
|
|
/* 02BCCDC4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t89);
|
|
/* 02BCCDC8 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02BCCDCC */ cpu->r[20] = 0x00000001u;
|
|
/* 02BCCDD0 */ _t90 = cpu->r[9] + 0x00000050u;
|
|
/* 02BCCDD0 */ rbrew_write16(cpu->mem, _t90, (uint16_t)cpu->r[10]);
|
|
L_02BCCDD4: ; // 0x2bccdd4
|
|
/* 02BCCDD4 */ _t91 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCCDD4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BCCDD8 */ _t92 = cpu->r[4] + 0x00000034u;
|
|
/* 02BCCDD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BCCDDC */ _t93 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCCDDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BCCDE0 */ _t94 = cpu->r[12] + 0x00000034u;
|
|
/* 02BCCDE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BCCDE4 */ cpu->ctr = cpu->r[5];
|
|
/* 02BCCDE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCCDEC */ _t95 = cpu->r[21] + 0x00000000u;
|
|
/* 02BCCDEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BCCDF0 */ _t96 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCCDF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BCCDF4 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BCCDF8 */ _t97 = cpu->r[30] + 0xFFFFB798u;
|
|
/* 02BCCDF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02BCCDFC */ _t98 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCCDFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02BCCE00 */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BCCE04 */ _t99 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCCE04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BCCE08 */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BCCE0C */ _t100 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCCE0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BCCE10 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BCCE14 */ _t101 = cpu->r[23] + 0x00000000u;
|
|
/* 02BCCE14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BCCE18 */ _t102 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCCE18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BCCE1C */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BCCE20 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BCCE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCCE24 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCE24 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02BCCE24 */ if (_t104) goto L_02BCCE28; else goto L_02BCCD7C;
|
|
L_02BCCE28: ; // 0x2bcce28
|
|
/* 02BCCE28 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BCCE2C */ _t105 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BCCE2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02BCCE30 */ Gambit_fn_02BEDC48(cpu);
|
|
/* 02BCCE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02BCCE38 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCE38 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02BCCE38 */ if (_t107) goto L_02BCCE4C; else goto L_02BCCE3C;
|
|
L_02BCCE3C: ; // 0x2bcce3c
|
|
/* 02BCCE3C */ _t108 = cpu->r[26] + 0x00000000u;
|
|
/* 02BCCE3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02BCCE40 */ _t109 = cpu->r[8] + 0x00000048u;
|
|
/* 02BCCE40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BCCE44 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCCE48 */ Gambit_fn_02BC5C08(cpu);
|
|
L_02BCCE4C: ; // 0x2bcce4c
|
|
/* 02BCCE4C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCCE50 */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 02BCCE54 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BCCE58 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCCE5C */ cpu->r[3] = cpu->r[1] + 0x000000E8u;
|
|
/* 02BCCE60 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BCCE64 */ _t110 = cpu->r[28] + 0x0000007Cu;
|
|
/* 02BCCE64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02BCCE68 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BCCE6C */ Gambit_fn_02BF069C(cpu);
|
|
/* 02BCCE70 */ _t111 = cpu->r[28] + 0x0000007Cu;
|
|
/* 02BCCE70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BCCE74 */ _t112 = cpu->r[26] + 0x00000000u;
|
|
/* 02BCCE74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02BCCE78 */ Gambit_fn_02BC4FC0(cpu);
|
|
/* 02BCCE7C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCCE80 */ _t113 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BCCE80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02BCCE84 */ _t114 = cpu->r[12] + 0x00000064u;
|
|
/* 02BCCE84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02BCCE88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCCE8C */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCE8C */ _t116 = _t115 & 0x00000001u;
|
|
/* 02BCCE8C */ if (_t116) goto L_02BCCEA4; else goto L_02BCCE90;
|
|
L_02BCCE90: ; // 0x2bcce90
|
|
/* 02BCCE90 */ _t117 = cpu->r[26] + 0x00000000u;
|
|
/* 02BCCE90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BCCE94 */ _t118 = cpu->r[28] + 0x0000007Cu;
|
|
/* 02BCCE94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02BCCE98 */ _t119 = cpu->r[9] + 0x0000005Cu;
|
|
/* 02BCCE98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02BCCE9C */ cpu->r[6] = cpu->r[5];
|
|
/* 02BCCEA0 */ Gambit_fn_02BFBAEC(cpu);
|
|
L_02BCCEA4: ; // 0x2bccea4
|
|
/* 02BCCEA4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BCCEA8 */ _t120 = cpu->r[1] + 0x00000078u;
|
|
/* 02BCCEA8 */ rbrew_write32(cpu->mem, _t120, cpu->r[11]);
|
|
/* 02BCCEAC */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 02BCCEB0 */ _t121 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCCEB0 */ rbrew_write32(cpu->mem, _t121, cpu->r[11]);
|
|
/* 02BCCEB4 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BCCEB8 */ _t122 = cpu->r[28] + 0x00000048u;
|
|
/* 02BCCEB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02BCCEBC */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCCEC0 */ _t123 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCCEC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BCCEC4 */ /* nop */
|
|
/* 02BCCEC8 */ _t124 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCCEC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02BCCECC */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[31]);
|
|
/* 02BCCED0 */ _t125 = cpu->r[1] + 0x00000078u;
|
|
/* 02BCCED0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02BCCED4 */ /* nop */
|
|
/* 02BCCED8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[8]);
|
|
/* 02BCCEDC */ _t126 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCCEDC */ cpu->r[6] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02BCCEE0 */ cpu->r[12] = cpu->r[10] + cpu->r[11];
|
|
/* 02BCCEE4 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[31]);
|
|
/* 02BCCEE8 */ _t127 = cpu->r[28] + 0x00000060u;
|
|
/* 02BCCEE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02BCCEEC */ _t128 = cpu->r[28] + 0x0000007Cu;
|
|
/* 02BCCEEC */ cpu->r[4] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02BCCEF0 */ cpu->r[7] = cpu->r[12] + cpu->r[0];
|
|
/* 02BCCEF4 */ cpu->r[8] = cpu->r[6] + cpu->r[10];
|
|
/* 02BCCEF8 */ _t129 = cpu->r[28] + 0x00000064u;
|
|
/* 02BCCEF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02BCCEFC */ cpu->r[7] = cpu->r[5] + cpu->r[7];
|
|
/* 02BCCF00 */ _t130 = cpu->r[1] + 0x00000154u;
|
|
/* 02BCCF00 */ rbrew_write32(cpu->mem, _t130, cpu->r[8]);
|
|
/* 02BCCF04 */ _t131 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BCCF04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02BCCF08 */ _t132 = cpu->r[1] + 0x00000150u;
|
|
/* 02BCCF08 */ rbrew_write32(cpu->mem, _t132, cpu->r[7]);
|
|
/* 02BCCF0C */ _t133 = cpu->r[28] + 0x00000040u;
|
|
/* 02BCCF0C */ rbrew_write32(cpu->mem, _t133, cpu->r[7]);
|
|
/* 02BCCF10 */ _t134 = cpu->r[28] + 0x00000044u;
|
|
/* 02BCCF10 */ rbrew_write32(cpu->mem, _t134, cpu->r[8]);
|
|
/* 02BCCF14 */ _t135 = cpu->r[26] + 0x00000000u;
|
|
/* 02BCCF14 */ cpu->r[5] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02BCCF18 */ _t136 = cpu->r[1] + 0x00000158u;
|
|
/* 02BCCF18 */ rbrew_write32(cpu->mem, _t136, cpu->r[10]);
|
|
/* 02BCCF1C */ _t137 = cpu->r[1] + 0x0000015Cu;
|
|
/* 02BCCF1C */ rbrew_write32(cpu->mem, _t137, cpu->r[11]);
|
|
/* 02BCCF20 */ _t138 = cpu->r[1] + 0x00000164u;
|
|
/* 02BCCF20 */ rbrew_write32(cpu->mem, _t138, cpu->r[29]);
|
|
/* 02BCCF24 */ cpu->r[31] = cpu->r[1] + 0x00000158u;
|
|
/* 02BCCF28 */ _t139 = cpu->r[1] + 0x00000168u;
|
|
/* 02BCCF28 */ rbrew_write32(cpu->mem, _t139, cpu->r[29]);
|
|
/* 02BCCF2C */ cpu->r[30] = cpu->r[1] + 0x00000164u;
|
|
/* 02BCCF30 */ _t140 = cpu->r[1] + 0x00000160u;
|
|
/* 02BCCF30 */ rbrew_write32(cpu->mem, _t140, cpu->r[12]);
|
|
/* 02BCCF34 */ cpu->r[6] = cpu->r[30];
|
|
/* 02BCCF38 */ _t141 = cpu->r[1] + 0x0000016Cu;
|
|
/* 02BCCF38 */ rbrew_write32(cpu->mem, _t141, cpu->r[29]);
|
|
/* 02BCCF3C */ _t142 = cpu->r[5] + 0x00000048u;
|
|
/* 02BCCF3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02BCCF40 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BCCF44 */ Gambit_fn_02BC9294(cpu);
|
|
/* 02BCCF48 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BCCF4C */ cpu->r[0] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02BCCF50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02BCCF54 */ _t143 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCCF54 */ _t144 = _t143 & 0x00000001u;
|
|
/* 02BCCF54 */ if (_t144) goto L_02BCCF58; else goto L_02BCD0B8;
|
|
L_02BCCF58: ; // 0x2bccf58
|
|
/* 02BCCF58 */ cpu->r[20] = 0x00000000u;
|
|
/* 02BCCF5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[29]);
|
|
/* 02BCCF60 */ _t145 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCCF60 */ _t146 = _t145 & 0x00000001u;
|
|
/* 02BCCF60 */ if (_t146) goto L_02BCCF64; else goto L_02BCD04C;
|
|
L_02BCCF64: ; // 0x2bccf64
|
|
/* 02BCCF64 */ cpu->r[21] = cpu->r[28] + 0x00000050u;
|
|
/* 02BCCF68 */ cpu->r[23] = 0xFFFFFFFFu;
|
|
/* 02BCCF6C */ cpu->r[24] = 0x101D0000u;
|
|
/* 02BCCF70 */ cpu->r[22] = 0x00000000u;
|
|
L_02BCCF74: ; // 0x2bccf74
|
|
/* 02BCCF74 */ _t147 = cpu->r[26] + 0x00000000u;
|
|
/* 02BCCF74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02BCCF78 */ _t148 = cpu->r[31] + 0x00000000u;
|
|
/* 02BCCF78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02BCCF7C */ _t149 = cpu->r[7] + 0x00000048u;
|
|
/* 02BCCF7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02BCCF80 */ _t150 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCCF80 */ cpu->r[6] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02BCCF84 */ _t151 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BCCF84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02BCCF88 */ _t152 = cpu->r[24] + 0xFFFFB794u;
|
|
/* 02BCCF88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02BCCF8C */ cpu->r[4] = cpu->r[21] + cpu->r[22];
|
|
/* 02BCCF90 */ _t153 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCCF90 */ rbrew_write32(cpu->mem, _t153, cpu->r[8]);
|
|
/* 02BCCF94 */ _t154 = cpu->r[28] + 0x00000040u;
|
|
/* 02BCCF94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02BCCF98 */ cpu->r[7] = 0x000000FDu;
|
|
/* 02BCCF9C */ _t155 = cpu->r[28] + 0x00000044u;
|
|
/* 02BCCF9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02BCCFA0 */ cpu->r[9] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCCFA4 */ _t156 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCCFA4 */ rbrew_write32(cpu->mem, _t156, cpu->r[11]);
|
|
/* 02BCCFA8 */ cpu->r[8] = cpu->r[25] + 0x00000004u;
|
|
/* 02BCCFAC */ _t157 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCCFAC */ rbrew_write32(cpu->mem, _t157, cpu->r[0]);
|
|
/* 02BCCFB0 */ Gambit_fn_02BF6B20(cpu);
|
|
/* 02BCCFB4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCCFB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BCCFB8 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCFB8 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02BCCFB8 */ if (_t159) goto L_02BCD030; else goto L_02BCCFBC;
|
|
L_02BCCFBC: ; // 0x2bccfbc
|
|
/* 02BCCFBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02BCCFC0 */ cpu->r[30] = cpu->r[23] + 0x00000001u;
|
|
/* 02BCCFC4 */ _t160 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCCFC4 */ _t161 = _t160 & 0x00000001u;
|
|
/* 02BCCFC4 */ if (_t161) goto L_02BCCFE8; else goto L_02BCCFC8;
|
|
L_02BCCFC8: ; // 0x2bccfc8
|
|
/* 02BCCFC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCCFCC */ cpu->r[31] = cpu->r[21] + cpu->r[0];
|
|
/* 02BCCFD0 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
L_02BCCFD4: ; // 0x2bccfd4
|
|
/* 02BCCFD4 */ _t162 = cpu->r[24] + 0xFFFFB794u;
|
|
/* 02BCCFD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02BCCFD8 */ _t163 = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 02BCCFD8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02BCCFD8 */ cpu->r[31] = _t163;
|
|
/* 02BCCFDC */ Gambit_fn_02BF24AC(cpu);
|
|
/* 02BCCFE0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BCCFE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCCFE4 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCCFE4 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02BCCFE4 */ if (_t165) goto L_02BCCFE8; else goto L_02BCCFD4;
|
|
L_02BCCFE8: ; // 0x2bccfe8
|
|
/* 02BCCFE8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BCCFEC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BCCFF0 */ cpu->r[8] = 0x02BD0000u;
|
|
/* 02BCCFF4 */ _t166 = cpu->r[1] + 0x00000054u;
|
|
/* 02BCCFF4 */ rbrew_write16(cpu->mem, _t166, (uint16_t)cpu->r[5]);
|
|
/* 02BCCFF8 */ cpu->r[8] = cpu->r[8] + 0xFFFFC778u;
|
|
/* 02BCCFFC */ _t167 = cpu->r[1] + 0x00000056u;
|
|
/* 02BCCFFC */ rbrew_write16(cpu->mem, _t167, (uint16_t)cpu->r[0]);
|
|
/* 02BCD000 */ _t168 = cpu->r[1] + 0x00000054u;
|
|
/* 02BCD000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02BCD004 */ _t169 = cpu->r[1] + 0x00000058u;
|
|
/* 02BCD004 */ rbrew_write32(cpu->mem, _t169, cpu->r[8]);
|
|
/* 02BCD008 */ _t170 = cpu->r[1] + 0x00000058u;
|
|
/* 02BCD008 */ cpu->r[7] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02BCD00C */ _t171 = cpu->r[28] + 0x00000020u;
|
|
/* 02BCD00C */ rbrew_write32(cpu->mem, _t171, cpu->r[0]);
|
|
/* 02BCD010 */ _t172 = cpu->r[28] + 0x00000024u;
|
|
/* 02BCD010 */ rbrew_write32(cpu->mem, _t172, cpu->r[7]);
|
|
/* 02BCD014 */ _t173 = cpu->r[28] + 0x00000028u;
|
|
/* 02BCD014 */ rbrew_write32(cpu->mem, _t173, cpu->r[27]);
|
|
/* 02BCD018 */ /* nop */
|
|
/* 02BCD01C */ _t174 = cpu->r[1] + 0x00000224u;
|
|
/* 02BCD01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02BCD020 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD024 */ cpu->r[1] = cpu->r[1] + 0x00000220u;
|
|
/* 02BCD028 */ cpu->r[3] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCD02C */ return;
|
|
L_02BCD030: ; // 0x2bcd030
|
|
/* 02BCD030 */ cpu->r[20] = cpu->r[20] + 0x00000001u;
|
|
/* 02BCD034 */ cpu->r[22] = cpu->r[22] + 0x00000004u;
|
|
/* 02BCD038 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02BCD03C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[29]);
|
|
/* 02BCD040 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02BCD044 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02BCD048 */ _t175 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCD048 */ _t176 = _t175 & 0x00000001u;
|
|
/* 02BCD048 */ if (_t176) goto L_02BCCF74; else goto L_02BCD04C;
|
|
L_02BCD04C: ; // 0x2bcd04c
|
|
/* 02BCD04C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000003u);
|
|
/* 02BCD050 */ cpu->r[9] = 0x00000003u - cpu->r[29];
|
|
/* 02BCD054 */ _t177 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCD054 */ _t178 = _t177 & 0x00000001u;
|
|
/* 02BCD054 */ if (_t178) goto L_02BCD058; else goto L_02BCD100;
|
|
L_02BCD058: ; // 0x2bcd058
|
|
/* 02BCD058 */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCD05C */ cpu->r[5] = cpu->r[28] + 0x00000050u;
|
|
/* 02BCD060 */ cpu->ctr = cpu->r[9];
|
|
/* 02BCD064 */ cpu->r[11] = cpu->r[5] + cpu->r[6];
|
|
/* 02BCD068 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCD06C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu;
|
|
L_02BCD070: ; // 0x2bcd070
|
|
/* 02BCD070 */ _t179 = cpu->r[11] + 0x00000004u;
|
|
/* 02BCD070 */ rbrew_write32(cpu->mem, _t179, cpu->r[0]);
|
|
/* 02BCD070 */ cpu->r[11] = _t179;
|
|
/* 02BCD074 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCD074 */ _t180 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCD074 */ _t181 = _t180 >> (0x00000002u & 31u);
|
|
/* 02BCD074 */ _t182 = _t181 & 0x00000001u;
|
|
/* 02BCD074 */ if (_t182) goto L_02BCD070; else goto L_02BCD078;
|
|
L_02BCD078: ; // 0x2bcd078
|
|
/* 02BCD078 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCD07C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BCD080 */ _t183 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD080 */ rbrew_write16(cpu->mem, _t183, (uint16_t)cpu->r[0]);
|
|
/* 02BCD084 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BCD088 */ _t184 = cpu->r[1] + 0x00000016u;
|
|
/* 02BCD088 */ rbrew_write16(cpu->mem, _t184, (uint16_t)cpu->r[8]);
|
|
/* 02BCD08C */ _t185 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCD08C */ _t186 = cpu->r[5] & 0x00FFFFFFu;
|
|
/* 02BCD08C */ cpu->r[5] = _t186 | _t185;
|
|
/* 02BCD090 */ _t187 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD090 */ cpu->r[12] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02BCD094 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCD098 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BCD09C */ cpu->r[7] = 0x02BD0000u;
|
|
/* 02BCD0A0 */ _t188 = cpu->r[28] + 0x00000020u;
|
|
/* 02BCD0A0 */ rbrew_write32(cpu->mem, _t188, cpu->r[12]);
|
|
/* 02BCD0A4 */ cpu->r[5] = cpu->r[5] + 0x00003DB8u;
|
|
/* 02BCD0A8 */ cpu->r[7] = cpu->r[7] + 0xFFFFD158u;
|
|
/* 02BCD0AC */ _t189 = cpu->r[28] + 0x00000028u;
|
|
/* 02BCD0AC */ rbrew_write32(cpu->mem, _t189, cpu->r[5]);
|
|
/* 02BCD0B0 */ _t190 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCD0B0 */ rbrew_write32(cpu->mem, _t190, cpu->r[7]);
|
|
/* 02BCD0B4 */ goto L_02BCD13C;
|
|
L_02BCD0B8: ; // 0x2bcd0b8
|
|
/* 02BCD0B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCD0BC */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02BCD0C0 */ cpu->r[12] = 0x02BD0000u;
|
|
/* 02BCD0C4 */ _t191 = cpu->r[1] + 0x00000064u;
|
|
/* 02BCD0C4 */ rbrew_write16(cpu->mem, _t191, (uint16_t)cpu->r[6]);
|
|
/* 02BCD0C8 */ cpu->r[12] = cpu->r[12] + 0xFFFFC778u;
|
|
/* 02BCD0CC */ _t192 = cpu->r[1] + 0x00000066u;
|
|
/* 02BCD0CC */ rbrew_write16(cpu->mem, _t192, (uint16_t)cpu->r[4]);
|
|
/* 02BCD0D0 */ _t193 = cpu->r[1] + 0x00000064u;
|
|
/* 02BCD0D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t193);
|
|
/* 02BCD0D4 */ _t194 = cpu->r[1] + 0x00000068u;
|
|
/* 02BCD0D4 */ rbrew_write32(cpu->mem, _t194, cpu->r[12]);
|
|
/* 02BCD0D8 */ _t195 = cpu->r[1] + 0x00000068u;
|
|
/* 02BCD0D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02BCD0DC */ _t196 = cpu->r[28] + 0x00000020u;
|
|
/* 02BCD0DC */ rbrew_write32(cpu->mem, _t196, cpu->r[0]);
|
|
/* 02BCD0E0 */ _t197 = cpu->r[28] + 0x00000024u;
|
|
/* 02BCD0E0 */ rbrew_write32(cpu->mem, _t197, cpu->r[7]);
|
|
/* 02BCD0E4 */ _t198 = cpu->r[28] + 0x00000028u;
|
|
/* 02BCD0E4 */ rbrew_write32(cpu->mem, _t198, cpu->r[27]);
|
|
/* 02BCD0E8 */ /* nop */
|
|
/* 02BCD0EC */ _t199 = cpu->r[1] + 0x00000224u;
|
|
/* 02BCD0EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t199);
|
|
/* 02BCD0F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD0F4 */ cpu->r[1] = cpu->r[1] + 0x00000220u;
|
|
/* 02BCD0F8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCD0FC */ return;
|
|
L_02BCD100: ; // 0x2bcd100
|
|
/* 02BCD100 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCD104 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BCD108 */ _t200 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD108 */ rbrew_write16(cpu->mem, _t200, (uint16_t)cpu->r[0]);
|
|
/* 02BCD10C */ cpu->r[0] = 0x00000005u;
|
|
/* 02BCD110 */ _t201 = cpu->r[1] + 0x00000016u;
|
|
/* 02BCD110 */ rbrew_write16(cpu->mem, _t201, (uint16_t)cpu->r[8]);
|
|
/* 02BCD114 */ _t202 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCD114 */ _t203 = cpu->r[5] & 0x00FFFFFFu;
|
|
/* 02BCD114 */ cpu->r[5] = _t203 | _t202;
|
|
/* 02BCD118 */ _t204 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD118 */ cpu->r[12] = rbrew_read32(cpu->mem, _t204);
|
|
/* 02BCD11C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCD120 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BCD124 */ cpu->r[7] = 0x02BD0000u;
|
|
/* 02BCD128 */ _t205 = cpu->r[28] + 0x00000020u;
|
|
/* 02BCD128 */ rbrew_write32(cpu->mem, _t205, cpu->r[12]);
|
|
/* 02BCD12C */ cpu->r[5] = cpu->r[5] + 0x00003DB8u;
|
|
/* 02BCD130 */ cpu->r[7] = cpu->r[7] + 0xFFFFD158u;
|
|
/* 02BCD134 */ _t206 = cpu->r[28] + 0x00000028u;
|
|
/* 02BCD134 */ rbrew_write32(cpu->mem, _t206, cpu->r[5]);
|
|
/* 02BCD138 */ _t207 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCD138 */ rbrew_write32(cpu->mem, _t207, cpu->r[7]);
|
|
L_02BCD13C: ; // 0x2bcd13c
|
|
/* 02BCD13C */ _t208 = cpu->r[28] + 0x00000024u;
|
|
/* 02BCD13C */ rbrew_write32(cpu->mem, _t208, cpu->r[7]);
|
|
/* 02BCD140 */ /* nop */
|
|
/* 02BCD144 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BCD148 */ _t209 = cpu->r[1] + 0x00000224u;
|
|
/* 02BCD148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t209);
|
|
/* 02BCD14C */ cpu->lr = cpu->r[0];
|
|
/* 02BCD150 */ cpu->r[1] = cpu->r[1] + 0x00000220u;
|
|
/* 02BCD154 */ return;
|
|
}
|
|
|
|
// fn_02BCD158 @ 0x2bcd158
|
|
void Gambit_fn_02BCD158(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49;
|
|
|
|
L_02BCD158: ; // 0x2bcd158
|
|
/* 02BCD158 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BCD158 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD158 */ cpu->r[1] = _t0;
|
|
/* 02BCD15C */ cpu->r[0] = cpu->lr;
|
|
/* 02BCD160 */ /* nop */
|
|
/* 02BCD164 */ cpu->r[26] = 0x00000000u;
|
|
/* 02BCD168 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCD16C */ cpu->r[28] = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BCD170 */ cpu->r[27] = 0x00000003u;
|
|
/* 02BCD174 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BCD178 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCD178 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCD17C */ cpu->r[29] = cpu->r[30] + 0x00000050u;
|
|
L_02BCD180: ; // 0x2bcd180
|
|
/* 02BCD180 */ _t2 = cpu->r[31] + 0xFFFFB794u;
|
|
/* 02BCD180 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BCD184 */ _t3 = cpu->r[28] + 0x00000004u;
|
|
/* 02BCD184 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCD184 */ cpu->r[28] = _t3;
|
|
/* 02BCD188 */ Gambit_fn_02BF7268(cpu);
|
|
/* 02BCD18C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02BCD18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BCD190 */ cpu->r[26] = cpu->r[26] | cpu->r[3];
|
|
/* 02BCD194 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD194 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCD194 */ if (_t5) goto L_02BCD198; else goto L_02BCD180;
|
|
L_02BCD198: ; // 0x2bcd198
|
|
/* 02BCD198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BCD19C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD19C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCD19C */ if (_t7) goto L_02BCD274; else goto L_02BCD1A0;
|
|
L_02BCD1A0: ; // 0x2bcd1a0
|
|
/* 02BCD1A0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCD1A4 */ _t8 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BCD1A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCD1A8 */ _t9 = cpu->r[30] + 0x00000040u;
|
|
/* 02BCD1A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCD1AC */ _t10 = cpu->r[12] + 0x00000030u;
|
|
/* 02BCD1AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCD1B0 */ _t11 = cpu->r[30] + 0x00000044u;
|
|
/* 02BCD1B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCD1B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[5]);
|
|
/* 02BCD1B8 */ _t12 = cpu->r[12] + 0x00000034u;
|
|
/* 02BCD1B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCD1BC */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCD1BC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BCD1BC */ if (_t14) goto L_02BCD1CC; else goto L_02BCD1C0;
|
|
L_02BCD1C0: ; // 0x2bcd1c0
|
|
/* 02BCD1C0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCD1C0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BCD1C0 */ if (_t16) goto L_02BCD1D8; else goto L_02BCD1C4;
|
|
L_02BCD1C4: ; // 0x2bcd1c4
|
|
/* 02BCD1C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02BCD1C8 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCD1C8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BCD1C8 */ if (_t18) goto L_02BCD1CC; else goto L_02BCD1D8;
|
|
L_02BCD1CC: ; // 0x2bcd1cc
|
|
/* 02BCD1CC */ _t19 = cpu->r[30] + 0x00000082u;
|
|
/* 02BCD1CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BCD1D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCD1D4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD1D4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BCD1D4 */ if (_t21) goto L_02BCD254; else goto L_02BCD1D8;
|
|
L_02BCD1D8: ; // 0x2bcd1d8
|
|
/* 02BCD1D8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFCu;
|
|
/* 02BCD1DC */ cpu->r[28] = 0x00000000u;
|
|
/* 02BCD1E0 */ cpu->r[27] = 0x00000003u;
|
|
L_02BCD1E4: ; // 0x2bcd1e4
|
|
/* 02BCD1E4 */ _t22 = cpu->r[31] + 0xFFFFB794u;
|
|
/* 02BCD1E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCD1E8 */ _t23 = cpu->r[29] + 0x00000004u;
|
|
/* 02BCD1E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCD1E8 */ cpu->r[29] = _t23;
|
|
/* 02BCD1EC */ Gambit_fn_02BF24AC(cpu);
|
|
/* 02BCD1F0 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02BCD1F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BCD1F4 */ _t24 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCD1F4 */ rbrew_write32(cpu->mem, _t24, cpu->r[28]);
|
|
/* 02BCD1F8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD1F8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BCD1F8 */ if (_t26) goto L_02BCD1FC; else goto L_02BCD1E4;
|
|
L_02BCD1FC: ; // 0x2bcd1fc
|
|
/* 02BCD1FC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCD200 */ _t27 = cpu->r[30] + 0x00000040u;
|
|
/* 02BCD200 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02BCD204 */ _t28 = cpu->r[30] + 0x00000044u;
|
|
/* 02BCD204 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02BCD208 */ cpu->r[12] = 0x02BD0000u;
|
|
/* 02BCD20C */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCD20C */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[0]);
|
|
/* 02BCD210 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BCD214 */ cpu->r[12] = cpu->r[12] + 0xFFFFC778u;
|
|
/* 02BCD218 */ _t30 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BCD218 */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[0]);
|
|
/* 02BCD21C */ _t31 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCD21C */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BCD220 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD220 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02BCD224 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD224 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCD228 */ cpu->r[7] = 0x101A0000u;
|
|
/* 02BCD22C */ _t34 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCD22C */ rbrew_write32(cpu->mem, _t34, cpu->r[8]);
|
|
/* 02BCD230 */ cpu->r[7] = cpu->r[7] + 0x00003DE0u;
|
|
/* 02BCD234 */ _t35 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCD234 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 02BCD238 */ _t36 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCD238 */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
|
|
/* 02BCD23C */ /* nop */
|
|
/* 02BCD240 */ _t37 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCD240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCD244 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD248 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BCD24C */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCD250 */ return;
|
|
L_02BCD254: ; // 0x2bcd254
|
|
/* 02BCD254 */ /* nop */
|
|
/* 02BCD258 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BCD25C */ _t38 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCD25C */ _t39 = cpu->r[8] & 0x00FFFFFFu;
|
|
/* 02BCD25C */ cpu->r[8] = _t39 | _t38;
|
|
/* 02BCD260 */ _t40 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCD260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BCD264 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD268 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BCD26C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCD270 */ return;
|
|
L_02BCD274: ; // 0x2bcd274
|
|
/* 02BCD274 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BCD278 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BCD27C */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCD27C */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[11]);
|
|
/* 02BCD280 */ cpu->r[9] = 0x02BD0000u;
|
|
/* 02BCD284 */ _t42 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCD284 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[10]);
|
|
/* 02BCD288 */ cpu->r[9] = cpu->r[9] + 0xFFFFD2C4u;
|
|
/* 02BCD28C */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCD28C */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BCD290 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BCD294 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD294 */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 02BCD298 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD298 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BCD29C */ cpu->r[0] = cpu->r[0] + 0x00003E04u;
|
|
/* 02BCD2A0 */ _t46 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCD2A0 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 02BCD2A4 */ _t47 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCD2A4 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02BCD2A8 */ _t48 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCD2A8 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 02BCD2AC */ /* nop */
|
|
/* 02BCD2B0 */ _t49 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCD2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BCD2B4 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD2B8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BCD2BC */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCD2C0 */ return;
|
|
}
|
|
|
|
// fn_02BCD2C8 @ 0x2bcd2c8
|
|
void Gambit_fn_02BCD2C8(CPUState* 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_02BCD2C8: ; // 0x2bcd2c8
|
|
/* 02BCD2C8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCD2C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD2C8 */ cpu->r[1] = _t0;
|
|
/* 02BCD2CC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD2CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCD2D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD2D4 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCD2D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCD2D8 */ _t3 = cpu->r[31] + 0x00000082u;
|
|
/* 02BCD2D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BCD2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCD2E0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD2E0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCD2E0 */ if (_t5) goto L_02BCD2E4; else goto L_02BCD308;
|
|
L_02BCD2E4: ; // 0x2bcd2e4
|
|
/* 02BCD2E4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02BCD2E8 */ _t6 = cpu->r[8] + 0xFFFFB770u;
|
|
/* 02BCD2E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCD2EC */ _t7 = cpu->r[12] + 0x00000050u;
|
|
/* 02BCD2EC */ cpu->r[11] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02BCD2F0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BCD2F4 */ _t8 = cpu->r[12] + 0x00000050u;
|
|
/* 02BCD2F4 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[11]);
|
|
/* 02BCD2F8 */ _t9 = cpu->r[8] + 0xFFFFB770u;
|
|
/* 02BCD2F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCD2FC */ _t10 = cpu->r[11] + 0x00000048u;
|
|
/* 02BCD2FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCD300 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCD304 */ Gambit_fn_02BC5C08(cpu);
|
|
L_02BCD308: ; // 0x2bcd308
|
|
/* 02BCD308 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02BCD30C */ cpu->r[9] = 0x02BD0000u;
|
|
/* 02BCD310 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCD314 */ _t11 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCD314 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[11]);
|
|
/* 02BCD318 */ cpu->r[9] = cpu->r[9] + 0xFFFFC778u;
|
|
/* 02BCD31C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCD31C */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[0]);
|
|
/* 02BCD320 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCD320 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCD324 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD324 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 02BCD328 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD328 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCD32C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BCD330 */ _t16 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCD330 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02BCD334 */ cpu->r[0] = cpu->r[0] + 0x00003E2Cu;
|
|
/* 02BCD338 */ _t17 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCD338 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02BCD33C */ _t18 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCD33C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02BCD340 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCD340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCD344 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD348 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD348 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BCD34C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCD350 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCD354 */ return;
|
|
}
|
|
|
|
// fn_02BCD35C @ 0x2bcd35c
|
|
void Gambit_fn_02BCD35C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02BCD35C: ; // 0x2bcd35c
|
|
/* 02BCD35C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BCD35C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD35C */ cpu->r[1] = _t0;
|
|
/* 02BCD360 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCD360 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCD364 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCD364 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BCD368 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCD368 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BCD36C */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCD36C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BCD370 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BCD374 */ _t5 = cpu->r[29] + 0xFFFFB77Cu;
|
|
/* 02BCD374 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCD374 */ cpu->r[29] = _t5;
|
|
/* 02BCD378 */ _t6 = cpu->r[10] + 0x00000144u;
|
|
/* 02BCD378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCD37C */ cpu->r[30] = 0x101A0000u;
|
|
/* 02BCD380 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCD388 */ cpu->r[30] = cpu->r[30] + 0x00003E50u;
|
|
/* 02BCD38C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD38C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCD38C */ if (_t8) goto L_02BCD390; else goto L_02BCD3E0;
|
|
L_02BCD390: ; // 0x2bcd390
|
|
/* 02BCD390 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BCD394 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BCD398 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCD398 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[11]);
|
|
/* 02BCD39C */ cpu->r[9] = 0x02BD0000u;
|
|
/* 02BCD3A0 */ _t10 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BCD3A0 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[10]);
|
|
/* 02BCD3A4 */ cpu->r[9] = cpu->r[9] + 0xFFFFC778u;
|
|
/* 02BCD3A8 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCD3A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCD3AC */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD3AC */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02BCD3B0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD3B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCD3B4 */ _t14 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCD3B4 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BCD3B8 */ _t15 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCD3B8 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 02BCD3BC */ _t16 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCD3BC */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BCD3C0 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCD3C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BCD3C4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCD3C8 */ _t18 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCD3C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCD3CC */ _t19 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCD3CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCD3D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD3D4 */ _t20 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCD3D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BCD3D8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BCD3DC */ return;
|
|
L_02BCD3E0: ; // 0x2bcd3e0
|
|
/* 02BCD3E0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCD3E4 */ _t21 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCD3E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCD3E8 */ _t22 = cpu->r[31] + 0x00000081u;
|
|
/* 02BCD3E8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02BCD3EC */ _t23 = cpu->r[12] + 0x00000048u;
|
|
/* 02BCD3EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BCD3F0 */ cpu->r[4] = cpu->r[31] + 0x00000068u;
|
|
/* 02BCD3F4 */ Gambit_fn_02BC7E00(cpu);
|
|
/* 02BCD3F8 */ _t24 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCD3F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BCD3FC */ cpu->r[4] = cpu->r[31] + 0x00000068u;
|
|
/* 02BCD400 */ Gambit_fn_02BEDCB0(cpu);
|
|
/* 02BCD404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCD408 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD408 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BCD408 */ if (_t26) goto L_02BCD414; else goto L_02BCD40C;
|
|
L_02BCD40C: ; // 0x2bcd40c
|
|
/* 02BCD40C */ cpu->r[0] = 0x00000006u;
|
|
/* 02BCD410 */ _t27 = cpu->r[3] + 0x00000024u;
|
|
/* 02BCD410 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
L_02BCD414: ; // 0x2bcd414
|
|
/* 02BCD414 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BCD418 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BCD41C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCD41C */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[8]);
|
|
/* 02BCD420 */ cpu->r[12] = 0x02BD0000u;
|
|
/* 02BCD424 */ _t29 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCD424 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[7]);
|
|
/* 02BCD428 */ cpu->r[12] = cpu->r[12] + 0xFFFFC778u;
|
|
/* 02BCD42C */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCD42C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCD430 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD430 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02BCD434 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD434 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCD438 */ _t33 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCD438 */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
|
|
/* 02BCD43C */ _t34 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCD43C */ rbrew_write32(cpu->mem, _t34, cpu->r[7]);
|
|
/* 02BCD440 */ _t35 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCD440 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
/* 02BCD444 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCD444 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCD448 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCD44C */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCD44C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCD450 */ _t38 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCD450 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BCD454 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD458 */ _t39 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCD458 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCD45C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BCD460 */ return;
|
|
}
|
|
|
|
// fn_02BCD464 @ 0x2bcd464
|
|
void Gambit_fn_02BCD464(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02B6AA7C: ; // 0x2b6aa7c
|
|
/* 02B6AA7C */ cpu->r[0] = cpu->lr;
|
|
/* 02B6AA80 */ cpu->r[11] = cpu->r[3];
|
|
/* 02B6AA84 */ cpu->r[10] = cpu->r[4];
|
|
/* 02B6AA88 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02B6AA88 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02B6AA8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 02B6AA90 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02B6AA90 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02B6AA90 */ cpu->r[1] = _t1;
|
|
/* 02B6AA94 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02B6AA94 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02B6AA94 */ if (_t3) goto L_02B6AAAC; else goto L_02B6AA98;
|
|
L_02B6AA98: ; // 0x2b6aa98
|
|
/* 02B6AA98 */ cpu->r[3] = cpu->r[11] + 0x00000004u;
|
|
/* 02B6AA9C */ cpu->r[4] = cpu->r[10] + 0x00000004u;
|
|
/* 02B6AAA0 */ Gambit_fn_02B67DF8(cpu);
|
|
/* 02B6AAA4 */ _t4 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02B6AAA4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t4);
|
|
/* 02B6AAA8 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02B6AAA8 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[0]);
|
|
L_02B6AAAC: ; // 0x2b6aaac
|
|
/* 02B6AAAC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02B6AAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02B6AAB0 */ cpu->lr = cpu->r[0];
|
|
/* 02B6AAB4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02B6AAB8 */ cpu->r[3] = cpu->r[11];
|
|
/* 02B6AABC */ return;
|
|
L_02BCD464: ; // 0x2bcd464
|
|
/* 02BCD464 */ _t7 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BCD464 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 02BCD468 */ cpu->r[3] = cpu->r[3] + 0x00000068u;
|
|
/* 02BCD46C */ cpu->r[4] = cpu->r[5];
|
|
/* 02BCD470 */ goto L_02B6AA7C;
|
|
}
|
|
|
|
// fn_02BCD474 @ 0x2bcd474
|
|
void Gambit_fn_02BCD474(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BCD474: ; // 0x2bcd474
|
|
/* 02BCD474 */ _t0 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BCD474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BCD478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BCD47C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD47C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BCD47C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02BCD47C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BCD47C */ goto L_02BCD480;
|
|
L_02BCD480: ; // 0x2bcd480
|
|
/* 02BCD480 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BCD484 */ _t4 = cpu->r[3] + 0x00000082u;
|
|
/* 02BCD484 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02BCD488 */ return;
|
|
}
|
|
|
|
// fn_02BCD48C @ 0x2bcd48c
|
|
void Gambit_fn_02BCD48C(CPUState* cpu) {
|
|
uint32_t _t0, _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_02BCD48C: ; // 0x2bcd48c
|
|
/* 02BCD48C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCD48C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD48C */ cpu->r[1] = _t0;
|
|
/* 02BCD490 */ /* nop */
|
|
/* 02BCD494 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCD498 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCD498 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCD49C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCD4A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD4A4 */ _t2 = cpu->r[30] + 0xFFFFB794u;
|
|
/* 02BCD4A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BCD4A4 */ cpu->r[30] = _t2;
|
|
/* 02BCD4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCD4AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD4AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BCD4AC */ if (_t4) goto L_02BCD4B0; else goto L_02BCD4CC;
|
|
L_02BCD4B0: ; // 0x2bcd4b0
|
|
/* 02BCD4B0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCD4B4 */ cpu->r[9] = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BCD4B8 */ cpu->r[12] = 0x00000003u;
|
|
/* 02BCD4BC */ _t5 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BCD4BC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BCD4C0 */ cpu->r[10] = cpu->r[0];
|
|
/* 02BCD4C4 */ cpu->ctr = cpu->r[12];
|
|
/* 02BCD4C8 */ goto L_02BCD514;
|
|
L_02BCD4CC: ; // 0x2bcd4cc
|
|
/* 02BCD4CC */ _t6 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BCD4CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCD4D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BCD4D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD4D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCD4D4 */ if (_t8) goto L_02BCD4DC; else goto L_02BCD4D8;
|
|
L_02BCD4D8: ; // 0x2bcd4d8
|
|
/* 02BCD4D8 */ Gambit_fn_02BF24AC(cpu);
|
|
L_02BCD4DC: ; // 0x2bcd4dc
|
|
/* 02BCD4DC */ cpu->r[28] = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BCD4E0 */ cpu->r[29] = cpu->r[31] + 0x00000050u;
|
|
/* 02BCD4E4 */ cpu->r[27] = 0x00000003u;
|
|
L_02BCD4E8: ; // 0x2bcd4e8
|
|
/* 02BCD4E8 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCD4E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCD4EC */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 02BCD4EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCD4EC */ cpu->r[28] = _t10;
|
|
/* 02BCD4F0 */ Gambit_fn_02BF24AC(cpu);
|
|
/* 02BCD4F4 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02BCD4F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BCD4F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD4F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BCD4F8 */ if (_t12) goto L_02BCD4FC; else goto L_02BCD4E8;
|
|
L_02BCD4FC: ; // 0x2bcd4fc
|
|
/* 02BCD4FC */ cpu->r[12] = 0x00000003u;
|
|
/* 02BCD500 */ cpu->r[9] = cpu->r[29] + 0xFFFFFFFCu;
|
|
/* 02BCD504 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCD508 */ cpu->ctr = cpu->r[12];
|
|
/* 02BCD50C */ cpu->r[10] = cpu->r[0];
|
|
/* 02BCD510 */ _t13 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BCD510 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02BCD514: ; // 0x2bcd514
|
|
/* 02BCD514 */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02BCD514 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02BCD514 */ cpu->r[9] = _t14;
|
|
/* 02BCD518 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCD518 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCD518 */ _t16 = _t15 >> (0x00000002u & 31u);
|
|
/* 02BCD518 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BCD518 */ if (_t17) goto L_02BCD514; else goto L_02BCD51C;
|
|
L_02BCD51C: ; // 0x2bcd51c
|
|
/* 02BCD51C */ _t18 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD51C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 02BCD520 */ _t19 = cpu->r[31] + 0x00000082u;
|
|
/* 02BCD520 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 02BCD524 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BCD528 */ cpu->r[8] = 0x000000FDu;
|
|
/* 02BCD52C */ _t20 = cpu->r[31] + 0x00000081u;
|
|
/* 02BCD52C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 02BCD530 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCD534 */ _t21 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BCD534 */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 02BCD538 */ _t22 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCD538 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02BCD53C */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCD53C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02BCD540 */ /* nop */
|
|
/* 02BCD544 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCD544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BCD548 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD54C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCD550 */ return;
|
|
}
|
|
|
|
// fn_02BCD554 @ 0x2bcd554
|
|
void Gambit_fn_02BCD554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BCD554: ; // 0x2bcd554
|
|
/* 02BCD554 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BCD558 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BCD55C */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BCD560 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BCD564 */ _t0 = cpu->r[9] + 0x00002764u;
|
|
/* 02BCD564 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BCD564 */ cpu->r[9] = _t0;
|
|
/* 02BCD568 */ _t1 = cpu->r[11] + 0x0000275Cu;
|
|
/* 02BCD568 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCD568 */ cpu->r[11] = _t1;
|
|
/* 02BCD56C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BCD570 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BCD570 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BCD574 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BCD578 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BCD578 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BCD57C */ _t4 = cpu->r[11] + 0x0000276Cu;
|
|
/* 02BCD57C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BCD57C */ cpu->r[11] = _t4;
|
|
/* 02BCD580 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BCD580 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BCD584 */ return;
|
|
}
|
|
|
|
// fn_02BCD588 @ 0x2bcd588
|
|
void Gambit_fn_02BCD588(CPUState* cpu) {
|
|
L_02BCD588: ; // 0x2bcd588
|
|
/* 02BCD588 */ return;
|
|
}
|
|
|
|
// fn_02BCD58C @ 0x2bcd58c
|
|
void Gambit_fn_02BCD58C(CPUState* 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_02BCD58C: ; // 0x2bcd58c
|
|
/* 02BCD58C */ cpu->r[0] = cpu->lr;
|
|
/* 02BCD590 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BCD590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD590 */ cpu->r[1] = _t0;
|
|
/* 02BCD594 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD594 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCD598 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD598 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BCD59C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD5A0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD5A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BCD5A4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD5A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BCD5A8 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BCD5AC */ cpu->r[4] = cpu->r[3];
|
|
/* 02BCD5B0 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000068u);
|
|
/* 02BCD5B4 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BCD5B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCD5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCD5BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD5BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCD5BC */ if (_t6) goto L_02BCD5C0; else goto L_02BCD5E0;
|
|
L_02BCD5C0: ; // 0x2bcd5c0
|
|
/* 02BCD5C0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD5C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCD5C4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD5C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCD5C8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD5C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCD5CC */ cpu->lr = cpu->r[0];
|
|
/* 02BCD5D0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD5D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCD5D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCD5D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCD5DC */ return;
|
|
L_02BCD5E0: ; // 0x2bcd5e0
|
|
/* 02BCD5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD5E4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD5E4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BCD5E4 */ if (_t12) goto L_02BCD608; else goto L_02BCD5E8;
|
|
L_02BCD5E8: ; // 0x2bcd5e8
|
|
/* 02BCD5E8 */ cpu->r[29] = cpu->r[30];
|
|
L_02BCD5EC: ; // 0x2bcd5ec
|
|
/* 02BCD5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCD5F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD5F0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BCD5F0 */ if (_t14) goto L_02BCD5FC; else goto L_02BCD5F4;
|
|
L_02BCD5F4: ; // 0x2bcd5f4
|
|
/* 02BCD5F4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCD5F8 */ Gambit_fn_02BE6EE8(cpu);
|
|
L_02BCD5FC: ; // 0x2bcd5fc
|
|
/* 02BCD5FC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BCD5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD600 */ cpu->r[29] = cpu->r[29] + 0x00000068u;
|
|
/* 02BCD604 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD604 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BCD604 */ if (_t16) goto L_02BCD608; else goto L_02BCD5EC;
|
|
L_02BCD608: ; // 0x2bcd608
|
|
/* 02BCD608 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD608 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BCD60C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD60C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCD610 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCD614 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD614 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCD618 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD61C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD61C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BCD620 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCD624 */ return;
|
|
}
|
|
|
|
// fn_02BCD590 @ 0x2bcd590
|
|
void Gambit_fn_02BCD590(CPUState* 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_02BCD590: ; // 0x2bcd590
|
|
/* 02BCD590 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BCD590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD590 */ cpu->r[1] = _t0;
|
|
/* 02BCD594 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD594 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCD598 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD598 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BCD59C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD5A0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD5A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BCD5A4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD5A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BCD5A8 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BCD5AC */ cpu->r[4] = cpu->r[3];
|
|
/* 02BCD5B0 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000068u);
|
|
/* 02BCD5B4 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BCD5B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCD5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCD5BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD5BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCD5BC */ if (_t6) goto L_02BCD5C0; else goto L_02BCD5E0;
|
|
L_02BCD5C0: ; // 0x2bcd5c0
|
|
/* 02BCD5C0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD5C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCD5C4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD5C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCD5C8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD5C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCD5CC */ cpu->lr = cpu->r[0];
|
|
/* 02BCD5D0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD5D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCD5D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCD5D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCD5DC */ return;
|
|
L_02BCD5E0: ; // 0x2bcd5e0
|
|
/* 02BCD5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD5E4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD5E4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BCD5E4 */ if (_t12) goto L_02BCD608; else goto L_02BCD5E8;
|
|
L_02BCD5E8: ; // 0x2bcd5e8
|
|
/* 02BCD5E8 */ cpu->r[29] = cpu->r[30];
|
|
L_02BCD5EC: ; // 0x2bcd5ec
|
|
/* 02BCD5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCD5F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD5F0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BCD5F0 */ if (_t14) goto L_02BCD5FC; else goto L_02BCD5F4;
|
|
L_02BCD5F4: ; // 0x2bcd5f4
|
|
/* 02BCD5F4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCD5F8 */ Gambit_fn_02BE6EE8(cpu);
|
|
L_02BCD5FC: ; // 0x2bcd5fc
|
|
/* 02BCD5FC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BCD5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD600 */ cpu->r[29] = cpu->r[29] + 0x00000068u;
|
|
/* 02BCD604 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD604 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BCD604 */ if (_t16) goto L_02BCD608; else goto L_02BCD5EC;
|
|
L_02BCD608: ; // 0x2bcd608
|
|
/* 02BCD608 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD608 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BCD60C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD60C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BCD610 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCD614 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD614 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCD618 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD61C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD61C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BCD620 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCD624 */ return;
|
|
}
|
|
|
|
// fn_02BCD628 @ 0x2bcd628
|
|
void Gambit_fn_02BCD628(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BCD628: ; // 0x2bcd628
|
|
/* 02BCD628 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCD62C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCD62C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD62C */ cpu->r[1] = _t0;
|
|
/* 02BCD630 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD630 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCD634 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD638 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD638 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCD63C */ Gambit_fn_02B67464(cpu);
|
|
/* 02BCD640 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BCD644 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCD648 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BCD64C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCD650 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD650 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BCD650 */ if (_t4) goto L_02BCD654; else goto L_02BCD66C;
|
|
L_02BCD654: ; // 0x2bcd654
|
|
/* 02BCD654 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCD658 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD658 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCD65C */ cpu->lr = cpu->r[0];
|
|
/* 02BCD660 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD664 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCD668 */ return;
|
|
L_02BCD66C: ; // 0x2bcd66c
|
|
/* 02BCD66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD670 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD670 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCD670 */ if (_t8) goto L_02BCD694; else goto L_02BCD674;
|
|
L_02BCD674: ; // 0x2bcd674
|
|
/* 02BCD674 */ cpu->ctr = cpu->r[31];
|
|
/* 02BCD678 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BCD67C */ cpu->r[0] = 0x00000000u;
|
|
L_02BCD680: ; // 0x2bcd680
|
|
/* 02BCD680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BCD684 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD684 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCD684 */ if (_t10) goto L_02BCD68C; else goto L_02BCD688;
|
|
L_02BCD688: ; // 0x2bcd688
|
|
/* 02BCD688 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02BCD688 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02BCD68C: ; // 0x2bcd68c
|
|
/* 02BCD68C */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 02BCD690 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCD690 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCD690 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02BCD690 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BCD690 */ if (_t14) goto L_02BCD680; else goto L_02BCD694;
|
|
L_02BCD694: ; // 0x2bcd694
|
|
/* 02BCD694 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCD698 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCD69C */ cpu->lr = cpu->r[0];
|
|
/* 02BCD6A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD6A4 */ return;
|
|
}
|
|
|
|
// fn_02BCD62C @ 0x2bcd62c
|
|
void Gambit_fn_02BCD62C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BCD62C: ; // 0x2bcd62c
|
|
/* 02BCD62C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCD62C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD62C */ cpu->r[1] = _t0;
|
|
/* 02BCD630 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD630 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCD634 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD638 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD638 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCD63C */ Gambit_fn_02B67464(cpu);
|
|
/* 02BCD640 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BCD644 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCD648 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BCD64C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCD650 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD650 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BCD650 */ if (_t4) goto L_02BCD654; else goto L_02BCD66C;
|
|
L_02BCD654: ; // 0x2bcd654
|
|
/* 02BCD654 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCD658 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD658 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCD65C */ cpu->lr = cpu->r[0];
|
|
/* 02BCD660 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD664 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCD668 */ return;
|
|
L_02BCD66C: ; // 0x2bcd66c
|
|
/* 02BCD66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD670 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD670 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCD670 */ if (_t8) goto L_02BCD694; else goto L_02BCD674;
|
|
L_02BCD674: ; // 0x2bcd674
|
|
/* 02BCD674 */ cpu->ctr = cpu->r[31];
|
|
/* 02BCD678 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BCD67C */ cpu->r[0] = 0x00000000u;
|
|
L_02BCD680: ; // 0x2bcd680
|
|
/* 02BCD680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BCD684 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD684 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCD684 */ if (_t10) goto L_02BCD68C; else goto L_02BCD688;
|
|
L_02BCD688: ; // 0x2bcd688
|
|
/* 02BCD688 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02BCD688 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02BCD68C: ; // 0x2bcd68c
|
|
/* 02BCD68C */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 02BCD690 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCD690 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCD690 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02BCD690 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BCD690 */ if (_t14) goto L_02BCD680; else goto L_02BCD694;
|
|
L_02BCD694: ; // 0x2bcd694
|
|
/* 02BCD694 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCD698 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCD69C */ cpu->lr = cpu->r[0];
|
|
/* 02BCD6A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD6A4 */ return;
|
|
}
|
|
|
|
// fn_02BCD6A8 @ 0x2bcd6a8
|
|
void Gambit_fn_02BCD6A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BCD6A8: ; // 0x2bcd6a8
|
|
/* 02BCD6A8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCD6A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD6A8 */ cpu->r[1] = _t0;
|
|
/* 02BCD6AC */ cpu->r[0] = cpu->lr;
|
|
/* 02BCD6B0 */ /* nop */
|
|
/* 02BCD6B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD6B8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCD6B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCD6BC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD6BC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BCD6BC */ if (_t3) goto L_02BCD6C0; else goto L_02BCD6D0;
|
|
L_02BCD6C0: ; // 0x2bcd6c0
|
|
/* 02BCD6C0 */ cpu->r[3] = 0x000000C8u;
|
|
/* 02BCD6C4 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BCD6C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD6CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD6CC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCD6CC */ if (_t5) goto L_02BCD8DC; else goto L_02BCD6D0;
|
|
L_02BCD6D0: ; // 0x2bcd6d0
|
|
/* 02BCD6D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD6D4 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BCD6D8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BCD6DC */ cpu->r[10] = 0x00007530u;
|
|
/* 02BCD6E0 */ _t6 = cpu->r[31] + 0x000000ACu;
|
|
/* 02BCD6E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02BCD6E4 */ cpu->r[0] = 0x00004E20u;
|
|
/* 02BCD6E8 */ _t7 = cpu->r[31] + 0x00000054u;
|
|
/* 02BCD6E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02BCD6EC */ cpu->r[9] = 0x00010000u;
|
|
/* 02BCD6F0 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCD6F0 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BCD6F4 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BCD6F8 */ _t9 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BCD6F8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BCD6FC */ cpu->r[8] = cpu->r[8] + 0x00004120u;
|
|
/* 02BCD700 */ _t10 = cpu->r[31] + 0x00000050u;
|
|
/* 02BCD700 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02BCD704 */ cpu->r[9] = cpu->r[9] + 0xFFFF9C40u;
|
|
/* 02BCD708 */ _t11 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCD708 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02BCD70C */ cpu->r[4] = 0x000000FFu;
|
|
/* 02BCD710 */ _t12 = cpu->r[31] + 0x00000048u;
|
|
/* 02BCD710 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02BCD714 */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02BCD718 */ _t13 = cpu->r[31] + 0x00000018u;
|
|
/* 02BCD718 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 02BCD71C */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCD720 */ _t14 = cpu->r[31] + 0x000000A8u;
|
|
/* 02BCD720 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BCD724 */ _t15 = cpu->r[31] + 0x00000058u;
|
|
/* 02BCD724 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02BCD728 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02BCD72C */ _t16 = cpu->r[31] + 0x000000B8u;
|
|
/* 02BCD72C */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02BCD730 */ _t17 = cpu->r[31] + 0x000000B0u;
|
|
/* 02BCD730 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BCD734 */ _t18 = cpu->r[31] + 0x00000095u;
|
|
/* 02BCD734 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]);
|
|
/* 02BCD738 */ _t19 = cpu->r[31] + 0x00000099u;
|
|
/* 02BCD738 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 02BCD73C */ _t20 = cpu->r[31] + 0x000000B4u;
|
|
/* 02BCD73C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BCD740 */ _t21 = cpu->r[31] + 0x00000096u;
|
|
/* 02BCD740 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02BCD744 */ _t22 = cpu->r[31] + 0x000000BCu;
|
|
/* 02BCD744 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
|
|
/* 02BCD748 */ _t23 = cpu->r[31] + 0x00000098u;
|
|
/* 02BCD748 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[30]);
|
|
/* 02BCD74C */ _t24 = cpu->r[31] + 0x00000094u;
|
|
/* 02BCD74C */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]);
|
|
/* 02BCD750 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCD754 */ _t25 = cpu->r[31] + 0x00000097u;
|
|
/* 02BCD754 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[30]);
|
|
/* 02BCD758 */ _t26 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCD758 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCD75C */ _t27 = cpu->r[12] + 0x00000052u;
|
|
/* 02BCD75C */ cpu->r[28] = rbrew_read16(cpu->mem, _t27);
|
|
/* 02BCD760 */ _t28 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BCD760 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02BCD764 */ _t29 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD764 */ rbrew_write32(cpu->mem, _t29, cpu->r[28]);
|
|
/* 02BCD768 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BCD76C */ cpu->r[4] = cpu->r[3];
|
|
/* 02BCD770 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x00000014u);
|
|
/* 02BCD774 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BCD778 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BCD778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCD77C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD77C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BCD77C */ if (_t31) goto L_02BCD780; else goto L_02BCD7D8;
|
|
L_02BCD780: ; // 0x2bcd780
|
|
/* 02BCD780 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BCD784 */ _t32 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD784 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCD788 */ _t33 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BCD788 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
|
|
/* 02BCD78C */ Gambit_fn_02BCD58C(cpu);
|
|
/* 02BCD790 */ _t34 = cpu->r[31] + 0x00000084u;
|
|
/* 02BCD790 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
/* 02BCD794 */ _t35 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD794 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCD798 */ Gambit_fn_02BCD628(cpu);
|
|
/* 02BCD79C */ _t36 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCD79C */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02BCD7A0 */ _t37 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD7A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCD7A4 */ Gambit_fn_02BCD58C(cpu);
|
|
/* 02BCD7A8 */ _t38 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BCD7A8 */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
|
|
/* 02BCD7AC */ _t39 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD7AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCD7B0 */ Gambit_fn_02BCD628(cpu);
|
|
/* 02BCD7B4 */ _t40 = cpu->r[31] + 0x00000090u;
|
|
/* 02BCD7B4 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 02BCD7B8 */ _t41 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD7B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCD7BC */ Gambit_fn_02B67464(cpu);
|
|
/* 02BCD7C0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BCD7C4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCD7C8 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BCD7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCD7D0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD7D0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BCD7D0 */ if (_t43) goto L_02BCD850; else goto L_02BCD7D4;
|
|
L_02BCD7D4: ; // 0x2bcd7d4
|
|
/* 02BCD7D4 */ goto L_02BCD86C;
|
|
L_02BCD7D8: ; // 0x2bcd7d8
|
|
/* 02BCD7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BCD7DC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD7DC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BCD7DC */ if (_t45) goto L_02BCD800; else goto L_02BCD7E0;
|
|
L_02BCD7E0: ; // 0x2bcd7e0
|
|
/* 02BCD7E0 */ cpu->r[27] = cpu->r[29];
|
|
L_02BCD7E4: ; // 0x2bcd7e4
|
|
/* 02BCD7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BCD7E8 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD7E8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BCD7E8 */ if (_t47) goto L_02BCD7F4; else goto L_02BCD7EC;
|
|
L_02BCD7EC: ; // 0x2bcd7ec
|
|
/* 02BCD7EC */ cpu->r[3] = cpu->r[27];
|
|
/* 02BCD7F0 */ Gambit_fn_02B677A0(cpu);
|
|
L_02BCD7F4: ; // 0x2bcd7f4
|
|
/* 02BCD7F4 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02BCD7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BCD7F8 */ cpu->r[27] = cpu->r[27] + 0x00000014u;
|
|
/* 02BCD7FC */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD7FC */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BCD7FC */ if (_t49) goto L_02BCD800; else goto L_02BCD7E4;
|
|
L_02BCD800: ; // 0x2bcd800
|
|
/* 02BCD800 */ _t50 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD800 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BCD804 */ _t51 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BCD804 */ rbrew_write32(cpu->mem, _t51, cpu->r[29]);
|
|
/* 02BCD808 */ Gambit_fn_02BCD58C(cpu);
|
|
/* 02BCD80C */ _t52 = cpu->r[31] + 0x00000084u;
|
|
/* 02BCD80C */ rbrew_write32(cpu->mem, _t52, cpu->r[3]);
|
|
/* 02BCD810 */ _t53 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD810 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BCD814 */ Gambit_fn_02BCD628(cpu);
|
|
/* 02BCD818 */ _t54 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCD818 */ rbrew_write32(cpu->mem, _t54, cpu->r[3]);
|
|
/* 02BCD81C */ _t55 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD81C */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BCD820 */ Gambit_fn_02BCD58C(cpu);
|
|
/* 02BCD824 */ _t56 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BCD824 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 02BCD828 */ _t57 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BCD82C */ Gambit_fn_02BCD628(cpu);
|
|
/* 02BCD830 */ _t58 = cpu->r[31] + 0x00000090u;
|
|
/* 02BCD830 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02BCD834 */ _t59 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD834 */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BCD838 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BCD83C */ cpu->r[4] = cpu->r[3];
|
|
/* 02BCD840 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCD844 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BCD848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCD84C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD84C */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BCD84C */ if (_t61) goto L_02BCD850; else goto L_02BCD86C;
|
|
L_02BCD850: ; // 0x2bcd850
|
|
/* 02BCD850 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCD854 */ _t62 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD854 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCD858 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BCD85C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02BCD860 */ _t63 = cpu->r[31] + 0x000000A0u;
|
|
/* 02BCD860 */ rbrew_write32(cpu->mem, _t63, cpu->r[3]);
|
|
/* 02BCD864 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCD864 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BCD864 */ if (_t65) goto L_02BCD868; else goto L_02BCD8C8;
|
|
L_02BCD868: ; // 0x2bcd868
|
|
/* 02BCD868 */ goto L_02BCD8A8;
|
|
L_02BCD86C: ; // 0x2bcd86c
|
|
/* 02BCD86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCD870 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD870 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02BCD870 */ if (_t67) goto L_02BCD894; else goto L_02BCD874;
|
|
L_02BCD874: ; // 0x2bcd874
|
|
/* 02BCD874 */ cpu->ctr = cpu->r[29];
|
|
/* 02BCD878 */ cpu->r[11] = cpu->r[3];
|
|
/* 02BCD87C */ cpu->r[7] = 0x00000000u;
|
|
L_02BCD880: ; // 0x2bcd880
|
|
/* 02BCD880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BCD884 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD884 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BCD884 */ if (_t69) goto L_02BCD88C; else goto L_02BCD888;
|
|
L_02BCD888: ; // 0x2bcd888
|
|
/* 02BCD888 */ _t70 = cpu->r[11] + 0x00000000u;
|
|
/* 02BCD888 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[7]);
|
|
L_02BCD88C: ; // 0x2bcd88c
|
|
/* 02BCD88C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BCD890 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCD890 */ _t71 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCD890 */ _t72 = _t71 >> (0x00000002u & 31u);
|
|
/* 02BCD890 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02BCD890 */ if (_t73) goto L_02BCD880; else goto L_02BCD894;
|
|
L_02BCD894: ; // 0x2bcd894
|
|
/* 02BCD894 */ _t74 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD894 */ cpu->r[8] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BCD898 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BCD89C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02BCD8A0 */ _t75 = cpu->r[31] + 0x000000A0u;
|
|
/* 02BCD8A0 */ rbrew_write32(cpu->mem, _t75, cpu->r[3]);
|
|
/* 02BCD8A4 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCD8A4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02BCD8A4 */ if (_t77) goto L_02BCD8A8; else goto L_02BCD8C8;
|
|
L_02BCD8A8: ; // 0x2bcd8a8
|
|
/* 02BCD8A8 */ cpu->r[9] = 0x00000000u;
|
|
L_02BCD8AC: ; // 0x2bcd8ac
|
|
/* 02BCD8AC */ _t78 = cpu->r[3] + cpu->r[12];
|
|
/* 02BCD8AC */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[9]);
|
|
/* 02BCD8B0 */ _t79 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCD8B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BCD8B4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BCD8B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02BCD8BC */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCD8BC */ _t81 = _t80 & 0x00000001u;
|
|
/* 02BCD8BC */ if (_t81) goto L_02BCD8C0; else goto L_02BCD8C8;
|
|
L_02BCD8C0: ; // 0x2bcd8c0
|
|
/* 02BCD8C0 */ _t82 = cpu->r[31] + 0x000000A0u;
|
|
/* 02BCD8C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BCD8C4 */ goto L_02BCD8AC;
|
|
L_02BCD8C8: ; // 0x2bcd8c8
|
|
/* 02BCD8C8 */ _t83 = cpu->r[31] + 0x000000BDu;
|
|
/* 02BCD8C8 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[30]);
|
|
/* 02BCD8CC */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCD8D0 */ _t84 = cpu->r[31] + 0x000000C0u;
|
|
/* 02BCD8D0 */ rbrew_write32(cpu->mem, _t84, cpu->r[30]);
|
|
/* 02BCD8D4 */ _t85 = cpu->r[31] + 0x000000C4u;
|
|
/* 02BCD8D4 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[0]);
|
|
/* 02BCD8D8 */ _t86 = cpu->r[31] + 0x000000BEu;
|
|
/* 02BCD8D8 */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[30]);
|
|
L_02BCD8DC: ; // 0x2bcd8dc
|
|
/* 02BCD8DC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD8E0 */ /* nop */
|
|
/* 02BCD8E4 */ _t87 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCD8E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BCD8E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD8EC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCD8F0 */ return;
|
|
}
|
|
|
|
// fn_02BCD8F4 @ 0x2bcd8f4
|
|
void Gambit_fn_02BCD8F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BCD8F4: ; // 0x2bcd8f4
|
|
/* 02BCD8F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCD8F8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BCD8F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD8F8 */ cpu->r[1] = _t0;
|
|
/* 02BCD8FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD8FC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BCD900 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD900 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCD904 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD904 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BCD908 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD90C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD90C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BCD910 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD910 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCD910 */ if (_t6) goto L_02BCD960; else goto L_02BCD914;
|
|
L_02BCD914: ; // 0x2bcd914
|
|
/* 02BCD914 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD918 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BCD91C */ cpu->r[0] = 0x4EC40000u;
|
|
/* 02BCD920 */ cpu->r[0] = cpu->r[0] | 0x0000EC4Fu;
|
|
/* 02BCD924 */ /* nop */
|
|
/* 02BCD928 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BCD928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCD92C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD92C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCD92C */ if (_t8) goto L_02BCD958; else goto L_02BCD930;
|
|
L_02BCD930: ; // 0x2bcd930
|
|
/* 02BCD930 */ cpu->r[30] = cpu->r[31];
|
|
L_02BCD934: ; // 0x2bcd934
|
|
/* 02BCD934 */ _t9 = cpu->r[30] + 0x00000064u;
|
|
/* 02BCD934 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCD938 */ _t10 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BCD938 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCD93C */ cpu->ctr = cpu->r[11];
|
|
/* 02BCD940 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCD944 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCD948 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCD94C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02BCD94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCD950 */ cpu->r[30] = cpu->r[30] + 0x00000068u;
|
|
/* 02BCD954 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD954 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BCD954 */ if (_t12) goto L_02BCD958; else goto L_02BCD934;
|
|
L_02BCD958: ; // 0x2bcd958
|
|
/* 02BCD958 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD95C */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BCD960: ; // 0x2bcd960
|
|
/* 02BCD960 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD960 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCD964 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCD968 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD968 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCD96C */ cpu->lr = cpu->r[0];
|
|
/* 02BCD970 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD970 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCD974 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCD978 */ return;
|
|
}
|
|
|
|
// fn_02BCD8F8 @ 0x2bcd8f8
|
|
void Gambit_fn_02BCD8F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BCD8F8: ; // 0x2bcd8f8
|
|
/* 02BCD8F8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BCD8F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD8F8 */ cpu->r[1] = _t0;
|
|
/* 02BCD8FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD8FC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BCD900 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD900 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCD904 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD904 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BCD908 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD90C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD90C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BCD910 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD910 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BCD910 */ if (_t6) goto L_02BCD960; else goto L_02BCD914;
|
|
L_02BCD914: ; // 0x2bcd914
|
|
/* 02BCD914 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD918 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BCD91C */ cpu->r[0] = 0x4EC40000u;
|
|
/* 02BCD920 */ cpu->r[0] = cpu->r[0] | 0x0000EC4Fu;
|
|
/* 02BCD924 */ /* nop */
|
|
/* 02BCD928 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BCD928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCD92C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD92C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCD92C */ if (_t8) goto L_02BCD958; else goto L_02BCD930;
|
|
L_02BCD930: ; // 0x2bcd930
|
|
/* 02BCD930 */ cpu->r[30] = cpu->r[31];
|
|
L_02BCD934: ; // 0x2bcd934
|
|
/* 02BCD934 */ _t9 = cpu->r[30] + 0x00000064u;
|
|
/* 02BCD934 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCD938 */ _t10 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BCD938 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCD93C */ cpu->ctr = cpu->r[11];
|
|
/* 02BCD940 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCD944 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCD948 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCD94C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02BCD94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCD950 */ cpu->r[30] = cpu->r[30] + 0x00000068u;
|
|
/* 02BCD954 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD954 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BCD954 */ if (_t12) goto L_02BCD958; else goto L_02BCD934;
|
|
L_02BCD958: ; // 0x2bcd958
|
|
/* 02BCD958 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD95C */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BCD960: ; // 0x2bcd960
|
|
/* 02BCD960 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD960 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCD964 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCD964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCD968 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD968 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCD96C */ cpu->lr = cpu->r[0];
|
|
/* 02BCD970 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD970 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCD974 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCD978 */ return;
|
|
}
|
|
|
|
// fn_02BCD97C @ 0x2bcd97c
|
|
void Gambit_fn_02BCD97C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BCD97C: ; // 0x2bcd97c
|
|
/* 02BCD97C */ cpu->r[0] = cpu->lr;
|
|
/* 02BCD980 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCD980 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD980 */ cpu->r[1] = _t0;
|
|
/* 02BCD984 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD984 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCD988 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD98C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD98C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCD990 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD990 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BCD990 */ if (_t4) goto L_02BCD9A8; else goto L_02BCD994;
|
|
L_02BCD994: ; // 0x2bcd994
|
|
/* 02BCD994 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD998 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BCD99C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02BCD99C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCD9A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD9A4 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BCD9A8: ; // 0x2bcd9a8
|
|
/* 02BCD9A8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD9A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCD9AC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD9AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCD9B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD9B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD9B8 */ return;
|
|
}
|
|
|
|
// fn_02BCD980 @ 0x2bcd980
|
|
void Gambit_fn_02BCD980(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BCD980: ; // 0x2bcd980
|
|
/* 02BCD980 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCD980 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD980 */ cpu->r[1] = _t0;
|
|
/* 02BCD984 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD984 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCD988 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD98C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD98C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCD990 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD990 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BCD990 */ if (_t4) goto L_02BCD9A8; else goto L_02BCD994;
|
|
L_02BCD994: ; // 0x2bcd994
|
|
/* 02BCD994 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD998 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BCD99C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02BCD99C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCD9A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD9A4 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BCD9A8: ; // 0x2bcd9a8
|
|
/* 02BCD9A8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD9A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCD9AC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD9AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCD9B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD9B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD9B8 */ return;
|
|
}
|
|
|
|
// fn_02BCD9BC @ 0x2bcd9bc
|
|
void Gambit_fn_02BCD9BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BCD9BC: ; // 0x2bcd9bc
|
|
/* 02BCD9BC */ cpu->r[0] = cpu->lr;
|
|
/* 02BCD9C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCD9C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD9C0 */ cpu->r[1] = _t0;
|
|
/* 02BCD9C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD9C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCD9C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD9C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD9CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD9CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCD9D0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD9D0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BCD9D0 */ if (_t4) goto L_02BCD9E8; else goto L_02BCD9D4;
|
|
L_02BCD9D4: ; // 0x2bcd9d4
|
|
/* 02BCD9D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD9D8 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BCD9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCD9E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD9E4 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BCD9E8: ; // 0x2bcd9e8
|
|
/* 02BCD9E8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCD9EC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD9EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCD9F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD9F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD9F8 */ return;
|
|
}
|
|
|
|
// fn_02BCD9C0 @ 0x2bcd9c0
|
|
void Gambit_fn_02BCD9C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BCD9C0: ; // 0x2bcd9c0
|
|
/* 02BCD9C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCD9C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD9C0 */ cpu->r[1] = _t0;
|
|
/* 02BCD9C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD9C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCD9C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCD9C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCD9CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD9CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BCD9D0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCD9D0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BCD9D0 */ if (_t4) goto L_02BCD9E8; else goto L_02BCD9D4;
|
|
L_02BCD9D4: ; // 0x2bcd9d4
|
|
/* 02BCD9D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD9D8 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BCD9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCD9E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCD9E4 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BCD9E8: ; // 0x2bcd9e8
|
|
/* 02BCD9E8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCD9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCD9EC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCD9EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCD9F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCD9F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCD9F8 */ return;
|
|
}
|
|
|
|
// fn_02BCD9FC @ 0x2bcd9fc
|
|
void Gambit_fn_02BCD9FC(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_02BCD9FC: ; // 0x2bcd9fc
|
|
/* 02BCD9FC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BCD9FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCD9FC */ cpu->r[1] = _t0;
|
|
/* 02BCDA00 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCDA04 */ /* nop */
|
|
/* 02BCDA08 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCDA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCDA0C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BCDA10 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCDA10 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCDA14 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDA14 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BCDA14 */ if (_t3) goto L_02BCDAB4; else goto L_02BCDA18;
|
|
L_02BCDA18: ; // 0x2bcda18
|
|
/* 02BCDA18 */ _t4 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BCDA18 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCDA1C */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BCDA20 */ cpu->r[12] = cpu->r[12] + 0x00004120u;
|
|
/* 02BCDA24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BCDA28 */ _t5 = cpu->r[30] + 0x00000018u;
|
|
/* 02BCDA28 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BCDA2C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDA2C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCDA2C */ if (_t7) goto L_02BCDA70; else goto L_02BCDA30;
|
|
L_02BCDA30: ; // 0x2bcda30
|
|
/* 02BCDA30 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BCDA34 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BCDA38 */ cpu->r[0] = 0xCCCC0000u;
|
|
/* 02BCDA3C */ cpu->r[0] = cpu->r[0] | 0x0000CCCDu;
|
|
/* 02BCDA40 */ /* nop */
|
|
/* 02BCDA44 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x00000004u, 0x0000001Fu);
|
|
/* 02BCDA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BCDA48 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDA48 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BCDA48 */ if (_t9) goto L_02BCDA68; else goto L_02BCDA4C;
|
|
L_02BCDA4C: ; // 0x2bcda4c
|
|
/* 02BCDA4C */ cpu->r[29] = cpu->r[27];
|
|
L_02BCDA50: ; // 0x2bcda50
|
|
/* 02BCDA50 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCDA54 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCDA58 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BCDA5C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02BCDA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BCDA60 */ cpu->r[29] = cpu->r[29] + 0x00000014u;
|
|
/* 02BCDA64 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDA64 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BCDA64 */ if (_t11) goto L_02BCDA68; else goto L_02BCDA50;
|
|
L_02BCDA68: ; // 0x2bcda68
|
|
/* 02BCDA68 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BCDA6C */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BCDA70: ; // 0x2bcda70
|
|
/* 02BCDA70 */ _t12 = cpu->r[30] + 0x00000084u;
|
|
/* 02BCDA70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCDA74 */ Gambit_fn_02BCD8F4(cpu);
|
|
/* 02BCDA78 */ _t13 = cpu->r[30] + 0x00000088u;
|
|
/* 02BCDA78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCDA7C */ Gambit_fn_02BCD97C(cpu);
|
|
/* 02BCDA80 */ _t14 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02BCDA80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCDA84 */ Gambit_fn_02BCD8F4(cpu);
|
|
/* 02BCDA88 */ _t15 = cpu->r[30] + 0x00000090u;
|
|
/* 02BCDA88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCDA8C */ Gambit_fn_02BCD97C(cpu);
|
|
/* 02BCDA90 */ _t16 = cpu->r[30] + 0x000000A0u;
|
|
/* 02BCDA90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BCDA94 */ Gambit_fn_02BCD9BC(cpu);
|
|
/* 02BCDA98 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCDA9C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCDAA0 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BCDAA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCDAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCDAA8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDAA8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BCDAA8 */ if (_t18) goto L_02BCDAB4; else goto L_02BCDAAC;
|
|
L_02BCDAAC: ; // 0x2bcdaac
|
|
/* 02BCDAAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCDAB0 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BCDAB4: ; // 0x2bcdab4
|
|
/* 02BCDAB4 */ /* nop */
|
|
/* 02BCDAB8 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCDAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCDABC */ cpu->lr = cpu->r[0];
|
|
/* 02BCDAC0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCDAC4 */ return;
|
|
}
|
|
|
|
// fn_02BCDAC8 @ 0x2bcdac8
|
|
void Gambit_fn_02BCDAC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BCDAC8: ; // 0x2bcdac8
|
|
/* 02BCDAC8 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BCDAC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCDAC8 */ cpu->r[1] = _t0;
|
|
/* 02BCDACC */ /* nop */
|
|
/* 02BCDAD0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCDAD4 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCDAD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCDAD8 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BCDADC */ _t2 = cpu->r[27] + 0x00000084u;
|
|
/* 02BCDADC */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BCDAE0 */ _t3 = cpu->r[3] + 0x00000064u;
|
|
/* 02BCDAE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCDAE4 */ _t4 = cpu->r[12] + 0x00000014u;
|
|
/* 02BCDAE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCDAE8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCDAEC */ cpu->r[28] = cpu->r[4];
|
|
/* 02BCDAF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCDAF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCDAF8 */ cpu->r[8] = 0x00000003u;
|
|
/* 02BCDAFC */ _t5 = cpu->r[28] + 0x00000001u;
|
|
/* 02BCDAFC */ cpu->r[19] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BCDB00 */ _t6 = ~cpu->r[31];
|
|
/* 02BCDB00 */ cpu->r[7] = cpu->r[8] & _t6;
|
|
/* 02BCDB04 */ _t7 = cpu->r[28] + 0x00000002u;
|
|
/* 02BCDB04 */ cpu->r[29] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02BCDB08 */ cpu->r[9] = cpu->r[31] + cpu->r[7];
|
|
/* 02BCDB0C */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02BCDB10 */ cpu->r[30] = cpu->r[9] + 0x00000001u;
|
|
/* 02BCDB14 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BCDB18 */ _t8 = cpu->r[27] + 0x00000080u;
|
|
/* 02BCDB18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCDB1C */ cpu->r[21] = cpu->r[3];
|
|
/* 02BCDB20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[11]);
|
|
/* 02BCDB24 */ cpu->r[25] = 0x00000000u;
|
|
/* 02BCDB28 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCDB28 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCDB28 */ if (_t10) goto L_02BCDE44; else goto L_02BCDB2C;
|
|
L_02BCDB2C: ; // 0x2bcdb2c
|
|
/* 02BCDB2C */ _t11 = cpu->r[28] + 0x00000008u;
|
|
/* 02BCDB2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02BCDB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BCDB34 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BCDB38 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDB38 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BCDB38 */ if (_t13) goto L_02BCDB3C; else goto L_02BCDC3C;
|
|
L_02BCDB3C: ; // 0x2bcdb3c
|
|
/* 02BCDB3C */ _t14 = cpu->r[27] + 0x00000094u;
|
|
/* 02BCDB3C */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02BCDB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCDB44 */ cpu->r[24] = cpu->r[27] + 0x00000094u;
|
|
/* 02BCDB48 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDB48 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BCDB48 */ if (_t16) goto L_02BCDB4C; else goto L_02BCDB58;
|
|
L_02BCDB4C: ; // 0x2bcdb4c
|
|
/* 02BCDB4C */ _t17 = cpu->r[24] + 0x00000001u;
|
|
/* 02BCDB4C */ cpu->r[6] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02BCDB50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BCDB54 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDB54 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BCDB54 */ if (_t19) goto L_02BCDB7C; else goto L_02BCDB58;
|
|
L_02BCDB58: ; // 0x2bcdb58
|
|
/* 02BCDB58 */ _t20 = cpu->r[27] + 0x00000098u;
|
|
/* 02BCDB58 */ cpu->r[8] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02BCDB5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[8]);
|
|
/* 02BCDB60 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCDB60 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BCDB60 */ if (_t22) goto L_02BCDCB0; else goto L_02BCDB64;
|
|
L_02BCDB64: ; // 0x2bcdb64
|
|
/* 02BCDB64 */ _t23 = cpu->r[27] + 0x00000099u;
|
|
/* 02BCDB64 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[25]);
|
|
/* 02BCDB68 */ _t24 = cpu->r[27] + 0x00000096u;
|
|
/* 02BCDB68 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[25]);
|
|
/* 02BCDB6C */ _t25 = cpu->r[27] + 0x00000098u;
|
|
/* 02BCDB6C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[25]);
|
|
/* 02BCDB70 */ _t26 = cpu->r[27] + 0x00000097u;
|
|
/* 02BCDB70 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[25]);
|
|
/* 02BCDB74 */ _t27 = cpu->r[24] + 0x00000001u;
|
|
/* 02BCDB74 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[25]);
|
|
/* 02BCDB78 */ _t28 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCDB78 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[25]);
|
|
L_02BCDB7C: ; // 0x2bcdb7c
|
|
/* 02BCDB7C */ cpu->r[22] = cpu->r[19];
|
|
/* 02BCDB7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BCDB80 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCDB80 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BCDB80 */ if (_t30) goto L_02BCDB84; else goto L_02BCDBDC;
|
|
L_02BCDB84: ; // 0x2bcdb84
|
|
/* 02BCDB84 */ cpu->r[10] = cpu->r[28] + cpu->r[31];
|
|
/* 02BCDB88 */ cpu->r[31] = cpu->r[30];
|
|
/* 02BCDB8C */ cpu->r[23] = 0x00000000u;
|
|
/* 02BCDB90 */ cpu->r[25] = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BCDB94 */ cpu->r[29] = cpu->r[28] + 0x0000000Cu;
|
|
/* 02BCDB98 */ cpu->r[24] = cpu->r[23];
|
|
/* 02BCDB9C */ cpu->r[25] = cpu->r[25] - cpu->r[30];
|
|
L_02BCDBA0: ; // 0x2bcdba0
|
|
/* 02BCDBA0 */ _t31 = cpu->r[27] + 0x00000084u;
|
|
/* 02BCDBA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BCDBA4 */ cpu->r[3] = cpu->r[10] + cpu->r[23];
|
|
/* 02BCDBA8 */ _t32 = cpu->r[3] + 0x00000064u;
|
|
/* 02BCDBA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCDBAC */ _t33 = cpu->r[11] + 0x00000024u;
|
|
/* 02BCDBAC */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCDBB0 */ cpu->ctr = cpu->r[5];
|
|
/* 02BCDBB4 */ _t34 = cpu->r[25] + cpu->r[31];
|
|
/* 02BCDBB4 */ cpu->r[28] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02BCDBB4 */ cpu->r[25] = _t34;
|
|
/* 02BCDBB8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BCDBBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCDBC0 */ _t35 = cpu->r[27] + 0x00000088u;
|
|
/* 02BCDBC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCDBC4 */ cpu->r[29] = cpu->r[29] + cpu->r[30];
|
|
/* 02BCDBC8 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02BCDBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BCDBCC */ cpu->r[23] = cpu->r[23] + 0x00000068u;
|
|
/* 02BCDBD0 */ _t36 = cpu->r[6] + cpu->r[24];
|
|
/* 02BCDBD0 */ rbrew_write32(cpu->mem, _t36, cpu->r[28]);
|
|
/* 02BCDBD4 */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 02BCDBD8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDBD8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BCDBD8 */ if (_t38) goto L_02BCDBDC; else goto L_02BCDBA0;
|
|
L_02BCDBDC: ; // 0x2bcdbdc
|
|
/* 02BCDBDC */ _t39 = cpu->r[27] + 0x00000080u;
|
|
/* 02BCDBDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCDBE0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BCDBE4 */ _t40 = cpu->r[27] + 0x000000B8u;
|
|
/* 02BCDBE4 */ rbrew_write32(cpu->mem, _t40, cpu->r[21]);
|
|
/* 02BCDBE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02BCDBEC */ _t41 = cpu->r[27] + 0x0000009Cu;
|
|
/* 02BCDBEC */ rbrew_write32(cpu->mem, _t41, cpu->r[19]);
|
|
/* 02BCDBF0 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCDBF0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BCDBF0 */ if (_t43) goto L_02BCDBF4; else goto L_02BCDC10;
|
|
L_02BCDBF4: ; // 0x2bcdbf4
|
|
/* 02BCDBF4 */ cpu->r[0] = 0x00000000u;
|
|
L_02BCDBF8: ; // 0x2bcdbf8
|
|
/* 02BCDBF8 */ _t44 = cpu->r[27] + 0x000000A0u;
|
|
/* 02BCDBF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCDBFC */ _t45 = cpu->r[9] + cpu->r[12];
|
|
/* 02BCDBFC */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 02BCDC00 */ _t46 = cpu->r[27] + 0x00000080u;
|
|
/* 02BCDC00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BCDC04 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BCDC08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02BCDC0C */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCDC0C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BCDC0C */ if (_t48) goto L_02BCDBF8; else goto L_02BCDC10;
|
|
L_02BCDC10: ; // 0x2bcdc10
|
|
/* 02BCDC10 */ _t49 = cpu->r[26] + 0xFFFFB6C4u;
|
|
/* 02BCDC10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BCDC14 */ _t50 = cpu->r[12] + 0x00000030u;
|
|
/* 02BCDC14 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BCDC18 */ _t51 = cpu->r[12] + 0x00000034u;
|
|
/* 02BCDC18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BCDC1C */ _t52 = cpu->r[27] + 0x000000A8u;
|
|
/* 02BCDC1C */ rbrew_write32(cpu->mem, _t52, cpu->r[5]);
|
|
/* 02BCDC20 */ _t53 = cpu->r[27] + 0x000000ACu;
|
|
/* 02BCDC20 */ rbrew_write32(cpu->mem, _t53, cpu->r[7]);
|
|
/* 02BCDC24 */ /* nop */
|
|
/* 02BCDC28 */ _t54 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCDC28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BCDC2C */ cpu->lr = cpu->r[0];
|
|
/* 02BCDC30 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BCDC34 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BCDC38 */ return;
|
|
L_02BCDC3C: ; // 0x2bcdc3c
|
|
/* 02BCDC3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BCDC40 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDC40 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BCDC40 */ if (_t56) goto L_02BCDC44; else goto L_02BCDE44;
|
|
L_02BCDC44: ; // 0x2bcdc44
|
|
/* 02BCDC44 */ _t57 = cpu->r[27] + 0x00000094u;
|
|
/* 02BCDC44 */ cpu->r[0] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02BCDC48 */ _t58 = cpu->r[28] + 0x00000009u;
|
|
/* 02BCDC48 */ cpu->r[20] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02BCDC4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCDC50 */ cpu->r[24] = cpu->r[27] + 0x00000094u;
|
|
/* 02BCDC54 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDC54 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BCDC54 */ if (_t60) goto L_02BCDC58; else goto L_02BCDC8C;
|
|
L_02BCDC58: ; // 0x2bcdc58
|
|
/* 02BCDC58 */ _t61 = cpu->r[24] + 0x00000001u;
|
|
/* 02BCDC58 */ cpu->r[5] = rbrew_read8(cpu->mem, _t61);
|
|
/* 02BCDC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BCDC60 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDC60 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BCDC60 */ if (_t63) goto L_02BCDC64; else goto L_02BCDC8C;
|
|
L_02BCDC64: ; // 0x2bcdc64
|
|
/* 02BCDC64 */ _t64 = cpu->r[27] + 0x00000096u;
|
|
/* 02BCDC64 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[19]);
|
|
/* 02BCDC68 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BCDC6C */ _t65 = cpu->r[27] + 0x00000098u;
|
|
/* 02BCDC6C */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[21]);
|
|
/* 02BCDC70 */ _t66 = cpu->r[27] + 0x00000099u;
|
|
/* 02BCDC70 */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[6]);
|
|
/* 02BCDC74 */ _t67 = cpu->r[27] + 0x00000097u;
|
|
/* 02BCDC74 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[29]);
|
|
/* 02BCDC78 */ _t68 = cpu->r[28] + 0x0000000Au;
|
|
/* 02BCDC78 */ cpu->r[29] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02BCDC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCDC80 */ _t69 = cpu->r[28] + 0x0000000Bu;
|
|
/* 02BCDC80 */ cpu->r[7] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02BCDC84 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDC84 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02BCDC84 */ if (_t71) goto L_02BCDD8C; else goto L_02BCDC88;
|
|
L_02BCDC88: ; // 0x2bcdc88
|
|
/* 02BCDC88 */ goto L_02BCDD34;
|
|
L_02BCDC8C: ; // 0x2bcdc8c
|
|
/* 02BCDC8C */ _t72 = cpu->r[27] + 0x00000096u;
|
|
/* 02BCDC8C */ cpu->r[7] = rbrew_read8(cpu->mem, _t72);
|
|
/* 02BCDC90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[19]);
|
|
/* 02BCDC94 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDC94 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BCDC94 */ if (_t74) goto L_02BCDC98; else goto L_02BCDCA4;
|
|
L_02BCDC98: ; // 0x2bcdc98
|
|
/* 02BCDC98 */ _t75 = cpu->r[27] + 0x00000097u;
|
|
/* 02BCDC98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t75);
|
|
/* 02BCDC9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02BCDCA0 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDCA0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02BCDCA0 */ if (_t77) goto L_02BCDCC8; else goto L_02BCDCA4;
|
|
L_02BCDCA4: ; // 0x2bcdca4
|
|
/* 02BCDCA4 */ _t78 = cpu->r[27] + 0x00000098u;
|
|
/* 02BCDCA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02BCDCA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[21]);
|
|
/* 02BCDCAC */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCDCAC */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BCDCAC */ if (_t80) goto L_02BCDCEC; else goto L_02BCDCB0;
|
|
L_02BCDCB0: ; // 0x2bcdcb0
|
|
/* 02BCDCB0 */ /* nop */
|
|
/* 02BCDCB4 */ _t81 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCDCB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BCDCB8 */ cpu->lr = cpu->r[0];
|
|
/* 02BCDCBC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BCDCC0 */ cpu->r[3] = 0x00000002u;
|
|
/* 02BCDCC4 */ return;
|
|
L_02BCDCC8: ; // 0x2bcdcc8
|
|
/* 02BCDCC8 */ _t82 = cpu->r[27] + 0x00000098u;
|
|
/* 02BCDCC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t82);
|
|
/* 02BCDCCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[21]);
|
|
/* 02BCDCD0 */ _t83 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCDCD0 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02BCDCD0 */ if (_t84) goto L_02BCDCB0; else goto L_02BCDCD4;
|
|
L_02BCDCD4: ; // 0x2bcdcd4
|
|
/* 02BCDCD4 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCDCD4 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02BCDCD4 */ if (_t86) goto L_02BCDCEC; else goto L_02BCDCD8;
|
|
L_02BCDCD8: ; // 0x2bcdcd8
|
|
/* 02BCDCD8 */ _t87 = cpu->r[27] + 0x00000099u;
|
|
/* 02BCDCD8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02BCDCDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 02BCDCE0 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDCE0 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02BCDCE0 */ if (_t89) goto L_02BCDD18; else goto L_02BCDCE4;
|
|
L_02BCDCE4: ; // 0x2bcdce4
|
|
/* 02BCDCE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[21]);
|
|
/* 02BCDCE8 */ _t90 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCDCE8 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02BCDCE8 */ if (_t91) goto L_02BCDCEC; else goto L_02BCDCB0;
|
|
L_02BCDCEC: ; // 0x2bcdcec
|
|
/* 02BCDCEC */ _t92 = cpu->r[27] + 0x00000096u;
|
|
/* 02BCDCEC */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[19]);
|
|
/* 02BCDCF0 */ cpu->r[10] = 0x00000002u;
|
|
/* 02BCDCF4 */ _t93 = cpu->r[27] + 0x00000097u;
|
|
/* 02BCDCF4 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[29]);
|
|
/* 02BCDCF8 */ _t94 = cpu->r[27] + 0x00000099u;
|
|
/* 02BCDCF8 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[10]);
|
|
/* 02BCDCFC */ _t95 = cpu->r[27] + 0x00000098u;
|
|
/* 02BCDCFC */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[21]);
|
|
/* 02BCDD00 */ _t96 = cpu->r[24] + 0x00000001u;
|
|
/* 02BCDD00 */ rbrew_write8(cpu->mem, _t96, (uint8_t)cpu->r[25]);
|
|
/* 02BCDD04 */ _t97 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCDD04 */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[25]);
|
|
/* 02BCDD08 */ _t98 = cpu->r[24] + cpu->r[20];
|
|
/* 02BCDD08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t98);
|
|
/* 02BCDD0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCDD10 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDD10 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02BCDD10 */ if (_t100) goto L_02BCDD24; else goto L_02BCDD14;
|
|
L_02BCDD14: ; // 0x2bcdd14
|
|
/* 02BCDD14 */ goto L_02BCDDAC;
|
|
L_02BCDD18: ; // 0x2bcdd18
|
|
/* 02BCDD18 */ _t101 = cpu->r[24] + cpu->r[20];
|
|
/* 02BCDD18 */ cpu->r[0] = rbrew_read8(cpu->mem, _t101);
|
|
/* 02BCDD1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCDD20 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDD20 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02BCDD20 */ if (_t103) goto L_02BCDD24; else goto L_02BCDDAC;
|
|
L_02BCDD24: ; // 0x2bcdd24
|
|
/* 02BCDD24 */ _t104 = cpu->r[28] + 0x0000000Au;
|
|
/* 02BCDD24 */ cpu->r[29] = rbrew_read8(cpu->mem, _t104);
|
|
/* 02BCDD28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCDD2C */ _t105 = cpu->r[28] + 0x0000000Bu;
|
|
/* 02BCDD2C */ cpu->r[7] = rbrew_read8(cpu->mem, _t105);
|
|
/* 02BCDD30 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDD30 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02BCDD30 */ if (_t107) goto L_02BCDD8C; else goto L_02BCDD34;
|
|
L_02BCDD34: ; // 0x2bcdd34
|
|
/* 02BCDD34 */ cpu->r[12] = cpu->r[28] + cpu->r[31];
|
|
/* 02BCDD38 */ cpu->r[21] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000068u);
|
|
/* 02BCDD3C */ cpu->r[23] = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BCDD40 */ cpu->r[31] = cpu->r[30];
|
|
/* 02BCDD44 */ cpu->r[22] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCDD48 */ cpu->r[23] = cpu->r[23] - cpu->r[30];
|
|
/* 02BCDD4C */ cpu->r[28] = cpu->r[28] + 0x0000000Cu;
|
|
L_02BCDD50: ; // 0x2bcdd50
|
|
/* 02BCDD50 */ _t108 = cpu->r[27] + 0x00000084u;
|
|
/* 02BCDD50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02BCDD54 */ cpu->r[3] = cpu->r[10] + cpu->r[21];
|
|
/* 02BCDD58 */ _t109 = cpu->r[3] + 0x00000064u;
|
|
/* 02BCDD58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BCDD5C */ _t110 = cpu->r[5] + 0x00000024u;
|
|
/* 02BCDD5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02BCDD60 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCDD64 */ cpu->r[4] = cpu->r[28];
|
|
/* 02BCDD68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCDD6C */ _t111 = cpu->r[27] + 0x00000088u;
|
|
/* 02BCDD6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BCDD70 */ _t112 = cpu->r[23] + cpu->r[31];
|
|
/* 02BCDD70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t112);
|
|
/* 02BCDD70 */ cpu->r[23] = _t112;
|
|
/* 02BCDD74 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02BCDD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BCDD78 */ cpu->r[21] = cpu->r[21] + 0x00000068u;
|
|
/* 02BCDD7C */ cpu->r[28] = cpu->r[28] + cpu->r[30];
|
|
/* 02BCDD80 */ _t113 = cpu->r[7] + cpu->r[22];
|
|
/* 02BCDD80 */ rbrew_write32(cpu->mem, _t113, cpu->r[0]);
|
|
/* 02BCDD84 */ cpu->r[22] = cpu->r[22] + 0x00000004u;
|
|
/* 02BCDD88 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDD88 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02BCDD88 */ if (_t115) goto L_02BCDD8C; else goto L_02BCDD50;
|
|
L_02BCDD8C: ; // 0x2bcdd8c
|
|
/* 02BCDD8C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCDD90 */ _t116 = cpu->r[24] + cpu->r[20];
|
|
/* 02BCDD90 */ rbrew_write8(cpu->mem, _t116, (uint8_t)cpu->r[0]);
|
|
/* 02BCDD94 */ _t117 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCDD94 */ cpu->r[10] = rbrew_read8(cpu->mem, _t117);
|
|
/* 02BCDD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BCDD9C */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDD9C */ _t119 = _t118 & 0x00000001u;
|
|
/* 02BCDD9C */ if (_t119) goto L_02BCDDAC; else goto L_02BCDDA0;
|
|
L_02BCDDA0: ; // 0x2bcdda0
|
|
/* 02BCDDA0 */ _t120 = cpu->r[24] + 0x00000001u;
|
|
/* 02BCDDA0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t120);
|
|
/* 02BCDDA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BCDDA8 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDDA8 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02BCDDA8 */ if (_t122) goto L_02BCDDAC; else goto L_02BCDDC4;
|
|
L_02BCDDAC: ; // 0x2bcddac
|
|
/* 02BCDDAC */ /* nop */
|
|
/* 02BCDDB0 */ _t123 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCDDB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BCDDB4 */ cpu->lr = cpu->r[0];
|
|
/* 02BCDDB8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BCDDBC */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCDDC0 */ return;
|
|
L_02BCDDC4: ; // 0x2bcddc4
|
|
/* 02BCDDC4 */ _t124 = cpu->r[27] + 0x00000098u;
|
|
/* 02BCDDC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02BCDDC8 */ _t125 = cpu->r[27] + 0x00000098u;
|
|
/* 02BCDDC8 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[25]);
|
|
/* 02BCDDCC */ _t126 = cpu->r[27] + 0x000000B8u;
|
|
/* 02BCDDCC */ rbrew_write32(cpu->mem, _t126, cpu->r[0]);
|
|
/* 02BCDDD0 */ _t127 = cpu->r[27] + 0x00000096u;
|
|
/* 02BCDDD0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t127);
|
|
/* 02BCDDD4 */ _t128 = cpu->r[27] + 0x00000097u;
|
|
/* 02BCDDD4 */ rbrew_write8(cpu->mem, _t128, (uint8_t)cpu->r[25]);
|
|
/* 02BCDDD8 */ _t129 = cpu->r[27] + 0x0000009Cu;
|
|
/* 02BCDDD8 */ rbrew_write32(cpu->mem, _t129, cpu->r[5]);
|
|
/* 02BCDDDC */ _t130 = cpu->r[27] + 0x00000099u;
|
|
/* 02BCDDDC */ rbrew_write8(cpu->mem, _t130, (uint8_t)cpu->r[25]);
|
|
/* 02BCDDE0 */ _t131 = cpu->r[27] + 0x00000096u;
|
|
/* 02BCDDE0 */ rbrew_write8(cpu->mem, _t131, (uint8_t)cpu->r[25]);
|
|
/* 02BCDDE4 */ _t132 = cpu->r[24] + 0x00000000u;
|
|
/* 02BCDDE4 */ rbrew_write8(cpu->mem, _t132, (uint8_t)cpu->r[25]);
|
|
/* 02BCDDE8 */ _t133 = cpu->r[24] + 0x00000001u;
|
|
/* 02BCDDE8 */ rbrew_write8(cpu->mem, _t133, (uint8_t)cpu->r[25]);
|
|
/* 02BCDDEC */ _t134 = cpu->r[27] + 0x00000080u;
|
|
/* 02BCDDEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02BCDDF0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BCDDF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BCDDF8 */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCDDF8 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02BCDDF8 */ if (_t136) goto L_02BCDDFC; else goto L_02BCDE18;
|
|
L_02BCDDFC: ; // 0x2bcddfc
|
|
/* 02BCDDFC */ cpu->r[12] = 0x00000000u;
|
|
L_02BCDE00: ; // 0x2bcde00
|
|
/* 02BCDE00 */ _t137 = cpu->r[27] + 0x000000A0u;
|
|
/* 02BCDE00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02BCDE04 */ _t138 = cpu->r[7] + cpu->r[11];
|
|
/* 02BCDE04 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[12]);
|
|
/* 02BCDE08 */ _t139 = cpu->r[27] + 0x00000080u;
|
|
/* 02BCDE08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BCDE0C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BCDE10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BCDE14 */ _t140 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCDE14 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02BCDE14 */ if (_t141) goto L_02BCDE00; else goto L_02BCDE18;
|
|
L_02BCDE18: ; // 0x2bcde18
|
|
/* 02BCDE18 */ _t142 = cpu->r[26] + 0xFFFFB6C4u;
|
|
/* 02BCDE18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02BCDE1C */ _t143 = cpu->r[9] + 0x00000030u;
|
|
/* 02BCDE1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02BCDE20 */ _t144 = cpu->r[9] + 0x00000034u;
|
|
/* 02BCDE20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02BCDE24 */ _t145 = cpu->r[27] + 0x000000A8u;
|
|
/* 02BCDE24 */ rbrew_write32(cpu->mem, _t145, cpu->r[10]);
|
|
/* 02BCDE28 */ _t146 = cpu->r[27] + 0x000000ACu;
|
|
/* 02BCDE28 */ rbrew_write32(cpu->mem, _t146, cpu->r[12]);
|
|
/* 02BCDE2C */ /* nop */
|
|
/* 02BCDE30 */ _t147 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCDE30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02BCDE34 */ cpu->lr = cpu->r[0];
|
|
/* 02BCDE38 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BCDE3C */ cpu->r[3] = 0x00000004u;
|
|
/* 02BCDE40 */ return;
|
|
L_02BCDE44: ; // 0x2bcde44
|
|
/* 02BCDE44 */ /* nop */
|
|
/* 02BCDE48 */ _t148 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCDE48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02BCDE4C */ cpu->lr = cpu->r[0];
|
|
/* 02BCDE50 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BCDE54 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCDE58 */ return;
|
|
}
|
|
|
|
// fn_02BCDE5C @ 0x2bcde5c
|
|
void Gambit_fn_02BCDE5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64;
|
|
|
|
L_02BCDE5C: ; // 0x2bcde5c
|
|
/* 02BCDE5C */ cpu->r[0] = cpu->lr;
|
|
/* 02BCDE60 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BCDE60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCDE60 */ cpu->r[1] = _t0;
|
|
/* 02BCDE64 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCDE64 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCDE68 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BCDE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCDE6C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCDE6C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BCDE70 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCDE70 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BCDE74 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCDE74 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BCDE78 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCDE78 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BCDE7C */ cpu->r[29] = cpu->r[3];
|
|
/* 02BCDE80 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDE80 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCDE80 */ if (_t7) goto L_02BCDE84; else goto L_02BCDED4;
|
|
L_02BCDE84: ; // 0x2bcde84
|
|
/* 02BCDE84 */ _t8 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BCDE84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCDE88 */ cpu->r[12] = 0x00010000u;
|
|
/* 02BCDE8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000008u);
|
|
/* 02BCDE90 */ cpu->r[12] = cpu->r[12] + 0xFFFF9C40u;
|
|
/* 02BCDE94 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCDE94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCDE94 */ if (_t10) goto L_02BCDEB0; else goto L_02BCDE98;
|
|
L_02BCDE98: ; // 0x2bcde98
|
|
/* 02BCDE98 */ cpu->r[31] = cpu->r[12];
|
|
/* 02BCDE9C */ _t11 = cpu->r[29] + 0x00000058u;
|
|
/* 02BCDE9C */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02BCDEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCDEA4 */ _t12 = cpu->r[29] + 0x00000048u;
|
|
/* 02BCDEA4 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 02BCDEA8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDEA8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BCDEA8 */ if (_t14) goto L_02BCDEAC; else goto L_02BCDF0C;
|
|
L_02BCDEAC: ; // 0x2bcdeac
|
|
/* 02BCDEAC */ goto L_02BCDEE8;
|
|
L_02BCDEB0: ; // 0x2bcdeb0
|
|
/* 02BCDEB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000000Cu);
|
|
/* 02BCDEB4 */ cpu->r[31] = cpu->r[12] + 0x00004E20u;
|
|
/* 02BCDEB8 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCDEB8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BCDEB8 */ if (_t16) goto L_02BCDED8; else goto L_02BCDEBC;
|
|
L_02BCDEBC: ; // 0x2bcdebc
|
|
/* 02BCDEBC */ cpu->r[31] = cpu->r[12] + 0x00002710u;
|
|
/* 02BCDEC0 */ _t17 = cpu->r[29] + 0x00000058u;
|
|
/* 02BCDEC0 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02BCDEC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCDEC8 */ _t18 = cpu->r[29] + 0x00000048u;
|
|
/* 02BCDEC8 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02BCDECC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDECC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BCDECC */ if (_t20) goto L_02BCDED0; else goto L_02BCDF0C;
|
|
L_02BCDED0: ; // 0x2bcded0
|
|
/* 02BCDED0 */ goto L_02BCDEE8;
|
|
L_02BCDED4: ; // 0x2bcded4
|
|
/* 02BCDED4 */ _t21 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BCDED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
L_02BCDED8: ; // 0x2bcded8
|
|
/* 02BCDED8 */ _t22 = cpu->r[29] + 0x00000048u;
|
|
/* 02BCDED8 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 02BCDEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCDEE0 */ _t23 = cpu->r[29] + 0x00000058u;
|
|
/* 02BCDEE0 */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
/* 02BCDEE4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDEE4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BCDEE4 */ if (_t25) goto L_02BCDEE8; else goto L_02BCDF0C;
|
|
L_02BCDEE8: ; // 0x2bcdee8
|
|
/* 02BCDEE8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCDEEC */ _t26 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCDEEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCDEF0 */ _t27 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BCDEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BCDEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BCDEF8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDEF8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BCDEF8 */ if (_t29) goto L_02BCDEFC; else goto L_02BCDF0C;
|
|
L_02BCDEFC: ; // 0x2bcdefc
|
|
/* 02BCDEFC */ _t30 = cpu->r[29] + 0x00000048u;
|
|
/* 02BCDEFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCDF00 */ _t31 = cpu->r[29] + 0x00000058u;
|
|
/* 02BCDF00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BCDF04 */ cpu->r[10] = cpu->r[10] + 0x00002710u;
|
|
/* 02BCDF08 */ _t32 = cpu->r[29] + 0x00000048u;
|
|
/* 02BCDF08 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
L_02BCDF0C: ; // 0x2bcdf0c
|
|
/* 02BCDF0C */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCDF10 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCDF10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCDF14 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[31]);
|
|
/* 02BCDF18 */ _t34 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCDF18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCDF1C */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BCDF20 */ /* nop */
|
|
/* 02BCDF24 */ _t35 = cpu->r[28] + 0xFFFFB6C4u;
|
|
/* 02BCDF24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCDF28 */ /* nop */
|
|
/* 02BCDF2C */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[0]);
|
|
/* 02BCDF30 */ cpu->r[6] = cpu->r[12] + cpu->r[5];
|
|
/* 02BCDF34 */ _t36 = cpu->r[9] + 0x00000034u;
|
|
/* 02BCDF34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCDF38 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[31]);
|
|
/* 02BCDF3C */ cpu->r[12] = cpu->r[6] + cpu->r[7];
|
|
/* 02BCDF40 */ _t37 = cpu->r[9] + 0x00000030u;
|
|
/* 02BCDF40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCDF44 */ cpu->r[0] = cpu->r[10] + cpu->r[5];
|
|
/* 02BCDF48 */ _t38 = cpu->r[29] + 0x00000048u;
|
|
/* 02BCDF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BCDF4C */ cpu->r[8] = cpu->r[8] + cpu->r[12];
|
|
/* 02BCDF50 */ _t39 = cpu->r[29] + 0x00000054u;
|
|
/* 02BCDF50 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02BCDF54 */ _t40 = cpu->r[29] + 0x00000050u;
|
|
/* 02BCDF54 */ rbrew_write32(cpu->mem, _t40, cpu->r[8]);
|
|
/* 02BCDF58 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCDF5C */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCDF5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCDF60 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[31]);
|
|
/* 02BCDF64 */ _t42 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCDF64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BCDF68 */ /* nop */
|
|
/* 02BCDF6C */ _t43 = cpu->r[28] + 0xFFFFB6C4u;
|
|
/* 02BCDF6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BCDF70 */ /* nop */
|
|
/* 02BCDF74 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[9]);
|
|
/* 02BCDF78 */ cpu->r[12] = cpu->r[8] + cpu->r[10];
|
|
/* 02BCDF7C */ _t44 = cpu->r[11] + 0x00000034u;
|
|
/* 02BCDF7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCDF80 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[31]);
|
|
/* 02BCDF84 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
/* 02BCDF88 */ _t45 = cpu->r[11] + 0x00000030u;
|
|
/* 02BCDF88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BCDF8C */ cpu->r[0] = cpu->r[7] + cpu->r[5];
|
|
/* 02BCDF90 */ cpu->r[8] = cpu->r[6] + cpu->r[12];
|
|
/* 02BCDF94 */ _t46 = cpu->r[29] + 0x00000044u;
|
|
/* 02BCDF94 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02BCDF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCDF9C */ _t47 = cpu->r[29] + 0x00000040u;
|
|
/* 02BCDF9C */ rbrew_write32(cpu->mem, _t47, cpu->r[8]);
|
|
/* 02BCDFA0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDFA0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BCDFA0 */ if (_t49) goto L_02BCDFA4; else goto L_02BCDFF4;
|
|
L_02BCDFA4: ; // 0x2bcdfa4
|
|
/* 02BCDFA4 */ _t50 = cpu->r[29] + 0x000000BEu;
|
|
/* 02BCDFA4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02BCDFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BCDFAC */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDFAC */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BCDFAC */ if (_t52) goto L_02BCDFB0; else goto L_02BCDFF4;
|
|
L_02BCDFB0: ; // 0x2bcdfb0
|
|
/* 02BCDFB0 */ _t53 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BCDFB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BCDFB4 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCDFB8 */ _t54 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCDFB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BCDFBC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[31]);
|
|
/* 02BCDFC0 */ _t55 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCDFC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BCDFC4 */ /* nop */
|
|
/* 02BCDFC8 */ /* nop */
|
|
/* 02BCDFCC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[0]);
|
|
/* 02BCDFD0 */ cpu->r[6] = cpu->r[11] + cpu->r[12];
|
|
/* 02BCDFD4 */ _t56 = cpu->r[29] + 0x00000044u;
|
|
/* 02BCDFD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BCDFD8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[31]);
|
|
/* 02BCDFDC */ cpu->r[8] = cpu->r[6] + cpu->r[0];
|
|
/* 02BCDFE0 */ _t57 = cpu->r[29] + 0x00000040u;
|
|
/* 02BCDFE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BCDFE4 */ cpu->r[0] = cpu->r[10] + cpu->r[11];
|
|
/* 02BCDFE8 */ cpu->r[8] = cpu->r[9] + cpu->r[8];
|
|
/* 02BCDFEC */ _t58 = cpu->r[29] + 0x00000044u;
|
|
/* 02BCDFEC */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 02BCDFF0 */ _t59 = cpu->r[29] + 0x00000040u;
|
|
/* 02BCDFF0 */ rbrew_write32(cpu->mem, _t59, cpu->r[8]);
|
|
L_02BCDFF4: ; // 0x2bcdff4
|
|
/* 02BCDFF4 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCDFF4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BCDFF8 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCDFF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BCDFFC */ _t62 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCDFFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCE000 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCE000 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BCE004 */ cpu->lr = cpu->r[0];
|
|
/* 02BCE008 */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCE008 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BCE00C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCE010 */ return;
|
|
}
|
|
|
|
// fn_02BCDE60 @ 0x2bcde60
|
|
void Gambit_fn_02BCDE60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64;
|
|
|
|
L_02BCDE60: ; // 0x2bcde60
|
|
/* 02BCDE60 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BCDE60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCDE60 */ cpu->r[1] = _t0;
|
|
/* 02BCDE64 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCDE64 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCDE68 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BCDE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCDE6C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCDE6C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BCDE70 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCDE70 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BCDE74 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCDE74 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BCDE78 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCDE78 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BCDE7C */ cpu->r[29] = cpu->r[3];
|
|
/* 02BCDE80 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDE80 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCDE80 */ if (_t7) goto L_02BCDE84; else goto L_02BCDED4;
|
|
L_02BCDE84: ; // 0x2bcde84
|
|
/* 02BCDE84 */ _t8 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BCDE84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCDE88 */ cpu->r[12] = 0x00010000u;
|
|
/* 02BCDE8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000008u);
|
|
/* 02BCDE90 */ cpu->r[12] = cpu->r[12] + 0xFFFF9C40u;
|
|
/* 02BCDE94 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCDE94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCDE94 */ if (_t10) goto L_02BCDEB0; else goto L_02BCDE98;
|
|
L_02BCDE98: ; // 0x2bcde98
|
|
/* 02BCDE98 */ cpu->r[31] = cpu->r[12];
|
|
/* 02BCDE9C */ _t11 = cpu->r[29] + 0x00000058u;
|
|
/* 02BCDE9C */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02BCDEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCDEA4 */ _t12 = cpu->r[29] + 0x00000048u;
|
|
/* 02BCDEA4 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 02BCDEA8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDEA8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BCDEA8 */ if (_t14) goto L_02BCDEAC; else goto L_02BCDF0C;
|
|
L_02BCDEAC: ; // 0x2bcdeac
|
|
/* 02BCDEAC */ goto L_02BCDEE8;
|
|
L_02BCDEB0: ; // 0x2bcdeb0
|
|
/* 02BCDEB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000000Cu);
|
|
/* 02BCDEB4 */ cpu->r[31] = cpu->r[12] + 0x00004E20u;
|
|
/* 02BCDEB8 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCDEB8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BCDEB8 */ if (_t16) goto L_02BCDED8; else goto L_02BCDEBC;
|
|
L_02BCDEBC: ; // 0x2bcdebc
|
|
/* 02BCDEBC */ cpu->r[31] = cpu->r[12] + 0x00002710u;
|
|
/* 02BCDEC0 */ _t17 = cpu->r[29] + 0x00000058u;
|
|
/* 02BCDEC0 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02BCDEC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCDEC8 */ _t18 = cpu->r[29] + 0x00000048u;
|
|
/* 02BCDEC8 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02BCDECC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDECC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BCDECC */ if (_t20) goto L_02BCDED0; else goto L_02BCDF0C;
|
|
L_02BCDED0: ; // 0x2bcded0
|
|
/* 02BCDED0 */ goto L_02BCDEE8;
|
|
L_02BCDED4: ; // 0x2bcded4
|
|
/* 02BCDED4 */ _t21 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BCDED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
L_02BCDED8: ; // 0x2bcded8
|
|
/* 02BCDED8 */ _t22 = cpu->r[29] + 0x00000048u;
|
|
/* 02BCDED8 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 02BCDEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCDEE0 */ _t23 = cpu->r[29] + 0x00000058u;
|
|
/* 02BCDEE0 */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
/* 02BCDEE4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDEE4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BCDEE4 */ if (_t25) goto L_02BCDEE8; else goto L_02BCDF0C;
|
|
L_02BCDEE8: ; // 0x2bcdee8
|
|
/* 02BCDEE8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCDEEC */ _t26 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCDEEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCDEF0 */ _t27 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BCDEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BCDEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BCDEF8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDEF8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BCDEF8 */ if (_t29) goto L_02BCDEFC; else goto L_02BCDF0C;
|
|
L_02BCDEFC: ; // 0x2bcdefc
|
|
/* 02BCDEFC */ _t30 = cpu->r[29] + 0x00000048u;
|
|
/* 02BCDEFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BCDF00 */ _t31 = cpu->r[29] + 0x00000058u;
|
|
/* 02BCDF00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BCDF04 */ cpu->r[10] = cpu->r[10] + 0x00002710u;
|
|
/* 02BCDF08 */ _t32 = cpu->r[29] + 0x00000048u;
|
|
/* 02BCDF08 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
L_02BCDF0C: ; // 0x2bcdf0c
|
|
/* 02BCDF0C */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCDF10 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCDF10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCDF14 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[31]);
|
|
/* 02BCDF18 */ _t34 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCDF18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCDF1C */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BCDF20 */ /* nop */
|
|
/* 02BCDF24 */ _t35 = cpu->r[28] + 0xFFFFB6C4u;
|
|
/* 02BCDF24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCDF28 */ /* nop */
|
|
/* 02BCDF2C */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[0]);
|
|
/* 02BCDF30 */ cpu->r[6] = cpu->r[12] + cpu->r[5];
|
|
/* 02BCDF34 */ _t36 = cpu->r[9] + 0x00000034u;
|
|
/* 02BCDF34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BCDF38 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[31]);
|
|
/* 02BCDF3C */ cpu->r[12] = cpu->r[6] + cpu->r[7];
|
|
/* 02BCDF40 */ _t37 = cpu->r[9] + 0x00000030u;
|
|
/* 02BCDF40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCDF44 */ cpu->r[0] = cpu->r[10] + cpu->r[5];
|
|
/* 02BCDF48 */ _t38 = cpu->r[29] + 0x00000048u;
|
|
/* 02BCDF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BCDF4C */ cpu->r[8] = cpu->r[8] + cpu->r[12];
|
|
/* 02BCDF50 */ _t39 = cpu->r[29] + 0x00000054u;
|
|
/* 02BCDF50 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02BCDF54 */ _t40 = cpu->r[29] + 0x00000050u;
|
|
/* 02BCDF54 */ rbrew_write32(cpu->mem, _t40, cpu->r[8]);
|
|
/* 02BCDF58 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCDF5C */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCDF5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCDF60 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[31]);
|
|
/* 02BCDF64 */ _t42 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCDF64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BCDF68 */ /* nop */
|
|
/* 02BCDF6C */ _t43 = cpu->r[28] + 0xFFFFB6C4u;
|
|
/* 02BCDF6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BCDF70 */ /* nop */
|
|
/* 02BCDF74 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[9]);
|
|
/* 02BCDF78 */ cpu->r[12] = cpu->r[8] + cpu->r[10];
|
|
/* 02BCDF7C */ _t44 = cpu->r[11] + 0x00000034u;
|
|
/* 02BCDF7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCDF80 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[31]);
|
|
/* 02BCDF84 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
/* 02BCDF88 */ _t45 = cpu->r[11] + 0x00000030u;
|
|
/* 02BCDF88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BCDF8C */ cpu->r[0] = cpu->r[7] + cpu->r[5];
|
|
/* 02BCDF90 */ cpu->r[8] = cpu->r[6] + cpu->r[12];
|
|
/* 02BCDF94 */ _t46 = cpu->r[29] + 0x00000044u;
|
|
/* 02BCDF94 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02BCDF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCDF9C */ _t47 = cpu->r[29] + 0x00000040u;
|
|
/* 02BCDF9C */ rbrew_write32(cpu->mem, _t47, cpu->r[8]);
|
|
/* 02BCDFA0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDFA0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BCDFA0 */ if (_t49) goto L_02BCDFA4; else goto L_02BCDFF4;
|
|
L_02BCDFA4: ; // 0x2bcdfa4
|
|
/* 02BCDFA4 */ _t50 = cpu->r[29] + 0x000000BEu;
|
|
/* 02BCDFA4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02BCDFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BCDFAC */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCDFAC */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BCDFAC */ if (_t52) goto L_02BCDFB0; else goto L_02BCDFF4;
|
|
L_02BCDFB0: ; // 0x2bcdfb0
|
|
/* 02BCDFB0 */ _t53 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BCDFB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BCDFB4 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCDFB8 */ _t54 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCDFB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BCDFBC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[31]);
|
|
/* 02BCDFC0 */ _t55 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCDFC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BCDFC4 */ /* nop */
|
|
/* 02BCDFC8 */ /* nop */
|
|
/* 02BCDFCC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[0]);
|
|
/* 02BCDFD0 */ cpu->r[6] = cpu->r[11] + cpu->r[12];
|
|
/* 02BCDFD4 */ _t56 = cpu->r[29] + 0x00000044u;
|
|
/* 02BCDFD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BCDFD8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[31]);
|
|
/* 02BCDFDC */ cpu->r[8] = cpu->r[6] + cpu->r[0];
|
|
/* 02BCDFE0 */ _t57 = cpu->r[29] + 0x00000040u;
|
|
/* 02BCDFE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BCDFE4 */ cpu->r[0] = cpu->r[10] + cpu->r[11];
|
|
/* 02BCDFE8 */ cpu->r[8] = cpu->r[9] + cpu->r[8];
|
|
/* 02BCDFEC */ _t58 = cpu->r[29] + 0x00000044u;
|
|
/* 02BCDFEC */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 02BCDFF0 */ _t59 = cpu->r[29] + 0x00000040u;
|
|
/* 02BCDFF0 */ rbrew_write32(cpu->mem, _t59, cpu->r[8]);
|
|
L_02BCDFF4: ; // 0x2bcdff4
|
|
/* 02BCDFF4 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCDFF4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BCDFF8 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCDFF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BCDFFC */ _t62 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCDFFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCE000 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCE000 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BCE004 */ cpu->lr = cpu->r[0];
|
|
/* 02BCE008 */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCE008 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BCE00C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCE010 */ return;
|
|
}
|
|
|
|
// fn_02BCE014 @ 0x2bce014
|
|
void Gambit_fn_02BCE014(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BCE014: ; // 0x2bce014
|
|
/* 02BCE014 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCE018 */ cpu->r[12] = cpu->r[3] + cpu->r[4];
|
|
/* 02BCE01C */ _t0 = cpu->r[12] + 0x00000060u;
|
|
/* 02BCE01C */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02BCE020 */ return;
|
|
}
|
|
|
|
// fn_02BCE024 @ 0x2bce024
|
|
void Gambit_fn_02BCE024(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BCE024: ; // 0x2bce024
|
|
/* 02BCE024 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCE028 */ cpu->r[0] = 0x000000FFu;
|
|
/* 02BCE02C */ cpu->r[12] = cpu->r[3] + cpu->r[4];
|
|
/* 02BCE030 */ _t0 = cpu->r[12] + 0x00000060u;
|
|
/* 02BCE030 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 02BCE034 */ return;
|
|
}
|
|
|
|
// fn_02BCE038 @ 0x2bce038
|
|
void Gambit_fn_02BCE038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BCE038: ; // 0x2bce038
|
|
/* 02BCE038 */ _t0 = cpu->r[3] + 0x00000080u;
|
|
/* 02BCE038 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BCE03C */ cpu->r[0] = 0x000000FFu;
|
|
/* 02BCE040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BCE044 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCE048 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE048 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BCE048 */ if (_t2) goto L_02BCE09C; else goto L_02BCE04C;
|
|
L_02BCE04C: ; // 0x2bce04c
|
|
/* 02BCE04C */ cpu->r[7] = cpu->r[3] + 0x00000060u;
|
|
/* 02BCE050 */ cpu->r[5] = 0x00000000u;
|
|
L_02BCE054: ; // 0x2bce054
|
|
/* 02BCE054 */ cpu->r[11] = 0x00000020u;
|
|
/* 02BCE058 */ cpu->ctr = cpu->r[11];
|
|
/* 02BCE05C */ cpu->r[8] = 0x00000000u;
|
|
L_02BCE060: ; // 0x2bce060
|
|
/* 02BCE060 */ _t3 = cpu->r[7] + cpu->r[8];
|
|
/* 02BCE060 */ cpu->r[9] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BCE064 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[6]);
|
|
/* 02BCE068 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE068 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCE068 */ if (_t5) goto L_02BCE08C; else goto L_02BCE06C;
|
|
L_02BCE06C: ; // 0x2bce06c
|
|
/* 02BCE06C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02BCE070 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCE070 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCE070 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 02BCE070 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCE070 */ if (_t8) goto L_02BCE060; else goto L_02BCE074;
|
|
L_02BCE074: ; // 0x2bce074
|
|
/* 02BCE074 */ _t9 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BCE074 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BCE078 */ _t10 = cpu->r[10] + cpu->r[5];
|
|
/* 02BCE078 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCE07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02BCE080 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE080 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BCE080 */ if (_t12) goto L_02BCE08C; else goto L_02BCE084;
|
|
L_02BCE084: ; // 0x2bce084
|
|
/* 02BCE084 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCE088 */ goto L_02BCE09C;
|
|
L_02BCE08C: ; // 0x2bce08c
|
|
/* 02BCE08C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02BCE08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BCE090 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02BCE094 */ cpu->r[5] = cpu->r[5] + 0x00000014u;
|
|
/* 02BCE098 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE098 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BCE098 */ if (_t14) goto L_02BCE09C; else goto L_02BCE054;
|
|
L_02BCE09C: ; // 0x2bce09c
|
|
/* 02BCE09C */ cpu->r[3] = cpu->r[0];
|
|
/* 02BCE0A0 */ return;
|
|
}
|
|
|
|
// fn_02BCE0A4 @ 0x2bce0a4
|
|
void Gambit_fn_02BCE0A4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BCE0A4: ; // 0x2bce0a4
|
|
/* 02BCE0A4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCE0A8 */ cpu->r[12] = cpu->r[3] + cpu->r[4];
|
|
/* 02BCE0AC */ _t0 = cpu->r[12] + 0x00000060u;
|
|
/* 02BCE0AC */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[5]);
|
|
/* 02BCE0B0 */ return;
|
|
}
|
|
|
|
// fn_02BCE0B4 @ 0x2bce0b4
|
|
void Gambit_fn_02BCE0B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309;
|
|
|
|
L_02BCE0B4: ; // 0x2bce0b4
|
|
/* 02BCE0B4 */ _t0 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 02BCE0B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCE0B4 */ cpu->r[1] = _t0;
|
|
/* 02BCE0B8 */ /* nop */
|
|
/* 02BCE0BC */ cpu->r[0] = cpu->lr;
|
|
/* 02BCE0C0 */ _t1 = cpu->r[1] + 0x00000144u;
|
|
/* 02BCE0C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCE0C4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BCE0C8 */ _t2 = cpu->r[11] + 0xFFFFB6C4u;
|
|
/* 02BCE0C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BCE0CC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCE0D0 */ _t3 = cpu->r[11] + 0x00000030u;
|
|
/* 02BCE0D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCE0D4 */ _t4 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCE0D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCE0D8 */ _t5 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCE0D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCE0DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02BCE0E0 */ _t6 = cpu->r[11] + 0x00000034u;
|
|
/* 02BCE0E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCE0E4 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCE0E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCE0E4 */ if (_t8) goto L_02BCE0F4; else goto L_02BCE0E8;
|
|
L_02BCE0E8: ; // 0x2bce0e8
|
|
/* 02BCE0E8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCE0E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCE0E8 */ if (_t10) goto L_02BCE154; else goto L_02BCE0EC;
|
|
L_02BCE0EC: ; // 0x2bce0ec
|
|
/* 02BCE0EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02BCE0F0 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCE0F0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BCE0F0 */ if (_t12) goto L_02BCE0F4; else goto L_02BCE154;
|
|
L_02BCE0F4: ; // 0x2bce0f4
|
|
/* 02BCE0F4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCE0F8 */ _t13 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCE0F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCE0FC */ _t14 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BCE0FC */ cpu->r[24] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCE100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x0000001Fu);
|
|
/* 02BCE104 */ _t15 = cpu->r[12] + 0x00000058u;
|
|
/* 02BCE104 */ cpu->r[16] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCE108 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCE108 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BCE108 */ if (_t17) goto L_02BCE154; else goto L_02BCE10C;
|
|
L_02BCE10C: ; // 0x2bce10c
|
|
/* 02BCE10C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x0000001Fu);
|
|
/* 02BCE110 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCE110 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BCE110 */ if (_t19) goto L_02BCE154; else goto L_02BCE114;
|
|
L_02BCE114: ; // 0x2bce114
|
|
/* 02BCE114 */ _t20 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BCE114 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BCE118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02BCE11C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCE120 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE120 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BCE120 */ if (_t22) goto L_02BCE134; else goto L_02BCE124;
|
|
L_02BCE124: ; // 0x2bce124
|
|
/* 02BCE124 */ _t23 = cpu->r[31] + 0x000000BDu;
|
|
/* 02BCE124 */ cpu->r[7] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02BCE128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BCE12C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE12C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BCE12C */ if (_t25) goto L_02BCE130; else goto L_02BCE134;
|
|
L_02BCE130: ; // 0x2bce130
|
|
/* 02BCE130 */ cpu->r[0] = 0x00000000u;
|
|
L_02BCE134: ; // 0x2bce134
|
|
/* 02BCE134 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCE138 */ _t26 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BCE138 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCE138 */ cpu->r[30] = _t26;
|
|
/* 02BCE13C */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BCE140 */ _t27 = cpu->r[4] + 0x00000144u;
|
|
/* 02BCE140 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BCE144 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BCE148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BCE14C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCE14C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 02BCE150 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE150 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BCE150 */ if (_t30) goto L_02BCE154; else goto L_02BCE16C;
|
|
L_02BCE154: ; // 0x2bce154
|
|
/* 02BCE154 */ /* nop */
|
|
/* 02BCE158 */ _t31 = cpu->r[1] + 0x00000144u;
|
|
/* 02BCE158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BCE15C */ cpu->lr = cpu->r[0];
|
|
/* 02BCE160 */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 02BCE164 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCE168 */ return;
|
|
L_02BCE16C: ; // 0x2bce16c
|
|
/* 02BCE16C */ cpu->r[21] = 0x101D0000u;
|
|
/* 02BCE170 */ cpu->r[19] = 0x00000000u;
|
|
/* 02BCE174 */ _t32 = cpu->r[21] + 0xFFFFB790u;
|
|
/* 02BCE174 */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCE174 */ cpu->r[21] = _t32;
|
|
/* 02BCE178 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCE17C */ cpu->r[25] = cpu->r[12];
|
|
/* 02BCE180 */ _t33 = cpu->r[1] + 0x00000009u;
|
|
/* 02BCE180 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[19]);
|
|
/* 02BCE184 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BCE188 */ cpu->r[23] = 0x00000000u;
|
|
/* 02BCE18C */ _t34 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BCE18C */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCE190 */ cpu->r[18] = 0x101D0000u;
|
|
/* 02BCE194 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[5]);
|
|
/* 02BCE198 */ cpu->r[20] = 0x101D0000u;
|
|
/* 02BCE19C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCE19C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BCE19C */ if (_t36) goto L_02BCE1A0; else goto L_02BCE6A0;
|
|
L_02BCE1A0: ; // 0x2bce1a0
|
|
/* 02BCE1A0 */ cpu->r[26] = 0x00000000u;
|
|
/* 02BCE1A4 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BCE1A8 */ cpu->r[14] = 0x00000002u;
|
|
/* 02BCE1AC */ cpu->r[27] = cpu->r[26];
|
|
L_02BCE1B0: ; // 0x2bce1b0
|
|
/* 02BCE1B0 */ _t37 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCE1B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCE1B4 */ _t38 = cpu->r[7] + cpu->r[27];
|
|
/* 02BCE1B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BCE1B8 */ cpu->r[9] = 0x00000001u;
|
|
/* 02BCE1BC */ /* nop */
|
|
/* 02BCE1C0 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BCE1C4 */ cpu->r[19] = cpu->r[19] | cpu->r[0];
|
|
/* 02BCE1C8 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BCE1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCE1D0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE1D0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BCE1D0 */ if (_t40) goto L_02BCE304; else goto L_02BCE1D4;
|
|
L_02BCE1D4: ; // 0x2bce1d4
|
|
/* 02BCE1D4 */ _t41 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCE1D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCE1D8 */ _t42 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCE1D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BCE1DC */ _t43 = cpu->r[6] + cpu->r[27];
|
|
/* 02BCE1DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BCE1E0 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCE1E4 */ cpu->r[22] = cpu->r[3];
|
|
/* 02BCE1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BCE1E8 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE1E8 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BCE1E8 */ if (_t45) goto L_02BCE304; else goto L_02BCE1EC;
|
|
L_02BCE1EC: ; // 0x2bce1ec
|
|
/* 02BCE1EC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCE1F0 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE1F4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCE1F8 */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BCE1FC */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BCE1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BCE200 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE200 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BCE200 */ if (_t47) goto L_02BCE23C; else goto L_02BCE204;
|
|
L_02BCE204: ; // 0x2bce204
|
|
/* 02BCE204 */ _t48 = cpu->r[22] + 0x00000068u;
|
|
/* 02BCE204 */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BCE208 */ _t49 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BCE208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BCE20C */ cpu->ctr = cpu->r[0];
|
|
/* 02BCE210 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BCE214 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCE218 */ cpu->r[5] = 0x00000002u;
|
|
/* 02BCE21C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCE220 */ _t50 = cpu->r[31] + 0x00000084u;
|
|
/* 02BCE220 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BCE224 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCE228 */ cpu->r[4] = cpu->r[10] + cpu->r[26];
|
|
/* 02BCE22C */ Gambit_fn_02BF84F0(cpu);
|
|
/* 02BCE230 */ cpu->r[22] = cpu->r[3];
|
|
/* 02BCE230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BCE234 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE234 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BCE234 */ if (_t52) goto L_02BCE238; else goto L_02BCE490;
|
|
L_02BCE238: ; // 0x2bce238
|
|
/* 02BCE238 */ goto L_02BCE31C;
|
|
L_02BCE23C: ; // 0x2bce23c
|
|
/* 02BCE23C */ _t53 = cpu->r[31] + 0x00000084u;
|
|
/* 02BCE23C */ cpu->r[5] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BCE240 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCE244 */ cpu->r[4] = cpu->r[5] + cpu->r[26];
|
|
/* 02BCE248 */ Gambit_fn_02BF6598(cpu);
|
|
/* 02BCE24C */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02BCE250 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCE250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCE254 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE254 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BCE254 */ if (_t55) goto L_02BCE688; else goto L_02BCE258;
|
|
L_02BCE258: ; // 0x2bce258
|
|
/* 02BCE258 */ _t56 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCE258 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BCE25C */ _t57 = cpu->r[7] + cpu->r[27];
|
|
/* 02BCE25C */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BCE260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 02BCE264 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE264 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BCE264 */ if (_t59) goto L_02BCE268; else goto L_02BCE278;
|
|
L_02BCE268: ; // 0x2bce268
|
|
/* 02BCE268 */ _t60 = cpu->r[31] + 0x000000BEu;
|
|
/* 02BCE268 */ cpu->r[6] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02BCE26C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BCE270 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE270 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BCE270 */ if (_t62) goto L_02BCE6D4; else goto L_02BCE274;
|
|
L_02BCE274: ; // 0x2bce274
|
|
/* 02BCE274 */ goto L_02BCE688;
|
|
L_02BCE278: ; // 0x2bce278
|
|
/* 02BCE278 */ cpu->r[4] = cpu->r[0];
|
|
/* 02BCE27C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCE280 */ Gambit_fn_02BCE014(cpu);
|
|
/* 02BCE284 */ _t63 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCE284 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BCE288 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[7]);
|
|
/* 02BCE28C */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCE28C */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BCE28C */ if (_t65) goto L_02BCE290; else goto L_02BCE2A4;
|
|
L_02BCE290: ; // 0x2bce290
|
|
/* 02BCE290 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCE294 */ cpu->r[4] = cpu->r[0];
|
|
/* 02BCE298 */ Gambit_fn_02BCE024(cpu);
|
|
/* 02BCE29C */ _t66 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCE29C */ cpu->r[7] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BCE2A0 */ _t67 = cpu->r[7] + cpu->r[27];
|
|
/* 02BCE2A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
L_02BCE2A4: ; // 0x2bce2a4
|
|
/* 02BCE2A4 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BCE2A8 */ cpu->r[4] = cpu->r[0];
|
|
/* 02BCE2AC */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BCE2B0 */ _t68 = cpu->r[22] + 0x00000034u;
|
|
/* 02BCE2B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BCE2B4 */ _t69 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCE2B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BCE2B8 */ _t70 = cpu->r[8] + 0x00000034u;
|
|
/* 02BCE2B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BCE2BC */ cpu->ctr = cpu->r[9];
|
|
/* 02BCE2C0 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE2C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCE2C8 */ _t71 = cpu->r[21] + 0x00000000u;
|
|
/* 02BCE2C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BCE2CC */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE2D0 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BCE2D4 */ _t72 = cpu->r[20] + 0xFFFFB798u;
|
|
/* 02BCE2D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BCE2D8 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE2DC */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BCE2E0 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BCE2E4 */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BCE2E8 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BCE2EC */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BCE2F0 */ _t73 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCE2F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BCE2F4 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE2F8 */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BCE2FC */ cpu->r[7] = 0x00000001u;
|
|
/* 02BCE300 */ _t74 = cpu->r[1] + 0x00000009u;
|
|
/* 02BCE300 */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[7]);
|
|
L_02BCE304: ; // 0x2bce304
|
|
/* 02BCE304 */ _t75 = cpu->r[31] + 0x00000084u;
|
|
/* 02BCE304 */ cpu->r[10] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BCE308 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCE30C */ cpu->r[4] = cpu->r[10] + cpu->r[26];
|
|
/* 02BCE310 */ Gambit_fn_02BF84F0(cpu);
|
|
/* 02BCE314 */ cpu->r[22] = cpu->r[3];
|
|
/* 02BCE314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BCE318 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE318 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02BCE318 */ if (_t77) goto L_02BCE31C; else goto L_02BCE490;
|
|
L_02BCE31C: ; // 0x2bce31c
|
|
/* 02BCE31C */ _t78 = cpu->r[31] + 0x00000084u;
|
|
/* 02BCE31C */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BCE320 */ cpu->r[8] = cpu->r[11] + cpu->r[26];
|
|
/* 02BCE324 */ cpu->r[3] = cpu->r[8] + 0x00000008u;
|
|
/* 02BCE328 */ Gambit_fn_02B6A9A4(cpu);
|
|
/* 02BCE32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCE330 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE330 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BCE330 */ if (_t80) goto L_02BCE56C; else goto L_02BCE334;
|
|
L_02BCE334: ; // 0x2bce334
|
|
/* 02BCE334 */ _t81 = cpu->r[31] + 0x00000084u;
|
|
/* 02BCE334 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BCE338 */ cpu->r[10] = cpu->r[12] + cpu->r[26];
|
|
/* 02BCE33C */ _t82 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCE33C */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BCE340 */ cpu->r[4] = cpu->r[10] + 0x00000008u;
|
|
/* 02BCE344 */ Gambit_fn_02BEDCB0(cpu);
|
|
/* 02BCE348 */ cpu->r[22] = cpu->r[3];
|
|
/* 02BCE348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BCE34C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE34C */ _t84 = _t83 & 0x00000001u;
|
|
/* 02BCE34C */ if (_t84) goto L_02BCE398; else goto L_02BCE350;
|
|
L_02BCE350: ; // 0x2bce350
|
|
/* 02BCE350 */ _t85 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCE350 */ cpu->r[4] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BCE354 */ _t86 = cpu->r[4] + 0x00000144u;
|
|
/* 02BCE354 */ cpu->r[6] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BCE358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[6]);
|
|
/* 02BCE35C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE35C */ _t88 = _t87 & 0x00000001u;
|
|
/* 02BCE35C */ if (_t88) goto L_02BCE360; else goto L_02BCE378;
|
|
L_02BCE360: ; // 0x2bce360
|
|
/* 02BCE360 */ _t89 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCE360 */ cpu->r[8] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BCE364 */ _t90 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BCE364 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BCE368 */ _t91 = cpu->r[8] + cpu->r[27];
|
|
/* 02BCE368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BCE36C */ _t92 = cpu->r[9] + 0x0000005Cu;
|
|
/* 02BCE36C */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BCE370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02BCE374 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE374 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02BCE374 */ if (_t94) goto L_02BCE378; else goto L_02BCE398;
|
|
L_02BCE378: ; // 0x2bce378
|
|
/* 02BCE378 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCE37C */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE380 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCE384 */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BCE388 */ cpu->r[4] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCE38C */ cpu->r[9] = cpu->r[4] ^ 0x00000001u;
|
|
/* 02BCE390 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCE390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BCE394 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE394 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02BCE394 */ if (_t96) goto L_02BCE490; else goto L_02BCE398;
|
|
L_02BCE398: ; // 0x2bce398
|
|
/* 02BCE398 */ _t97 = cpu->r[31] + 0x00000084u;
|
|
/* 02BCE398 */ cpu->r[5] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02BCE39C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCE3A0 */ cpu->r[12] = cpu->r[5] + cpu->r[26];
|
|
/* 02BCE3A4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BCE3A8 */ cpu->r[4] = cpu->r[12] + 0x00000004u;
|
|
/* 02BCE3AC */ Gambit_fn_02BF8664(cpu);
|
|
/* 02BCE3B0 */ cpu->r[22] = cpu->r[3];
|
|
/* 02BCE3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BCE3B4 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE3B4 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02BCE3B4 */ if (_t99) goto L_02BCE56C; else goto L_02BCE3B8;
|
|
L_02BCE3B8: ; // 0x2bce3b8
|
|
/* 02BCE3B8 */ _t100 = cpu->r[22] + 0x00000024u;
|
|
/* 02BCE3B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BCE3BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000005u);
|
|
/* 02BCE3C0 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE3C0 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02BCE3C0 */ if (_t102) goto L_02BCE3CC; else goto L_02BCE3C4;
|
|
L_02BCE3C4: ; // 0x2bce3c4
|
|
/* 02BCE3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000006u);
|
|
/* 02BCE3C8 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE3C8 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02BCE3C8 */ if (_t104) goto L_02BCE3CC; else goto L_02BCE490;
|
|
L_02BCE3CC: ; // 0x2bce3cc
|
|
/* 02BCE3CC */ _t105 = cpu->r[22] + 0x00000068u;
|
|
/* 02BCE3CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02BCE3D0 */ _t106 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BCE3D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02BCE3D4 */ cpu->ctr = cpu->r[7];
|
|
/* 02BCE3D8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCE3DC */ cpu->r[5] = 0x00000002u;
|
|
/* 02BCE3E0 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BCE3E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCE3E8 */ _t107 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCE3E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BCE3EC */ _t108 = cpu->r[7] + cpu->r[27];
|
|
/* 02BCE3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02BCE3F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCE3F4 */ cpu->r[4] = cpu->r[0];
|
|
/* 02BCE3F8 */ Gambit_fn_02BCE014(cpu);
|
|
/* 02BCE3FC */ _t109 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCE3FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BCE400 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[8]);
|
|
/* 02BCE404 */ _t110 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCE404 */ _t111 = _t110 & 0x00000001u;
|
|
/* 02BCE404 */ if (_t111) goto L_02BCE408; else goto L_02BCE41C;
|
|
L_02BCE408: ; // 0x2bce408
|
|
/* 02BCE408 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCE40C */ cpu->r[4] = cpu->r[0];
|
|
/* 02BCE410 */ Gambit_fn_02BCE024(cpu);
|
|
/* 02BCE414 */ _t112 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCE414 */ cpu->r[7] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02BCE418 */ _t113 = cpu->r[7] + cpu->r[27];
|
|
/* 02BCE418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
L_02BCE41C: ; // 0x2bce41c
|
|
/* 02BCE41C */ _t114 = cpu->r[22] + 0x00000018u;
|
|
/* 02BCE41C */ cpu->r[4] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02BCE420 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02BCE424 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE424 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02BCE424 */ if (_t116) goto L_02BCE438; else goto L_02BCE428;
|
|
L_02BCE428: ; // 0x2bce428
|
|
/* 02BCE428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BCE42C */ _t117 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCE42C */ _t118 = _t117 & 0x00000001u;
|
|
/* 02BCE42C */ if (_t118) goto L_02BCE438; else goto L_02BCE430;
|
|
L_02BCE430: ; // 0x2bce430
|
|
/* 02BCE430 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BCE434 */ Gambit_fn_02BC2C7C(cpu);
|
|
L_02BCE438: ; // 0x2bce438
|
|
/* 02BCE438 */ _t119 = cpu->r[22] + 0x00000034u;
|
|
/* 02BCE438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02BCE43C */ _t120 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCE43C */ cpu->r[9] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02BCE440 */ _t121 = cpu->r[9] + 0x00000034u;
|
|
/* 02BCE440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02BCE444 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCE448 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE44C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCE450 */ _t122 = cpu->r[21] + 0x00000000u;
|
|
/* 02BCE450 */ cpu->r[3] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02BCE454 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE458 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BCE45C */ _t123 = cpu->r[20] + 0xFFFFB798u;
|
|
/* 02BCE45C */ cpu->r[3] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BCE460 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE464 */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BCE468 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BCE46C */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BCE470 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BCE474 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BCE478 */ _t124 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCE478 */ cpu->r[3] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02BCE47C */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE480 */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BCE484 */ cpu->r[5] = 0x00000001u;
|
|
/* 02BCE488 */ _t125 = cpu->r[1] + 0x00000009u;
|
|
/* 02BCE488 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[5]);
|
|
/* 02BCE48C */ goto L_02BCE56C;
|
|
L_02BCE490: ; // 0x2bce490
|
|
/* 02BCE490 */ _t126 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCE490 */ cpu->r[7] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02BCE494 */ _t127 = cpu->r[22] + 0x00000018u;
|
|
/* 02BCE494 */ cpu->r[4] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02BCE498 */ _t128 = cpu->r[7] + cpu->r[27];
|
|
/* 02BCE498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02BCE49C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02BCE4A0 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE4A0 */ _t130 = _t129 & 0x00000001u;
|
|
/* 02BCE4A0 */ if (_t130) goto L_02BCE528; else goto L_02BCE4A4;
|
|
L_02BCE4A4: ; // 0x2bce4a4
|
|
/* 02BCE4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BCE4A8 */ _t131 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCE4A8 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02BCE4A8 */ if (_t132) goto L_02BCE528; else goto L_02BCE4AC;
|
|
L_02BCE4AC: ; // 0x2bce4ac
|
|
/* 02BCE4AC */ cpu->r[3] = cpu->r[25];
|
|
/* 02BCE4B0 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BCE4B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCE4B8 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE4B8 */ _t134 = _t133 & 0x00000001u;
|
|
/* 02BCE4B8 */ if (_t134) goto L_02BCE4D0; else goto L_02BCE4BC;
|
|
L_02BCE4BC: ; // 0x2bce4bc
|
|
/* 02BCE4BC */ _t135 = cpu->r[22] + 0x00000018u;
|
|
/* 02BCE4BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02BCE4C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[24]);
|
|
/* 02BCE4C4 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE4C4 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02BCE4C4 */ if (_t137) goto L_02BCE6D4; else goto L_02BCE4C8;
|
|
L_02BCE4C8: ; // 0x2bce4c8
|
|
/* 02BCE4C8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BCE4CC */ Gambit_fn_02BC2C7C(cpu);
|
|
L_02BCE4D0: ; // 0x2bce4d0
|
|
/* 02BCE4D0 */ _t138 = cpu->r[22] + 0x00000034u;
|
|
/* 02BCE4D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02BCE4D4 */ _t139 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCE4D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BCE4D8 */ _t140 = cpu->r[7] + 0x00000034u;
|
|
/* 02BCE4D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02BCE4DC */ cpu->ctr = cpu->r[0];
|
|
/* 02BCE4E0 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE4E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCE4E8 */ _t141 = cpu->r[21] + 0x00000000u;
|
|
/* 02BCE4E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02BCE4EC */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE4F0 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BCE4F4 */ _t142 = cpu->r[20] + 0xFFFFB798u;
|
|
/* 02BCE4F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02BCE4F8 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE4FC */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BCE500 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BCE504 */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BCE508 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BCE50C */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BCE510 */ _t143 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCE510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02BCE514 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE518 */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BCE51C */ cpu->r[5] = 0x00000001u;
|
|
/* 02BCE520 */ _t144 = cpu->r[1] + 0x00000009u;
|
|
/* 02BCE520 */ rbrew_write8(cpu->mem, _t144, (uint8_t)cpu->r[5]);
|
|
/* 02BCE524 */ goto L_02BCE56C;
|
|
L_02BCE528: ; // 0x2bce528
|
|
/* 02BCE528 */ _t145 = cpu->r[22] + 0x00000024u;
|
|
/* 02BCE528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02BCE52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000005u);
|
|
/* 02BCE530 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE530 */ _t147 = _t146 & 0x00000001u;
|
|
/* 02BCE530 */ if (_t147) goto L_02BCE534; else goto L_02BCE544;
|
|
L_02BCE534: ; // 0x2bce534
|
|
/* 02BCE534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BCE538 */ _t148 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCE538 */ _t149 = _t148 & 0x00000001u;
|
|
/* 02BCE538 */ if (_t149) goto L_02BCE53C; else goto L_02BCE544;
|
|
L_02BCE53C: ; // 0x2bce53c
|
|
/* 02BCE53C */ cpu->r[10] = 0x00000001u;
|
|
/* 02BCE540 */ _t150 = cpu->r[1] + 0x00000009u;
|
|
/* 02BCE540 */ rbrew_write8(cpu->mem, _t150, (uint8_t)cpu->r[10]);
|
|
L_02BCE544: ; // 0x2bce544
|
|
/* 02BCE544 */ cpu->r[4] = cpu->r[0];
|
|
/* 02BCE548 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BCE54C */ Gambit_fn_02BF069C(cpu);
|
|
/* 02BCE550 */ _t151 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BCE550 */ cpu->r[7] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02BCE554 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02BCE558 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02BCE55C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[7]);
|
|
/* 02BCE560 */ cpu->r[26] = cpu->r[26] + 0x00000068u;
|
|
/* 02BCE564 */ _t152 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCE564 */ _t153 = _t152 & 0x00000001u;
|
|
/* 02BCE564 */ if (_t153) goto L_02BCE1B0; else goto L_02BCE568;
|
|
L_02BCE568: ; // 0x2bce568
|
|
/* 02BCE568 */ goto L_02BCE6A0;
|
|
L_02BCE56C: ; // 0x2bce56c
|
|
/* 02BCE56C */ _t154 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCE56C */ cpu->r[7] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02BCE570 */ _t155 = cpu->r[7] + cpu->r[27];
|
|
/* 02BCE570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02BCE574 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 02BCE578 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE578 */ _t157 = _t156 & 0x00000001u;
|
|
/* 02BCE578 */ if (_t157) goto L_02BCE6D4; else goto L_02BCE57C;
|
|
L_02BCE57C: ; // 0x2bce57c
|
|
/* 02BCE57C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[16]);
|
|
/* 02BCE580 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE580 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02BCE580 */ if (_t159) goto L_02BCE584; else goto L_02BCE5B0;
|
|
L_02BCE584: ; // 0x2bce584
|
|
/* 02BCE584 */ _t160 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BCE584 */ cpu->r[3] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02BCE588 */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BCE58C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCE590 */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE590 */ _t162 = _t161 & 0x00000001u;
|
|
/* 02BCE590 */ if (_t162) goto L_02BCE6D4; else goto L_02BCE594;
|
|
L_02BCE594: ; // 0x2bce594
|
|
/* 02BCE594 */ _t163 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BCE594 */ cpu->r[8] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02BCE598 */ _t164 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02BCE598 */ cpu->r[4] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02BCE59C */ _t165 = cpu->r[4] + 0x0000006Eu;
|
|
/* 02BCE59C */ cpu->r[10] = rbrew_read8(cpu->mem, _t165);
|
|
/* 02BCE5A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BCE5A4 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE5A4 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02BCE5A4 */ if (_t167) goto L_02BCE6D4; else goto L_02BCE5A8;
|
|
L_02BCE5A8: ; // 0x2bce5a8
|
|
/* 02BCE5A8 */ _t168 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCE5A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02BCE5AC */ _t169 = cpu->r[7] + cpu->r[27];
|
|
/* 02BCE5AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t169);
|
|
L_02BCE5B0: ; // 0x2bce5b0
|
|
/* 02BCE5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[24]);
|
|
/* 02BCE5B4 */ _t170 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCE5B4 */ _t171 = _t170 & 0x00000001u;
|
|
/* 02BCE5B4 */ if (_t171) goto L_02BCE5B8; else goto L_02BCE688;
|
|
L_02BCE5B8: ; // 0x2bce5b8
|
|
/* 02BCE5B8 */ _t172 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCE5B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t172);
|
|
/* 02BCE5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCE5C0 */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE5C0 */ _t174 = _t173 & 0x00000001u;
|
|
/* 02BCE5C0 */ if (_t174) goto L_02BCE688; else goto L_02BCE5C4;
|
|
L_02BCE5C4: ; // 0x2bce5c4
|
|
/* 02BCE5C4 */ _t175 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCE5C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02BCE5C8 */ Gambit_fn_02BF31E0(cpu);
|
|
/* 02BCE5CC */ _t176 = cpu->r[18] + 0xFFFFB778u;
|
|
/* 02BCE5CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02BCE5D0 */ _t177 = cpu->r[12] + 0x00000034u;
|
|
/* 02BCE5D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t177);
|
|
/* 02BCE5D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02BCE5D8 */ _t178 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCE5D8 */ _t179 = _t178 & 0x00000001u;
|
|
/* 02BCE5D8 */ if (_t179) goto L_02BCE5DC; else goto L_02BCE6D4;
|
|
L_02BCE5DC: ; // 0x2bce5dc
|
|
/* 02BCE5DC */ _t180 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCE5DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t180);
|
|
/* 02BCE5E0 */ Gambit_fn_02BF2D20(cpu);
|
|
/* 02BCE5E4 */ _t181 = cpu->r[31] + 0x00000084u;
|
|
/* 02BCE5E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02BCE5E8 */ _t182 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCE5E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02BCE5EC */ _t183 = cpu->r[25] + 0x0000004Cu;
|
|
/* 02BCE5EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02BCE5F0 */ cpu->r[9] = cpu->r[5] + cpu->r[26];
|
|
/* 02BCE5F4 */ _t184 = cpu->r[6] + cpu->r[27];
|
|
/* 02BCE5F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02BCE5F8 */ cpu->r[6] = cpu->r[9] + 0x00000008u;
|
|
/* 02BCE5FC */ cpu->r[22] = cpu->r[3];
|
|
/* 02BCE600 */ Gambit_fn_02BF07D8(cpu);
|
|
/* 02BCE604 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCE608 */ _t185 = cpu->r[22] + 0x00000030u;
|
|
/* 02BCE608 */ cpu->r[15] = rbrew_read32(cpu->mem, _t185);
|
|
/* 02BCE60C */ Gambit_fn_02BCE038(cpu);
|
|
/* 02BCE610 */ cpu->r[17] = cpu->r[3];
|
|
/* 02BCE614 */ _t186 = cpu->r[31] + 0x00000084u;
|
|
/* 02BCE614 */ cpu->r[11] = rbrew_read32(cpu->mem, _t186);
|
|
/* 02BCE618 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[17] * (int32_t)0x00000014u);
|
|
/* 02BCE61C */ _t187 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BCE61C */ cpu->r[9] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02BCE620 */ _t188 = cpu->r[22] + 0x0000002Cu;
|
|
/* 02BCE620 */ cpu->r[12] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02BCE624 */ cpu->r[5] = cpu->r[22];
|
|
/* 02BCE628 */ cpu->r[4] = cpu->r[9] + cpu->r[7];
|
|
/* 02BCE62C */ cpu->r[6] = cpu->r[11] + cpu->r[26];
|
|
/* 02BCE630 */ _t189 = cpu->r[12] + 0x00000018u;
|
|
/* 02BCE630 */ cpu->r[8] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02BCE634 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BCE638 */ cpu->r[3] = cpu->r[15];
|
|
/* 02BCE63C */ Gambit_fn_02BF6930(cpu);
|
|
/* 02BCE640 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCE644 */ cpu->r[10] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02BCE648 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCE648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BCE64C */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE64C */ _t191 = _t190 & 0x00000001u;
|
|
/* 02BCE64C */ if (_t191) goto L_02BCE6D4; else goto L_02BCE650;
|
|
L_02BCE650: ; // 0x2bce650
|
|
/* 02BCE650 */ _t192 = cpu->r[31] + 0x00000084u;
|
|
/* 02BCE650 */ cpu->r[5] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02BCE654 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCE658 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE65C */ cpu->r[5] = cpu->r[5] + cpu->r[26];
|
|
/* 02BCE660 */ Gambit_fn_02BF8990(cpu);
|
|
/* 02BCE664 */ _t193 = cpu->r[22] + 0x00000024u;
|
|
/* 02BCE664 */ rbrew_write32(cpu->mem, _t193, cpu->r[14]);
|
|
/* 02BCE668 */ _t194 = cpu->r[31] + 0x00000088u;
|
|
/* 02BCE668 */ cpu->r[6] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02BCE66C */ cpu->r[5] = rbrew_rlwinm(cpu->r[17], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCE670 */ _t195 = cpu->r[6] + cpu->r[27];
|
|
/* 02BCE670 */ cpu->r[4] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02BCE674 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCE678 */ Gambit_fn_02BCE0A4(cpu);
|
|
/* 02BCE67C */ cpu->r[3] = cpu->r[15];
|
|
/* 02BCE680 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCE684 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BCE688: ; // 0x2bce688
|
|
/* 02BCE688 */ _t196 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BCE688 */ cpu->r[7] = rbrew_read32(cpu->mem, _t196);
|
|
/* 02BCE68C */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02BCE690 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02BCE694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[7]);
|
|
/* 02BCE698 */ cpu->r[26] = cpu->r[26] + 0x00000068u;
|
|
/* 02BCE69C */ _t197 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCE69C */ _t198 = _t197 & 0x00000001u;
|
|
/* 02BCE69C */ if (_t198) goto L_02BCE1B0; else goto L_02BCE6A0;
|
|
L_02BCE6A0: ; // 0x2bce6a0
|
|
/* 02BCE6A0 */ _t199 = cpu->r[25] + 0x00000074u;
|
|
/* 02BCE6A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t199);
|
|
/* 02BCE6A4 */ _t200 = ~cpu->r[19];
|
|
/* 02BCE6A4 */ cpu->r[27] = cpu->r[8] & _t200;
|
|
/* 02BCE6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BCE6A8 */ _t201 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE6A8 */ _t202 = _t201 & 0x00000001u;
|
|
/* 02BCE6A8 */ if (_t202) goto L_02BCE7A4; else goto L_02BCE6AC;
|
|
L_02BCE6AC: ; // 0x2bce6ac
|
|
/* 02BCE6AC */ cpu->r[29] = 0x00000000u;
|
|
/* 02BCE6B0 */ cpu->r[26] = 0x00000001u;
|
|
L_02BCE6B4: ; // 0x2bce6b4
|
|
/* 02BCE6B4 */ cpu->r[0] = cpu->r[27] & cpu->r[26];
|
|
/* 02BCE6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCE6B8 */ _t203 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE6B8 */ _t204 = _t203 & 0x00000001u;
|
|
/* 02BCE6B8 */ if (_t204) goto L_02BCE788; else goto L_02BCE6BC;
|
|
L_02BCE6BC: ; // 0x2bce6bc
|
|
/* 02BCE6BC */ _t205 = cpu->r[25] + 0x0000005Cu;
|
|
/* 02BCE6BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t205);
|
|
/* 02BCE6C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[10]);
|
|
/* 02BCE6C4 */ _t206 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE6C4 */ _t207 = _t206 & 0x00000001u;
|
|
/* 02BCE6C4 */ if (_t207) goto L_02BCE6C8; else goto L_02BCE6F8;
|
|
L_02BCE6C8: ; // 0x2bce6c8
|
|
/* 02BCE6C8 */ _t208 = cpu->r[31] + 0x000000BEu;
|
|
/* 02BCE6C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t208);
|
|
/* 02BCE6CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCE6D0 */ _t209 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE6D0 */ _t210 = _t209 & 0x00000001u;
|
|
/* 02BCE6D0 */ if (_t210) goto L_02BCE6D4; else goto L_02BCE788;
|
|
L_02BCE6D4: ; // 0x2bce6d4
|
|
/* 02BCE6D4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCE6D8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCE6DC */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BCE6E0 */ /* nop */
|
|
/* 02BCE6E4 */ _t211 = cpu->r[1] + 0x00000144u;
|
|
/* 02BCE6E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t211);
|
|
/* 02BCE6E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BCE6EC */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 02BCE6F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCE6F4 */ return;
|
|
L_02BCE6F8: ; // 0x2bce6f8
|
|
/* 02BCE6F8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BCE6FC */ cpu->r[4] = cpu->r[29];
|
|
/* 02BCE700 */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BCE704 */ _t212 = cpu->r[25] + 0x00000050u;
|
|
/* 02BCE704 */ cpu->r[11] = rbrew_read16(cpu->mem, _t212);
|
|
/* 02BCE708 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02BCE70C */ _t213 = cpu->r[25] + 0x00000050u;
|
|
/* 02BCE70C */ rbrew_write16(cpu->mem, _t213, (uint16_t)cpu->r[11]);
|
|
/* 02BCE710 */ _t214 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCE710 */ cpu->r[3] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02BCE714 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BCE718 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCE71C */ cpu->r[22] = cpu->r[3];
|
|
/* 02BCE71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BCE720 */ _t215 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE720 */ _t216 = _t215 & 0x00000001u;
|
|
/* 02BCE720 */ if (_t216) goto L_02BCE770; else goto L_02BCE724;
|
|
L_02BCE724: ; // 0x2bce724
|
|
/* 02BCE724 */ _t217 = cpu->r[22] + 0x00000034u;
|
|
/* 02BCE724 */ cpu->r[3] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02BCE728 */ _t218 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCE728 */ cpu->r[5] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02BCE72C */ _t219 = cpu->r[5] + 0x00000034u;
|
|
/* 02BCE72C */ cpu->r[6] = rbrew_read32(cpu->mem, _t219);
|
|
/* 02BCE730 */ cpu->ctr = cpu->r[6];
|
|
/* 02BCE734 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE738 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCE73C */ _t220 = cpu->r[21] + 0x00000000u;
|
|
/* 02BCE73C */ cpu->r[3] = rbrew_read32(cpu->mem, _t220);
|
|
/* 02BCE740 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE744 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BCE748 */ _t221 = cpu->r[20] + 0xFFFFB798u;
|
|
/* 02BCE748 */ cpu->r[3] = rbrew_read32(cpu->mem, _t221);
|
|
/* 02BCE74C */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE750 */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BCE754 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BCE758 */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BCE75C */ cpu->r[3] = cpu->r[22];
|
|
/* 02BCE760 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BCE764 */ _t222 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCE764 */ cpu->r[3] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02BCE768 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BCE76C */ Gambit_fn_02BF2E98(cpu);
|
|
L_02BCE770: ; // 0x2bce770
|
|
/* 02BCE770 */ _t223 = cpu->r[18] + 0xFFFFB778u;
|
|
/* 02BCE770 */ cpu->r[7] = rbrew_read32(cpu->mem, _t223);
|
|
/* 02BCE774 */ _t224 = cpu->r[7] + 0x00000064u;
|
|
/* 02BCE774 */ cpu->r[3] = rbrew_read32(cpu->mem, _t224);
|
|
/* 02BCE778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCE77C */ _t225 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE77C */ _t226 = _t225 & 0x00000001u;
|
|
/* 02BCE77C */ if (_t226) goto L_02BCE788; else goto L_02BCE780;
|
|
L_02BCE780: ; // 0x2bce780
|
|
/* 02BCE780 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BCE784 */ Gambit_fn_02BF9BC8(cpu);
|
|
L_02BCE788: ; // 0x2bce788
|
|
/* 02BCE788 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02BCE78C */ cpu->r[29] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCE790 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BCE794 */ cpu->r[26] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BCE798 */ _t227 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCE798 */ _t228 = _t227 & 0x00000001u;
|
|
/* 02BCE798 */ if (_t228) goto L_02BCE79C; else goto L_02BCE6B4;
|
|
L_02BCE79C: ; // 0x2bce79c
|
|
/* 02BCE79C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCE7A0 */ _t229 = cpu->r[1] + 0x00000009u;
|
|
/* 02BCE7A0 */ rbrew_write8(cpu->mem, _t229, (uint8_t)cpu->r[0]);
|
|
L_02BCE7A4: ; // 0x2bce7a4
|
|
/* 02BCE7A4 */ cpu->r[0] = 0x00000008u;
|
|
/* 02BCE7A8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BCE7AC */ cpu->ctr = cpu->r[0];
|
|
/* 02BCE7B0 */ cpu->r[9] = cpu->r[1] + 0x00000070u;
|
|
L_02BCE7B4: ; // 0x2bce7b4
|
|
/* 02BCE7B4 */ _t230 = cpu->r[9] + 0x00000004u;
|
|
/* 02BCE7B4 */ rbrew_write32(cpu->mem, _t230, cpu->r[8]);
|
|
/* 02BCE7B8 */ _t231 = cpu->r[9] + 0x00000008u;
|
|
/* 02BCE7B8 */ rbrew_write32(cpu->mem, _t231, cpu->r[8]);
|
|
/* 02BCE7BC */ _t232 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BCE7BC */ rbrew_write32(cpu->mem, _t232, cpu->r[8]);
|
|
/* 02BCE7C0 */ _t233 = cpu->r[9] + 0x00000010u;
|
|
/* 02BCE7C0 */ rbrew_write32(cpu->mem, _t233, cpu->r[8]);
|
|
/* 02BCE7C0 */ cpu->r[9] = _t233;
|
|
/* 02BCE7C4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BCE7C4 */ _t234 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BCE7C4 */ _t235 = _t234 >> (0x00000002u & 31u);
|
|
/* 02BCE7C4 */ _t236 = _t235 & 0x00000001u;
|
|
/* 02BCE7C4 */ if (_t236) goto L_02BCE7B4; else goto L_02BCE7C8;
|
|
L_02BCE7C8: ; // 0x2bce7c8
|
|
/* 02BCE7C8 */ _t237 = cpu->r[30] + 0x00000000u;
|
|
/* 02BCE7C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t237);
|
|
/* 02BCE7CC */ _t238 = cpu->r[29] + 0x00000034u;
|
|
/* 02BCE7CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t238);
|
|
/* 02BCE7D0 */ cpu->r[27] = cpu->r[29] + 0x00000038u;
|
|
/* 02BCE7D4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCE7D8 */ cpu->r[25] = cpu->r[27];
|
|
/* 02BCE7DC */ cpu->r[5] = cpu->r[27] + cpu->r[10];
|
|
/* 02BCE7E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[5]);
|
|
/* 02BCE7E4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BCE7E8 */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE7E8 */ _t240 = _t239 & 0x00000001u;
|
|
/* 02BCE7E8 */ if (_t240) goto L_02BCE890; else goto L_02BCE7EC;
|
|
L_02BCE7EC: ; // 0x2bce7ec
|
|
/* 02BCE7EC */ cpu->r[26] = cpu->r[1] + 0x00000074u;
|
|
L_02BCE7F0: ; // 0x2bce7f0
|
|
/* 02BCE7F0 */ _t241 = cpu->r[25] + 0x00000000u;
|
|
/* 02BCE7F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t241);
|
|
/* 02BCE7F4 */ _t242 = cpu->r[29] + 0x00000144u;
|
|
/* 02BCE7F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t242);
|
|
/* 02BCE7F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02BCE7FC */ _t243 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE7FC */ _t244 = _t243 & 0x00000001u;
|
|
/* 02BCE7FC */ if (_t244) goto L_02BCE884; else goto L_02BCE800;
|
|
L_02BCE800: ; // 0x2bce800
|
|
/* 02BCE800 */ _t245 = cpu->r[4] + 0x00000024u;
|
|
/* 02BCE800 */ cpu->r[11] = rbrew_read32(cpu->mem, _t245);
|
|
/* 02BCE804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000006u);
|
|
/* 02BCE808 */ _t246 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE808 */ _t247 = _t246 & 0x00000001u;
|
|
/* 02BCE808 */ if (_t247) goto L_02BCE884; else goto L_02BCE80C;
|
|
L_02BCE80C: ; // 0x2bce80c
|
|
/* 02BCE80C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCE810 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCE814 */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BCE818 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCE81C */ cpu->r[8] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02BCE820 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCE820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BCE824 */ _t248 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE824 */ _t249 = _t248 & 0x00000001u;
|
|
/* 02BCE824 */ if (_t249) goto L_02BCE868; else goto L_02BCE828;
|
|
L_02BCE828: ; // 0x2bce828
|
|
/* 02BCE828 */ _t250 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BCE828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t250);
|
|
/* 02BCE82C */ cpu->r[23] = 0x00000000u;
|
|
/* 02BCE830 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[0]);
|
|
/* 02BCE834 */ _t251 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCE834 */ _t252 = _t251 & 0x00000001u;
|
|
/* 02BCE834 */ if (_t252) goto L_02BCE838; else goto L_02BCE868;
|
|
L_02BCE838: ; // 0x2bce838
|
|
/* 02BCE838 */ cpu->r[24] = 0x00000000u;
|
|
L_02BCE83C: ; // 0x2bce83c
|
|
/* 02BCE83C */ _t253 = cpu->r[31] + 0x00000084u;
|
|
/* 02BCE83C */ cpu->r[4] = rbrew_read32(cpu->mem, _t253);
|
|
/* 02BCE840 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCE844 */ cpu->r[4] = cpu->r[4] + cpu->r[24];
|
|
/* 02BCE848 */ Gambit_fn_02BF6598(cpu);
|
|
/* 02BCE84C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCE850 */ _t254 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE850 */ _t255 = _t254 & 0x00000001u;
|
|
/* 02BCE850 */ if (_t255) goto L_02BCE854; else goto L_02BCE878;
|
|
L_02BCE854: ; // 0x2bce854
|
|
/* 02BCE854 */ _t256 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BCE854 */ cpu->r[5] = rbrew_read32(cpu->mem, _t256);
|
|
/* 02BCE858 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02BCE85C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[5]);
|
|
/* 02BCE860 */ cpu->r[24] = cpu->r[24] + 0x00000068u;
|
|
/* 02BCE864 */ _t257 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCE864 */ _t258 = _t257 & 0x00000001u;
|
|
/* 02BCE864 */ if (_t258) goto L_02BCE83C; else goto L_02BCE868;
|
|
L_02BCE868: ; // 0x2bce868
|
|
/* 02BCE868 */ _t259 = cpu->r[25] + 0x00000000u;
|
|
/* 02BCE868 */ cpu->r[6] = rbrew_read32(cpu->mem, _t259);
|
|
/* 02BCE86C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02BCE870 */ _t260 = cpu->r[26] + 0x00000000u;
|
|
/* 02BCE870 */ rbrew_write32(cpu->mem, _t260, cpu->r[6]);
|
|
/* 02BCE874 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
L_02BCE878: ; // 0x2bce878
|
|
/* 02BCE878 */ _t261 = cpu->r[29] + 0x00000034u;
|
|
/* 02BCE878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t261);
|
|
/* 02BCE87C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCE880 */ cpu->r[5] = cpu->r[27] + cpu->r[10];
|
|
L_02BCE884: ; // 0x2bce884
|
|
/* 02BCE884 */ cpu->r[25] = cpu->r[25] + 0x00000004u;
|
|
/* 02BCE888 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[5]);
|
|
/* 02BCE88C */ _t262 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE88C */ _t263 = _t262 & 0x00000001u;
|
|
/* 02BCE88C */ if (_t263) goto L_02BCE890; else goto L_02BCE7F0;
|
|
L_02BCE890: ; // 0x2bce890
|
|
/* 02BCE890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCE894 */ _t264 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE894 */ _t265 = _t264 & 0x00000001u;
|
|
/* 02BCE894 */ if (_t265) goto L_02BCE998; else goto L_02BCE898;
|
|
L_02BCE898: ; // 0x2bce898
|
|
/* 02BCE898 */ cpu->r[28] = cpu->r[1] + 0x00000070u;
|
|
L_02BCE89C: ; // 0x2bce89c
|
|
/* 02BCE89C */ _t266 = cpu->r[28] + 0x00000004u;
|
|
/* 02BCE89C */ cpu->r[3] = rbrew_read32(cpu->mem, _t266);
|
|
/* 02BCE89C */ cpu->r[28] = _t266;
|
|
/* 02BCE8A0 */ _t267 = cpu->r[3] + 0x00000068u;
|
|
/* 02BCE8A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t267);
|
|
/* 02BCE8A4 */ _t268 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02BCE8A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t268);
|
|
/* 02BCE8A8 */ cpu->ctr = cpu->r[8];
|
|
/* 02BCE8AC */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCE8B0 */ cpu->r[5] = 0x00000002u;
|
|
/* 02BCE8B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCE8B8 */ _t269 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCE8B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t269);
|
|
/* 02BCE8BC */ _t270 = cpu->r[12] + 0x00000030u;
|
|
/* 02BCE8BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t270);
|
|
/* 02BCE8C0 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BCE8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCE8C8 */ _t271 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE8C8 */ _t272 = _t271 & 0x00000001u;
|
|
/* 02BCE8C8 */ if (_t272) goto L_02BCE8CC; else goto L_02BCE990;
|
|
L_02BCE8CC: ; // 0x2bce8cc
|
|
/* 02BCE8CC */ _t273 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCE8CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t273);
|
|
/* 02BCE8D0 */ _t274 = cpu->r[4] + 0x00000038u;
|
|
/* 02BCE8D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t274);
|
|
/* 02BCE8D4 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BCE8D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCE8DC */ _t275 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE8DC */ _t276 = _t275 & 0x00000001u;
|
|
/* 02BCE8DC */ if (_t276) goto L_02BCE8E0; else goto L_02BCE990;
|
|
L_02BCE8E0: ; // 0x2bce8e0
|
|
/* 02BCE8E0 */ _t277 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCE8E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t277);
|
|
/* 02BCE8E4 */ _t278 = cpu->r[4] + 0x00000024u;
|
|
/* 02BCE8E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t278);
|
|
/* 02BCE8E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000005u);
|
|
/* 02BCE8EC */ _t279 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE8EC */ _t280 = _t279 & 0x00000001u;
|
|
/* 02BCE8EC */ if (_t280) goto L_02BCE990; else goto L_02BCE8F0;
|
|
L_02BCE8F0: ; // 0x2bce8f0
|
|
/* 02BCE8F0 */ _t281 = cpu->r[4] + 0x00000034u;
|
|
/* 02BCE8F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t281);
|
|
/* 02BCE8F4 */ _t282 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCE8F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t282);
|
|
/* 02BCE8F8 */ _t283 = cpu->r[10] + 0x00000034u;
|
|
/* 02BCE8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t283);
|
|
/* 02BCE8FC */ cpu->ctr = cpu->r[0];
|
|
/* 02BCE900 */ _t284 = cpu->r[4] + 0x00000018u;
|
|
/* 02BCE900 */ cpu->r[27] = rbrew_read32(cpu->mem, _t284);
|
|
/* 02BCE904 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCE908 */ _t285 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCE908 */ cpu->r[4] = rbrew_read32(cpu->mem, _t285);
|
|
/* 02BCE90C */ _t286 = cpu->r[21] + 0x00000000u;
|
|
/* 02BCE90C */ cpu->r[3] = rbrew_read32(cpu->mem, _t286);
|
|
/* 02BCE910 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BCE914 */ _t287 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCE914 */ cpu->r[4] = rbrew_read32(cpu->mem, _t287);
|
|
/* 02BCE918 */ _t288 = cpu->r[20] + 0xFFFFB798u;
|
|
/* 02BCE918 */ cpu->r[3] = rbrew_read32(cpu->mem, _t288);
|
|
/* 02BCE91C */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BCE920 */ _t289 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCE920 */ cpu->r[3] = rbrew_read32(cpu->mem, _t289);
|
|
/* 02BCE924 */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BCE928 */ _t290 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCE928 */ cpu->r[3] = rbrew_read32(cpu->mem, _t290);
|
|
/* 02BCE92C */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BCE930 */ _t291 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCE930 */ cpu->r[4] = rbrew_read32(cpu->mem, _t291);
|
|
/* 02BCE934 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCE938 */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BCE93C */ cpu->r[4] = cpu->r[27];
|
|
/* 02BCE940 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BCE944 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCE948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x0000001Fu);
|
|
/* 02BCE94C */ _t292 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCE94C */ _t293 = _t292 & 0x00000001u;
|
|
/* 02BCE94C */ if (_t293) goto L_02BCE988; else goto L_02BCE950;
|
|
L_02BCE950: ; // 0x2bce950
|
|
/* 02BCE950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCE954 */ _t294 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE954 */ _t295 = _t294 & 0x00000001u;
|
|
/* 02BCE954 */ if (_t295) goto L_02BCE964; else goto L_02BCE958;
|
|
L_02BCE958: ; // 0x2bce958
|
|
/* 02BCE958 */ _t296 = cpu->r[3] + 0x00000024u;
|
|
/* 02BCE958 */ cpu->r[11] = rbrew_read32(cpu->mem, _t296);
|
|
/* 02BCE95C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000005u);
|
|
/* 02BCE960 */ _t297 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE960 */ _t298 = _t297 & 0x00000001u;
|
|
/* 02BCE960 */ if (_t298) goto L_02BCE964; else goto L_02BCE988;
|
|
L_02BCE964: ; // 0x2bce964
|
|
/* 02BCE964 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BCE968 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCE96C */ Gambit_fn_02BCE014(cpu);
|
|
/* 02BCE970 */ _t299 = cpu->r[31] + 0x00000080u;
|
|
/* 02BCE970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t299);
|
|
/* 02BCE974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02BCE978 */ _t300 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCE978 */ _t301 = _t300 & 0x00000001u;
|
|
/* 02BCE978 */ if (_t301) goto L_02BCE97C; else goto L_02BCE988;
|
|
L_02BCE97C: ; // 0x2bce97c
|
|
/* 02BCE97C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCE980 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BCE984 */ Gambit_fn_02BCE024(cpu);
|
|
L_02BCE988: ; // 0x2bce988
|
|
/* 02BCE988 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCE98C */ _t302 = cpu->r[1] + 0x00000009u;
|
|
/* 02BCE98C */ rbrew_write8(cpu->mem, _t302, (uint8_t)cpu->r[4]);
|
|
L_02BCE990: ; // 0x2bce990
|
|
/* 02BCE990 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BCE990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCE994 */ _t303 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE994 */ _t304 = _t303 & 0x00000001u;
|
|
/* 02BCE994 */ if (_t304) goto L_02BCE998; else goto L_02BCE89C;
|
|
L_02BCE998: ; // 0x2bce998
|
|
/* 02BCE998 */ _t305 = cpu->r[1] + 0x00000009u;
|
|
/* 02BCE998 */ cpu->r[0] = rbrew_read8(cpu->mem, _t305);
|
|
/* 02BCE99C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCE9A0 */ _t306 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE9A0 */ _t307 = _t306 & 0x00000001u;
|
|
/* 02BCE9A0 */ if (_t307) goto L_02BCE9AC; else goto L_02BCE9A4;
|
|
L_02BCE9A4: ; // 0x2bce9a4
|
|
/* 02BCE9A4 */ _t308 = cpu->r[18] + 0xFFFFB778u;
|
|
/* 02BCE9A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t308);
|
|
/* 02BCE9A8 */ Gambit_fn_02BEDC48(cpu);
|
|
L_02BCE9AC: ; // 0x2bce9ac
|
|
/* 02BCE9AC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCE9B0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BCE9B4 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BCE9B8 */ /* nop */
|
|
/* 02BCE9BC */ _t309 = cpu->r[1] + 0x00000144u;
|
|
/* 02BCE9BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t309);
|
|
/* 02BCE9C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCE9C4 */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 02BCE9C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCE9CC */ return;
|
|
}
|
|
|
|
// fn_02BCE9D0 @ 0x2bce9d0
|
|
void Gambit_fn_02BCE9D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62;
|
|
|
|
L_02BCE9D0: ; // 0x2bce9d0
|
|
/* 02BCE9D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCE9D4 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02BCE9D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCE9D4 */ cpu->r[1] = _t0;
|
|
/* 02BCE9D8 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCE9D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCE9DC */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02BCE9DC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BCE9E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCE9E4 */ cpu->r[31] = cpu->r[6];
|
|
/* 02BCE9E8 */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 02BCE9E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCE9EC */ Gambit_fn_02BCDAC8(cpu);
|
|
/* 02BCE9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 02BCE9F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE9F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCE9F4 */ if (_t5) goto L_02BCE9F8; else goto L_02BCEBBC;
|
|
L_02BCE9F8: ; // 0x2bce9f8
|
|
/* 02BCE9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCE9FC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCEA00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCEA00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCEA00 */ if (_t7) goto L_02BCEA04; else goto L_02BCEA98;
|
|
L_02BCEA04: ; // 0x2bcea04
|
|
/* 02BCEA04 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCEA08 */ Gambit_fn_02BCDE5C(cpu);
|
|
/* 02BCEA0C */ cpu->r[9] = 0x00000000u;
|
|
/* 02BCEA10 */ _t8 = cpu->r[30] + 0x000000BDu;
|
|
/* 02BCEA10 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[31]);
|
|
/* 02BCEA14 */ cpu->r[4] = 0x000000FFu;
|
|
/* 02BCEA18 */ _t9 = cpu->r[30] + 0x000000B4u;
|
|
/* 02BCEA18 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02BCEA1C */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCEA20 */ cpu->r[3] = cpu->r[30] + 0x00000060u;
|
|
/* 02BCEA24 */ _t10 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BCEA24 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BCEA28 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02BCEA2C */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCEA30 */ _t11 = cpu->r[30] + 0x00000018u;
|
|
/* 02BCEA30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCEA34 */ _t12 = cpu->r[30] + 0x000000BCu;
|
|
/* 02BCEA34 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[4]);
|
|
/* 02BCEA38 */ _t13 = cpu->r[9] + 0x00000014u;
|
|
/* 02BCEA38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCEA3C */ cpu->ctr = cpu->r[9];
|
|
/* 02BCEA40 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCEA44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCEA48 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCEA4C */ Gambit_fn_02BCE0B4(cpu);
|
|
/* 02BCEA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCEA54 */ _t14 = cpu->r[30] + 0x000000C4u;
|
|
/* 02BCEA54 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[3]);
|
|
/* 02BCEA58 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCEA58 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BCEA58 */ if (_t16) goto L_02BCEA5C; else goto L_02BCEAF0;
|
|
L_02BCEA5C: ; // 0x2bcea5c
|
|
/* 02BCEA5C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCEA60 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BCEA64 */ cpu->r[9] = 0x02BD0000u;
|
|
/* 02BCEA68 */ _t17 = cpu->r[1] + 0x00000038u;
|
|
/* 02BCEA68 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[0]);
|
|
/* 02BCEA6C */ cpu->r[9] = cpu->r[9] + 0x000008FCu;
|
|
/* 02BCEA70 */ _t18 = cpu->r[1] + 0x0000003Au;
|
|
/* 02BCEA70 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[12]);
|
|
/* 02BCEA74 */ _t19 = cpu->r[1] + 0x00000038u;
|
|
/* 02BCEA74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCEA78 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BCEA7C */ _t20 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCEA7C */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 02BCEA80 */ cpu->r[8] = cpu->r[8] + 0x00003F40u;
|
|
/* 02BCEA84 */ _t21 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCEA84 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02BCEA88 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BCEA8C */ _t22 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCEA8C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02BCEA90 */ _t23 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCEA90 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 02BCEA94 */ goto L_02BCEBBC;
|
|
L_02BCEA98: ; // 0x2bcea98
|
|
/* 02BCEA98 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCEA9C */ Gambit_fn_02BCDE5C(cpu);
|
|
/* 02BCEAA0 */ _t24 = cpu->r[30] + 0x000000C0u;
|
|
/* 02BCEAA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BCEAA4 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCEAA8 */ cpu->r[3] = cpu->r[30] + 0x00000060u;
|
|
/* 02BCEAAC */ _t25 = cpu->r[30] + 0x000000BDu;
|
|
/* 02BCEAAC */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[31]);
|
|
/* 02BCEAB0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BCEAB4 */ cpu->r[4] = 0x000000FFu;
|
|
/* 02BCEAB8 */ _t26 = cpu->r[30] + 0x000000C0u;
|
|
/* 02BCEAB8 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 02BCEABC */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02BCEAC0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCEAC4 */ _t27 = cpu->r[30] + 0x00000018u;
|
|
/* 02BCEAC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BCEAC8 */ _t28 = cpu->r[30] + 0x000000BCu;
|
|
/* 02BCEAC8 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[4]);
|
|
/* 02BCEACC */ _t29 = cpu->r[9] + 0x00000014u;
|
|
/* 02BCEACC */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BCEAD0 */ cpu->ctr = cpu->r[9];
|
|
/* 02BCEAD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCEAD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCEADC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCEAE0 */ Gambit_fn_02BCE0B4(cpu);
|
|
/* 02BCEAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCEAE8 */ _t30 = cpu->r[30] + 0x000000C4u;
|
|
/* 02BCEAE8 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[3]);
|
|
/* 02BCEAEC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCEAEC */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BCEAEC */ if (_t32) goto L_02BCEA5C; else goto L_02BCEAF0;
|
|
L_02BCEAF0: ; // 0x2bceaf0
|
|
/* 02BCEAF0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCEAF4 */ _t33 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCEAF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCEAF8 */ _t34 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BCEAF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCEAFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u);
|
|
/* 02BCEB00 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCEB00 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BCEB00 */ if (_t36) goto L_02BCEB04; else goto L_02BCEB40;
|
|
L_02BCEB04: ; // 0x2bceb04
|
|
/* 02BCEB04 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BCEB08 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BCEB0C */ cpu->r[10] = 0x02BD0000u;
|
|
/* 02BCEB10 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCEB10 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[9]);
|
|
/* 02BCEB14 */ cpu->r[10] = cpu->r[10] + 0xFFFFEFC0u;
|
|
/* 02BCEB18 */ _t38 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCEB18 */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[12]);
|
|
/* 02BCEB1C */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCEB1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCEB20 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BCEB24 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCEB24 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 02BCEB28 */ cpu->r[8] = cpu->r[8] + 0x00003EBCu;
|
|
/* 02BCEB2C */ _t41 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCEB2C */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 02BCEB30 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BCEB34 */ _t42 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCEB34 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
|
|
/* 02BCEB38 */ _t43 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCEB38 */ rbrew_write32(cpu->mem, _t43, cpu->r[8]);
|
|
/* 02BCEB3C */ goto L_02BCEBBC;
|
|
L_02BCEB40: ; // 0x2bceb40
|
|
/* 02BCEB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02BCEB44 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCEB44 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BCEB44 */ if (_t45) goto L_02BCEB48; else goto L_02BCEB84;
|
|
L_02BCEB48: ; // 0x2bceb48
|
|
/* 02BCEB48 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BCEB4C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BCEB50 */ cpu->r[12] = 0x02BD0000u;
|
|
/* 02BCEB54 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCEB54 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[9]);
|
|
/* 02BCEB58 */ cpu->r[12] = cpu->r[12] + 0xFFFFF6C4u;
|
|
/* 02BCEB5C */ _t47 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BCEB5C */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[0]);
|
|
/* 02BCEB60 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCEB60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BCEB64 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BCEB68 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCEB68 */ rbrew_write32(cpu->mem, _t49, cpu->r[12]);
|
|
/* 02BCEB6C */ cpu->r[8] = cpu->r[8] + 0x00003EE8u;
|
|
/* 02BCEB70 */ _t50 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCEB70 */ rbrew_write32(cpu->mem, _t50, cpu->r[12]);
|
|
/* 02BCEB74 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BCEB78 */ _t51 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCEB78 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02BCEB7C */ _t52 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCEB7C */ rbrew_write32(cpu->mem, _t52, cpu->r[8]);
|
|
/* 02BCEB80 */ goto L_02BCEBBC;
|
|
L_02BCEB84: ; // 0x2bceb84
|
|
/* 02BCEB84 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCEB88 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BCEB8C */ cpu->r[11] = 0x02BD0000u;
|
|
/* 02BCEB90 */ _t53 = cpu->r[1] + 0x00000028u;
|
|
/* 02BCEB90 */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[0]);
|
|
/* 02BCEB94 */ cpu->r[11] = cpu->r[11] + 0x0000013Cu;
|
|
/* 02BCEB98 */ _t54 = cpu->r[1] + 0x0000002Au;
|
|
/* 02BCEB98 */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[10]);
|
|
/* 02BCEB9C */ _t55 = cpu->r[1] + 0x00000028u;
|
|
/* 02BCEB9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BCEBA0 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BCEBA4 */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCEBA4 */ rbrew_write32(cpu->mem, _t56, cpu->r[11]);
|
|
/* 02BCEBA8 */ cpu->r[8] = cpu->r[8] + 0x00003F14u;
|
|
/* 02BCEBAC */ _t57 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCEBAC */ rbrew_write32(cpu->mem, _t57, cpu->r[11]);
|
|
/* 02BCEBB0 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BCEBB4 */ _t58 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCEBB4 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 02BCEBB8 */ _t59 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCEBB8 */ rbrew_write32(cpu->mem, _t59, cpu->r[8]);
|
|
L_02BCEBBC: ; // 0x2bcebbc
|
|
/* 02BCEBBC */ _t60 = cpu->r[1] + 0x00000054u;
|
|
/* 02BCEBBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BCEBC0 */ _t61 = cpu->r[1] + 0x00000048u;
|
|
/* 02BCEBC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BCEBC4 */ cpu->lr = cpu->r[0];
|
|
/* 02BCEBC8 */ _t62 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCEBC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCEBCC */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BCEBD0 */ return;
|
|
}
|
|
|
|
// fn_02BCE9D4 @ 0x2bce9d4
|
|
void Gambit_fn_02BCE9D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62;
|
|
|
|
L_02BCE9D4: ; // 0x2bce9d4
|
|
/* 02BCE9D4 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02BCE9D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCE9D4 */ cpu->r[1] = _t0;
|
|
/* 02BCE9D8 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCE9D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BCE9DC */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02BCE9DC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BCE9E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCE9E4 */ cpu->r[31] = cpu->r[6];
|
|
/* 02BCE9E8 */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 02BCE9E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCE9EC */ Gambit_fn_02BCDAC8(cpu);
|
|
/* 02BCE9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 02BCE9F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCE9F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BCE9F4 */ if (_t5) goto L_02BCE9F8; else goto L_02BCEBBC;
|
|
L_02BCE9F8: ; // 0x2bce9f8
|
|
/* 02BCE9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCE9FC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCEA00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCEA00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BCEA00 */ if (_t7) goto L_02BCEA04; else goto L_02BCEA98;
|
|
L_02BCEA04: ; // 0x2bcea04
|
|
/* 02BCEA04 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BCEA08 */ Gambit_fn_02BCDE5C(cpu);
|
|
/* 02BCEA0C */ cpu->r[9] = 0x00000000u;
|
|
/* 02BCEA10 */ _t8 = cpu->r[30] + 0x000000BDu;
|
|
/* 02BCEA10 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[31]);
|
|
/* 02BCEA14 */ cpu->r[4] = 0x000000FFu;
|
|
/* 02BCEA18 */ _t9 = cpu->r[30] + 0x000000B4u;
|
|
/* 02BCEA18 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02BCEA1C */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCEA20 */ cpu->r[3] = cpu->r[30] + 0x00000060u;
|
|
/* 02BCEA24 */ _t10 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BCEA24 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BCEA28 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02BCEA2C */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCEA30 */ _t11 = cpu->r[30] + 0x00000018u;
|
|
/* 02BCEA30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCEA34 */ _t12 = cpu->r[30] + 0x000000BCu;
|
|
/* 02BCEA34 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[4]);
|
|
/* 02BCEA38 */ _t13 = cpu->r[9] + 0x00000014u;
|
|
/* 02BCEA38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCEA3C */ cpu->ctr = cpu->r[9];
|
|
/* 02BCEA40 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCEA44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCEA48 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCEA4C */ Gambit_fn_02BCE0B4(cpu);
|
|
/* 02BCEA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCEA54 */ _t14 = cpu->r[30] + 0x000000C4u;
|
|
/* 02BCEA54 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[3]);
|
|
/* 02BCEA58 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCEA58 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BCEA58 */ if (_t16) goto L_02BCEA5C; else goto L_02BCEAF0;
|
|
L_02BCEA5C: ; // 0x2bcea5c
|
|
/* 02BCEA5C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCEA60 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BCEA64 */ cpu->r[9] = 0x02BD0000u;
|
|
/* 02BCEA68 */ _t17 = cpu->r[1] + 0x00000038u;
|
|
/* 02BCEA68 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[0]);
|
|
/* 02BCEA6C */ cpu->r[9] = cpu->r[9] + 0x000008FCu;
|
|
/* 02BCEA70 */ _t18 = cpu->r[1] + 0x0000003Au;
|
|
/* 02BCEA70 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[12]);
|
|
/* 02BCEA74 */ _t19 = cpu->r[1] + 0x00000038u;
|
|
/* 02BCEA74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCEA78 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BCEA7C */ _t20 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCEA7C */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 02BCEA80 */ cpu->r[8] = cpu->r[8] + 0x00003F40u;
|
|
/* 02BCEA84 */ _t21 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCEA84 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02BCEA88 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BCEA8C */ _t22 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCEA8C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02BCEA90 */ _t23 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCEA90 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 02BCEA94 */ goto L_02BCEBBC;
|
|
L_02BCEA98: ; // 0x2bcea98
|
|
/* 02BCEA98 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCEA9C */ Gambit_fn_02BCDE5C(cpu);
|
|
/* 02BCEAA0 */ _t24 = cpu->r[30] + 0x000000C0u;
|
|
/* 02BCEAA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BCEAA4 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BCEAA8 */ cpu->r[3] = cpu->r[30] + 0x00000060u;
|
|
/* 02BCEAAC */ _t25 = cpu->r[30] + 0x000000BDu;
|
|
/* 02BCEAAC */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[31]);
|
|
/* 02BCEAB0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BCEAB4 */ cpu->r[4] = 0x000000FFu;
|
|
/* 02BCEAB8 */ _t26 = cpu->r[30] + 0x000000C0u;
|
|
/* 02BCEAB8 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 02BCEABC */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02BCEAC0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BCEAC4 */ _t27 = cpu->r[30] + 0x00000018u;
|
|
/* 02BCEAC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BCEAC8 */ _t28 = cpu->r[30] + 0x000000BCu;
|
|
/* 02BCEAC8 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[4]);
|
|
/* 02BCEACC */ _t29 = cpu->r[9] + 0x00000014u;
|
|
/* 02BCEACC */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BCEAD0 */ cpu->ctr = cpu->r[9];
|
|
/* 02BCEAD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCEAD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCEADC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCEAE0 */ Gambit_fn_02BCE0B4(cpu);
|
|
/* 02BCEAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCEAE8 */ _t30 = cpu->r[30] + 0x000000C4u;
|
|
/* 02BCEAE8 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[3]);
|
|
/* 02BCEAEC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCEAEC */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BCEAEC */ if (_t32) goto L_02BCEA5C; else goto L_02BCEAF0;
|
|
L_02BCEAF0: ; // 0x2bceaf0
|
|
/* 02BCEAF0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCEAF4 */ _t33 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCEAF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BCEAF8 */ _t34 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BCEAF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCEAFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u);
|
|
/* 02BCEB00 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCEB00 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BCEB00 */ if (_t36) goto L_02BCEB04; else goto L_02BCEB40;
|
|
L_02BCEB04: ; // 0x2bceb04
|
|
/* 02BCEB04 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BCEB08 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BCEB0C */ cpu->r[10] = 0x02BD0000u;
|
|
/* 02BCEB10 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCEB10 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[9]);
|
|
/* 02BCEB14 */ cpu->r[10] = cpu->r[10] + 0xFFFFEFC0u;
|
|
/* 02BCEB18 */ _t38 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCEB18 */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[12]);
|
|
/* 02BCEB1C */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCEB1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCEB20 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BCEB24 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCEB24 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 02BCEB28 */ cpu->r[8] = cpu->r[8] + 0x00003EBCu;
|
|
/* 02BCEB2C */ _t41 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCEB2C */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 02BCEB30 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BCEB34 */ _t42 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCEB34 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
|
|
/* 02BCEB38 */ _t43 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCEB38 */ rbrew_write32(cpu->mem, _t43, cpu->r[8]);
|
|
/* 02BCEB3C */ goto L_02BCEBBC;
|
|
L_02BCEB40: ; // 0x2bceb40
|
|
/* 02BCEB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02BCEB44 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCEB44 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BCEB44 */ if (_t45) goto L_02BCEB48; else goto L_02BCEB84;
|
|
L_02BCEB48: ; // 0x2bceb48
|
|
/* 02BCEB48 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BCEB4C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BCEB50 */ cpu->r[12] = 0x02BD0000u;
|
|
/* 02BCEB54 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCEB54 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[9]);
|
|
/* 02BCEB58 */ cpu->r[12] = cpu->r[12] + 0xFFFFF6C4u;
|
|
/* 02BCEB5C */ _t47 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BCEB5C */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[0]);
|
|
/* 02BCEB60 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCEB60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BCEB64 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BCEB68 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCEB68 */ rbrew_write32(cpu->mem, _t49, cpu->r[12]);
|
|
/* 02BCEB6C */ cpu->r[8] = cpu->r[8] + 0x00003EE8u;
|
|
/* 02BCEB70 */ _t50 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCEB70 */ rbrew_write32(cpu->mem, _t50, cpu->r[12]);
|
|
/* 02BCEB74 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BCEB78 */ _t51 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCEB78 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02BCEB7C */ _t52 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCEB7C */ rbrew_write32(cpu->mem, _t52, cpu->r[8]);
|
|
/* 02BCEB80 */ goto L_02BCEBBC;
|
|
L_02BCEB84: ; // 0x2bceb84
|
|
/* 02BCEB84 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCEB88 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BCEB8C */ cpu->r[11] = 0x02BD0000u;
|
|
/* 02BCEB90 */ _t53 = cpu->r[1] + 0x00000028u;
|
|
/* 02BCEB90 */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[0]);
|
|
/* 02BCEB94 */ cpu->r[11] = cpu->r[11] + 0x0000013Cu;
|
|
/* 02BCEB98 */ _t54 = cpu->r[1] + 0x0000002Au;
|
|
/* 02BCEB98 */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[10]);
|
|
/* 02BCEB9C */ _t55 = cpu->r[1] + 0x00000028u;
|
|
/* 02BCEB9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BCEBA0 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BCEBA4 */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCEBA4 */ rbrew_write32(cpu->mem, _t56, cpu->r[11]);
|
|
/* 02BCEBA8 */ cpu->r[8] = cpu->r[8] + 0x00003F14u;
|
|
/* 02BCEBAC */ _t57 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCEBAC */ rbrew_write32(cpu->mem, _t57, cpu->r[11]);
|
|
/* 02BCEBB0 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BCEBB4 */ _t58 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCEBB4 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 02BCEBB8 */ _t59 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCEBB8 */ rbrew_write32(cpu->mem, _t59, cpu->r[8]);
|
|
L_02BCEBBC: ; // 0x2bcebbc
|
|
/* 02BCEBBC */ _t60 = cpu->r[1] + 0x00000054u;
|
|
/* 02BCEBBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BCEBC0 */ _t61 = cpu->r[1] + 0x00000048u;
|
|
/* 02BCEBC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BCEBC4 */ cpu->lr = cpu->r[0];
|
|
/* 02BCEBC8 */ _t62 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCEBC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCEBCC */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BCEBD0 */ return;
|
|
}
|
|
|
|
// fn_02BCEBD4 @ 0x2bcebd4
|
|
void Gambit_fn_02BCEBD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BCEBD4: ; // 0x2bcebd4
|
|
/* 02BCEBD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCEBD8 */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02BCEBD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCEBD8 */ cpu->r[1] = _t0;
|
|
/* 02BCEBDC */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02BCEBDC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BCEBE0 */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 02BCEBE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BCEBE4 */ _t3 = cpu->r[1] + 0x00000078u;
|
|
/* 02BCEBE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BCEBE8 */ _t4 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCEBE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BCEBEC */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCEBF0 */ _t5 = cpu->r[1] + 0x00000084u;
|
|
/* 02BCEBF0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BCEBF4 */ _t6 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BCEBF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCEBF4 */ cpu->r[30] = _t6;
|
|
/* 02BCEBF8 */ cpu->r[29] = cpu->r[6];
|
|
/* 02BCEBFC */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BCEC00 */ _t7 = cpu->r[10] + 0x00000004u;
|
|
/* 02BCEC00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCEC04 */ cpu->r[31] = cpu->r[31] + 0xFFFF94E7u;
|
|
/* 02BCEC08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000019u);
|
|
/* 02BCEC0C */ _t8 = cpu->r[12] + 0x00000074u;
|
|
/* 02BCEC0C */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCEC10 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCEC10 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCEC10 */ if (_t10) goto L_02BCEFA0; else goto L_02BCEC14;
|
|
L_02BCEC14: ; // 0x2bcec14
|
|
/* 02BCEC14 */ cpu->r[0] = 0x02BD0000u;
|
|
/* 02BCEC18 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCEC1C */ cpu->r[0] = cpu->r[0] + 0xFFFFEC2Cu;
|
|
/* 02BCEC20 */ cpu->r[0] = cpu->r[5] + cpu->r[0];
|
|
/* 02BCEC24 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCEC28 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02BCEFA0: ; // 0x2bcefa0
|
|
/* 02BCEFA0 */ _t11 = cpu->r[1] + 0x00000070u;
|
|
/* 02BCEFA0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCEFA4 */ _t12 = cpu->r[1] + 0x00000074u;
|
|
/* 02BCEFA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCEFA8 */ _t13 = cpu->r[1] + 0x00000084u;
|
|
/* 02BCEFA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCEFAC */ _t14 = cpu->r[1] + 0x00000078u;
|
|
/* 02BCEFAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCEFB0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCEFB4 */ _t15 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCEFB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCEFB8 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BCEFBC */ return;
|
|
}
|
|
|
|
// fn_02BCEBD8 @ 0x2bcebd8
|
|
void Gambit_fn_02BCEBD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BCEBD8: ; // 0x2bcebd8
|
|
/* 02BCEBD8 */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02BCEBD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCEBD8 */ cpu->r[1] = _t0;
|
|
/* 02BCEBDC */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02BCEBDC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BCEBE0 */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 02BCEBE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BCEBE4 */ _t3 = cpu->r[1] + 0x00000078u;
|
|
/* 02BCEBE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BCEBE8 */ _t4 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCEBE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BCEBEC */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BCEBF0 */ _t5 = cpu->r[1] + 0x00000084u;
|
|
/* 02BCEBF0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BCEBF4 */ _t6 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BCEBF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCEBF4 */ cpu->r[30] = _t6;
|
|
/* 02BCEBF8 */ cpu->r[29] = cpu->r[6];
|
|
/* 02BCEBFC */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BCEC00 */ _t7 = cpu->r[10] + 0x00000004u;
|
|
/* 02BCEC00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BCEC04 */ cpu->r[31] = cpu->r[31] + 0xFFFF94E7u;
|
|
/* 02BCEC08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000019u);
|
|
/* 02BCEC0C */ _t8 = cpu->r[12] + 0x00000074u;
|
|
/* 02BCEC0C */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BCEC10 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCEC10 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCEC10 */ if (_t10) goto L_02BCEFA0; else goto L_02BCEC14;
|
|
L_02BCEC14: ; // 0x2bcec14
|
|
/* 02BCEC14 */ cpu->r[0] = 0x02BD0000u;
|
|
/* 02BCEC18 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BCEC1C */ cpu->r[0] = cpu->r[0] + 0xFFFFEC2Cu;
|
|
/* 02BCEC20 */ cpu->r[0] = cpu->r[5] + cpu->r[0];
|
|
/* 02BCEC24 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCEC28 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02BCEFA0: ; // 0x2bcefa0
|
|
/* 02BCEFA0 */ _t11 = cpu->r[1] + 0x00000070u;
|
|
/* 02BCEFA0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCEFA4 */ _t12 = cpu->r[1] + 0x00000074u;
|
|
/* 02BCEFA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCEFA8 */ _t13 = cpu->r[1] + 0x00000084u;
|
|
/* 02BCEFA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCEFAC */ _t14 = cpu->r[1] + 0x00000078u;
|
|
/* 02BCEFAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCEFB0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCEFB4 */ _t15 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BCEFB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCEFB8 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BCEFBC */ return;
|
|
}
|
|
|
|
// fn_02BCEFC0 @ 0x2bcefc0
|
|
void Gambit_fn_02BCEFC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218;
|
|
|
|
L_02BCEFC0: ; // 0x2bcefc0
|
|
/* 02BCEFC0 */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02BCEFC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCEFC0 */ cpu->r[1] = _t0;
|
|
/* 02BCEFC4 */ /* nop */
|
|
/* 02BCEFC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCEFCC */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BCEFCC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCEFD0 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BCEFD4 */ _t2 = cpu->r[26] + 0xFFFFB6C4u;
|
|
/* 02BCEFD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BCEFD4 */ cpu->r[26] = _t2;
|
|
/* 02BCEFD8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BCEFDC */ _t3 = cpu->r[7] + 0x00000030u;
|
|
/* 02BCEFDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCEFE0 */ cpu->r[31] = 0x101A0000u;
|
|
/* 02BCEFE4 */ _t4 = cpu->r[28] + 0x00000040u;
|
|
/* 02BCEFE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCEFE8 */ cpu->r[31] = cpu->r[31] + 0x00003F64u;
|
|
/* 02BCEFEC */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BCEFF0 */ _t5 = cpu->r[7] + 0x00000034u;
|
|
/* 02BCEFF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCEFF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]);
|
|
/* 02BCEFF8 */ _t6 = cpu->r[28] + 0x00000044u;
|
|
/* 02BCEFF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCEFFC */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCEFFC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCEFFC */ if (_t8) goto L_02BCF078; else goto L_02BCF000;
|
|
L_02BCF000: ; // 0x2bcf000
|
|
/* 02BCF000 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCF000 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCF000 */ if (_t10) goto L_02BCF00C; else goto L_02BCF004;
|
|
L_02BCF004: ; // 0x2bcf004
|
|
/* 02BCF004 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02BCF008 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF008 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BCF008 */ if (_t12) goto L_02BCF078; else goto L_02BCF00C;
|
|
L_02BCF00C: ; // 0x2bcf00c
|
|
/* 02BCF00C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCF010 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCF014 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCF018 */ cpu->r[7] = 0xFD230000u;
|
|
/* 02BCF01C */ _t13 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BCF01C */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCF020 */ cpu->r[0] = cpu->r[7] + 0xFFFFA82Du;
|
|
/* 02BCF024 */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCF024 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02BCF028 */ _t15 = cpu->r[8] + 0x00000004u;
|
|
/* 02BCF028 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCF02C */ cpu->r[12] = 0x00000000u;
|
|
/* 02BCF030 */ _t16 = cpu->r[9] + 0x00000074u;
|
|
/* 02BCF030 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BCF034 */ _t17 = cpu->r[1] + 0x00000048u;
|
|
/* 02BCF034 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[12]);
|
|
/* 02BCF038 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BCF03C */ cpu->r[6] = 0x02BD0000u;
|
|
/* 02BCF040 */ _t18 = cpu->r[28] + 0x00000028u;
|
|
/* 02BCF040 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02BCF044 */ cpu->r[6] = cpu->r[6] + 0x000008FCu;
|
|
/* 02BCF048 */ _t19 = cpu->r[1] + 0x0000004Au;
|
|
/* 02BCF048 */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[0]);
|
|
/* 02BCF04C */ _t20 = cpu->r[1] + 0x00000048u;
|
|
/* 02BCF04C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BCF050 */ _t21 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCF050 */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 02BCF054 */ _t22 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BCF054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BCF058 */ _t23 = cpu->r[28] + 0x00000020u;
|
|
/* 02BCF058 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 02BCF05C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCF060 */ _t24 = cpu->r[28] + 0x00000024u;
|
|
/* 02BCF060 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02BCF064 */ /* nop */
|
|
/* 02BCF068 */ _t25 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BCF068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCF06C */ cpu->lr = cpu->r[0];
|
|
/* 02BCF070 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BCF074 */ return;
|
|
L_02BCF078: ; // 0x2bcf078
|
|
/* 02BCF078 */ _t26 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BCF078 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCF07C */ _t27 = cpu->r[6] + 0x0000005Cu;
|
|
/* 02BCF07C */ cpu->r[21] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BCF080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x0000001Fu);
|
|
/* 02BCF084 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF084 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BCF084 */ if (_t29) goto L_02BCF088; else goto L_02BCF0D0;
|
|
L_02BCF088: ; // 0x2bcf088
|
|
/* 02BCF088 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BCF08C */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BCF090 */ cpu->r[0] = 0x02BD0000u;
|
|
/* 02BCF094 */ _t30 = cpu->r[1] + 0x00000058u;
|
|
/* 02BCF094 */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[12]);
|
|
/* 02BCF098 */ cpu->r[0] = cpu->r[0] + 0x000008FCu;
|
|
/* 02BCF09C */ _t31 = cpu->r[1] + 0x0000005Au;
|
|
/* 02BCF09C */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[9]);
|
|
/* 02BCF0A0 */ _t32 = cpu->r[1] + 0x00000058u;
|
|
/* 02BCF0A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCF0A4 */ _t33 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BCF0A4 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02BCF0A8 */ _t34 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BCF0A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCF0AC */ _t35 = cpu->r[28] + 0x00000020u;
|
|
/* 02BCF0AC */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
|
|
/* 02BCF0B0 */ _t36 = cpu->r[28] + 0x00000024u;
|
|
/* 02BCF0B0 */ rbrew_write32(cpu->mem, _t36, cpu->r[9]);
|
|
/* 02BCF0B4 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02BCF0B4 */ rbrew_write32(cpu->mem, _t37, cpu->r[31]);
|
|
/* 02BCF0B8 */ /* nop */
|
|
/* 02BCF0BC */ _t38 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BCF0BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BCF0C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCF0C4 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BCF0C8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCF0CC */ return;
|
|
L_02BCF0D0: ; // 0x2bcf0d0
|
|
/* 02BCF0D0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BCF0D4 */ _t39 = cpu->r[28] + 0x000000A8u;
|
|
/* 02BCF0D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCF0D8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCF0DC */ _t40 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCF0DC */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[0]);
|
|
/* 02BCF0E0 */ cpu->r[11] = cpu->r[9] - cpu->r[5];
|
|
/* 02BCF0E4 */ _t41 = cpu->r[28] + 0x000000ACu;
|
|
/* 02BCF0E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCF0E8 */ cpu->r[0] = cpu->r[9] ^ cpu->r[5];
|
|
/* 02BCF0EC */ cpu->r[12] = cpu->r[11] - cpu->r[11];
|
|
/* 02BCF0F0 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF0F0 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[6]);
|
|
/* 02BCF0F4 */ cpu->r[7] = cpu->r[10] - cpu->r[7];
|
|
/* 02BCF0F8 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BCF0FC */ cpu->r[8] = cpu->r[7] - cpu->r[7];
|
|
/* 02BCF100 */ _t43 = cpu->r[1] + 0x00000009u;
|
|
/* 02BCF100 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[6]);
|
|
/* 02BCF104 */ cpu->r[10] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02BCF108 */ cpu->r[4] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BCF10C */ cpu->r[6] = (uint32_t)(-(int32_t)cpu->r[8]);
|
|
/* 02BCF110 */ _t44 = cpu->r[28] + 0x0000009Cu;
|
|
/* 02BCF110 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BCF114 */ cpu->r[9] = cpu->r[4] & cpu->r[6];
|
|
/* 02BCF118 */ cpu->r[25] = 0x00000000u;
|
|
/* 02BCF11C */ cpu->r[0] = cpu->r[10] | cpu->r[9];
|
|
/* 02BCF120 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[8]);
|
|
/* 02BCF124 */ cpu->r[24] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCF128 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCF128 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BCF128 */ if (_t46) goto L_02BCF12C; else goto L_02BCF590;
|
|
L_02BCF12C: ; // 0x2bcf12c
|
|
/* 02BCF12C */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BCF130 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BCF134 */ cpu->r[17] = 0xFD230000u;
|
|
/* 02BCF138 */ cpu->r[18] = 0xFD230000u;
|
|
/* 02BCF13C */ cpu->r[19] = 0xFD230000u;
|
|
/* 02BCF140 */ cpu->r[22] = 0xFD230000u;
|
|
/* 02BCF144 */ cpu->r[23] = 0xFD230000u;
|
|
/* 02BCF148 */ cpu->r[20] = 0xFD230000u;
|
|
/* 02BCF14C */ cpu->r[31] = cpu->r[31] + 0xFFFF94E7u;
|
|
/* 02BCF150 */ cpu->r[30] = cpu->r[29];
|
|
/* 02BCF154 */ cpu->r[17] = cpu->r[17] + 0xFFFF94EBu;
|
|
/* 02BCF158 */ cpu->r[18] = cpu->r[18] + 0xFFFF94ECu;
|
|
/* 02BCF15C */ cpu->r[19] = cpu->r[19] + 0xFFFF94EDu;
|
|
/* 02BCF160 */ cpu->r[20] = cpu->r[20] + 0xFFFF94F2u;
|
|
/* 02BCF164 */ cpu->r[23] = cpu->r[23] + 0xFFFFA82Du;
|
|
/* 02BCF168 */ cpu->r[22] = cpu->r[22] + 0xFFFFA424u;
|
|
L_02BCF16C: ; // 0x2bcf16c
|
|
/* 02BCF16C */ _t47 = cpu->r[28] + 0x00000088u;
|
|
/* 02BCF16C */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BCF170 */ _t48 = cpu->r[10] + cpu->r[29];
|
|
/* 02BCF170 */ cpu->r[6] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BCF174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[21]);
|
|
/* 02BCF178 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF178 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BCF178 */ if (_t50) goto L_02BCF538; else goto L_02BCF17C;
|
|
L_02BCF17C: ; // 0x2bcf17c
|
|
/* 02BCF17C */ _t51 = cpu->r[28] + 0x000000A0u;
|
|
/* 02BCF17C */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BCF180 */ _t52 = cpu->r[8] + cpu->r[25];
|
|
/* 02BCF180 */ cpu->r[5] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02BCF184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BCF188 */ cpu->r[4] = cpu->r[6];
|
|
/* 02BCF18C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF18C */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BCF18C */ if (_t54) goto L_02BCF1A4; else goto L_02BCF190;
|
|
L_02BCF190: ; // 0x2bcf190
|
|
/* 02BCF190 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BCF194 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCF198 */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BCF19C */ _t55 = cpu->r[28] + 0x0000009Cu;
|
|
/* 02BCF19C */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BCF1A0 */ goto L_02BCF538;
|
|
L_02BCF1A4: ; // 0x2bcf1a4
|
|
/* 02BCF1A4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BCF1A8 */ _t56 = cpu->r[11] + 0xFFFFB77Cu;
|
|
/* 02BCF1A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BCF1AC */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCF1B0 */ cpu->r[16] = cpu->r[3];
|
|
/* 02BCF1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 02BCF1B4 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF1B4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BCF1B4 */ if (_t58) goto L_02BCF1B8; else goto L_02BCF204;
|
|
L_02BCF1B8: ; // 0x2bcf1b8
|
|
/* 02BCF1B8 */ _t59 = cpu->r[28] + 0x00000084u;
|
|
/* 02BCF1B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BCF1BC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BCF1C0 */ _t60 = cpu->r[3] + 0xFFFFB790u;
|
|
/* 02BCF1C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BCF1C4 */ cpu->r[4] = cpu->r[5] + cpu->r[30];
|
|
/* 02BCF1C8 */ Gambit_fn_02BF84F0(cpu);
|
|
/* 02BCF1CC */ cpu->r[16] = cpu->r[3];
|
|
/* 02BCF1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 02BCF1D0 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF1D0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BCF1D0 */ if (_t62) goto L_02BCF204; else goto L_02BCF1D4;
|
|
L_02BCF1D4: ; // 0x2bcf1d4
|
|
/* 02BCF1D4 */ _t63 = cpu->r[16] + 0x00000024u;
|
|
/* 02BCF1D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BCF1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000005u);
|
|
/* 02BCF1DC */ _t64 = cpu->r[28] + 0x00000088u;
|
|
/* 02BCF1DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BCF1E0 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF1E0 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02BCF1E0 */ if (_t66) goto L_02BCF1E4; else goto L_02BCF1F8;
|
|
L_02BCF1E4: ; // 0x2bcf1e4
|
|
/* 02BCF1E4 */ _t67 = cpu->r[16] + 0x00000018u;
|
|
/* 02BCF1E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BCF1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BCF1EC */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF1EC */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BCF1EC */ if (_t69) goto L_02BCF1F0; else goto L_02BCF1F8;
|
|
L_02BCF1F0: ; // 0x2bcf1f0
|
|
/* 02BCF1F0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCF1F4 */ _t70 = cpu->r[1] + 0x00000009u;
|
|
/* 02BCF1F4 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[0]);
|
|
L_02BCF1F8: ; // 0x2bcf1f8
|
|
/* 02BCF1F8 */ _t71 = cpu->r[8] + cpu->r[29];
|
|
/* 02BCF1F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BCF1FC */ cpu->r[3] = cpu->r[16];
|
|
/* 02BCF200 */ Gambit_fn_02BF069C(cpu);
|
|
L_02BCF204: ; // 0x2bcf204
|
|
/* 02BCF204 */ _t72 = cpu->r[28] + 0x00000088u;
|
|
/* 02BCF204 */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BCF208 */ _t73 = cpu->r[12] + cpu->r[29];
|
|
/* 02BCF208 */ cpu->r[6] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BCF20C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCF210 */ cpu->r[4] = cpu->r[6];
|
|
/* 02BCF214 */ Gambit_fn_02BCE014(cpu);
|
|
/* 02BCF218 */ _t74 = cpu->r[28] + 0x00000080u;
|
|
/* 02BCF218 */ cpu->r[5] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BCF21C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[5]);
|
|
/* 02BCF220 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCF220 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02BCF220 */ if (_t76) goto L_02BCF224; else goto L_02BCF508;
|
|
L_02BCF224: ; // 0x2bcf224
|
|
/* 02BCF224 */ cpu->r[16] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000014u);
|
|
/* 02BCF228 */ _t77 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BCF228 */ cpu->r[9] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BCF22C */ _t78 = cpu->r[9] + cpu->r[16];
|
|
/* 02BCF22C */ cpu->r[8] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BCF230 */ cpu->r[5] = cpu->r[8] + 0xFFFFFFFEu;
|
|
/* 02BCF234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
|
|
/* 02BCF238 */ cpu->r[4] = cpu->r[9] + cpu->r[16];
|
|
/* 02BCF23C */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF23C */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BCF23C */ if (_t80) goto L_02BCF52C; else goto L_02BCF240;
|
|
L_02BCF240: ; // 0x2bcf240
|
|
/* 02BCF240 */ _t81 = cpu->r[4] + 0x00000004u;
|
|
/* 02BCF240 */ cpu->r[5] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BCF244 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCF244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BCF248 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF248 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02BCF248 */ if (_t83) goto L_02BCF4F4; else goto L_02BCF24C;
|
|
L_02BCF24C: ; // 0x2bcf24c
|
|
/* 02BCF24C */ _t84 = cpu->r[4] + 0x00000004u;
|
|
/* 02BCF24C */ cpu->r[14] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BCF250 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCF254 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCF258 */ cpu->r[15] = 0x00000011u;
|
|
/* 02BCF25C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCF260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[22]);
|
|
/* 02BCF264 */ _t85 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCF264 */ rbrew_write32(cpu->mem, _t85, cpu->r[22]);
|
|
/* 02BCF268 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF268 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02BCF268 */ if (_t87) goto L_02BCF464; else goto L_02BCF26C;
|
|
L_02BCF26C: ; // 0x2bcf26c
|
|
/* 02BCF26C */ _t88 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BCF26C */ cpu->r[8] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BCF270 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCF274 */ cpu->r[8] = cpu->r[8] + cpu->r[16];
|
|
/* 02BCF278 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCF27C */ _t89 = cpu->r[8] + 0x00000004u;
|
|
/* 02BCF27C */ cpu->r[14] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BCF280 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCF284 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[31]);
|
|
/* 02BCF288 */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCF288 */ rbrew_write32(cpu->mem, _t90, cpu->r[31]);
|
|
/* 02BCF28C */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF28C */ _t92 = _t91 & 0x00000001u;
|
|
/* 02BCF28C */ if (_t92) goto L_02BCF290; else goto L_02BCF2B8;
|
|
L_02BCF290: ; // 0x2bcf290
|
|
/* 02BCF290 */ _t93 = cpu->r[28] + 0x00000088u;
|
|
/* 02BCF290 */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BCF294 */ cpu->r[15] = 0x00000012u;
|
|
/* 02BCF298 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCF29C */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCF2A0 */ _t94 = cpu->r[9] + cpu->r[29];
|
|
/* 02BCF2A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BCF2A4 */ cpu->r[5] = cpu->r[15];
|
|
/* 02BCF2A8 */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BCF2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BCF2B0 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF2B0 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02BCF2B0 */ if (_t96) goto L_02BCF534; else goto L_02BCF2B4;
|
|
L_02BCF2B4: ; // 0x2bcf2b4
|
|
/* 02BCF2B4 */ goto L_02BCF484;
|
|
L_02BCF2B8: ; // 0x2bcf2b8
|
|
/* 02BCF2B8 */ _t97 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BCF2B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02BCF2BC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BCF2C0 */ cpu->r[12] = cpu->r[10] + cpu->r[16];
|
|
/* 02BCF2C4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCF2C8 */ _t98 = cpu->r[12] + 0x00000004u;
|
|
/* 02BCF2C8 */ cpu->r[14] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02BCF2CC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCF2D0 */ cpu->r[7] = 0xFD230000u;
|
|
/* 02BCF2D4 */ cpu->r[7] = cpu->r[7] + 0xFFFF94EAu;
|
|
/* 02BCF2D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[7]);
|
|
/* 02BCF2DC */ _t99 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCF2DC */ rbrew_write32(cpu->mem, _t99, cpu->r[7]);
|
|
/* 02BCF2E0 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF2E0 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02BCF2E0 */ if (_t101) goto L_02BCF2E4; else goto L_02BCF30C;
|
|
L_02BCF2E4: ; // 0x2bcf2e4
|
|
/* 02BCF2E4 */ _t102 = cpu->r[28] + 0x00000088u;
|
|
/* 02BCF2E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BCF2E8 */ cpu->r[15] = 0x00000013u;
|
|
/* 02BCF2EC */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCF2F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCF2F4 */ _t103 = cpu->r[9] + cpu->r[29];
|
|
/* 02BCF2F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BCF2F8 */ cpu->r[5] = cpu->r[15];
|
|
/* 02BCF2FC */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BCF300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BCF304 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF304 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02BCF304 */ if (_t105) goto L_02BCF534; else goto L_02BCF308;
|
|
L_02BCF308: ; // 0x2bcf308
|
|
/* 02BCF308 */ goto L_02BCF484;
|
|
L_02BCF30C: ; // 0x2bcf30c
|
|
/* 02BCF30C */ _t106 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BCF30C */ cpu->r[5] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02BCF310 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCF314 */ cpu->r[7] = cpu->r[5] + cpu->r[16];
|
|
/* 02BCF318 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCF31C */ _t107 = cpu->r[7] + 0x00000004u;
|
|
/* 02BCF31C */ cpu->r[14] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BCF320 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCF324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[17]);
|
|
/* 02BCF328 */ _t108 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCF328 */ rbrew_write32(cpu->mem, _t108, cpu->r[17]);
|
|
/* 02BCF32C */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF32C */ _t110 = _t109 & 0x00000001u;
|
|
/* 02BCF32C */ if (_t110) goto L_02BCF330; else goto L_02BCF358;
|
|
L_02BCF330: ; // 0x2bcf330
|
|
/* 02BCF330 */ _t111 = cpu->r[28] + 0x00000088u;
|
|
/* 02BCF330 */ cpu->r[9] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BCF334 */ cpu->r[15] = 0x00000015u;
|
|
/* 02BCF338 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCF33C */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCF340 */ _t112 = cpu->r[9] + cpu->r[29];
|
|
/* 02BCF340 */ cpu->r[4] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02BCF344 */ cpu->r[5] = cpu->r[15];
|
|
/* 02BCF348 */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BCF34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BCF350 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF350 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02BCF350 */ if (_t114) goto L_02BCF534; else goto L_02BCF354;
|
|
L_02BCF354: ; // 0x2bcf354
|
|
/* 02BCF354 */ goto L_02BCF484;
|
|
L_02BCF358: ; // 0x2bcf358
|
|
/* 02BCF358 */ _t115 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BCF358 */ cpu->r[7] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02BCF35C */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCF360 */ cpu->r[9] = cpu->r[7] + cpu->r[16];
|
|
/* 02BCF364 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCF368 */ _t116 = cpu->r[9] + 0x00000004u;
|
|
/* 02BCF368 */ cpu->r[14] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02BCF36C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCF370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[18]);
|
|
/* 02BCF374 */ _t117 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCF374 */ rbrew_write32(cpu->mem, _t117, cpu->r[18]);
|
|
/* 02BCF378 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF378 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02BCF378 */ if (_t119) goto L_02BCF37C; else goto L_02BCF3A4;
|
|
L_02BCF37C: ; // 0x2bcf37c
|
|
/* 02BCF37C */ _t120 = cpu->r[28] + 0x00000088u;
|
|
/* 02BCF37C */ cpu->r[9] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02BCF380 */ cpu->r[15] = 0x00000016u;
|
|
/* 02BCF384 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCF388 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCF38C */ _t121 = cpu->r[9] + cpu->r[29];
|
|
/* 02BCF38C */ cpu->r[4] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02BCF390 */ cpu->r[5] = cpu->r[15];
|
|
/* 02BCF394 */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BCF398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BCF39C */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF39C */ _t123 = _t122 & 0x00000001u;
|
|
/* 02BCF39C */ if (_t123) goto L_02BCF534; else goto L_02BCF3A0;
|
|
L_02BCF3A0: ; // 0x2bcf3a0
|
|
/* 02BCF3A0 */ goto L_02BCF484;
|
|
L_02BCF3A4: ; // 0x2bcf3a4
|
|
/* 02BCF3A4 */ _t124 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BCF3A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02BCF3A8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCF3AC */ cpu->r[10] = cpu->r[11] + cpu->r[16];
|
|
/* 02BCF3B0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCF3B4 */ _t125 = cpu->r[10] + 0x00000004u;
|
|
/* 02BCF3B4 */ cpu->r[14] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02BCF3B8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCF3BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[19]);
|
|
/* 02BCF3C0 */ _t126 = cpu->r[1] + 0x00000020u;
|
|
/* 02BCF3C0 */ rbrew_write32(cpu->mem, _t126, cpu->r[19]);
|
|
/* 02BCF3C4 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF3C4 */ _t128 = _t127 & 0x00000001u;
|
|
/* 02BCF3C4 */ if (_t128) goto L_02BCF3C8; else goto L_02BCF3F0;
|
|
L_02BCF3C8: ; // 0x2bcf3c8
|
|
/* 02BCF3C8 */ _t129 = cpu->r[28] + 0x00000088u;
|
|
/* 02BCF3C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02BCF3CC */ cpu->r[15] = 0x00000017u;
|
|
/* 02BCF3D0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCF3D4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCF3D8 */ _t130 = cpu->r[9] + cpu->r[29];
|
|
/* 02BCF3D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02BCF3DC */ cpu->r[5] = cpu->r[15];
|
|
/* 02BCF3E0 */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BCF3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BCF3E8 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF3E8 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02BCF3E8 */ if (_t132) goto L_02BCF534; else goto L_02BCF3EC;
|
|
L_02BCF3EC: ; // 0x2bcf3ec
|
|
/* 02BCF3EC */ goto L_02BCF484;
|
|
L_02BCF3F0: ; // 0x2bcf3f0
|
|
/* 02BCF3F0 */ _t133 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BCF3F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02BCF3F4 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BCF3F8 */ cpu->r[6] = cpu->r[12] + cpu->r[16];
|
|
/* 02BCF3FC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCF400 */ _t134 = cpu->r[6] + 0x00000004u;
|
|
/* 02BCF400 */ cpu->r[14] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02BCF404 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCF408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[20]);
|
|
/* 02BCF40C */ _t135 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCF40C */ rbrew_write32(cpu->mem, _t135, cpu->r[20]);
|
|
/* 02BCF410 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF410 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02BCF410 */ if (_t137) goto L_02BCF414; else goto L_02BCF43C;
|
|
L_02BCF414: ; // 0x2bcf414
|
|
/* 02BCF414 */ _t138 = cpu->r[28] + 0x00000088u;
|
|
/* 02BCF414 */ cpu->r[9] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02BCF418 */ cpu->r[15] = 0x00000018u;
|
|
/* 02BCF41C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCF420 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCF424 */ _t139 = cpu->r[9] + cpu->r[29];
|
|
/* 02BCF424 */ cpu->r[4] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BCF428 */ cpu->r[5] = cpu->r[15];
|
|
/* 02BCF42C */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BCF430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BCF434 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF434 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02BCF434 */ if (_t141) goto L_02BCF534; else goto L_02BCF438;
|
|
L_02BCF438: ; // 0x2bcf438
|
|
/* 02BCF438 */ goto L_02BCF484;
|
|
L_02BCF43C: ; // 0x2bcf43c
|
|
/* 02BCF43C */ _t142 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BCF43C */ cpu->r[6] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02BCF440 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BCF444 */ cpu->r[5] = cpu->r[6] + cpu->r[16];
|
|
/* 02BCF448 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCF44C */ _t143 = cpu->r[5] + 0x00000004u;
|
|
/* 02BCF44C */ cpu->r[16] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02BCF450 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCF454 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[23]);
|
|
/* 02BCF458 */ _t144 = cpu->r[1] + 0x00000028u;
|
|
/* 02BCF458 */ rbrew_write32(cpu->mem, _t144, cpu->r[23]);
|
|
/* 02BCF45C */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF45C */ _t146 = _t145 & 0x00000001u;
|
|
/* 02BCF45C */ if (_t146) goto L_02BCF460; else goto L_02BCF464;
|
|
L_02BCF460: ; // 0x2bcf460
|
|
/* 02BCF460 */ cpu->r[15] = 0x00000019u;
|
|
L_02BCF464: ; // 0x2bcf464
|
|
/* 02BCF464 */ _t147 = cpu->r[28] + 0x00000088u;
|
|
/* 02BCF464 */ cpu->r[9] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02BCF468 */ cpu->r[5] = cpu->r[15];
|
|
/* 02BCF46C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCF470 */ _t148 = cpu->r[9] + cpu->r[29];
|
|
/* 02BCF470 */ cpu->r[4] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02BCF474 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCF478 */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BCF47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BCF480 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF480 */ _t150 = _t149 & 0x00000001u;
|
|
/* 02BCF480 */ if (_t150) goto L_02BCF534; else goto L_02BCF484;
|
|
L_02BCF484: ; // 0x2bcf484
|
|
/* 02BCF484 */ _t151 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BCF484 */ cpu->r[10] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02BCF488 */ _t152 = cpu->r[28] + 0x00000088u;
|
|
/* 02BCF488 */ cpu->r[11] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02BCF48C */ _t153 = cpu->r[10] + 0x00000058u;
|
|
/* 02BCF48C */ cpu->r[4] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02BCF490 */ _t154 = cpu->r[11] + cpu->r[29];
|
|
/* 02BCF490 */ cpu->r[5] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02BCF494 */ cpu->r[6] = cpu->r[21];
|
|
/* 02BCF498 */ _t155 = cpu->r[10] + 0x00000048u;
|
|
/* 02BCF498 */ cpu->r[3] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02BCF49C */ _t156 = cpu->r[28] + 0x000000B8u;
|
|
/* 02BCF49C */ cpu->r[8] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02BCF4A0 */ cpu->r[7] = cpu->r[15];
|
|
/* 02BCF4A4 */ Gambit_fn_02BC6574(cpu);
|
|
/* 02BCF4A8 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCF4AC */ _t157 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCF4AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02BCF4B0 */ cpu->r[4] = 0x000001F4u;
|
|
/* 02BCF4B4 */ _t158 = cpu->r[26] + 0x00000000u;
|
|
/* 02BCF4B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02BCF4B8 */ /* nop */
|
|
/* 02BCF4BC */ _t159 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCF4BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02BCF4C0 */ _t160 = cpu->r[9] + 0x00000034u;
|
|
/* 02BCF4C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02BCF4C4 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x000001F4u);
|
|
/* 02BCF4C8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x000001F4u);
|
|
/* 02BCF4CC */ cpu->r[7] = cpu->r[12] + cpu->r[5];
|
|
/* 02BCF4D0 */ _t161 = cpu->r[9] + 0x00000030u;
|
|
/* 02BCF4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02BCF4D4 */ cpu->r[12] = cpu->r[6] + cpu->r[10];
|
|
/* 02BCF4D8 */ _t162 = cpu->r[28] + 0x0000009Cu;
|
|
/* 02BCF4D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02BCF4DC */ cpu->r[11] = cpu->r[0] + cpu->r[7];
|
|
/* 02BCF4E0 */ _t163 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCF4E0 */ rbrew_write32(cpu->mem, _t163, cpu->r[12]);
|
|
/* 02BCF4E4 */ _t164 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCF4E4 */ rbrew_write32(cpu->mem, _t164, cpu->r[11]);
|
|
/* 02BCF4E8 */ _t165 = cpu->r[28] + 0x000000A8u;
|
|
/* 02BCF4E8 */ rbrew_write32(cpu->mem, _t165, cpu->r[11]);
|
|
/* 02BCF4EC */ _t166 = cpu->r[28] + 0x000000ACu;
|
|
/* 02BCF4EC */ rbrew_write32(cpu->mem, _t166, cpu->r[12]);
|
|
/* 02BCF4F0 */ goto L_02BCF538;
|
|
L_02BCF4F4: ; // 0x2bcf4f4
|
|
/* 02BCF4F4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BCF4F8 */ cpu->r[4] = cpu->r[6];
|
|
/* 02BCF4FC */ Gambit_fn_02BCE024(cpu);
|
|
/* 02BCF500 */ _t167 = cpu->r[28] + 0x0000009Cu;
|
|
/* 02BCF500 */ cpu->r[8] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02BCF504 */ goto L_02BCF538;
|
|
L_02BCF508: ; // 0x2bcf508
|
|
/* 02BCF508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 02BCF50C */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF50C */ _t169 = _t168 & 0x00000001u;
|
|
/* 02BCF50C */ if (_t169) goto L_02BCF510; else goto L_02BCF520;
|
|
L_02BCF510: ; // 0x2bcf510
|
|
/* 02BCF510 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BCF514 */ _t170 = cpu->r[28] + 0x0000009Cu;
|
|
/* 02BCF514 */ cpu->r[8] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02BCF518 */ _t171 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF518 */ rbrew_write8(cpu->mem, _t171, (uint8_t)cpu->r[0]);
|
|
/* 02BCF51C */ goto L_02BCF538;
|
|
L_02BCF520: ; // 0x2bcf520
|
|
/* 02BCF520 */ _t172 = cpu->r[16] + 0x00000024u;
|
|
/* 02BCF520 */ cpu->r[10] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02BCF524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000005u);
|
|
/* 02BCF528 */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF528 */ _t174 = _t173 & 0x00000001u;
|
|
/* 02BCF528 */ if (_t174) goto L_02BCF534; else goto L_02BCF52C;
|
|
L_02BCF52C: ; // 0x2bcf52c
|
|
/* 02BCF52C */ cpu->r[7] = 0x00000001u;
|
|
/* 02BCF530 */ _t175 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCF530 */ rbrew_write8(cpu->mem, _t175, (uint8_t)cpu->r[7]);
|
|
L_02BCF534: ; // 0x2bcf534
|
|
/* 02BCF534 */ _t176 = cpu->r[28] + 0x0000009Cu;
|
|
/* 02BCF534 */ cpu->r[8] = rbrew_read32(cpu->mem, _t176);
|
|
L_02BCF538: ; // 0x2bcf538
|
|
/* 02BCF538 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02BCF53C */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02BCF540 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[8]);
|
|
/* 02BCF544 */ cpu->r[30] = cpu->r[30] + 0x00000068u;
|
|
/* 02BCF548 */ _t177 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCF548 */ _t178 = _t177 & 0x00000001u;
|
|
/* 02BCF548 */ if (_t178) goto L_02BCF16C; else goto L_02BCF54C;
|
|
L_02BCF54C: ; // 0x2bcf54c
|
|
/* 02BCF54C */ _t179 = cpu->r[1] + 0x00000009u;
|
|
/* 02BCF54C */ cpu->r[4] = rbrew_read8(cpu->mem, _t179);
|
|
/* 02BCF550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BCF554 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF554 */ _t181 = _t180 & 0x00000001u;
|
|
/* 02BCF554 */ if (_t181) goto L_02BCF564; else goto L_02BCF558;
|
|
L_02BCF558: ; // 0x2bcf558
|
|
/* 02BCF558 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BCF55C */ _t182 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BCF55C */ cpu->r[3] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02BCF560 */ Gambit_fn_02BEDC48(cpu);
|
|
L_02BCF564: ; // 0x2bcf564
|
|
/* 02BCF564 */ _t183 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BCF564 */ cpu->r[0] = rbrew_read8(cpu->mem, _t183);
|
|
/* 02BCF568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BCF56C */ _t184 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF56C */ _t185 = _t184 & 0x00000001u;
|
|
/* 02BCF56C */ if (_t185) goto L_02BCF590; else goto L_02BCF570;
|
|
L_02BCF570: ; // 0x2bcf570
|
|
/* 02BCF570 */ /* nop */
|
|
/* 02BCF574 */ cpu->r[11] = 0x00000005u;
|
|
/* 02BCF578 */ _t186 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BCF578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t186);
|
|
/* 02BCF57C */ _t187 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCF57C */ _t188 = cpu->r[4] & 0x00FFFFFFu;
|
|
/* 02BCF57C */ cpu->r[4] = _t188 | _t187;
|
|
/* 02BCF580 */ cpu->lr = cpu->r[0];
|
|
/* 02BCF584 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BCF588 */ cpu->r[3] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCF58C */ return;
|
|
L_02BCF590: ; // 0x2bcf590
|
|
/* 02BCF590 */ _t189 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF590 */ cpu->r[4] = rbrew_read8(cpu->mem, _t189);
|
|
/* 02BCF594 */ _t190 = cpu->r[26] + 0x00000000u;
|
|
/* 02BCF594 */ cpu->r[7] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02BCF598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BCF59C */ cpu->r[9] = cpu->r[7] + 0x00000030u;
|
|
/* 02BCF5A0 */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF5A0 */ _t192 = _t191 & 0x00000001u;
|
|
/* 02BCF5A0 */ if (_t192) goto L_02BCF5E8; else goto L_02BCF5A4;
|
|
L_02BCF5A4: ; // 0x2bcf5a4
|
|
/* 02BCF5A4 */ _t193 = cpu->r[28] + 0x00000050u;
|
|
/* 02BCF5A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t193);
|
|
/* 02BCF5A8 */ _t194 = cpu->r[9] + 0x00000000u;
|
|
/* 02BCF5A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02BCF5AC */ _t195 = cpu->r[28] + 0x00000054u;
|
|
/* 02BCF5AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02BCF5B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[4]);
|
|
/* 02BCF5B4 */ _t196 = cpu->r[9] + 0x00000004u;
|
|
/* 02BCF5B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t196);
|
|
/* 02BCF5B8 */ _t197 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCF5B8 */ _t198 = _t197 & 0x00000001u;
|
|
/* 02BCF5B8 */ if (_t198) goto L_02BCF5E8; else goto L_02BCF5BC;
|
|
L_02BCF5BC: ; // 0x2bcf5bc
|
|
/* 02BCF5BC */ _t199 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF5BC */ _t200 = _t199 & 0x00000001u;
|
|
/* 02BCF5BC */ if (_t200) goto L_02BCF5C8; else goto L_02BCF5C0;
|
|
L_02BCF5C0: ; // 0x2bcf5c0
|
|
/* 02BCF5C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02BCF5C4 */ _t201 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF5C4 */ _t202 = _t201 & 0x00000001u;
|
|
/* 02BCF5C4 */ if (_t202) goto L_02BCF5C8; else goto L_02BCF5E8;
|
|
L_02BCF5C8: ; // 0x2bcf5c8
|
|
/* 02BCF5C8 */ /* nop */
|
|
/* 02BCF5CC */ cpu->r[0] = 0x00000005u;
|
|
/* 02BCF5D0 */ _t203 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCF5D0 */ _t204 = cpu->r[5] & 0x00FFFFFFu;
|
|
/* 02BCF5D0 */ cpu->r[5] = _t204 | _t203;
|
|
/* 02BCF5D4 */ _t205 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BCF5D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t205);
|
|
/* 02BCF5D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BCF5DC */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BCF5E0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCF5E4 */ return;
|
|
L_02BCF5E8: ; // 0x2bcf5e8
|
|
/* 02BCF5E8 */ _t206 = cpu->r[9] + 0x00000000u;
|
|
/* 02BCF5E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t206);
|
|
/* 02BCF5EC */ cpu->r[10] = 0x00000000u;
|
|
/* 02BCF5F0 */ _t207 = cpu->r[9] + 0x00000004u;
|
|
/* 02BCF5F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02BCF5F4 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BCF5F8 */ _t208 = cpu->r[28] + 0x00000050u;
|
|
/* 02BCF5F8 */ rbrew_write32(cpu->mem, _t208, cpu->r[11]);
|
|
/* 02BCF5FC */ cpu->r[0] = 0x02BD0000u;
|
|
/* 02BCF600 */ _t209 = cpu->r[28] + 0x00000054u;
|
|
/* 02BCF600 */ rbrew_write32(cpu->mem, _t209, cpu->r[12]);
|
|
/* 02BCF604 */ cpu->r[0] = cpu->r[0] + 0xFFFFF6C4u;
|
|
/* 02BCF608 */ _t210 = cpu->r[1] + 0x00000038u;
|
|
/* 02BCF608 */ rbrew_write16(cpu->mem, _t210, (uint16_t)cpu->r[10]);
|
|
/* 02BCF60C */ cpu->r[4] = 0x101A0000u;
|
|
/* 02BCF610 */ _t211 = cpu->r[1] + 0x0000003Au;
|
|
/* 02BCF610 */ rbrew_write16(cpu->mem, _t211, (uint16_t)cpu->r[7]);
|
|
/* 02BCF614 */ _t212 = cpu->r[1] + 0x00000038u;
|
|
/* 02BCF614 */ cpu->r[6] = rbrew_read32(cpu->mem, _t212);
|
|
/* 02BCF618 */ cpu->r[4] = cpu->r[4] + 0x00003F88u;
|
|
/* 02BCF61C */ _t213 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCF61C */ rbrew_write32(cpu->mem, _t213, cpu->r[0]);
|
|
/* 02BCF620 */ _t214 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BCF620 */ cpu->r[8] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02BCF624 */ _t215 = cpu->r[28] + 0x00000028u;
|
|
/* 02BCF624 */ rbrew_write32(cpu->mem, _t215, cpu->r[4]);
|
|
/* 02BCF628 */ _t216 = cpu->r[28] + 0x00000024u;
|
|
/* 02BCF628 */ rbrew_write32(cpu->mem, _t216, cpu->r[8]);
|
|
/* 02BCF62C */ _t217 = cpu->r[28] + 0x00000020u;
|
|
/* 02BCF62C */ rbrew_write32(cpu->mem, _t217, cpu->r[6]);
|
|
/* 02BCF630 */ /* nop */
|
|
/* 02BCF634 */ _t218 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BCF634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02BCF638 */ cpu->lr = cpu->r[0];
|
|
/* 02BCF63C */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BCF640 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCF644 */ return;
|
|
}
|
|
|
|
// fn_02BCF648 @ 0x2bcf648
|
|
void Gambit_fn_02BCF648(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BCF648: ; // 0x2bcf648
|
|
/* 02BCF648 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCF64C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCF64C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCF64C */ cpu->r[1] = _t0;
|
|
/* 02BCF650 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF650 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCF654 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCF658 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCF658 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCF65C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCF660 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCF660 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCF664 */ _t4 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCF664 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCF668 */ _t5 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BCF668 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCF66C */ _t6 = cpu->r[12] + 0x00000048u;
|
|
/* 02BCF66C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCF670 */ cpu->r[31] = cpu->r[11] + 0x00000001u;
|
|
/* 02BCF674 */ cpu->r[7] = cpu->r[6];
|
|
/* 02BCF678 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BCF67C */ Gambit_fn_02BC8834(cpu);
|
|
/* 02BCF680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCF684 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF684 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCF684 */ if (_t8) goto L_02BCF6A8; else goto L_02BCF688;
|
|
L_02BCF688: ; // 0x2bcf688
|
|
/* 02BCF688 */ _t9 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BCF688 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02BCF68C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCF68C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCF690 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF690 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCF694 */ cpu->lr = cpu->r[0];
|
|
/* 02BCF698 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCF698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCF69C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCF6A0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCF6A4 */ return;
|
|
L_02BCF6A8: ; // 0x2bcf6a8
|
|
/* 02BCF6A8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCF6A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCF6AC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF6AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCF6B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCF6B4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCF6B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCF6B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCF6BC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCF6C0 */ return;
|
|
}
|
|
|
|
// fn_02BCF64C @ 0x2bcf64c
|
|
void Gambit_fn_02BCF64C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BCF64C: ; // 0x2bcf64c
|
|
/* 02BCF64C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BCF64C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCF64C */ cpu->r[1] = _t0;
|
|
/* 02BCF650 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF650 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BCF654 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCF658 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCF658 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BCF65C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BCF660 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCF660 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BCF664 */ _t4 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BCF664 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCF668 */ _t5 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BCF668 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCF66C */ _t6 = cpu->r[12] + 0x00000048u;
|
|
/* 02BCF66C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCF670 */ cpu->r[31] = cpu->r[11] + 0x00000001u;
|
|
/* 02BCF674 */ cpu->r[7] = cpu->r[6];
|
|
/* 02BCF678 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BCF67C */ Gambit_fn_02BC8834(cpu);
|
|
/* 02BCF680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCF684 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF684 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCF684 */ if (_t8) goto L_02BCF6A8; else goto L_02BCF688;
|
|
L_02BCF688: ; // 0x2bcf688
|
|
/* 02BCF688 */ _t9 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BCF688 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02BCF68C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCF68C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BCF690 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF690 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BCF694 */ cpu->lr = cpu->r[0];
|
|
/* 02BCF698 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCF698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BCF69C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCF6A0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BCF6A4 */ return;
|
|
L_02BCF6A8: ; // 0x2bcf6a8
|
|
/* 02BCF6A8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCF6A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCF6AC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF6AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BCF6B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BCF6B4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCF6B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCF6B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCF6BC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BCF6C0 */ return;
|
|
}
|
|
|
|
// fn_02BCF6C4 @ 0x2bcf6c4
|
|
void Gambit_fn_02BCF6C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BCF6C4: ; // 0x2bcf6c4
|
|
/* 02BCF6C4 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02BCF6C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCF6C4 */ cpu->r[1] = _t0;
|
|
/* 02BCF6C8 */ /* nop */
|
|
/* 02BCF6CC */ cpu->r[0] = cpu->lr;
|
|
/* 02BCF6D0 */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 02BCF6D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCF6D4 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BCF6D8 */ _t2 = cpu->r[28] + 0xFFFFB6C4u;
|
|
/* 02BCF6D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BCF6D8 */ cpu->r[28] = _t2;
|
|
/* 02BCF6DC */ cpu->r[30] = 0x101A0000u;
|
|
/* 02BCF6E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BCF6E4 */ _t3 = cpu->r[8] + 0x00000030u;
|
|
/* 02BCF6E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCF6E8 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BCF6EC */ _t4 = cpu->r[31] + 0x00000040u;
|
|
/* 02BCF6EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCF6F0 */ cpu->r[30] = cpu->r[30] + 0x00003FB4u;
|
|
/* 02BCF6F4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCF6F8 */ _t5 = cpu->r[31] + 0x00000044u;
|
|
/* 02BCF6F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCF6FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[7]);
|
|
/* 02BCF700 */ _t6 = cpu->r[8] + 0x00000034u;
|
|
/* 02BCF700 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCF704 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF704 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCF704 */ if (_t8) goto L_02BCF780; else goto L_02BCF708;
|
|
L_02BCF708: ; // 0x2bcf708
|
|
/* 02BCF708 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCF708 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCF708 */ if (_t10) goto L_02BCF714; else goto L_02BCF70C;
|
|
L_02BCF70C: ; // 0x2bcf70c
|
|
/* 02BCF70C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BCF710 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF710 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BCF710 */ if (_t12) goto L_02BCF780; else goto L_02BCF714;
|
|
L_02BCF714: ; // 0x2bcf714
|
|
/* 02BCF714 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCF718 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCF71C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCF720 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BCF724 */ _t13 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BCF724 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCF728 */ cpu->r[0] = cpu->r[0] | 0x0000A82Du;
|
|
/* 02BCF72C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCF72C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02BCF730 */ _t15 = cpu->r[11] + 0x00000004u;
|
|
/* 02BCF730 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCF734 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BCF738 */ cpu->r[9] = 0x02BD0000u;
|
|
/* 02BCF73C */ _t16 = cpu->r[6] + 0x00000074u;
|
|
/* 02BCF73C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BCF740 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BCF744 */ _t17 = cpu->r[1] + 0x00000012u;
|
|
/* 02BCF744 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[10]);
|
|
/* 02BCF748 */ cpu->r[9] = cpu->r[9] + 0x000008FCu;
|
|
/* 02BCF74C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCF74C */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[11]);
|
|
/* 02BCF750 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCF750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCF754 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCF754 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 02BCF758 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCF758 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCF75C */ _t22 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCF75C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02BCF760 */ _t23 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCF760 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 02BCF764 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCF768 */ _t24 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCF768 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02BCF76C */ /* nop */
|
|
/* 02BCF770 */ _t25 = cpu->r[1] + 0x00000064u;
|
|
/* 02BCF770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCF774 */ cpu->lr = cpu->r[0];
|
|
/* 02BCF778 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02BCF77C */ return;
|
|
L_02BCF780: ; // 0x2bcf780
|
|
/* 02BCF780 */ _t26 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BCF780 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCF784 */ _t27 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BCF784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BCF788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BCF78C */ _t28 = cpu->r[12] + 0x00000058u;
|
|
/* 02BCF78C */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BCF790 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF790 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BCF790 */ if (_t30) goto L_02BCF79C; else goto L_02BCF794;
|
|
L_02BCF794: ; // 0x2bcf794
|
|
/* 02BCF794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BCF798 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF798 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BCF798 */ if (_t32) goto L_02BCF79C; else goto L_02BCF7E4;
|
|
L_02BCF79C: ; // 0x2bcf79c
|
|
/* 02BCF79C */ cpu->r[8] = 0x00000000u;
|
|
/* 02BCF7A0 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02BCF7A4 */ cpu->r[0] = 0x02BD0000u;
|
|
/* 02BCF7A8 */ _t33 = cpu->r[1] + 0x00000020u;
|
|
/* 02BCF7A8 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[8]);
|
|
/* 02BCF7AC */ cpu->r[0] = cpu->r[0] + 0x000008FCu;
|
|
/* 02BCF7B0 */ _t34 = cpu->r[1] + 0x00000022u;
|
|
/* 02BCF7B0 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[6]);
|
|
/* 02BCF7B4 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02BCF7B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BCF7B8 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCF7B8 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02BCF7BC */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCF7BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BCF7C0 */ _t38 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCF7C0 */ rbrew_write32(cpu->mem, _t38, cpu->r[6]);
|
|
/* 02BCF7C4 */ _t39 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCF7C4 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02BCF7C8 */ _t40 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCF7C8 */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 02BCF7CC */ /* nop */
|
|
/* 02BCF7D0 */ _t41 = cpu->r[1] + 0x00000064u;
|
|
/* 02BCF7D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCF7D4 */ cpu->lr = cpu->r[0];
|
|
/* 02BCF7D8 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02BCF7DC */ cpu->r[3] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCF7E0 */ return;
|
|
L_02BCF7E4: ; // 0x2bcf7e4
|
|
/* 02BCF7E4 */ _t42 = cpu->r[31] + 0x000000B8u;
|
|
/* 02BCF7E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BCF7E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BCF7EC */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF7EC */ rbrew_write32(cpu->mem, _t43, cpu->r[6]);
|
|
/* 02BCF7F0 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF7F4 */ Gambit_fn_02BCF648(cpu);
|
|
/* 02BCF7F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCF7FC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF7FC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BCF7FC */ if (_t45) goto L_02BCF800; else goto L_02BCF8C4;
|
|
L_02BCF800: ; // 0x2bcf800
|
|
/* 02BCF800 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF800 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BCF804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BCF808 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF808 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BCF808 */ if (_t48) goto L_02BCF8F8; else goto L_02BCF80C;
|
|
L_02BCF80C: ; // 0x2bcf80c
|
|
/* 02BCF80C */ _t49 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCF80C */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BCF810 */ _t50 = cpu->r[31] + 0x00000050u;
|
|
/* 02BCF810 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BCF814 */ _t51 = cpu->r[5] + 0x00000030u;
|
|
/* 02BCF814 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BCF818 */ _t52 = cpu->r[31] + 0x00000054u;
|
|
/* 02BCF818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BCF81C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 02BCF820 */ _t53 = cpu->r[5] + 0x00000034u;
|
|
/* 02BCF820 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BCF824 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF824 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BCF824 */ if (_t55) goto L_02BCF8F8; else goto L_02BCF828;
|
|
L_02BCF828: ; // 0x2bcf828
|
|
/* 02BCF828 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCF828 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BCF828 */ if (_t57) goto L_02BCF834; else goto L_02BCF82C;
|
|
L_02BCF82C: ; // 0x2bcf82c
|
|
/* 02BCF82C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02BCF830 */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF830 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BCF830 */ if (_t59) goto L_02BCF8F8; else goto L_02BCF834;
|
|
L_02BCF834: ; // 0x2bcf834
|
|
/* 02BCF834 */ cpu->r[30] = 0x00000020u;
|
|
/* 02BCF838 */ cpu->r[29] = 0x00000000u;
|
|
L_02BCF83C: ; // 0x2bcf83c
|
|
/* 02BCF83C */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCF83C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BCF840 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF840 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BCF840 */ if (_t61) goto L_02BCF858; else goto L_02BCF844;
|
|
L_02BCF844: ; // 0x2bcf844
|
|
/* 02BCF844 */ _t62 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BCF844 */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCF848 */ _t63 = cpu->r[7] + 0x00000048u;
|
|
/* 02BCF848 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BCF84C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BCF850 */ Gambit_fn_02BC9028(cpu);
|
|
/* 02BCF854 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF854 */ cpu->r[7] = rbrew_read32(cpu->mem, _t64);
|
|
L_02BCF858: ; // 0x2bcf858
|
|
/* 02BCF858 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02BCF858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BCF85C */ _t65 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCF85C */ rbrew_write32(cpu->mem, _t65, cpu->r[7]);
|
|
/* 02BCF860 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF860 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02BCF860 */ if (_t67) goto L_02BCF870; else goto L_02BCF864;
|
|
L_02BCF864: ; // 0x2bcf864
|
|
/* 02BCF864 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BCF864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BCF868 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02BCF86C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCF86C */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BCF86C */ if (_t69) goto L_02BCF870; else goto L_02BCF83C;
|
|
L_02BCF870: ; // 0x2bcf870
|
|
/* 02BCF870 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCF874 */ _t70 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCF874 */ cpu->r[5] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BCF878 */ cpu->r[9] = 0x0000012Cu;
|
|
/* 02BCF87C */ _t71 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCF87C */ cpu->r[7] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BCF880 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000012Cu);
|
|
/* 02BCF884 */ _t72 = cpu->r[28] + 0x00000000u;
|
|
/* 02BCF884 */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BCF888 */ /* nop */
|
|
/* 02BCF88C */ _t73 = cpu->r[12] + 0x00000030u;
|
|
/* 02BCF88C */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BCF890 */ _t74 = cpu->r[12] + 0x00000034u;
|
|
/* 02BCF890 */ cpu->r[11] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BCF894 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000012Cu);
|
|
/* 02BCF898 */ cpu->r[0] = cpu->r[8] + cpu->r[10];
|
|
/* 02BCF89C */ cpu->r[6] = cpu->r[11] + cpu->r[12];
|
|
/* 02BCF8A0 */ cpu->r[5] = cpu->r[9] + cpu->r[0];
|
|
/* 02BCF8A4 */ _t75 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCF8A4 */ rbrew_write32(cpu->mem, _t75, cpu->r[6]);
|
|
/* 02BCF8A8 */ _t76 = cpu->r[1] + 0x00000040u;
|
|
/* 02BCF8A8 */ rbrew_write32(cpu->mem, _t76, cpu->r[5]);
|
|
/* 02BCF8AC */ cpu->r[7] = 0x00000005u;
|
|
/* 02BCF8B0 */ _t77 = cpu->r[31] + 0x00000050u;
|
|
/* 02BCF8B0 */ rbrew_write32(cpu->mem, _t77, cpu->r[5]);
|
|
/* 02BCF8B4 */ _t78 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCF8B4 */ _t79 = cpu->r[5] & 0x00FFFFFFu;
|
|
/* 02BCF8B4 */ cpu->r[5] = _t79 | _t78;
|
|
/* 02BCF8B8 */ _t80 = cpu->r[31] + 0x00000054u;
|
|
/* 02BCF8B8 */ rbrew_write32(cpu->mem, _t80, cpu->r[6]);
|
|
/* 02BCF8BC */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCF8C0 */ goto L_02BCF904;
|
|
L_02BCF8C4: ; // 0x2bcf8c4
|
|
/* 02BCF8C4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BCF8C8 */ cpu->r[9] = 0x02BD0000u;
|
|
/* 02BCF8CC */ _t81 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCF8CC */ rbrew_write16(cpu->mem, _t81, (uint16_t)cpu->r[11]);
|
|
/* 02BCF8D0 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BCF8D4 */ cpu->r[9] = cpu->r[9] + 0xFFFFF91Cu;
|
|
/* 02BCF8D8 */ cpu->r[11] = cpu->r[11] + 0x00003FD8u;
|
|
/* 02BCF8DC */ _t82 = cpu->r[1] + 0x00000034u;
|
|
/* 02BCF8DC */ rbrew_write32(cpu->mem, _t82, cpu->r[9]);
|
|
/* 02BCF8E0 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BCF8E4 */ _t83 = cpu->r[31] + 0x00000028u;
|
|
/* 02BCF8E4 */ rbrew_write32(cpu->mem, _t83, cpu->r[11]);
|
|
/* 02BCF8E8 */ _t84 = cpu->r[1] + 0x00000032u;
|
|
/* 02BCF8E8 */ rbrew_write16(cpu->mem, _t84, (uint16_t)cpu->r[10]);
|
|
/* 02BCF8EC */ _t85 = cpu->r[1] + 0x00000030u;
|
|
/* 02BCF8EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BCF8F0 */ _t86 = cpu->r[31] + 0x00000024u;
|
|
/* 02BCF8F0 */ rbrew_write32(cpu->mem, _t86, cpu->r[9]);
|
|
/* 02BCF8F4 */ _t87 = cpu->r[31] + 0x00000020u;
|
|
/* 02BCF8F4 */ rbrew_write32(cpu->mem, _t87, cpu->r[12]);
|
|
L_02BCF8F8: ; // 0x2bcf8f8
|
|
/* 02BCF8F8 */ cpu->r[7] = 0x00000005u;
|
|
/* 02BCF8FC */ _t88 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCF8FC */ _t89 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BCF8FC */ cpu->r[0] = _t89 | _t88;
|
|
/* 02BCF900 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
L_02BCF904: ; // 0x2bcf904
|
|
/* 02BCF904 */ /* nop */
|
|
/* 02BCF908 */ _t90 = cpu->r[1] + 0x00000064u;
|
|
/* 02BCF908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BCF90C */ cpu->lr = cpu->r[0];
|
|
/* 02BCF910 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02BCF914 */ cpu->r[3] = cpu->r[5];
|
|
/* 02BCF918 */ return;
|
|
}
|
|
|
|
// fn_02BCF91C @ 0x2bcf91c
|
|
void Gambit_fn_02BCF91C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273;
|
|
|
|
L_02BCF91C: ; // 0x2bcf91c
|
|
/* 02BCF91C */ _t0 = cpu->r[1] + 0xFFFFFF58u;
|
|
/* 02BCF91C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BCF91C */ cpu->r[1] = _t0;
|
|
/* 02BCF920 */ /* nop */
|
|
/* 02BCF924 */ cpu->r[0] = cpu->lr;
|
|
/* 02BCF928 */ _t1 = cpu->r[1] + 0x000000ACu;
|
|
/* 02BCF928 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BCF92C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BCF930 */ _t2 = cpu->r[29] + 0xFFFFB6C4u;
|
|
/* 02BCF930 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BCF930 */ cpu->r[29] = _t2;
|
|
/* 02BCF934 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BCF938 */ _t3 = cpu->r[11] + 0x00000030u;
|
|
/* 02BCF938 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BCF93C */ _t4 = cpu->r[30] + 0x00000040u;
|
|
/* 02BCF93C */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BCF940 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BCF944 */ _t5 = cpu->r[11] + 0x00000034u;
|
|
/* 02BCF944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BCF948 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02BCF94C */ _t6 = cpu->r[30] + 0x00000044u;
|
|
/* 02BCF94C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BCF950 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF950 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BCF950 */ if (_t8) goto L_02BCF9D4; else goto L_02BCF954;
|
|
L_02BCF954: ; // 0x2bcf954
|
|
/* 02BCF954 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCF954 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BCF954 */ if (_t10) goto L_02BCF960; else goto L_02BCF958;
|
|
L_02BCF958: ; // 0x2bcf958
|
|
/* 02BCF958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02BCF95C */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF95C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BCF95C */ if (_t12) goto L_02BCF9D4; else goto L_02BCF960;
|
|
L_02BCF960: ; // 0x2bcf960
|
|
/* 02BCF960 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BCF964 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCF968 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCF96C */ cpu->r[9] = 0xFD230000u;
|
|
/* 02BCF970 */ _t13 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BCF970 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BCF974 */ cpu->r[0] = cpu->r[9] + 0xFFFFA82Du;
|
|
/* 02BCF978 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02BCF978 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02BCF97C */ _t15 = cpu->r[4] + 0x00000004u;
|
|
/* 02BCF97C */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BCF980 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BCF984 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02BCF988 */ _t16 = cpu->r[5] + 0x00000074u;
|
|
/* 02BCF988 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BCF98C */ cpu->r[10] = 0x02BD0000u;
|
|
/* 02BCF990 */ _t17 = cpu->r[1] + 0x00000042u;
|
|
/* 02BCF990 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[11]);
|
|
/* 02BCF994 */ cpu->r[10] = cpu->r[10] + 0x000008FCu;
|
|
/* 02BCF998 */ _t18 = cpu->r[1] + 0x00000040u;
|
|
/* 02BCF998 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[12]);
|
|
/* 02BCF99C */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 02BCF99C */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BCF9A0 */ _t20 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCF9A0 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 02BCF9A4 */ _t21 = cpu->r[1] + 0x00000044u;
|
|
/* 02BCF9A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BCF9A8 */ cpu->r[6] = 0x101A0000u;
|
|
/* 02BCF9AC */ _t22 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCF9AC */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 02BCF9B0 */ cpu->r[6] = cpu->r[6] + 0x00004004u;
|
|
/* 02BCF9B4 */ _t23 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCF9B4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02BCF9B8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCF9BC */ _t24 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCF9BC */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 02BCF9C0 */ /* nop */
|
|
/* 02BCF9C4 */ _t25 = cpu->r[1] + 0x000000ACu;
|
|
/* 02BCF9C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BCF9C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BCF9CC */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 02BCF9D0 */ return;
|
|
L_02BCF9D4: ; // 0x2bcf9d4
|
|
/* 02BCF9D4 */ _t26 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BCF9D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BCF9D8 */ _t27 = cpu->r[9] + 0x0000005Cu;
|
|
/* 02BCF9D8 */ cpu->r[20] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BCF9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x0000001Fu);
|
|
/* 02BCF9E0 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCF9E0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BCF9E0 */ if (_t29) goto L_02BCF9E4; else goto L_02BCFA34;
|
|
L_02BCF9E4: ; // 0x2bcf9e4
|
|
/* 02BCF9E4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BCF9E8 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BCF9EC */ _t30 = cpu->r[1] + 0x00000050u;
|
|
/* 02BCF9EC */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[9]);
|
|
/* 02BCF9F0 */ cpu->r[6] = 0x02BD0000u;
|
|
/* 02BCF9F4 */ _t31 = cpu->r[1] + 0x00000052u;
|
|
/* 02BCF9F4 */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[7]);
|
|
/* 02BCF9F8 */ cpu->r[6] = cpu->r[6] + 0x000008FCu;
|
|
/* 02BCF9FC */ _t32 = cpu->r[1] + 0x00000050u;
|
|
/* 02BCF9FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BCFA00 */ _t33 = cpu->r[1] + 0x00000054u;
|
|
/* 02BCFA00 */ rbrew_write32(cpu->mem, _t33, cpu->r[6]);
|
|
/* 02BCFA04 */ _t34 = cpu->r[1] + 0x00000054u;
|
|
/* 02BCFA04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BCFA08 */ cpu->r[6] = 0x101A0000u;
|
|
/* 02BCFA0C */ _t35 = cpu->r[30] + 0x00000020u;
|
|
/* 02BCFA0C */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 02BCFA10 */ cpu->r[6] = cpu->r[6] + 0x00004004u;
|
|
/* 02BCFA14 */ _t36 = cpu->r[30] + 0x00000024u;
|
|
/* 02BCFA14 */ rbrew_write32(cpu->mem, _t36, cpu->r[10]);
|
|
/* 02BCFA18 */ _t37 = cpu->r[30] + 0x00000028u;
|
|
/* 02BCFA18 */ rbrew_write32(cpu->mem, _t37, cpu->r[6]);
|
|
/* 02BCFA1C */ /* nop */
|
|
/* 02BCFA20 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BCFA24 */ _t38 = cpu->r[1] + 0x000000ACu;
|
|
/* 02BCFA24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BCFA28 */ cpu->lr = cpu->r[0];
|
|
/* 02BCFA2C */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 02BCFA30 */ return;
|
|
L_02BCFA34: ; // 0x2bcfa34
|
|
/* 02BCFA34 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BCFA38 */ _t39 = cpu->r[31] + 0xFFFFB778u;
|
|
/* 02BCFA38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BCFA38 */ cpu->r[31] = _t39;
|
|
/* 02BCFA3C */ _t40 = cpu->r[5] + 0x00000064u;
|
|
/* 02BCFA3C */ cpu->r[19] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BCFA40 */ _t41 = cpu->r[30] + 0x000000B8u;
|
|
/* 02BCFA40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BCFA44 */ _t42 = cpu->r[19] + 0x00000024u;
|
|
/* 02BCFA44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BCFA48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02BCFA4C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFA4C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BCFA4C */ if (_t44) goto L_02BCFA50; else goto L_02BCFA60;
|
|
L_02BCFA50: ; // 0x2bcfa50
|
|
/* 02BCFA50 */ _t45 = cpu->r[19] + 0x00000020u;
|
|
/* 02BCFA50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BCFA54 */ _t46 = cpu->r[30] + 0x000000B4u;
|
|
/* 02BCFA54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BCFA58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02BCFA5C */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCFA5C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BCFA5C */ if (_t48) goto L_02BCFCF8; else goto L_02BCFA60;
|
|
L_02BCFA60: ; // 0x2bcfa60
|
|
/* 02BCFA60 */ _t49 = cpu->r[30] + 0x000000A8u;
|
|
/* 02BCFA60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BCFA64 */ _t50 = cpu->r[30] + 0x000000ACu;
|
|
/* 02BCFA64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BCFA68 */ cpu->r[5] = cpu->r[6] - cpu->r[10];
|
|
/* 02BCFA6C */ cpu->r[10] = cpu->r[6] ^ cpu->r[10];
|
|
/* 02BCFA70 */ cpu->r[8] = cpu->r[5] - cpu->r[5];
|
|
/* 02BCFA74 */ cpu->r[11] = rbrew_clz32(cpu->r[10]);
|
|
/* 02BCFA78 */ cpu->r[0] = cpu->r[7] - cpu->r[0];
|
|
/* 02BCFA7C */ cpu->r[4] = cpu->r[0] - cpu->r[0];
|
|
/* 02BCFA80 */ cpu->r[10] = (uint32_t)(-(int32_t)cpu->r[8]);
|
|
/* 02BCFA84 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BCFA88 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[4]);
|
|
/* 02BCFA8C */ _t51 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BCFA8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BCFA90 */ cpu->r[6] = cpu->r[9] & cpu->r[12];
|
|
/* 02BCFA94 */ cpu->r[19] = 0x00000000u;
|
|
/* 02BCFA98 */ cpu->r[31] = cpu->r[10] | cpu->r[6];
|
|
/* 02BCFA9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[0]);
|
|
/* 02BCFAA0 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCFAA4 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCFAA4 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BCFAA4 */ if (_t53) goto L_02BCFAA8; else goto L_02BCFCD8;
|
|
L_02BCFAA8: ; // 0x2bcfaa8
|
|
/* 02BCFAA8 */ cpu->r[21] = 0xFD230000u;
|
|
/* 02BCFAAC */ cpu->r[18] = 0x00000000u;
|
|
/* 02BCFAB0 */ cpu->r[22] = 0xFD230000u;
|
|
/* 02BCFAB4 */ cpu->r[21] = cpu->r[21] + 0xFFFF94E7u;
|
|
/* 02BCFAB8 */ cpu->r[23] = 0xFD230000u;
|
|
/* 02BCFABC */ cpu->r[22] = cpu->r[22] + 0xFFFF94EAu;
|
|
/* 02BCFAC0 */ cpu->r[24] = 0xFD230000u;
|
|
/* 02BCFAC4 */ cpu->r[23] = cpu->r[23] + 0xFFFF94EBu;
|
|
/* 02BCFAC8 */ cpu->r[25] = 0xFD230000u;
|
|
/* 02BCFACC */ cpu->r[24] = cpu->r[24] + 0xFFFF94ECu;
|
|
/* 02BCFAD0 */ cpu->r[26] = 0xFD230000u;
|
|
/* 02BCFAD4 */ cpu->r[25] = cpu->r[25] + 0xFFFF94EDu;
|
|
/* 02BCFAD8 */ cpu->r[27] = cpu->r[1] + 0x00000020u;
|
|
/* 02BCFADC */ cpu->r[26] = cpu->r[26] + 0xFFFF94F2u;
|
|
L_02BCFAE0: ; // 0x2bcfae0
|
|
/* 02BCFAE0 */ _t54 = cpu->r[30] + 0x00000088u;
|
|
/* 02BCFAE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BCFAE4 */ _t55 = cpu->r[11] + cpu->r[18];
|
|
/* 02BCFAE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BCFAE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[20]);
|
|
/* 02BCFAEC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFAEC */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BCFAEC */ if (_t57) goto L_02BCFCC8; else goto L_02BCFAF0;
|
|
L_02BCFAF0: ; // 0x2bcfaf0
|
|
/* 02BCFAF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCFAF4 */ Gambit_fn_02BCE014(cpu);
|
|
/* 02BCFAF8 */ _t58 = cpu->r[30] + 0x00000080u;
|
|
/* 02BCFAF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BCFAFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[8]);
|
|
/* 02BCFB00 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCFB00 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BCFB00 */ if (_t60) goto L_02BCFB04; else goto L_02BCFCC8;
|
|
L_02BCFB04: ; // 0x2bcfb04
|
|
/* 02BCFB04 */ cpu->r[17] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000014u);
|
|
/* 02BCFB08 */ _t61 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BCFB08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BCFB0C */ _t62 = cpu->r[4] + cpu->r[17];
|
|
/* 02BCFB0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BCFB10 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFEu;
|
|
/* 02BCFB14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02BCFB18 */ cpu->r[6] = cpu->r[4] + cpu->r[17];
|
|
/* 02BCFB1C */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCFB1C */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BCFB1C */ if (_t64) goto L_02BCFCC8; else goto L_02BCFB20;
|
|
L_02BCFB20: ; // 0x2bcfb20
|
|
/* 02BCFB20 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02BCFB20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BCFB24 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BCFB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BCFB28 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFB28 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02BCFB28 */ if (_t67) goto L_02BCFCC8; else goto L_02BCFB2C;
|
|
L_02BCFB2C: ; // 0x2bcfb2c
|
|
/* 02BCFB2C */ _t68 = cpu->r[6] + 0x00000004u;
|
|
/* 02BCFB2C */ cpu->r[15] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BCFB30 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCFB34 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BCFB38 */ cpu->r[16] = 0x00000011u;
|
|
/* 02BCFB3C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCFB40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[21]);
|
|
/* 02BCFB44 */ _t69 = cpu->r[1] + 0x00000020u;
|
|
/* 02BCFB44 */ rbrew_write32(cpu->mem, _t69, cpu->r[21]);
|
|
/* 02BCFB48 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFB48 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02BCFB48 */ if (_t71) goto L_02BCFB4C; else goto L_02BCFB5C;
|
|
L_02BCFB4C: ; // 0x2bcfb4c
|
|
/* 02BCFB4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCFB50 */ cpu->r[16] = 0x00000012u;
|
|
/* 02BCFB54 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFB54 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02BCFB54 */ if (_t73) goto L_02BCFCC4; else goto L_02BCFB58;
|
|
L_02BCFB58: ; // 0x2bcfb58
|
|
/* 02BCFB58 */ goto L_02BCFC5C;
|
|
L_02BCFB5C: ; // 0x2bcfb5c
|
|
/* 02BCFB5C */ _t74 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BCFB5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BCFB60 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BCFB64 */ cpu->r[11] = cpu->r[4] + cpu->r[17];
|
|
/* 02BCFB68 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCFB6C */ _t75 = cpu->r[11] + 0x00000004u;
|
|
/* 02BCFB6C */ cpu->r[15] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BCFB70 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCFB74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[22]);
|
|
/* 02BCFB78 */ _t76 = cpu->r[1] + 0x00000008u;
|
|
/* 02BCFB78 */ rbrew_write32(cpu->mem, _t76, cpu->r[22]);
|
|
/* 02BCFB7C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFB7C */ _t78 = _t77 & 0x00000001u;
|
|
/* 02BCFB7C */ if (_t78) goto L_02BCFB80; else goto L_02BCFB90;
|
|
L_02BCFB80: ; // 0x2bcfb80
|
|
/* 02BCFB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCFB84 */ cpu->r[16] = 0x00000013u;
|
|
/* 02BCFB88 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFB88 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BCFB88 */ if (_t80) goto L_02BCFCC4; else goto L_02BCFB8C;
|
|
L_02BCFB8C: ; // 0x2bcfb8c
|
|
/* 02BCFB8C */ goto L_02BCFC5C;
|
|
L_02BCFB90: ; // 0x2bcfb90
|
|
/* 02BCFB90 */ _t81 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BCFB90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BCFB94 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCFB98 */ cpu->r[9] = cpu->r[5] + cpu->r[17];
|
|
/* 02BCFB9C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCFBA0 */ _t82 = cpu->r[9] + 0x00000004u;
|
|
/* 02BCFBA0 */ cpu->r[15] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BCFBA4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCFBA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[23]);
|
|
/* 02BCFBAC */ _t83 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BCFBAC */ rbrew_write32(cpu->mem, _t83, cpu->r[23]);
|
|
/* 02BCFBB0 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFBB0 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02BCFBB0 */ if (_t85) goto L_02BCFBB4; else goto L_02BCFBC4;
|
|
L_02BCFBB4: ; // 0x2bcfbb4
|
|
/* 02BCFBB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCFBB8 */ cpu->r[16] = 0x00000015u;
|
|
/* 02BCFBBC */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFBBC */ _t87 = _t86 & 0x00000001u;
|
|
/* 02BCFBBC */ if (_t87) goto L_02BCFCC4; else goto L_02BCFBC0;
|
|
L_02BCFBC0: ; // 0x2bcfbc0
|
|
/* 02BCFBC0 */ goto L_02BCFC5C;
|
|
L_02BCFBC4: ; // 0x2bcfbc4
|
|
/* 02BCFBC4 */ _t88 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BCFBC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BCFBC8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BCFBCC */ cpu->r[6] = cpu->r[6] + cpu->r[17];
|
|
/* 02BCFBD0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCFBD4 */ _t89 = cpu->r[6] + 0x00000004u;
|
|
/* 02BCFBD4 */ cpu->r[15] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BCFBD8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCFBDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[24]);
|
|
/* 02BCFBE0 */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 02BCFBE0 */ rbrew_write32(cpu->mem, _t90, cpu->r[24]);
|
|
/* 02BCFBE4 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFBE4 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02BCFBE4 */ if (_t92) goto L_02BCFBE8; else goto L_02BCFBF8;
|
|
L_02BCFBE8: ; // 0x2bcfbe8
|
|
/* 02BCFBE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCFBEC */ cpu->r[16] = 0x00000016u;
|
|
/* 02BCFBF0 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFBF0 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02BCFBF0 */ if (_t94) goto L_02BCFCC4; else goto L_02BCFBF4;
|
|
L_02BCFBF4: ; // 0x2bcfbf4
|
|
/* 02BCFBF4 */ goto L_02BCFC5C;
|
|
L_02BCFBF8: ; // 0x2bcfbf8
|
|
/* 02BCFBF8 */ _t95 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BCFBF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BCFBFC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BCFC00 */ cpu->r[12] = cpu->r[7] + cpu->r[17];
|
|
/* 02BCFC04 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCFC08 */ _t96 = cpu->r[12] + 0x00000004u;
|
|
/* 02BCFC08 */ cpu->r[15] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BCFC0C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCFC10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[25]);
|
|
/* 02BCFC14 */ _t97 = cpu->r[1] + 0x00000014u;
|
|
/* 02BCFC14 */ rbrew_write32(cpu->mem, _t97, cpu->r[25]);
|
|
/* 02BCFC18 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFC18 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02BCFC18 */ if (_t99) goto L_02BCFC1C; else goto L_02BCFC2C;
|
|
L_02BCFC1C: ; // 0x2bcfc1c
|
|
/* 02BCFC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCFC20 */ cpu->r[16] = 0x00000017u;
|
|
/* 02BCFC24 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFC24 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02BCFC24 */ if (_t101) goto L_02BCFCC4; else goto L_02BCFC28;
|
|
L_02BCFC28: ; // 0x2bcfc28
|
|
/* 02BCFC28 */ goto L_02BCFC5C;
|
|
L_02BCFC2C: ; // 0x2bcfc2c
|
|
/* 02BCFC2C */ _t102 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BCFC2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BCFC30 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BCFC34 */ cpu->r[7] = cpu->r[8] + cpu->r[17];
|
|
/* 02BCFC38 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BCFC3C */ _t103 = cpu->r[7] + 0x00000004u;
|
|
/* 02BCFC3C */ cpu->r[17] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BCFC40 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BCFC44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[26]);
|
|
/* 02BCFC48 */ _t104 = cpu->r[1] + 0x00000018u;
|
|
/* 02BCFC48 */ rbrew_write32(cpu->mem, _t104, cpu->r[26]);
|
|
/* 02BCFC4C */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFC4C */ _t106 = _t105 & 0x00000001u;
|
|
/* 02BCFC4C */ if (_t106) goto L_02BCFC50; else goto L_02BCFC54;
|
|
L_02BCFC50: ; // 0x2bcfc50
|
|
/* 02BCFC50 */ cpu->r[16] = 0x00000018u;
|
|
L_02BCFC54: ; // 0x2bcfc54
|
|
/* 02BCFC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BCFC58 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFC58 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02BCFC58 */ if (_t108) goto L_02BCFCC4; else goto L_02BCFC5C;
|
|
L_02BCFC5C: ; // 0x2bcfc5c
|
|
/* 02BCFC5C */ _t109 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BCFC5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BCFC60 */ _t110 = cpu->r[30] + 0x00000088u;
|
|
/* 02BCFC60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02BCFC64 */ _t111 = cpu->r[9] + 0x00000058u;
|
|
/* 02BCFC64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BCFC68 */ _t112 = cpu->r[10] + cpu->r[18];
|
|
/* 02BCFC68 */ cpu->r[5] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02BCFC6C */ cpu->r[6] = cpu->r[20];
|
|
/* 02BCFC70 */ _t113 = cpu->r[9] + 0x00000048u;
|
|
/* 02BCFC70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02BCFC74 */ _t114 = cpu->r[30] + 0x000000B8u;
|
|
/* 02BCFC74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02BCFC78 */ cpu->r[7] = cpu->r[16];
|
|
/* 02BCFC7C */ Gambit_fn_02BC6574(cpu);
|
|
/* 02BCFC80 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BCFC84 */ _t115 = cpu->r[3] + 0x00000004u;
|
|
/* 02BCFC84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02BCFC88 */ cpu->r[0] = 0x000001F4u;
|
|
/* 02BCFC8C */ _t116 = cpu->r[29] + 0x00000000u;
|
|
/* 02BCFC8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02BCFC90 */ /* nop */
|
|
/* 02BCFC94 */ _t117 = cpu->r[10] + 0x00000034u;
|
|
/* 02BCFC94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BCFC98 */ _t118 = cpu->r[3] + 0x00000000u;
|
|
/* 02BCFC98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02BCFC9C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000001F4u);
|
|
/* 02BCFCA0 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x000001F4u);
|
|
/* 02BCFCA4 */ cpu->r[6] = cpu->r[12] + cpu->r[5];
|
|
/* 02BCFCA8 */ _t119 = cpu->r[10] + 0x00000030u;
|
|
/* 02BCFCA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02BCFCAC */ cpu->r[12] = cpu->r[9] + cpu->r[8];
|
|
/* 02BCFCB0 */ cpu->r[11] = cpu->r[7] + cpu->r[6];
|
|
/* 02BCFCB4 */ _t120 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BCFCB4 */ rbrew_write32(cpu->mem, _t120, cpu->r[12]);
|
|
/* 02BCFCB8 */ _t121 = cpu->r[1] + 0x00000028u;
|
|
/* 02BCFCB8 */ rbrew_write32(cpu->mem, _t121, cpu->r[11]);
|
|
/* 02BCFCBC */ _t122 = cpu->r[30] + 0x000000A8u;
|
|
/* 02BCFCBC */ rbrew_write32(cpu->mem, _t122, cpu->r[11]);
|
|
/* 02BCFCC0 */ _t123 = cpu->r[30] + 0x000000ACu;
|
|
/* 02BCFCC0 */ rbrew_write32(cpu->mem, _t123, cpu->r[12]);
|
|
L_02BCFCC4: ; // 0x2bcfcc4
|
|
/* 02BCFCC4 */ _t124 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BCFCC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124);
|
|
L_02BCFCC8: ; // 0x2bcfcc8
|
|
/* 02BCFCC8 */ cpu->r[19] = cpu->r[19] + 0x00000001u;
|
|
/* 02BCFCCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[0]);
|
|
/* 02BCFCD0 */ cpu->r[18] = cpu->r[18] + 0x00000004u;
|
|
/* 02BCFCD4 */ _t125 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCFCD4 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02BCFCD4 */ if (_t126) goto L_02BCFAE0; else goto L_02BCFCD8;
|
|
L_02BCFCD8: ; // 0x2bcfcd8
|
|
/* 02BCFCD8 */ /* nop */
|
|
/* 02BCFCDC */ cpu->r[0] = 0x00000005u;
|
|
/* 02BCFCE0 */ _t127 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BCFCE0 */ _t128 = cpu->r[7] & 0x00FFFFFFu;
|
|
/* 02BCFCE0 */ cpu->r[7] = _t128 | _t127;
|
|
/* 02BCFCE4 */ _t129 = cpu->r[1] + 0x000000ACu;
|
|
/* 02BCFCE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02BCFCE8 */ cpu->lr = cpu->r[0];
|
|
/* 02BCFCEC */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 02BCFCF0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BCFCF4 */ return;
|
|
L_02BCFCF8: ; // 0x2bcfcf8
|
|
/* 02BCFCF8 */ _t130 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BCFCF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02BCFCFC */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCFD00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02BCFD04 */ _t131 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCFD04 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02BCFD04 */ if (_t132) goto L_02BCFD08; else goto L_02BCFD6C;
|
|
L_02BCFD08: ; // 0x2bcfd08
|
|
/* 02BCFD08 */ cpu->r[9] = 0x00000000u;
|
|
L_02BCFD0C: ; // 0x2bcfd0c
|
|
/* 02BCFD0C */ _t133 = cpu->r[30] + 0x00000088u;
|
|
/* 02BCFD0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02BCFD10 */ _t134 = cpu->r[11] + cpu->r[9];
|
|
/* 02BCFD10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02BCFD14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[20]);
|
|
/* 02BCFD18 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFD18 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02BCFD18 */ if (_t136) goto L_02BCFD5C; else goto L_02BCFD1C;
|
|
L_02BCFD1C: ; // 0x2bcfd1c
|
|
/* 02BCFD1C */ cpu->r[4] = cpu->r[10];
|
|
/* 02BCFD20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCFD24 */ Gambit_fn_02BCE014(cpu);
|
|
/* 02BCFD28 */ _t137 = cpu->r[30] + 0x00000080u;
|
|
/* 02BCFD28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02BCFD2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02BCFD30 */ _t138 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCFD30 */ _t139 = _t138 & 0x00000001u;
|
|
/* 02BCFD30 */ if (_t139) goto L_02BCFD34; else goto L_02BCFD5C;
|
|
L_02BCFD34: ; // 0x2bcfd34
|
|
/* 02BCFD34 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000014u);
|
|
/* 02BCFD38 */ _t140 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BCFD38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02BCFD3C */ _t141 = cpu->r[5] + cpu->r[4];
|
|
/* 02BCFD3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02BCFD40 */ cpu->r[7] = cpu->r[8] + 0xFFFFFFFEu;
|
|
/* 02BCFD44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u);
|
|
/* 02BCFD48 */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCFD48 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02BCFD48 */ if (_t143) goto L_02BCFD5C; else goto L_02BCFD4C;
|
|
L_02BCFD4C: ; // 0x2bcfd4c
|
|
/* 02BCFD4C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCFD50 */ cpu->r[4] = cpu->r[10];
|
|
/* 02BCFD54 */ Gambit_fn_02BCE024(cpu);
|
|
/* 02BCFD58 */ _t144 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BCFD58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t144);
|
|
L_02BCFD5C: ; // 0x2bcfd5c
|
|
/* 02BCFD5C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02BCFD60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02BCFD64 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 02BCFD68 */ _t145 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCFD68 */ _t146 = _t145 & 0x00000001u;
|
|
/* 02BCFD68 */ if (_t146) goto L_02BCFD0C; else goto L_02BCFD6C;
|
|
L_02BCFD6C: ; // 0x2bcfd6c
|
|
/* 02BCFD6C */ cpu->r[18] = 0x00000000u;
|
|
/* 02BCFD70 */ cpu->r[21] = cpu->r[18];
|
|
/* 02BCFD74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[0]);
|
|
/* 02BCFD78 */ _t147 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCFD78 */ _t148 = _t147 & 0x00000001u;
|
|
/* 02BCFD78 */ if (_t148) goto L_02BCFD7C; else goto L_02BD00E4;
|
|
L_02BCFD7C: ; // 0x2bcfd7c
|
|
/* 02BCFD7C */ cpu->r[23] = 0x00000000u;
|
|
/* 02BCFD80 */ cpu->r[25] = 0x101D0000u;
|
|
/* 02BCFD84 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BCFD88 */ cpu->r[24] = cpu->r[23];
|
|
/* 02BCFD8C */ cpu->r[29] = 0x00000002u;
|
|
/* 02BCFD90 */ cpu->r[26] = 0x101D0000u;
|
|
L_02BCFD94: ; // 0x2bcfd94
|
|
/* 02BCFD94 */ _t149 = cpu->r[30] + 0x00000088u;
|
|
/* 02BCFD94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02BCFD98 */ _t150 = cpu->r[11] + cpu->r[24];
|
|
/* 02BCFD98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02BCFD9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[20]);
|
|
/* 02BCFDA0 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFDA0 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02BCFDA0 */ if (_t152) goto L_02BD00C0; else goto L_02BCFDA4;
|
|
L_02BCFDA4: ; // 0x2bcfda4
|
|
/* 02BCFDA4 */ _t153 = cpu->r[25] + 0xFFFFB77Cu;
|
|
/* 02BCFDA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02BCFDA8 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BCFDAC */ cpu->r[17] = cpu->r[3];
|
|
/* 02BCFDAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02BCFDB0 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFDB0 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02BCFDB0 */ if (_t155) goto L_02BCFDB4; else goto L_02BCFE94;
|
|
L_02BCFDB4: ; // 0x2bcfdb4
|
|
/* 02BCFDB4 */ _t156 = cpu->r[30] + 0x00000084u;
|
|
/* 02BCFDB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02BCFDB8 */ _t157 = cpu->r[26] + 0xFFFFB790u;
|
|
/* 02BCFDB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02BCFDBC */ cpu->r[4] = cpu->r[10] + cpu->r[23];
|
|
/* 02BCFDC0 */ Gambit_fn_02BF84F0(cpu);
|
|
/* 02BCFDC4 */ cpu->r[17] = cpu->r[3];
|
|
/* 02BCFDC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02BCFDC8 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFDC8 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02BCFDC8 */ if (_t159) goto L_02BCFE94; else goto L_02BCFDCC;
|
|
L_02BCFDCC: ; // 0x2bcfdcc
|
|
/* 02BCFDCC */ _t160 = cpu->r[17] + 0x00000068u;
|
|
/* 02BCFDCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02BCFDD0 */ _t161 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BCFDD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02BCFDD4 */ cpu->ctr = cpu->r[4];
|
|
/* 02BCFDD8 */ cpu->r[3] = cpu->r[17];
|
|
/* 02BCFDDC */ cpu->r[6] = 0x00000000u;
|
|
/* 02BCFDE0 */ cpu->r[5] = 0x00000002u;
|
|
/* 02BCFDE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCFDE8 */ _t162 = cpu->r[17] + 0x00000024u;
|
|
/* 02BCFDE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02BCFDEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000006u);
|
|
/* 02BCFDF0 */ _t163 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFDF0 */ _t164 = _t163 & 0x00000001u;
|
|
/* 02BCFDF0 */ if (_t164) goto L_02BCFDF4; else goto L_02BCFE6C;
|
|
L_02BCFDF4: ; // 0x2bcfdf4
|
|
/* 02BCFDF4 */ _t165 = cpu->r[17] + 0x00000034u;
|
|
/* 02BCFDF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02BCFDF8 */ _t166 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCFDF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02BCFDFC */ _t167 = cpu->r[5] + 0x00000034u;
|
|
/* 02BCFDFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02BCFE00 */ cpu->ctr = cpu->r[0];
|
|
/* 02BCFE04 */ cpu->r[4] = cpu->r[17];
|
|
/* 02BCFE08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCFE0C */ _t168 = cpu->r[26] + 0xFFFFB790u;
|
|
/* 02BCFE0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02BCFE10 */ cpu->r[4] = cpu->r[17];
|
|
/* 02BCFE14 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BCFE18 */ _t169 = cpu->r[27] + 0xFFFFB798u;
|
|
/* 02BCFE18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02BCFE1C */ cpu->r[4] = cpu->r[17];
|
|
/* 02BCFE20 */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BCFE24 */ cpu->r[3] = cpu->r[17];
|
|
/* 02BCFE28 */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BCFE2C */ cpu->r[3] = cpu->r[17];
|
|
/* 02BCFE30 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BCFE34 */ _t170 = cpu->r[25] + 0xFFFFB77Cu;
|
|
/* 02BCFE34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02BCFE38 */ cpu->r[4] = cpu->r[17];
|
|
/* 02BCFE3C */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BCFE40 */ _t171 = cpu->r[30] + 0x00000088u;
|
|
/* 02BCFE40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02BCFE44 */ cpu->r[4] = cpu->r[20];
|
|
/* 02BCFE48 */ cpu->r[3] = cpu->r[19];
|
|
/* 02BCFE4C */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCFE50 */ _t172 = cpu->r[10] + cpu->r[24];
|
|
/* 02BCFE50 */ cpu->r[5] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02BCFE54 */ cpu->r[18] = 0x00000001u;
|
|
/* 02BCFE58 */ cpu->r[17] = 0x00000000u;
|
|
/* 02BCFE5C */ Gambit_fn_02BFB208(cpu);
|
|
/* 02BCFE60 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BCFE60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BCFE64 */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFE64 */ _t174 = _t173 & 0x00000001u;
|
|
/* 02BCFE64 */ if (_t174) goto L_02BCFEB4; else goto L_02BCFE68;
|
|
L_02BCFE68: ; // 0x2bcfe68
|
|
/* 02BCFE68 */ goto L_02BD0098;
|
|
L_02BCFE6C: ; // 0x2bcfe6c
|
|
/* 02BCFE6C */ _t175 = cpu->r[30] + 0x00000088u;
|
|
/* 02BCFE6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02BCFE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000005u);
|
|
/* 02BCFE74 */ _t176 = cpu->r[9] + cpu->r[24];
|
|
/* 02BCFE74 */ cpu->r[4] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02BCFE78 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFE78 */ _t178 = _t177 & 0x00000001u;
|
|
/* 02BCFE78 */ if (_t178) goto L_02BCFE7C; else goto L_02BCFE8C;
|
|
L_02BCFE7C: ; // 0x2bcfe7c
|
|
/* 02BCFE7C */ _t179 = cpu->r[17] + 0x00000018u;
|
|
/* 02BCFE7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t179);
|
|
/* 02BCFE80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000001Fu);
|
|
/* 02BCFE84 */ _t180 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCFE84 */ _t181 = _t180 & 0x00000001u;
|
|
/* 02BCFE84 */ if (_t181) goto L_02BCFE88; else goto L_02BCFE8C;
|
|
L_02BCFE88: ; // 0x2bcfe88
|
|
/* 02BCFE88 */ cpu->r[18] = 0x00000001u;
|
|
L_02BCFE8C: ; // 0x2bcfe8c
|
|
/* 02BCFE8C */ cpu->r[3] = cpu->r[17];
|
|
/* 02BCFE90 */ Gambit_fn_02BF069C(cpu);
|
|
L_02BCFE94: ; // 0x2bcfe94
|
|
/* 02BCFE94 */ _t182 = cpu->r[30] + 0x00000088u;
|
|
/* 02BCFE94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02BCFE98 */ cpu->r[4] = cpu->r[20];
|
|
/* 02BCFE9C */ cpu->r[3] = cpu->r[19];
|
|
/* 02BCFEA0 */ _t183 = cpu->r[10] + cpu->r[24];
|
|
/* 02BCFEA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02BCFEA4 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCFEA8 */ Gambit_fn_02BFB208(cpu);
|
|
/* 02BCFEAC */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BCFEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BCFEB0 */ _t184 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFEB0 */ _t185 = _t184 & 0x00000001u;
|
|
/* 02BCFEB0 */ if (_t185) goto L_02BCFEB4; else goto L_02BD0098;
|
|
L_02BCFEB4: ; // 0x2bcfeb4
|
|
/* 02BCFEB4 */ _t186 = cpu->r[30] + 0x00000088u;
|
|
/* 02BCFEB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t186);
|
|
/* 02BCFEB8 */ _t187 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BCFEB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02BCFEBC */ _t188 = cpu->r[11] + cpu->r[24];
|
|
/* 02BCFEBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02BCFEC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BCFEC4 */ _t189 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFEC4 */ _t190 = _t189 & 0x00000001u;
|
|
/* 02BCFEC4 */ if (_t190) goto L_02BD00BC; else goto L_02BCFEC8;
|
|
L_02BCFEC8: ; // 0x2bcfec8
|
|
/* 02BCFEC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[20]);
|
|
/* 02BCFECC */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFECC */ _t192 = _t191 & 0x00000001u;
|
|
/* 02BCFECC */ if (_t192) goto L_02BD00BC; else goto L_02BCFED0;
|
|
L_02BCFED0: ; // 0x2bcfed0
|
|
/* 02BCFED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02BCFED4 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFED4 */ _t194 = _t193 & 0x00000001u;
|
|
/* 02BCFED4 */ if (_t194) goto L_02BCFF50; else goto L_02BCFED8;
|
|
L_02BCFED8: ; // 0x2bcfed8
|
|
/* 02BCFED8 */ _t195 = cpu->r[17] + 0x00000024u;
|
|
/* 02BCFED8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02BCFEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000005u);
|
|
/* 02BCFEE0 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFEE0 */ _t197 = _t196 & 0x00000001u;
|
|
/* 02BCFEE0 */ if (_t197) goto L_02BCFEE4; else goto L_02BCFF50;
|
|
L_02BCFEE4: ; // 0x2bcfee4
|
|
/* 02BCFEE4 */ cpu->r[3] = cpu->r[17];
|
|
/* 02BCFEE8 */ Gambit_fn_02BF2CD0(cpu);
|
|
/* 02BCFEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BCFEF0 */ _t198 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFEF0 */ _t199 = _t198 & 0x00000001u;
|
|
/* 02BCFEF0 */ if (_t199) goto L_02BCFEF4; else goto L_02BD00BC;
|
|
L_02BCFEF4: ; // 0x2bcfef4
|
|
/* 02BCFEF4 */ _t200 = cpu->r[17] + 0x00000034u;
|
|
/* 02BCFEF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02BCFEF8 */ _t201 = cpu->r[3] + 0x00000018u;
|
|
/* 02BCFEF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02BCFEFC */ _t202 = cpu->r[4] + 0x00000034u;
|
|
/* 02BCFEFC */ cpu->r[5] = rbrew_read32(cpu->mem, _t202);
|
|
/* 02BCFF00 */ cpu->ctr = cpu->r[5];
|
|
/* 02BCFF04 */ cpu->r[4] = cpu->r[17];
|
|
/* 02BCFF08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BCFF0C */ _t203 = cpu->r[26] + 0xFFFFB790u;
|
|
/* 02BCFF0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t203);
|
|
/* 02BCFF10 */ cpu->r[4] = cpu->r[17];
|
|
/* 02BCFF14 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BCFF18 */ _t204 = cpu->r[27] + 0xFFFFB798u;
|
|
/* 02BCFF18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t204);
|
|
/* 02BCFF1C */ cpu->r[4] = cpu->r[17];
|
|
/* 02BCFF20 */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BCFF24 */ cpu->r[3] = cpu->r[17];
|
|
/* 02BCFF28 */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BCFF2C */ cpu->r[3] = cpu->r[17];
|
|
/* 02BCFF30 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BCFF34 */ _t205 = cpu->r[25] + 0xFFFFB77Cu;
|
|
/* 02BCFF34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t205);
|
|
/* 02BCFF38 */ cpu->r[4] = cpu->r[17];
|
|
/* 02BCFF3C */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BCFF40 */ _t206 = cpu->r[30] + 0x00000088u;
|
|
/* 02BCFF40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t206);
|
|
/* 02BCFF44 */ cpu->r[17] = 0x00000000u;
|
|
/* 02BCFF48 */ _t207 = cpu->r[11] + cpu->r[24];
|
|
/* 02BCFF48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02BCFF4C */ cpu->r[18] = 0x00000001u;
|
|
L_02BCFF50: ; // 0x2bcff50
|
|
/* 02BCFF50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[4]);
|
|
/* 02BCFF54 */ _t208 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCFF54 */ _t209 = _t208 & 0x00000001u;
|
|
/* 02BCFF54 */ if (_t209) goto L_02BCFF58; else goto L_02BD00BC;
|
|
L_02BCFF58: ; // 0x2bcff58
|
|
/* 02BCFF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02BCFF5C */ _t210 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFF5C */ _t211 = _t210 & 0x00000001u;
|
|
/* 02BCFF5C */ if (_t211) goto L_02BCFF60; else goto L_02BCFFAC;
|
|
L_02BCFF60: ; // 0x2bcff60
|
|
/* 02BCFF60 */ _t212 = cpu->r[25] + 0xFFFFB77Cu;
|
|
/* 02BCFF60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t212);
|
|
/* 02BCFF64 */ Gambit_fn_02BF31E0(cpu);
|
|
/* 02BCFF68 */ _t213 = cpu->r[31] + 0x00000000u;
|
|
/* 02BCFF68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02BCFF6C */ _t214 = cpu->r[7] + 0x00000034u;
|
|
/* 02BCFF6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02BCFF70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02BCFF74 */ _t215 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCFF74 */ _t216 = _t215 & 0x00000001u;
|
|
/* 02BCFF74 */ if (_t216) goto L_02BCFF78; else goto L_02BD00BC;
|
|
L_02BCFF78: ; // 0x2bcff78
|
|
/* 02BCFF78 */ _t217 = cpu->r[25] + 0xFFFFB77Cu;
|
|
/* 02BCFF78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02BCFF7C */ Gambit_fn_02BF2D20(cpu);
|
|
/* 02BCFF80 */ _t218 = cpu->r[30] + 0x00000088u;
|
|
/* 02BCFF80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02BCFF84 */ _t219 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BCFF84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t219);
|
|
/* 02BCFF88 */ _t220 = cpu->r[30] + 0x00000084u;
|
|
/* 02BCFF88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t220);
|
|
/* 02BCFF8C */ _t221 = cpu->r[10] + 0x0000004Cu;
|
|
/* 02BCFF8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t221);
|
|
/* 02BCFF90 */ cpu->r[11] = cpu->r[9] + cpu->r[23];
|
|
/* 02BCFF94 */ _t222 = cpu->r[12] + cpu->r[24];
|
|
/* 02BCFF94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02BCFF98 */ cpu->r[6] = cpu->r[11] + 0x00000008u;
|
|
/* 02BCFF9C */ cpu->r[17] = cpu->r[3];
|
|
/* 02BCFFA0 */ Gambit_fn_02BF07D8(cpu);
|
|
/* 02BCFFA4 */ _t223 = cpu->r[30] + 0x00000088u;
|
|
/* 02BCFFA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t223);
|
|
/* 02BCFFA8 */ _t224 = cpu->r[11] + cpu->r[24];
|
|
/* 02BCFFA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t224);
|
|
L_02BCFFAC: ; // 0x2bcffac
|
|
/* 02BCFFAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BCFFB0 */ Gambit_fn_02BCE014(cpu);
|
|
/* 02BCFFB4 */ _t225 = cpu->r[30] + 0x00000080u;
|
|
/* 02BCFFB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t225);
|
|
/* 02BCFFB8 */ cpu->r[22] = cpu->r[3];
|
|
/* 02BCFFBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[4]);
|
|
/* 02BCFFC0 */ _t226 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BCFFC0 */ _t227 = _t226 & 0x00000001u;
|
|
/* 02BCFFC0 */ if (_t227) goto L_02BCFFC4; else goto L_02BD000C;
|
|
L_02BCFFC4: ; // 0x2bcffc4
|
|
/* 02BCFFC4 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[22] * (int32_t)0x00000014u);
|
|
/* 02BCFFC8 */ _t228 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BCFFC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t228);
|
|
/* 02BCFFCC */ _t229 = cpu->r[4] + cpu->r[22];
|
|
/* 02BCFFCC */ cpu->r[6] = rbrew_read32(cpu->mem, _t229);
|
|
/* 02BCFFD0 */ cpu->r[5] = cpu->r[6] + 0xFFFFFFFEu;
|
|
/* 02BCFFD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
|
|
/* 02BCFFD8 */ _t230 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BCFFD8 */ _t231 = _t230 & 0x00000001u;
|
|
/* 02BCFFD8 */ if (_t231) goto L_02BCFFDC; else goto L_02BD0010;
|
|
L_02BCFFDC: ; // 0x2bcffdc
|
|
/* 02BCFFDC */ _t232 = cpu->r[17] + 0x00000024u;
|
|
/* 02BCFFDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t232);
|
|
/* 02BCFFE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u);
|
|
/* 02BCFFE4 */ _t233 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFFE4 */ _t234 = _t233 & 0x00000001u;
|
|
/* 02BCFFE4 */ if (_t234) goto L_02BD00BC; else goto L_02BCFFE8;
|
|
L_02BCFFE8: ; // 0x2bcffe8
|
|
/* 02BCFFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000004u);
|
|
/* 02BCFFEC */ _t235 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFFEC */ _t236 = _t235 & 0x00000001u;
|
|
/* 02BCFFEC */ if (_t236) goto L_02BD00BC; else goto L_02BCFFF0;
|
|
L_02BCFFF0: ; // 0x2bcfff0
|
|
/* 02BCFFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000005u);
|
|
/* 02BCFFF4 */ _t237 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BCFFF4 */ _t238 = _t237 & 0x00000001u;
|
|
/* 02BCFFF4 */ if (_t238) goto L_02BD00BC; else goto L_02BCFFF8;
|
|
L_02BCFFF8: ; // 0x2bcfff8
|
|
/* 02BCFFF8 */ cpu->r[3] = cpu->r[4] + cpu->r[22];
|
|
/* 02BCFFFC */ Gambit_fn_02B6796C(cpu);
|
|
/* 02BD0000 */ _t239 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BD0000 */ cpu->r[8] = rbrew_read32(cpu->mem, _t239);
|
|
/* 02BD0004 */ cpu->r[3] = cpu->r[8] + cpu->r[22];
|
|
/* 02BD0008 */ Gambit_fn_02B67784(cpu);
|
|
L_02BD000C: ; // 0x2bd000c
|
|
/* 02BD000C */ _t240 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BD000C */ cpu->r[4] = rbrew_read32(cpu->mem, _t240);
|
|
L_02BD0010: ; // 0x2bd0010
|
|
/* 02BD0010 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD0014 */ _t241 = cpu->r[17] + 0x00000030u;
|
|
/* 02BD0014 */ cpu->r[16] = rbrew_read32(cpu->mem, _t241);
|
|
/* 02BD0018 */ Gambit_fn_02BCE038(cpu);
|
|
/* 02BD001C */ cpu->r[22] = cpu->r[3];
|
|
/* 02BD0020 */ _t242 = cpu->r[17] + 0x0000002Cu;
|
|
/* 02BD0020 */ cpu->r[9] = rbrew_read32(cpu->mem, _t242);
|
|
/* 02BD0024 */ cpu->r[5] = cpu->r[17];
|
|
/* 02BD0028 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[22] * (int32_t)0x00000014u);
|
|
/* 02BD002C */ _t243 = cpu->r[30] + 0x00000084u;
|
|
/* 02BD002C */ cpu->r[12] = rbrew_read32(cpu->mem, _t243);
|
|
/* 02BD0030 */ cpu->r[3] = cpu->r[16];
|
|
/* 02BD0034 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BD0038 */ _t244 = cpu->r[9] + 0x00000018u;
|
|
/* 02BD0038 */ cpu->r[8] = rbrew_read32(cpu->mem, _t244);
|
|
/* 02BD003C */ cpu->r[6] = cpu->r[12] + cpu->r[23];
|
|
/* 02BD0040 */ cpu->r[4] = cpu->r[4] + cpu->r[0];
|
|
/* 02BD0044 */ Gambit_fn_02BF6960(cpu);
|
|
/* 02BD0048 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD004C */ cpu->r[7] = cpu->r[6] ^ 0x00000001u;
|
|
/* 02BD0050 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD0050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD0054 */ _t245 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0054 */ _t246 = _t245 & 0x00000001u;
|
|
/* 02BD0054 */ if (_t246) goto L_02BD00BC; else goto L_02BD0058;
|
|
L_02BD0058: ; // 0x2bd0058
|
|
/* 02BD0058 */ _t247 = cpu->r[30] + 0x00000084u;
|
|
/* 02BD0058 */ cpu->r[9] = rbrew_read32(cpu->mem, _t247);
|
|
/* 02BD005C */ cpu->r[4] = cpu->r[17];
|
|
/* 02BD0060 */ _t248 = cpu->r[26] + 0xFFFFB790u;
|
|
/* 02BD0060 */ cpu->r[3] = rbrew_read32(cpu->mem, _t248);
|
|
/* 02BD0064 */ cpu->r[5] = cpu->r[9] + cpu->r[23];
|
|
/* 02BD0068 */ Gambit_fn_02BF8990(cpu);
|
|
/* 02BD006C */ _t249 = cpu->r[17] + 0x00000024u;
|
|
/* 02BD006C */ rbrew_write32(cpu->mem, _t249, cpu->r[29]);
|
|
/* 02BD0070 */ _t250 = cpu->r[30] + 0x00000088u;
|
|
/* 02BD0070 */ cpu->r[10] = rbrew_read32(cpu->mem, _t250);
|
|
/* 02BD0074 */ cpu->r[5] = rbrew_rlwinm(cpu->r[22], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD0078 */ _t251 = cpu->r[10] + cpu->r[24];
|
|
/* 02BD0078 */ cpu->r[4] = rbrew_read32(cpu->mem, _t251);
|
|
/* 02BD007C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD0080 */ Gambit_fn_02BCE0A4(cpu);
|
|
/* 02BD0084 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD0088 */ cpu->r[3] = cpu->r[16];
|
|
/* 02BD008C */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD0090 */ _t252 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD0090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t252);
|
|
/* 02BD0094 */ goto L_02BD00C0;
|
|
L_02BD0098: ; // 0x2bd0098
|
|
/* 02BD0098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02BD009C */ _t253 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD009C */ _t254 = _t253 & 0x00000001u;
|
|
/* 02BD009C */ if (_t254) goto L_02BD00BC; else goto L_02BD00A0;
|
|
L_02BD00A0: ; // 0x2bd00a0
|
|
/* 02BD00A0 */ _t255 = cpu->r[17] + 0x00000068u;
|
|
/* 02BD00A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t255);
|
|
/* 02BD00A4 */ _t256 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BD00A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t256);
|
|
/* 02BD00A8 */ cpu->ctr = cpu->r[12];
|
|
/* 02BD00AC */ cpu->r[3] = cpu->r[17];
|
|
/* 02BD00B0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD00B4 */ cpu->r[5] = 0x00000002u;
|
|
/* 02BD00B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD00BC: ; // 0x2bd00bc
|
|
/* 02BD00BC */ _t257 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD00BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t257);
|
|
L_02BD00C0: ; // 0x2bd00c0
|
|
/* 02BD00C0 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02BD00C4 */ cpu->r[23] = cpu->r[23] + 0x00000068u;
|
|
/* 02BD00C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[0]);
|
|
/* 02BD00CC */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 02BD00D0 */ _t258 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD00D0 */ _t259 = _t258 & 0x00000001u;
|
|
/* 02BD00D0 */ if (_t259) goto L_02BCFD94; else goto L_02BD00D4;
|
|
L_02BD00D4: ; // 0x2bd00d4
|
|
/* 02BD00D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 02BD00D8 */ _t260 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD00D8 */ _t261 = _t260 & 0x00000001u;
|
|
/* 02BD00D8 */ if (_t261) goto L_02BD00E4; else goto L_02BD00DC;
|
|
L_02BD00DC: ; // 0x2bd00dc
|
|
/* 02BD00DC */ _t262 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD00DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t262);
|
|
/* 02BD00E0 */ Gambit_fn_02BEDC48(cpu);
|
|
L_02BD00E4: ; // 0x2bd00e4
|
|
/* 02BD00E4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD00E8 */ _t263 = cpu->r[19] + 0x00000020u;
|
|
/* 02BD00E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t263);
|
|
/* 02BD00EC */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02BD00F0 */ cpu->r[12] = 0x02BD0000u;
|
|
/* 02BD00F4 */ _t264 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD00F4 */ rbrew_write16(cpu->mem, _t264, (uint16_t)cpu->r[5]);
|
|
/* 02BD00F8 */ cpu->r[12] = cpu->r[12] + 0x0000013Cu;
|
|
/* 02BD00FC */ _t265 = cpu->r[1] + 0x00000032u;
|
|
/* 02BD00FC */ rbrew_write16(cpu->mem, _t265, (uint16_t)cpu->r[4]);
|
|
/* 02BD0100 */ _t266 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD0100 */ cpu->r[6] = rbrew_read32(cpu->mem, _t266);
|
|
/* 02BD0104 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BD0108 */ _t267 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD0108 */ rbrew_write32(cpu->mem, _t267, cpu->r[12]);
|
|
/* 02BD010C */ _t268 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD010C */ cpu->r[7] = rbrew_read32(cpu->mem, _t268);
|
|
/* 02BD0110 */ cpu->r[8] = cpu->r[8] + 0x00004028u;
|
|
/* 02BD0114 */ _t269 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD0114 */ rbrew_write32(cpu->mem, _t269, cpu->r[6]);
|
|
/* 02BD0118 */ _t270 = cpu->r[30] + 0x00000028u;
|
|
/* 02BD0118 */ rbrew_write32(cpu->mem, _t270, cpu->r[8]);
|
|
/* 02BD011C */ _t271 = cpu->r[30] + 0x00000024u;
|
|
/* 02BD011C */ rbrew_write32(cpu->mem, _t271, cpu->r[7]);
|
|
/* 02BD0120 */ _t272 = cpu->r[30] + 0x000000B4u;
|
|
/* 02BD0120 */ rbrew_write32(cpu->mem, _t272, cpu->r[0]);
|
|
/* 02BD0124 */ /* nop */
|
|
/* 02BD0128 */ _t273 = cpu->r[1] + 0x000000ACu;
|
|
/* 02BD0128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t273);
|
|
/* 02BD012C */ cpu->lr = cpu->r[0];
|
|
/* 02BD0130 */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 02BD0134 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BD0138 */ return;
|
|
}
|
|
|
|
// fn_02BD013C @ 0x2bd013c
|
|
void Gambit_fn_02BD013C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250;
|
|
|
|
L_02BD013C: ; // 0x2bd013c
|
|
/* 02BD013C */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 02BD013C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD013C */ cpu->r[1] = _t0;
|
|
/* 02BD0140 */ /* nop */
|
|
/* 02BD0144 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD0148 */ _t1 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BD0148 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD014C */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD0150 */ cpu->r[18] = 0x101D0000u;
|
|
/* 02BD0154 */ _t2 = cpu->r[18] + 0xFFFFB6C4u;
|
|
/* 02BD0154 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD0154 */ cpu->r[18] = _t2;
|
|
/* 02BD0158 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BD015C */ _t3 = cpu->r[5] + 0x00000030u;
|
|
/* 02BD015C */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD0160 */ cpu->r[0] = cpu->r[0] + 0x00004054u;
|
|
/* 02BD0164 */ _t4 = cpu->r[29] + 0x00000040u;
|
|
/* 02BD0164 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD0168 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BD016C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD016C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD0170 */ _t6 = cpu->r[5] + 0x00000034u;
|
|
/* 02BD0170 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD0174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 02BD0178 */ _t7 = cpu->r[29] + 0x00000044u;
|
|
/* 02BD0178 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD017C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD017C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD017C */ if (_t9) goto L_02BD01FC; else goto L_02BD0180;
|
|
L_02BD0180: ; // 0x2bd0180
|
|
/* 02BD0180 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0180 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD0180 */ if (_t11) goto L_02BD018C; else goto L_02BD0184;
|
|
L_02BD0184: ; // 0x2bd0184
|
|
/* 02BD0184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 02BD0188 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD0188 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD0188 */ if (_t13) goto L_02BD01FC; else goto L_02BD018C;
|
|
L_02BD018C: ; // 0x2bd018c
|
|
/* 02BD018C */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD0190 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD0194 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD0198 */ cpu->r[4] = 0xFD230000u;
|
|
/* 02BD019C */ _t14 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BD019C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD01A0 */ cpu->r[0] = cpu->r[4] + 0xFFFFA82Du;
|
|
/* 02BD01A4 */ _t15 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD01A4 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BD01A8 */ _t16 = cpu->r[10] + 0x00000004u;
|
|
/* 02BD01A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD01AC */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD01B0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD01B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD01B4 */ cpu->r[8] = 0x02BD0000u;
|
|
/* 02BD01B8 */ _t18 = cpu->r[11] + 0x00000074u;
|
|
/* 02BD01B8 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02BD01BC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02BD01C0 */ _t19 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD01C0 */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[6]);
|
|
/* 02BD01C4 */ cpu->r[8] = cpu->r[8] + 0x000008FCu;
|
|
/* 02BD01C8 */ _t20 = cpu->r[1] + 0x0000003Eu;
|
|
/* 02BD01C8 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[11]);
|
|
/* 02BD01CC */ _t21 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD01CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD01D0 */ _t22 = cpu->r[1] + 0x00000040u;
|
|
/* 02BD01D0 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 02BD01D4 */ _t23 = cpu->r[1] + 0x00000040u;
|
|
/* 02BD01D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD01D8 */ _t24 = cpu->r[29] + 0x00000020u;
|
|
/* 02BD01D8 */ rbrew_write32(cpu->mem, _t24, cpu->r[4]);
|
|
/* 02BD01DC */ _t25 = cpu->r[29] + 0x00000024u;
|
|
/* 02BD01DC */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 02BD01E0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BD01E4 */ _t26 = cpu->r[29] + 0x00000028u;
|
|
/* 02BD01E4 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 02BD01E8 */ /* nop */
|
|
/* 02BD01EC */ _t27 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BD01EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD01F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD01F4 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02BD01F8 */ return;
|
|
L_02BD01FC: ; // 0x2bd01fc
|
|
/* 02BD01FC */ _t28 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BD01FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD0200 */ _t29 = cpu->r[7] + 0x0000005Cu;
|
|
/* 02BD0200 */ cpu->r[19] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD0204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x0000001Fu);
|
|
/* 02BD0208 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD0208 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD0208 */ if (_t31) goto L_02BD020C; else goto L_02BD0258;
|
|
L_02BD020C: ; // 0x2bd020c
|
|
/* 02BD020C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD0210 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD0210 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD0214 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BD0218 */ cpu->r[9] = 0x02BD0000u;
|
|
/* 02BD021C */ _t33 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD021C */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[0]);
|
|
/* 02BD0220 */ cpu->r[9] = cpu->r[9] + 0x000008FCu;
|
|
/* 02BD0224 */ _t34 = cpu->r[1] + 0x0000004Eu;
|
|
/* 02BD0224 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[12]);
|
|
/* 02BD0228 */ _t35 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD0228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD022C */ _t36 = cpu->r[1] + 0x00000050u;
|
|
/* 02BD022C */ rbrew_write32(cpu->mem, _t36, cpu->r[9]);
|
|
/* 02BD0230 */ _t37 = cpu->r[1] + 0x00000050u;
|
|
/* 02BD0230 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD0234 */ _t38 = cpu->r[29] + 0x00000020u;
|
|
/* 02BD0234 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02BD0238 */ _t39 = cpu->r[29] + 0x00000024u;
|
|
/* 02BD0238 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 02BD023C */ _t40 = cpu->r[29] + 0x00000028u;
|
|
/* 02BD023C */ rbrew_write32(cpu->mem, _t40, cpu->r[7]);
|
|
/* 02BD0240 */ /* nop */
|
|
/* 02BD0244 */ _t41 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BD0244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD0248 */ cpu->lr = cpu->r[0];
|
|
/* 02BD024C */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02BD0250 */ cpu->r[3] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BD0254 */ return;
|
|
L_02BD0258: ; // 0x2bd0258
|
|
/* 02BD0258 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD025C */ _t42 = cpu->r[29] + 0x000000A8u;
|
|
/* 02BD025C */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD0260 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD0264 */ _t43 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD0264 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[5]);
|
|
/* 02BD0268 */ cpu->r[12] = cpu->r[10] - cpu->r[8];
|
|
/* 02BD026C */ _t44 = cpu->r[29] + 0x000000ACu;
|
|
/* 02BD026C */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD0270 */ cpu->r[4] = cpu->r[12] - cpu->r[12];
|
|
/* 02BD0274 */ _t45 = cpu->r[1] + 0x00000009u;
|
|
/* 02BD0274 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 02BD0278 */ cpu->r[5] = cpu->r[10] ^ cpu->r[8];
|
|
/* 02BD027C */ cpu->r[0] = cpu->r[11] - cpu->r[9];
|
|
/* 02BD0280 */ cpu->r[6] = rbrew_clz32(cpu->r[5]);
|
|
/* 02BD0284 */ cpu->r[8] = cpu->r[0] - cpu->r[0];
|
|
/* 02BD0288 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[4]);
|
|
/* 02BD028C */ _t46 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BD028C */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD0290 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BD0294 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BD0298 */ cpu->r[7] = (uint32_t)(-(int32_t)cpu->r[8]);
|
|
/* 02BD029C */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD029C */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[9]);
|
|
/* 02BD02A0 */ cpu->r[9] = cpu->r[0] & cpu->r[7];
|
|
/* 02BD02A4 */ cpu->r[27] = 0x00000000u;
|
|
/* 02BD02A8 */ cpu->r[0] = cpu->r[11] | cpu->r[9];
|
|
/* 02BD02AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[5]);
|
|
/* 02BD02B0 */ cpu->r[26] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD02B4 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD02B4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BD02B4 */ if (_t49) goto L_02BD02B8; else goto L_02BD0738;
|
|
L_02BD02B8: ; // 0x2bd02b8
|
|
/* 02BD02B8 */ cpu->r[17] = 0xFD230000u;
|
|
/* 02BD02BC */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD02C0 */ cpu->r[20] = 0xFD230000u;
|
|
/* 02BD02C4 */ cpu->r[21] = 0xFD230000u;
|
|
/* 02BD02C8 */ cpu->r[22] = 0xFD230000u;
|
|
/* 02BD02CC */ cpu->r[24] = 0xFD230000u;
|
|
/* 02BD02D0 */ cpu->r[25] = 0xFD230000u;
|
|
/* 02BD02D4 */ cpu->r[23] = 0xFD230000u;
|
|
/* 02BD02D8 */ cpu->r[17] = cpu->r[17] + 0xFFFF94EAu;
|
|
/* 02BD02DC */ cpu->r[31] = cpu->r[30];
|
|
/* 02BD02E0 */ cpu->r[20] = cpu->r[20] + 0xFFFF94EBu;
|
|
/* 02BD02E4 */ cpu->r[21] = cpu->r[21] + 0xFFFF94ECu;
|
|
/* 02BD02E8 */ cpu->r[22] = cpu->r[22] + 0xFFFF94EDu;
|
|
/* 02BD02EC */ cpu->r[23] = cpu->r[23] + 0xFFFF94F2u;
|
|
/* 02BD02F0 */ cpu->r[25] = cpu->r[25] + 0xFFFFA82Du;
|
|
/* 02BD02F4 */ cpu->r[24] = cpu->r[24] + 0xFFFFA424u;
|
|
L_02BD02F8: ; // 0x2bd02f8
|
|
/* 02BD02F8 */ _t50 = cpu->r[29] + 0x00000088u;
|
|
/* 02BD02F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD02FC */ _t51 = cpu->r[10] + cpu->r[30];
|
|
/* 02BD02FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD0300 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[19]);
|
|
/* 02BD0304 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0304 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BD0304 */ if (_t53) goto L_02BD0724; else goto L_02BD0308;
|
|
L_02BD0308: ; // 0x2bd0308
|
|
/* 02BD0308 */ _t54 = cpu->r[29] + 0x000000A0u;
|
|
/* 02BD0308 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BD030C */ _t55 = cpu->r[9] + cpu->r[27];
|
|
/* 02BD030C */ cpu->r[5] = rbrew_read8(cpu->mem, _t55);
|
|
/* 02BD0310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD0314 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0314 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BD0314 */ if (_t57) goto L_02BD0344; else goto L_02BD0318;
|
|
L_02BD0318: ; // 0x2bd0318
|
|
/* 02BD0318 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000011u);
|
|
/* 02BD031C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD031C */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BD031C */ if (_t59) goto L_02BD0320; else goto L_02BD0344;
|
|
L_02BD0320: ; // 0x2bd0320
|
|
/* 02BD0320 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD0324 */ cpu->r[4] = cpu->r[10];
|
|
/* 02BD0328 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BD032C */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BD0330 */ cpu->r[7] = 0x00000001u;
|
|
/* 02BD0334 */ _t60 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BD0334 */ cpu->r[5] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BD0338 */ _t61 = cpu->r[1] + 0x00000009u;
|
|
/* 02BD0338 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[7]);
|
|
/* 02BD033C */ _t62 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD033C */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[7]);
|
|
/* 02BD0340 */ goto L_02BD0724;
|
|
L_02BD0344: ; // 0x2bd0344
|
|
/* 02BD0344 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD0348 */ _t63 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BD0348 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BD034C */ cpu->r[4] = cpu->r[10];
|
|
/* 02BD0350 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BD0354 */ cpu->r[16] = cpu->r[3];
|
|
/* 02BD0354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 02BD0358 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0358 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BD0358 */ if (_t65) goto L_02BD035C; else goto L_02BD03A8;
|
|
L_02BD035C: ; // 0x2bd035c
|
|
/* 02BD035C */ _t66 = cpu->r[29] + 0x00000084u;
|
|
/* 02BD035C */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BD0360 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD0364 */ _t67 = cpu->r[3] + 0xFFFFB790u;
|
|
/* 02BD0364 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BD0368 */ cpu->r[4] = cpu->r[12] + cpu->r[31];
|
|
/* 02BD036C */ Gambit_fn_02BF84F0(cpu);
|
|
/* 02BD0370 */ cpu->r[16] = cpu->r[3];
|
|
/* 02BD0370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 02BD0374 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0374 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BD0374 */ if (_t69) goto L_02BD03A8; else goto L_02BD0378;
|
|
L_02BD0378: ; // 0x2bd0378
|
|
/* 02BD0378 */ _t70 = cpu->r[16] + 0x00000024u;
|
|
/* 02BD0378 */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BD037C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000005u);
|
|
/* 02BD0380 */ _t71 = cpu->r[29] + 0x00000088u;
|
|
/* 02BD0380 */ cpu->r[6] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BD0384 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0384 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02BD0384 */ if (_t73) goto L_02BD0388; else goto L_02BD039C;
|
|
L_02BD0388: ; // 0x2bd0388
|
|
/* 02BD0388 */ _t74 = cpu->r[16] + 0x00000018u;
|
|
/* 02BD0388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BD038C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BD0390 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD0390 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02BD0390 */ if (_t76) goto L_02BD0394; else goto L_02BD039C;
|
|
L_02BD0394: ; // 0x2bd0394
|
|
/* 02BD0394 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BD0398 */ _t77 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD0398 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[4]);
|
|
L_02BD039C: ; // 0x2bd039c
|
|
/* 02BD039C */ _t78 = cpu->r[6] + cpu->r[30];
|
|
/* 02BD039C */ cpu->r[4] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BD03A0 */ cpu->r[3] = cpu->r[16];
|
|
/* 02BD03A4 */ Gambit_fn_02BF069C(cpu);
|
|
L_02BD03A8: ; // 0x2bd03a8
|
|
/* 02BD03A8 */ _t79 = cpu->r[29] + 0x00000088u;
|
|
/* 02BD03A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BD03AC */ _t80 = cpu->r[8] + cpu->r[30];
|
|
/* 02BD03AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BD03B0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD03B4 */ cpu->r[4] = cpu->r[10];
|
|
/* 02BD03B8 */ Gambit_fn_02BCE014(cpu);
|
|
/* 02BD03BC */ _t81 = cpu->r[29] + 0x00000080u;
|
|
/* 02BD03BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BD03C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 02BD03C4 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD03C4 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02BD03C4 */ if (_t83) goto L_02BD03C8; else goto L_02BD0704;
|
|
L_02BD03C8: ; // 0x2bd03c8
|
|
/* 02BD03C8 */ cpu->r[14] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000014u);
|
|
/* 02BD03CC */ _t84 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BD03CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BD03D0 */ _t85 = cpu->r[6] + cpu->r[14];
|
|
/* 02BD03D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BD03D4 */ cpu->r[9] = cpu->r[8] + 0xFFFFFFFEu;
|
|
/* 02BD03D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02BD03DC */ cpu->r[5] = cpu->r[6] + cpu->r[14];
|
|
/* 02BD03E0 */ _t86 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD03E0 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02BD03E0 */ if (_t87) goto L_02BD0718; else goto L_02BD03E4;
|
|
L_02BD03E4: ; // 0x2bd03e4
|
|
/* 02BD03E4 */ _t88 = cpu->r[5] + 0x00000004u;
|
|
/* 02BD03E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BD03E8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD03E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD03EC */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD03EC */ _t90 = _t89 & 0x00000001u;
|
|
/* 02BD03EC */ if (_t90) goto L_02BD06EC; else goto L_02BD03F0;
|
|
L_02BD03F0: ; // 0x2bd03f0
|
|
/* 02BD03F0 */ _t91 = cpu->r[5] + 0x00000004u;
|
|
/* 02BD03F0 */ cpu->r[16] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BD03F4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD03F8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD03FC */ cpu->r[15] = 0x00000001u;
|
|
/* 02BD0400 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD0404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[24]);
|
|
/* 02BD0408 */ _t92 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD0408 */ rbrew_write32(cpu->mem, _t92, cpu->r[24]);
|
|
/* 02BD040C */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD040C */ _t94 = _t93 & 0x00000001u;
|
|
/* 02BD040C */ if (_t94) goto L_02BD0650; else goto L_02BD0410;
|
|
L_02BD0410: ; // 0x2bd0410
|
|
/* 02BD0410 */ _t95 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BD0410 */ cpu->r[7] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BD0414 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD0418 */ cpu->r[11] = cpu->r[7] + cpu->r[14];
|
|
/* 02BD041C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD0420 */ _t96 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD0420 */ cpu->r[16] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BD0424 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD0428 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BD042C */ cpu->r[0] = cpu->r[0] | 0x000094E7u;
|
|
/* 02BD0430 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[0]);
|
|
/* 02BD0434 */ _t97 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD0434 */ rbrew_write32(cpu->mem, _t97, cpu->r[0]);
|
|
/* 02BD0438 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0438 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02BD0438 */ if (_t99) goto L_02BD043C; else goto L_02BD0470;
|
|
L_02BD043C: ; // 0x2bd043c
|
|
/* 02BD043C */ _t100 = cpu->r[29] + 0x00000088u;
|
|
/* 02BD043C */ cpu->r[9] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BD0440 */ cpu->r[15] = 0x00000002u;
|
|
/* 02BD0444 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD0448 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD044C */ _t101 = cpu->r[9] + cpu->r[30];
|
|
/* 02BD044C */ cpu->r[4] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BD0450 */ cpu->r[5] = cpu->r[15];
|
|
/* 02BD0454 */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BD0458 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD045C */ _t102 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD045C */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[0]);
|
|
/* 02BD0460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BD0464 */ _t103 = cpu->r[1] + 0x00000009u;
|
|
/* 02BD0464 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[0]);
|
|
/* 02BD0468 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0468 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02BD0468 */ if (_t105) goto L_02BD0720; else goto L_02BD046C;
|
|
L_02BD046C: ; // 0x2bd046c
|
|
/* 02BD046C */ goto L_02BD067C;
|
|
L_02BD0470: ; // 0x2bd0470
|
|
/* 02BD0470 */ _t106 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BD0470 */ cpu->r[10] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02BD0474 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD0478 */ cpu->r[7] = cpu->r[10] + cpu->r[14];
|
|
/* 02BD047C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD0480 */ _t107 = cpu->r[7] + 0x00000004u;
|
|
/* 02BD0480 */ cpu->r[16] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BD0484 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD0488 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[17]);
|
|
/* 02BD048C */ _t108 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD048C */ rbrew_write32(cpu->mem, _t108, cpu->r[17]);
|
|
/* 02BD0490 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0490 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02BD0490 */ if (_t110) goto L_02BD0494; else goto L_02BD04C8;
|
|
L_02BD0494: ; // 0x2bd0494
|
|
/* 02BD0494 */ _t111 = cpu->r[29] + 0x00000088u;
|
|
/* 02BD0494 */ cpu->r[9] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BD0498 */ cpu->r[15] = 0x00000003u;
|
|
/* 02BD049C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD04A0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD04A4 */ _t112 = cpu->r[9] + cpu->r[30];
|
|
/* 02BD04A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02BD04A8 */ cpu->r[5] = cpu->r[15];
|
|
/* 02BD04AC */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BD04B0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD04B4 */ _t113 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD04B4 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[0]);
|
|
/* 02BD04B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BD04BC */ _t114 = cpu->r[1] + 0x00000009u;
|
|
/* 02BD04BC */ rbrew_write8(cpu->mem, _t114, (uint8_t)cpu->r[0]);
|
|
/* 02BD04C0 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD04C0 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02BD04C0 */ if (_t116) goto L_02BD0720; else goto L_02BD04C4;
|
|
L_02BD04C4: ; // 0x2bd04c4
|
|
/* 02BD04C4 */ goto L_02BD067C;
|
|
L_02BD04C8: ; // 0x2bd04c8
|
|
/* 02BD04C8 */ _t117 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BD04C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BD04CC */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD04D0 */ cpu->r[12] = cpu->r[5] + cpu->r[14];
|
|
/* 02BD04D4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD04D8 */ _t118 = cpu->r[12] + 0x00000004u;
|
|
/* 02BD04D8 */ cpu->r[16] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02BD04DC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD04E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[20]);
|
|
/* 02BD04E4 */ _t119 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD04E4 */ rbrew_write32(cpu->mem, _t119, cpu->r[20]);
|
|
/* 02BD04E8 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD04E8 */ _t121 = _t120 & 0x00000001u;
|
|
/* 02BD04E8 */ if (_t121) goto L_02BD04EC; else goto L_02BD0520;
|
|
L_02BD04EC: ; // 0x2bd04ec
|
|
/* 02BD04EC */ _t122 = cpu->r[29] + 0x00000088u;
|
|
/* 02BD04EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02BD04F0 */ cpu->r[15] = 0x00000005u;
|
|
/* 02BD04F4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD04F8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD04FC */ _t123 = cpu->r[9] + cpu->r[30];
|
|
/* 02BD04FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BD0500 */ cpu->r[5] = cpu->r[15];
|
|
/* 02BD0504 */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BD0508 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD050C */ _t124 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD050C */ rbrew_write8(cpu->mem, _t124, (uint8_t)cpu->r[0]);
|
|
/* 02BD0510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BD0514 */ _t125 = cpu->r[1] + 0x00000009u;
|
|
/* 02BD0514 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[0]);
|
|
/* 02BD0518 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0518 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02BD0518 */ if (_t127) goto L_02BD0720; else goto L_02BD051C;
|
|
L_02BD051C: ; // 0x2bd051c
|
|
/* 02BD051C */ goto L_02BD067C;
|
|
L_02BD0520: ; // 0x2bd0520
|
|
/* 02BD0520 */ _t128 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BD0520 */ cpu->r[8] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02BD0524 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD0528 */ cpu->r[7] = cpu->r[8] + cpu->r[14];
|
|
/* 02BD052C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD0530 */ _t129 = cpu->r[7] + 0x00000004u;
|
|
/* 02BD0530 */ cpu->r[16] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02BD0534 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD0538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[21]);
|
|
/* 02BD053C */ _t130 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD053C */ rbrew_write32(cpu->mem, _t130, cpu->r[21]);
|
|
/* 02BD0540 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0540 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02BD0540 */ if (_t132) goto L_02BD0544; else goto L_02BD0578;
|
|
L_02BD0544: ; // 0x2bd0544
|
|
/* 02BD0544 */ _t133 = cpu->r[29] + 0x00000088u;
|
|
/* 02BD0544 */ cpu->r[9] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02BD0548 */ cpu->r[15] = 0x00000006u;
|
|
/* 02BD054C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD0550 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD0554 */ _t134 = cpu->r[9] + cpu->r[30];
|
|
/* 02BD0554 */ cpu->r[4] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02BD0558 */ cpu->r[5] = cpu->r[15];
|
|
/* 02BD055C */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BD0560 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD0564 */ _t135 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD0564 */ rbrew_write8(cpu->mem, _t135, (uint8_t)cpu->r[0]);
|
|
/* 02BD0568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BD056C */ _t136 = cpu->r[1] + 0x00000009u;
|
|
/* 02BD056C */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[0]);
|
|
/* 02BD0570 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0570 */ _t138 = _t137 & 0x00000001u;
|
|
/* 02BD0570 */ if (_t138) goto L_02BD0720; else goto L_02BD0574;
|
|
L_02BD0574: ; // 0x2bd0574
|
|
/* 02BD0574 */ goto L_02BD067C;
|
|
L_02BD0578: ; // 0x2bd0578
|
|
/* 02BD0578 */ _t139 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BD0578 */ cpu->r[10] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BD057C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BD0580 */ cpu->r[8] = cpu->r[10] + cpu->r[14];
|
|
/* 02BD0584 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD0588 */ _t140 = cpu->r[8] + 0x00000004u;
|
|
/* 02BD0588 */ cpu->r[16] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02BD058C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD0590 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[22]);
|
|
/* 02BD0594 */ _t141 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD0594 */ rbrew_write32(cpu->mem, _t141, cpu->r[22]);
|
|
/* 02BD0598 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0598 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02BD0598 */ if (_t143) goto L_02BD059C; else goto L_02BD05D0;
|
|
L_02BD059C: ; // 0x2bd059c
|
|
/* 02BD059C */ _t144 = cpu->r[29] + 0x00000088u;
|
|
/* 02BD059C */ cpu->r[9] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02BD05A0 */ cpu->r[15] = 0x00000007u;
|
|
/* 02BD05A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD05A8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD05AC */ _t145 = cpu->r[9] + cpu->r[30];
|
|
/* 02BD05AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02BD05B0 */ cpu->r[5] = cpu->r[15];
|
|
/* 02BD05B4 */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BD05B8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD05BC */ _t146 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD05BC */ rbrew_write8(cpu->mem, _t146, (uint8_t)cpu->r[0]);
|
|
/* 02BD05C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BD05C4 */ _t147 = cpu->r[1] + 0x00000009u;
|
|
/* 02BD05C4 */ rbrew_write8(cpu->mem, _t147, (uint8_t)cpu->r[0]);
|
|
/* 02BD05C8 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD05C8 */ _t149 = _t148 & 0x00000001u;
|
|
/* 02BD05C8 */ if (_t149) goto L_02BD0720; else goto L_02BD05CC;
|
|
L_02BD05CC: ; // 0x2bd05cc
|
|
/* 02BD05CC */ goto L_02BD067C;
|
|
L_02BD05D0: ; // 0x2bd05d0
|
|
/* 02BD05D0 */ _t150 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BD05D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02BD05D4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD05D8 */ cpu->r[9] = cpu->r[12] + cpu->r[14];
|
|
/* 02BD05DC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD05E0 */ _t151 = cpu->r[9] + 0x00000004u;
|
|
/* 02BD05E0 */ cpu->r[16] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02BD05E4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD05E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[23]);
|
|
/* 02BD05EC */ _t152 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD05EC */ rbrew_write32(cpu->mem, _t152, cpu->r[23]);
|
|
/* 02BD05F0 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD05F0 */ _t154 = _t153 & 0x00000001u;
|
|
/* 02BD05F0 */ if (_t154) goto L_02BD05F4; else goto L_02BD0628;
|
|
L_02BD05F4: ; // 0x2bd05f4
|
|
/* 02BD05F4 */ _t155 = cpu->r[29] + 0x00000088u;
|
|
/* 02BD05F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02BD05F8 */ cpu->r[15] = 0x00000008u;
|
|
/* 02BD05FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD0600 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD0604 */ _t156 = cpu->r[9] + cpu->r[30];
|
|
/* 02BD0604 */ cpu->r[4] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02BD0608 */ cpu->r[5] = cpu->r[15];
|
|
/* 02BD060C */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BD0610 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD0614 */ _t157 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD0614 */ rbrew_write8(cpu->mem, _t157, (uint8_t)cpu->r[0]);
|
|
/* 02BD0618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BD061C */ _t158 = cpu->r[1] + 0x00000009u;
|
|
/* 02BD061C */ rbrew_write8(cpu->mem, _t158, (uint8_t)cpu->r[0]);
|
|
/* 02BD0620 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0620 */ _t160 = _t159 & 0x00000001u;
|
|
/* 02BD0620 */ if (_t160) goto L_02BD0720; else goto L_02BD0624;
|
|
L_02BD0624: ; // 0x2bd0624
|
|
/* 02BD0624 */ goto L_02BD067C;
|
|
L_02BD0628: ; // 0x2bd0628
|
|
/* 02BD0628 */ _t161 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BD0628 */ cpu->r[6] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02BD062C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD0630 */ cpu->r[6] = cpu->r[6] + cpu->r[14];
|
|
/* 02BD0634 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD0638 */ _t162 = cpu->r[6] + 0x00000004u;
|
|
/* 02BD0638 */ cpu->r[16] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02BD063C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD0640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[25]);
|
|
/* 02BD0644 */ _t163 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD0644 */ rbrew_write32(cpu->mem, _t163, cpu->r[25]);
|
|
/* 02BD0648 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0648 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02BD0648 */ if (_t165) goto L_02BD064C; else goto L_02BD0650;
|
|
L_02BD064C: ; // 0x2bd064c
|
|
/* 02BD064C */ cpu->r[15] = 0x00000009u;
|
|
L_02BD0650: ; // 0x2bd0650
|
|
/* 02BD0650 */ _t166 = cpu->r[29] + 0x00000088u;
|
|
/* 02BD0650 */ cpu->r[9] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02BD0654 */ cpu->r[5] = cpu->r[15];
|
|
/* 02BD0658 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD065C */ _t167 = cpu->r[9] + cpu->r[30];
|
|
/* 02BD065C */ cpu->r[4] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02BD0660 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD0664 */ Gambit_fn_02BCEBD4(cpu);
|
|
/* 02BD0668 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD066C */ _t168 = cpu->r[1] + 0x00000009u;
|
|
/* 02BD066C */ rbrew_write8(cpu->mem, _t168, (uint8_t)cpu->r[0]);
|
|
/* 02BD0670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BD0674 */ _t169 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD0674 */ rbrew_write8(cpu->mem, _t169, (uint8_t)cpu->r[0]);
|
|
/* 02BD0678 */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0678 */ _t171 = _t170 & 0x00000001u;
|
|
/* 02BD0678 */ if (_t171) goto L_02BD0720; else goto L_02BD067C;
|
|
L_02BD067C: ; // 0x2bd067c
|
|
/* 02BD067C */ _t172 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BD067C */ cpu->r[12] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02BD0680 */ cpu->r[6] = cpu->r[19];
|
|
/* 02BD0684 */ _t173 = cpu->r[29] + 0x00000088u;
|
|
/* 02BD0684 */ cpu->r[4] = rbrew_read32(cpu->mem, _t173);
|
|
/* 02BD0688 */ _t174 = cpu->r[12] + 0x00000048u;
|
|
/* 02BD0688 */ cpu->r[3] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02BD068C */ _t175 = cpu->r[4] + cpu->r[30];
|
|
/* 02BD068C */ cpu->r[5] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02BD0690 */ _t176 = cpu->r[12] + 0x00000058u;
|
|
/* 02BD0690 */ cpu->r[4] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02BD0694 */ _t177 = cpu->r[29] + 0x000000B8u;
|
|
/* 02BD0694 */ cpu->r[8] = rbrew_read32(cpu->mem, _t177);
|
|
/* 02BD0698 */ cpu->r[7] = cpu->r[15];
|
|
/* 02BD069C */ Gambit_fn_02BC6574(cpu);
|
|
/* 02BD06A0 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BD06A4 */ _t178 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD06A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02BD06A8 */ cpu->r[0] = 0x000001F4u;
|
|
/* 02BD06AC */ _t179 = cpu->r[3] + 0x00000004u;
|
|
/* 02BD06AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t179);
|
|
/* 02BD06B0 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x000001F4u);
|
|
/* 02BD06B4 */ _t180 = cpu->r[18] + 0x00000000u;
|
|
/* 02BD06B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t180);
|
|
/* 02BD06B8 */ /* nop */
|
|
/* 02BD06BC */ _t181 = cpu->r[4] + 0x00000034u;
|
|
/* 02BD06BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02BD06C0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x000001F4u);
|
|
/* 02BD06C4 */ cpu->r[12] = cpu->r[6] + cpu->r[10];
|
|
/* 02BD06C8 */ _t182 = cpu->r[4] + 0x00000030u;
|
|
/* 02BD06C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02BD06CC */ cpu->r[0] = cpu->r[7] + cpu->r[0];
|
|
/* 02BD06D0 */ cpu->r[11] = cpu->r[5] + cpu->r[12];
|
|
/* 02BD06D4 */ _t183 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD06D4 */ rbrew_write32(cpu->mem, _t183, cpu->r[0]);
|
|
/* 02BD06D8 */ _t184 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BD06D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02BD06DC */ _t185 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD06DC */ rbrew_write32(cpu->mem, _t185, cpu->r[11]);
|
|
/* 02BD06E0 */ _t186 = cpu->r[29] + 0x000000A8u;
|
|
/* 02BD06E0 */ rbrew_write32(cpu->mem, _t186, cpu->r[11]);
|
|
/* 02BD06E4 */ _t187 = cpu->r[29] + 0x000000ACu;
|
|
/* 02BD06E4 */ rbrew_write32(cpu->mem, _t187, cpu->r[0]);
|
|
/* 02BD06E8 */ goto L_02BD0724;
|
|
L_02BD06EC: ; // 0x2bd06ec
|
|
/* 02BD06EC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD06F0 */ cpu->r[4] = cpu->r[10];
|
|
/* 02BD06F4 */ Gambit_fn_02BCE024(cpu);
|
|
/* 02BD06F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 02BD06FC */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD06FC */ _t189 = _t188 & 0x00000001u;
|
|
/* 02BD06FC */ if (_t189) goto L_02BD0700; else goto L_02BD0720;
|
|
L_02BD0700: ; // 0x2bd0700
|
|
/* 02BD0700 */ goto L_02BD0718;
|
|
L_02BD0704: ; // 0x2bd0704
|
|
/* 02BD0704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 02BD0708 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0708 */ _t191 = _t190 & 0x00000001u;
|
|
/* 02BD0708 */ if (_t191) goto L_02BD0718; else goto L_02BD070C;
|
|
L_02BD070C: ; // 0x2bd070c
|
|
/* 02BD070C */ _t192 = cpu->r[16] + 0x00000024u;
|
|
/* 02BD070C */ cpu->r[6] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02BD0710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000005u);
|
|
/* 02BD0714 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0714 */ _t194 = _t193 & 0x00000001u;
|
|
/* 02BD0714 */ if (_t194) goto L_02BD0720; else goto L_02BD0718;
|
|
L_02BD0718: ; // 0x2bd0718
|
|
/* 02BD0718 */ cpu->r[10] = 0x00000001u;
|
|
/* 02BD071C */ _t195 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD071C */ rbrew_write8(cpu->mem, _t195, (uint8_t)cpu->r[10]);
|
|
L_02BD0720: ; // 0x2bd0720
|
|
/* 02BD0720 */ _t196 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BD0720 */ cpu->r[5] = rbrew_read32(cpu->mem, _t196);
|
|
L_02BD0724: ; // 0x2bd0724
|
|
/* 02BD0724 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02BD0728 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02BD072C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[5]);
|
|
/* 02BD0730 */ cpu->r[31] = cpu->r[31] + 0x00000068u;
|
|
/* 02BD0734 */ _t197 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0734 */ _t198 = _t197 & 0x00000001u;
|
|
/* 02BD0734 */ if (_t198) goto L_02BD02F8; else goto L_02BD0738;
|
|
L_02BD0738: ; // 0x2bd0738
|
|
/* 02BD0738 */ _t199 = cpu->r[29] + 0x000000BEu;
|
|
/* 02BD0738 */ cpu->r[8] = rbrew_read8(cpu->mem, _t199);
|
|
/* 02BD073C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD0740 */ _t200 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0740 */ _t201 = _t200 & 0x00000001u;
|
|
/* 02BD0740 */ if (_t201) goto L_02BD079C; else goto L_02BD0744;
|
|
L_02BD0744: ; // 0x2bd0744
|
|
/* 02BD0744 */ _t202 = cpu->r[1] + 0x00000009u;
|
|
/* 02BD0744 */ cpu->r[7] = rbrew_read8(cpu->mem, _t202);
|
|
/* 02BD0748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BD074C */ _t203 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD074C */ _t204 = _t203 & 0x00000001u;
|
|
/* 02BD074C */ if (_t204) goto L_02BD079C; else goto L_02BD0750;
|
|
L_02BD0750: ; // 0x2bd0750
|
|
/* 02BD0750 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD0754 */ _t205 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BD0754 */ rbrew_write16(cpu->mem, _t205, (uint16_t)cpu->r[0]);
|
|
/* 02BD0758 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BD075C */ _t206 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD075C */ cpu->r[0] = rbrew_read32(cpu->mem, _t206);
|
|
/* 02BD0760 */ _t207 = cpu->r[1] + 0x0000005Eu;
|
|
/* 02BD0760 */ rbrew_write16(cpu->mem, _t207, (uint16_t)cpu->r[7]);
|
|
/* 02BD0764 */ cpu->r[12] = 0x02BD0000u;
|
|
/* 02BD0768 */ _t208 = cpu->r[29] + 0x00000028u;
|
|
/* 02BD0768 */ rbrew_write32(cpu->mem, _t208, cpu->r[0]);
|
|
/* 02BD076C */ cpu->r[12] = cpu->r[12] + 0x000008FCu;
|
|
/* 02BD0770 */ _t209 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BD0770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t209);
|
|
/* 02BD0774 */ _t210 = cpu->r[1] + 0x00000060u;
|
|
/* 02BD0774 */ rbrew_write32(cpu->mem, _t210, cpu->r[12]);
|
|
/* 02BD0778 */ _t211 = cpu->r[1] + 0x00000060u;
|
|
/* 02BD0778 */ cpu->r[10] = rbrew_read32(cpu->mem, _t211);
|
|
/* 02BD077C */ _t212 = cpu->r[29] + 0x00000020u;
|
|
/* 02BD077C */ rbrew_write32(cpu->mem, _t212, cpu->r[0]);
|
|
/* 02BD0780 */ _t213 = cpu->r[29] + 0x00000024u;
|
|
/* 02BD0780 */ rbrew_write32(cpu->mem, _t213, cpu->r[10]);
|
|
/* 02BD0784 */ /* nop */
|
|
/* 02BD0788 */ _t214 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BD0788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02BD078C */ cpu->lr = cpu->r[0];
|
|
/* 02BD0790 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02BD0794 */ cpu->r[3] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BD0798 */ return;
|
|
L_02BD079C: ; // 0x2bd079c
|
|
/* 02BD079C */ _t215 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD079C */ cpu->r[4] = rbrew_read8(cpu->mem, _t215);
|
|
/* 02BD07A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BD07A4 */ _t216 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD07A4 */ _t217 = _t216 & 0x00000001u;
|
|
/* 02BD07A4 */ if (_t217) goto L_02BD07E0; else goto L_02BD07A8;
|
|
L_02BD07A8: ; // 0x2bd07a8
|
|
/* 02BD07A8 */ _t218 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD07A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t218);
|
|
/* 02BD07AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD07B0 */ _t219 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD07B0 */ _t220 = _t219 & 0x00000001u;
|
|
/* 02BD07B0 */ if (_t220) goto L_02BD07C0; else goto L_02BD07B4;
|
|
L_02BD07B4: ; // 0x2bd07b4
|
|
/* 02BD07B4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD07B8 */ _t221 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BD07B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t221);
|
|
/* 02BD07BC */ Gambit_fn_02BEDC48(cpu);
|
|
L_02BD07C0: ; // 0x2bd07c0
|
|
/* 02BD07C0 */ /* nop */
|
|
/* 02BD07C4 */ cpu->r[11] = 0x00000005u;
|
|
/* 02BD07C8 */ _t222 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BD07C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02BD07CC */ _t223 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BD07CC */ _t224 = cpu->r[9] & 0x00FFFFFFu;
|
|
/* 02BD07CC */ cpu->r[9] = _t224 | _t223;
|
|
/* 02BD07D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD07D4 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02BD07D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BD07DC */ return;
|
|
L_02BD07E0: ; // 0x2bd07e0
|
|
/* 02BD07E0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD07E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[5]);
|
|
/* 02BD07E8 */ _t225 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD07E8 */ _t226 = _t225 & 0x00000001u;
|
|
/* 02BD07E8 */ if (_t226) goto L_02BD07EC; else goto L_02BD082C;
|
|
L_02BD07EC: ; // 0x2bd07ec
|
|
/* 02BD07EC */ cpu->r[31] = 0x00000000u;
|
|
L_02BD07F0: ; // 0x2bd07f0
|
|
/* 02BD07F0 */ _t227 = cpu->r[29] + 0x00000088u;
|
|
/* 02BD07F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t227);
|
|
/* 02BD07F4 */ _t228 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BD07F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t228);
|
|
/* 02BD07F8 */ _t229 = cpu->r[4] + cpu->r[31];
|
|
/* 02BD07F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t229);
|
|
/* 02BD07FC */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BD0800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD0804 */ _t230 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0804 */ _t231 = _t230 & 0x00000001u;
|
|
/* 02BD0804 */ if (_t231) goto L_02BD0808; else goto L_02BD0818;
|
|
L_02BD0808: ; // 0x2bd0808
|
|
/* 02BD0808 */ _t232 = cpu->r[29] + 0x00000088u;
|
|
/* 02BD0808 */ cpu->r[5] = rbrew_read32(cpu->mem, _t232);
|
|
/* 02BD080C */ _t233 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BD080C */ cpu->r[3] = rbrew_read32(cpu->mem, _t233);
|
|
/* 02BD0810 */ _t234 = cpu->r[5] + cpu->r[31];
|
|
/* 02BD0810 */ cpu->r[4] = rbrew_read32(cpu->mem, _t234);
|
|
/* 02BD0814 */ Gambit_fn_02BC4FC0(cpu);
|
|
L_02BD0818: ; // 0x2bd0818
|
|
/* 02BD0818 */ _t235 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BD0818 */ cpu->r[5] = rbrew_read32(cpu->mem, _t235);
|
|
/* 02BD081C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02BD0820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[5]);
|
|
/* 02BD0824 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02BD0828 */ _t236 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0828 */ _t237 = _t236 & 0x00000001u;
|
|
/* 02BD0828 */ if (_t237) goto L_02BD07F0; else goto L_02BD082C;
|
|
L_02BD082C: ; // 0x2bd082c
|
|
/* 02BD082C */ _t238 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BD082C */ cpu->r[6] = rbrew_read32(cpu->mem, _t238);
|
|
/* 02BD0830 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BD0834 */ _t239 = cpu->r[6] + 0x00000050u;
|
|
/* 02BD0834 */ rbrew_write16(cpu->mem, _t239, (uint16_t)cpu->r[5]);
|
|
/* 02BD0838 */ _t240 = cpu->r[29] + 0x00000095u;
|
|
/* 02BD0838 */ rbrew_write8(cpu->mem, _t240, (uint8_t)cpu->r[9]);
|
|
/* 02BD083C */ _t241 = cpu->r[29] + 0x000000B8u;
|
|
/* 02BD083C */ rbrew_write32(cpu->mem, _t241, cpu->r[9]);
|
|
/* 02BD0840 */ _t242 = cpu->r[29] + 0x00000096u;
|
|
/* 02BD0840 */ rbrew_write8(cpu->mem, _t242, (uint8_t)cpu->r[9]);
|
|
/* 02BD0844 */ _t243 = cpu->r[29] + 0x000000BCu;
|
|
/* 02BD0844 */ rbrew_write8(cpu->mem, _t243, (uint8_t)cpu->r[9]);
|
|
/* 02BD0848 */ _t244 = cpu->r[29] + 0x00000098u;
|
|
/* 02BD0848 */ rbrew_write8(cpu->mem, _t244, (uint8_t)cpu->r[9]);
|
|
/* 02BD084C */ _t245 = cpu->r[29] + 0x00000097u;
|
|
/* 02BD084C */ rbrew_write8(cpu->mem, _t245, (uint8_t)cpu->r[9]);
|
|
/* 02BD0850 */ _t246 = cpu->r[29] + 0x00000099u;
|
|
/* 02BD0850 */ rbrew_write8(cpu->mem, _t246, (uint8_t)cpu->r[9]);
|
|
/* 02BD0854 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD0858 */ _t247 = cpu->r[29] + 0x00000094u;
|
|
/* 02BD0858 */ rbrew_write8(cpu->mem, _t247, (uint8_t)cpu->r[9]);
|
|
/* 02BD085C */ /* nop */
|
|
/* 02BD0860 */ _t248 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BD0860 */ _t249 = cpu->r[11] & 0x00FFFFFFu;
|
|
/* 02BD0860 */ cpu->r[11] = _t249 | _t248;
|
|
/* 02BD0864 */ _t250 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BD0864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t250);
|
|
/* 02BD0868 */ cpu->lr = cpu->r[0];
|
|
/* 02BD086C */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02BD0870 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BD0874 */ return;
|
|
}
|
|
|
|
// fn_02BD0878 @ 0x2bd0878
|
|
void Gambit_fn_02BD0878(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_02BD0878: ; // 0x2bd0878
|
|
/* 02BD0878 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD087C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD087C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD087C */ cpu->r[1] = _t0;
|
|
/* 02BD0880 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD0880 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BD0884 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD0884 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD0888 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD0888 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BD088C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD0890 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD0890 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD0894 */ _t5 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD0894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD0898 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BD089C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BD08A0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD08A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD08A0 */ if (_t7) goto L_02BD08A4; else goto L_02BD08E0;
|
|
L_02BD08A4: ; // 0x2bd08a4
|
|
/* 02BD08A4 */ cpu->r[30] = 0x00000000u;
|
|
L_02BD08A8: ; // 0x2bd08a8
|
|
/* 02BD08A8 */ _t8 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BD08A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD08AC */ _t9 = cpu->r[11] + cpu->r[30];
|
|
/* 02BD08AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD08B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02BD08B4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD08B4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD08B4 */ if (_t11) goto L_02BD08B8; else goto L_02BD08C4;
|
|
L_02BD08B8: ; // 0x2bd08b8
|
|
/* 02BD08B8 */ cpu->r[3] = cpu->r[11] + cpu->r[30];
|
|
/* 02BD08BC */ Gambit_fn_02B6796C(cpu);
|
|
/* 02BD08C0 */ _t12 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BD08C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
L_02BD08C4: ; // 0x2bd08c4
|
|
/* 02BD08C4 */ cpu->r[3] = cpu->r[11] + cpu->r[30];
|
|
/* 02BD08C8 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BD08CC */ _t13 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD08CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD08D0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02BD08D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BD08D8 */ cpu->r[30] = cpu->r[30] + 0x00000014u;
|
|
/* 02BD08DC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD08DC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD08DC */ if (_t15) goto L_02BD08A8; else goto L_02BD08E0;
|
|
L_02BD08E0: ; // 0x2bd08e0
|
|
/* 02BD08E0 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD08E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD08E4 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD08E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD08E8 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD08E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD08EC */ cpu->lr = cpu->r[0];
|
|
/* 02BD08F0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD08F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD08F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD08F8 */ return;
|
|
}
|
|
|
|
// fn_02BD087C @ 0x2bd087c
|
|
void Gambit_fn_02BD087C(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_02BD087C: ; // 0x2bd087c
|
|
/* 02BD087C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD087C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD087C */ cpu->r[1] = _t0;
|
|
/* 02BD0880 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD0880 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BD0884 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD0884 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD0888 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD0888 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BD088C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD0890 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD0890 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD0894 */ _t5 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD0894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD0898 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BD089C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BD08A0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD08A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD08A0 */ if (_t7) goto L_02BD08A4; else goto L_02BD08E0;
|
|
L_02BD08A4: ; // 0x2bd08a4
|
|
/* 02BD08A4 */ cpu->r[30] = 0x00000000u;
|
|
L_02BD08A8: ; // 0x2bd08a8
|
|
/* 02BD08A8 */ _t8 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BD08A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD08AC */ _t9 = cpu->r[11] + cpu->r[30];
|
|
/* 02BD08AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD08B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02BD08B4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD08B4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD08B4 */ if (_t11) goto L_02BD08B8; else goto L_02BD08C4;
|
|
L_02BD08B8: ; // 0x2bd08b8
|
|
/* 02BD08B8 */ cpu->r[3] = cpu->r[11] + cpu->r[30];
|
|
/* 02BD08BC */ Gambit_fn_02B6796C(cpu);
|
|
/* 02BD08C0 */ _t12 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BD08C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
L_02BD08C4: ; // 0x2bd08c4
|
|
/* 02BD08C4 */ cpu->r[3] = cpu->r[11] + cpu->r[30];
|
|
/* 02BD08C8 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BD08CC */ _t13 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD08CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD08D0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02BD08D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BD08D8 */ cpu->r[30] = cpu->r[30] + 0x00000014u;
|
|
/* 02BD08DC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD08DC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD08DC */ if (_t15) goto L_02BD08A8; else goto L_02BD08E0;
|
|
L_02BD08E0: ; // 0x2bd08e0
|
|
/* 02BD08E0 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD08E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD08E4 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD08E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD08E8 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD08E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD08EC */ cpu->lr = cpu->r[0];
|
|
/* 02BD08F0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD08F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD08F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD08F8 */ return;
|
|
}
|
|
|
|
// fn_02BD0900 @ 0x2bd0900
|
|
void Gambit_fn_02BD0900(CPUState* cpu) {
|
|
uint32_t _t0, _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_02BD0900: ; // 0x2bd0900
|
|
/* 02BD0900 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD0900 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD0900 */ cpu->r[1] = _t0;
|
|
/* 02BD0904 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD0904 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD0908 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD0908 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD090C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD0910 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD0910 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD0914 */ _t4 = cpu->r[31] + 0x000000BEu;
|
|
/* 02BD0914 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02BD0918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD091C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BD0920 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0920 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD0920 */ if (_t6) goto L_02BD0924; else goto L_02BD0938;
|
|
L_02BD0924: ; // 0x2bd0924
|
|
/* 02BD0924 */ _t7 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BD0924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD0928 */ cpu->r[4] = 0x00000006u;
|
|
/* 02BD092C */ _t8 = cpu->r[12] + 0x00000064u;
|
|
/* 02BD092C */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 02BD0930 */ _t9 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BD0930 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD0934 */ Gambit_fn_02BC3A98(cpu);
|
|
L_02BD0938: ; // 0x2bd0938
|
|
/* 02BD0938 */ _t10 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BD0938 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD093C */ Gambit_fn_02BC28A8(cpu);
|
|
/* 02BD0940 */ _t11 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BD0940 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD0944 */ Gambit_fn_02BC2DA0(cpu);
|
|
/* 02BD0948 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BD094C */ _t12 = cpu->r[31] + 0x00000096u;
|
|
/* 02BD094C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[11]);
|
|
/* 02BD0950 */ _t13 = cpu->r[31] + 0x000000BCu;
|
|
/* 02BD0950 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[11]);
|
|
/* 02BD0954 */ _t14 = cpu->r[31] + 0x00000099u;
|
|
/* 02BD0954 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[11]);
|
|
/* 02BD0958 */ _t15 = cpu->r[31] + 0x00000094u;
|
|
/* 02BD0958 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[11]);
|
|
/* 02BD095C */ _t16 = cpu->r[31] + 0x00000095u;
|
|
/* 02BD095C */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[11]);
|
|
/* 02BD0960 */ _t17 = cpu->r[31] + 0x000000B8u;
|
|
/* 02BD0960 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02BD0964 */ _t18 = cpu->r[31] + 0x00000097u;
|
|
/* 02BD0964 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[11]);
|
|
/* 02BD0968 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD096C */ _t19 = cpu->r[31] + 0x00000098u;
|
|
/* 02BD096C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[11]);
|
|
/* 02BD0970 */ Gambit_fn_02BD0878(cpu);
|
|
/* 02BD0974 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD0978 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD0978 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD097C */ _t21 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BD097C */ _t22 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BD097C */ cpu->r[31] = _t22 | _t21;
|
|
/* 02BD0980 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD0980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD0984 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BD0988 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD0988 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD098C */ cpu->lr = cpu->r[0];
|
|
/* 02BD0990 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD0994 */ return;
|
|
}
|
|
|
|
// fn_02BD0998 @ 0x2bd0998
|
|
void Gambit_fn_02BD0998(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BD0998: ; // 0x2bd0998
|
|
/* 02BD0998 */ _t0 = cpu->r[1] + 0xFFFFFEE8u;
|
|
/* 02BD0998 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD0998 */ cpu->r[1] = _t0;
|
|
/* 02BD099C */ /* nop */
|
|
/* 02BD09A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD09A4 */ _t1 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02BD09A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD09A8 */ cpu->r[25] = cpu->r[3];
|
|
/* 02BD09AC */ _t2 = cpu->r[25] + 0x0000009Cu;
|
|
/* 02BD09AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD09B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD09B4 */ _t3 = cpu->r[25] + 0x0000009Cu;
|
|
/* 02BD09B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02BD09B8 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BD09BC */ _t4 = cpu->r[25] + 0x00000080u;
|
|
/* 02BD09BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD09C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD09C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[10]);
|
|
/* 02BD09C8 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD09C8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD09C8 */ if (_t6) goto L_02BD09CC; else goto L_02BD0A00;
|
|
L_02BD09CC: ; // 0x2bd09cc
|
|
/* 02BD09CC */ cpu->r[6] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02BD09D0 */ cpu->r[4] = 0x00000000u;
|
|
L_02BD09D4: ; // 0x2bd09d4
|
|
/* 02BD09D4 */ _t7 = cpu->r[25] + 0x00000088u;
|
|
/* 02BD09D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD09D8 */ _t8 = cpu->r[25] + 0x00000090u;
|
|
/* 02BD09D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD09DC */ _t9 = cpu->r[10] + cpu->r[4];
|
|
/* 02BD09DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD09E0 */ _t10 = cpu->r[6] + 0x00000004u;
|
|
/* 02BD09E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BD09E0 */ cpu->r[6] = _t10;
|
|
/* 02BD09E4 */ _t11 = cpu->r[12] + cpu->r[4];
|
|
/* 02BD09E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD09E8 */ _t12 = cpu->r[10] + cpu->r[4];
|
|
/* 02BD09E8 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 02BD09EC */ _t13 = cpu->r[25] + 0x00000080u;
|
|
/* 02BD09EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD09F0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02BD09F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02BD09F8 */ cpu->r[4] = cpu->r[4] + 0x00000004u;
|
|
/* 02BD09FC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD09FC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD09FC */ if (_t15) goto L_02BD09D4; else goto L_02BD0A00;
|
|
L_02BD0A00: ; // 0x2bd0a00
|
|
/* 02BD0A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD0A04 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0A04 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD0A04 */ if (_t17) goto L_02BD0C80; else goto L_02BD0A08;
|
|
L_02BD0A08: ; // 0x2bd0a08
|
|
/* 02BD0A08 */ cpu->r[24] = 0x101D0000u;
|
|
/* 02BD0A0C */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BD0A10 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BD0A14 */ cpu->r[23] = 0x101D0000u;
|
|
/* 02BD0A18 */ cpu->r[30] = cpu->r[1] + 0x00000070u;
|
|
/* 02BD0A1C */ cpu->r[29] = 0x00000000u;
|
|
L_02BD0A20: ; // 0x2bd0a20
|
|
/* 02BD0A20 */ _t18 = cpu->r[25] + 0x0000009Cu;
|
|
/* 02BD0A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD0A24 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD0A28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02BD0A2C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0A2C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD0A2C */ if (_t20) goto L_02BD0A30; else goto L_02BD0B18;
|
|
L_02BD0A30: ; // 0x2bd0a30
|
|
/* 02BD0A30 */ _t21 = cpu->r[25] + 0x00000090u;
|
|
/* 02BD0A30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD0A34 */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD0A34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD0A38 */ _t23 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD0A38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD0A3C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD0A40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 02BD0A44 */ cpu->r[8] = cpu->r[4];
|
|
/* 02BD0A48 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0A48 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD0A48 */ if (_t25) goto L_02BD0A5C; else goto L_02BD0A4C;
|
|
L_02BD0A4C: ; // 0x2bd0a4c
|
|
/* 02BD0A4C */ goto L_02BD0B04;
|
|
L_02BD0A50: ; // 0x2bd0a50
|
|
/* 02BD0A50 */ _t26 = cpu->r[11] + cpu->r[8];
|
|
/* 02BD0A50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD0A54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02BD0A58 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0A58 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BD0A58 */ if (_t28) goto L_02BD0A5C; else goto L_02BD0B04;
|
|
L_02BD0A5C: ; // 0x2bd0a5c
|
|
/* 02BD0A5C */ _t29 = cpu->r[25] + 0x00000084u;
|
|
/* 02BD0A5C */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD0A60 */ _t30 = cpu->r[25] + 0x0000008Cu;
|
|
/* 02BD0A60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD0A64 */ cpu->r[3] = cpu->r[5] + cpu->r[29];
|
|
/* 02BD0A68 */ cpu->r[4] = cpu->r[7] + cpu->r[4];
|
|
/* 02BD0A6C */ Gambit_fn_02BF6598(cpu);
|
|
/* 02BD0A70 */ cpu->r[8] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02BD0A74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD0A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD0A78 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0A78 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BD0A78 */ if (_t32) goto L_02BD0A7C; else goto L_02BD0B18;
|
|
L_02BD0A7C: ; // 0x2bd0a7c
|
|
/* 02BD0A7C */ _t33 = cpu->r[27] + 0xFFFFB77Cu;
|
|
/* 02BD0A7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD0A80 */ _t34 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD0A80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD0A84 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BD0A88 */ cpu->r[22] = cpu->r[3];
|
|
/* 02BD0A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BD0A8C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0A8C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BD0A8C */ if (_t36) goto L_02BD0A90; else goto L_02BD0AA8;
|
|
L_02BD0A90: ; // 0x2bd0a90
|
|
/* 02BD0A90 */ _t37 = cpu->r[25] + 0x00000084u;
|
|
/* 02BD0A90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD0A94 */ _t38 = cpu->r[26] + 0xFFFFB790u;
|
|
/* 02BD0A94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD0A98 */ cpu->r[4] = cpu->r[10] + cpu->r[29];
|
|
/* 02BD0A9C */ Gambit_fn_02BF84F0(cpu);
|
|
/* 02BD0AA0 */ cpu->r[22] = cpu->r[3];
|
|
/* 02BD0AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BD0AA4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0AA4 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BD0AA4 */ if (_t40) goto L_02BD0AB4; else goto L_02BD0AA8;
|
|
L_02BD0AA8: ; // 0x2bd0aa8
|
|
/* 02BD0AA8 */ _t41 = cpu->r[22] + 0x00000024u;
|
|
/* 02BD0AA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD0AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000006u);
|
|
/* 02BD0AB0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0AB0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BD0AB0 */ if (_t43) goto L_02BD0AB4; else goto L_02BD0C70;
|
|
L_02BD0AB4: ; // 0x2bd0ab4
|
|
/* 02BD0AB4 */ _t44 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD0AB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD0AB8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BD0ABC */ Gambit_fn_02BCE014(cpu);
|
|
/* 02BD0AC0 */ _t45 = cpu->r[25] + 0x00000080u;
|
|
/* 02BD0AC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD0AC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02BD0AC8 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0AC8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BD0AC8 */ if (_t47) goto L_02BD0ACC; else goto L_02BD0C70;
|
|
L_02BD0ACC: ; // 0x2bd0acc
|
|
/* 02BD0ACC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000014u);
|
|
/* 02BD0AD0 */ _t48 = cpu->r[25] + 0x0000005Cu;
|
|
/* 02BD0AD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD0AD4 */ _t49 = cpu->r[4] + cpu->r[0];
|
|
/* 02BD0AD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD0AD8 */ cpu->r[5] = cpu->r[6] + 0xFFFFFFFEu;
|
|
/* 02BD0ADC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
|
|
/* 02BD0AE0 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD0AE0 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BD0AE0 */ if (_t51) goto L_02BD0C70; else goto L_02BD0AE4;
|
|
L_02BD0AE4: ; // 0x2bd0ae4
|
|
/* 02BD0AE4 */ _t52 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD0AE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BD0AE8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BD0AEC */ Gambit_fn_02BCE024(cpu);
|
|
/* 02BD0AF0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD0AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD0AF4 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02BD0AF8 */ cpu->r[29] = cpu->r[29] + 0x00000068u;
|
|
/* 02BD0AFC */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0AFC */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BD0AFC */ if (_t54) goto L_02BD0B00; else goto L_02BD0A20;
|
|
L_02BD0B00: ; // 0x2bd0b00
|
|
/* 02BD0B00 */ goto L_02BD0C80;
|
|
L_02BD0B04: ; // 0x2bd0b04
|
|
/* 02BD0B04 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02BD0B08 */ cpu->r[4] = cpu->r[4] + 0x00000068u;
|
|
/* 02BD0B0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02BD0B10 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 02BD0B14 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0B14 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BD0B14 */ if (_t56) goto L_02BD0A50; else goto L_02BD0B18;
|
|
L_02BD0B18: ; // 0x2bd0b18
|
|
/* 02BD0B18 */ _t57 = cpu->r[23] + 0xFFFFB770u;
|
|
/* 02BD0B18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD0B1C */ _t58 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD0B1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BD0B20 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BD0B24 */ _t59 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD0B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BD0B28 */ cpu->r[9] = cpu->r[3];
|
|
/* 02BD0B2C */ cpu->r[3] = cpu->r[25];
|
|
/* 02BD0B30 */ cpu->r[4] = cpu->r[0];
|
|
/* 02BD0B34 */ Gambit_fn_02BCE014(cpu);
|
|
/* 02BD0B38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD0B3C */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD0B40 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0B40 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BD0B40 */ if (_t61) goto L_02BD0B70; else goto L_02BD0B44;
|
|
L_02BD0B44: ; // 0x2bd0b44
|
|
/* 02BD0B44 */ _t62 = cpu->r[25] + 0x00000080u;
|
|
/* 02BD0B44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BD0B48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]);
|
|
/* 02BD0B4C */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0B4C */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BD0B4C */ if (_t64) goto L_02BD0B50; else goto L_02BD0C70;
|
|
L_02BD0B50: ; // 0x2bd0b50
|
|
/* 02BD0B50 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BD0B54 */ cpu->r[4] = cpu->r[0];
|
|
/* 02BD0B58 */ Gambit_fn_02BCE024(cpu);
|
|
/* 02BD0B5C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD0B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD0B60 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02BD0B64 */ cpu->r[29] = cpu->r[29] + 0x00000068u;
|
|
/* 02BD0B68 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0B68 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02BD0B68 */ if (_t66) goto L_02BD0B6C; else goto L_02BD0A20;
|
|
L_02BD0B6C: ; // 0x2bd0b6c
|
|
/* 02BD0B6C */ goto L_02BD0C80;
|
|
L_02BD0B70: ; // 0x2bd0b70
|
|
/* 02BD0B70 */ _t67 = cpu->r[27] + 0xFFFFB77Cu;
|
|
/* 02BD0B70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BD0B74 */ cpu->r[4] = cpu->r[0];
|
|
/* 02BD0B78 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BD0B7C */ cpu->r[22] = cpu->r[3];
|
|
/* 02BD0B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BD0B80 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0B80 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BD0B80 */ if (_t69) goto L_02BD0B84; else goto L_02BD0BF0;
|
|
L_02BD0B84: ; // 0x2bd0b84
|
|
/* 02BD0B84 */ _t70 = cpu->r[25] + 0x00000084u;
|
|
/* 02BD0B84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BD0B88 */ _t71 = cpu->r[26] + 0xFFFFB790u;
|
|
/* 02BD0B88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BD0B8C */ cpu->r[4] = cpu->r[8] + cpu->r[29];
|
|
/* 02BD0B90 */ Gambit_fn_02BF84F0(cpu);
|
|
/* 02BD0B94 */ cpu->r[22] = cpu->r[3];
|
|
/* 02BD0B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BD0B98 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0B98 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02BD0B98 */ if (_t73) goto L_02BD0B9C; else goto L_02BD0BF0;
|
|
L_02BD0B9C: ; // 0x2bd0b9c
|
|
/* 02BD0B9C */ _t74 = cpu->r[25] + 0x00000080u;
|
|
/* 02BD0B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BD0BA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02BD0BA4 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0BA4 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02BD0BA4 */ if (_t76) goto L_02BD0BA8; else goto L_02BD0C70;
|
|
L_02BD0BA8: ; // 0x2bd0ba8
|
|
/* 02BD0BA8 */ _t77 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD0BA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BD0BAC */ cpu->r[3] = cpu->r[25];
|
|
/* 02BD0BB0 */ Gambit_fn_02BCE024(cpu);
|
|
/* 02BD0BB4 */ _t78 = cpu->r[23] + 0xFFFFB770u;
|
|
/* 02BD0BB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BD0BB8 */ _t79 = cpu->r[11] + 0x00000030u;
|
|
/* 02BD0BB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BD0BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD0BC0 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0BC0 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02BD0BC0 */ if (_t81) goto L_02BD0C70; else goto L_02BD0BC4;
|
|
L_02BD0BC4: ; // 0x2bd0bc4
|
|
/* 02BD0BC4 */ _t82 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD0BC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BD0BC8 */ _t83 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD0BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BD0BCC */ _t84 = cpu->r[25] + 0x00000084u;
|
|
/* 02BD0BCC */ cpu->r[5] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BD0BD0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD0BD4 */ cpu->r[4] = cpu->r[5] + cpu->r[29];
|
|
/* 02BD0BD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD0BDC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD0BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD0BE0 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02BD0BE4 */ cpu->r[29] = cpu->r[29] + 0x00000068u;
|
|
/* 02BD0BE8 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0BE8 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02BD0BE8 */ if (_t86) goto L_02BD0BEC; else goto L_02BD0A20;
|
|
L_02BD0BEC: ; // 0x2bd0bec
|
|
/* 02BD0BEC */ goto L_02BD0C80;
|
|
L_02BD0BF0: ; // 0x2bd0bf0
|
|
/* 02BD0BF0 */ _t87 = cpu->r[25] + 0x00000080u;
|
|
/* 02BD0BF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BD0BF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02BD0BF8 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0BF8 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02BD0BF8 */ if (_t89) goto L_02BD0BFC; else goto L_02BD0C18;
|
|
L_02BD0BFC: ; // 0x2bd0bfc
|
|
/* 02BD0BFC */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x00000014u);
|
|
/* 02BD0C00 */ _t90 = cpu->r[25] + 0x0000005Cu;
|
|
/* 02BD0C00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BD0C04 */ cpu->r[3] = cpu->r[10] + cpu->r[9];
|
|
/* 02BD0C08 */ Gambit_fn_02B679D4(cpu);
|
|
/* 02BD0C0C */ _t91 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD0C0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BD0C10 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BD0C14 */ Gambit_fn_02BCE024(cpu);
|
|
L_02BD0C18: ; // 0x2bd0c18
|
|
/* 02BD0C18 */ _t92 = cpu->r[22] + 0x00000034u;
|
|
/* 02BD0C18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BD0C1C */ _t93 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD0C1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BD0C20 */ _t94 = cpu->r[11] + 0x00000034u;
|
|
/* 02BD0C20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BD0C24 */ cpu->ctr = cpu->r[12];
|
|
/* 02BD0C28 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BD0C2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD0C30 */ _t95 = cpu->r[26] + 0xFFFFB790u;
|
|
/* 02BD0C30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BD0C34 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BD0C38 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BD0C3C */ cpu->r[7] = 0x101D0000u;
|
|
/* 02BD0C40 */ _t96 = cpu->r[7] + 0xFFFFB798u;
|
|
/* 02BD0C40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BD0C44 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BD0C48 */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BD0C4C */ cpu->r[3] = cpu->r[22];
|
|
/* 02BD0C50 */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BD0C54 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BD0C58 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BD0C5C */ _t97 = cpu->r[27] + 0xFFFFB77Cu;
|
|
/* 02BD0C5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02BD0C60 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BD0C64 */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BD0C68 */ _t98 = cpu->r[24] + 0xFFFFB778u;
|
|
/* 02BD0C68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02BD0C6C */ Gambit_fn_02BEDC48(cpu);
|
|
L_02BD0C70: ; // 0x2bd0c70
|
|
/* 02BD0C70 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD0C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD0C74 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02BD0C78 */ cpu->r[29] = cpu->r[29] + 0x00000068u;
|
|
/* 02BD0C7C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0C7C */ _t100 = _t99 & 0x00000001u;
|
|
/* 02BD0C7C */ if (_t100) goto L_02BD0C80; else goto L_02BD0A20;
|
|
L_02BD0C80: ; // 0x2bd0c80
|
|
/* 02BD0C80 */ _t101 = cpu->r[25] + 0x0000009Cu;
|
|
/* 02BD0C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BD0C84 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD0C88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02BD0C8C */ _t102 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0C8C */ _t103 = _t102 & 0x00000001u;
|
|
/* 02BD0C8C */ if (_t103) goto L_02BD0C90; else goto L_02BD0CBC;
|
|
L_02BD0C90: ; // 0x2bd0c90
|
|
/* 02BD0C90 */ cpu->r[31] = 0x00000000u;
|
|
L_02BD0C94: ; // 0x2bd0c94
|
|
/* 02BD0C94 */ _t104 = cpu->r[25] + 0x00000084u;
|
|
/* 02BD0C94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02BD0C98 */ _t105 = cpu->r[25] + 0x0000008Cu;
|
|
/* 02BD0C98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02BD0C9C */ cpu->r[3] = cpu->r[5] + cpu->r[31];
|
|
/* 02BD0CA0 */ cpu->r[4] = cpu->r[7] + cpu->r[31];
|
|
/* 02BD0CA4 */ Gambit_fn_02BECBBC(cpu);
|
|
/* 02BD0CA8 */ _t106 = cpu->r[25] + 0x0000009Cu;
|
|
/* 02BD0CA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02BD0CAC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02BD0CB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 02BD0CB4 */ cpu->r[31] = cpu->r[31] + 0x00000068u;
|
|
/* 02BD0CB8 */ _t107 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0CB8 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02BD0CB8 */ if (_t108) goto L_02BD0C94; else goto L_02BD0CBC;
|
|
L_02BD0CBC: ; // 0x2bd0cbc
|
|
/* 02BD0CBC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD0CC0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BD0CC4 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BD0CC8 */ /* nop */
|
|
/* 02BD0CCC */ _t109 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02BD0CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BD0CD0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD0CD4 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
|
|
/* 02BD0CD8 */ return;
|
|
}
|
|
|
|
// fn_02BD0CDC @ 0x2bd0cdc
|
|
void Gambit_fn_02BD0CDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD0CDC: ; // 0x2bd0cdc
|
|
/* 02BD0CDC */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02BD0CDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD0CDC */ cpu->r[1] = _t0;
|
|
/* 02BD0CE0 */ /* nop */
|
|
/* 02BD0CE4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD0CE8 */ _t1 = cpu->r[1] + 0x00000084u;
|
|
/* 02BD0CE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD0CEC */ cpu->r[29] = cpu->r[4];
|
|
/* 02BD0CF0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD0CF4 */ _t2 = cpu->r[28] + 0x00000084u;
|
|
/* 02BD0CF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD0CF8 */ _t3 = cpu->r[3] + 0x00000064u;
|
|
/* 02BD0CF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD0CFC */ _t4 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD0CFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD0D00 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD0D04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD0D08 */ cpu->r[23] = cpu->r[3];
|
|
/* 02BD0D0C */ cpu->r[8] = 0x00000003u;
|
|
/* 02BD0D10 */ _t5 = cpu->r[29] + 0x00000001u;
|
|
/* 02BD0D10 */ cpu->r[24] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BD0D14 */ _t6 = ~cpu->r[23];
|
|
/* 02BD0D14 */ cpu->r[7] = cpu->r[8] & _t6;
|
|
/* 02BD0D18 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 02BD0D1C */ cpu->r[9] = cpu->r[23] + cpu->r[7];
|
|
/* 02BD0D20 */ _t7 = cpu->r[29] + 0x00000002u;
|
|
/* 02BD0D20 */ cpu->r[31] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02BD0D24 */ cpu->r[30] = cpu->r[9] + 0x00000001u;
|
|
/* 02BD0D28 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BD0D2C */ _t8 = cpu->r[28] + 0x00000080u;
|
|
/* 02BD0D2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD0D30 */ cpu->r[25] = cpu->r[3];
|
|
/* 02BD0D34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[10]);
|
|
/* 02BD0D38 */ cpu->r[27] = 0x00000000u;
|
|
/* 02BD0D3C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD0D3C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD0D3C */ if (_t10) goto L_02BD0FB8; else goto L_02BD0D40;
|
|
L_02BD0D40: ; // 0x2bd0d40
|
|
/* 02BD0D40 */ _t11 = cpu->r[28] + 0x000000B8u;
|
|
/* 02BD0D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD0D44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[25]);
|
|
/* 02BD0D48 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0D48 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD0D48 */ if (_t13) goto L_02BD0D4C; else goto L_02BD0FB8;
|
|
L_02BD0D4C: ; // 0x2bd0d4c
|
|
/* 02BD0D4C */ _t14 = cpu->r[29] + 0x00000008u;
|
|
/* 02BD0D4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02BD0D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD0D54 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0D54 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD0D54 */ if (_t16) goto L_02BD0D58; else goto L_02BD0E08;
|
|
L_02BD0D58: ; // 0x2bd0d58
|
|
/* 02BD0D58 */ _t17 = cpu->r[28] + 0x00000094u;
|
|
/* 02BD0D58 */ cpu->r[12] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02BD0D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD0D60 */ cpu->r[26] = cpu->r[28] + 0x00000094u;
|
|
/* 02BD0D64 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0D64 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD0D64 */ if (_t19) goto L_02BD0D68; else goto L_02BD0D74;
|
|
L_02BD0D68: ; // 0x2bd0d68
|
|
/* 02BD0D68 */ _t20 = cpu->r[26] + 0x00000001u;
|
|
/* 02BD0D68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02BD0D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD0D70 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0D70 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD0D70 */ if (_t22) goto L_02BD0D98; else goto L_02BD0D74;
|
|
L_02BD0D74: ; // 0x2bd0d74
|
|
/* 02BD0D74 */ _t23 = cpu->r[28] + 0x00000098u;
|
|
/* 02BD0D74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02BD0D78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 02BD0D7C */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0D7C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD0D7C */ if (_t25) goto L_02BD0E7C; else goto L_02BD0D80;
|
|
L_02BD0D80: ; // 0x2bd0d80
|
|
/* 02BD0D80 */ _t26 = cpu->r[28] + 0x00000099u;
|
|
/* 02BD0D80 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[27]);
|
|
/* 02BD0D84 */ _t27 = cpu->r[28] + 0x00000096u;
|
|
/* 02BD0D84 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[27]);
|
|
/* 02BD0D88 */ _t28 = cpu->r[28] + 0x00000098u;
|
|
/* 02BD0D88 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[27]);
|
|
/* 02BD0D8C */ _t29 = cpu->r[28] + 0x00000097u;
|
|
/* 02BD0D8C */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[27]);
|
|
/* 02BD0D90 */ _t30 = cpu->r[26] + 0x00000001u;
|
|
/* 02BD0D90 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[27]);
|
|
/* 02BD0D94 */ _t31 = cpu->r[26] + 0x00000000u;
|
|
/* 02BD0D94 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[27]);
|
|
L_02BD0D98: ; // 0x2bd0d98
|
|
/* 02BD0D98 */ cpu->r[21] = cpu->r[24];
|
|
/* 02BD0D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02BD0D9C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD0D9C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BD0D9C */ if (_t33) goto L_02BD0DA0; else goto L_02BD0FD0;
|
|
L_02BD0DA0: ; // 0x2bd0da0
|
|
/* 02BD0DA0 */ cpu->r[22] = 0x00000000u;
|
|
/* 02BD0DA4 */ cpu->r[6] = cpu->r[29] + cpu->r[23];
|
|
/* 02BD0DA8 */ cpu->r[23] = cpu->r[22];
|
|
/* 02BD0DAC */ cpu->r[26] = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BD0DB0 */ cpu->r[29] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BD0DB4 */ cpu->r[26] = cpu->r[26] - cpu->r[30];
|
|
/* 02BD0DB8 */ cpu->r[31] = cpu->r[30];
|
|
L_02BD0DBC: ; // 0x2bd0dbc
|
|
/* 02BD0DBC */ _t34 = cpu->r[28] + 0x0000008Cu;
|
|
/* 02BD0DBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD0DC0 */ cpu->r[3] = cpu->r[12] + cpu->r[22];
|
|
/* 02BD0DC4 */ _t35 = cpu->r[3] + 0x00000064u;
|
|
/* 02BD0DC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD0DC8 */ _t36 = cpu->r[7] + 0x00000024u;
|
|
/* 02BD0DC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD0DCC */ cpu->ctr = cpu->r[0];
|
|
/* 02BD0DD0 */ _t37 = cpu->r[26] + cpu->r[31];
|
|
/* 02BD0DD0 */ cpu->r[20] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02BD0DD0 */ cpu->r[26] = _t37;
|
|
/* 02BD0DD4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD0DD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD0DDC */ _t38 = cpu->r[28] + 0x00000090u;
|
|
/* 02BD0DDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD0DE0 */ cpu->r[29] = cpu->r[29] + cpu->r[30];
|
|
/* 02BD0DE4 */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 02BD0DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02BD0DE8 */ cpu->r[22] = cpu->r[22] + 0x00000068u;
|
|
/* 02BD0DEC */ _t39 = cpu->r[12] + cpu->r[23];
|
|
/* 02BD0DEC */ rbrew_write32(cpu->mem, _t39, cpu->r[20]);
|
|
/* 02BD0DF0 */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 02BD0DF4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0DF4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BD0DF4 */ if (_t41) goto L_02BD0DF8; else goto L_02BD0DBC;
|
|
L_02BD0DF8: ; // 0x2bd0df8
|
|
/* 02BD0DF8 */ _t42 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BD0DF8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t42);
|
|
/* 02BD0DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD0E00 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0E00 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BD0E00 */ if (_t44) goto L_02BD0E04; else goto L_02BD0FF4;
|
|
L_02BD0E04: ; // 0x2bd0e04
|
|
/* 02BD0E04 */ goto L_02BD0FDC;
|
|
L_02BD0E08: ; // 0x2bd0e08
|
|
/* 02BD0E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BD0E0C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0E0C */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BD0E0C */ if (_t46) goto L_02BD0E10; else goto L_02BD0FB8;
|
|
L_02BD0E10: ; // 0x2bd0e10
|
|
/* 02BD0E10 */ _t47 = cpu->r[28] + 0x00000094u;
|
|
/* 02BD0E10 */ cpu->r[6] = rbrew_read8(cpu->mem, _t47);
|
|
/* 02BD0E14 */ _t48 = cpu->r[29] + 0x00000009u;
|
|
/* 02BD0E14 */ cpu->r[22] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02BD0E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD0E1C */ cpu->r[26] = cpu->r[28] + 0x00000094u;
|
|
/* 02BD0E20 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0E20 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BD0E20 */ if (_t50) goto L_02BD0E24; else goto L_02BD0E58;
|
|
L_02BD0E24: ; // 0x2bd0e24
|
|
/* 02BD0E24 */ _t51 = cpu->r[26] + 0x00000001u;
|
|
/* 02BD0E24 */ cpu->r[7] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02BD0E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BD0E2C */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0E2C */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BD0E2C */ if (_t53) goto L_02BD0E30; else goto L_02BD0E58;
|
|
L_02BD0E30: ; // 0x2bd0e30
|
|
/* 02BD0E30 */ _t54 = cpu->r[28] + 0x00000096u;
|
|
/* 02BD0E30 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[24]);
|
|
/* 02BD0E34 */ cpu->r[0] = 0x00000002u;
|
|
/* 02BD0E38 */ _t55 = cpu->r[28] + 0x00000098u;
|
|
/* 02BD0E38 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[25]);
|
|
/* 02BD0E3C */ _t56 = cpu->r[28] + 0x00000099u;
|
|
/* 02BD0E3C */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[0]);
|
|
/* 02BD0E40 */ _t57 = cpu->r[28] + 0x00000097u;
|
|
/* 02BD0E40 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[31]);
|
|
/* 02BD0E44 */ _t58 = cpu->r[29] + 0x0000000Au;
|
|
/* 02BD0E44 */ cpu->r[31] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02BD0E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD0E4C */ _t59 = cpu->r[29] + 0x0000000Bu;
|
|
/* 02BD0E4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t59);
|
|
/* 02BD0E50 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0E50 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BD0E50 */ if (_t61) goto L_02BD0F58; else goto L_02BD0E54;
|
|
L_02BD0E54: ; // 0x2bd0e54
|
|
/* 02BD0E54 */ goto L_02BD0F00;
|
|
L_02BD0E58: ; // 0x2bd0e58
|
|
/* 02BD0E58 */ _t62 = cpu->r[28] + 0x00000096u;
|
|
/* 02BD0E58 */ cpu->r[9] = rbrew_read8(cpu->mem, _t62);
|
|
/* 02BD0E5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[24]);
|
|
/* 02BD0E60 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0E60 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BD0E60 */ if (_t64) goto L_02BD0E64; else goto L_02BD0E70;
|
|
L_02BD0E64: ; // 0x2bd0e64
|
|
/* 02BD0E64 */ _t65 = cpu->r[28] + 0x00000097u;
|
|
/* 02BD0E64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t65);
|
|
/* 02BD0E68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02BD0E6C */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0E6C */ _t67 = _t66 & 0x00000001u;
|
|
/* 02BD0E6C */ if (_t67) goto L_02BD0E94; else goto L_02BD0E70;
|
|
L_02BD0E70: ; // 0x2bd0e70
|
|
/* 02BD0E70 */ _t68 = cpu->r[28] + 0x00000098u;
|
|
/* 02BD0E70 */ cpu->r[6] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02BD0E74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[25]);
|
|
/* 02BD0E78 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0E78 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02BD0E78 */ if (_t70) goto L_02BD0EB8; else goto L_02BD0E7C;
|
|
L_02BD0E7C: ; // 0x2bd0e7c
|
|
/* 02BD0E7C */ /* nop */
|
|
/* 02BD0E80 */ _t71 = cpu->r[1] + 0x00000084u;
|
|
/* 02BD0E80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BD0E84 */ cpu->lr = cpu->r[0];
|
|
/* 02BD0E88 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BD0E8C */ cpu->r[3] = 0x00000002u;
|
|
/* 02BD0E90 */ return;
|
|
L_02BD0E94: ; // 0x2bd0e94
|
|
/* 02BD0E94 */ _t72 = cpu->r[28] + 0x00000098u;
|
|
/* 02BD0E94 */ cpu->r[6] = rbrew_read8(cpu->mem, _t72);
|
|
/* 02BD0E98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[25]);
|
|
/* 02BD0E9C */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD0E9C */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BD0E9C */ if (_t74) goto L_02BD0E7C; else goto L_02BD0EA0;
|
|
L_02BD0EA0: ; // 0x2bd0ea0
|
|
/* 02BD0EA0 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0EA0 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02BD0EA0 */ if (_t76) goto L_02BD0EB8; else goto L_02BD0EA4;
|
|
L_02BD0EA4: ; // 0x2bd0ea4
|
|
/* 02BD0EA4 */ _t77 = cpu->r[28] + 0x00000099u;
|
|
/* 02BD0EA4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t77);
|
|
/* 02BD0EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02BD0EAC */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0EAC */ _t79 = _t78 & 0x00000001u;
|
|
/* 02BD0EAC */ if (_t79) goto L_02BD0EE4; else goto L_02BD0EB0;
|
|
L_02BD0EB0: ; // 0x2bd0eb0
|
|
/* 02BD0EB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[25]);
|
|
/* 02BD0EB4 */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD0EB4 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02BD0EB4 */ if (_t81) goto L_02BD0EB8; else goto L_02BD0E7C;
|
|
L_02BD0EB8: ; // 0x2bd0eb8
|
|
/* 02BD0EB8 */ _t82 = cpu->r[28] + 0x00000096u;
|
|
/* 02BD0EB8 */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[24]);
|
|
/* 02BD0EBC */ cpu->r[0] = 0x00000002u;
|
|
/* 02BD0EC0 */ _t83 = cpu->r[28] + 0x00000097u;
|
|
/* 02BD0EC0 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[31]);
|
|
/* 02BD0EC4 */ _t84 = cpu->r[28] + 0x00000099u;
|
|
/* 02BD0EC4 */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[0]);
|
|
/* 02BD0EC8 */ _t85 = cpu->r[28] + 0x00000098u;
|
|
/* 02BD0EC8 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[25]);
|
|
/* 02BD0ECC */ _t86 = cpu->r[26] + 0x00000001u;
|
|
/* 02BD0ECC */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[27]);
|
|
/* 02BD0ED0 */ _t87 = cpu->r[26] + 0x00000000u;
|
|
/* 02BD0ED0 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[27]);
|
|
/* 02BD0ED4 */ _t88 = cpu->r[26] + cpu->r[22];
|
|
/* 02BD0ED4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t88);
|
|
/* 02BD0ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD0EDC */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0EDC */ _t90 = _t89 & 0x00000001u;
|
|
/* 02BD0EDC */ if (_t90) goto L_02BD0EF0; else goto L_02BD0EE0;
|
|
L_02BD0EE0: ; // 0x2bd0ee0
|
|
/* 02BD0EE0 */ goto L_02BD0F78;
|
|
L_02BD0EE4: ; // 0x2bd0ee4
|
|
/* 02BD0EE4 */ _t91 = cpu->r[26] + cpu->r[22];
|
|
/* 02BD0EE4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t91);
|
|
/* 02BD0EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD0EEC */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0EEC */ _t93 = _t92 & 0x00000001u;
|
|
/* 02BD0EEC */ if (_t93) goto L_02BD0EF0; else goto L_02BD0F78;
|
|
L_02BD0EF0: ; // 0x2bd0ef0
|
|
/* 02BD0EF0 */ _t94 = cpu->r[29] + 0x0000000Au;
|
|
/* 02BD0EF0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t94);
|
|
/* 02BD0EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD0EF8 */ _t95 = cpu->r[29] + 0x0000000Bu;
|
|
/* 02BD0EF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t95);
|
|
/* 02BD0EFC */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0EFC */ _t97 = _t96 & 0x00000001u;
|
|
/* 02BD0EFC */ if (_t97) goto L_02BD0F58; else goto L_02BD0F00;
|
|
L_02BD0F00: ; // 0x2bd0f00
|
|
/* 02BD0F00 */ cpu->r[5] = cpu->r[29] + cpu->r[23];
|
|
/* 02BD0F04 */ cpu->r[23] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BD0F08 */ cpu->r[29] = cpu->r[30];
|
|
/* 02BD0F0C */ cpu->r[21] = cpu->r[5] + 0x0000000Cu;
|
|
/* 02BD0F10 */ cpu->r[20] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000068u);
|
|
/* 02BD0F14 */ cpu->r[21] = cpu->r[21] - cpu->r[30];
|
|
/* 02BD0F18 */ cpu->r[19] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_02BD0F1C: ; // 0x2bd0f1c
|
|
/* 02BD0F1C */ _t98 = cpu->r[28] + 0x0000008Cu;
|
|
/* 02BD0F1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02BD0F20 */ cpu->r[3] = cpu->r[12] + cpu->r[20];
|
|
/* 02BD0F24 */ _t99 = cpu->r[3] + 0x00000064u;
|
|
/* 02BD0F24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BD0F28 */ _t100 = cpu->r[6] + 0x00000024u;
|
|
/* 02BD0F28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BD0F2C */ cpu->ctr = cpu->r[0];
|
|
/* 02BD0F30 */ cpu->r[4] = cpu->r[23];
|
|
/* 02BD0F34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD0F38 */ _t101 = cpu->r[21] + cpu->r[29];
|
|
/* 02BD0F38 */ cpu->r[9] = rbrew_read8(cpu->mem, _t101);
|
|
/* 02BD0F38 */ cpu->r[21] = _t101;
|
|
/* 02BD0F3C */ _t102 = cpu->r[28] + 0x00000090u;
|
|
/* 02BD0F3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BD0F40 */ cpu->r[23] = cpu->r[23] + cpu->r[30];
|
|
/* 02BD0F44 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD0F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD0F48 */ cpu->r[20] = cpu->r[20] + 0x00000068u;
|
|
/* 02BD0F4C */ _t103 = cpu->r[8] + cpu->r[19];
|
|
/* 02BD0F4C */ rbrew_write32(cpu->mem, _t103, cpu->r[9]);
|
|
/* 02BD0F50 */ cpu->r[19] = cpu->r[19] + 0x00000004u;
|
|
/* 02BD0F54 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0F54 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02BD0F54 */ if (_t105) goto L_02BD0F58; else goto L_02BD0F1C;
|
|
L_02BD0F58: ; // 0x2bd0f58
|
|
/* 02BD0F58 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD0F5C */ _t106 = cpu->r[26] + cpu->r[22];
|
|
/* 02BD0F5C */ rbrew_write8(cpu->mem, _t106, (uint8_t)cpu->r[0]);
|
|
/* 02BD0F60 */ _t107 = cpu->r[26] + 0x00000000u;
|
|
/* 02BD0F60 */ cpu->r[11] = rbrew_read8(cpu->mem, _t107);
|
|
/* 02BD0F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD0F68 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0F68 */ _t109 = _t108 & 0x00000001u;
|
|
/* 02BD0F68 */ if (_t109) goto L_02BD0F78; else goto L_02BD0F6C;
|
|
L_02BD0F6C: ; // 0x2bd0f6c
|
|
/* 02BD0F6C */ _t110 = cpu->r[26] + 0x00000001u;
|
|
/* 02BD0F6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t110);
|
|
/* 02BD0F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD0F74 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0F74 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02BD0F74 */ if (_t112) goto L_02BD0F78; else goto L_02BD0F90;
|
|
L_02BD0F78: ; // 0x2bd0f78
|
|
/* 02BD0F78 */ /* nop */
|
|
/* 02BD0F7C */ _t113 = cpu->r[1] + 0x00000084u;
|
|
/* 02BD0F7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02BD0F80 */ cpu->lr = cpu->r[0];
|
|
/* 02BD0F84 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BD0F88 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD0F8C */ return;
|
|
L_02BD0F90: ; // 0x2bd0f90
|
|
/* 02BD0F90 */ _t114 = cpu->r[28] + 0x00000099u;
|
|
/* 02BD0F90 */ rbrew_write8(cpu->mem, _t114, (uint8_t)cpu->r[27]);
|
|
/* 02BD0F94 */ _t115 = cpu->r[28] + 0x00000096u;
|
|
/* 02BD0F94 */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[27]);
|
|
/* 02BD0F98 */ _t116 = cpu->r[28] + 0x00000098u;
|
|
/* 02BD0F98 */ rbrew_write8(cpu->mem, _t116, (uint8_t)cpu->r[27]);
|
|
/* 02BD0F9C */ _t117 = cpu->r[28] + 0x00000097u;
|
|
/* 02BD0F9C */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[27]);
|
|
/* 02BD0FA0 */ _t118 = cpu->r[26] + 0x00000001u;
|
|
/* 02BD0FA0 */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[27]);
|
|
/* 02BD0FA4 */ _t119 = cpu->r[26] + 0x00000000u;
|
|
/* 02BD0FA4 */ rbrew_write8(cpu->mem, _t119, (uint8_t)cpu->r[27]);
|
|
/* 02BD0FA8 */ _t120 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BD0FA8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t120);
|
|
/* 02BD0FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD0FB0 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0FB0 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02BD0FB0 */ if (_t122) goto L_02BD0FB4; else goto L_02BD0FF4;
|
|
L_02BD0FB4: ; // 0x2bd0fb4
|
|
/* 02BD0FB4 */ goto L_02BD0FDC;
|
|
L_02BD0FB8: ; // 0x2bd0fb8
|
|
/* 02BD0FB8 */ /* nop */
|
|
/* 02BD0FBC */ _t123 = cpu->r[1] + 0x00000084u;
|
|
/* 02BD0FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BD0FC0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD0FC4 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BD0FC8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD0FCC */ return;
|
|
L_02BD0FD0: ; // 0x2bd0fd0
|
|
/* 02BD0FD0 */ _t124 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BD0FD0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02BD0FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD0FD8 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD0FD8 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02BD0FD8 */ if (_t126) goto L_02BD0FDC; else goto L_02BD0FF4;
|
|
L_02BD0FDC: ; // 0x2bd0fdc
|
|
/* 02BD0FDC */ /* nop */
|
|
/* 02BD0FE0 */ _t127 = cpu->r[1] + 0x00000084u;
|
|
/* 02BD0FE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02BD0FE4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD0FE8 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BD0FEC */ cpu->r[3] = 0x00000003u;
|
|
/* 02BD0FF0 */ return;
|
|
L_02BD0FF4: ; // 0x2bd0ff4
|
|
/* 02BD0FF4 */ cpu->r[4] = cpu->r[24];
|
|
/* 02BD0FF8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD0FFC */ Gambit_fn_02BD0998(cpu);
|
|
/* 02BD1000 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD1004 */ Gambit_fn_02BCE0B4(cpu);
|
|
/* 02BD1008 */ _t128 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BD1008 */ rbrew_write8(cpu->mem, _t128, (uint8_t)cpu->r[3]);
|
|
/* 02BD100C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD1010 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD1014 */ Gambit_fn_02BCDE5C(cpu);
|
|
/* 02BD1018 */ _t129 = cpu->r[28] + 0x00000080u;
|
|
/* 02BD1018 */ cpu->r[12] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02BD101C */ cpu->r[11] = 0x00000000u;
|
|
/* 02BD1020 */ _t130 = cpu->r[28] + 0x000000B4u;
|
|
/* 02BD1020 */ rbrew_write32(cpu->mem, _t130, cpu->r[27]);
|
|
/* 02BD1024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BD1028 */ _t131 = cpu->r[28] + 0x000000B8u;
|
|
/* 02BD1028 */ rbrew_write32(cpu->mem, _t131, cpu->r[25]);
|
|
/* 02BD102C */ _t132 = cpu->r[28] + 0x000000B0u;
|
|
/* 02BD102C */ rbrew_write32(cpu->mem, _t132, cpu->r[27]);
|
|
/* 02BD1030 */ _t133 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD1030 */ _t134 = _t133 & 0x00000001u;
|
|
/* 02BD1030 */ if (_t134) goto L_02BD1034; else goto L_02BD1050;
|
|
L_02BD1034: ; // 0x2bd1034
|
|
/* 02BD1034 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD1038: ; // 0x2bd1038
|
|
/* 02BD1038 */ _t135 = cpu->r[28] + 0x000000A0u;
|
|
/* 02BD1038 */ cpu->r[5] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02BD103C */ _t136 = cpu->r[5] + cpu->r[11];
|
|
/* 02BD103C */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[0]);
|
|
/* 02BD1040 */ _t137 = cpu->r[28] + 0x00000080u;
|
|
/* 02BD1040 */ cpu->r[7] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02BD1044 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BD1048 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[7]);
|
|
/* 02BD104C */ _t138 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD104C */ _t139 = _t138 & 0x00000001u;
|
|
/* 02BD104C */ if (_t139) goto L_02BD1038; else goto L_02BD1050;
|
|
L_02BD1050: ; // 0x2bd1050
|
|
/* 02BD1050 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD1054 */ _t140 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BD1054 */ cpu->r[12] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02BD1058 */ _t141 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BD1058 */ cpu->r[11] = rbrew_read8(cpu->mem, _t141);
|
|
/* 02BD105C */ _t142 = cpu->r[12] + 0x00000034u;
|
|
/* 02BD105C */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02BD1060 */ _t143 = cpu->r[12] + 0x00000030u;
|
|
/* 02BD1060 */ cpu->r[9] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02BD1064 */ _t144 = cpu->r[28] + 0x000000ACu;
|
|
/* 02BD1064 */ rbrew_write32(cpu->mem, _t144, cpu->r[0]);
|
|
/* 02BD1068 */ _t145 = cpu->r[28] + 0x000000A8u;
|
|
/* 02BD1068 */ rbrew_write32(cpu->mem, _t145, cpu->r[9]);
|
|
/* 02BD106C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD1070 */ _t146 = cpu->r[28] + 0x000000BDu;
|
|
/* 02BD1070 */ rbrew_write8(cpu->mem, _t146, (uint8_t)cpu->r[27]);
|
|
/* 02BD1074 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1074 */ _t148 = _t147 & 0x00000001u;
|
|
/* 02BD1074 */ if (_t148) goto L_02BD1148; else goto L_02BD1078;
|
|
L_02BD1078: ; // 0x2bd1078
|
|
/* 02BD1078 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BD107C */ _t149 = cpu->r[11] + 0xFFFFB770u;
|
|
/* 02BD107C */ cpu->r[11] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02BD1080 */ _t150 = cpu->r[11] + 0x0000006Cu;
|
|
/* 02BD1080 */ cpu->r[6] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02BD1084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000002u);
|
|
/* 02BD1088 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1088 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02BD1088 */ if (_t152) goto L_02BD108C; else goto L_02BD10C8;
|
|
L_02BD108C: ; // 0x2bd108c
|
|
/* 02BD108C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD1090 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BD1094 */ cpu->r[10] = 0x02BD0000u;
|
|
/* 02BD1098 */ _t153 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1098 */ rbrew_write16(cpu->mem, _t153, (uint16_t)cpu->r[0]);
|
|
/* 02BD109C */ cpu->r[10] = cpu->r[10] + 0xFFFFEFC0u;
|
|
/* 02BD10A0 */ _t154 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD10A0 */ rbrew_write16(cpu->mem, _t154, (uint16_t)cpu->r[12]);
|
|
/* 02BD10A4 */ _t155 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD10A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02BD10A8 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BD10AC */ _t156 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD10AC */ rbrew_write32(cpu->mem, _t156, cpu->r[10]);
|
|
/* 02BD10B0 */ cpu->r[8] = cpu->r[8] + 0x00004078u;
|
|
/* 02BD10B4 */ _t157 = cpu->r[28] + 0x00000024u;
|
|
/* 02BD10B4 */ rbrew_write32(cpu->mem, _t157, cpu->r[10]);
|
|
/* 02BD10B8 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BD10BC */ _t158 = cpu->r[28] + 0x00000020u;
|
|
/* 02BD10BC */ rbrew_write32(cpu->mem, _t158, cpu->r[7]);
|
|
/* 02BD10C0 */ _t159 = cpu->r[28] + 0x00000028u;
|
|
/* 02BD10C0 */ rbrew_write32(cpu->mem, _t159, cpu->r[8]);
|
|
/* 02BD10C4 */ goto L_02BD1180;
|
|
L_02BD10C8: ; // 0x2bd10c8
|
|
/* 02BD10C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 02BD10CC */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD10CC */ _t161 = _t160 & 0x00000001u;
|
|
/* 02BD10CC */ if (_t161) goto L_02BD10D0; else goto L_02BD110C;
|
|
L_02BD10D0: ; // 0x2bd10d0
|
|
/* 02BD10D0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BD10D4 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BD10D8 */ _t162 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD10D8 */ rbrew_write16(cpu->mem, _t162, (uint16_t)cpu->r[9]);
|
|
/* 02BD10DC */ cpu->r[6] = 0x02BD0000u;
|
|
/* 02BD10E0 */ _t163 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BD10E0 */ rbrew_write16(cpu->mem, _t163, (uint16_t)cpu->r[8]);
|
|
/* 02BD10E4 */ cpu->r[6] = cpu->r[6] + 0xFFFFF6C4u;
|
|
/* 02BD10E8 */ _t164 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD10E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02BD10EC */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BD10F0 */ _t165 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD10F0 */ rbrew_write32(cpu->mem, _t165, cpu->r[6]);
|
|
/* 02BD10F4 */ cpu->r[8] = cpu->r[8] + 0x000040A4u;
|
|
/* 02BD10F8 */ _t166 = cpu->r[28] + 0x00000020u;
|
|
/* 02BD10F8 */ rbrew_write32(cpu->mem, _t166, cpu->r[0]);
|
|
/* 02BD10FC */ _t167 = cpu->r[28] + 0x00000028u;
|
|
/* 02BD10FC */ rbrew_write32(cpu->mem, _t167, cpu->r[8]);
|
|
/* 02BD1100 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BD1104 */ _t168 = cpu->r[28] + 0x00000024u;
|
|
/* 02BD1104 */ rbrew_write32(cpu->mem, _t168, cpu->r[6]);
|
|
/* 02BD1108 */ goto L_02BD1180;
|
|
L_02BD110C: ; // 0x2bd110c
|
|
/* 02BD110C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD1110 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BD1114 */ cpu->r[9] = 0x02BD0000u;
|
|
/* 02BD1118 */ _t169 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD1118 */ rbrew_write16(cpu->mem, _t169, (uint16_t)cpu->r[0]);
|
|
/* 02BD111C */ cpu->r[9] = cpu->r[9] + 0x0000013Cu;
|
|
/* 02BD1120 */ _t170 = cpu->r[1] + 0x0000002Au;
|
|
/* 02BD1120 */ rbrew_write16(cpu->mem, _t170, (uint16_t)cpu->r[10]);
|
|
/* 02BD1124 */ _t171 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD1124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02BD1128 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BD112C */ _t172 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD112C */ rbrew_write32(cpu->mem, _t172, cpu->r[9]);
|
|
/* 02BD1130 */ cpu->r[8] = cpu->r[8] + 0x000040D0u;
|
|
/* 02BD1134 */ _t173 = cpu->r[28] + 0x00000024u;
|
|
/* 02BD1134 */ rbrew_write32(cpu->mem, _t173, cpu->r[9]);
|
|
/* 02BD1138 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BD113C */ _t174 = cpu->r[28] + 0x00000020u;
|
|
/* 02BD113C */ rbrew_write32(cpu->mem, _t174, cpu->r[0]);
|
|
/* 02BD1140 */ _t175 = cpu->r[28] + 0x00000028u;
|
|
/* 02BD1140 */ rbrew_write32(cpu->mem, _t175, cpu->r[8]);
|
|
/* 02BD1144 */ goto L_02BD1180;
|
|
L_02BD1148: ; // 0x2bd1148
|
|
/* 02BD1148 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BD114C */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BD1150 */ cpu->r[5] = 0x02BD0000u;
|
|
/* 02BD1154 */ _t176 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD1154 */ rbrew_write16(cpu->mem, _t176, (uint16_t)cpu->r[8]);
|
|
/* 02BD1158 */ cpu->r[5] = cpu->r[5] + 0x000008FCu;
|
|
/* 02BD115C */ _t177 = cpu->r[1] + 0x0000003Au;
|
|
/* 02BD115C */ rbrew_write16(cpu->mem, _t177, (uint16_t)cpu->r[7]);
|
|
/* 02BD1160 */ _t178 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD1160 */ cpu->r[8] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02BD1164 */ _t179 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD1164 */ rbrew_write32(cpu->mem, _t179, cpu->r[5]);
|
|
/* 02BD1168 */ _t180 = cpu->r[28] + 0x00000020u;
|
|
/* 02BD1168 */ rbrew_write32(cpu->mem, _t180, cpu->r[8]);
|
|
/* 02BD116C */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BD1170 */ _t181 = cpu->r[28] + 0x00000024u;
|
|
/* 02BD1170 */ rbrew_write32(cpu->mem, _t181, cpu->r[5]);
|
|
/* 02BD1174 */ cpu->r[8] = cpu->r[8] + 0x000040FCu;
|
|
/* 02BD1178 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BD117C */ _t182 = cpu->r[28] + 0x00000028u;
|
|
/* 02BD117C */ rbrew_write32(cpu->mem, _t182, cpu->r[8]);
|
|
L_02BD1180: ; // 0x2bd1180
|
|
/* 02BD1180 */ /* nop */
|
|
/* 02BD1184 */ _t183 = cpu->r[1] + 0x00000084u;
|
|
/* 02BD1184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02BD1188 */ cpu->lr = cpu->r[0];
|
|
/* 02BD118C */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BD1190 */ return;
|
|
}
|
|
|
|
// fn_02BD1194 @ 0x2bd1194
|
|
void Gambit_fn_02BD1194(CPUState* 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_02BD1194: ; // 0x2bd1194
|
|
/* 02BD1194 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD1198 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD1198 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD1198 */ cpu->r[1] = _t0;
|
|
/* 02BD119C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD119C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD11A0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD11A4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD11A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD11A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD11A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD11AC */ _t4 = cpu->r[3] + 0x00000098u;
|
|
/* 02BD11AC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[31]);
|
|
/* 02BD11B0 */ _t5 = cpu->r[3] + 0x00000095u;
|
|
/* 02BD11B0 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[31]);
|
|
/* 02BD11B4 */ _t6 = cpu->r[3] + 0x00000096u;
|
|
/* 02BD11B4 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[31]);
|
|
/* 02BD11B8 */ _t7 = cpu->r[3] + 0x00000094u;
|
|
/* 02BD11B8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 02BD11BC */ _t8 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD11BC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02BD11C0 */ _t9 = cpu->r[3] + 0x000000BCu;
|
|
/* 02BD11C0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[31]);
|
|
/* 02BD11C4 */ _t10 = cpu->r[3] + 0x000000B8u;
|
|
/* 02BD11C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02BD11C8 */ _t11 = cpu->r[3] + 0x000000B4u;
|
|
/* 02BD11C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02BD11CC */ _t12 = cpu->r[3] + 0x00000097u;
|
|
/* 02BD11CC */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[31]);
|
|
/* 02BD11D0 */ _t13 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD11D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02BD11D4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD11D8 */ _t14 = cpu->r[3] + 0x00000099u;
|
|
/* 02BD11D8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[31]);
|
|
/* 02BD11DC */ Gambit_fn_02BD0878(cpu);
|
|
/* 02BD11E0 */ cpu->r[3] = cpu->r[30] + 0x00000060u;
|
|
/* 02BD11E4 */ cpu->r[4] = 0x000000FFu;
|
|
/* 02BD11E8 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BD11EC */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02BD11F0 */ _t15 = cpu->r[30] + 0x000000BEu;
|
|
/* 02BD11F0 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[31]);
|
|
/* 02BD11F4 */ _t16 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD11F4 */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02BD11F8 */ _t17 = cpu->r[30] + 0x00000044u;
|
|
/* 02BD11F8 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02BD11FC */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD11FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD1200 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1200 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD1204 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1208 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1208 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD120C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD1210 */ return;
|
|
}
|
|
|
|
// fn_02BD1198 @ 0x2bd1198
|
|
void Gambit_fn_02BD1198(CPUState* 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_02BD1198: ; // 0x2bd1198
|
|
/* 02BD1198 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD1198 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD1198 */ cpu->r[1] = _t0;
|
|
/* 02BD119C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD119C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD11A0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD11A4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD11A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD11A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD11A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD11AC */ _t4 = cpu->r[3] + 0x00000098u;
|
|
/* 02BD11AC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[31]);
|
|
/* 02BD11B0 */ _t5 = cpu->r[3] + 0x00000095u;
|
|
/* 02BD11B0 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[31]);
|
|
/* 02BD11B4 */ _t6 = cpu->r[3] + 0x00000096u;
|
|
/* 02BD11B4 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[31]);
|
|
/* 02BD11B8 */ _t7 = cpu->r[3] + 0x00000094u;
|
|
/* 02BD11B8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 02BD11BC */ _t8 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD11BC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02BD11C0 */ _t9 = cpu->r[3] + 0x000000BCu;
|
|
/* 02BD11C0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[31]);
|
|
/* 02BD11C4 */ _t10 = cpu->r[3] + 0x000000B8u;
|
|
/* 02BD11C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02BD11C8 */ _t11 = cpu->r[3] + 0x000000B4u;
|
|
/* 02BD11C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02BD11CC */ _t12 = cpu->r[3] + 0x00000097u;
|
|
/* 02BD11CC */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[31]);
|
|
/* 02BD11D0 */ _t13 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD11D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02BD11D4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD11D8 */ _t14 = cpu->r[3] + 0x00000099u;
|
|
/* 02BD11D8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[31]);
|
|
/* 02BD11DC */ Gambit_fn_02BD0878(cpu);
|
|
/* 02BD11E0 */ cpu->r[3] = cpu->r[30] + 0x00000060u;
|
|
/* 02BD11E4 */ cpu->r[4] = 0x000000FFu;
|
|
/* 02BD11E8 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BD11EC */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02BD11F0 */ _t15 = cpu->r[30] + 0x000000BEu;
|
|
/* 02BD11F0 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[31]);
|
|
/* 02BD11F4 */ _t16 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD11F4 */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02BD11F8 */ _t17 = cpu->r[30] + 0x00000044u;
|
|
/* 02BD11F8 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02BD11FC */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD11FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD1200 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1200 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD1204 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1208 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1208 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD120C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD1210 */ return;
|
|
}
|
|
|
|
// fn_02BD125C @ 0x2bd125c
|
|
void Gambit_fn_02BD125C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BD125C: ; // 0x2bd125c
|
|
/* 02BD125C */ _t0 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD125C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD1260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD1264 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1264 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD1264 */ if (_t2) goto L_02BD12A8; else goto L_02BD1268;
|
|
L_02BD1268: ; // 0x2bd1268
|
|
/* 02BD1268 */ _t3 = cpu->r[3] + 0x00000088u;
|
|
/* 02BD1268 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD126C */ cpu->r[7] = 0x00000000u;
|
|
/* 02BD1270 */ cpu->ctr = cpu->r[12];
|
|
/* 02BD1274 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu;
|
|
L_02BD1278: ; // 0x2bd1278
|
|
/* 02BD1278 */ _t4 = cpu->r[10] + 0x00000004u;
|
|
/* 02BD1278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD1278 */ cpu->r[10] = _t4;
|
|
/* 02BD127C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD1280 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1280 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD1280 */ if (_t6) goto L_02BD1284; else goto L_02BD12A0;
|
|
L_02BD1284: ; // 0x2bd1284
|
|
/* 02BD1284 */ _t7 = cpu->r[3] + 0x00000084u;
|
|
/* 02BD1284 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD1288 */ cpu->r[11] = cpu->r[8] + cpu->r[7];
|
|
/* 02BD128C */ _t8 = cpu->r[11] + 0x0000002Bu;
|
|
/* 02BD128C */ cpu->r[9] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02BD1290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 02BD1294 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1294 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD1294 */ if (_t10) goto L_02BD1298; else goto L_02BD12A8;
|
|
L_02BD1298: ; // 0x2bd1298
|
|
/* 02BD1298 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD129C */ return;
|
|
L_02BD12A0: ; // 0x2bd12a0
|
|
/* 02BD12A0 */ cpu->r[7] = cpu->r[7] + 0x00000068u;
|
|
/* 02BD12A4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD12A4 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD12A4 */ _t12 = _t11 >> (0x00000002u & 31u);
|
|
/* 02BD12A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD12A4 */ if (_t13) goto L_02BD1278; else goto L_02BD12A8;
|
|
L_02BD12A8: ; // 0x2bd12a8
|
|
/* 02BD12A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD12AC */ return;
|
|
}
|
|
|
|
// fn_02BD12B0 @ 0x2bd12b0
|
|
void Gambit_fn_02BD12B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BD12B0: ; // 0x2bd12b0
|
|
/* 02BD12B0 */ _t0 = cpu->r[3] + 0x00000080u;
|
|
/* 02BD12B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD12B4 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BD12B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BD12BC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD12BC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD12BC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02BD12BC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BD12BC */ goto L_02BD12C0;
|
|
L_02BD12C0: ; // 0x2bd12c0
|
|
/* 02BD12C0 */ _t4 = cpu->r[3] + 0x00000088u;
|
|
/* 02BD12C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD12C4 */ cpu->r[9] = 0x00000000u;
|
|
L_02BD12C8: ; // 0x2bd12c8
|
|
/* 02BD12C8 */ _t5 = cpu->r[12] + cpu->r[9];
|
|
/* 02BD12C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD12CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[4]);
|
|
/* 02BD12D0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD12D0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD12D0 */ if (_t7) goto L_02BD12D4; else goto L_02BD12E0;
|
|
L_02BD12D4: ; // 0x2bd12d4
|
|
/* 02BD12D4 */ _t8 = cpu->r[3] + 0x000000A0u;
|
|
/* 02BD12D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD12D8 */ _t9 = cpu->r[11] + cpu->r[8];
|
|
/* 02BD12D8 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[5]);
|
|
/* 02BD12DC */ return;
|
|
L_02BD12E0: ; // 0x2bd12e0
|
|
/* 02BD12E0 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02BD12E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BD12E8 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 02BD12EC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD12EC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD12EC */ if (_t11) goto L_02BD12C8; else goto L_02BD12F0;
|
|
L_02BD12F0: ; // 0x2bd12f0
|
|
/* 02BD12F0 */ return;
|
|
}
|
|
|
|
// fn_02BD12F4 @ 0x2bd12f4
|
|
void Gambit_fn_02BD12F4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BD12F4: ; // 0x2bd12f4
|
|
/* 02BD12F4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD12F8 */ _t0 = cpu->r[3] + 0x000000C0u;
|
|
/* 02BD12F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD12FC */ return;
|
|
}
|
|
|
|
// fn_02BD1300 @ 0x2bd1300
|
|
void Gambit_fn_02BD1300(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD1300: ; // 0x2bd1300
|
|
/* 02BD1300 */ _t0 = cpu->r[3] + 0x000000C0u;
|
|
/* 02BD1300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD1304 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BD1308 */ _t1 = cpu->r[12] + 0x00000E40u;
|
|
/* 02BD1308 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD130C */ return;
|
|
}
|
|
|
|
// fn_02BD1310 @ 0x2bd1310
|
|
void Gambit_fn_02BD1310(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BCE024: ; // 0x2bce024
|
|
/* 02BCE024 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BCE028 */ cpu->r[0] = 0x000000FFu;
|
|
/* 02BCE02C */ cpu->r[12] = cpu->r[3] + cpu->r[4];
|
|
/* 02BCE030 */ _t0 = cpu->r[12] + 0x00000060u;
|
|
/* 02BCE030 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 02BCE034 */ return;
|
|
L_02BD1310: ; // 0x2bd1310
|
|
/* 02BD1310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000020u);
|
|
/* 02BD1314 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD1314 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD1314 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02BD1314 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BD1314 */ goto L_02BD1318;
|
|
L_02BD1318: ; // 0x2bd1318
|
|
/* 02BD1318 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD131C */ _t4 = cpu->r[3] + 0x00000080u;
|
|
/* 02BD131C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD1320 */ cpu->r[10] = cpu->r[3] + cpu->r[0];
|
|
/* 02BD1324 */ _t5 = cpu->r[10] + 0x00000060u;
|
|
/* 02BD1324 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BD1328 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BD132C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD132C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD132C */ _t8 = _t7 ^ 0x00000001u;
|
|
/* 02BD132C */ if (_t8) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BD132C */ goto L_02BD1330;
|
|
L_02BD1330: ; // 0x2bd1330
|
|
/* 02BD1330 */ goto L_02BCE024;
|
|
}
|
|
|
|
// fn_02BD1334 @ 0x2bd1334
|
|
void Gambit_fn_02BD1334(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD1334: ; // 0x2bd1334
|
|
/* 02BD1334 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BD1338 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BD133C */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BD1340 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BD1344 */ _t0 = cpu->r[9] + 0x0000277Cu;
|
|
/* 02BD1344 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BD1344 */ cpu->r[9] = _t0;
|
|
/* 02BD1348 */ _t1 = cpu->r[11] + 0x00002774u;
|
|
/* 02BD1348 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD1348 */ cpu->r[11] = _t1;
|
|
/* 02BD134C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BD1350 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD1350 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BD1354 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BD1358 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BD1358 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BD135C */ _t4 = cpu->r[11] + 0x00002784u;
|
|
/* 02BD135C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BD135C */ cpu->r[11] = _t4;
|
|
/* 02BD1360 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD1360 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BD1364 */ return;
|
|
}
|
|
|
|
// fn_02BD1368 @ 0x2bd1368
|
|
void Gambit_fn_02BD1368(CPUState* cpu) {
|
|
L_02BD1368: ; // 0x2bd1368
|
|
/* 02BD1368 */ return;
|
|
}
|
|
|
|
// fn_02BD136C @ 0x2bd136c
|
|
void Gambit_fn_02BD136C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BD136C: ; // 0x2bd136c
|
|
/* 02BD136C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD1370 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD1370 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD1370 */ cpu->r[1] = _t0;
|
|
/* 02BD1374 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1374 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD1378 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD137C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD137C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD1380 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BD1384 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BD1388 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD138C */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BD1390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1394 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1394 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD1394 */ if (_t4) goto L_02BD1398; else goto L_02BD13B0;
|
|
L_02BD1398: ; // 0x2bd1398
|
|
/* 02BD1398 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD139C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD139C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD13A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD13A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD13A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD13AC */ return;
|
|
L_02BD13B0: ; // 0x2bd13b0
|
|
/* 02BD13B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD13B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD13B4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD13B4 */ if (_t8) goto L_02BD13D8; else goto L_02BD13B8;
|
|
L_02BD13B8: ; // 0x2bd13b8
|
|
/* 02BD13B8 */ cpu->ctr = cpu->r[31];
|
|
/* 02BD13BC */ cpu->r[12] = cpu->r[3];
|
|
/* 02BD13C0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD13C4: ; // 0x2bd13c4
|
|
/* 02BD13C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD13C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD13C8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD13C8 */ if (_t10) goto L_02BD13D0; else goto L_02BD13CC;
|
|
L_02BD13CC: ; // 0x2bd13cc
|
|
/* 02BD13CC */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02BD13CC */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
L_02BD13D0: ; // 0x2bd13d0
|
|
/* 02BD13D0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BD13D4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD13D4 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD13D4 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02BD13D4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD13D4 */ if (_t14) goto L_02BD13C4; else goto L_02BD13D8;
|
|
L_02BD13D8: ; // 0x2bd13d8
|
|
/* 02BD13D8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD13D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD13DC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD13DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD13E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD13E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD13E8 */ return;
|
|
}
|
|
|
|
// fn_02BD1370 @ 0x2bd1370
|
|
void Gambit_fn_02BD1370(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BD1370: ; // 0x2bd1370
|
|
/* 02BD1370 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD1370 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD1370 */ cpu->r[1] = _t0;
|
|
/* 02BD1374 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1374 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD1378 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD137C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD137C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD1380 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BD1384 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BD1388 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD138C */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BD1390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1394 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1394 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD1394 */ if (_t4) goto L_02BD1398; else goto L_02BD13B0;
|
|
L_02BD1398: ; // 0x2bd1398
|
|
/* 02BD1398 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD139C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD139C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD13A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD13A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD13A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD13AC */ return;
|
|
L_02BD13B0: ; // 0x2bd13b0
|
|
/* 02BD13B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD13B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD13B4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD13B4 */ if (_t8) goto L_02BD13D8; else goto L_02BD13B8;
|
|
L_02BD13B8: ; // 0x2bd13b8
|
|
/* 02BD13B8 */ cpu->ctr = cpu->r[31];
|
|
/* 02BD13BC */ cpu->r[12] = cpu->r[3];
|
|
/* 02BD13C0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD13C4: ; // 0x2bd13c4
|
|
/* 02BD13C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD13C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD13C8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD13C8 */ if (_t10) goto L_02BD13D0; else goto L_02BD13CC;
|
|
L_02BD13CC: ; // 0x2bd13cc
|
|
/* 02BD13CC */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02BD13CC */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
L_02BD13D0: ; // 0x2bd13d0
|
|
/* 02BD13D0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BD13D4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD13D4 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD13D4 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02BD13D4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD13D4 */ if (_t14) goto L_02BD13C4; else goto L_02BD13D8;
|
|
L_02BD13D8: ; // 0x2bd13d8
|
|
/* 02BD13D8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD13D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD13DC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD13DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD13E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD13E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD13E8 */ return;
|
|
}
|
|
|
|
// fn_02BD13EC @ 0x2bd13ec
|
|
void Gambit_fn_02BD13EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD13EC: ; // 0x2bd13ec
|
|
/* 02BD13EC */ cpu->r[0] = cpu->lr;
|
|
/* 02BD13F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD13F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD13F0 */ cpu->r[1] = _t0;
|
|
/* 02BD13F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD13F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BD13F8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD13F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD13FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD13FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BD1400 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD1400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD1404 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD1404 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD1408 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1408 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD1408 */ if (_t6) goto L_02BD140C; else goto L_02BD141C;
|
|
L_02BD140C: ; // 0x2bd140c
|
|
/* 02BD140C */ cpu->r[3] = 0x00000070u;
|
|
/* 02BD1410 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD1414 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD1414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD1418 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1418 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD1418 */ if (_t8) goto L_02BD1578; else goto L_02BD141C;
|
|
L_02BD141C: ; // 0x2bd141c
|
|
/* 02BD141C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD1420 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BD1424 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BD1428 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BD142C */ cpu->r[0] = cpu->r[0] + 0x00004200u;
|
|
/* 02BD1430 */ _t9 = cpu->r[30] + 0x00000068u;
|
|
/* 02BD1430 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 02BD1434 */ _t10 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD1434 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BD1438 */ _t11 = cpu->r[30] + 0x00000048u;
|
|
/* 02BD1438 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02BD143C */ _t12 = cpu->r[30] + 0x00000044u;
|
|
/* 02BD143C */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02BD1440 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD1444 */ _t13 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02BD1444 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02BD1448 */ _t14 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD1448 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD144C */ _t15 = cpu->r[12] + 0x00000034u;
|
|
/* 02BD144C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD1450 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[10]);
|
|
/* 02BD1454 */ _t16 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1454 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02BD1458 */ Gambit_fn_02BD136C(cpu);
|
|
/* 02BD145C */ _t17 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BD145C */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 02BD1460 */ _t18 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1460 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD1464 */ Gambit_fn_02BD136C(cpu);
|
|
/* 02BD1468 */ _t19 = cpu->r[30] + 0x00000050u;
|
|
/* 02BD1468 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 02BD146C */ _t20 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD146C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD1470 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BD1474 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BD1478 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD147C */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BD1480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1484 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1484 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD1484 */ if (_t22) goto L_02BD1488; else goto L_02BD14EC;
|
|
L_02BD1488: ; // 0x2bd1488
|
|
/* 02BD1488 */ _t23 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1488 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD148C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD1490 */ _t24 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BD1490 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD1494 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[10]);
|
|
/* 02BD1498 */ _t25 = cpu->r[30] + 0x00000054u;
|
|
/* 02BD1498 */ rbrew_write32(cpu->mem, _t25, cpu->r[4]);
|
|
/* 02BD149C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD14A0 */ _t26 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD14A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD14A4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD14A8 */ _t27 = cpu->r[30] + 0x00000050u;
|
|
/* 02BD14A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD14AC */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD14B0 */ _t28 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD14B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD14B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD14B8 */ _t29 = cpu->r[30] + 0x00000054u;
|
|
/* 02BD14B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD14BC */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD14C0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD14C4 */ _t30 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BD14C4 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 02BD14C8 */ _t31 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD14C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD14CC */ _t32 = cpu->r[30] + 0x00000058u;
|
|
/* 02BD14CC */ rbrew_write32(cpu->mem, _t32, cpu->r[29]);
|
|
/* 02BD14D0 */ Gambit_fn_02BD136C(cpu);
|
|
/* 02BD14D4 */ _t33 = cpu->r[30] + 0x00000060u;
|
|
/* 02BD14D4 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
|
|
/* 02BD14D8 */ _t34 = cpu->r[30] + 0x00000050u;
|
|
/* 02BD14D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD14DC */ _t35 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD14DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD14E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD14E4 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD14E8 */ goto L_02BD1578;
|
|
L_02BD14EC: ; // 0x2bd14ec
|
|
/* 02BD14EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD14F0 */ cpu->r[0] = cpu->r[3];
|
|
/* 02BD14F4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD14F4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD14F4 */ if (_t37) goto L_02BD1518; else goto L_02BD14F8;
|
|
L_02BD14F8: ; // 0x2bd14f8
|
|
/* 02BD14F8 */ cpu->ctr = cpu->r[31];
|
|
/* 02BD14FC */ cpu->r[11] = cpu->r[0];
|
|
/* 02BD1500 */ cpu->r[8] = 0x00000000u;
|
|
L_02BD1504: ; // 0x2bd1504
|
|
/* 02BD1504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD1508 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1508 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD1508 */ if (_t39) goto L_02BD1510; else goto L_02BD150C;
|
|
L_02BD150C: ; // 0x2bd150c
|
|
/* 02BD150C */ _t40 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD150C */ rbrew_write32(cpu->mem, _t40, cpu->r[8]);
|
|
L_02BD1510: ; // 0x2bd1510
|
|
/* 02BD1510 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02BD1514 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD1514 */ _t41 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD1514 */ _t42 = _t41 >> (0x00000002u & 31u);
|
|
/* 02BD1514 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BD1514 */ if (_t43) goto L_02BD1504; else goto L_02BD1518;
|
|
L_02BD1518: ; // 0x2bd1518
|
|
/* 02BD1518 */ _t44 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1518 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD151C */ _t45 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BD151C */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD1520 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[10]);
|
|
/* 02BD1524 */ _t46 = cpu->r[30] + 0x00000054u;
|
|
/* 02BD1524 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02BD1528 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD152C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1530 */ _t47 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1530 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD1534 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD1538 */ _t48 = cpu->r[30] + 0x00000050u;
|
|
/* 02BD1538 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD153C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1540 */ _t49 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD1544 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD1548 */ _t50 = cpu->r[30] + 0x00000054u;
|
|
/* 02BD1548 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD154C */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD1550 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1554 */ _t51 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BD1554 */ rbrew_write32(cpu->mem, _t51, cpu->r[29]);
|
|
/* 02BD1558 */ _t52 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1558 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BD155C */ _t53 = cpu->r[30] + 0x00000058u;
|
|
/* 02BD155C */ rbrew_write32(cpu->mem, _t53, cpu->r[29]);
|
|
/* 02BD1560 */ Gambit_fn_02BD136C(cpu);
|
|
/* 02BD1564 */ _t54 = cpu->r[30] + 0x00000060u;
|
|
/* 02BD1564 */ rbrew_write32(cpu->mem, _t54, cpu->r[3]);
|
|
/* 02BD1568 */ _t55 = cpu->r[30] + 0x00000050u;
|
|
/* 02BD1568 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD156C */ _t56 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD156C */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BD1570 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD1574 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_02BD1578: ; // 0x2bd1578
|
|
/* 02BD1578 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1578 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD157C */ _t58 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD157C */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BD1580 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD1584 */ _t59 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD1584 */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BD1588 */ cpu->lr = cpu->r[0];
|
|
/* 02BD158C */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD158C */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BD1590 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD1594 */ return;
|
|
}
|
|
|
|
// fn_02BD13F0 @ 0x2bd13f0
|
|
void Gambit_fn_02BD13F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD13F0: ; // 0x2bd13f0
|
|
/* 02BD13F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD13F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD13F0 */ cpu->r[1] = _t0;
|
|
/* 02BD13F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD13F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BD13F8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD13F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD13FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD13FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BD1400 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD1400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD1404 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD1404 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD1408 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1408 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD1408 */ if (_t6) goto L_02BD140C; else goto L_02BD141C;
|
|
L_02BD140C: ; // 0x2bd140c
|
|
/* 02BD140C */ cpu->r[3] = 0x00000070u;
|
|
/* 02BD1410 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD1414 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD1414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD1418 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1418 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD1418 */ if (_t8) goto L_02BD1578; else goto L_02BD141C;
|
|
L_02BD141C: ; // 0x2bd141c
|
|
/* 02BD141C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD1420 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BD1424 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BD1428 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BD142C */ cpu->r[0] = cpu->r[0] + 0x00004200u;
|
|
/* 02BD1430 */ _t9 = cpu->r[30] + 0x00000068u;
|
|
/* 02BD1430 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 02BD1434 */ _t10 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD1434 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BD1438 */ _t11 = cpu->r[30] + 0x00000048u;
|
|
/* 02BD1438 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02BD143C */ _t12 = cpu->r[30] + 0x00000044u;
|
|
/* 02BD143C */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02BD1440 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD1444 */ _t13 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02BD1444 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02BD1448 */ _t14 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD1448 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD144C */ _t15 = cpu->r[12] + 0x00000034u;
|
|
/* 02BD144C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD1450 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[10]);
|
|
/* 02BD1454 */ _t16 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1454 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02BD1458 */ Gambit_fn_02BD136C(cpu);
|
|
/* 02BD145C */ _t17 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BD145C */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 02BD1460 */ _t18 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1460 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD1464 */ Gambit_fn_02BD136C(cpu);
|
|
/* 02BD1468 */ _t19 = cpu->r[30] + 0x00000050u;
|
|
/* 02BD1468 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 02BD146C */ _t20 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD146C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD1470 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BD1474 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BD1478 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD147C */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BD1480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1484 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1484 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD1484 */ if (_t22) goto L_02BD1488; else goto L_02BD14EC;
|
|
L_02BD1488: ; // 0x2bd1488
|
|
/* 02BD1488 */ _t23 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1488 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD148C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD1490 */ _t24 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BD1490 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD1494 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[10]);
|
|
/* 02BD1498 */ _t25 = cpu->r[30] + 0x00000054u;
|
|
/* 02BD1498 */ rbrew_write32(cpu->mem, _t25, cpu->r[4]);
|
|
/* 02BD149C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD14A0 */ _t26 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD14A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD14A4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD14A8 */ _t27 = cpu->r[30] + 0x00000050u;
|
|
/* 02BD14A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD14AC */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD14B0 */ _t28 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD14B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD14B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD14B8 */ _t29 = cpu->r[30] + 0x00000054u;
|
|
/* 02BD14B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD14BC */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD14C0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD14C4 */ _t30 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BD14C4 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 02BD14C8 */ _t31 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD14C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD14CC */ _t32 = cpu->r[30] + 0x00000058u;
|
|
/* 02BD14CC */ rbrew_write32(cpu->mem, _t32, cpu->r[29]);
|
|
/* 02BD14D0 */ Gambit_fn_02BD136C(cpu);
|
|
/* 02BD14D4 */ _t33 = cpu->r[30] + 0x00000060u;
|
|
/* 02BD14D4 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
|
|
/* 02BD14D8 */ _t34 = cpu->r[30] + 0x00000050u;
|
|
/* 02BD14D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD14DC */ _t35 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD14DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD14E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD14E4 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD14E8 */ goto L_02BD1578;
|
|
L_02BD14EC: ; // 0x2bd14ec
|
|
/* 02BD14EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD14F0 */ cpu->r[0] = cpu->r[3];
|
|
/* 02BD14F4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD14F4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD14F4 */ if (_t37) goto L_02BD1518; else goto L_02BD14F8;
|
|
L_02BD14F8: ; // 0x2bd14f8
|
|
/* 02BD14F8 */ cpu->ctr = cpu->r[31];
|
|
/* 02BD14FC */ cpu->r[11] = cpu->r[0];
|
|
/* 02BD1500 */ cpu->r[8] = 0x00000000u;
|
|
L_02BD1504: ; // 0x2bd1504
|
|
/* 02BD1504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD1508 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1508 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD1508 */ if (_t39) goto L_02BD1510; else goto L_02BD150C;
|
|
L_02BD150C: ; // 0x2bd150c
|
|
/* 02BD150C */ _t40 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD150C */ rbrew_write32(cpu->mem, _t40, cpu->r[8]);
|
|
L_02BD1510: ; // 0x2bd1510
|
|
/* 02BD1510 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02BD1514 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD1514 */ _t41 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD1514 */ _t42 = _t41 >> (0x00000002u & 31u);
|
|
/* 02BD1514 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BD1514 */ if (_t43) goto L_02BD1504; else goto L_02BD1518;
|
|
L_02BD1518: ; // 0x2bd1518
|
|
/* 02BD1518 */ _t44 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1518 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD151C */ _t45 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BD151C */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD1520 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[10]);
|
|
/* 02BD1524 */ _t46 = cpu->r[30] + 0x00000054u;
|
|
/* 02BD1524 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02BD1528 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD152C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1530 */ _t47 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1530 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD1534 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD1538 */ _t48 = cpu->r[30] + 0x00000050u;
|
|
/* 02BD1538 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD153C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1540 */ _t49 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD1544 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD1548 */ _t50 = cpu->r[30] + 0x00000054u;
|
|
/* 02BD1548 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD154C */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD1550 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1554 */ _t51 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BD1554 */ rbrew_write32(cpu->mem, _t51, cpu->r[29]);
|
|
/* 02BD1558 */ _t52 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1558 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BD155C */ _t53 = cpu->r[30] + 0x00000058u;
|
|
/* 02BD155C */ rbrew_write32(cpu->mem, _t53, cpu->r[29]);
|
|
/* 02BD1560 */ Gambit_fn_02BD136C(cpu);
|
|
/* 02BD1564 */ _t54 = cpu->r[30] + 0x00000060u;
|
|
/* 02BD1564 */ rbrew_write32(cpu->mem, _t54, cpu->r[3]);
|
|
/* 02BD1568 */ _t55 = cpu->r[30] + 0x00000050u;
|
|
/* 02BD1568 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD156C */ _t56 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD156C */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BD1570 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD1574 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_02BD1578: ; // 0x2bd1578
|
|
/* 02BD1578 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1578 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD157C */ _t58 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD157C */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BD1580 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD1584 */ _t59 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD1584 */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BD1588 */ cpu->lr = cpu->r[0];
|
|
/* 02BD158C */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD158C */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BD1590 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD1594 */ return;
|
|
}
|
|
|
|
// fn_02BD159C @ 0x2bd159c
|
|
void Gambit_fn_02BD159C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BD159C: ; // 0x2bd159c
|
|
/* 02BD159C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD159C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD159C */ cpu->r[1] = _t0;
|
|
/* 02BD15A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD15A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD15A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD15A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD15A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD15A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD15AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD15AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD15AC */ if (_t4) goto L_02BD15C4; else goto L_02BD15B0;
|
|
L_02BD15B0: ; // 0x2bd15b0
|
|
/* 02BD15B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD15B4 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BD15B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD15BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD15C0 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BD15C4: ; // 0x2bd15c4
|
|
/* 02BD15C4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD15C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD15C8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD15C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD15CC */ cpu->lr = cpu->r[0];
|
|
/* 02BD15D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD15D4 */ return;
|
|
}
|
|
|
|
// fn_02BD15D8 @ 0x2bd15d8
|
|
void Gambit_fn_02BD15D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BD1598: ; // 0x2bd1598
|
|
/* 02BD1598 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD159C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD159C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD159C */ cpu->r[1] = _t0;
|
|
/* 02BD15A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD15A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD15A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD15A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD15A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD15A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD15AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD15AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD15AC */ if (_t4) goto L_02BD15C4; else goto L_02BD15B0;
|
|
L_02BD15B0: ; // 0x2bd15b0
|
|
/* 02BD15B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD15B4 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BD15B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD15BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD15C0 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BD15C4: ; // 0x2bd15c4
|
|
/* 02BD15C4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD15C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD15C8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD15C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD15CC */ cpu->lr = cpu->r[0];
|
|
/* 02BD15D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD15D4 */ return;
|
|
L_02BD15D8: ; // 0x2bd15d8
|
|
/* 02BD15D8 */ goto L_02BD1598;
|
|
}
|
|
|
|
// fn_02BD15DC @ 0x2bd15dc
|
|
void Gambit_fn_02BD15DC(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_02BD15DC: ; // 0x2bd15dc
|
|
/* 02BD15DC */ cpu->r[0] = cpu->lr;
|
|
/* 02BD15E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD15E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD15E0 */ cpu->r[1] = _t0;
|
|
/* 02BD15E4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD15E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD15E8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD15E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BD15EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD15EC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BD15F0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD15F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD15F4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD15F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD15F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD15FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD15FC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD15FC */ if (_t6) goto L_02BD1660; else goto L_02BD1600;
|
|
L_02BD1600: ; // 0x2bd1600
|
|
/* 02BD1600 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BD1604 */ _t7 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BD1604 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD1608 */ cpu->r[0] = cpu->r[0] + 0x00004200u;
|
|
/* 02BD160C */ _t8 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD160C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BD1610 */ Gambit_fn_02BD15D8(cpu);
|
|
/* 02BD1614 */ _t9 = cpu->r[29] + 0x00000050u;
|
|
/* 02BD1614 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD1618 */ Gambit_fn_02BD15D8(cpu);
|
|
/* 02BD161C */ _t10 = cpu->r[29] + 0x00000054u;
|
|
/* 02BD161C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD1620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD1624 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1624 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD1624 */ if (_t12) goto L_02BD163C; else goto L_02BD1628;
|
|
L_02BD1628: ; // 0x2bd1628
|
|
/* 02BD1628 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD162C */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BD1630 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02BD1630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD1634 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD1638 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BD163C: ; // 0x2bd163c
|
|
/* 02BD163C */ _t13 = cpu->r[29] + 0x00000060u;
|
|
/* 02BD163C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD1640 */ Gambit_fn_02BD15D8(cpu);
|
|
/* 02BD1644 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD1648 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD164C */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BD1650 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD1650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD1654 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1654 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD1654 */ if (_t15) goto L_02BD1660; else goto L_02BD1658;
|
|
L_02BD1658: ; // 0x2bd1658
|
|
/* 02BD1658 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD165C */ Gambit_fn_02B674C4(cpu);
|
|
L_02BD1660: ; // 0x2bd1660
|
|
/* 02BD1660 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1660 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD1664 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD1664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD1668 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD1668 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD166C */ cpu->lr = cpu->r[0];
|
|
/* 02BD1670 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1670 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD1674 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD1678 */ return;
|
|
}
|
|
|
|
// fn_02BD15E0 @ 0x2bd15e0
|
|
void Gambit_fn_02BD15E0(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_02BD15E0: ; // 0x2bd15e0
|
|
/* 02BD15E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD15E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD15E0 */ cpu->r[1] = _t0;
|
|
/* 02BD15E4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD15E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD15E8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD15E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BD15EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD15EC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BD15F0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD15F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD15F4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD15F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD15F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD15FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD15FC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD15FC */ if (_t6) goto L_02BD1660; else goto L_02BD1600;
|
|
L_02BD1600: ; // 0x2bd1600
|
|
/* 02BD1600 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BD1604 */ _t7 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BD1604 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD1608 */ cpu->r[0] = cpu->r[0] + 0x00004200u;
|
|
/* 02BD160C */ _t8 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD160C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BD1610 */ Gambit_fn_02BD15D8(cpu);
|
|
/* 02BD1614 */ _t9 = cpu->r[29] + 0x00000050u;
|
|
/* 02BD1614 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD1618 */ Gambit_fn_02BD15D8(cpu);
|
|
/* 02BD161C */ _t10 = cpu->r[29] + 0x00000054u;
|
|
/* 02BD161C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD1620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD1624 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1624 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD1624 */ if (_t12) goto L_02BD163C; else goto L_02BD1628;
|
|
L_02BD1628: ; // 0x2bd1628
|
|
/* 02BD1628 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD162C */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BD1630 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02BD1630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD1634 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD1638 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BD163C: ; // 0x2bd163c
|
|
/* 02BD163C */ _t13 = cpu->r[29] + 0x00000060u;
|
|
/* 02BD163C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD1640 */ Gambit_fn_02BD15D8(cpu);
|
|
/* 02BD1644 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD1648 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD164C */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BD1650 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD1650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD1654 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1654 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD1654 */ if (_t15) goto L_02BD1660; else goto L_02BD1658;
|
|
L_02BD1658: ; // 0x2bd1658
|
|
/* 02BD1658 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD165C */ Gambit_fn_02B674C4(cpu);
|
|
L_02BD1660: ; // 0x2bd1660
|
|
/* 02BD1660 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1660 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD1664 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD1664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD1668 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD1668 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD166C */ cpu->lr = cpu->r[0];
|
|
/* 02BD1670 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1670 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD1674 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD1678 */ return;
|
|
}
|
|
|
|
// fn_02BD167C @ 0x2bd167c
|
|
void Gambit_fn_02BD167C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_02BD167C: ; // 0x2bd167c
|
|
/* 02BD167C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD1680 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BD1680 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD1680 */ cpu->r[1] = _t0;
|
|
/* 02BD1684 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD1684 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD1688 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD1688 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD168C */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD168C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD1690 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD1694 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BD1698 */ cpu->r[31] = cpu->r[6];
|
|
/* 02BD169C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD169C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02BD16A0 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD16A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD16A4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BD16A8 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BD16AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD16B0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD16B0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD16B0 */ if (_t7) goto L_02BD16B4; else goto L_02BD16F4;
|
|
L_02BD16B4: ; // 0x2bd16b4
|
|
/* 02BD16B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD16B8 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD16B8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD16B8 */ if (_t9) goto L_02BD16F4; else goto L_02BD16BC;
|
|
L_02BD16BC: ; // 0x2bd16bc
|
|
/* 02BD16BC */ _t10 = cpu->r[28] + 0x00000040u;
|
|
/* 02BD16BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD16C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BD16C4 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD16C4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD16C4 */ if (_t12) goto L_02BD16C8; else goto L_02BD16F4;
|
|
L_02BD16C8: ; // 0x2bd16c8
|
|
/* 02BD16C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD16CC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD16CC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD16CC */ if (_t14) goto L_02BD16F4; else goto L_02BD16D0;
|
|
L_02BD16D0: ; // 0x2bd16d0
|
|
/* 02BD16D0 */ _t15 = cpu->r[28] + 0x00000044u;
|
|
/* 02BD16D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD16D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02BD16D8 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD16D8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD16D8 */ if (_t17) goto L_02BD16F4; else goto L_02BD16DC;
|
|
L_02BD16DC: ; // 0x2bd16dc
|
|
/* 02BD16DC */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD16DC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD16DC */ if (_t19) goto L_02BD1718; else goto L_02BD16E0;
|
|
L_02BD16E0: ; // 0x2bd16e0
|
|
/* 02BD16E0 */ _t20 = cpu->r[28] + 0x00000054u;
|
|
/* 02BD16E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD16E4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD16E8 */ _t21 = cpu->r[12] + cpu->r[6];
|
|
/* 02BD16E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD16EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02BD16F0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD16F0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD16F0 */ if (_t23) goto L_02BD1718; else goto L_02BD16F4;
|
|
L_02BD16F4: ; // 0x2bd16f4
|
|
/* 02BD16F4 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD16F4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD16F8 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD16F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD16FC */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD16FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD1700 */ _t27 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD1700 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD1704 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1708 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD1708 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD170C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD1710 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD1714 */ return;
|
|
L_02BD1718: ; // 0x2bd1718
|
|
/* 02BD1718 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD171C */ _t29 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BD171C */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD1720 */ _t30 = cpu->r[28] + 0x00000018u;
|
|
/* 02BD1720 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD1724 */ _t31 = cpu->r[12] + 0x00000030u;
|
|
/* 02BD1724 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD1728 */ _t32 = cpu->r[12] + 0x00000034u;
|
|
/* 02BD1728 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD172C */ _t33 = cpu->r[28] + 0x00000068u;
|
|
/* 02BD172C */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 02BD1730 */ _t34 = cpu->r[28] + 0x0000006Cu;
|
|
/* 02BD1730 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02BD1734 */ _t35 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD1734 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD1738 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD173C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD1740 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BD1744 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD1748 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BD174C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BD1750 */ cpu->r[7] = 0x02BD0000u;
|
|
/* 02BD1754 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1754 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[9]);
|
|
/* 02BD1758 */ _t37 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD1758 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[8]);
|
|
/* 02BD175C */ cpu->r[7] = cpu->r[7] + 0x000018ACu;
|
|
/* 02BD1760 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD1764 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1764 */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
|
|
/* 02BD1768 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1768 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD176C */ _t41 = cpu->r[28] + 0x00000020u;
|
|
/* 02BD176C */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02BD1770 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BD1774 */ _t42 = cpu->r[28] + 0x00000024u;
|
|
/* 02BD1774 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 02BD1778 */ cpu->r[0] = cpu->r[0] + 0x00004168u;
|
|
/* 02BD177C */ _t43 = cpu->r[28] + 0x00000028u;
|
|
/* 02BD177C */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02BD1780 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD1780 */ cpu->r[28] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD1784 */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD1784 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD1788 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD1788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD178C */ _t47 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD178C */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD1790 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1794 */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD1794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD1798 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD179C */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD17A0 */ return;
|
|
}
|
|
|
|
// fn_02BD1680 @ 0x2bd1680
|
|
void Gambit_fn_02BD1680(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_02BD1680: ; // 0x2bd1680
|
|
/* 02BD1680 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BD1680 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD1680 */ cpu->r[1] = _t0;
|
|
/* 02BD1684 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD1684 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD1688 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD1688 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD168C */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD168C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD1690 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD1694 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BD1698 */ cpu->r[31] = cpu->r[6];
|
|
/* 02BD169C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD169C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02BD16A0 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD16A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD16A4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BD16A8 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BD16AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD16B0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD16B0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD16B0 */ if (_t7) goto L_02BD16B4; else goto L_02BD16F4;
|
|
L_02BD16B4: ; // 0x2bd16b4
|
|
/* 02BD16B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD16B8 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD16B8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD16B8 */ if (_t9) goto L_02BD16F4; else goto L_02BD16BC;
|
|
L_02BD16BC: ; // 0x2bd16bc
|
|
/* 02BD16BC */ _t10 = cpu->r[28] + 0x00000040u;
|
|
/* 02BD16BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD16C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BD16C4 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD16C4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD16C4 */ if (_t12) goto L_02BD16C8; else goto L_02BD16F4;
|
|
L_02BD16C8: ; // 0x2bd16c8
|
|
/* 02BD16C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD16CC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD16CC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD16CC */ if (_t14) goto L_02BD16F4; else goto L_02BD16D0;
|
|
L_02BD16D0: ; // 0x2bd16d0
|
|
/* 02BD16D0 */ _t15 = cpu->r[28] + 0x00000044u;
|
|
/* 02BD16D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD16D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02BD16D8 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD16D8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD16D8 */ if (_t17) goto L_02BD16F4; else goto L_02BD16DC;
|
|
L_02BD16DC: ; // 0x2bd16dc
|
|
/* 02BD16DC */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD16DC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD16DC */ if (_t19) goto L_02BD1718; else goto L_02BD16E0;
|
|
L_02BD16E0: ; // 0x2bd16e0
|
|
/* 02BD16E0 */ _t20 = cpu->r[28] + 0x00000054u;
|
|
/* 02BD16E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD16E4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD16E8 */ _t21 = cpu->r[12] + cpu->r[6];
|
|
/* 02BD16E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD16EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02BD16F0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD16F0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD16F0 */ if (_t23) goto L_02BD1718; else goto L_02BD16F4;
|
|
L_02BD16F4: ; // 0x2bd16f4
|
|
/* 02BD16F4 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD16F4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD16F8 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD16F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD16FC */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD16FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD1700 */ _t27 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD1700 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD1704 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1708 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD1708 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD170C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD1710 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD1714 */ return;
|
|
L_02BD1718: ; // 0x2bd1718
|
|
/* 02BD1718 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD171C */ _t29 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BD171C */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD1720 */ _t30 = cpu->r[28] + 0x00000018u;
|
|
/* 02BD1720 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD1724 */ _t31 = cpu->r[12] + 0x00000030u;
|
|
/* 02BD1724 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD1728 */ _t32 = cpu->r[12] + 0x00000034u;
|
|
/* 02BD1728 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD172C */ _t33 = cpu->r[28] + 0x00000068u;
|
|
/* 02BD172C */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 02BD1730 */ _t34 = cpu->r[28] + 0x0000006Cu;
|
|
/* 02BD1730 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02BD1734 */ _t35 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD1734 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD1738 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD173C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD1740 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BD1744 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD1748 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BD174C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BD1750 */ cpu->r[7] = 0x02BD0000u;
|
|
/* 02BD1754 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1754 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[9]);
|
|
/* 02BD1758 */ _t37 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD1758 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[8]);
|
|
/* 02BD175C */ cpu->r[7] = cpu->r[7] + 0x000018ACu;
|
|
/* 02BD1760 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD1764 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1764 */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
|
|
/* 02BD1768 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1768 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD176C */ _t41 = cpu->r[28] + 0x00000020u;
|
|
/* 02BD176C */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02BD1770 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BD1774 */ _t42 = cpu->r[28] + 0x00000024u;
|
|
/* 02BD1774 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 02BD1778 */ cpu->r[0] = cpu->r[0] + 0x00004168u;
|
|
/* 02BD177C */ _t43 = cpu->r[28] + 0x00000028u;
|
|
/* 02BD177C */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02BD1780 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD1780 */ cpu->r[28] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD1784 */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD1784 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD1788 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD1788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD178C */ _t47 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD178C */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD1790 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1794 */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD1794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD1798 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD179C */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD17A0 */ return;
|
|
}
|
|
|
|
// fn_02BD17A4 @ 0x2bd17a4
|
|
void Gambit_fn_02BD17A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02BD17A4: ; // 0x2bd17a4
|
|
/* 02BD17A4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD17A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD17A4 */ cpu->r[1] = _t0;
|
|
/* 02BD17A8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD17AC */ /* nop */
|
|
/* 02BD17B0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD17B4 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BD17B8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD17B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD17BC */ cpu->r[29] = cpu->r[4];
|
|
/* 02BD17BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD17C0 */ cpu->r[31] = cpu->r[6];
|
|
/* 02BD17C4 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD17C4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD17C4 */ if (_t3) goto L_02BD1898; else goto L_02BD17C8;
|
|
L_02BD17C8: ; // 0x2bd17c8
|
|
/* 02BD17C8 */ _t4 = cpu->r[28] + 0x00000040u;
|
|
/* 02BD17C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD17CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[10]);
|
|
/* 02BD17D0 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD17D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD17D0 */ if (_t6) goto L_02BD17D4; else goto L_02BD1898;
|
|
L_02BD17D4: ; // 0x2bd17d4
|
|
/* 02BD17D4 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 02BD17D8 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BD17DC */ cpu->r[27] = cpu->r[3];
|
|
/* 02BD17E0 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02BD17E4 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BD17E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BD17EC */ cpu->r[26] = cpu->r[3];
|
|
/* 02BD17F0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD17F0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD17F0 */ if (_t8) goto L_02BD1898; else goto L_02BD17F4;
|
|
L_02BD17F4: ; // 0x2bd17f4
|
|
/* 02BD17F4 */ _t9 = cpu->r[28] + 0x00000044u;
|
|
/* 02BD17F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD17F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 02BD17FC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD17FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD17FC */ if (_t11) goto L_02BD1898; else goto L_02BD1800;
|
|
L_02BD1800: ; // 0x2bd1800
|
|
/* 02BD1800 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD1800 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD1800 */ if (_t13) goto L_02BD181C; else goto L_02BD1804;
|
|
L_02BD1804: ; // 0x2bd1804
|
|
/* 02BD1804 */ _t14 = cpu->r[28] + 0x00000054u;
|
|
/* 02BD1804 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD1808 */ cpu->r[27] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD180C */ _t15 = cpu->r[11] + cpu->r[27];
|
|
/* 02BD180C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD1810 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02BD1814 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD1814 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD1814 */ if (_t17) goto L_02BD1864; else goto L_02BD1818;
|
|
L_02BD1818: ; // 0x2bd1818
|
|
/* 02BD1818 */ goto L_02BD1898;
|
|
L_02BD181C: ; // 0x2bd181c
|
|
/* 02BD181C */ _t18 = cpu->r[28] + 0x00000040u;
|
|
/* 02BD181C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD1820 */ _t19 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BD1820 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD1824 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[0]);
|
|
/* 02BD1828 */ _t20 = cpu->r[28] + 0x00000044u;
|
|
/* 02BD1828 */ rbrew_write32(cpu->mem, _t20, cpu->r[27]);
|
|
/* 02BD182C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD1830 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1834 */ _t21 = cpu->r[28] + 0x00000040u;
|
|
/* 02BD1834 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD1838 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD183C */ _t22 = cpu->r[28] + 0x00000050u;
|
|
/* 02BD183C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD1840 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1844 */ _t23 = cpu->r[28] + 0x00000040u;
|
|
/* 02BD1844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD1848 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD184C */ _t24 = cpu->r[28] + 0x00000054u;
|
|
/* 02BD184C */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD1850 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD1854 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1858 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BD185C */ cpu->r[27] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD1860 */ _t25 = cpu->r[28] + 0x00000048u;
|
|
/* 02BD1860 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
L_02BD1864: ; // 0x2bd1864
|
|
/* 02BD1864 */ _t26 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BD1864 */ cpu->r[8] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02BD1868 */ _t27 = cpu->r[28] + 0x00000050u;
|
|
/* 02BD1868 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD186C */ _t28 = cpu->r[7] + cpu->r[29];
|
|
/* 02BD186C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[8]);
|
|
/* 02BD1870 */ _t29 = cpu->r[28] + 0x00000040u;
|
|
/* 02BD1870 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD1874 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)cpu->r[10]);
|
|
/* 02BD1878 */ _t30 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BD1878 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD187C */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD1880 */ cpu->r[5] = cpu->r[31] + 0xFFFFFFF0u;
|
|
/* 02BD1884 */ cpu->r[4] = cpu->r[30] + 0x00000010u;
|
|
/* 02BD1888 */ cpu->r[3] = cpu->r[11] + cpu->r[9];
|
|
/* 02BD188C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02BD1890 */ _t31 = cpu->r[28] + 0x00000054u;
|
|
/* 02BD1890 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD1894 */ _t32 = cpu->r[9] + cpu->r[27];
|
|
/* 02BD1894 */ rbrew_write32(cpu->mem, _t32, cpu->r[26]);
|
|
L_02BD1898: ; // 0x2bd1898
|
|
/* 02BD1898 */ /* nop */
|
|
/* 02BD189C */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD189C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD18A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD18A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD18A8 */ return;
|
|
}
|
|
|
|
// fn_02BD18AC @ 0x2bd18ac
|
|
void Gambit_fn_02BD18AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107;
|
|
|
|
L_02BD18AC: ; // 0x2bd18ac
|
|
/* 02BD18AC */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02BD18AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD18AC */ cpu->r[1] = _t0;
|
|
/* 02BD18B0 */ /* nop */
|
|
/* 02BD18B4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD18B8 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD18B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD18BC */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BD18C0 */ _t2 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BD18C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD18C0 */ cpu->r[27] = _t2;
|
|
/* 02BD18C4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD18C8 */ _t3 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BD18C8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD18CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x0000001Fu);
|
|
/* 02BD18D0 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD18D0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD18D0 */ if (_t5) goto L_02BD18D4; else goto L_02BD18F4;
|
|
L_02BD18D4: ; // 0x2bd18d4
|
|
/* 02BD18D4 */ /* nop */
|
|
/* 02BD18D8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD18DC */ _t6 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BD18DC */ _t7 = cpu->r[9] & 0x00FFFFFFu;
|
|
/* 02BD18DC */ cpu->r[9] = _t7 | _t6;
|
|
/* 02BD18E0 */ _t8 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD18E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD18E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD18E8 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD18EC */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BD18F0 */ return;
|
|
L_02BD18F4: ; // 0x2bd18f4
|
|
/* 02BD18F4 */ _t9 = cpu->r[29] + 0x00000040u;
|
|
/* 02BD18F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD18F8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD18FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 02BD1900 */ cpu->r[25] = 0x00000001u;
|
|
/* 02BD1904 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD1904 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD1904 */ if (_t11) goto L_02BD1908; else goto L_02BD1964;
|
|
L_02BD1908: ; // 0x2bd1908
|
|
/* 02BD1908 */ cpu->r[31] = 0x00000000u;
|
|
L_02BD190C: ; // 0x2bd190c
|
|
/* 02BD190C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
|
|
/* 02BD1910 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1910 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD1910 */ if (_t13) goto L_02BD194C; else goto L_02BD1914;
|
|
L_02BD1914: ; // 0x2bd1914
|
|
/* 02BD1914 */ _t14 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD1914 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD1918 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD191C */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BD1920 */ _t15 = cpu->r[29] + 0x00000054u;
|
|
/* 02BD1920 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD1924 */ _t16 = cpu->r[29] + 0x00000040u;
|
|
/* 02BD1924 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD1928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD192C */ _t17 = cpu->r[7] + cpu->r[31];
|
|
/* 02BD192C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD1930 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1930 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD1930 */ if (_t19) goto L_02BD1940; else goto L_02BD1934;
|
|
L_02BD1934: ; // 0x2bd1934
|
|
/* 02BD1934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD1938 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1938 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD1938 */ if (_t21) goto L_02BD193C; else goto L_02BD194C;
|
|
L_02BD193C: ; // 0x2bd193c
|
|
/* 02BD193C */ goto L_02BD1948;
|
|
L_02BD1940: ; // 0x2bd1940
|
|
/* 02BD1940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD1944 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1944 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD1944 */ if (_t23) goto L_02BD194C; else goto L_02BD1948;
|
|
L_02BD1948: ; // 0x2bd1948
|
|
/* 02BD1948 */ cpu->r[25] = 0x00000000u;
|
|
L_02BD194C: ; // 0x2bd194c
|
|
/* 02BD194C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02BD1950 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 02BD1954 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02BD1958 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD1958 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD1958 */ if (_t25) goto L_02BD190C; else goto L_02BD195C;
|
|
L_02BD195C: ; // 0x2bd195c
|
|
/* 02BD195C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02BD1960 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1960 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD1960 */ if (_t27) goto L_02BD1B54; else goto L_02BD1964;
|
|
L_02BD1964: ; // 0x2bd1964
|
|
/* 02BD1964 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BD1968 */ _t28 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02BD1968 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD196C */ _t29 = cpu->r[28] + 0xFFFFB6C4u;
|
|
/* 02BD196C */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD196C */ cpu->r[28] = _t29;
|
|
/* 02BD1970 */ _t30 = cpu->r[29] + 0x00000068u;
|
|
/* 02BD1970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD1974 */ _t31 = cpu->r[10] + 0x00000030u;
|
|
/* 02BD1974 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD1978 */ _t32 = cpu->r[10] + 0x00000034u;
|
|
/* 02BD1978 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD197C */ cpu->r[10] = cpu->r[0] - cpu->r[5];
|
|
/* 02BD1980 */ cpu->r[8] = cpu->r[0] ^ cpu->r[5];
|
|
/* 02BD1984 */ cpu->r[9] = cpu->r[10] - cpu->r[10];
|
|
/* 02BD1988 */ cpu->r[6] = cpu->r[7] - cpu->r[12];
|
|
/* 02BD198C */ cpu->r[10] = rbrew_clz32(cpu->r[8]);
|
|
/* 02BD1990 */ cpu->r[22] = 0x00000000u;
|
|
/* 02BD1994 */ cpu->r[0] = cpu->r[22];
|
|
/* 02BD1998 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[9]);
|
|
/* 02BD199C */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BD19A0 */ cpu->r[10] = cpu->r[6] & cpu->r[0];
|
|
/* 02BD19A4 */ cpu->r[31] = cpu->r[12] | cpu->r[10];
|
|
/* 02BD19A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[11]);
|
|
/* 02BD19AC */ cpu->r[21] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)cpu->r[11]);
|
|
/* 02BD19B0 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD19B4 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD19B4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD19B4 */ if (_t34) goto L_02BD19B8; else goto L_02BD1B40;
|
|
L_02BD19B8: ; // 0x2bd19b8
|
|
/* 02BD19B8 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BD19BC */ cpu->r[23] = 0x101D0000u;
|
|
L_02BD19C0: ; // 0x2bd19c0
|
|
/* 02BD19C0 */ _t35 = cpu->r[23] + 0xFFFFB77Cu;
|
|
/* 02BD19C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD19C4 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BD19C8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD19CC */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BD19D0 */ cpu->r[20] = cpu->r[3];
|
|
/* 02BD19D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02BD19D4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD19D4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD19D4 */ if (_t37) goto L_02BD19F4; else goto L_02BD19D8;
|
|
L_02BD19D8: ; // 0x2bd19d8
|
|
/* 02BD19D8 */ _t38 = cpu->r[20] + 0x00000024u;
|
|
/* 02BD19D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD19DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000005u);
|
|
/* 02BD19E0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD19E0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BD19E0 */ if (_t40) goto L_02BD19E4; else goto L_02BD19F4;
|
|
L_02BD19E4: ; // 0x2bd19e4
|
|
/* 02BD19E4 */ _t41 = cpu->r[26] + 0xFFFFB79Cu;
|
|
/* 02BD19E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD19E8 */ cpu->r[4] = cpu->r[20] + 0x00000004u;
|
|
/* 02BD19EC */ Gambit_fn_02BECD1C(cpu);
|
|
/* 02BD19F0 */ cpu->r[30] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
L_02BD19F4: ; // 0x2bd19f4
|
|
/* 02BD19F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[24]);
|
|
/* 02BD19F8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD19F8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BD19F8 */ if (_t43) goto L_02BD1AC0; else goto L_02BD19FC;
|
|
L_02BD19FC: ; // 0x2bd19fc
|
|
/* 02BD19FC */ _t44 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD19FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD1A00 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BD1A04 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BD1A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1A0C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1A0C */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BD1A0C */ if (_t46) goto L_02BD1AC0; else goto L_02BD1A10;
|
|
L_02BD1A10: ; // 0x2bd1a10
|
|
/* 02BD1A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD1A14 */ cpu->r[3] = cpu->r[20];
|
|
/* 02BD1A18 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1A18 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BD1A18 */ if (_t48) goto L_02BD1A1C; else goto L_02BD1A90;
|
|
L_02BD1A1C: ; // 0x2bd1a1c
|
|
/* 02BD1A1C */ Gambit_fn_02BF2CD0(cpu);
|
|
/* 02BD1A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1A24 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1A24 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BD1A24 */ if (_t50) goto L_02BD1A28; else goto L_02BD1AF4;
|
|
L_02BD1A28: ; // 0x2bd1a28
|
|
/* 02BD1A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD1A2C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1A2C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BD1A2C */ if (_t52) goto L_02BD1A7C; else goto L_02BD1A30;
|
|
L_02BD1A30: ; // 0x2bd1a30
|
|
/* 02BD1A30 */ _t53 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD1A30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BD1A34 */ _t54 = cpu->r[7] + 0x00000048u;
|
|
/* 02BD1A34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BD1A38 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BD1A3C */ Gambit_fn_02BC9028(cpu);
|
|
/* 02BD1A40 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BD1A44 */ _t55 = cpu->r[3] + 0x00000004u;
|
|
/* 02BD1A44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD1A48 */ cpu->r[9] = 0x0000012Cu;
|
|
/* 02BD1A4C */ _t56 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD1A4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BD1A50 */ /* nop */
|
|
/* 02BD1A54 */ _t57 = cpu->r[28] + 0x00000000u;
|
|
/* 02BD1A54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD1A58 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000012Cu);
|
|
/* 02BD1A5C */ _t58 = cpu->r[12] + 0x00000034u;
|
|
/* 02BD1A5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BD1A60 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000012Cu);
|
|
/* 02BD1A64 */ cpu->r[0] = cpu->r[8] + cpu->r[10];
|
|
/* 02BD1A68 */ _t59 = cpu->r[12] + 0x00000030u;
|
|
/* 02BD1A68 */ cpu->r[5] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BD1A6C */ cpu->r[9] = cpu->r[6] + cpu->r[11];
|
|
/* 02BD1A70 */ cpu->r[8] = cpu->r[5] + cpu->r[0];
|
|
/* 02BD1A74 */ _t60 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02BD1A74 */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 02BD1A78 */ _t61 = cpu->r[29] + 0x00000068u;
|
|
/* 02BD1A78 */ rbrew_write32(cpu->mem, _t61, cpu->r[8]);
|
|
L_02BD1A7C: ; // 0x2bd1a7c
|
|
/* 02BD1A7C */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02BD1A80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000FFu);
|
|
/* 02BD1A84 */ cpu->r[25] = 0x00000000u;
|
|
/* 02BD1A88 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD1A88 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BD1A88 */ if (_t63) goto L_02BD1A8C; else goto L_02BD1B20;
|
|
L_02BD1A8C: ; // 0x2bd1a8c
|
|
/* 02BD1A8C */ goto L_02BD1B00;
|
|
L_02BD1A90: ; // 0x2bd1a90
|
|
/* 02BD1A90 */ Gambit_fn_02BF2CD0(cpu);
|
|
/* 02BD1A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1A98 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1A98 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BD1A98 */ if (_t65) goto L_02BD1AC8; else goto L_02BD1A9C;
|
|
L_02BD1A9C: ; // 0x2bd1a9c
|
|
/* 02BD1A9C */ _t66 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BD1A9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BD1AA0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD1AA4 */ _t67 = cpu->r[6] + cpu->r[21];
|
|
/* 02BD1AA4 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[30]);
|
|
/* 02BD1AA8 */ _t68 = cpu->r[29] + 0x00000040u;
|
|
/* 02BD1AA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BD1AAC */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 02BD1AB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 02BD1AB4 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02BD1AB8 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD1AB8 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02BD1AB8 */ if (_t70) goto L_02BD19C0; else goto L_02BD1ABC;
|
|
L_02BD1ABC: ; // 0x2bd1abc
|
|
/* 02BD1ABC */ goto L_02BD1B40;
|
|
L_02BD1AC0: ; // 0x2bd1ac0
|
|
/* 02BD1AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD1AC4 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1AC4 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02BD1AC4 */ if (_t72) goto L_02BD1AF4; else goto L_02BD1AC8;
|
|
L_02BD1AC8: ; // 0x2bd1ac8
|
|
/* 02BD1AC8 */ /* nop */
|
|
/* 02BD1ACC */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1ACC */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BD1ACC */ if (_t74) goto L_02BD1AD0; else goto L_02BD1AF4;
|
|
L_02BD1AD0: ; // 0x2bd1ad0
|
|
/* 02BD1AD0 */ _t75 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BD1AD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BD1AD4 */ cpu->r[30] = 0x00000001u;
|
|
/* 02BD1AD8 */ _t76 = cpu->r[6] + cpu->r[21];
|
|
/* 02BD1AD8 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[30]);
|
|
/* 02BD1ADC */ _t77 = cpu->r[29] + 0x00000040u;
|
|
/* 02BD1ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BD1AE0 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 02BD1AE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 02BD1AE8 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02BD1AEC */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD1AEC */ _t79 = _t78 & 0x00000001u;
|
|
/* 02BD1AEC */ if (_t79) goto L_02BD19C0; else goto L_02BD1AF0;
|
|
L_02BD1AF0: ; // 0x2bd1af0
|
|
/* 02BD1AF0 */ goto L_02BD1B40;
|
|
L_02BD1AF4: ; // 0x2bd1af4
|
|
/* 02BD1AF4 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02BD1AF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000FFu);
|
|
/* 02BD1AFC */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD1AFC */ _t81 = _t80 & 0x00000001u;
|
|
/* 02BD1AFC */ if (_t81) goto L_02BD1B00; else goto L_02BD1B20;
|
|
L_02BD1B00: ; // 0x2bd1b00
|
|
/* 02BD1B00 */ _t82 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BD1B00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BD1B04 */ _t83 = cpu->r[6] + cpu->r[21];
|
|
/* 02BD1B04 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[30]);
|
|
/* 02BD1B08 */ _t84 = cpu->r[29] + 0x00000040u;
|
|
/* 02BD1B08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BD1B0C */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 02BD1B10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 02BD1B14 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02BD1B18 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD1B18 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02BD1B18 */ if (_t86) goto L_02BD19C0; else goto L_02BD1B1C;
|
|
L_02BD1B1C: ; // 0x2bd1b1c
|
|
/* 02BD1B1C */ goto L_02BD1B40;
|
|
L_02BD1B20: ; // 0x2bd1b20
|
|
/* 02BD1B20 */ _t87 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BD1B20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BD1B24 */ cpu->r[30] = 0x000000FFu;
|
|
/* 02BD1B28 */ _t88 = cpu->r[6] + cpu->r[21];
|
|
/* 02BD1B28 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[30]);
|
|
/* 02BD1B2C */ _t89 = cpu->r[29] + 0x00000040u;
|
|
/* 02BD1B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BD1B30 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 02BD1B34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 02BD1B38 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02BD1B3C */ _t90 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD1B3C */ _t91 = _t90 & 0x00000001u;
|
|
/* 02BD1B3C */ if (_t91) goto L_02BD19C0; else goto L_02BD1B40;
|
|
L_02BD1B40: ; // 0x2bd1b40
|
|
/* 02BD1B40 */ _t92 = cpu->r[29] + 0x00000050u;
|
|
/* 02BD1B40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BD1B44 */ cpu->r[9] = 0x00000032u;
|
|
/* 02BD1B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02BD1B4C */ _t93 = cpu->r[8] + cpu->r[24];
|
|
/* 02BD1B4C */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[9]);
|
|
/* 02BD1B50 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1B50 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02BD1B50 */ if (_t95) goto L_02BD1B54; else goto L_02BD1B74;
|
|
L_02BD1B54: ; // 0x2bd1b54
|
|
/* 02BD1B54 */ /* nop */
|
|
/* 02BD1B58 */ cpu->r[10] = 0x00000005u;
|
|
/* 02BD1B5C */ _t96 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BD1B5C */ _t97 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BD1B5C */ cpu->r[0] = _t97 | _t96;
|
|
/* 02BD1B60 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BD1B64 */ _t98 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD1B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02BD1B68 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1B6C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD1B70 */ return;
|
|
L_02BD1B74: ; // 0x2bd1b74
|
|
/* 02BD1B74 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD1B78 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02BD1B7C */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1B7C */ rbrew_write16(cpu->mem, _t99, (uint16_t)cpu->r[6]);
|
|
/* 02BD1B80 */ cpu->r[0] = 0x02BD0000u;
|
|
/* 02BD1B84 */ _t100 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD1B84 */ rbrew_write16(cpu->mem, _t100, (uint16_t)cpu->r[5]);
|
|
/* 02BD1B88 */ cpu->r[0] = cpu->r[0] + 0x00001BC4u;
|
|
/* 02BD1B8C */ _t101 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1B8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BD1B90 */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BD1B94 */ _t102 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1B94 */ rbrew_write32(cpu->mem, _t102, cpu->r[0]);
|
|
/* 02BD1B98 */ _t103 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1B98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BD1B9C */ cpu->r[9] = cpu->r[9] + 0x0000419Cu;
|
|
/* 02BD1BA0 */ _t104 = cpu->r[29] + 0x00000020u;
|
|
/* 02BD1BA0 */ rbrew_write32(cpu->mem, _t104, cpu->r[7]);
|
|
/* 02BD1BA4 */ _t105 = cpu->r[29] + 0x00000028u;
|
|
/* 02BD1BA4 */ rbrew_write32(cpu->mem, _t105, cpu->r[9]);
|
|
/* 02BD1BA8 */ _t106 = cpu->r[29] + 0x00000024u;
|
|
/* 02BD1BA8 */ rbrew_write32(cpu->mem, _t106, cpu->r[8]);
|
|
/* 02BD1BAC */ /* nop */
|
|
/* 02BD1BB0 */ _t107 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD1BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BD1BB4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1BB8 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD1BBC */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BD1BC0 */ return;
|
|
}
|
|
|
|
// fn_02BD1BC4 @ 0x2bd1bc4
|
|
void Gambit_fn_02BD1BC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD1BC4: ; // 0x2bd1bc4
|
|
/* 02BD1BC4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BD1BC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD1BC4 */ cpu->r[1] = _t0;
|
|
/* 02BD1BC8 */ /* nop */
|
|
/* 02BD1BCC */ cpu->r[0] = cpu->lr;
|
|
/* 02BD1BD0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD1BD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD1BD4 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BD1BD8 */ _t2 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BD1BD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD1BD8 */ cpu->r[28] = _t2;
|
|
/* 02BD1BDC */ _t3 = cpu->r[7] + 0x0000005Cu;
|
|
/* 02BD1BDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD1BE0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD1BE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000001Fu);
|
|
/* 02BD1BE8 */ cpu->r[27] = 0x00000000u;
|
|
/* 02BD1BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD1BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD1BEC */ if (_t5) goto L_02BD1BF0; else goto L_02BD1C10;
|
|
L_02BD1BF0: ; // 0x2bd1bf0
|
|
/* 02BD1BF0 */ /* nop */
|
|
/* 02BD1BF4 */ cpu->r[10] = 0x00000001u;
|
|
/* 02BD1BF8 */ _t6 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BD1BF8 */ _t7 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BD1BF8 */ cpu->r[0] = _t7 | _t6;
|
|
/* 02BD1BFC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BD1C00 */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD1C00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD1C04 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1C08 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD1C0C */ return;
|
|
L_02BD1C10: ; // 0x2bd1c10
|
|
/* 02BD1C10 */ _t9 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD1C10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD1C14 */ _t10 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02BD1C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD1C18 */ cpu->ctr = cpu->r[12];
|
|
/* 02BD1C1C */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD1C20 */ cpu->r[6] = 0x10000000u;
|
|
/* 02BD1C24 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD1C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD1C2C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD1C30 */ _t11 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD1C30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD1C34 */ _t12 = cpu->r[12] + 0x00000064u;
|
|
/* 02BD1C34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD1C38 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD1C3C */ cpu->r[6] = 0x10000000u;
|
|
/* 02BD1C40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD1C44 */ Gambit_fn_02BFCF44(cpu);
|
|
/* 02BD1C48 */ _t13 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1C48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD1C4C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD1C50 */ _t14 = cpu->r[30] + 0x00000050u;
|
|
/* 02BD1C50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD1C54 */ Gambit_fn_02BFDFA4(cpu);
|
|
/* 02BD1C58 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD1C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD1C5C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1C5C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD1C5C */ if (_t16) goto L_02BD1C60; else goto L_02BD1D28;
|
|
L_02BD1C60: ; // 0x2bd1c60
|
|
/* 02BD1C60 */ _t17 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1C60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD1C64 */ _t18 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BD1C64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD1C68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD1C6C */ _t19 = cpu->r[30] + 0x00000058u;
|
|
/* 02BD1C6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD1C70 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[11]);
|
|
/* 02BD1C74 */ _t20 = cpu->r[30] + 0x00000060u;
|
|
/* 02BD1C74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD1C78 */ cpu->r[8] = cpu->r[29];
|
|
/* 02BD1C7C */ cpu->r[7] = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BD1C80 */ Gambit_fn_02BFDA88(cpu);
|
|
/* 02BD1C84 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD1C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD1C88 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1C88 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD1C88 */ if (_t22) goto L_02BD1C8C; else goto L_02BD1D28;
|
|
L_02BD1C8C: ; // 0x2bd1c8c
|
|
/* 02BD1C8C */ _t23 = cpu->r[30] + 0x00000044u;
|
|
/* 02BD1C8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD1C90 */ _t24 = cpu->r[31] + 0x00000024u;
|
|
/* 02BD1C90 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 02BD1C94 */ _t25 = cpu->r[30] + 0x00000048u;
|
|
/* 02BD1C94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD1C98 */ cpu->r[6] = 0x10000000u;
|
|
/* 02BD1C9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD1CA0 */ _t26 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD1CA0 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 02BD1CA4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD1CA8 */ _t27 = cpu->r[30] + 0x00000058u;
|
|
/* 02BD1CA8 */ rbrew_write32(cpu->mem, _t27, cpu->r[27]);
|
|
/* 02BD1CAC */ Gambit_fn_02BFCF44(cpu);
|
|
/* 02BD1CB0 */ _t28 = cpu->r[28] + 0x00000000u;
|
|
/* 02BD1CB0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD1CB4 */ _t29 = cpu->r[6] + 0x00000048u;
|
|
/* 02BD1CB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD1CB8 */ Gambit_fn_02BC8AAC(cpu);
|
|
/* 02BD1CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1CC0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1CC0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD1CC0 */ if (_t31) goto L_02BD1CC4; else goto L_02BD1D1C;
|
|
L_02BD1CC4: ; // 0x2bd1cc4
|
|
/* 02BD1CC4 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BD1CC8 */ cpu->r[7] = 0x02BD0000u;
|
|
/* 02BD1CCC */ cpu->r[10] = 0x00000000u;
|
|
/* 02BD1CD0 */ _t32 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD1CD0 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[8]);
|
|
/* 02BD1CD4 */ cpu->r[7] = cpu->r[7] + 0x000018ACu;
|
|
/* 02BD1CD8 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1CD8 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[10]);
|
|
/* 02BD1CDC */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1CDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD1CE0 */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BD1CE4 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1CE4 */ rbrew_write32(cpu->mem, _t35, cpu->r[7]);
|
|
/* 02BD1CE8 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1CE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD1CEC */ cpu->r[10] = cpu->r[10] + 0x000041CCu;
|
|
/* 02BD1CF0 */ _t37 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD1CF0 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 02BD1CF4 */ cpu->r[12] = 0x00000005u;
|
|
/* 02BD1CF8 */ _t38 = cpu->r[30] + 0x00000024u;
|
|
/* 02BD1CF8 */ rbrew_write32(cpu->mem, _t38, cpu->r[11]);
|
|
/* 02BD1CFC */ _t39 = rbrew_rlwinm(cpu->r[12], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BD1CFC */ _t40 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BD1CFC */ cpu->r[0] = _t40 | _t39;
|
|
/* 02BD1D00 */ _t41 = cpu->r[30] + 0x00000028u;
|
|
/* 02BD1D00 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 02BD1D04 */ /* nop */
|
|
/* 02BD1D08 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BD1D0C */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD1D0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD1D10 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1D14 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD1D18 */ return;
|
|
L_02BD1D1C: ; // 0x2bd1d1c
|
|
/* 02BD1D1C */ _t43 = cpu->r[30] + 0x00000048u;
|
|
/* 02BD1D1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD1D20 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02BD1D24 */ _t44 = cpu->r[30] + 0x00000048u;
|
|
/* 02BD1D24 */ rbrew_write32(cpu->mem, _t44, cpu->r[5]);
|
|
L_02BD1D28: ; // 0x2bd1d28
|
|
/* 02BD1D28 */ /* nop */
|
|
/* 02BD1D2C */ cpu->r[6] = 0x00000001u;
|
|
/* 02BD1D30 */ _t45 = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BD1D30 */ _t46 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BD1D30 */ cpu->r[0] = _t46 | _t45;
|
|
/* 02BD1D34 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BD1D38 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD1D38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD1D3C */ cpu->lr = cpu->r[0];
|
|
/* 02BD1D40 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD1D44 */ return;
|
|
}
|
|
|
|
// fn_02BD1D48 @ 0x2bd1d48
|
|
void Gambit_fn_02BD1D48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BD1D48: ; // 0x2bd1d48
|
|
/* 02BD1D48 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD1D4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD1D4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD1D4C */ cpu->r[1] = _t0;
|
|
/* 02BD1D50 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1D50 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD1D54 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD1D58 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1D58 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD1D5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1D5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD1D60 */ _t4 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1D60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD1D64 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD1D68 */ _t5 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BD1D68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD1D6C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[12]);
|
|
/* 02BD1D70 */ _t6 = cpu->r[30] + 0x00000044u;
|
|
/* 02BD1D70 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02BD1D74 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD1D78 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1D7C */ _t7 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1D7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD1D80 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD1D84 */ _t8 = cpu->r[30] + 0x00000054u;
|
|
/* 02BD1D84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD1D88 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD1D8C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1D90 */ _t9 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BD1D90 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02BD1D94 */ _t10 = cpu->r[30] + 0x00000058u;
|
|
/* 02BD1D94 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02BD1D98 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1D98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD1D9C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1D9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD1DA0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1DA4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1DA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD1DA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD1DAC */ return;
|
|
}
|
|
|
|
// fn_02BD1D4C @ 0x2bd1d4c
|
|
void Gambit_fn_02BD1D4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BD1D4C: ; // 0x2bd1d4c
|
|
/* 02BD1D4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD1D4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD1D4C */ cpu->r[1] = _t0;
|
|
/* 02BD1D50 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1D50 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD1D54 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD1D58 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1D58 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD1D5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1D5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD1D60 */ _t4 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1D60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD1D64 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD1D68 */ _t5 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BD1D68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD1D6C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[12]);
|
|
/* 02BD1D70 */ _t6 = cpu->r[30] + 0x00000044u;
|
|
/* 02BD1D70 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02BD1D74 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD1D78 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1D7C */ _t7 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD1D7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD1D80 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD1D84 */ _t8 = cpu->r[30] + 0x00000054u;
|
|
/* 02BD1D84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD1D88 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD1D8C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1D90 */ _t9 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BD1D90 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02BD1D94 */ _t10 = cpu->r[30] + 0x00000058u;
|
|
/* 02BD1D94 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02BD1D98 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1D98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD1D9C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD1D9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD1DA0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1DA4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1DA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD1DA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD1DAC */ return;
|
|
}
|
|
|
|
// fn_02BD1DB0 @ 0x2bd1db0
|
|
void Gambit_fn_02BD1DB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BD1DB0: ; // 0x2bd1db0
|
|
/* 02BD1DB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD1DB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD1DB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD1DB4 */ cpu->r[1] = _t0;
|
|
/* 02BD1DB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1DB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD1DBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD1DC0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD1DC4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1DC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD1DC8 */ _t3 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD1DC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD1DCC */ _t4 = cpu->r[31] + 0x00000058u;
|
|
/* 02BD1DCC */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD1DD0 */ _t5 = cpu->r[12] + 0x00000064u;
|
|
/* 02BD1DD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD1DD4 */ Gambit_fn_02BFE778(cpu);
|
|
/* 02BD1DD8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD1DDC */ _t6 = cpu->r[31] + 0x00000058u;
|
|
/* 02BD1DDC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BD1DE0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD1DE4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1DE8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1DE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD1DEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD1DF0 */ return;
|
|
}
|
|
|
|
// fn_02BD1DB4 @ 0x2bd1db4
|
|
void Gambit_fn_02BD1DB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BD1DB4: ; // 0x2bd1db4
|
|
/* 02BD1DB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD1DB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD1DB4 */ cpu->r[1] = _t0;
|
|
/* 02BD1DB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1DB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD1DBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD1DC0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD1DC4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1DC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD1DC8 */ _t3 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD1DC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD1DCC */ _t4 = cpu->r[31] + 0x00000058u;
|
|
/* 02BD1DCC */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD1DD0 */ _t5 = cpu->r[12] + 0x00000064u;
|
|
/* 02BD1DD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD1DD4 */ Gambit_fn_02BFE778(cpu);
|
|
/* 02BD1DD8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD1DDC */ _t6 = cpu->r[31] + 0x00000058u;
|
|
/* 02BD1DDC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BD1DE0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD1DE4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD1DE8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1DE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD1DEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD1DF0 */ return;
|
|
}
|
|
|
|
// fn_02BD1DF4 @ 0x2bd1df4
|
|
void Gambit_fn_02BD1DF4(CPUState* cpu) {
|
|
L_02BD1DF4: ; // 0x2bd1df4
|
|
/* 02BD1DF4 */ return;
|
|
}
|
|
|
|
// fn_02BD1DF8 @ 0x2bd1df8
|
|
void Gambit_fn_02BD1DF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD1DF8: ; // 0x2bd1df8
|
|
/* 02BD1DF8 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BD1DFC */ cpu->r[9] = 0x10200000u;
|
|
/* 02BD1E00 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BD1E04 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BD1E08 */ _t0 = cpu->r[9] + 0x00002794u;
|
|
/* 02BD1E08 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BD1E08 */ cpu->r[9] = _t0;
|
|
/* 02BD1E0C */ _t1 = cpu->r[11] + 0x0000278Cu;
|
|
/* 02BD1E0C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD1E0C */ cpu->r[11] = _t1;
|
|
/* 02BD1E10 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BD1E14 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD1E14 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BD1E18 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BD1E1C */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BD1E1C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BD1E20 */ _t4 = cpu->r[11] + 0x0000279Cu;
|
|
/* 02BD1E20 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BD1E20 */ cpu->r[11] = _t4;
|
|
/* 02BD1E24 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD1E24 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BD1E28 */ return;
|
|
}
|
|
|
|
// fn_02BD1E2C @ 0x2bd1e2c
|
|
void Gambit_fn_02BD1E2C(CPUState* cpu) {
|
|
L_02BD1E2C: ; // 0x2bd1e2c
|
|
/* 02BD1E2C */ return;
|
|
}
|
|
|
|
// fn_02BD1E30 @ 0x2bd1e30
|
|
void Gambit_fn_02BD1E30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95;
|
|
|
|
L_02BD1E30: ; // 0x2bd1e30
|
|
/* 02BD1E30 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD1E34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD1E34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD1E34 */ cpu->r[1] = _t0;
|
|
/* 02BD1E38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1E38 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BD1E3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1E3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD1E40 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD1E40 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BD1E44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD1E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD1E48 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD1E48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD1E4C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1E4C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD1E4C */ if (_t6) goto L_02BD1E50; else goto L_02BD1E60;
|
|
L_02BD1E50: ; // 0x2bd1e50
|
|
/* 02BD1E50 */ cpu->r[3] = 0x00000144u;
|
|
/* 02BD1E54 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD1E58 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD1E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD1E5C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1E5C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD1E5C */ if (_t8) goto L_02BD1FFC; else goto L_02BD1E60;
|
|
L_02BD1E60: ; // 0x2bd1e60
|
|
/* 02BD1E60 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD1E64 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BD1E68 */ _t9 = cpu->r[31] + 0x00000038u;
|
|
/* 02BD1E68 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02BD1E6C */ cpu->r[11] = cpu->r[11] + 0x000042C4u;
|
|
/* 02BD1E70 */ _t10 = cpu->r[31] + 0x00000078u;
|
|
/* 02BD1E70 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02BD1E74 */ _t11 = cpu->r[31] + 0x00000140u;
|
|
/* 02BD1E74 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02BD1E78 */ _t12 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BD1E78 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BD1E7C */ _t13 = cpu->r[31] + 0x00000044u;
|
|
/* 02BD1E7C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BD1E80 */ _t14 = cpu->r[31] + 0x00000040u;
|
|
/* 02BD1E80 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BD1E84 */ _t15 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BD1E84 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02BD1E88 */ _t16 = cpu->r[31] + 0x00000070u;
|
|
/* 02BD1E88 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02BD1E8C */ _t17 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD1E8C */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BD1E90 */ _t18 = cpu->r[31] + 0x00000074u;
|
|
/* 02BD1E90 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BD1E94 */ _t19 = cpu->r[31] + 0x00000060u;
|
|
/* 02BD1E94 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02BD1E98 */ _t20 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BD1E98 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BD1E9C */ _t21 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD1E9C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02BD1EA0 */ _t22 = cpu->r[31] + 0x00000068u;
|
|
/* 02BD1EA0 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02BD1EA4 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD1EA4 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02BD1EA8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BD1EAC */ _t24 = cpu->r[31] + 0x00000054u;
|
|
/* 02BD1EAC */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02BD1EB0 */ _t25 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BD1EB0 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02BD1EB4 */ _t26 = cpu->r[31] + 0x00000034u;
|
|
/* 02BD1EB4 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 02BD1EB8 */ _t27 = cpu->r[31] + 0x00000028u;
|
|
/* 02BD1EB8 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02BD1EBC */ _t28 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD1EBC */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02BD1EC0 */ _t29 = cpu->r[31] + 0x00000014u;
|
|
/* 02BD1EC0 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02BD1EC4 */ _t30 = cpu->r[31] + 0x00000030u;
|
|
/* 02BD1EC4 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02BD1EC8 */ _t31 = cpu->r[31] + 0x00000064u;
|
|
/* 02BD1EC8 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BD1ECC */ _t32 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD1ECC */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
/* 02BD1ED0 */ _t33 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD1ED0 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 02BD1ED4 */ _t34 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BD1ED4 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 02BD1ED8 */ _t35 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD1ED8 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 02BD1EDC */ _t36 = cpu->r[31] + 0x00000024u;
|
|
/* 02BD1EDC */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
|
|
/* 02BD1EE0 */ _t37 = cpu->r[31] + 0x00000050u;
|
|
/* 02BD1EE0 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02BD1EE4 */ _t38 = cpu->r[31] + 0x00000001u;
|
|
/* 02BD1EE4 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[30]);
|
|
/* 02BD1EE8 */ _t39 = cpu->r[31] + 0x00000010u;
|
|
/* 02BD1EE8 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 02BD1EEC */ _t40 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BD1EEC */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 02BD1EF0 */ _t41 = cpu->r[11] + 0x000027A4u;
|
|
/* 02BD1EF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD1EF0 */ cpu->r[11] = _t41;
|
|
/* 02BD1EF4 */ _t42 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD1EF4 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 02BD1EF8 */ _t43 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD1EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD1EFC */ _t44 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD1EFC */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02BD1F00 */ _t45 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD1F00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD1F04 */ _t46 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD1F04 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]);
|
|
/* 02BD1F08 */ _t47 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD1F08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD1F0C */ _t48 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD1F0C */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02BD1F10 */ _t49 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD1F10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD1F14 */ _t50 = cpu->r[31] + 0x00000090u;
|
|
/* 02BD1F14 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 02BD1F18 */ _t51 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD1F18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD1F1C */ _t52 = cpu->r[31] + 0x00000098u;
|
|
/* 02BD1F1C */ rbrew_write32(cpu->mem, _t52, cpu->r[30]);
|
|
/* 02BD1F20 */ _t53 = cpu->r[31] + 0x00000094u;
|
|
/* 02BD1F20 */ rbrew_write32(cpu->mem, _t53, cpu->r[10]);
|
|
/* 02BD1F24 */ cpu->r[3] = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BD1F28 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BD1F2C */ _t54 = cpu->r[31] + 0x000000CCu;
|
|
/* 02BD1F2C */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
|
|
/* 02BD1F30 */ cpu->r[29] = cpu->r[31] + 0x000000D8u;
|
|
/* 02BD1F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD1F34 */ _t55 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD1F34 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[30]);
|
|
/* 02BD1F38 */ _t56 = cpu->r[31] + 0x000000BEu;
|
|
/* 02BD1F38 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[30]);
|
|
/* 02BD1F3C */ _t57 = cpu->r[31] + 0x000000B0u;
|
|
/* 02BD1F3C */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
|
|
/* 02BD1F40 */ _t58 = cpu->r[31] + 0x000000B8u;
|
|
/* 02BD1F40 */ rbrew_write32(cpu->mem, _t58, cpu->r[30]);
|
|
/* 02BD1F44 */ _t59 = cpu->r[31] + 0x000000B4u;
|
|
/* 02BD1F44 */ rbrew_write32(cpu->mem, _t59, cpu->r[30]);
|
|
/* 02BD1F48 */ _t60 = cpu->r[31] + 0x000000BCu;
|
|
/* 02BD1F48 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[30]);
|
|
/* 02BD1F4C */ _t61 = cpu->r[31] + 0x000000BDu;
|
|
/* 02BD1F4C */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[30]);
|
|
/* 02BD1F50 */ _t62 = cpu->r[31] + 0x000000BFu;
|
|
/* 02BD1F50 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[30]);
|
|
/* 02BD1F54 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1F54 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BD1F54 */ if (_t64) goto L_02BD1F58; else goto L_02BD1F68;
|
|
L_02BD1F58: ; // 0x2bd1f58
|
|
/* 02BD1F58 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02BD1F5C */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD1F60 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD1F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD1F64 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1F64 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02BD1F64 */ if (_t66) goto L_02BD1FBC; else goto L_02BD1F68;
|
|
L_02BD1F68: ; // 0x2bd1f68
|
|
/* 02BD1F68 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD1F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1F6C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1F6C */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BD1F6C */ if (_t68) goto L_02BD1F70; else goto L_02BD1F80;
|
|
L_02BD1F70: ; // 0x2bd1f70
|
|
/* 02BD1F70 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BD1F74 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD1F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1F7C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1F7C */ _t70 = _t69 & 0x00000001u;
|
|
/* 02BD1F7C */ if (_t70) goto L_02BD1F8C; else goto L_02BD1F80;
|
|
L_02BD1F80: ; // 0x2bd1f80
|
|
/* 02BD1F80 */ _t71 = cpu->r[3] + 0x00000004u;
|
|
/* 02BD1F80 */ rbrew_write32(cpu->mem, _t71, cpu->r[30]);
|
|
/* 02BD1F84 */ _t72 = cpu->r[3] + 0x00000008u;
|
|
/* 02BD1F84 */ rbrew_write32(cpu->mem, _t72, cpu->r[30]);
|
|
/* 02BD1F88 */ Gambit_fn_02B681A4(cpu);
|
|
L_02BD1F8C: ; // 0x2bd1f8c
|
|
/* 02BD1F8C */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 02BD1F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1F90 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1F90 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BD1F90 */ if (_t74) goto L_02BD1F94; else goto L_02BD1FA4;
|
|
L_02BD1F94: ; // 0x2bd1f94
|
|
/* 02BD1F94 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BD1F98 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD1F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1FA0 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1FA0 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02BD1FA0 */ if (_t76) goto L_02BD1FB0; else goto L_02BD1FA4;
|
|
L_02BD1FA4: ; // 0x2bd1fa4
|
|
/* 02BD1FA4 */ _t77 = cpu->r[3] + 0x00000004u;
|
|
/* 02BD1FA4 */ rbrew_write32(cpu->mem, _t77, cpu->r[30]);
|
|
/* 02BD1FA8 */ _t78 = cpu->r[3] + 0x00000008u;
|
|
/* 02BD1FA8 */ rbrew_write32(cpu->mem, _t78, cpu->r[30]);
|
|
/* 02BD1FAC */ Gambit_fn_02B681A4(cpu);
|
|
L_02BD1FB0: ; // 0x2bd1fb0
|
|
/* 02BD1FB0 */ _t79 = cpu->r[29] + 0x00000028u;
|
|
/* 02BD1FB0 */ rbrew_write32(cpu->mem, _t79, cpu->r[30]);
|
|
/* 02BD1FB4 */ _t80 = cpu->r[29] + 0x00000024u;
|
|
/* 02BD1FB4 */ rbrew_write32(cpu->mem, _t80, cpu->r[30]);
|
|
/* 02BD1FB8 */ _t81 = cpu->r[29] + 0x00000020u;
|
|
/* 02BD1FB8 */ rbrew_write32(cpu->mem, _t81, cpu->r[30]);
|
|
L_02BD1FBC: ; // 0x2bd1fbc
|
|
/* 02BD1FBC */ _t82 = cpu->r[31] + 0x000000D0u;
|
|
/* 02BD1FBC */ rbrew_write32(cpu->mem, _t82, cpu->r[30]);
|
|
/* 02BD1FC0 */ cpu->r[3] = cpu->r[31] + 0x0000010Du;
|
|
/* 02BD1FC4 */ _t83 = cpu->r[31] + 0x000000C1u;
|
|
/* 02BD1FC4 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[30]);
|
|
/* 02BD1FC8 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BD1FCC */ _t84 = cpu->r[31] + 0x0000010Cu;
|
|
/* 02BD1FCC */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[30]);
|
|
/* 02BD1FD0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD1FD4 */ _t85 = cpu->r[31] + 0x000000D4u;
|
|
/* 02BD1FD4 */ rbrew_write32(cpu->mem, _t85, cpu->r[30]);
|
|
/* 02BD1FD8 */ _t86 = cpu->r[31] + 0x00000104u;
|
|
/* 02BD1FD8 */ rbrew_write32(cpu->mem, _t86, cpu->r[30]);
|
|
/* 02BD1FDC */ _t87 = cpu->r[31] + 0x000000C0u;
|
|
/* 02BD1FDC */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[30]);
|
|
/* 02BD1FE0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1FE4 */ cpu->r[11] = 0x00000004u;
|
|
/* 02BD1FE8 */ cpu->r[12] = cpu->r[31] + 0x0000012Cu;
|
|
/* 02BD1FEC */ cpu->ctr = cpu->r[11];
|
|
/* 02BD1FF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD1FF4: ; // 0x2bd1ff4
|
|
/* 02BD1FF4 */ _t88 = cpu->r[12] + 0x00000004u;
|
|
/* 02BD1FF4 */ rbrew_write32(cpu->mem, _t88, cpu->r[0]);
|
|
/* 02BD1FF4 */ cpu->r[12] = _t88;
|
|
/* 02BD1FF8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD1FF8 */ _t89 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD1FF8 */ _t90 = _t89 >> (0x00000002u & 31u);
|
|
/* 02BD1FF8 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02BD1FF8 */ if (_t91) goto L_02BD1FF4; else goto L_02BD1FFC;
|
|
L_02BD1FFC: ; // 0x2bd1ffc
|
|
/* 02BD1FFC */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1FFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BD2000 */ _t93 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD2000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BD2004 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD2008 */ _t94 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD2008 */ cpu->r[30] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BD200C */ cpu->lr = cpu->r[0];
|
|
/* 02BD2010 */ _t95 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BD2014 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD2018 */ return;
|
|
}
|
|
|
|
// fn_02BD1E34 @ 0x2bd1e34
|
|
void Gambit_fn_02BD1E34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95;
|
|
|
|
L_02BD1E34: ; // 0x2bd1e34
|
|
/* 02BD1E34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD1E34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD1E34 */ cpu->r[1] = _t0;
|
|
/* 02BD1E38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1E38 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BD1E3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD1E3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD1E40 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD1E40 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BD1E44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD1E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD1E48 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD1E48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD1E4C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1E4C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD1E4C */ if (_t6) goto L_02BD1E50; else goto L_02BD1E60;
|
|
L_02BD1E50: ; // 0x2bd1e50
|
|
/* 02BD1E50 */ cpu->r[3] = 0x00000144u;
|
|
/* 02BD1E54 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD1E58 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD1E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD1E5C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1E5C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD1E5C */ if (_t8) goto L_02BD1FFC; else goto L_02BD1E60;
|
|
L_02BD1E60: ; // 0x2bd1e60
|
|
/* 02BD1E60 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD1E64 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BD1E68 */ _t9 = cpu->r[31] + 0x00000038u;
|
|
/* 02BD1E68 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02BD1E6C */ cpu->r[11] = cpu->r[11] + 0x000042C4u;
|
|
/* 02BD1E70 */ _t10 = cpu->r[31] + 0x00000078u;
|
|
/* 02BD1E70 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02BD1E74 */ _t11 = cpu->r[31] + 0x00000140u;
|
|
/* 02BD1E74 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02BD1E78 */ _t12 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BD1E78 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BD1E7C */ _t13 = cpu->r[31] + 0x00000044u;
|
|
/* 02BD1E7C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BD1E80 */ _t14 = cpu->r[31] + 0x00000040u;
|
|
/* 02BD1E80 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BD1E84 */ _t15 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BD1E84 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02BD1E88 */ _t16 = cpu->r[31] + 0x00000070u;
|
|
/* 02BD1E88 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02BD1E8C */ _t17 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD1E8C */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BD1E90 */ _t18 = cpu->r[31] + 0x00000074u;
|
|
/* 02BD1E90 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BD1E94 */ _t19 = cpu->r[31] + 0x00000060u;
|
|
/* 02BD1E94 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02BD1E98 */ _t20 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BD1E98 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BD1E9C */ _t21 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD1E9C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02BD1EA0 */ _t22 = cpu->r[31] + 0x00000068u;
|
|
/* 02BD1EA0 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02BD1EA4 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD1EA4 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02BD1EA8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BD1EAC */ _t24 = cpu->r[31] + 0x00000054u;
|
|
/* 02BD1EAC */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02BD1EB0 */ _t25 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BD1EB0 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02BD1EB4 */ _t26 = cpu->r[31] + 0x00000034u;
|
|
/* 02BD1EB4 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 02BD1EB8 */ _t27 = cpu->r[31] + 0x00000028u;
|
|
/* 02BD1EB8 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02BD1EBC */ _t28 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD1EBC */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02BD1EC0 */ _t29 = cpu->r[31] + 0x00000014u;
|
|
/* 02BD1EC0 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02BD1EC4 */ _t30 = cpu->r[31] + 0x00000030u;
|
|
/* 02BD1EC4 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02BD1EC8 */ _t31 = cpu->r[31] + 0x00000064u;
|
|
/* 02BD1EC8 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BD1ECC */ _t32 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD1ECC */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
/* 02BD1ED0 */ _t33 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD1ED0 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 02BD1ED4 */ _t34 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BD1ED4 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 02BD1ED8 */ _t35 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD1ED8 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 02BD1EDC */ _t36 = cpu->r[31] + 0x00000024u;
|
|
/* 02BD1EDC */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
|
|
/* 02BD1EE0 */ _t37 = cpu->r[31] + 0x00000050u;
|
|
/* 02BD1EE0 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02BD1EE4 */ _t38 = cpu->r[31] + 0x00000001u;
|
|
/* 02BD1EE4 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[30]);
|
|
/* 02BD1EE8 */ _t39 = cpu->r[31] + 0x00000010u;
|
|
/* 02BD1EE8 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 02BD1EEC */ _t40 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BD1EEC */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 02BD1EF0 */ _t41 = cpu->r[11] + 0x000027A4u;
|
|
/* 02BD1EF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD1EF0 */ cpu->r[11] = _t41;
|
|
/* 02BD1EF4 */ _t42 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD1EF4 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 02BD1EF8 */ _t43 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD1EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD1EFC */ _t44 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD1EFC */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02BD1F00 */ _t45 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD1F00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD1F04 */ _t46 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD1F04 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]);
|
|
/* 02BD1F08 */ _t47 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD1F08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD1F0C */ _t48 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD1F0C */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02BD1F10 */ _t49 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD1F10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD1F14 */ _t50 = cpu->r[31] + 0x00000090u;
|
|
/* 02BD1F14 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 02BD1F18 */ _t51 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD1F18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD1F1C */ _t52 = cpu->r[31] + 0x00000098u;
|
|
/* 02BD1F1C */ rbrew_write32(cpu->mem, _t52, cpu->r[30]);
|
|
/* 02BD1F20 */ _t53 = cpu->r[31] + 0x00000094u;
|
|
/* 02BD1F20 */ rbrew_write32(cpu->mem, _t53, cpu->r[10]);
|
|
/* 02BD1F24 */ cpu->r[3] = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BD1F28 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BD1F2C */ _t54 = cpu->r[31] + 0x000000CCu;
|
|
/* 02BD1F2C */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
|
|
/* 02BD1F30 */ cpu->r[29] = cpu->r[31] + 0x000000D8u;
|
|
/* 02BD1F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD1F34 */ _t55 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD1F34 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[30]);
|
|
/* 02BD1F38 */ _t56 = cpu->r[31] + 0x000000BEu;
|
|
/* 02BD1F38 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[30]);
|
|
/* 02BD1F3C */ _t57 = cpu->r[31] + 0x000000B0u;
|
|
/* 02BD1F3C */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
|
|
/* 02BD1F40 */ _t58 = cpu->r[31] + 0x000000B8u;
|
|
/* 02BD1F40 */ rbrew_write32(cpu->mem, _t58, cpu->r[30]);
|
|
/* 02BD1F44 */ _t59 = cpu->r[31] + 0x000000B4u;
|
|
/* 02BD1F44 */ rbrew_write32(cpu->mem, _t59, cpu->r[30]);
|
|
/* 02BD1F48 */ _t60 = cpu->r[31] + 0x000000BCu;
|
|
/* 02BD1F48 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[30]);
|
|
/* 02BD1F4C */ _t61 = cpu->r[31] + 0x000000BDu;
|
|
/* 02BD1F4C */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[30]);
|
|
/* 02BD1F50 */ _t62 = cpu->r[31] + 0x000000BFu;
|
|
/* 02BD1F50 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[30]);
|
|
/* 02BD1F54 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1F54 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BD1F54 */ if (_t64) goto L_02BD1F58; else goto L_02BD1F68;
|
|
L_02BD1F58: ; // 0x2bd1f58
|
|
/* 02BD1F58 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02BD1F5C */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD1F60 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD1F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD1F64 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1F64 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02BD1F64 */ if (_t66) goto L_02BD1FBC; else goto L_02BD1F68;
|
|
L_02BD1F68: ; // 0x2bd1f68
|
|
/* 02BD1F68 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD1F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1F6C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1F6C */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BD1F6C */ if (_t68) goto L_02BD1F70; else goto L_02BD1F80;
|
|
L_02BD1F70: ; // 0x2bd1f70
|
|
/* 02BD1F70 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BD1F74 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD1F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1F7C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1F7C */ _t70 = _t69 & 0x00000001u;
|
|
/* 02BD1F7C */ if (_t70) goto L_02BD1F8C; else goto L_02BD1F80;
|
|
L_02BD1F80: ; // 0x2bd1f80
|
|
/* 02BD1F80 */ _t71 = cpu->r[3] + 0x00000004u;
|
|
/* 02BD1F80 */ rbrew_write32(cpu->mem, _t71, cpu->r[30]);
|
|
/* 02BD1F84 */ _t72 = cpu->r[3] + 0x00000008u;
|
|
/* 02BD1F84 */ rbrew_write32(cpu->mem, _t72, cpu->r[30]);
|
|
/* 02BD1F88 */ Gambit_fn_02B681A4(cpu);
|
|
L_02BD1F8C: ; // 0x2bd1f8c
|
|
/* 02BD1F8C */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 02BD1F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1F90 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1F90 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BD1F90 */ if (_t74) goto L_02BD1F94; else goto L_02BD1FA4;
|
|
L_02BD1F94: ; // 0x2bd1f94
|
|
/* 02BD1F94 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BD1F98 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD1F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD1FA0 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD1FA0 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02BD1FA0 */ if (_t76) goto L_02BD1FB0; else goto L_02BD1FA4;
|
|
L_02BD1FA4: ; // 0x2bd1fa4
|
|
/* 02BD1FA4 */ _t77 = cpu->r[3] + 0x00000004u;
|
|
/* 02BD1FA4 */ rbrew_write32(cpu->mem, _t77, cpu->r[30]);
|
|
/* 02BD1FA8 */ _t78 = cpu->r[3] + 0x00000008u;
|
|
/* 02BD1FA8 */ rbrew_write32(cpu->mem, _t78, cpu->r[30]);
|
|
/* 02BD1FAC */ Gambit_fn_02B681A4(cpu);
|
|
L_02BD1FB0: ; // 0x2bd1fb0
|
|
/* 02BD1FB0 */ _t79 = cpu->r[29] + 0x00000028u;
|
|
/* 02BD1FB0 */ rbrew_write32(cpu->mem, _t79, cpu->r[30]);
|
|
/* 02BD1FB4 */ _t80 = cpu->r[29] + 0x00000024u;
|
|
/* 02BD1FB4 */ rbrew_write32(cpu->mem, _t80, cpu->r[30]);
|
|
/* 02BD1FB8 */ _t81 = cpu->r[29] + 0x00000020u;
|
|
/* 02BD1FB8 */ rbrew_write32(cpu->mem, _t81, cpu->r[30]);
|
|
L_02BD1FBC: ; // 0x2bd1fbc
|
|
/* 02BD1FBC */ _t82 = cpu->r[31] + 0x000000D0u;
|
|
/* 02BD1FBC */ rbrew_write32(cpu->mem, _t82, cpu->r[30]);
|
|
/* 02BD1FC0 */ cpu->r[3] = cpu->r[31] + 0x0000010Du;
|
|
/* 02BD1FC4 */ _t83 = cpu->r[31] + 0x000000C1u;
|
|
/* 02BD1FC4 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[30]);
|
|
/* 02BD1FC8 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BD1FCC */ _t84 = cpu->r[31] + 0x0000010Cu;
|
|
/* 02BD1FCC */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[30]);
|
|
/* 02BD1FD0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD1FD4 */ _t85 = cpu->r[31] + 0x000000D4u;
|
|
/* 02BD1FD4 */ rbrew_write32(cpu->mem, _t85, cpu->r[30]);
|
|
/* 02BD1FD8 */ _t86 = cpu->r[31] + 0x00000104u;
|
|
/* 02BD1FD8 */ rbrew_write32(cpu->mem, _t86, cpu->r[30]);
|
|
/* 02BD1FDC */ _t87 = cpu->r[31] + 0x000000C0u;
|
|
/* 02BD1FDC */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[30]);
|
|
/* 02BD1FE0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD1FE4 */ cpu->r[11] = 0x00000004u;
|
|
/* 02BD1FE8 */ cpu->r[12] = cpu->r[31] + 0x0000012Cu;
|
|
/* 02BD1FEC */ cpu->ctr = cpu->r[11];
|
|
/* 02BD1FF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD1FF4: ; // 0x2bd1ff4
|
|
/* 02BD1FF4 */ _t88 = cpu->r[12] + 0x00000004u;
|
|
/* 02BD1FF4 */ rbrew_write32(cpu->mem, _t88, cpu->r[0]);
|
|
/* 02BD1FF4 */ cpu->r[12] = _t88;
|
|
/* 02BD1FF8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD1FF8 */ _t89 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD1FF8 */ _t90 = _t89 >> (0x00000002u & 31u);
|
|
/* 02BD1FF8 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02BD1FF8 */ if (_t91) goto L_02BD1FF4; else goto L_02BD1FFC;
|
|
L_02BD1FFC: ; // 0x2bd1ffc
|
|
/* 02BD1FFC */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD1FFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BD2000 */ _t93 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD2000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BD2004 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD2008 */ _t94 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD2008 */ cpu->r[30] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BD200C */ cpu->lr = cpu->r[0];
|
|
/* 02BD2010 */ _t95 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BD2014 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD2018 */ return;
|
|
}
|
|
|
|
// fn_02BD201C @ 0x2bd201c
|
|
void Gambit_fn_02BD201C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369;
|
|
|
|
L_02BD201C: ; // 0x2bd201c
|
|
/* 02BD201C */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02BD201C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD201C */ cpu->r[1] = _t0;
|
|
/* 02BD2020 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD2024 */ /* nop */
|
|
/* 02BD2028 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BD2028 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD202C */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD2030 */ Gambit_fn_02BB5B74(cpu);
|
|
/* 02BD2034 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD2038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD203C */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD2040 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2040 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD2040 */ if (_t3) goto L_02BD2044; else goto L_02BD2068;
|
|
L_02BD2044: ; // 0x2bd2044
|
|
/* 02BD2044 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD2048 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD204C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD2050 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02BD2054 */ /* nop */
|
|
/* 02BD2058 */ _t4 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BD2058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD205C */ cpu->lr = cpu->r[0];
|
|
/* 02BD2060 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BD2064 */ return;
|
|
L_02BD2068: ; // 0x2bd2068
|
|
/* 02BD2068 */ Gambit_fn_02BB5B80(cpu);
|
|
/* 02BD206C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2070 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2070 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD2070 */ if (_t6) goto L_02BD2074; else goto L_02BD2098;
|
|
L_02BD2074: ; // 0x2bd2074
|
|
/* 02BD2074 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD2078 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD207C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD2080 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD2084 */ /* nop */
|
|
/* 02BD2088 */ _t7 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BD2088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD208C */ cpu->lr = cpu->r[0];
|
|
/* 02BD2090 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BD2094 */ return;
|
|
L_02BD2098: ; // 0x2bd2098
|
|
/* 02BD2098 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BD209C */ _t8 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BD209C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD209C */ cpu->r[30] = _t8;
|
|
/* 02BD20A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD20A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD20A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD20A4 */ if (_t10) goto L_02BD20D0; else goto L_02BD20A8;
|
|
L_02BD20A8: ; // 0x2bd20a8
|
|
/* 02BD20A8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BD20AC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD20B0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD20B4 */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BD20B8 */ cpu->r[3] = cpu->r[31] + 0xFFFF942Eu;
|
|
/* 02BD20BC */ /* nop */
|
|
/* 02BD20C0 */ _t11 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BD20C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD20C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD20C8 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BD20CC */ return;
|
|
L_02BD20D0: ; // 0x2bd20d0
|
|
/* 02BD20D0 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02BD20D0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD20D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BD20D8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD20D8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD20D8 */ if (_t14) goto L_02BD20DC; else goto L_02BD2100;
|
|
L_02BD20DC: ; // 0x2bd20dc
|
|
/* 02BD20DC */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD20E0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD20E4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD20E8 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD20EC */ /* nop */
|
|
/* 02BD20F0 */ _t15 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BD20F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD20F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD20F8 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BD20FC */ return;
|
|
L_02BD2100: ; // 0x2bd2100
|
|
/* 02BD2100 */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 02BD2100 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD2104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BD2108 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2108 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BD2108 */ if (_t18) goto L_02BD214C; else goto L_02BD210C;
|
|
L_02BD210C: ; // 0x2bd210c
|
|
/* 02BD210C */ _t19 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD210C */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD2110 */ _t20 = cpu->r[6] + 0x00000084u;
|
|
/* 02BD2110 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD2114 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD2118 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD211C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2124 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2124 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD2124 */ if (_t22) goto L_02BD2128; else goto L_02BD214C;
|
|
L_02BD2128: ; // 0x2bd2128
|
|
/* 02BD2128 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD212C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD2130 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD2134 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD2138 */ /* nop */
|
|
/* 02BD213C */ _t23 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BD213C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD2140 */ cpu->lr = cpu->r[0];
|
|
/* 02BD2144 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BD2148 */ return;
|
|
L_02BD214C: ; // 0x2bd214c
|
|
/* 02BD214C */ _t24 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD214C */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD2150 */ _t25 = cpu->r[8] + 0x0000015Cu;
|
|
/* 02BD2150 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD2154 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD2158 */ _t26 = cpu->r[29] + 0x00000008u;
|
|
/* 02BD2158 */ cpu->r[26] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02BD215C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2164 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[3]);
|
|
/* 02BD2168 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD2168 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BD2168 */ if (_t28) goto L_02BD216C; else goto L_02BD2190;
|
|
L_02BD216C: ; // 0x2bd216c
|
|
/* 02BD216C */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD2170 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD2174 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD2178 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD217C */ /* nop */
|
|
/* 02BD2180 */ _t29 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BD2180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD2184 */ cpu->lr = cpu->r[0];
|
|
/* 02BD2188 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BD218C */ return;
|
|
L_02BD2190: ; // 0x2bd2190
|
|
/* 02BD2190 */ cpu->r[4] = 0x10200000u;
|
|
/* 02BD2194 */ _t30 = cpu->r[4] + 0x000027BCu;
|
|
/* 02BD2194 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02BD2198 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD219C */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD219C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 02BD21A0 */ Gambit_fn_02BC4C34(cpu);
|
|
/* 02BD21A4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD21A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD21A8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD21A8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BD21A8 */ if (_t33) goto L_02BD21AC; else goto L_02BD21C4;
|
|
L_02BD21AC: ; // 0x2bd21ac
|
|
/* 02BD21AC */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD21AC */ rbrew_write32(cpu->mem, _t34, cpu->r[28]);
|
|
/* 02BD21B0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD21B4 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD21B4 */ rbrew_write32(cpu->mem, _t35, cpu->r[27]);
|
|
/* 02BD21B8 */ Gambit_fn_02BC25EC(cpu);
|
|
/* 02BD21BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD21BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD21C0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD21C0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD21C0 */ if (_t37) goto L_02BD21D8; else goto L_02BD21C4;
|
|
L_02BD21C4: ; // 0x2bd21c4
|
|
/* 02BD21C4 */ /* nop */
|
|
/* 02BD21C8 */ _t38 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BD21C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD21CC */ cpu->lr = cpu->r[0];
|
|
/* 02BD21D0 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BD21D4 */ return;
|
|
L_02BD21D8: ; // 0x2bd21d8
|
|
/* 02BD21D8 */ _t39 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD21D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD21DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD21E0 */ cpu->r[28] = 0x00000000u;
|
|
/* 02BD21E4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD21E4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BD21E4 */ if (_t41) goto L_02BD21E8; else goto L_02BD299C;
|
|
L_02BD21E8: ; // 0x2bd21e8
|
|
/* 02BD21E8 */ _t42 = cpu->r[29] + 0x00000000u;
|
|
/* 02BD21E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD21EC */ _t43 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD21EC */ rbrew_write32(cpu->mem, _t43, cpu->r[4]);
|
|
/* 02BD21F0 */ _t44 = cpu->r[29] + 0x00000004u;
|
|
/* 02BD21F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD21F4 */ cpu->r[12] = cpu->r[1] + 0x00000034u;
|
|
/* 02BD21F8 */ _t45 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD21F8 */ rbrew_write32(cpu->mem, _t45, cpu->r[5]);
|
|
/* 02BD21FC */ _t46 = cpu->r[29] + 0x00000008u;
|
|
/* 02BD21FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD2200 */ cpu->r[4] = cpu->r[12];
|
|
/* 02BD2204 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD2208 */ _t47 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD2208 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02BD220C */ Gambit_fn_02BD1E30(cpu);
|
|
/* 02BD2210 */ _t48 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2210 */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 02BD2214 */ _t49 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD2214 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[28]);
|
|
/* 02BD2218 */ _t50 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2218 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD221C */ _t51 = cpu->r[7] + 0x0000012Cu;
|
|
/* 02BD221C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD2220 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2224 */ _t52 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2224 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BD2228 */ cpu->r[4] = cpu->r[26];
|
|
/* 02BD222C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2230 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2234 */ _t53 = cpu->r[31] + 0x000000CCu;
|
|
/* 02BD2234 */ rbrew_write32(cpu->mem, _t53, cpu->r[3]);
|
|
/* 02BD2238 */ _t54 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2238 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BD223C */ _t55 = cpu->r[9] + 0x00000134u;
|
|
/* 02BD223C */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD2240 */ cpu->ctr = cpu->r[8];
|
|
/* 02BD2244 */ _t56 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2244 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BD2248 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD224C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2250 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BD2254 */ _t57 = cpu->r[31] + 0x000000C4u;
|
|
/* 02BD2254 */ rbrew_write32(cpu->mem, _t57, cpu->r[3]);
|
|
/* 02BD2258 */ _t58 = cpu->r[26] + 0xFFFFB778u;
|
|
/* 02BD2258 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BD2258 */ cpu->r[26] = _t58;
|
|
/* 02BD225C */ cpu->r[9] = 0x00000001u;
|
|
/* 02BD2260 */ _t59 = cpu->r[5] + 0x00000080u;
|
|
/* 02BD2260 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[9]);
|
|
/* 02BD2264 */ _t60 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2264 */ cpu->r[10] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BD2268 */ _t61 = cpu->r[10] + 0x0000008Cu;
|
|
/* 02BD2268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BD226C */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2270 */ _t62 = cpu->r[5] + 0x00000034u;
|
|
/* 02BD2270 */ cpu->r[29] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BD2274 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2278 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD227C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2280 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2280 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BD2280 */ if (_t64) goto L_02BD2284; else goto L_02BD22A0;
|
|
L_02BD2284: ; // 0x2bd2284
|
|
/* 02BD2284 */ _t65 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2284 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BD2288 */ _t66 = cpu->r[12] + 0x00000094u;
|
|
/* 02BD2288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BD228C */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2290 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2294 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD229C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD229C */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BD229C */ if (_t68) goto L_02BD2418; else goto L_02BD22A0;
|
|
L_02BD22A0: ; // 0x2bd22a0
|
|
/* 02BD22A0 */ _t69 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD22A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BD22A4 */ _t70 = cpu->r[5] + 0x00000134u;
|
|
/* 02BD22A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BD22A8 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD22AC */ _t71 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD22AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BD22B0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD22B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD22B8 */ _t72 = cpu->r[31] + 0x000000C8u;
|
|
/* 02BD22B8 */ rbrew_write32(cpu->mem, _t72, cpu->r[3]);
|
|
/* 02BD22BC */ _t73 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD22BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BD22C0 */ _t74 = cpu->r[7] + 0x00000068u;
|
|
/* 02BD22C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BD22C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD22C8 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD22C8 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02BD22C8 */ if (_t76) goto L_02BD22CC; else goto L_02BD22E8;
|
|
L_02BD22CC: ; // 0x2bd22cc
|
|
/* 02BD22CC */ cpu->r[3] = 0x00000038u;
|
|
/* 02BD22D0 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD22D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD22D8 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD22D8 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02BD22D8 */ if (_t78) goto L_02BD22E0; else goto L_02BD22DC;
|
|
L_02BD22DC: ; // 0x2bd22dc
|
|
/* 02BD22DC */ Gambit_fn_02BDAFD4(cpu);
|
|
L_02BD22E0: ; // 0x2bd22e0
|
|
/* 02BD22E0 */ _t79 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD22E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BD22E4 */ _t80 = cpu->r[9] + 0x00000068u;
|
|
/* 02BD22E4 */ rbrew_write32(cpu->mem, _t80, cpu->r[3]);
|
|
L_02BD22E8: ; // 0x2bd22e8
|
|
/* 02BD22E8 */ _t81 = cpu->r[26] + 0x00000000u;
|
|
/* 02BD22E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BD22EC */ _t82 = cpu->r[31] + 0x00000028u;
|
|
/* 02BD22EC */ cpu->r[10] = rbrew_read8(cpu->mem, _t82);
|
|
/* 02BD22F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD22F4 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD22F4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02BD22F4 */ if (_t84) goto L_02BD2318; else goto L_02BD22F8;
|
|
L_02BD22F8: ; // 0x2bd22f8
|
|
/* 02BD22F8 */ _t85 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD22F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BD22FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD2300 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BD2304 */ _t86 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BD2304 */ rbrew_write32(cpu->mem, _t86, cpu->r[3]);
|
|
/* 02BD2308 */ _t87 = cpu->r[31] + 0xFFFFB6C0u;
|
|
/* 02BD2308 */ cpu->r[31] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BD230C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD2310 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2310 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02BD2310 */ if (_t89) goto L_02BD23B0; else goto L_02BD2314;
|
|
L_02BD2314: ; // 0x2bd2314
|
|
/* 02BD2314 */ goto L_02BD2374;
|
|
L_02BD2318: ; // 0x2bd2318
|
|
/* 02BD2318 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02BD231C */ cpu->r[4] = 0x00000128u;
|
|
/* 02BD2320 */ Gambit_fn_02BE6420(cpu);
|
|
/* 02BD2324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2328 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BD232C */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD232C */ _t91 = _t90 & 0x00000001u;
|
|
/* 02BD232C */ if (_t91) goto L_02BD2338; else goto L_02BD2330;
|
|
L_02BD2330: ; // 0x2bd2330
|
|
/* 02BD2330 */ Gambit_fn_02BD7064(cpu);
|
|
/* 02BD2334 */ cpu->r[4] = cpu->r[3];
|
|
L_02BD2338: ; // 0x2bd2338
|
|
/* 02BD2338 */ cpu->r[0] = 0x00007200u;
|
|
/* 02BD233C */ _t92 = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BD233C */ _t93 = cpu->r[6] & 0x0000FFFFu;
|
|
/* 02BD233C */ cpu->r[6] = _t93 | _t92;
|
|
/* 02BD2340 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02BD2344 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BD2348 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD234C */ _t94 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD234C */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02BD2350 */ Gambit_fn_02BE65C8(cpu);
|
|
/* 02BD2354 */ _t95 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2354 */ cpu->r[12] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BD2358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD235C */ _t96 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BD235C */ rbrew_write32(cpu->mem, _t96, cpu->r[3]);
|
|
/* 02BD2360 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2360 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02BD2360 */ if (_t98) goto L_02BD2364; else goto L_02BD23B0;
|
|
L_02BD2364: ; // 0x2bd2364
|
|
/* 02BD2364 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BD2368 */ _t99 = cpu->r[31] + 0xFFFFB6C0u;
|
|
/* 02BD2368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BD236C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD2370 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2370 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02BD2370 */ if (_t101) goto L_02BD23B0; else goto L_02BD2374;
|
|
L_02BD2374: ; // 0x2bd2374
|
|
/* 02BD2374 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD2378 */ cpu->r[4] = 0x00000010u;
|
|
/* 02BD237C */ Gambit_fn_02B67718(cpu);
|
|
/* 02BD2380 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BD2384 */ cpu->r[4] = 0x00000010u;
|
|
/* 02BD2388 */ cpu->r[5] = cpu->r[5] + 0x00004234u;
|
|
/* 02BD238C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD2390 */ _t102 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BD2390 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02BD2390 */ if (_t103) goto L_02BD2394; // else: addr-0 trap, fall-through
|
|
L_02BD2394: ; // 0x2bd2394
|
|
/* 02BD2394 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BD2398 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BD239C */ cpu->r[4] = 0x00000010u;
|
|
/* 02BD23A0 */ cpu->r[5] = cpu->r[5] + 0x00004230u;
|
|
/* 02BD23A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD23A8 */ _t104 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BD23A8 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02BD23A8 */ if (_t105) goto L_02BD23AC; // else: addr-0 trap, fall-through
|
|
L_02BD23AC: ; // 0x2bd23ac
|
|
/* 02BD23AC */ Gambit_fn_02B676C8(cpu);
|
|
L_02BD23B0: ; // 0x2bd23b0
|
|
/* 02BD23B0 */ _t106 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD23B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02BD23B4 */ _t107 = cpu->r[26] + 0x00000000u;
|
|
/* 02BD23B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BD23B8 */ _t108 = cpu->r[4] + 0x0000006Cu;
|
|
/* 02BD23B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02BD23BC */ cpu->r[5] = 0x00007200u;
|
|
/* 02BD23C0 */ cpu->r[3] = cpu->r[10] + 0x00000010u;
|
|
/* 02BD23C4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD23C8 */ _t109 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD23C8 */ rbrew_write32(cpu->mem, _t109, cpu->r[0]);
|
|
/* 02BD23CC */ Gambit_fn_02BE6784(cpu);
|
|
/* 02BD23D0 */ _t110 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD23D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02BD23D4 */ _t111 = cpu->r[5] + 0x00000070u;
|
|
/* 02BD23D4 */ rbrew_write32(cpu->mem, _t111, cpu->r[3]);
|
|
/* 02BD23D8 */ _t112 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD23D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02BD23DC */ _t113 = cpu->r[6] + 0x00000068u;
|
|
/* 02BD23DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02BD23E0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD23E4 */ Gambit_fn_02BDB1B8(cpu);
|
|
/* 02BD23E8 */ _t114 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD23E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02BD23EC */ _t115 = cpu->r[7] + 0x00000070u;
|
|
/* 02BD23EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02BD23F0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD23F4 */ Gambit_fn_02BD71B0(cpu);
|
|
/* 02BD23F8 */ _t116 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD23F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02BD23FC */ _t117 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02BD23FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BD2400 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2404 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2408 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD240C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2410 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2410 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02BD2410 */ if (_t119) goto L_02BD24A0; else goto L_02BD2414;
|
|
L_02BD2414: ; // 0x2bd2414
|
|
/* 02BD2414 */ goto L_02BD2454;
|
|
L_02BD2418: ; // 0x2bd2418
|
|
/* 02BD2418 */ _t120 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2418 */ cpu->r[8] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02BD241C */ _t121 = cpu->r[8] + 0x000000C8u;
|
|
/* 02BD241C */ rbrew_write32(cpu->mem, _t121, cpu->r[28]);
|
|
/* 02BD2420 */ _t122 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2420 */ cpu->r[9] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02BD2424 */ _t123 = cpu->r[9] + 0x00000068u;
|
|
/* 02BD2424 */ rbrew_write32(cpu->mem, _t123, cpu->r[28]);
|
|
/* 02BD2428 */ _t124 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02BD242C */ _t125 = cpu->r[10] + 0x0000006Cu;
|
|
/* 02BD242C */ rbrew_write32(cpu->mem, _t125, cpu->r[28]);
|
|
/* 02BD2430 */ _t126 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2430 */ cpu->r[11] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02BD2434 */ _t127 = cpu->r[11] + 0x00000070u;
|
|
/* 02BD2434 */ rbrew_write32(cpu->mem, _t127, cpu->r[28]);
|
|
/* 02BD2438 */ _t128 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2438 */ cpu->r[12] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02BD243C */ _t129 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02BD243C */ cpu->r[0] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02BD2440 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2444 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2448 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD244C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2450 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2450 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02BD2450 */ if (_t131) goto L_02BD24A0; else goto L_02BD2454;
|
|
L_02BD2454: ; // 0x2bd2454
|
|
/* 02BD2454 */ _t132 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2454 */ cpu->r[4] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02BD2458 */ _t133 = cpu->r[4] + 0x00000044u;
|
|
/* 02BD2458 */ cpu->r[5] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02BD245C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD2460 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2460 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02BD2460 */ if (_t135) goto L_02BD2464; else goto L_02BD24AC;
|
|
L_02BD2464: ; // 0x2bd2464
|
|
/* 02BD2464 */ _t136 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2464 */ cpu->r[6] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02BD2468 */ _t137 = cpu->r[6] + 0x00000104u;
|
|
/* 02BD2468 */ cpu->r[7] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02BD246C */ cpu->ctr = cpu->r[7];
|
|
/* 02BD2470 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2474 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2478 */ _t138 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2478 */ cpu->r[8] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02BD247C */ _t139 = cpu->r[8] + 0x00000044u;
|
|
/* 02BD247C */ rbrew_write32(cpu->mem, _t139, cpu->r[3]);
|
|
/* 02BD2480 */ _t140 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2480 */ cpu->r[9] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02BD2484 */ _t141 = cpu->r[9] + 0x00000094u;
|
|
/* 02BD2484 */ cpu->r[10] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02BD2488 */ cpu->ctr = cpu->r[10];
|
|
/* 02BD248C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2490 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2498 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2498 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02BD2498 */ if (_t143) goto L_02BD2508; else goto L_02BD249C;
|
|
L_02BD249C: ; // 0x2bd249c
|
|
/* 02BD249C */ goto L_02BD24C8;
|
|
L_02BD24A0: ; // 0x2bd24a0
|
|
/* 02BD24A0 */ _t144 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD24A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02BD24A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD24A8 */ _t145 = cpu->r[8] + 0x00000044u;
|
|
/* 02BD24A8 */ rbrew_write32(cpu->mem, _t145, cpu->r[3]);
|
|
L_02BD24AC: ; // 0x2bd24ac
|
|
/* 02BD24AC */ _t146 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD24AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02BD24B0 */ _t147 = cpu->r[9] + 0x00000094u;
|
|
/* 02BD24B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02BD24B4 */ cpu->ctr = cpu->r[10];
|
|
/* 02BD24B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD24BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD24C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD24C4 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD24C4 */ _t149 = _t148 & 0x00000001u;
|
|
/* 02BD24C4 */ if (_t149) goto L_02BD2508; else goto L_02BD24C8;
|
|
L_02BD24C8: ; // 0x2bd24c8
|
|
/* 02BD24C8 */ _t150 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD24C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02BD24CC */ _t151 = cpu->r[12] + 0x00000048u;
|
|
/* 02BD24CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02BD24D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD24D4 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD24D4 */ _t153 = _t152 & 0x00000001u;
|
|
/* 02BD24D4 */ if (_t153) goto L_02BD24D8; else goto L_02BD2518;
|
|
L_02BD24D8: ; // 0x2bd24d8
|
|
/* 02BD24D8 */ _t154 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD24D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02BD24DC */ _t155 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02BD24DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02BD24E0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD24E4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD24E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD24EC */ _t156 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD24EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02BD24F0 */ _t157 = cpu->r[4] + 0x00000048u;
|
|
/* 02BD24F0 */ rbrew_write32(cpu->mem, _t157, cpu->r[3]);
|
|
/* 02BD24F4 */ _t158 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD24F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02BD24F8 */ _t159 = cpu->r[12] + 0x00000008u;
|
|
/* 02BD24F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02BD24FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD2500 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2500 */ _t161 = _t160 & 0x00000001u;
|
|
/* 02BD2500 */ if (_t161) goto L_02BD2504; else goto L_02BD2544;
|
|
L_02BD2504: ; // 0x2bd2504
|
|
/* 02BD2504 */ goto L_02BD2524;
|
|
L_02BD2508: ; // 0x2bd2508
|
|
/* 02BD2508 */ _t162 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2508 */ cpu->r[4] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02BD250C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD2510 */ _t163 = cpu->r[4] + 0x00000048u;
|
|
/* 02BD2510 */ rbrew_write32(cpu->mem, _t163, cpu->r[3]);
|
|
/* 02BD2514 */ _t164 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2514 */ cpu->r[12] = rbrew_read32(cpu->mem, _t164);
|
|
L_02BD2518: ; // 0x2bd2518
|
|
/* 02BD2518 */ _t165 = cpu->r[12] + 0x00000008u;
|
|
/* 02BD2518 */ cpu->r[5] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02BD251C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD2520 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2520 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02BD2520 */ if (_t167) goto L_02BD2524; else goto L_02BD2544;
|
|
L_02BD2524: ; // 0x2bd2524
|
|
/* 02BD2524 */ cpu->r[3] = 0x00000058u;
|
|
/* 02BD2528 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD252C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2530 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2530 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02BD2530 */ if (_t169) goto L_02BD2538; else goto L_02BD2534;
|
|
L_02BD2534: ; // 0x2bd2534
|
|
/* 02BD2534 */ Gambit_fn_02BDA5E0(cpu);
|
|
L_02BD2538: ; // 0x2bd2538
|
|
/* 02BD2538 */ _t170 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2538 */ cpu->r[6] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02BD253C */ _t171 = cpu->r[6] + 0x00000008u;
|
|
/* 02BD253C */ rbrew_write32(cpu->mem, _t171, cpu->r[3]);
|
|
/* 02BD2540 */ _t172 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2540 */ cpu->r[12] = rbrew_read32(cpu->mem, _t172);
|
|
L_02BD2544: ; // 0x2bd2544
|
|
/* 02BD2544 */ _t173 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BD2544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t173);
|
|
/* 02BD2548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD254C */ _t174 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD254C */ _t175 = _t174 & 0x00000001u;
|
|
/* 02BD254C */ if (_t175) goto L_02BD2550; else goto L_02BD2570;
|
|
L_02BD2550: ; // 0x2bd2550
|
|
/* 02BD2550 */ _t176 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2550 */ cpu->r[8] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02BD2554 */ _t177 = cpu->r[8] + 0x000000B4u;
|
|
/* 02BD2554 */ cpu->r[9] = rbrew_read32(cpu->mem, _t177);
|
|
/* 02BD2558 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD255C */ _t178 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD255C */ cpu->r[31] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02BD2560 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2564 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2568 */ _t179 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BD2568 */ rbrew_write32(cpu->mem, _t179, cpu->r[3]);
|
|
/* 02BD256C */ _t180 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD256C */ cpu->r[12] = rbrew_read32(cpu->mem, _t180);
|
|
L_02BD2570: ; // 0x2bd2570
|
|
/* 02BD2570 */ _t181 = cpu->r[12] + 0x00000010u;
|
|
/* 02BD2570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02BD2574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD2578 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2578 */ _t183 = _t182 & 0x00000001u;
|
|
/* 02BD2578 */ if (_t183) goto L_02BD257C; else goto L_02BD259C;
|
|
L_02BD257C: ; // 0x2bd257c
|
|
/* 02BD257C */ _t184 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD257C */ cpu->r[11] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02BD2580 */ _t185 = cpu->r[11] + 0x000000BCu;
|
|
/* 02BD2580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t185);
|
|
/* 02BD2584 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2588 */ _t186 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2588 */ cpu->r[31] = rbrew_read32(cpu->mem, _t186);
|
|
/* 02BD258C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2590 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2594 */ _t187 = cpu->r[31] + 0x00000010u;
|
|
/* 02BD2594 */ rbrew_write32(cpu->mem, _t187, cpu->r[3]);
|
|
/* 02BD2598 */ _t188 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2598 */ cpu->r[12] = rbrew_read32(cpu->mem, _t188);
|
|
L_02BD259C: ; // 0x2bd259c
|
|
/* 02BD259C */ _t189 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD259C */ cpu->r[0] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02BD25A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD25A4 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD25A4 */ _t191 = _t190 & 0x00000001u;
|
|
/* 02BD25A4 */ if (_t191) goto L_02BD25A8; else goto L_02BD25C8;
|
|
L_02BD25A8: ; // 0x2bd25a8
|
|
/* 02BD25A8 */ _t192 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD25A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02BD25AC */ _t193 = cpu->r[4] + 0x000000C4u;
|
|
/* 02BD25AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t193);
|
|
/* 02BD25B0 */ cpu->ctr = cpu->r[5];
|
|
/* 02BD25B4 */ _t194 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD25B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02BD25B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD25BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD25C0 */ _t195 = cpu->r[31] + 0x00000014u;
|
|
/* 02BD25C0 */ rbrew_write32(cpu->mem, _t195, cpu->r[3]);
|
|
/* 02BD25C4 */ _t196 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD25C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t196);
|
|
L_02BD25C8: ; // 0x2bd25c8
|
|
/* 02BD25C8 */ _t197 = cpu->r[12] + 0x00000018u;
|
|
/* 02BD25C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t197);
|
|
/* 02BD25CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD25D0 */ _t198 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD25D0 */ _t199 = _t198 & 0x00000001u;
|
|
/* 02BD25D0 */ if (_t199) goto L_02BD25D4; else goto L_02BD25F4;
|
|
L_02BD25D4: ; // 0x2bd25d4
|
|
/* 02BD25D4 */ _t200 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD25D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02BD25D8 */ _t201 = cpu->r[8] + 0x000000CCu;
|
|
/* 02BD25D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02BD25DC */ cpu->ctr = cpu->r[9];
|
|
/* 02BD25E0 */ _t202 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD25E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t202);
|
|
/* 02BD25E4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD25E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD25EC */ _t203 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD25EC */ rbrew_write32(cpu->mem, _t203, cpu->r[3]);
|
|
/* 02BD25F0 */ _t204 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD25F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t204);
|
|
L_02BD25F4: ; // 0x2bd25f4
|
|
/* 02BD25F4 */ _t205 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BD25F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t205);
|
|
/* 02BD25F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD25FC */ _t206 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD25FC */ _t207 = _t206 & 0x00000001u;
|
|
/* 02BD25FC */ if (_t207) goto L_02BD2600; else goto L_02BD2620;
|
|
L_02BD2600: ; // 0x2bd2600
|
|
/* 02BD2600 */ _t208 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2600 */ cpu->r[12] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02BD2604 */ _t209 = cpu->r[12] + 0x000000D4u;
|
|
/* 02BD2604 */ cpu->r[5] = rbrew_read32(cpu->mem, _t209);
|
|
/* 02BD2608 */ cpu->ctr = cpu->r[5];
|
|
/* 02BD260C */ _t210 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD260C */ cpu->r[31] = rbrew_read32(cpu->mem, _t210);
|
|
/* 02BD2610 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2614 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2618 */ _t211 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD2618 */ rbrew_write32(cpu->mem, _t211, cpu->r[3]);
|
|
/* 02BD261C */ _t212 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD261C */ cpu->r[12] = rbrew_read32(cpu->mem, _t212);
|
|
L_02BD2620: ; // 0x2bd2620
|
|
/* 02BD2620 */ _t213 = cpu->r[12] + 0x00000020u;
|
|
/* 02BD2620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02BD2624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD2628 */ _t214 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2628 */ _t215 = _t214 & 0x00000001u;
|
|
/* 02BD2628 */ if (_t215) goto L_02BD262C; else goto L_02BD264C;
|
|
L_02BD262C: ; // 0x2bd262c
|
|
/* 02BD262C */ _t216 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD262C */ cpu->r[7] = rbrew_read32(cpu->mem, _t216);
|
|
/* 02BD2630 */ _t217 = cpu->r[7] + 0x000000DCu;
|
|
/* 02BD2630 */ cpu->r[8] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02BD2634 */ cpu->ctr = cpu->r[8];
|
|
/* 02BD2638 */ _t218 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02BD263C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2640 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2644 */ _t219 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD2644 */ rbrew_write32(cpu->mem, _t219, cpu->r[3]);
|
|
/* 02BD2648 */ _t220 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2648 */ cpu->r[12] = rbrew_read32(cpu->mem, _t220);
|
|
L_02BD264C: ; // 0x2bd264c
|
|
/* 02BD264C */ _t221 = cpu->r[12] + 0x00000024u;
|
|
/* 02BD264C */ cpu->r[0] = rbrew_read32(cpu->mem, _t221);
|
|
/* 02BD2650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD2654 */ _t222 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2654 */ _t223 = _t222 & 0x00000001u;
|
|
/* 02BD2654 */ if (_t223) goto L_02BD2658; else goto L_02BD2678;
|
|
L_02BD2658: ; // 0x2bd2658
|
|
/* 02BD2658 */ cpu->r[3] = 0x00000060u;
|
|
/* 02BD265C */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD2660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2664 */ _t224 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2664 */ _t225 = _t224 & 0x00000001u;
|
|
/* 02BD2664 */ if (_t225) goto L_02BD266C; else goto L_02BD2668;
|
|
L_02BD2668: ; // 0x2bd2668
|
|
/* 02BD2668 */ Gambit_fn_02BE54FC(cpu);
|
|
L_02BD266C: ; // 0x2bd266c
|
|
/* 02BD266C */ _t226 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD266C */ cpu->r[10] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02BD2670 */ _t227 = cpu->r[10] + 0x00000024u;
|
|
/* 02BD2670 */ rbrew_write32(cpu->mem, _t227, cpu->r[3]);
|
|
/* 02BD2674 */ _t228 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2674 */ cpu->r[12] = rbrew_read32(cpu->mem, _t228);
|
|
L_02BD2678: ; // 0x2bd2678
|
|
/* 02BD2678 */ _t229 = cpu->r[12] + 0x00000028u;
|
|
/* 02BD2678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t229);
|
|
/* 02BD267C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD2680 */ _t230 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2680 */ _t231 = _t230 & 0x00000001u;
|
|
/* 02BD2680 */ if (_t231) goto L_02BD2684; else goto L_02BD26A4;
|
|
L_02BD2684: ; // 0x2bd2684
|
|
/* 02BD2684 */ cpu->r[3] = 0x00000290u;
|
|
/* 02BD2688 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD268C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2690 */ _t232 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2690 */ _t233 = _t232 & 0x00000001u;
|
|
/* 02BD2690 */ if (_t233) goto L_02BD2698; else goto L_02BD2694;
|
|
L_02BD2694: ; // 0x2bd2694
|
|
/* 02BD2694 */ Gambit_fn_02BDFFDC(cpu);
|
|
L_02BD2698: ; // 0x2bd2698
|
|
/* 02BD2698 */ _t234 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2698 */ cpu->r[12] = rbrew_read32(cpu->mem, _t234);
|
|
/* 02BD269C */ _t235 = cpu->r[12] + 0x00000028u;
|
|
/* 02BD269C */ rbrew_write32(cpu->mem, _t235, cpu->r[3]);
|
|
/* 02BD26A0 */ _t236 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD26A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t236);
|
|
L_02BD26A4: ; // 0x2bd26a4
|
|
/* 02BD26A4 */ _t237 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02BD26A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t237);
|
|
/* 02BD26A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD26AC */ _t238 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD26AC */ _t239 = _t238 & 0x00000001u;
|
|
/* 02BD26AC */ if (_t239) goto L_02BD26B0; else goto L_02BD26D0;
|
|
L_02BD26B0: ; // 0x2bd26b0
|
|
/* 02BD26B0 */ cpu->r[3] = 0x00000068u;
|
|
/* 02BD26B4 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD26B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD26BC */ _t240 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD26BC */ _t241 = _t240 & 0x00000001u;
|
|
/* 02BD26BC */ if (_t241) goto L_02BD26C4; else goto L_02BD26C0;
|
|
L_02BD26C0: ; // 0x2bd26c0
|
|
/* 02BD26C0 */ Gambit_fn_02BE20E8(cpu);
|
|
L_02BD26C4: ; // 0x2bd26c4
|
|
/* 02BD26C4 */ _t242 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD26C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t242);
|
|
/* 02BD26C8 */ _t243 = cpu->r[5] + 0x0000002Cu;
|
|
/* 02BD26C8 */ rbrew_write32(cpu->mem, _t243, cpu->r[3]);
|
|
/* 02BD26CC */ _t244 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD26CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t244);
|
|
L_02BD26D0: ; // 0x2bd26d0
|
|
/* 02BD26D0 */ _t245 = cpu->r[12] + 0x00000030u;
|
|
/* 02BD26D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t245);
|
|
/* 02BD26D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD26D8 */ _t246 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD26D8 */ _t247 = _t246 & 0x00000001u;
|
|
/* 02BD26D8 */ if (_t247) goto L_02BD26DC; else goto L_02BD26FC;
|
|
L_02BD26DC: ; // 0x2bd26dc
|
|
/* 02BD26DC */ cpu->r[3] = 0x00000298u;
|
|
/* 02BD26E0 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD26E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD26E8 */ _t248 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD26E8 */ _t249 = _t248 & 0x00000001u;
|
|
/* 02BD26E8 */ if (_t249) goto L_02BD26F0; else goto L_02BD26EC;
|
|
L_02BD26EC: ; // 0x2bd26ec
|
|
/* 02BD26EC */ Gambit_fn_02BDF84C(cpu);
|
|
L_02BD26F0: ; // 0x2bd26f0
|
|
/* 02BD26F0 */ _t250 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD26F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t250);
|
|
/* 02BD26F4 */ _t251 = cpu->r[8] + 0x00000030u;
|
|
/* 02BD26F4 */ rbrew_write32(cpu->mem, _t251, cpu->r[3]);
|
|
/* 02BD26F8 */ _t252 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD26F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t252);
|
|
L_02BD26FC: ; // 0x2bd26fc
|
|
/* 02BD26FC */ _t253 = cpu->r[12] + 0x00000034u;
|
|
/* 02BD26FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t253);
|
|
/* 02BD2700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD2704 */ _t254 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2704 */ _t255 = _t254 & 0x00000001u;
|
|
/* 02BD2704 */ if (_t255) goto L_02BD2708; else goto L_02BD2728;
|
|
L_02BD2708: ; // 0x2bd2708
|
|
/* 02BD2708 */ _t256 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2708 */ cpu->r[10] = rbrew_read32(cpu->mem, _t256);
|
|
/* 02BD270C */ _t257 = cpu->r[10] + 0x000000E4u;
|
|
/* 02BD270C */ cpu->r[11] = rbrew_read32(cpu->mem, _t257);
|
|
/* 02BD2710 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD2714 */ _t258 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t258);
|
|
/* 02BD2718 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD271C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2720 */ _t259 = cpu->r[31] + 0x00000034u;
|
|
/* 02BD2720 */ rbrew_write32(cpu->mem, _t259, cpu->r[3]);
|
|
/* 02BD2724 */ _t260 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2724 */ cpu->r[12] = rbrew_read32(cpu->mem, _t260);
|
|
L_02BD2728: ; // 0x2bd2728
|
|
/* 02BD2728 */ _t261 = cpu->r[12] + 0x00000038u;
|
|
/* 02BD2728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t261);
|
|
/* 02BD272C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD2730 */ _t262 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2730 */ _t263 = _t262 & 0x00000001u;
|
|
/* 02BD2730 */ if (_t263) goto L_02BD2734; else goto L_02BD2754;
|
|
L_02BD2734: ; // 0x2bd2734
|
|
/* 02BD2734 */ _t264 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2734 */ cpu->r[4] = rbrew_read32(cpu->mem, _t264);
|
|
/* 02BD2738 */ _t265 = cpu->r[4] + 0x000000ECu;
|
|
/* 02BD2738 */ cpu->r[5] = rbrew_read32(cpu->mem, _t265);
|
|
/* 02BD273C */ cpu->ctr = cpu->r[5];
|
|
/* 02BD2740 */ _t266 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2740 */ cpu->r[31] = rbrew_read32(cpu->mem, _t266);
|
|
/* 02BD2744 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2748 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD274C */ _t267 = cpu->r[31] + 0x00000038u;
|
|
/* 02BD274C */ rbrew_write32(cpu->mem, _t267, cpu->r[3]);
|
|
/* 02BD2750 */ _t268 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2750 */ cpu->r[12] = rbrew_read32(cpu->mem, _t268);
|
|
L_02BD2754: ; // 0x2bd2754
|
|
/* 02BD2754 */ _t269 = cpu->r[12] + 0x00000040u;
|
|
/* 02BD2754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t269);
|
|
/* 02BD2758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD275C */ _t270 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD275C */ _t271 = _t270 & 0x00000001u;
|
|
/* 02BD275C */ if (_t271) goto L_02BD2760; else goto L_02BD27A0;
|
|
L_02BD2760: ; // 0x2bd2760
|
|
/* 02BD2760 */ _t272 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2760 */ cpu->r[7] = rbrew_read32(cpu->mem, _t272);
|
|
/* 02BD2764 */ _t273 = cpu->r[7] + 0x000000F4u;
|
|
/* 02BD2764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t273);
|
|
/* 02BD2768 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD276C */ _t274 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD276C */ cpu->r[31] = rbrew_read32(cpu->mem, _t274);
|
|
/* 02BD2770 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2774 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2778 */ _t275 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BD2778 */ rbrew_write32(cpu->mem, _t275, cpu->r[3]);
|
|
/* 02BD277C */ _t276 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD277C */ cpu->r[9] = rbrew_read32(cpu->mem, _t276);
|
|
/* 02BD2780 */ _t277 = cpu->r[9] + 0x000000FCu;
|
|
/* 02BD2780 */ cpu->r[10] = rbrew_read32(cpu->mem, _t277);
|
|
/* 02BD2784 */ _t278 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2784 */ cpu->r[31] = rbrew_read32(cpu->mem, _t278);
|
|
/* 02BD2788 */ cpu->ctr = cpu->r[10];
|
|
/* 02BD278C */ _t279 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BD278C */ cpu->r[4] = rbrew_read32(cpu->mem, _t279);
|
|
/* 02BD2790 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2794 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2798 */ _t280 = cpu->r[31] + 0x00000040u;
|
|
/* 02BD2798 */ rbrew_write32(cpu->mem, _t280, cpu->r[3]);
|
|
/* 02BD279C */ _t281 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD279C */ cpu->r[12] = rbrew_read32(cpu->mem, _t281);
|
|
L_02BD27A0: ; // 0x2bd27a0
|
|
/* 02BD27A0 */ _t282 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02BD27A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t282);
|
|
/* 02BD27A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD27A8 */ _t283 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD27A8 */ _t284 = _t283 & 0x00000001u;
|
|
/* 02BD27A8 */ if (_t284) goto L_02BD27AC; else goto L_02BD27CC;
|
|
L_02BD27AC: ; // 0x2bd27ac
|
|
/* 02BD27AC */ _t285 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD27AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t285);
|
|
/* 02BD27B0 */ _t286 = cpu->r[12] + 0x00000114u;
|
|
/* 02BD27B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t286);
|
|
/* 02BD27B4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD27B8 */ _t287 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD27B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t287);
|
|
/* 02BD27BC */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD27C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD27C4 */ _t288 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BD27C4 */ rbrew_write32(cpu->mem, _t288, cpu->r[3]);
|
|
/* 02BD27C8 */ _t289 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD27C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t289);
|
|
L_02BD27CC: ; // 0x2bd27cc
|
|
/* 02BD27CC */ _t290 = cpu->r[12] + 0x00000050u;
|
|
/* 02BD27CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t290);
|
|
/* 02BD27D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD27D4 */ _t291 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD27D4 */ _t292 = _t291 & 0x00000001u;
|
|
/* 02BD27D4 */ if (_t292) goto L_02BD27D8; else goto L_02BD27F8;
|
|
L_02BD27D8: ; // 0x2bd27d8
|
|
/* 02BD27D8 */ _t293 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD27D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t293);
|
|
/* 02BD27DC */ _t294 = cpu->r[5] + 0x0000011Cu;
|
|
/* 02BD27DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t294);
|
|
/* 02BD27E0 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD27E4 */ _t295 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD27E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t295);
|
|
/* 02BD27E8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD27EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD27F0 */ _t296 = cpu->r[31] + 0x00000050u;
|
|
/* 02BD27F0 */ rbrew_write32(cpu->mem, _t296, cpu->r[3]);
|
|
/* 02BD27F4 */ _t297 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD27F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t297);
|
|
L_02BD27F8: ; // 0x2bd27f8
|
|
/* 02BD27F8 */ _t298 = cpu->r[12] + 0x00000054u;
|
|
/* 02BD27F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t298);
|
|
/* 02BD27FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD2800 */ _t299 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2800 */ _t300 = _t299 & 0x00000001u;
|
|
/* 02BD2800 */ if (_t300) goto L_02BD2804; else goto L_02BD2824;
|
|
L_02BD2804: ; // 0x2bd2804
|
|
/* 02BD2804 */ _t301 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2804 */ cpu->r[8] = rbrew_read32(cpu->mem, _t301);
|
|
/* 02BD2808 */ _t302 = cpu->r[8] + 0x00000124u;
|
|
/* 02BD2808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t302);
|
|
/* 02BD280C */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2810 */ _t303 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2810 */ cpu->r[31] = rbrew_read32(cpu->mem, _t303);
|
|
/* 02BD2814 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2818 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD281C */ _t304 = cpu->r[31] + 0x00000054u;
|
|
/* 02BD281C */ rbrew_write32(cpu->mem, _t304, cpu->r[3]);
|
|
/* 02BD2820 */ _t305 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t305);
|
|
L_02BD2824: ; // 0x2bd2824
|
|
/* 02BD2824 */ _t306 = cpu->r[12] + 0x00000004u;
|
|
/* 02BD2824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t306);
|
|
/* 02BD2828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD282C */ _t307 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD282C */ _t308 = _t307 & 0x00000001u;
|
|
/* 02BD282C */ if (_t308) goto L_02BD2830; else goto L_02BD284C;
|
|
L_02BD2830: ; // 0x2bd2830
|
|
/* 02BD2830 */ _t309 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD2830 */ cpu->r[11] = rbrew_read32(cpu->mem, _t309);
|
|
/* 02BD2834 */ _t310 = cpu->r[11] + 0x0000013Cu;
|
|
/* 02BD2834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t310);
|
|
/* 02BD2838 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD283C */ _t311 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD283C */ cpu->r[31] = rbrew_read32(cpu->mem, _t311);
|
|
/* 02BD2840 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2844 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2848 */ _t312 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD2848 */ rbrew_write32(cpu->mem, _t312, cpu->r[3]);
|
|
L_02BD284C: ; // 0x2bd284c
|
|
/* 02BD284C */ _t313 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD284C */ cpu->r[4] = rbrew_read32(cpu->mem, _t313);
|
|
/* 02BD2850 */ _t314 = cpu->r[4] + 0x0000014Cu;
|
|
/* 02BD2850 */ cpu->r[6] = rbrew_read32(cpu->mem, _t314);
|
|
/* 02BD2854 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD2858 */ _t315 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2858 */ cpu->r[31] = rbrew_read32(cpu->mem, _t315);
|
|
/* 02BD285C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD2860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2864 */ _t316 = cpu->r[31] + 0x00000001u;
|
|
/* 02BD2864 */ rbrew_write8(cpu->mem, _t316, (uint8_t)cpu->r[3]);
|
|
/* 02BD2868 */ _t317 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2868 */ cpu->r[12] = rbrew_read32(cpu->mem, _t317);
|
|
/* 02BD286C */ _t318 = cpu->r[12] + 0x000000B4u;
|
|
/* 02BD286C */ cpu->r[8] = rbrew_read32(cpu->mem, _t318);
|
|
/* 02BD2870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD2874 */ _t319 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2874 */ _t320 = _t319 & 0x00000001u;
|
|
/* 02BD2874 */ if (_t320) goto L_02BD2878; else goto L_02BD2898;
|
|
L_02BD2878: ; // 0x2bd2878
|
|
/* 02BD2878 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BD287C */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD2880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2884 */ _t321 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2884 */ _t322 = _t321 & 0x00000001u;
|
|
/* 02BD2884 */ if (_t322) goto L_02BD288C; else goto L_02BD2888;
|
|
L_02BD2888: ; // 0x2bd2888
|
|
/* 02BD2888 */ Gambit_fn_02BE3AB0(cpu);
|
|
L_02BD288C: ; // 0x2bd288c
|
|
/* 02BD288C */ _t323 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD288C */ cpu->r[9] = rbrew_read32(cpu->mem, _t323);
|
|
/* 02BD2890 */ _t324 = cpu->r[9] + 0x000000B4u;
|
|
/* 02BD2890 */ rbrew_write32(cpu->mem, _t324, cpu->r[3]);
|
|
/* 02BD2894 */ _t325 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2894 */ cpu->r[12] = rbrew_read32(cpu->mem, _t325);
|
|
L_02BD2898: ; // 0x2bd2898
|
|
/* 02BD2898 */ _t326 = cpu->r[12] + 0x00000104u;
|
|
/* 02BD2898 */ cpu->r[10] = rbrew_read32(cpu->mem, _t326);
|
|
/* 02BD289C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD28A0 */ _t327 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD28A0 */ _t328 = _t327 & 0x00000001u;
|
|
/* 02BD28A0 */ if (_t328) goto L_02BD28A4; else goto L_02BD299C;
|
|
L_02BD28A4: ; // 0x2bd28a4
|
|
/* 02BD28A4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[29], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02BD28A8 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BD28AC */ cpu->r[0] = cpu->r[31] + 0x00000007u;
|
|
/* 02BD28B0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BD28B4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02BD28B8 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02BD28BC */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BD28C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD28C4 */ _t329 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD28C4 */ _t330 = _t329 & 0x00000001u;
|
|
/* 02BD28C4 */ if (_t330) goto L_02BD28C8; else goto L_02BD28EC;
|
|
L_02BD28C8: ; // 0x2bd28c8
|
|
/* 02BD28C8 */ _t331 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD28C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t331);
|
|
/* 02BD28CC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD28D0 */ _t332 = cpu->r[12] + 0x00000104u;
|
|
/* 02BD28D0 */ rbrew_write32(cpu->mem, _t332, cpu->r[3]);
|
|
/* 02BD28D4 */ _t333 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD28D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t333);
|
|
/* 02BD28D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD28DC */ cpu->r[26] = cpu->r[12] + 0x000000D8u;
|
|
/* 02BD28E0 */ _t334 = cpu->r[12] + 0x00000104u;
|
|
/* 02BD28E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t334);
|
|
/* 02BD28E4 */ _t335 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD28E4 */ _t336 = _t335 & 0x00000001u;
|
|
/* 02BD28E4 */ if (_t336) goto L_02BD28E8; else goto L_02BD2934;
|
|
L_02BD28E8: ; // 0x2bd28e8
|
|
/* 02BD28E8 */ goto L_02BD299C;
|
|
L_02BD28EC: ; // 0x2bd28ec
|
|
/* 02BD28EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD28F0 */ _t337 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD28F0 */ _t338 = _t337 & 0x00000001u;
|
|
/* 02BD28F0 */ if (_t338) goto L_02BD2918; else goto L_02BD28F4;
|
|
L_02BD28F4: ; // 0x2bd28f4
|
|
/* 02BD28F4 */ cpu->ctr = cpu->r[31];
|
|
/* 02BD28F8 */ cpu->r[10] = cpu->r[3];
|
|
/* 02BD28FC */ cpu->r[0] = 0x00000000u;
|
|
L_02BD2900: ; // 0x2bd2900
|
|
/* 02BD2900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD2904 */ _t339 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2904 */ _t340 = _t339 & 0x00000001u;
|
|
/* 02BD2904 */ if (_t340) goto L_02BD2910; else goto L_02BD2908;
|
|
L_02BD2908: ; // 0x2bd2908
|
|
/* 02BD2908 */ _t341 = cpu->r[10] + 0x00000004u;
|
|
/* 02BD2908 */ rbrew_write32(cpu->mem, _t341, cpu->r[0]);
|
|
/* 02BD290C */ _t342 = cpu->r[10] + 0x00000000u;
|
|
/* 02BD290C */ rbrew_write32(cpu->mem, _t342, cpu->r[0]);
|
|
L_02BD2910: ; // 0x2bd2910
|
|
/* 02BD2910 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02BD2914 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD2914 */ _t343 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD2914 */ _t344 = _t343 >> (0x00000002u & 31u);
|
|
/* 02BD2914 */ _t345 = _t344 & 0x00000001u;
|
|
/* 02BD2914 */ if (_t345) goto L_02BD2900; else goto L_02BD2918;
|
|
L_02BD2918: ; // 0x2bd2918
|
|
/* 02BD2918 */ _t346 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2918 */ cpu->r[12] = rbrew_read32(cpu->mem, _t346);
|
|
/* 02BD291C */ _t347 = cpu->r[12] + 0x00000104u;
|
|
/* 02BD291C */ rbrew_write32(cpu->mem, _t347, cpu->r[3]);
|
|
/* 02BD2920 */ _t348 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2920 */ cpu->r[12] = rbrew_read32(cpu->mem, _t348);
|
|
/* 02BD2924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD2928 */ _t349 = cpu->r[12] + 0x00000104u;
|
|
/* 02BD2928 */ cpu->r[7] = rbrew_read32(cpu->mem, _t349);
|
|
/* 02BD292C */ cpu->r[26] = cpu->r[12] + 0x000000D8u;
|
|
/* 02BD2930 */ _t350 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2930 */ _t351 = _t350 & 0x00000001u;
|
|
/* 02BD2930 */ if (_t351) goto L_02BD299C; else goto L_02BD2934;
|
|
L_02BD2934: ; // 0x2bd2934
|
|
/* 02BD2934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BD2938 */ _t352 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2938 */ _t353 = _t352 & 0x00000001u;
|
|
/* 02BD2938 */ if (_t353) goto L_02BD299C; else goto L_02BD293C;
|
|
L_02BD293C: ; // 0x2bd293c
|
|
/* 02BD293C */ _t354 = cpu->r[26] + 0x00000024u;
|
|
/* 02BD293C */ rbrew_write32(cpu->mem, _t354, cpu->r[7]);
|
|
/* 02BD2940 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000001u);
|
|
/* 02BD2944 */ _t355 = cpu->r[26] + 0x00000028u;
|
|
/* 02BD2944 */ rbrew_write32(cpu->mem, _t355, cpu->r[29]);
|
|
/* 02BD2948 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BD294C */ _t356 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD294C */ _t357 = _t356 & 0x00000001u;
|
|
/* 02BD294C */ if (_t357) goto L_02BD2954; else goto L_02BD2950;
|
|
L_02BD2950: ; // 0x2bd2950
|
|
/* 02BD2950 */ cpu->r[29] = 0x00000001u;
|
|
L_02BD2954: ; // 0x2bd2954
|
|
/* 02BD2954 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD2958 */ cpu->r[27] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
L_02BD295C: ; // 0x2bd295c
|
|
/* 02BD295C */ _t358 = cpu->r[26] + 0x00000024u;
|
|
/* 02BD295C */ cpu->r[7] = rbrew_read32(cpu->mem, _t358);
|
|
/* 02BD2960 */ cpu->r[11] = cpu->r[7] + cpu->r[27];
|
|
/* 02BD2960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD2964 */ _t359 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2964 */ _t360 = _t359 & 0x00000001u;
|
|
/* 02BD2964 */ if (_t360) goto L_02BD2978; else goto L_02BD2968;
|
|
L_02BD2968: ; // 0x2bd2968
|
|
/* 02BD2968 */ _t361 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD2968 */ rbrew_write32(cpu->mem, _t361, cpu->r[31]);
|
|
/* 02BD296C */ _t362 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD296C */ rbrew_write32(cpu->mem, _t362, cpu->r[31]);
|
|
/* 02BD2970 */ _t363 = cpu->r[26] + 0x00000024u;
|
|
/* 02BD2970 */ cpu->r[7] = rbrew_read32(cpu->mem, _t363);
|
|
/* 02BD2974 */ cpu->r[11] = cpu->r[7] + cpu->r[27];
|
|
L_02BD2978: ; // 0x2bd2978
|
|
/* 02BD2978 */ _t364 = cpu->r[26] + 0x00000020u;
|
|
/* 02BD2978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t364);
|
|
/* 02BD297C */ cpu->r[3] = cpu->r[26] + 0x00000010u;
|
|
/* 02BD2980 */ cpu->r[4] = cpu->r[26] + 0x00000014u;
|
|
/* 02BD2984 */ cpu->r[5] = cpu->r[11] + cpu->r[0];
|
|
/* 02BD2988 */ Gambit_fn_02B681BC(cpu);
|
|
/* 02BD298C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02BD298C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD2990 */ cpu->r[27] = cpu->r[27] + 0x00000010u;
|
|
/* 02BD2994 */ _t365 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2994 */ _t366 = _t365 & 0x00000001u;
|
|
/* 02BD2994 */ if (_t366) goto L_02BD2998; else goto L_02BD295C;
|
|
L_02BD2998: ; // 0x2bd2998
|
|
/* 02BD2998 */ _t367 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2998 */ cpu->r[12] = rbrew_read32(cpu->mem, _t367);
|
|
L_02BD299C: ; // 0x2bd299c
|
|
/* 02BD299C */ _t368 = cpu->r[12] + 0x00000074u;
|
|
/* 02BD299C */ rbrew_write32(cpu->mem, _t368, cpu->r[28]);
|
|
/* 02BD29A0 */ /* nop */
|
|
/* 02BD29A4 */ _t369 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BD29A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t369);
|
|
/* 02BD29A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD29AC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BD29B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD29B4 */ return;
|
|
}
|
|
|
|
// fn_02BD29B8 @ 0x2bd29b8
|
|
void Gambit_fn_02BD29B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD29B8: ; // 0x2bd29b8
|
|
/* 02BD29B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD29B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD29B8 */ cpu->r[1] = _t0;
|
|
/* 02BD29BC */ cpu->r[0] = cpu->lr;
|
|
/* 02BD29C0 */ /* nop */
|
|
/* 02BD29C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD29C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD29C8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD29CC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD29CC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD29D0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD29D0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD29D0 */ if (_t3) goto L_02BD2E28; else goto L_02BD29D4;
|
|
L_02BD29D4: ; // 0x2bd29d4
|
|
/* 02BD29D4 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BD29D8 */ _t4 = cpu->r[30] + 0x00000008u;
|
|
/* 02BD29D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD29DC */ cpu->r[0] = cpu->r[0] + 0x000042C4u;
|
|
/* 02BD29E0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BD29E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD29E8 */ _t5 = cpu->r[30] + 0x00000140u;
|
|
/* 02BD29E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD29EC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD29EC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD29EC */ if (_t7) goto L_02BD2A08; else goto L_02BD29F0;
|
|
L_02BD29F0: ; // 0x2bd29f0
|
|
/* 02BD29F0 */ _t8 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD29F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD29F4 */ _t9 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02BD29F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD29F8 */ cpu->ctr = cpu->r[10];
|
|
/* 02BD29FC */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2A00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2A04 */ _t10 = cpu->r[30] + 0x00000008u;
|
|
/* 02BD2A04 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
L_02BD2A08: ; // 0x2bd2a08
|
|
/* 02BD2A08 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BD2A08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD2A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2A10 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2A10 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD2A10 */ if (_t13) goto L_02BD2A2C; else goto L_02BD2A14;
|
|
L_02BD2A14: ; // 0x2bd2a14
|
|
/* 02BD2A14 */ _t14 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2A14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD2A18 */ _t15 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BD2A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD2A1C */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2A20 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2A24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2A28 */ _t16 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BD2A28 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_02BD2A2C: ; // 0x2bd2a2c
|
|
/* 02BD2A2C */ _t17 = cpu->r[30] + 0x00000010u;
|
|
/* 02BD2A2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD2A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2A34 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2A34 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD2A34 */ if (_t19) goto L_02BD2A50; else goto L_02BD2A38;
|
|
L_02BD2A38: ; // 0x2bd2a38
|
|
/* 02BD2A38 */ _t20 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2A38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD2A3C */ _t21 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02BD2A3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD2A40 */ cpu->ctr = cpu->r[8];
|
|
/* 02BD2A44 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2A48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2A4C */ _t22 = cpu->r[30] + 0x00000010u;
|
|
/* 02BD2A4C */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
L_02BD2A50: ; // 0x2bd2a50
|
|
/* 02BD2A50 */ _t23 = cpu->r[30] + 0x00000014u;
|
|
/* 02BD2A50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD2A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2A58 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2A58 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD2A58 */ if (_t25) goto L_02BD2A74; else goto L_02BD2A5C;
|
|
L_02BD2A5C: ; // 0x2bd2a5c
|
|
/* 02BD2A5C */ _t26 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2A5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD2A60 */ _t27 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BD2A60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD2A64 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2A68 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2A6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2A70 */ _t28 = cpu->r[30] + 0x00000014u;
|
|
/* 02BD2A70 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
L_02BD2A74: ; // 0x2bd2a74
|
|
/* 02BD2A74 */ _t29 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD2A74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD2A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2A7C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2A7C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD2A7C */ if (_t31) goto L_02BD2A98; else goto L_02BD2A80;
|
|
L_02BD2A80: ; // 0x2bd2a80
|
|
/* 02BD2A80 */ _t32 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2A80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD2A84 */ _t33 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BD2A84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD2A88 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2A8C */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2A90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2A94 */ _t34 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD2A94 */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
|
|
L_02BD2A98: ; // 0x2bd2a98
|
|
/* 02BD2A98 */ _t35 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BD2A98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD2A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2AA0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2AA0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD2AA0 */ if (_t37) goto L_02BD2ABC; else goto L_02BD2AA4;
|
|
L_02BD2AA4: ; // 0x2bd2aa4
|
|
/* 02BD2AA4 */ _t38 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2AA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD2AA8 */ _t39 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02BD2AA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD2AAC */ cpu->ctr = cpu->r[8];
|
|
/* 02BD2AB0 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2AB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2AB8 */ _t40 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BD2AB8 */ rbrew_write32(cpu->mem, _t40, cpu->r[29]);
|
|
L_02BD2ABC: ; // 0x2bd2abc
|
|
/* 02BD2ABC */ _t41 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD2ABC */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD2AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2AC4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2AC4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BD2AC4 */ if (_t43) goto L_02BD2AE0; else goto L_02BD2AC8;
|
|
L_02BD2AC8: ; // 0x2bd2ac8
|
|
/* 02BD2AC8 */ _t44 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2AC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD2ACC */ _t45 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BD2ACC */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD2AD0 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD2AD4 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2AD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2ADC */ _t46 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD2ADC */ rbrew_write32(cpu->mem, _t46, cpu->r[29]);
|
|
L_02BD2AE0: ; // 0x2bd2ae0
|
|
/* 02BD2AE0 */ _t47 = cpu->r[30] + 0x00000024u;
|
|
/* 02BD2AE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD2AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2AE8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2AE8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BD2AE8 */ if (_t49) goto L_02BD2B04; else goto L_02BD2AEC;
|
|
L_02BD2AEC: ; // 0x2bd2aec
|
|
/* 02BD2AEC */ _t50 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2AEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD2AF0 */ _t51 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BD2AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD2AF4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2AF8 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2AFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2B00 */ _t52 = cpu->r[30] + 0x00000024u;
|
|
/* 02BD2B00 */ rbrew_write32(cpu->mem, _t52, cpu->r[29]);
|
|
L_02BD2B04: ; // 0x2bd2b04
|
|
/* 02BD2B04 */ _t53 = cpu->r[30] + 0x00000028u;
|
|
/* 02BD2B04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BD2B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2B0C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2B0C */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BD2B0C */ if (_t55) goto L_02BD2B28; else goto L_02BD2B10;
|
|
L_02BD2B10: ; // 0x2bd2b10
|
|
/* 02BD2B10 */ _t56 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2B10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BD2B14 */ _t57 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02BD2B14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD2B18 */ cpu->ctr = cpu->r[8];
|
|
/* 02BD2B1C */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2B20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2B24 */ _t58 = cpu->r[30] + 0x00000028u;
|
|
/* 02BD2B24 */ rbrew_write32(cpu->mem, _t58, cpu->r[29]);
|
|
L_02BD2B28: ; // 0x2bd2b28
|
|
/* 02BD2B28 */ _t59 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02BD2B28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BD2B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2B30 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2B30 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BD2B30 */ if (_t61) goto L_02BD2B4C; else goto L_02BD2B34;
|
|
L_02BD2B34: ; // 0x2bd2b34
|
|
/* 02BD2B34 */ _t62 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2B34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BD2B38 */ _t63 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BD2B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BD2B3C */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2B40 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2B44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2B48 */ _t64 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02BD2B48 */ rbrew_write32(cpu->mem, _t64, cpu->r[29]);
|
|
L_02BD2B4C: ; // 0x2bd2b4c
|
|
/* 02BD2B4C */ _t65 = cpu->r[30] + 0x00000030u;
|
|
/* 02BD2B4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BD2B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2B54 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2B54 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02BD2B54 */ if (_t67) goto L_02BD2B70; else goto L_02BD2B58;
|
|
L_02BD2B58: ; // 0x2bd2b58
|
|
/* 02BD2B58 */ _t68 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2B58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BD2B5C */ _t69 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BD2B5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BD2B60 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD2B64 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2B68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2B6C */ _t70 = cpu->r[30] + 0x00000030u;
|
|
/* 02BD2B6C */ rbrew_write32(cpu->mem, _t70, cpu->r[29]);
|
|
L_02BD2B70: ; // 0x2bd2b70
|
|
/* 02BD2B70 */ _t71 = cpu->r[30] + 0x00000034u;
|
|
/* 02BD2B70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BD2B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2B78 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2B78 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02BD2B78 */ if (_t73) goto L_02BD2B94; else goto L_02BD2B7C;
|
|
L_02BD2B7C: ; // 0x2bd2b7c
|
|
/* 02BD2B7C */ _t74 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2B7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BD2B80 */ _t75 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02BD2B80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BD2B84 */ cpu->ctr = cpu->r[8];
|
|
/* 02BD2B88 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2B8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2B90 */ _t76 = cpu->r[30] + 0x00000034u;
|
|
/* 02BD2B90 */ rbrew_write32(cpu->mem, _t76, cpu->r[29]);
|
|
L_02BD2B94: ; // 0x2bd2b94
|
|
/* 02BD2B94 */ _t77 = cpu->r[30] + 0x00000038u;
|
|
/* 02BD2B94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BD2B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2B9C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2B9C */ _t79 = _t78 & 0x00000001u;
|
|
/* 02BD2B9C */ if (_t79) goto L_02BD2BB8; else goto L_02BD2BA0;
|
|
L_02BD2BA0: ; // 0x2bd2ba0
|
|
/* 02BD2BA0 */ _t80 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2BA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BD2BA4 */ _t81 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BD2BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BD2BA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2BAC */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2BB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2BB4 */ _t82 = cpu->r[30] + 0x00000038u;
|
|
/* 02BD2BB4 */ rbrew_write32(cpu->mem, _t82, cpu->r[29]);
|
|
L_02BD2BB8: ; // 0x2bd2bb8
|
|
/* 02BD2BB8 */ _t83 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD2BB8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BD2BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BD2BC0 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2BC0 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02BD2BC0 */ if (_t85) goto L_02BD2BD8; else goto L_02BD2BC4;
|
|
L_02BD2BC4: ; // 0x2bd2bc4
|
|
/* 02BD2BC4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD2BC8 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BD2BCC */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02BD2BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD2BD0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD2BD4 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BD2BD8: ; // 0x2bd2bd8
|
|
/* 02BD2BD8 */ _t86 = cpu->r[30] + 0x000000C4u;
|
|
/* 02BD2BD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BD2BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2BE0 */ _t87 = cpu->r[30] + 0x00000040u;
|
|
/* 02BD2BE0 */ rbrew_write32(cpu->mem, _t87, cpu->r[29]);
|
|
/* 02BD2BE4 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2BE4 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02BD2BE4 */ if (_t89) goto L_02BD2C00; else goto L_02BD2BE8;
|
|
L_02BD2BE8: ; // 0x2bd2be8
|
|
/* 02BD2BE8 */ _t90 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD2BE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BD2BEC */ _t91 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BD2BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BD2BF0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2BF4 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2BF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2BFC */ _t92 = cpu->r[30] + 0x000000C4u;
|
|
/* 02BD2BFC */ rbrew_write32(cpu->mem, _t92, cpu->r[29]);
|
|
L_02BD2C00: ; // 0x2bd2c00
|
|
/* 02BD2C00 */ _t93 = cpu->r[30] + 0x000000C8u;
|
|
/* 02BD2C00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BD2C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2C08 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2C08 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02BD2C08 */ if (_t95) goto L_02BD2C24; else goto L_02BD2C0C;
|
|
L_02BD2C0C: ; // 0x2bd2c0c
|
|
/* 02BD2C0C */ _t96 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD2C0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BD2C10 */ _t97 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BD2C10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02BD2C14 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD2C18 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2C1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2C20 */ _t98 = cpu->r[30] + 0x000000C8u;
|
|
/* 02BD2C20 */ rbrew_write32(cpu->mem, _t98, cpu->r[29]);
|
|
L_02BD2C24: ; // 0x2bd2c24
|
|
/* 02BD2C24 */ _t99 = cpu->r[30] + 0x000000CCu;
|
|
/* 02BD2C24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BD2C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2C2C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2C2C */ _t101 = _t100 & 0x00000001u;
|
|
/* 02BD2C2C */ if (_t101) goto L_02BD2C48; else goto L_02BD2C30;
|
|
L_02BD2C30: ; // 0x2bd2c30
|
|
/* 02BD2C30 */ _t102 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD2C30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BD2C34 */ _t103 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02BD2C34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BD2C38 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD2C3C */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2C40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2C44 */ _t104 = cpu->r[30] + 0x000000CCu;
|
|
/* 02BD2C44 */ rbrew_write32(cpu->mem, _t104, cpu->r[29]);
|
|
L_02BD2C48: ; // 0x2bd2c48
|
|
/* 02BD2C48 */ _t105 = cpu->r[30] + 0x00000044u;
|
|
/* 02BD2C48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02BD2C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2C50 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2C50 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02BD2C50 */ if (_t107) goto L_02BD2C6C; else goto L_02BD2C54;
|
|
L_02BD2C54: ; // 0x2bd2c54
|
|
/* 02BD2C54 */ _t108 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2C54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02BD2C58 */ _t109 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BD2C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BD2C5C */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2C60 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2C64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2C68 */ _t110 = cpu->r[30] + 0x00000044u;
|
|
/* 02BD2C68 */ rbrew_write32(cpu->mem, _t110, cpu->r[29]);
|
|
L_02BD2C6C: ; // 0x2bd2c6c
|
|
/* 02BD2C6C */ _t111 = cpu->r[30] + 0x00000048u;
|
|
/* 02BD2C6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BD2C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2C74 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2C74 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02BD2C74 */ if (_t113) goto L_02BD2C90; else goto L_02BD2C78;
|
|
L_02BD2C78: ; // 0x2bd2c78
|
|
/* 02BD2C78 */ _t114 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2C78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02BD2C7C */ _t115 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BD2C7C */ cpu->r[6] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02BD2C80 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD2C84 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2C88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2C8C */ _t116 = cpu->r[30] + 0x00000048u;
|
|
/* 02BD2C8C */ rbrew_write32(cpu->mem, _t116, cpu->r[29]);
|
|
L_02BD2C90: ; // 0x2bd2c90
|
|
/* 02BD2C90 */ _t117 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BD2C90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BD2C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2C98 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2C98 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02BD2C98 */ if (_t119) goto L_02BD2CB4; else goto L_02BD2C9C;
|
|
L_02BD2C9C: ; // 0x2bd2c9c
|
|
/* 02BD2C9C */ _t120 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2C9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02BD2CA0 */ _t121 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02BD2CA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02BD2CA4 */ cpu->ctr = cpu->r[8];
|
|
/* 02BD2CA8 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2CAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2CB0 */ _t122 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BD2CB0 */ rbrew_write32(cpu->mem, _t122, cpu->r[29]);
|
|
L_02BD2CB4: ; // 0x2bd2cb4
|
|
/* 02BD2CB4 */ _t123 = cpu->r[30] + 0x00000050u;
|
|
/* 02BD2CB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BD2CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2CBC */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2CBC */ _t125 = _t124 & 0x00000001u;
|
|
/* 02BD2CBC */ if (_t125) goto L_02BD2CD8; else goto L_02BD2CC0;
|
|
L_02BD2CC0: ; // 0x2bd2cc0
|
|
/* 02BD2CC0 */ _t126 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2CC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02BD2CC4 */ _t127 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BD2CC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02BD2CC8 */ cpu->ctr = cpu->r[10];
|
|
/* 02BD2CCC */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2CD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2CD4 */ _t128 = cpu->r[30] + 0x00000050u;
|
|
/* 02BD2CD4 */ rbrew_write32(cpu->mem, _t128, cpu->r[29]);
|
|
L_02BD2CD8: ; // 0x2bd2cd8
|
|
/* 02BD2CD8 */ _t129 = cpu->r[30] + 0x00000054u;
|
|
/* 02BD2CD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02BD2CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2CE0 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2CE0 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02BD2CE0 */ if (_t131) goto L_02BD2CFC; else goto L_02BD2CE4;
|
|
L_02BD2CE4: ; // 0x2bd2ce4
|
|
/* 02BD2CE4 */ _t132 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD2CE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02BD2CE8 */ _t133 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BD2CE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02BD2CEC */ cpu->ctr = cpu->r[12];
|
|
/* 02BD2CF0 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2CF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2CF8 */ _t134 = cpu->r[30] + 0x00000054u;
|
|
/* 02BD2CF8 */ rbrew_write32(cpu->mem, _t134, cpu->r[29]);
|
|
L_02BD2CFC: ; // 0x2bd2cfc
|
|
/* 02BD2CFC */ _t135 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD2CFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02BD2D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2D04 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2D04 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02BD2D04 */ if (_t137) goto L_02BD2D20; else goto L_02BD2D08;
|
|
L_02BD2D08: ; // 0x2bd2d08
|
|
/* 02BD2D08 */ _t138 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD2D08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02BD2D0C */ _t139 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BD2D0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BD2D10 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD2D14 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2D18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2D1C */ _t140 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD2D1C */ rbrew_write32(cpu->mem, _t140, cpu->r[29]);
|
|
L_02BD2D20: ; // 0x2bd2d20
|
|
/* 02BD2D20 */ _t141 = cpu->r[30] + 0x00000068u;
|
|
/* 02BD2D20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02BD2D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2D28 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2D28 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02BD2D28 */ if (_t143) goto L_02BD2D44; else goto L_02BD2D2C;
|
|
L_02BD2D2C: ; // 0x2bd2d2c
|
|
/* 02BD2D2C */ _t144 = cpu->r[3] + 0x00000034u;
|
|
/* 02BD2D2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02BD2D30 */ _t145 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BD2D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02BD2D34 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2D38 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2D3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2D40 */ _t146 = cpu->r[30] + 0x00000068u;
|
|
/* 02BD2D40 */ rbrew_write32(cpu->mem, _t146, cpu->r[29]);
|
|
L_02BD2D44: ; // 0x2bd2d44
|
|
/* 02BD2D44 */ _t147 = cpu->r[30] + 0x000000B4u;
|
|
/* 02BD2D44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02BD2D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2D4C */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2D4C */ _t149 = _t148 & 0x00000001u;
|
|
/* 02BD2D4C */ if (_t149) goto L_02BD2D5C; else goto L_02BD2D50;
|
|
L_02BD2D50: ; // 0x2bd2d50
|
|
/* 02BD2D50 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2D54 */ Gambit_fn_02BE3B04(cpu);
|
|
/* 02BD2D58 */ _t150 = cpu->r[30] + 0x000000B4u;
|
|
/* 02BD2D58 */ rbrew_write32(cpu->mem, _t150, cpu->r[29]);
|
|
L_02BD2D5C: ; // 0x2bd2d5c
|
|
/* 02BD2D5C */ _t151 = cpu->r[30] + 0x00000104u;
|
|
/* 02BD2D5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02BD2D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2D64 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2D64 */ _t153 = _t152 & 0x00000001u;
|
|
/* 02BD2D64 */ if (_t153) goto L_02BD2DD0; else goto L_02BD2D68;
|
|
L_02BD2D68: ; // 0x2bd2d68
|
|
/* 02BD2D68 */ _t154 = cpu->r[30] + 0x000000FCu;
|
|
/* 02BD2D68 */ cpu->r[9] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02BD2D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD2D70 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2D70 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02BD2D70 */ if (_t156) goto L_02BD2DC0; else goto L_02BD2D74;
|
|
L_02BD2D74: ; // 0x2bd2d74
|
|
/* 02BD2D74 */ _t157 = cpu->r[30] + 0x000000E0u;
|
|
/* 02BD2D74 */ cpu->r[28] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02BD2D78 */ cpu->r[27] = cpu->r[30] + 0x000000DCu;
|
|
/* 02BD2D7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[27]);
|
|
/* 02BD2D80 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2D80 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02BD2D80 */ if (_t159) goto L_02BD2DB4; else goto L_02BD2D84;
|
|
L_02BD2D84: ; // 0x2bd2d84
|
|
/* 02BD2D84 */ cpu->r[29] = 0x00000000u;
|
|
L_02BD2D88: ; // 0x2bd2d88
|
|
/* 02BD2D88 */ cpu->r[6] = cpu->r[28];
|
|
/* 02BD2D8C */ _t160 = cpu->r[28] + 0x00000004u;
|
|
/* 02BD2D8C */ cpu->r[28] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02BD2D90 */ _t161 = cpu->r[6] + 0x00000000u;
|
|
/* 02BD2D90 */ rbrew_write32(cpu->mem, _t161, cpu->r[29]);
|
|
/* 02BD2D94 */ _t162 = cpu->r[6] + 0x00000004u;
|
|
/* 02BD2D94 */ rbrew_write32(cpu->mem, _t162, cpu->r[29]);
|
|
/* 02BD2D98 */ _t163 = cpu->r[30] + 0x000000F8u;
|
|
/* 02BD2D98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02BD2D9C */ cpu->r[4] = cpu->r[30] + 0x000000ECu;
|
|
/* 02BD2DA0 */ cpu->r[3] = cpu->r[30] + 0x000000E8u;
|
|
/* 02BD2DA4 */ cpu->r[5] = cpu->r[6] + cpu->r[9];
|
|
/* 02BD2DA8 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BD2DAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[27]);
|
|
/* 02BD2DB0 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2DB0 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02BD2DB0 */ if (_t165) goto L_02BD2DB4; else goto L_02BD2D88;
|
|
L_02BD2DB4: ; // 0x2bd2db4
|
|
/* 02BD2DB4 */ cpu->r[3] = cpu->r[30] + 0x000000D8u;
|
|
/* 02BD2DB8 */ Gambit_fn_02B681A4(cpu);
|
|
/* 02BD2DBC */ _t166 = cpu->r[30] + 0x00000104u;
|
|
/* 02BD2DBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t166);
|
|
L_02BD2DC0: ; // 0x2bd2dc0
|
|
/* 02BD2DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2DC4 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2DC4 */ _t168 = _t167 & 0x00000001u;
|
|
/* 02BD2DC4 */ if (_t168) goto L_02BD2DCC; else goto L_02BD2DC8;
|
|
L_02BD2DC8: ; // 0x2bd2dc8
|
|
/* 02BD2DC8 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BD2DCC: ; // 0x2bd2dcc
|
|
/* 02BD2DCC */ _t169 = cpu->r[30] + 0x00000104u;
|
|
/* 02BD2DCC */ rbrew_write32(cpu->mem, _t169, cpu->r[29]);
|
|
L_02BD2DD0: ; // 0x2bd2dd0
|
|
/* 02BD2DD0 */ _t170 = cpu->r[30] + 0x00000070u;
|
|
/* 02BD2DD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02BD2DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2DD8 */ _t171 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2DD8 */ _t172 = _t171 & 0x00000001u;
|
|
/* 02BD2DD8 */ if (_t172) goto L_02BD2DE4; else goto L_02BD2DDC;
|
|
L_02BD2DDC: ; // 0x2bd2ddc
|
|
/* 02BD2DDC */ Gambit_fn_02BD7124(cpu);
|
|
/* 02BD2DE0 */ _t173 = cpu->r[30] + 0x00000070u;
|
|
/* 02BD2DE0 */ rbrew_write32(cpu->mem, _t173, cpu->r[29]);
|
|
L_02BD2DE4: ; // 0x2bd2de4
|
|
/* 02BD2DE4 */ _t174 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02BD2DE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02BD2DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BD2DEC */ _t175 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2DEC */ _t176 = _t175 & 0x00000001u;
|
|
/* 02BD2DEC */ if (_t176) goto L_02BD2E0C; else goto L_02BD2DF0;
|
|
L_02BD2DF0: ; // 0x2bd2df0
|
|
/* 02BD2DF0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD2DF4 */ _t177 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD2DF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t177);
|
|
/* 02BD2DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD2DFC */ _t178 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2DFC */ _t179 = _t178 & 0x00000001u;
|
|
/* 02BD2DFC */ if (_t179) goto L_02BD2E08; else goto L_02BD2E00;
|
|
L_02BD2E00: ; // 0x2bd2e00
|
|
/* 02BD2E00 */ cpu->r[3] = cpu->r[12] + 0x00000010u;
|
|
/* 02BD2E04 */ Gambit_fn_02BE5EA8(cpu);
|
|
L_02BD2E08: ; // 0x2bd2e08
|
|
/* 02BD2E08 */ _t180 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02BD2E08 */ rbrew_write32(cpu->mem, _t180, cpu->r[29]);
|
|
L_02BD2E0C: ; // 0x2bd2e0c
|
|
/* 02BD2E0C */ cpu->r[3] = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD2E10 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BD2E14 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BD2E18 */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD2E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD2E1C */ _t181 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2E1C */ _t182 = _t181 & 0x00000001u;
|
|
/* 02BD2E1C */ if (_t182) goto L_02BD2E28; else goto L_02BD2E20;
|
|
L_02BD2E20: ; // 0x2bd2e20
|
|
/* 02BD2E20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD2E24 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BD2E28: ; // 0x2bd2e28
|
|
/* 02BD2E28 */ /* nop */
|
|
/* 02BD2E2C */ _t183 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD2E2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02BD2E30 */ cpu->lr = cpu->r[0];
|
|
/* 02BD2E34 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD2E38 */ return;
|
|
}
|
|
|
|
// fn_02BD2E3C @ 0x2bd2e3c
|
|
void Gambit_fn_02BD2E3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BD2E3C: ; // 0x2bd2e3c
|
|
/* 02BD2E3C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD2E40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD2E40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD2E40 */ cpu->r[1] = _t0;
|
|
/* 02BD2E44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD2E44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD2E48 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BD2E4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2E4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD2E50 */ _t3 = cpu->r[31] + 0xFFFFB774u;
|
|
/* 02BD2E50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD2E50 */ cpu->r[31] = _t3;
|
|
/* 02BD2E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2E58 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2E58 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD2E58 */ if (_t5) goto L_02BD2E6C; else goto L_02BD2E5C;
|
|
L_02BD2E5C: ; // 0x2bd2e5c
|
|
/* 02BD2E5C */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2E60 */ Gambit_fn_02BD29B8(cpu);
|
|
/* 02BD2E64 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD2E68 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD2E68 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02BD2E6C: ; // 0x2bd2e6c
|
|
/* 02BD2E6C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD2E70 */ _t7 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BD2E70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD2E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD2E78 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2E78 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD2E78 */ if (_t9) goto L_02BD2E80; else goto L_02BD2E7C;
|
|
L_02BD2E7C: ; // 0x2bd2e7c
|
|
/* 02BD2E7C */ Gambit_fn_02BC2F98(cpu);
|
|
L_02BD2E80: ; // 0x2bd2e80
|
|
/* 02BD2E80 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2E80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD2E84 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD2E84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD2E88 */ cpu->lr = cpu->r[0];
|
|
/* 02BD2E8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD2E90 */ return;
|
|
}
|
|
|
|
// fn_02BD2E40 @ 0x2bd2e40
|
|
void Gambit_fn_02BD2E40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BD2E40: ; // 0x2bd2e40
|
|
/* 02BD2E40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD2E40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD2E40 */ cpu->r[1] = _t0;
|
|
/* 02BD2E44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD2E44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD2E48 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BD2E4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2E4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD2E50 */ _t3 = cpu->r[31] + 0xFFFFB774u;
|
|
/* 02BD2E50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD2E50 */ cpu->r[31] = _t3;
|
|
/* 02BD2E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD2E58 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2E58 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD2E58 */ if (_t5) goto L_02BD2E6C; else goto L_02BD2E5C;
|
|
L_02BD2E5C: ; // 0x2bd2e5c
|
|
/* 02BD2E5C */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD2E60 */ Gambit_fn_02BD29B8(cpu);
|
|
/* 02BD2E64 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD2E68 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD2E68 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02BD2E6C: ; // 0x2bd2e6c
|
|
/* 02BD2E6C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD2E70 */ _t7 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BD2E70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD2E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD2E78 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2E78 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD2E78 */ if (_t9) goto L_02BD2E80; else goto L_02BD2E7C;
|
|
L_02BD2E7C: ; // 0x2bd2e7c
|
|
/* 02BD2E7C */ Gambit_fn_02BC2F98(cpu);
|
|
L_02BD2E80: ; // 0x2bd2e80
|
|
/* 02BD2E80 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2E80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD2E84 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD2E84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD2E88 */ cpu->lr = cpu->r[0];
|
|
/* 02BD2E8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD2E90 */ return;
|
|
}
|
|
|
|
// fn_02BD2E94 @ 0x2bd2e94
|
|
void Gambit_fn_02BD2E94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BD2E94: ; // 0x2bd2e94
|
|
/* 02BD2E94 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD2E98 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD2E98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD2E98 */ cpu->r[1] = _t0;
|
|
/* 02BD2E9C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD2E9C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD2EA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD2EA4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2EA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BD2EA8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD2EA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD2EAC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD2EAC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD2EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD2EB4 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD2EB4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD2EB8 */ cpu->r[0] = cpu->r[6];
|
|
/* 02BD2EBC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2EBC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD2EBC */ if (_t7) goto L_02BD2EC0; else goto L_02BD2EF4;
|
|
L_02BD2EC0: ; // 0x2bd2ec0
|
|
/* 02BD2EC0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD2EC4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD2EC8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD2ECC */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD2ECC */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD2ED0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2ED0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD2ED4 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD2ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD2ED8 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD2EDC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD2EDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD2EE0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD2EE4 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD2EE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD2EE8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD2EEC */ cpu->r[3] = cpu->r[3] + 0xFFFF9C26u;
|
|
/* 02BD2EF0 */ return;
|
|
L_02BD2EF4: ; // 0x2bd2ef4
|
|
/* 02BD2EF4 */ _t13 = cpu->r[30] + 0x00000074u;
|
|
/* 02BD2EF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD2EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD2EFC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2EFC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD2EFC */ if (_t15) goto L_02BD2F34; else goto L_02BD2F00;
|
|
L_02BD2F00: ; // 0x2bd2f00
|
|
/* 02BD2F00 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD2F04 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD2F08 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD2F0C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD2F0C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD2F10 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2F10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD2F14 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD2F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD2F18 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD2F1C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD2F1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD2F20 */ cpu->lr = cpu->r[0];
|
|
/* 02BD2F24 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD2F24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD2F28 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD2F2C */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD2F30 */ return;
|
|
L_02BD2F34: ; // 0x2bd2f34
|
|
/* 02BD2F34 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD2F38 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2F38 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[4]);
|
|
/* 02BD2F3C */ _t22 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BD2F3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD2F40 */ _t23 = cpu->r[12] + 0x00000001u;
|
|
/* 02BD2F40 */ cpu->r[6] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02BD2F44 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD2F48 */ _t24 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD2F48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD2F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD2F50 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BD2F54 */ _t25 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD2F54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD2F58 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2F58 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD2F58 */ if (_t27) goto L_02BD2F60; else goto L_02BD2F5C;
|
|
L_02BD2F5C: ; // 0x2bd2f5c
|
|
/* 02BD2F5C */ cpu->r[6] = cpu->r[0];
|
|
L_02BD2F60: ; // 0x2bd2f60
|
|
/* 02BD2F60 */ _t28 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD2F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD2F64 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2F68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2F6C */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD2F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD2F70 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2F70 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BD2F70 */ if (_t30) goto L_02BD2F74; else goto L_02BD2FE8;
|
|
L_02BD2F74: ; // 0x2bd2f74
|
|
/* 02BD2F74 */ _t31 = cpu->r[30] + 0x00000008u;
|
|
/* 02BD2F74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD2F78 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD2F7C */ _t32 = cpu->r[30] + 0x00000074u;
|
|
/* 02BD2F7C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02BD2F80 */ Gambit_fn_02BDA6A8(cpu);
|
|
/* 02BD2F84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD2F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD2F88 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2F88 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD2F88 */ if (_t34) goto L_02BD2F8C; else goto L_02BD2FE8;
|
|
L_02BD2F8C: ; // 0x2bd2f8c
|
|
/* 02BD2F8C */ _t35 = cpu->r[30] + 0x00000008u;
|
|
/* 02BD2F8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD2F90 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD2F94 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD2F98 */ _t36 = cpu->r[30] + 0x000000E0u;
|
|
/* 02BD2F98 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD2F9C */ cpu->r[28] = cpu->r[30] + 0x000000DCu;
|
|
/* 02BD2FA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02BD2FA4 */ _t37 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02BD2FA4 */ rbrew_write32(cpu->mem, _t37, cpu->r[31]);
|
|
/* 02BD2FA8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2FA8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD2FA8 */ if (_t39) goto L_02BD2FDC; else goto L_02BD2FAC;
|
|
L_02BD2FAC: ; // 0x2bd2fac
|
|
/* 02BD2FAC */ cpu->r[31] = 0x00000000u;
|
|
L_02BD2FB0: ; // 0x2bd2fb0
|
|
/* 02BD2FB0 */ cpu->r[11] = cpu->r[29];
|
|
/* 02BD2FB4 */ _t40 = cpu->r[29] + 0x00000004u;
|
|
/* 02BD2FB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD2FB8 */ _t41 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD2FB8 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 02BD2FBC */ _t42 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD2FBC */ rbrew_write32(cpu->mem, _t42, cpu->r[31]);
|
|
/* 02BD2FC0 */ _t43 = cpu->r[30] + 0x000000F8u;
|
|
/* 02BD2FC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD2FC4 */ cpu->r[4] = cpu->r[30] + 0x000000ECu;
|
|
/* 02BD2FC8 */ cpu->r[3] = cpu->r[30] + 0x000000E8u;
|
|
/* 02BD2FCC */ cpu->r[5] = cpu->r[11] + cpu->r[12];
|
|
/* 02BD2FD0 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BD2FD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02BD2FD8 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2FD8 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BD2FD8 */ if (_t45) goto L_02BD2FDC; else goto L_02BD2FB0;
|
|
L_02BD2FDC: ; // 0x2bd2fdc
|
|
/* 02BD2FDC */ cpu->r[3] = cpu->r[30] + 0x000000D8u;
|
|
/* 02BD2FE0 */ Gambit_fn_02B681A4(cpu);
|
|
/* 02BD2FE4 */ cpu->r[3] = 0x00000000u;
|
|
L_02BD2FE8: ; // 0x2bd2fe8
|
|
/* 02BD2FE8 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD2FE8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD2FEC */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2FEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD2FF0 */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD2FF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD2FF4 */ _t49 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD2FF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD2FF8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD2FFC */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD2FFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD3000 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3004 */ return;
|
|
}
|
|
|
|
// fn_02BD2E98 @ 0x2bd2e98
|
|
void Gambit_fn_02BD2E98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BD2E98: ; // 0x2bd2e98
|
|
/* 02BD2E98 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD2E98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD2E98 */ cpu->r[1] = _t0;
|
|
/* 02BD2E9C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD2E9C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD2EA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD2EA4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2EA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BD2EA8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD2EA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD2EAC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD2EAC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD2EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD2EB4 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD2EB4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD2EB8 */ cpu->r[0] = cpu->r[6];
|
|
/* 02BD2EBC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2EBC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD2EBC */ if (_t7) goto L_02BD2EC0; else goto L_02BD2EF4;
|
|
L_02BD2EC0: ; // 0x2bd2ec0
|
|
/* 02BD2EC0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD2EC4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD2EC8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD2ECC */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD2ECC */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD2ED0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2ED0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD2ED4 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD2ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD2ED8 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD2EDC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD2EDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD2EE0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD2EE4 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD2EE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD2EE8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD2EEC */ cpu->r[3] = cpu->r[3] + 0xFFFF9C26u;
|
|
/* 02BD2EF0 */ return;
|
|
L_02BD2EF4: ; // 0x2bd2ef4
|
|
/* 02BD2EF4 */ _t13 = cpu->r[30] + 0x00000074u;
|
|
/* 02BD2EF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD2EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD2EFC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2EFC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD2EFC */ if (_t15) goto L_02BD2F34; else goto L_02BD2F00;
|
|
L_02BD2F00: ; // 0x2bd2f00
|
|
/* 02BD2F00 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD2F04 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD2F08 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD2F0C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD2F0C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD2F10 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2F10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD2F14 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD2F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD2F18 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD2F1C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD2F1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD2F20 */ cpu->lr = cpu->r[0];
|
|
/* 02BD2F24 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD2F24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD2F28 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD2F2C */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD2F30 */ return;
|
|
L_02BD2F34: ; // 0x2bd2f34
|
|
/* 02BD2F34 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD2F38 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD2F38 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[4]);
|
|
/* 02BD2F3C */ _t22 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BD2F3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD2F40 */ _t23 = cpu->r[12] + 0x00000001u;
|
|
/* 02BD2F40 */ cpu->r[6] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02BD2F44 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD2F48 */ _t24 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD2F48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD2F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD2F50 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BD2F54 */ _t25 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD2F54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD2F58 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2F58 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD2F58 */ if (_t27) goto L_02BD2F60; else goto L_02BD2F5C;
|
|
L_02BD2F5C: ; // 0x2bd2f5c
|
|
/* 02BD2F5C */ cpu->r[6] = cpu->r[0];
|
|
L_02BD2F60: ; // 0x2bd2f60
|
|
/* 02BD2F60 */ _t28 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD2F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD2F64 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD2F68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD2F6C */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD2F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD2F70 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2F70 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BD2F70 */ if (_t30) goto L_02BD2F74; else goto L_02BD2FE8;
|
|
L_02BD2F74: ; // 0x2bd2f74
|
|
/* 02BD2F74 */ _t31 = cpu->r[30] + 0x00000008u;
|
|
/* 02BD2F74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD2F78 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD2F7C */ _t32 = cpu->r[30] + 0x00000074u;
|
|
/* 02BD2F7C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02BD2F80 */ Gambit_fn_02BDA6A8(cpu);
|
|
/* 02BD2F84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD2F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD2F88 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2F88 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD2F88 */ if (_t34) goto L_02BD2F8C; else goto L_02BD2FE8;
|
|
L_02BD2F8C: ; // 0x2bd2f8c
|
|
/* 02BD2F8C */ _t35 = cpu->r[30] + 0x00000008u;
|
|
/* 02BD2F8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD2F90 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD2F94 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD2F98 */ _t36 = cpu->r[30] + 0x000000E0u;
|
|
/* 02BD2F98 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD2F9C */ cpu->r[28] = cpu->r[30] + 0x000000DCu;
|
|
/* 02BD2FA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02BD2FA4 */ _t37 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02BD2FA4 */ rbrew_write32(cpu->mem, _t37, cpu->r[31]);
|
|
/* 02BD2FA8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2FA8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD2FA8 */ if (_t39) goto L_02BD2FDC; else goto L_02BD2FAC;
|
|
L_02BD2FAC: ; // 0x2bd2fac
|
|
/* 02BD2FAC */ cpu->r[31] = 0x00000000u;
|
|
L_02BD2FB0: ; // 0x2bd2fb0
|
|
/* 02BD2FB0 */ cpu->r[11] = cpu->r[29];
|
|
/* 02BD2FB4 */ _t40 = cpu->r[29] + 0x00000004u;
|
|
/* 02BD2FB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD2FB8 */ _t41 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD2FB8 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 02BD2FBC */ _t42 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD2FBC */ rbrew_write32(cpu->mem, _t42, cpu->r[31]);
|
|
/* 02BD2FC0 */ _t43 = cpu->r[30] + 0x000000F8u;
|
|
/* 02BD2FC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD2FC4 */ cpu->r[4] = cpu->r[30] + 0x000000ECu;
|
|
/* 02BD2FC8 */ cpu->r[3] = cpu->r[30] + 0x000000E8u;
|
|
/* 02BD2FCC */ cpu->r[5] = cpu->r[11] + cpu->r[12];
|
|
/* 02BD2FD0 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BD2FD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02BD2FD8 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD2FD8 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BD2FD8 */ if (_t45) goto L_02BD2FDC; else goto L_02BD2FB0;
|
|
L_02BD2FDC: ; // 0x2bd2fdc
|
|
/* 02BD2FDC */ cpu->r[3] = cpu->r[30] + 0x000000D8u;
|
|
/* 02BD2FE0 */ Gambit_fn_02B681A4(cpu);
|
|
/* 02BD2FE4 */ cpu->r[3] = 0x00000000u;
|
|
L_02BD2FE8: ; // 0x2bd2fe8
|
|
/* 02BD2FE8 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD2FE8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD2FEC */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD2FEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD2FF0 */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD2FF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD2FF4 */ _t49 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD2FF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD2FF8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD2FFC */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD2FFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD3000 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3004 */ return;
|
|
}
|
|
|
|
// fn_02BD3008 @ 0x2bd3008
|
|
void Gambit_fn_02BD3008(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BD3008: ; // 0x2bd3008
|
|
/* 02BD3008 */ _t0 = cpu->r[3] + 0x00000068u;
|
|
/* 02BD3008 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD300C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02BD3010 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 02BD3014 */ return;
|
|
}
|
|
|
|
// fn_02BD3018 @ 0x2bd3018
|
|
void Gambit_fn_02BD3018(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BD3018: ; // 0x2bd3018
|
|
/* 02BD3018 */ _t0 = cpu->r[3] + 0x000000BFu;
|
|
/* 02BD3018 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02BD301C */ return;
|
|
}
|
|
|
|
// fn_02BD3020 @ 0x2bd3020
|
|
void Gambit_fn_02BD3020(CPUState* cpu) {
|
|
uint32_t _t0, _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_02BD3020: ; // 0x2bd3020
|
|
/* 02BD3020 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD3024 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD3024 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3024 */ cpu->r[1] = _t0;
|
|
/* 02BD3028 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3028 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD302C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD302C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD3030 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3030 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD3034 */ _t4 = cpu->r[3] + 0x000000E0u;
|
|
/* 02BD3034 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD3038 */ cpu->r[8] = cpu->r[3] + 0x000000DCu;
|
|
/* 02BD303C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]);
|
|
/* 02BD3040 */ cpu->r[30] = cpu->r[3] + 0x000000D8u;
|
|
/* 02BD3044 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3044 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD3044 */ if (_t6) goto L_02BD30B0; else goto L_02BD3048;
|
|
L_02BD3048: ; // 0x2bd3048
|
|
/* 02BD3048 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD3048 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
L_02BD304C: ; // 0x2bd304c
|
|
/* 02BD304C */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD304C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD3050 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02BD3054 */ cpu->r[10] = cpu->r[31] + 0x00000008u;
|
|
/* 02BD3058 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3058 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD3058 */ if (_t10) goto L_02BD305C; else goto L_02BD30A4;
|
|
L_02BD305C: ; // 0x2bd305c
|
|
/* 02BD305C */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 02BD305C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD3060 */ _t12 = cpu->r[4] + 0x00000004u;
|
|
/* 02BD3060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD3064 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD3068 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3068 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD3068 */ if (_t14) goto L_02BD306C; else goto L_02BD30A4;
|
|
L_02BD306C: ; // 0x2bd306c
|
|
/* 02BD306C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD3070 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD3074 */ Gambit_fn_02B6820C(cpu);
|
|
/* 02BD3078 */ _t15 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD3078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD307C */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02BD3080 */ cpu->r[4] = cpu->r[30] + 0x00000014u;
|
|
/* 02BD3084 */ cpu->r[5] = cpu->r[31] + cpu->r[0];
|
|
/* 02BD3088 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BD308C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD308C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD3090 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD3094 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3098 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD309C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD30A0 */ return;
|
|
L_02BD30A4: ; // 0x2bd30a4
|
|
/* 02BD30A4 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD30A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD30A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]);
|
|
/* 02BD30AC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD30AC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD30AC */ if (_t21) goto L_02BD30B0; else goto L_02BD304C;
|
|
L_02BD30B0: ; // 0x2bd30b0
|
|
/* 02BD30B0 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD30B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD30B4 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD30B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD30B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD30BC */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD30BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD30C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD30C4 */ return;
|
|
}
|
|
|
|
// fn_02BD3024 @ 0x2bd3024
|
|
void Gambit_fn_02BD3024(CPUState* cpu) {
|
|
uint32_t _t0, _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_02BD3024: ; // 0x2bd3024
|
|
/* 02BD3024 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD3024 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3024 */ cpu->r[1] = _t0;
|
|
/* 02BD3028 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3028 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD302C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD302C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD3030 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3030 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD3034 */ _t4 = cpu->r[3] + 0x000000E0u;
|
|
/* 02BD3034 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD3038 */ cpu->r[8] = cpu->r[3] + 0x000000DCu;
|
|
/* 02BD303C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]);
|
|
/* 02BD3040 */ cpu->r[30] = cpu->r[3] + 0x000000D8u;
|
|
/* 02BD3044 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3044 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD3044 */ if (_t6) goto L_02BD30B0; else goto L_02BD3048;
|
|
L_02BD3048: ; // 0x2bd3048
|
|
/* 02BD3048 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD3048 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
L_02BD304C: ; // 0x2bd304c
|
|
/* 02BD304C */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD304C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD3050 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02BD3054 */ cpu->r[10] = cpu->r[31] + 0x00000008u;
|
|
/* 02BD3058 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3058 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD3058 */ if (_t10) goto L_02BD305C; else goto L_02BD30A4;
|
|
L_02BD305C: ; // 0x2bd305c
|
|
/* 02BD305C */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 02BD305C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD3060 */ _t12 = cpu->r[4] + 0x00000004u;
|
|
/* 02BD3060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD3064 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD3068 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3068 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD3068 */ if (_t14) goto L_02BD306C; else goto L_02BD30A4;
|
|
L_02BD306C: ; // 0x2bd306c
|
|
/* 02BD306C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD3070 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD3074 */ Gambit_fn_02B6820C(cpu);
|
|
/* 02BD3078 */ _t15 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD3078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD307C */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02BD3080 */ cpu->r[4] = cpu->r[30] + 0x00000014u;
|
|
/* 02BD3084 */ cpu->r[5] = cpu->r[31] + cpu->r[0];
|
|
/* 02BD3088 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BD308C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD308C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD3090 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD3094 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3098 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD309C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD30A0 */ return;
|
|
L_02BD30A4: ; // 0x2bd30a4
|
|
/* 02BD30A4 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD30A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD30A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]);
|
|
/* 02BD30AC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD30AC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD30AC */ if (_t21) goto L_02BD30B0; else goto L_02BD304C;
|
|
L_02BD30B0: ; // 0x2bd30b0
|
|
/* 02BD30B0 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD30B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD30B4 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD30B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD30B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD30BC */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD30BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD30C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD30C4 */ return;
|
|
}
|
|
|
|
// fn_02BD30C8 @ 0x2bd30c8
|
|
void Gambit_fn_02BD30C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94;
|
|
|
|
L_02BD30C8: ; // 0x2bd30c8
|
|
/* 02BD30C8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD30CC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02BD30CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD30CC */ cpu->r[1] = _t0;
|
|
/* 02BD30D0 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD30D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD30D4 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02BD30D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD30D8 */ cpu->r[31] = 0x10200000u;
|
|
/* 02BD30DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD30E0 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD30E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD30E4 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BD30E8 */ _t4 = cpu->r[1] + 0x00000054u;
|
|
/* 02BD30E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD30EC */ _t5 = cpu->r[31] + 0x000027A4u;
|
|
/* 02BD30EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD30EC */ cpu->r[31] = _t5;
|
|
/* 02BD30F0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD30F4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BD30F8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD30F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD30FC */ cpu->r[8] = cpu->r[0];
|
|
/* 02BD3100 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3100 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD3100 */ if (_t8) goto L_02BD315C; else goto L_02BD3104;
|
|
L_02BD3104: ; // 0x2bd3104
|
|
/* 02BD3104 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3104 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02BD3108 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3108 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02BD310C */ _t11 = cpu->r[30] + 0xFFFFB778u;
|
|
/* 02BD310C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD3110 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3110 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02BD3114 */ cpu->r[5] = cpu->r[6];
|
|
/* 02BD3118 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3118 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BD311C */ _t14 = cpu->r[10] + 0x0000007Cu;
|
|
/* 02BD311C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD3120 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3124 */ Gambit_fn_02C016D8(cpu);
|
|
/* 02BD3128 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD3128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD312C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD312C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD312C */ if (_t16) goto L_02BD3144; else goto L_02BD3130;
|
|
L_02BD3130: ; // 0x2bd3130
|
|
/* 02BD3130 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD3130 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD3134 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD3138 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BD313C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD313C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD313C */ if (_t20) goto L_02BD3140; else goto L_02BD3214;
|
|
L_02BD3140: ; // 0x2bd3140
|
|
/* 02BD3140 */ goto L_02BD31E4;
|
|
L_02BD3144: ; // 0x2bd3144
|
|
/* 02BD3144 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD3148 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3148 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD314C */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD314C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02BD3150 */ _t24 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD3150 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD3154 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3154 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 02BD3158 */ goto L_02BD31DC;
|
|
L_02BD315C: ; // 0x2bd315c
|
|
/* 02BD315C */ _t26 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD315C */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD3160 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]);
|
|
/* 02BD3164 */ _t27 = cpu->r[4] + 0x00000004u;
|
|
/* 02BD3164 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD3168 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3168 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD3168 */ if (_t29) goto L_02BD316C; else goto L_02BD3174;
|
|
L_02BD316C: ; // 0x2bd316c
|
|
/* 02BD316C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BD3170 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3170 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD3170 */ if (_t31) goto L_02BD3184; else goto L_02BD3174;
|
|
L_02BD3174: ; // 0x2bd3174
|
|
/* 02BD3174 */ cpu->r[0] = cpu->r[9];
|
|
/* 02BD3178 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3178 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 02BD317C */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD317C */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02BD3180 */ goto L_02BD31DC;
|
|
L_02BD3184: ; // 0x2bd3184
|
|
/* 02BD3184 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3184 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
/* 02BD3188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x000000FDu);
|
|
/* 02BD318C */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD318C */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02BD3190 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3190 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD3190 */ if (_t37) goto L_02BD31DC; else goto L_02BD3194;
|
|
L_02BD3194: ; // 0x2bd3194
|
|
/* 02BD3194 */ _t38 = cpu->r[30] + 0xFFFFB778u;
|
|
/* 02BD3194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD3198 */ _t39 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3198 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 02BD319C */ _t40 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD319C */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 02BD31A0 */ _t41 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD31A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD31A4 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD31A8 */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD31AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD31AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD31B0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD31B0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BD31B0 */ if (_t43) goto L_02BD31C8; else goto L_02BD31B4;
|
|
L_02BD31B4: ; // 0x2bd31b4
|
|
/* 02BD31B4 */ _t44 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD31B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD31B8 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD31B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD31BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BD31C0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD31C0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BD31C0 */ if (_t47) goto L_02BD31C4; else goto L_02BD3214;
|
|
L_02BD31C4: ; // 0x2bd31c4
|
|
/* 02BD31C4 */ goto L_02BD31E4;
|
|
L_02BD31C8: ; // 0x2bd31c8
|
|
/* 02BD31C8 */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD31C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD31CC */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD31CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD31D0 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD31D0 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 02BD31D4 */ _t51 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD31D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD31D8 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD31D8 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
L_02BD31DC: ; // 0x2bd31dc
|
|
/* 02BD31DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BD31E0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD31E0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BD31E0 */ if (_t54) goto L_02BD31E4; else goto L_02BD3214;
|
|
L_02BD31E4: ; // 0x2bd31e4
|
|
/* 02BD31E4 */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD31E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD31E8 */ _t56 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD31E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BD31EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02BD31F0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD31F0 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BD31F0 */ if (_t58) goto L_02BD31F4; else goto L_02BD3214;
|
|
L_02BD31F4: ; // 0x2bd31f4
|
|
/* 02BD31F4 */ _t59 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD31F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BD31F8 */ _t60 = cpu->r[1] + 0x00000054u;
|
|
/* 02BD31F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BD31FC */ _t61 = cpu->r[1] + 0x00000048u;
|
|
/* 02BD31FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BD3200 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3204 */ _t62 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD3204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BD3208 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BD320C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3210 */ return;
|
|
L_02BD3214: ; // 0x2bd3214
|
|
/* 02BD3214 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD3218 */ Gambit_fn_02BD3018(cpu);
|
|
/* 02BD321C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3220 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3220 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BD3220 */ if (_t64) goto L_02BD3254; else goto L_02BD3224;
|
|
L_02BD3224: ; // 0x2bd3224
|
|
/* 02BD3224 */ _t65 = cpu->r[29] + 0x00000068u;
|
|
/* 02BD3224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BD3228 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD322C */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD3230 */ Gambit_fn_02BDB75C(cpu);
|
|
/* 02BD3234 */ _t66 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD3234 */ cpu->r[29] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BD3238 */ _t67 = cpu->r[1] + 0x00000054u;
|
|
/* 02BD3238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BD323C */ _t68 = cpu->r[1] + 0x00000048u;
|
|
/* 02BD323C */ cpu->r[30] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BD3240 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3244 */ _t69 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD3244 */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BD3248 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BD324C */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD3250 */ return;
|
|
L_02BD3254: ; // 0x2bd3254
|
|
/* 02BD3254 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD3258 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD325C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3260 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3260 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02BD3260 */ if (_t71) goto L_02BD3278; else goto L_02BD3264;
|
|
L_02BD3264: ; // 0x2bd3264
|
|
/* 02BD3264 */ _t72 = cpu->r[29] + 0x00000068u;
|
|
/* 02BD3264 */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BD3268 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD326C */ Gambit_fn_02BDBB48(cpu);
|
|
/* 02BD3270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3274 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3274 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BD3274 */ if (_t74) goto L_02BD32B0; else goto L_02BD3278;
|
|
L_02BD3278: ; // 0x2bd3278
|
|
/* 02BD3278 */ _t75 = cpu->r[29] + 0x00000060u;
|
|
/* 02BD3278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BD327C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD3280 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3280 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02BD3280 */ if (_t77) goto L_02BD32A4; else goto L_02BD3284;
|
|
L_02BD3284: ; // 0x2bd3284
|
|
/* 02BD3284 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD3288 */ _t78 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BD328C */ _t79 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD328C */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BD3290 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD3294 */ _t80 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD3294 */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
/* 02BD3298 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD329C */ _t81 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD329C */ rbrew_write32(cpu->mem, _t81, cpu->r[8]);
|
|
/* 02BD32A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD32A4: ; // 0x2bd32a4
|
|
/* 02BD32A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD32A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD32AC */ Gambit_fn_02BD3020(cpu);
|
|
L_02BD32B0: ; // 0x2bd32b0
|
|
/* 02BD32B0 */ _t82 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD32B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BD32B4 */ _t83 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD32B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BD32B8 */ _t84 = cpu->r[30] + 0xFFFFB778u;
|
|
/* 02BD32B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BD32BC */ _t85 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD32BC */ rbrew_write32(cpu->mem, _t85, cpu->r[0]);
|
|
/* 02BD32C0 */ _t86 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD32C0 */ rbrew_write32(cpu->mem, _t86, cpu->r[6]);
|
|
/* 02BD32C4 */ _t87 = cpu->r[7] + 0x0000007Cu;
|
|
/* 02BD32C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BD32C8 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD32CC */ Gambit_fn_02C01660(cpu);
|
|
/* 02BD32D0 */ cpu->r[11] = cpu->r[3];
|
|
/* 02BD32D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD32D8 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD32DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD32E0 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD32E0 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02BD32E0 */ if (_t89) goto L_02BD32F4; else goto L_02BD32E4;
|
|
L_02BD32E4: ; // 0x2bd32e4
|
|
/* 02BD32E4 */ _t90 = cpu->r[29] + 0x00000068u;
|
|
/* 02BD32E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BD32E8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD32EC */ Gambit_fn_02BDB49C(cpu);
|
|
/* 02BD32F0 */ cpu->r[11] = cpu->r[3];
|
|
L_02BD32F4: ; // 0x2bd32f4
|
|
/* 02BD32F4 */ _t91 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD32F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BD32F8 */ _t92 = cpu->r[1] + 0x00000054u;
|
|
/* 02BD32F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BD32FC */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD3300 */ _t93 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD3300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BD3304 */ cpu->r[9] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02BD3308 */ cpu->lr = cpu->r[0];
|
|
/* 02BD330C */ _t94 = cpu->r[1] + 0x00000048u;
|
|
/* 02BD330C */ cpu->r[30] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BD3310 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BD3314 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3318 */ return;
|
|
}
|
|
|
|
// fn_02BD30CC @ 0x2bd30cc
|
|
void Gambit_fn_02BD30CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94;
|
|
|
|
L_02BD30CC: ; // 0x2bd30cc
|
|
/* 02BD30CC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02BD30CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD30CC */ cpu->r[1] = _t0;
|
|
/* 02BD30D0 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD30D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD30D4 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02BD30D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD30D8 */ cpu->r[31] = 0x10200000u;
|
|
/* 02BD30DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD30E0 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD30E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD30E4 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BD30E8 */ _t4 = cpu->r[1] + 0x00000054u;
|
|
/* 02BD30E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD30EC */ _t5 = cpu->r[31] + 0x000027A4u;
|
|
/* 02BD30EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD30EC */ cpu->r[31] = _t5;
|
|
/* 02BD30F0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD30F4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BD30F8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD30F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD30FC */ cpu->r[8] = cpu->r[0];
|
|
/* 02BD3100 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3100 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD3100 */ if (_t8) goto L_02BD315C; else goto L_02BD3104;
|
|
L_02BD3104: ; // 0x2bd3104
|
|
/* 02BD3104 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3104 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02BD3108 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3108 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02BD310C */ _t11 = cpu->r[30] + 0xFFFFB778u;
|
|
/* 02BD310C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD3110 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3110 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02BD3114 */ cpu->r[5] = cpu->r[6];
|
|
/* 02BD3118 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3118 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BD311C */ _t14 = cpu->r[10] + 0x0000007Cu;
|
|
/* 02BD311C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD3120 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3124 */ Gambit_fn_02C016D8(cpu);
|
|
/* 02BD3128 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD3128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD312C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD312C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD312C */ if (_t16) goto L_02BD3144; else goto L_02BD3130;
|
|
L_02BD3130: ; // 0x2bd3130
|
|
/* 02BD3130 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD3130 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD3134 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD3138 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BD313C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD313C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD313C */ if (_t20) goto L_02BD3140; else goto L_02BD3214;
|
|
L_02BD3140: ; // 0x2bd3140
|
|
/* 02BD3140 */ goto L_02BD31E4;
|
|
L_02BD3144: ; // 0x2bd3144
|
|
/* 02BD3144 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD3148 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3148 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD314C */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD314C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02BD3150 */ _t24 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD3150 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD3154 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3154 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 02BD3158 */ goto L_02BD31DC;
|
|
L_02BD315C: ; // 0x2bd315c
|
|
/* 02BD315C */ _t26 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD315C */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD3160 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]);
|
|
/* 02BD3164 */ _t27 = cpu->r[4] + 0x00000004u;
|
|
/* 02BD3164 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD3168 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3168 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD3168 */ if (_t29) goto L_02BD316C; else goto L_02BD3174;
|
|
L_02BD316C: ; // 0x2bd316c
|
|
/* 02BD316C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BD3170 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3170 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD3170 */ if (_t31) goto L_02BD3184; else goto L_02BD3174;
|
|
L_02BD3174: ; // 0x2bd3174
|
|
/* 02BD3174 */ cpu->r[0] = cpu->r[9];
|
|
/* 02BD3178 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3178 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 02BD317C */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD317C */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02BD3180 */ goto L_02BD31DC;
|
|
L_02BD3184: ; // 0x2bd3184
|
|
/* 02BD3184 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3184 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
/* 02BD3188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x000000FDu);
|
|
/* 02BD318C */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD318C */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02BD3190 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3190 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD3190 */ if (_t37) goto L_02BD31DC; else goto L_02BD3194;
|
|
L_02BD3194: ; // 0x2bd3194
|
|
/* 02BD3194 */ _t38 = cpu->r[30] + 0xFFFFB778u;
|
|
/* 02BD3194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD3198 */ _t39 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3198 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 02BD319C */ _t40 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD319C */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 02BD31A0 */ _t41 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD31A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD31A4 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD31A8 */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD31AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD31AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD31B0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD31B0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BD31B0 */ if (_t43) goto L_02BD31C8; else goto L_02BD31B4;
|
|
L_02BD31B4: ; // 0x2bd31b4
|
|
/* 02BD31B4 */ _t44 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD31B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD31B8 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD31B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD31BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BD31C0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD31C0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BD31C0 */ if (_t47) goto L_02BD31C4; else goto L_02BD3214;
|
|
L_02BD31C4: ; // 0x2bd31c4
|
|
/* 02BD31C4 */ goto L_02BD31E4;
|
|
L_02BD31C8: ; // 0x2bd31c8
|
|
/* 02BD31C8 */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD31C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD31CC */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD31CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD31D0 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD31D0 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 02BD31D4 */ _t51 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD31D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD31D8 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD31D8 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
L_02BD31DC: ; // 0x2bd31dc
|
|
/* 02BD31DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BD31E0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD31E0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BD31E0 */ if (_t54) goto L_02BD31E4; else goto L_02BD3214;
|
|
L_02BD31E4: ; // 0x2bd31e4
|
|
/* 02BD31E4 */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD31E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD31E8 */ _t56 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD31E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BD31EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02BD31F0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD31F0 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BD31F0 */ if (_t58) goto L_02BD31F4; else goto L_02BD3214;
|
|
L_02BD31F4: ; // 0x2bd31f4
|
|
/* 02BD31F4 */ _t59 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD31F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BD31F8 */ _t60 = cpu->r[1] + 0x00000054u;
|
|
/* 02BD31F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BD31FC */ _t61 = cpu->r[1] + 0x00000048u;
|
|
/* 02BD31FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BD3200 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3204 */ _t62 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD3204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BD3208 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BD320C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3210 */ return;
|
|
L_02BD3214: ; // 0x2bd3214
|
|
/* 02BD3214 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD3218 */ Gambit_fn_02BD3018(cpu);
|
|
/* 02BD321C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3220 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3220 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BD3220 */ if (_t64) goto L_02BD3254; else goto L_02BD3224;
|
|
L_02BD3224: ; // 0x2bd3224
|
|
/* 02BD3224 */ _t65 = cpu->r[29] + 0x00000068u;
|
|
/* 02BD3224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BD3228 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD322C */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD3230 */ Gambit_fn_02BDB75C(cpu);
|
|
/* 02BD3234 */ _t66 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD3234 */ cpu->r[29] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BD3238 */ _t67 = cpu->r[1] + 0x00000054u;
|
|
/* 02BD3238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BD323C */ _t68 = cpu->r[1] + 0x00000048u;
|
|
/* 02BD323C */ cpu->r[30] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BD3240 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3244 */ _t69 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD3244 */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BD3248 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BD324C */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD3250 */ return;
|
|
L_02BD3254: ; // 0x2bd3254
|
|
/* 02BD3254 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD3258 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD325C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3260 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3260 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02BD3260 */ if (_t71) goto L_02BD3278; else goto L_02BD3264;
|
|
L_02BD3264: ; // 0x2bd3264
|
|
/* 02BD3264 */ _t72 = cpu->r[29] + 0x00000068u;
|
|
/* 02BD3264 */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BD3268 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD326C */ Gambit_fn_02BDBB48(cpu);
|
|
/* 02BD3270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3274 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3274 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BD3274 */ if (_t74) goto L_02BD32B0; else goto L_02BD3278;
|
|
L_02BD3278: ; // 0x2bd3278
|
|
/* 02BD3278 */ _t75 = cpu->r[29] + 0x00000060u;
|
|
/* 02BD3278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BD327C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD3280 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3280 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02BD3280 */ if (_t77) goto L_02BD32A4; else goto L_02BD3284;
|
|
L_02BD3284: ; // 0x2bd3284
|
|
/* 02BD3284 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD3288 */ _t78 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BD328C */ _t79 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD328C */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BD3290 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD3294 */ _t80 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD3294 */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
/* 02BD3298 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD329C */ _t81 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD329C */ rbrew_write32(cpu->mem, _t81, cpu->r[8]);
|
|
/* 02BD32A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD32A4: ; // 0x2bd32a4
|
|
/* 02BD32A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD32A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD32AC */ Gambit_fn_02BD3020(cpu);
|
|
L_02BD32B0: ; // 0x2bd32b0
|
|
/* 02BD32B0 */ _t82 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD32B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BD32B4 */ _t83 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD32B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BD32B8 */ _t84 = cpu->r[30] + 0xFFFFB778u;
|
|
/* 02BD32B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BD32BC */ _t85 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD32BC */ rbrew_write32(cpu->mem, _t85, cpu->r[0]);
|
|
/* 02BD32C0 */ _t86 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD32C0 */ rbrew_write32(cpu->mem, _t86, cpu->r[6]);
|
|
/* 02BD32C4 */ _t87 = cpu->r[7] + 0x0000007Cu;
|
|
/* 02BD32C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BD32C8 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD32CC */ Gambit_fn_02C01660(cpu);
|
|
/* 02BD32D0 */ cpu->r[11] = cpu->r[3];
|
|
/* 02BD32D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD32D8 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD32DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD32E0 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD32E0 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02BD32E0 */ if (_t89) goto L_02BD32F4; else goto L_02BD32E4;
|
|
L_02BD32E4: ; // 0x2bd32e4
|
|
/* 02BD32E4 */ _t90 = cpu->r[29] + 0x00000068u;
|
|
/* 02BD32E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BD32E8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD32EC */ Gambit_fn_02BDB49C(cpu);
|
|
/* 02BD32F0 */ cpu->r[11] = cpu->r[3];
|
|
L_02BD32F4: ; // 0x2bd32f4
|
|
/* 02BD32F4 */ _t91 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD32F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BD32F8 */ _t92 = cpu->r[1] + 0x00000054u;
|
|
/* 02BD32F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BD32FC */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD3300 */ _t93 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD3300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BD3304 */ cpu->r[9] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02BD3308 */ cpu->lr = cpu->r[0];
|
|
/* 02BD330C */ _t94 = cpu->r[1] + 0x00000048u;
|
|
/* 02BD330C */ cpu->r[30] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BD3310 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BD3314 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3318 */ return;
|
|
}
|
|
|
|
// fn_02BD331C @ 0x2bd331c
|
|
void Gambit_fn_02BD331C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BD331C: ; // 0x2bd331c
|
|
/* 02BD331C */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02BD331C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3320 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BD3324 */ _t1 = cpu->r[3] + 0x00000040u;
|
|
/* 02BD3324 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD3328 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BD332C */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD332C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD332C */ _t4 = _t3 ^ 0x00000001u;
|
|
/* 02BD332C */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BD332C */ goto L_02BD3330;
|
|
L_02BD3330: ; // 0x2bd3330
|
|
/* 02BD3330 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 02BD3334 */ cpu->r[12] = 0x00000000u;
|
|
L_02BD3338: ; // 0x2bd3338
|
|
/* 02BD3338 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02BD3338 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[12]);
|
|
/* 02BD3338 */ cpu->r[9] = _t5;
|
|
/* 02BD333C */ _t6 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02BD333C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD3340 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BD3344 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 02BD3348 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD3348 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD3348 */ if (_t8) goto L_02BD3338; else goto L_02BD334C;
|
|
L_02BD334C: ; // 0x2bd334c
|
|
/* 02BD334C */ return;
|
|
}
|
|
|
|
// fn_02BD3350 @ 0x2bd3350
|
|
void Gambit_fn_02BD3350(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86;
|
|
|
|
L_02BD3350: ; // 0x2bd3350
|
|
/* 02BD3350 */ _t0 = cpu->r[1] + 0xFFFFFED0u;
|
|
/* 02BD3350 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3350 */ cpu->r[1] = _t0;
|
|
/* 02BD3354 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD3358 */ /* nop */
|
|
/* 02BD335C */ cpu->r[27] = 0x00000000u;
|
|
/* 02BD3360 */ _t1 = cpu->r[1] + 0x00000134u;
|
|
/* 02BD3360 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD3364 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BD3368 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD336C */ _t2 = cpu->r[3] + 0x000000BFu;
|
|
/* 02BD336C */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[27]);
|
|
/* 02BD3370 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD3374 */ cpu->r[30] = 0x10200000u;
|
|
/* 02BD3378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD337C */ cpu->r[30] = cpu->r[30] + 0x000027A4u;
|
|
/* 02BD3380 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3380 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD3380 */ if (_t4) goto L_02BD3518; else goto L_02BD3384;
|
|
L_02BD3384: ; // 0x2bd3384
|
|
/* 02BD3384 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD3384 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD3388 */ _t6 = cpu->r[28] + 0x00000080u;
|
|
/* 02BD3388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD338C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02BD3390 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BD3394 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3394 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD3394 */ if (_t8) goto L_02BD3398; else goto L_02BD33A8;
|
|
L_02BD3398: ; // 0x2bd3398
|
|
/* 02BD3398 */ _t9 = cpu->r[28] + 0x00000084u;
|
|
/* 02BD3398 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD339C */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD339C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD33A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02BD33A4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD33A4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD33A4 */ if (_t12) goto L_02BD3504; else goto L_02BD33A8;
|
|
L_02BD33A8: ; // 0x2bd33a8
|
|
/* 02BD33A8 */ cpu->r[6] = 0x02BD0000u;
|
|
/* 02BD33AC */ cpu->r[25] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD33B0 */ cpu->r[4] = 0x00000020u;
|
|
/* 02BD33B4 */ cpu->r[6] = cpu->r[6] + 0x00007018u;
|
|
/* 02BD33B8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BD33BC */ cpu->r[5] = 0x00000008u;
|
|
/* 02BD33C0 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02BD33C4 */ _t13 = cpu->r[26] + 0xFFFFB778u;
|
|
/* 02BD33C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD33C8 */ _t14 = cpu->r[8] + 0x0000007Cu;
|
|
/* 02BD33C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD33CC */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD33D0 */ _t15 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BD33D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD33D4 */ cpu->r[0] = cpu->r[10] + 0x00000008u;
|
|
/* 02BD33D8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD33DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BD33E0 */ cpu->r[12] = cpu->r[8] + 0x0000007Cu;
|
|
/* 02BD33E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD33E4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD33E4 */ if (_t17) goto L_02BD34A0; else goto L_02BD33E8;
|
|
L_02BD33E8: ; // 0x2bd33e8
|
|
/* 02BD33E8 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD33E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD33EC */ _t19 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD33EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD33F0 */ _t20 = cpu->r[28] + 0x00000080u;
|
|
/* 02BD33F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD33F4 */ cpu->r[10] = cpu->r[25];
|
|
L_02BD33F8: ; // 0x2bd33f8
|
|
/* 02BD33F8 */ cpu->r[3] = cpu->r[11] + 0x00000008u;
|
|
/* 02BD33FC */ cpu->r[9] = cpu->r[3];
|
|
/* 02BD3400 */ _t21 = cpu->r[9] + 0x00000000u;
|
|
/* 02BD3400 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD3404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02BD3408 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3408 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD3408 */ if (_t23) goto L_02BD340C; else goto L_02BD3438;
|
|
L_02BD340C: ; // 0x2bd340c
|
|
/* 02BD340C */ _t24 = cpu->r[9] + 0x00000004u;
|
|
/* 02BD340C */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD3410 */ _t25 = cpu->r[28] + 0x00000084u;
|
|
/* 02BD3410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD3414 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02BD3418 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3418 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD3418 */ if (_t27) goto L_02BD341C; else goto L_02BD3438;
|
|
L_02BD341C: ; // 0x2bd341c
|
|
/* 02BD341C */ _t28 = cpu->r[12] + 0x00000000u;
|
|
/* 02BD341C */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD3420 */ _t29 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD3420 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD3424 */ cpu->r[0] = cpu->r[6] + 0x00000008u;
|
|
/* 02BD3428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BD342C */ cpu->r[4] = 0x00000001u;
|
|
/* 02BD3430 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3430 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD3430 */ if (_t31) goto L_02BD3434; else goto L_02BD33F8;
|
|
L_02BD3434: ; // 0x2bd3434
|
|
/* 02BD3434 */ goto L_02BD347C;
|
|
L_02BD3438: ; // 0x2bd3438
|
|
/* 02BD3438 */ _t32 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD3438 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD343C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[5]);
|
|
/* 02BD3440 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3440 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD3440 */ if (_t34) goto L_02BD3444; else goto L_02BD3450;
|
|
L_02BD3444: ; // 0x2bd3444
|
|
/* 02BD3444 */ _t35 = cpu->r[3] + 0x00000004u;
|
|
/* 02BD3444 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD3448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]);
|
|
/* 02BD344C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD344C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD344C */ if (_t37) goto L_02BD3468; else goto L_02BD3450;
|
|
L_02BD3450: ; // 0x2bd3450
|
|
/* 02BD3450 */ _t38 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD3450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD3454 */ _t39 = cpu->r[10] + 0x00000000u;
|
|
/* 02BD3454 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02BD3458 */ _t40 = cpu->r[3] + 0x00000004u;
|
|
/* 02BD3458 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD345C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BD3460 */ _t41 = cpu->r[10] + 0x00000004u;
|
|
/* 02BD3460 */ rbrew_write32(cpu->mem, _t41, cpu->r[6]);
|
|
/* 02BD3464 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
L_02BD3468: ; // 0x2bd3468
|
|
/* 02BD3468 */ _t42 = cpu->r[12] + 0x00000000u;
|
|
/* 02BD3468 */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD346C */ _t43 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD346C */ cpu->r[11] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD3470 */ cpu->r[0] = cpu->r[6] + 0x00000008u;
|
|
/* 02BD3474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BD3478 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3478 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BD3478 */ if (_t45) goto L_02BD347C; else goto L_02BD33F8;
|
|
L_02BD347C: ; // 0x2bd347c
|
|
/* 02BD347C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BD3480 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3480 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BD3480 */ if (_t47) goto L_02BD34A0; else goto L_02BD3484;
|
|
L_02BD3484: ; // 0x2bd3484
|
|
/* 02BD3484 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02BD3488 */ _t48 = cpu->r[28] + 0x00000080u;
|
|
/* 02BD3488 */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD348C */ cpu->r[5] = cpu->r[25] + cpu->r[8];
|
|
/* 02BD3490 */ _t49 = cpu->r[28] + 0x00000084u;
|
|
/* 02BD3490 */ cpu->r[10] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD3494 */ _t50 = cpu->r[25] + cpu->r[8];
|
|
/* 02BD3494 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 02BD3498 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BD349C */ _t51 = cpu->r[5] + 0x00000004u;
|
|
/* 02BD349C */ rbrew_write32(cpu->mem, _t51, cpu->r[10]);
|
|
L_02BD34A0: ; // 0x2bd34a0
|
|
/* 02BD34A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD34A4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD34A4 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BD34A4 */ if (_t53) goto L_02BD34E4; else goto L_02BD34A8;
|
|
L_02BD34A8: ; // 0x2bd34a8
|
|
/* 02BD34A8 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFF8u;
|
|
L_02BD34AC: ; // 0x2bd34ac
|
|
/* 02BD34AC */ _t54 = cpu->r[25] + 0x00000008u;
|
|
/* 02BD34AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BD34AC */ cpu->r[25] = _t54;
|
|
/* 02BD34B0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD34B4 */ cpu->r[5] = 0x000000FDu;
|
|
/* 02BD34B8 */ _t55 = cpu->r[25] + 0x00000004u;
|
|
/* 02BD34B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD34BC */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD34C0 */ cpu->r[7] = cpu->r[6];
|
|
/* 02BD34C4 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD34C4 */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 02BD34C8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD34CC */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD34CC */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 02BD34D0 */ Gambit_fn_02BD30C8(cpu);
|
|
/* 02BD34D4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD34D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD34D8 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD34D8 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BD34D8 */ if (_t59) goto L_02BD34DC; else goto L_02BD34AC;
|
|
L_02BD34DC: ; // 0x2bd34dc
|
|
/* 02BD34DC */ _t60 = cpu->r[26] + 0xFFFFB778u;
|
|
/* 02BD34DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BD34E0 */ cpu->r[12] = cpu->r[8] + 0x0000007Cu;
|
|
L_02BD34E4: ; // 0x2bd34e4
|
|
/* 02BD34E4 */ _t61 = cpu->r[12] + 0x00000000u;
|
|
/* 02BD34E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BD34E8 */ cpu->r[6] = 0x40000000u;
|
|
/* 02BD34EC */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD34F0 */ Gambit_fn_02C01754(cpu);
|
|
/* 02BD34F4 */ _t62 = cpu->r[28] + 0x00000068u;
|
|
/* 02BD34F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BD34F8 */ cpu->r[6] = 0x40000000u;
|
|
/* 02BD34FC */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD3500 */ Gambit_fn_02BDC204(cpu);
|
|
L_02BD3504: ; // 0x2bd3504
|
|
/* 02BD3504 */ _t63 = cpu->r[26] + 0xFFFFB778u;
|
|
/* 02BD3504 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BD3508 */ _t64 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD3508 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BD350C */ Gambit_fn_02BE7B48(cpu);
|
|
/* 02BD3510 */ _t65 = cpu->r[28] + 0x00000068u;
|
|
/* 02BD3510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BD3514 */ Gambit_fn_02BDB320(cpu);
|
|
L_02BD3518: ; // 0x2bd3518
|
|
/* 02BD3518 */ _t66 = cpu->r[28] + 0x00000078u;
|
|
/* 02BD3518 */ rbrew_write32(cpu->mem, _t66, cpu->r[27]);
|
|
/* 02BD351C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD3520 */ _t67 = cpu->r[28] + 0x0000007Cu;
|
|
/* 02BD3520 */ rbrew_write32(cpu->mem, _t67, cpu->r[27]);
|
|
/* 02BD3524 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3524 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BD3524 */ if (_t69) goto L_02BD3528; else goto L_02BD3558;
|
|
L_02BD3528: ; // 0x2bd3528
|
|
/* 02BD3528 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD3528 */ cpu->r[5] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BD352C */ _t71 = cpu->r[28] + 0x00000080u;
|
|
/* 02BD352C */ rbrew_write32(cpu->mem, _t71, cpu->r[5]);
|
|
/* 02BD3530 */ _t72 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD3530 */ cpu->r[6] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BD3534 */ _t73 = cpu->r[28] + 0x00000084u;
|
|
/* 02BD3534 */ rbrew_write32(cpu->mem, _t73, cpu->r[6]);
|
|
/* 02BD3538 */ _t74 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD3538 */ cpu->r[7] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BD353C */ _t75 = cpu->r[28] + 0x00000088u;
|
|
/* 02BD353C */ rbrew_write32(cpu->mem, _t75, cpu->r[7]);
|
|
/* 02BD3540 */ _t76 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD3540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BD3544 */ _t77 = cpu->r[28] + 0x0000008Cu;
|
|
/* 02BD3544 */ rbrew_write32(cpu->mem, _t77, cpu->r[0]);
|
|
/* 02BD3548 */ _t78 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD3548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BD354C */ _t79 = cpu->r[28] + 0x00000090u;
|
|
/* 02BD354C */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
|
|
/* 02BD3550 */ _t80 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD3550 */ cpu->r[6] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BD3554 */ _t81 = cpu->r[28] + 0x00000094u;
|
|
/* 02BD3554 */ rbrew_write32(cpu->mem, _t81, cpu->r[6]);
|
|
L_02BD3558: ; // 0x2bd3558
|
|
/* 02BD3558 */ _t82 = cpu->r[28] + 0x000000D0u;
|
|
/* 02BD3558 */ rbrew_write32(cpu->mem, _t82, cpu->r[27]);
|
|
/* 02BD355C */ cpu->r[3] = cpu->r[28] + 0x0000010Du;
|
|
/* 02BD3560 */ _t83 = cpu->r[28] + 0x000000C0u;
|
|
/* 02BD3560 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[27]);
|
|
/* 02BD3564 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BD3568 */ _t84 = cpu->r[28] + 0x000000D4u;
|
|
/* 02BD3568 */ rbrew_write32(cpu->mem, _t84, cpu->r[27]);
|
|
/* 02BD356C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3570 */ _t85 = cpu->r[28] + 0x000000C1u;
|
|
/* 02BD3570 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[27]);
|
|
/* 02BD3574 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BD3578 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD357C */ Gambit_fn_02BD331C(cpu);
|
|
/* 02BD3580 */ /* nop */
|
|
/* 02BD3584 */ _t86 = cpu->r[1] + 0x00000134u;
|
|
/* 02BD3584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BD3588 */ cpu->lr = cpu->r[0];
|
|
/* 02BD358C */ cpu->r[1] = cpu->r[1] + 0x00000130u;
|
|
/* 02BD3590 */ return;
|
|
}
|
|
|
|
// fn_02BD3594 @ 0x2bd3594
|
|
void Gambit_fn_02BD3594(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BD3594: ; // 0x2bd3594
|
|
/* 02BD3594 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD3598 */ _t0 = cpu->r[3] + 0x000000B8u;
|
|
/* 02BD3598 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD359C */ return;
|
|
}
|
|
|
|
// fn_02BD35A0 @ 0x2bd35a0
|
|
void Gambit_fn_02BD35A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BD35A0: ; // 0x2bd35a0
|
|
/* 02BD35A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD35A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD35A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD35A4 */ cpu->r[1] = _t0;
|
|
/* 02BD35A8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD35A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD35AC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD35AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD35B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD35B4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD35B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD35B8 */ _t4 = cpu->r[31] + 0x000000C4u;
|
|
/* 02BD35B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD35BC */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD35BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD35C0 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD35C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD35C4 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD35C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD35CC */ _t7 = cpu->r[31] + 0x000000C8u;
|
|
/* 02BD35CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD35D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD35D4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD35D4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD35D4 */ if (_t9) goto L_02BD35E8; else goto L_02BD35D8;
|
|
L_02BD35D8: ; // 0x2bd35d8
|
|
/* 02BD35D8 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD35D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD35DC */ _t11 = cpu->r[8] + 0x00000014u;
|
|
/* 02BD35DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD35E0 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD35E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD35E8: ; // 0x2bd35e8
|
|
/* 02BD35E8 */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BD35E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD35EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD35F0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD35F4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD35F4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD35F4 */ if (_t14) goto L_02BD3620; else goto L_02BD35F8;
|
|
L_02BD35F8: ; // 0x2bd35f8
|
|
/* 02BD35F8 */ _t15 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD35F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD35FC */ _t16 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD35FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD3600 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD3604 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3608 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD360C */ _t17 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BD360C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD3610 */ _t18 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3610 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD3614 */ _t19 = cpu->r[12] + 0x00000034u;
|
|
/* 02BD3614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD3618 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD361C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3620: ; // 0x2bd3620
|
|
/* 02BD3620 */ _t20 = cpu->r[31] + 0x00000010u;
|
|
/* 02BD3620 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD3624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3628 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3628 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD3628 */ if (_t22) goto L_02BD3654; else goto L_02BD362C;
|
|
L_02BD362C: ; // 0x2bd362c
|
|
/* 02BD362C */ _t23 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD362C */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD3630 */ _t24 = cpu->r[6] + 0x00000014u;
|
|
/* 02BD3630 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD3634 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD3638 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD363C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3640 */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 02BD3640 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD3644 */ _t26 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3644 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD3648 */ _t27 = cpu->r[8] + 0x00000034u;
|
|
/* 02BD3648 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD364C */ cpu->ctr = cpu->r[9];
|
|
/* 02BD3650 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3654: ; // 0x2bd3654
|
|
/* 02BD3654 */ _t28 = cpu->r[31] + 0x00000014u;
|
|
/* 02BD3654 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD3658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD365C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD365C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BD365C */ if (_t30) goto L_02BD3688; else goto L_02BD3660;
|
|
L_02BD3660: ; // 0x2bd3660
|
|
/* 02BD3660 */ _t31 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3660 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD3664 */ _t32 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD3664 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD3668 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD366C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3670 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3674 */ _t33 = cpu->r[31] + 0x00000014u;
|
|
/* 02BD3674 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD3678 */ _t34 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3678 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD367C */ _t35 = cpu->r[12] + 0x00000034u;
|
|
/* 02BD367C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD3680 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD3684 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3688: ; // 0x2bd3688
|
|
/* 02BD3688 */ _t36 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD3688 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD368C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3690 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3690 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BD3690 */ if (_t38) goto L_02BD36BC; else goto L_02BD3694;
|
|
L_02BD3694: ; // 0x2bd3694
|
|
/* 02BD3694 */ _t39 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3694 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD3698 */ _t40 = cpu->r[6] + 0x00000014u;
|
|
/* 02BD3698 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD369C */ cpu->ctr = cpu->r[7];
|
|
/* 02BD36A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD36A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD36A8 */ _t41 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD36A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD36AC */ _t42 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD36AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD36B0 */ _t43 = cpu->r[8] + 0x0000004Cu;
|
|
/* 02BD36B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD36B4 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD36B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD36BC: ; // 0x2bd36bc
|
|
/* 02BD36BC */ _t44 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD36BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD36C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD36C4 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD36C4 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BD36C4 */ if (_t46) goto L_02BD36E4; else goto L_02BD36C8;
|
|
L_02BD36C8: ; // 0x2bd36c8
|
|
/* 02BD36C8 */ _t47 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD36C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD36CC */ _t48 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD36CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD36D0 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD36D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD36D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD36DC */ _t49 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD36DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD36E0 */ Gambit_fn_02BC0250(cpu);
|
|
L_02BD36E4: ; // 0x2bd36e4
|
|
/* 02BD36E4 */ _t50 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD36E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD36E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD36EC */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD36EC */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BD36EC */ if (_t52) goto L_02BD3718; else goto L_02BD36F0;
|
|
L_02BD36F0: ; // 0x2bd36f0
|
|
/* 02BD36F0 */ _t53 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD36F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BD36F4 */ _t54 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD36F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BD36F8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD36FC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3700 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3704 */ _t55 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD3704 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD3708 */ _t56 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3708 */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BD370C */ _t57 = cpu->r[6] + 0x00000034u;
|
|
/* 02BD370C */ cpu->r[7] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD3710 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD3714 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3718: ; // 0x2bd3718
|
|
/* 02BD3718 */ _t58 = cpu->r[31] + 0x00000024u;
|
|
/* 02BD3718 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BD371C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3720 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3720 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BD3720 */ if (_t60) goto L_02BD3740; else goto L_02BD3724;
|
|
L_02BD3724: ; // 0x2bd3724
|
|
/* 02BD3724 */ _t61 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3724 */ cpu->r[8] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BD3728 */ _t62 = cpu->r[8] + 0x00000014u;
|
|
/* 02BD3728 */ cpu->r[9] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BD372C */ cpu->ctr = cpu->r[9];
|
|
/* 02BD3730 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3734 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3738 */ _t63 = cpu->r[31] + 0x00000024u;
|
|
/* 02BD3738 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BD373C */ Gambit_fn_02BE5AC0(cpu);
|
|
L_02BD3740: ; // 0x2bd3740
|
|
/* 02BD3740 */ _t64 = cpu->r[31] + 0x00000028u;
|
|
/* 02BD3740 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BD3744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3748 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3748 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02BD3748 */ if (_t66) goto L_02BD3774; else goto L_02BD374C;
|
|
L_02BD374C: ; // 0x2bd374c
|
|
/* 02BD374C */ _t67 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD374C */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BD3750 */ _t68 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD3750 */ cpu->r[6] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BD3754 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD3758 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD375C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3760 */ _t69 = cpu->r[31] + 0x00000028u;
|
|
/* 02BD3760 */ cpu->r[3] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BD3764 */ _t70 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3764 */ cpu->r[8] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BD3768 */ _t71 = cpu->r[8] + 0x0000006Cu;
|
|
/* 02BD3768 */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BD376C */ cpu->ctr = cpu->r[9];
|
|
/* 02BD3770 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3774: ; // 0x2bd3774
|
|
/* 02BD3774 */ _t72 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BD3774 */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BD3778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD377C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD377C */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BD377C */ if (_t74) goto L_02BD379C; else goto L_02BD3780;
|
|
L_02BD3780: ; // 0x2bd3780
|
|
/* 02BD3780 */ _t75 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3780 */ cpu->r[10] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BD3784 */ _t76 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD3784 */ cpu->r[11] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BD3788 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD378C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3790 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3794 */ _t77 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BD3794 */ cpu->r[3] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BD3798 */ Gambit_fn_02BE2960(cpu);
|
|
L_02BD379C: ; // 0x2bd379c
|
|
/* 02BD379C */ _t78 = cpu->r[31] + 0x00000030u;
|
|
/* 02BD379C */ cpu->r[3] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BD37A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD37A4 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD37A4 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BD37A4 */ if (_t80) goto L_02BD37D0; else goto L_02BD37A8;
|
|
L_02BD37A8: ; // 0x2bd37a8
|
|
/* 02BD37A8 */ _t81 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD37A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BD37AC */ _t82 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD37AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BD37B0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD37B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD37B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD37BC */ _t83 = cpu->r[31] + 0x00000030u;
|
|
/* 02BD37BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BD37C0 */ _t84 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD37C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BD37C4 */ _t85 = cpu->r[6] + 0x0000006Cu;
|
|
/* 02BD37C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BD37C8 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD37CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD37D0: ; // 0x2bd37d0
|
|
/* 02BD37D0 */ _t86 = cpu->r[31] + 0x00000034u;
|
|
/* 02BD37D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BD37D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD37D8 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD37D8 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02BD37D8 */ if (_t88) goto L_02BD3804; else goto L_02BD37DC;
|
|
L_02BD37DC: ; // 0x2bd37dc
|
|
/* 02BD37DC */ _t89 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD37DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BD37E0 */ _t90 = cpu->r[8] + 0x00000014u;
|
|
/* 02BD37E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BD37E4 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD37E8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD37EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD37F0 */ _t91 = cpu->r[31] + 0x00000034u;
|
|
/* 02BD37F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BD37F4 */ _t92 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD37F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BD37F8 */ _t93 = cpu->r[10] + 0x00000034u;
|
|
/* 02BD37F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BD37FC */ cpu->ctr = cpu->r[0];
|
|
/* 02BD3800 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3804: ; // 0x2bd3804
|
|
/* 02BD3804 */ _t94 = cpu->r[31] + 0x00000038u;
|
|
/* 02BD3804 */ cpu->r[3] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BD3808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD380C */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD380C */ _t96 = _t95 & 0x00000001u;
|
|
/* 02BD380C */ if (_t96) goto L_02BD3838; else goto L_02BD3810;
|
|
L_02BD3810: ; // 0x2bd3810
|
|
/* 02BD3810 */ _t97 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3810 */ cpu->r[12] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02BD3814 */ _t98 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD3814 */ cpu->r[6] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02BD3818 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD381C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3820 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3824 */ _t99 = cpu->r[31] + 0x00000038u;
|
|
/* 02BD3824 */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BD3828 */ _t100 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3828 */ cpu->r[7] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BD382C */ _t101 = cpu->r[7] + 0x00000034u;
|
|
/* 02BD382C */ cpu->r[8] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BD3830 */ cpu->ctr = cpu->r[8];
|
|
/* 02BD3834 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3838: ; // 0x2bd3838
|
|
/* 02BD3838 */ _t102 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BD3838 */ cpu->r[3] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BD383C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3840 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3840 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02BD3840 */ if (_t104) goto L_02BD386C; else goto L_02BD3844;
|
|
L_02BD3844: ; // 0x2bd3844
|
|
/* 02BD3844 */ _t105 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3844 */ cpu->r[9] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02BD3848 */ _t106 = cpu->r[9] + 0x00000014u;
|
|
/* 02BD3848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02BD384C */ cpu->ctr = cpu->r[0];
|
|
/* 02BD3850 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3854 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3858 */ _t107 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BD3858 */ cpu->r[3] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BD385C */ _t108 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD385C */ cpu->r[11] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02BD3860 */ _t109 = cpu->r[11] + 0x00000034u;
|
|
/* 02BD3860 */ cpu->r[6] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BD3864 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD3868 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD386C: ; // 0x2bd386c
|
|
/* 02BD386C */ _t110 = cpu->r[31] + 0x00000050u;
|
|
/* 02BD386C */ cpu->r[3] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02BD3870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3874 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3874 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02BD3874 */ if (_t112) goto L_02BD38A0; else goto L_02BD3878;
|
|
L_02BD3878: ; // 0x2bd3878
|
|
/* 02BD3878 */ _t113 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3878 */ cpu->r[8] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02BD387C */ _t114 = cpu->r[8] + 0x00000014u;
|
|
/* 02BD387C */ cpu->r[9] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02BD3880 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD3884 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3888 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD388C */ _t115 = cpu->r[31] + 0x00000050u;
|
|
/* 02BD388C */ cpu->r[3] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02BD3890 */ _t116 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3890 */ cpu->r[10] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02BD3894 */ _t117 = cpu->r[10] + 0x00000034u;
|
|
/* 02BD3894 */ cpu->r[11] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BD3898 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD389C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD38A0: ; // 0x2bd38a0
|
|
/* 02BD38A0 */ _t118 = cpu->r[31] + 0x00000054u;
|
|
/* 02BD38A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02BD38A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD38A8 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD38A8 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02BD38A8 */ if (_t120) goto L_02BD38D4; else goto L_02BD38AC;
|
|
L_02BD38AC: ; // 0x2bd38ac
|
|
/* 02BD38AC */ _t121 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD38AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02BD38B0 */ _t122 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD38B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02BD38B4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD38B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD38BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD38C0 */ _t123 = cpu->r[31] + 0x00000054u;
|
|
/* 02BD38C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BD38C4 */ _t124 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD38C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02BD38C8 */ _t125 = cpu->r[6] + 0x00000034u;
|
|
/* 02BD38C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02BD38CC */ cpu->ctr = cpu->r[7];
|
|
/* 02BD38D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD38D4: ; // 0x2bd38d4
|
|
/* 02BD38D4 */ _t126 = cpu->r[31] + 0x00000044u;
|
|
/* 02BD38D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02BD38D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD38DC */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD38DC */ _t128 = _t127 & 0x00000001u;
|
|
/* 02BD38DC */ if (_t128) goto L_02BD38FC; else goto L_02BD38E0;
|
|
L_02BD38E0: ; // 0x2bd38e0
|
|
/* 02BD38E0 */ _t129 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD38E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02BD38E4 */ _t130 = cpu->r[8] + 0x00000014u;
|
|
/* 02BD38E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02BD38E8 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD38EC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD38F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD38F4 */ _t131 = cpu->r[31] + 0x00000044u;
|
|
/* 02BD38F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02BD38F8 */ Gambit_fn_02BC16EC(cpu);
|
|
L_02BD38FC: ; // 0x2bd38fc
|
|
/* 02BD38FC */ _t132 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD38FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02BD3900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3904 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3904 */ _t134 = _t133 & 0x00000001u;
|
|
/* 02BD3904 */ if (_t134) goto L_02BD3924; else goto L_02BD3908;
|
|
L_02BD3908: ; // 0x2bd3908
|
|
/* 02BD3908 */ _t135 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3908 */ cpu->r[10] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02BD390C */ _t136 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD390C */ cpu->r[11] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02BD3910 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD3914 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD391C */ _t137 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD391C */ cpu->r[3] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02BD3920 */ Gambit_fn_02BBD860(cpu);
|
|
L_02BD3924: ; // 0x2bd3924
|
|
/* 02BD3924 */ _t138 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD3924 */ cpu->r[3] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02BD3928 */ _t139 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD3928 */ cpu->r[12] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BD392C */ _t140 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BD392C */ cpu->r[0] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02BD3930 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD3934 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3938 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BD393C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3940 */ Gambit_fn_02BD3350(cpu);
|
|
/* 02BD3944 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD3948 */ _t141 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BD3948 */ cpu->r[3] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02BD394C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3950 */ _t142 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3950 */ rbrew_write32(cpu->mem, _t142, cpu->r[30]);
|
|
/* 02BD3954 */ Gambit_fn_02BEDB60(cpu);
|
|
/* 02BD3958 */ _t143 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD3958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02BD395C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3960 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3960 */ _t145 = _t144 & 0x00000001u;
|
|
/* 02BD3960 */ if (_t145) goto L_02BD3980; else goto L_02BD3964;
|
|
L_02BD3964: ; // 0x2bd3964
|
|
/* 02BD3964 */ _t146 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3964 */ cpu->r[6] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02BD3968 */ _t147 = cpu->r[6] + 0x00000014u;
|
|
/* 02BD3968 */ cpu->r[7] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02BD396C */ cpu->ctr = cpu->r[7];
|
|
/* 02BD3970 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3974 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3978 */ _t148 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD3978 */ cpu->r[3] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02BD397C */ Gambit_fn_02BDA7C4(cpu);
|
|
L_02BD3980: ; // 0x2bd3980
|
|
/* 02BD3980 */ cpu->r[7] = 0x10200000u;
|
|
/* 02BD3984 */ _t149 = cpu->r[7] + 0x000027A4u;
|
|
/* 02BD3984 */ cpu->r[8] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02BD3984 */ cpu->r[7] = _t149;
|
|
/* 02BD3988 */ _t150 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD3988 */ rbrew_write32(cpu->mem, _t150, cpu->r[8]);
|
|
/* 02BD398C */ _t151 = cpu->r[7] + 0x00000004u;
|
|
/* 02BD398C */ cpu->r[9] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02BD3990 */ _t152 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD3990 */ rbrew_write32(cpu->mem, _t152, cpu->r[9]);
|
|
/* 02BD3994 */ _t153 = cpu->r[7] + 0x00000000u;
|
|
/* 02BD3994 */ cpu->r[10] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02BD3998 */ _t154 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD3998 */ rbrew_write32(cpu->mem, _t154, cpu->r[10]);
|
|
/* 02BD399C */ _t155 = cpu->r[7] + 0x00000004u;
|
|
/* 02BD399C */ cpu->r[11] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02BD39A0 */ _t156 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD39A0 */ rbrew_write32(cpu->mem, _t156, cpu->r[11]);
|
|
/* 02BD39A4 */ _t157 = cpu->r[7] + 0x00000000u;
|
|
/* 02BD39A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02BD39A8 */ _t158 = cpu->r[31] + 0x00000090u;
|
|
/* 02BD39A8 */ rbrew_write32(cpu->mem, _t158, cpu->r[12]);
|
|
/* 02BD39AC */ _t159 = cpu->r[7] + 0x00000004u;
|
|
/* 02BD39AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02BD39B0 */ _t160 = cpu->r[31] + 0x00000074u;
|
|
/* 02BD39B0 */ rbrew_write32(cpu->mem, _t160, cpu->r[30]);
|
|
/* 02BD39B4 */ cpu->r[3] = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BD39B8 */ _t161 = cpu->r[31] + 0x00000094u;
|
|
/* 02BD39B8 */ rbrew_write32(cpu->mem, _t161, cpu->r[0]);
|
|
/* 02BD39BC */ Gambit_fn_02B67784(cpu);
|
|
/* 02BD39C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD39C4 */ _t162 = cpu->r[31] + 0x000000B0u;
|
|
/* 02BD39C4 */ rbrew_write32(cpu->mem, _t162, cpu->r[30]);
|
|
/* 02BD39C8 */ Gambit_fn_02BD3594(cpu);
|
|
/* 02BD39CC */ cpu->r[11] = cpu->r[31] + 0x0000012Cu;
|
|
/* 02BD39D0 */ cpu->r[10] = 0x00000004u;
|
|
/* 02BD39D4 */ _t163 = cpu->r[31] + 0x000000BCu;
|
|
/* 02BD39D4 */ rbrew_write8(cpu->mem, _t163, (uint8_t)cpu->r[30]);
|
|
/* 02BD39D8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD39DC */ cpu->ctr = cpu->r[10];
|
|
/* 02BD39E0 */ _t164 = cpu->r[31] + 0x000000BDu;
|
|
/* 02BD39E0 */ rbrew_write8(cpu->mem, _t164, (uint8_t)cpu->r[30]);
|
|
L_02BD39E4: ; // 0x2bd39e4
|
|
/* 02BD39E4 */ _t165 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD39E4 */ rbrew_write32(cpu->mem, _t165, cpu->r[0]);
|
|
/* 02BD39E4 */ cpu->r[11] = _t165;
|
|
/* 02BD39E8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD39E8 */ _t166 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD39E8 */ _t167 = _t166 >> (0x00000002u & 31u);
|
|
/* 02BD39E8 */ _t168 = _t167 & 0x00000001u;
|
|
/* 02BD39E8 */ if (_t168) goto L_02BD39E4; else goto L_02BD39EC;
|
|
L_02BD39EC: ; // 0x2bd39ec
|
|
/* 02BD39EC */ _t169 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD39EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02BD39F0 */ _t170 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD39F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02BD39F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD39F8 */ _t171 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD39F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02BD39FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD3A00 */ return;
|
|
}
|
|
|
|
// fn_02BD35A4 @ 0x2bd35a4
|
|
void Gambit_fn_02BD35A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BD35A4: ; // 0x2bd35a4
|
|
/* 02BD35A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD35A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD35A4 */ cpu->r[1] = _t0;
|
|
/* 02BD35A8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD35A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD35AC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD35AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD35B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD35B4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD35B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD35B8 */ _t4 = cpu->r[31] + 0x000000C4u;
|
|
/* 02BD35B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD35BC */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD35BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD35C0 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD35C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD35C4 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD35C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD35CC */ _t7 = cpu->r[31] + 0x000000C8u;
|
|
/* 02BD35CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD35D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD35D4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD35D4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD35D4 */ if (_t9) goto L_02BD35E8; else goto L_02BD35D8;
|
|
L_02BD35D8: ; // 0x2bd35d8
|
|
/* 02BD35D8 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD35D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD35DC */ _t11 = cpu->r[8] + 0x00000014u;
|
|
/* 02BD35DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD35E0 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD35E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD35E8: ; // 0x2bd35e8
|
|
/* 02BD35E8 */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BD35E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD35EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD35F0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD35F4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD35F4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD35F4 */ if (_t14) goto L_02BD3620; else goto L_02BD35F8;
|
|
L_02BD35F8: ; // 0x2bd35f8
|
|
/* 02BD35F8 */ _t15 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD35F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD35FC */ _t16 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD35FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD3600 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD3604 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3608 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD360C */ _t17 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BD360C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD3610 */ _t18 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3610 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD3614 */ _t19 = cpu->r[12] + 0x00000034u;
|
|
/* 02BD3614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD3618 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD361C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3620: ; // 0x2bd3620
|
|
/* 02BD3620 */ _t20 = cpu->r[31] + 0x00000010u;
|
|
/* 02BD3620 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD3624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3628 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3628 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD3628 */ if (_t22) goto L_02BD3654; else goto L_02BD362C;
|
|
L_02BD362C: ; // 0x2bd362c
|
|
/* 02BD362C */ _t23 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD362C */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD3630 */ _t24 = cpu->r[6] + 0x00000014u;
|
|
/* 02BD3630 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD3634 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD3638 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD363C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3640 */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 02BD3640 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD3644 */ _t26 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3644 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD3648 */ _t27 = cpu->r[8] + 0x00000034u;
|
|
/* 02BD3648 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD364C */ cpu->ctr = cpu->r[9];
|
|
/* 02BD3650 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3654: ; // 0x2bd3654
|
|
/* 02BD3654 */ _t28 = cpu->r[31] + 0x00000014u;
|
|
/* 02BD3654 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD3658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD365C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD365C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BD365C */ if (_t30) goto L_02BD3688; else goto L_02BD3660;
|
|
L_02BD3660: ; // 0x2bd3660
|
|
/* 02BD3660 */ _t31 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3660 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD3664 */ _t32 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD3664 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD3668 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD366C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3670 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3674 */ _t33 = cpu->r[31] + 0x00000014u;
|
|
/* 02BD3674 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD3678 */ _t34 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3678 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD367C */ _t35 = cpu->r[12] + 0x00000034u;
|
|
/* 02BD367C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD3680 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD3684 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3688: ; // 0x2bd3688
|
|
/* 02BD3688 */ _t36 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD3688 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD368C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3690 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3690 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BD3690 */ if (_t38) goto L_02BD36BC; else goto L_02BD3694;
|
|
L_02BD3694: ; // 0x2bd3694
|
|
/* 02BD3694 */ _t39 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3694 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD3698 */ _t40 = cpu->r[6] + 0x00000014u;
|
|
/* 02BD3698 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD369C */ cpu->ctr = cpu->r[7];
|
|
/* 02BD36A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD36A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD36A8 */ _t41 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD36A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD36AC */ _t42 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD36AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD36B0 */ _t43 = cpu->r[8] + 0x0000004Cu;
|
|
/* 02BD36B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD36B4 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD36B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD36BC: ; // 0x2bd36bc
|
|
/* 02BD36BC */ _t44 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD36BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD36C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD36C4 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD36C4 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BD36C4 */ if (_t46) goto L_02BD36E4; else goto L_02BD36C8;
|
|
L_02BD36C8: ; // 0x2bd36c8
|
|
/* 02BD36C8 */ _t47 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD36C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD36CC */ _t48 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD36CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD36D0 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD36D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD36D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD36DC */ _t49 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD36DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD36E0 */ Gambit_fn_02BC0250(cpu);
|
|
L_02BD36E4: ; // 0x2bd36e4
|
|
/* 02BD36E4 */ _t50 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD36E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD36E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD36EC */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD36EC */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BD36EC */ if (_t52) goto L_02BD3718; else goto L_02BD36F0;
|
|
L_02BD36F0: ; // 0x2bd36f0
|
|
/* 02BD36F0 */ _t53 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD36F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BD36F4 */ _t54 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD36F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BD36F8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD36FC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3700 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3704 */ _t55 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD3704 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD3708 */ _t56 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3708 */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BD370C */ _t57 = cpu->r[6] + 0x00000034u;
|
|
/* 02BD370C */ cpu->r[7] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD3710 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD3714 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3718: ; // 0x2bd3718
|
|
/* 02BD3718 */ _t58 = cpu->r[31] + 0x00000024u;
|
|
/* 02BD3718 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BD371C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3720 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3720 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BD3720 */ if (_t60) goto L_02BD3740; else goto L_02BD3724;
|
|
L_02BD3724: ; // 0x2bd3724
|
|
/* 02BD3724 */ _t61 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3724 */ cpu->r[8] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BD3728 */ _t62 = cpu->r[8] + 0x00000014u;
|
|
/* 02BD3728 */ cpu->r[9] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BD372C */ cpu->ctr = cpu->r[9];
|
|
/* 02BD3730 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3734 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3738 */ _t63 = cpu->r[31] + 0x00000024u;
|
|
/* 02BD3738 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BD373C */ Gambit_fn_02BE5AC0(cpu);
|
|
L_02BD3740: ; // 0x2bd3740
|
|
/* 02BD3740 */ _t64 = cpu->r[31] + 0x00000028u;
|
|
/* 02BD3740 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BD3744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3748 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3748 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02BD3748 */ if (_t66) goto L_02BD3774; else goto L_02BD374C;
|
|
L_02BD374C: ; // 0x2bd374c
|
|
/* 02BD374C */ _t67 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD374C */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BD3750 */ _t68 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD3750 */ cpu->r[6] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BD3754 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD3758 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD375C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3760 */ _t69 = cpu->r[31] + 0x00000028u;
|
|
/* 02BD3760 */ cpu->r[3] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BD3764 */ _t70 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3764 */ cpu->r[8] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BD3768 */ _t71 = cpu->r[8] + 0x0000006Cu;
|
|
/* 02BD3768 */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BD376C */ cpu->ctr = cpu->r[9];
|
|
/* 02BD3770 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3774: ; // 0x2bd3774
|
|
/* 02BD3774 */ _t72 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BD3774 */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BD3778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD377C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD377C */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BD377C */ if (_t74) goto L_02BD379C; else goto L_02BD3780;
|
|
L_02BD3780: ; // 0x2bd3780
|
|
/* 02BD3780 */ _t75 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3780 */ cpu->r[10] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BD3784 */ _t76 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD3784 */ cpu->r[11] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BD3788 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD378C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3790 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3794 */ _t77 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BD3794 */ cpu->r[3] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BD3798 */ Gambit_fn_02BE2960(cpu);
|
|
L_02BD379C: ; // 0x2bd379c
|
|
/* 02BD379C */ _t78 = cpu->r[31] + 0x00000030u;
|
|
/* 02BD379C */ cpu->r[3] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BD37A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD37A4 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD37A4 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BD37A4 */ if (_t80) goto L_02BD37D0; else goto L_02BD37A8;
|
|
L_02BD37A8: ; // 0x2bd37a8
|
|
/* 02BD37A8 */ _t81 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD37A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BD37AC */ _t82 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD37AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BD37B0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD37B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD37B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD37BC */ _t83 = cpu->r[31] + 0x00000030u;
|
|
/* 02BD37BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BD37C0 */ _t84 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD37C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BD37C4 */ _t85 = cpu->r[6] + 0x0000006Cu;
|
|
/* 02BD37C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BD37C8 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD37CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD37D0: ; // 0x2bd37d0
|
|
/* 02BD37D0 */ _t86 = cpu->r[31] + 0x00000034u;
|
|
/* 02BD37D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BD37D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD37D8 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD37D8 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02BD37D8 */ if (_t88) goto L_02BD3804; else goto L_02BD37DC;
|
|
L_02BD37DC: ; // 0x2bd37dc
|
|
/* 02BD37DC */ _t89 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD37DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BD37E0 */ _t90 = cpu->r[8] + 0x00000014u;
|
|
/* 02BD37E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BD37E4 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD37E8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD37EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD37F0 */ _t91 = cpu->r[31] + 0x00000034u;
|
|
/* 02BD37F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BD37F4 */ _t92 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD37F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BD37F8 */ _t93 = cpu->r[10] + 0x00000034u;
|
|
/* 02BD37F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BD37FC */ cpu->ctr = cpu->r[0];
|
|
/* 02BD3800 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3804: ; // 0x2bd3804
|
|
/* 02BD3804 */ _t94 = cpu->r[31] + 0x00000038u;
|
|
/* 02BD3804 */ cpu->r[3] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BD3808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD380C */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD380C */ _t96 = _t95 & 0x00000001u;
|
|
/* 02BD380C */ if (_t96) goto L_02BD3838; else goto L_02BD3810;
|
|
L_02BD3810: ; // 0x2bd3810
|
|
/* 02BD3810 */ _t97 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3810 */ cpu->r[12] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02BD3814 */ _t98 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD3814 */ cpu->r[6] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02BD3818 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD381C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3820 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3824 */ _t99 = cpu->r[31] + 0x00000038u;
|
|
/* 02BD3824 */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BD3828 */ _t100 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3828 */ cpu->r[7] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BD382C */ _t101 = cpu->r[7] + 0x00000034u;
|
|
/* 02BD382C */ cpu->r[8] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BD3830 */ cpu->ctr = cpu->r[8];
|
|
/* 02BD3834 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD3838: ; // 0x2bd3838
|
|
/* 02BD3838 */ _t102 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BD3838 */ cpu->r[3] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BD383C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3840 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3840 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02BD3840 */ if (_t104) goto L_02BD386C; else goto L_02BD3844;
|
|
L_02BD3844: ; // 0x2bd3844
|
|
/* 02BD3844 */ _t105 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3844 */ cpu->r[9] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02BD3848 */ _t106 = cpu->r[9] + 0x00000014u;
|
|
/* 02BD3848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02BD384C */ cpu->ctr = cpu->r[0];
|
|
/* 02BD3850 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3854 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3858 */ _t107 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BD3858 */ cpu->r[3] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BD385C */ _t108 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD385C */ cpu->r[11] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02BD3860 */ _t109 = cpu->r[11] + 0x00000034u;
|
|
/* 02BD3860 */ cpu->r[6] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BD3864 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD3868 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD386C: ; // 0x2bd386c
|
|
/* 02BD386C */ _t110 = cpu->r[31] + 0x00000050u;
|
|
/* 02BD386C */ cpu->r[3] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02BD3870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3874 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3874 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02BD3874 */ if (_t112) goto L_02BD38A0; else goto L_02BD3878;
|
|
L_02BD3878: ; // 0x2bd3878
|
|
/* 02BD3878 */ _t113 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3878 */ cpu->r[8] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02BD387C */ _t114 = cpu->r[8] + 0x00000014u;
|
|
/* 02BD387C */ cpu->r[9] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02BD3880 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD3884 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3888 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD388C */ _t115 = cpu->r[31] + 0x00000050u;
|
|
/* 02BD388C */ cpu->r[3] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02BD3890 */ _t116 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3890 */ cpu->r[10] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02BD3894 */ _t117 = cpu->r[10] + 0x00000034u;
|
|
/* 02BD3894 */ cpu->r[11] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BD3898 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD389C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD38A0: ; // 0x2bd38a0
|
|
/* 02BD38A0 */ _t118 = cpu->r[31] + 0x00000054u;
|
|
/* 02BD38A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02BD38A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD38A8 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD38A8 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02BD38A8 */ if (_t120) goto L_02BD38D4; else goto L_02BD38AC;
|
|
L_02BD38AC: ; // 0x2bd38ac
|
|
/* 02BD38AC */ _t121 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD38AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02BD38B0 */ _t122 = cpu->r[12] + 0x00000014u;
|
|
/* 02BD38B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02BD38B4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD38B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD38BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD38C0 */ _t123 = cpu->r[31] + 0x00000054u;
|
|
/* 02BD38C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BD38C4 */ _t124 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD38C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02BD38C8 */ _t125 = cpu->r[6] + 0x00000034u;
|
|
/* 02BD38C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02BD38CC */ cpu->ctr = cpu->r[7];
|
|
/* 02BD38D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD38D4: ; // 0x2bd38d4
|
|
/* 02BD38D4 */ _t126 = cpu->r[31] + 0x00000044u;
|
|
/* 02BD38D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02BD38D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD38DC */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD38DC */ _t128 = _t127 & 0x00000001u;
|
|
/* 02BD38DC */ if (_t128) goto L_02BD38FC; else goto L_02BD38E0;
|
|
L_02BD38E0: ; // 0x2bd38e0
|
|
/* 02BD38E0 */ _t129 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD38E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02BD38E4 */ _t130 = cpu->r[8] + 0x00000014u;
|
|
/* 02BD38E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02BD38E8 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD38EC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD38F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD38F4 */ _t131 = cpu->r[31] + 0x00000044u;
|
|
/* 02BD38F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02BD38F8 */ Gambit_fn_02BC16EC(cpu);
|
|
L_02BD38FC: ; // 0x2bd38fc
|
|
/* 02BD38FC */ _t132 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD38FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02BD3900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3904 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3904 */ _t134 = _t133 & 0x00000001u;
|
|
/* 02BD3904 */ if (_t134) goto L_02BD3924; else goto L_02BD3908;
|
|
L_02BD3908: ; // 0x2bd3908
|
|
/* 02BD3908 */ _t135 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3908 */ cpu->r[10] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02BD390C */ _t136 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD390C */ cpu->r[11] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02BD3910 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD3914 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD391C */ _t137 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD391C */ cpu->r[3] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02BD3920 */ Gambit_fn_02BBD860(cpu);
|
|
L_02BD3924: ; // 0x2bd3924
|
|
/* 02BD3924 */ _t138 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD3924 */ cpu->r[3] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02BD3928 */ _t139 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD3928 */ cpu->r[12] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BD392C */ _t140 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BD392C */ cpu->r[0] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02BD3930 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD3934 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3938 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BD393C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3940 */ Gambit_fn_02BD3350(cpu);
|
|
/* 02BD3944 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD3948 */ _t141 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BD3948 */ cpu->r[3] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02BD394C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3950 */ _t142 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3950 */ rbrew_write32(cpu->mem, _t142, cpu->r[30]);
|
|
/* 02BD3954 */ Gambit_fn_02BEDB60(cpu);
|
|
/* 02BD3958 */ _t143 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD3958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02BD395C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3960 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3960 */ _t145 = _t144 & 0x00000001u;
|
|
/* 02BD3960 */ if (_t145) goto L_02BD3980; else goto L_02BD3964;
|
|
L_02BD3964: ; // 0x2bd3964
|
|
/* 02BD3964 */ _t146 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD3964 */ cpu->r[6] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02BD3968 */ _t147 = cpu->r[6] + 0x00000014u;
|
|
/* 02BD3968 */ cpu->r[7] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02BD396C */ cpu->ctr = cpu->r[7];
|
|
/* 02BD3970 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3974 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD3978 */ _t148 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD3978 */ cpu->r[3] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02BD397C */ Gambit_fn_02BDA7C4(cpu);
|
|
L_02BD3980: ; // 0x2bd3980
|
|
/* 02BD3980 */ cpu->r[7] = 0x10200000u;
|
|
/* 02BD3984 */ _t149 = cpu->r[7] + 0x000027A4u;
|
|
/* 02BD3984 */ cpu->r[8] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02BD3984 */ cpu->r[7] = _t149;
|
|
/* 02BD3988 */ _t150 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD3988 */ rbrew_write32(cpu->mem, _t150, cpu->r[8]);
|
|
/* 02BD398C */ _t151 = cpu->r[7] + 0x00000004u;
|
|
/* 02BD398C */ cpu->r[9] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02BD3990 */ _t152 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD3990 */ rbrew_write32(cpu->mem, _t152, cpu->r[9]);
|
|
/* 02BD3994 */ _t153 = cpu->r[7] + 0x00000000u;
|
|
/* 02BD3994 */ cpu->r[10] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02BD3998 */ _t154 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD3998 */ rbrew_write32(cpu->mem, _t154, cpu->r[10]);
|
|
/* 02BD399C */ _t155 = cpu->r[7] + 0x00000004u;
|
|
/* 02BD399C */ cpu->r[11] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02BD39A0 */ _t156 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD39A0 */ rbrew_write32(cpu->mem, _t156, cpu->r[11]);
|
|
/* 02BD39A4 */ _t157 = cpu->r[7] + 0x00000000u;
|
|
/* 02BD39A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02BD39A8 */ _t158 = cpu->r[31] + 0x00000090u;
|
|
/* 02BD39A8 */ rbrew_write32(cpu->mem, _t158, cpu->r[12]);
|
|
/* 02BD39AC */ _t159 = cpu->r[7] + 0x00000004u;
|
|
/* 02BD39AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02BD39B0 */ _t160 = cpu->r[31] + 0x00000074u;
|
|
/* 02BD39B0 */ rbrew_write32(cpu->mem, _t160, cpu->r[30]);
|
|
/* 02BD39B4 */ cpu->r[3] = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BD39B8 */ _t161 = cpu->r[31] + 0x00000094u;
|
|
/* 02BD39B8 */ rbrew_write32(cpu->mem, _t161, cpu->r[0]);
|
|
/* 02BD39BC */ Gambit_fn_02B67784(cpu);
|
|
/* 02BD39C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD39C4 */ _t162 = cpu->r[31] + 0x000000B0u;
|
|
/* 02BD39C4 */ rbrew_write32(cpu->mem, _t162, cpu->r[30]);
|
|
/* 02BD39C8 */ Gambit_fn_02BD3594(cpu);
|
|
/* 02BD39CC */ cpu->r[11] = cpu->r[31] + 0x0000012Cu;
|
|
/* 02BD39D0 */ cpu->r[10] = 0x00000004u;
|
|
/* 02BD39D4 */ _t163 = cpu->r[31] + 0x000000BCu;
|
|
/* 02BD39D4 */ rbrew_write8(cpu->mem, _t163, (uint8_t)cpu->r[30]);
|
|
/* 02BD39D8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD39DC */ cpu->ctr = cpu->r[10];
|
|
/* 02BD39E0 */ _t164 = cpu->r[31] + 0x000000BDu;
|
|
/* 02BD39E0 */ rbrew_write8(cpu->mem, _t164, (uint8_t)cpu->r[30]);
|
|
L_02BD39E4: ; // 0x2bd39e4
|
|
/* 02BD39E4 */ _t165 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD39E4 */ rbrew_write32(cpu->mem, _t165, cpu->r[0]);
|
|
/* 02BD39E4 */ cpu->r[11] = _t165;
|
|
/* 02BD39E8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD39E8 */ _t166 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD39E8 */ _t167 = _t166 >> (0x00000002u & 31u);
|
|
/* 02BD39E8 */ _t168 = _t167 & 0x00000001u;
|
|
/* 02BD39E8 */ if (_t168) goto L_02BD39E4; else goto L_02BD39EC;
|
|
L_02BD39EC: ; // 0x2bd39ec
|
|
/* 02BD39EC */ _t169 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD39EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02BD39F0 */ _t170 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD39F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02BD39F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD39F8 */ _t171 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD39F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02BD39FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD3A00 */ return;
|
|
}
|
|
|
|
// fn_02BD3A04 @ 0x2bd3a04
|
|
void Gambit_fn_02BD3A04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BD3A04: ; // 0x2bd3a04
|
|
/* 02BD3A04 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD3A08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD3A08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3A08 */ cpu->r[1] = _t0;
|
|
/* 02BD3A0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3A0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD3A10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD3A14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3A14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD3A18 */ _t3 = cpu->r[31] + 0x000000B0u;
|
|
/* 02BD3A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD3A20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3A20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3A20 */ if (_t5) goto L_02BD3A40; else goto L_02BD3A24;
|
|
L_02BD3A24: ; // 0x2bd3a24
|
|
/* 02BD3A24 */ _t6 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BD3A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD3A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD3A2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3A2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD3A2C */ if (_t8) goto L_02BD3A40; else goto L_02BD3A30;
|
|
L_02BD3A30: ; // 0x2bd3a30
|
|
/* 02BD3A30 */ cpu->r[3] = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BD3A34 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BD3A38 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD3A3C */ _t9 = cpu->r[31] + 0x000000B0u;
|
|
/* 02BD3A3C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02BD3A40: ; // 0x2bd3a40
|
|
/* 02BD3A40 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD3A44 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3A44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD3A48 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3A4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3A50 */ return;
|
|
}
|
|
|
|
// fn_02BD3A08 @ 0x2bd3a08
|
|
void Gambit_fn_02BD3A08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BD3A08: ; // 0x2bd3a08
|
|
/* 02BD3A08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD3A08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3A08 */ cpu->r[1] = _t0;
|
|
/* 02BD3A0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3A0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD3A10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD3A14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3A14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD3A18 */ _t3 = cpu->r[31] + 0x000000B0u;
|
|
/* 02BD3A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD3A20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3A20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3A20 */ if (_t5) goto L_02BD3A40; else goto L_02BD3A24;
|
|
L_02BD3A24: ; // 0x2bd3a24
|
|
/* 02BD3A24 */ _t6 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BD3A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD3A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD3A2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3A2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD3A2C */ if (_t8) goto L_02BD3A40; else goto L_02BD3A30;
|
|
L_02BD3A30: ; // 0x2bd3a30
|
|
/* 02BD3A30 */ cpu->r[3] = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BD3A34 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BD3A38 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD3A3C */ _t9 = cpu->r[31] + 0x000000B0u;
|
|
/* 02BD3A3C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02BD3A40: ; // 0x2bd3a40
|
|
/* 02BD3A40 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD3A44 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3A44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD3A48 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3A4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3A50 */ return;
|
|
}
|
|
|
|
// fn_02BD3A54 @ 0x2bd3a54
|
|
void Gambit_fn_02BD3A54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02BD3A54: ; // 0x2bd3a54
|
|
/* 02BD3A54 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BD3A54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3A54 */ cpu->r[1] = _t0;
|
|
/* 02BD3A58 */ /* nop */
|
|
/* 02BD3A5C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD3A60 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD3A60 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD3A64 */ cpu->r[29] = cpu->r[5];
|
|
/* 02BD3A68 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BD3A6C */ _t2 = cpu->r[27] + 0x00000010u;
|
|
/* 02BD3A6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD3A70 */ cpu->r[28] = cpu->r[4];
|
|
/* 02BD3A74 */ cpu->r[30] = cpu->r[6];
|
|
/* 02BD3A78 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD3A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD3A80 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD3A84 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3A84 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD3A84 */ if (_t4) goto L_02BD3A88; else goto L_02BD3AAC;
|
|
L_02BD3A88: ; // 0x2bd3a88
|
|
/* 02BD3A88 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3A8C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3A90 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3A94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3A98 */ /* nop */
|
|
/* 02BD3A9C */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD3A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD3AA0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3AA4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD3AA8 */ return;
|
|
L_02BD3AAC: ; // 0x2bd3aac
|
|
/* 02BD3AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BD3AB0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3AB0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD3AB0 */ if (_t7) goto L_02BD3AC4; else goto L_02BD3AB4;
|
|
L_02BD3AB4: ; // 0x2bd3ab4
|
|
/* 02BD3AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD3AB8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3AB8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD3AB8 */ if (_t9) goto L_02BD3AC4; else goto L_02BD3ABC;
|
|
L_02BD3ABC: ; // 0x2bd3abc
|
|
/* 02BD3ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD3AC0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3AC0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD3AC0 */ if (_t11) goto L_02BD3AC4; else goto L_02BD3AE8;
|
|
L_02BD3AC4: ; // 0x2bd3ac4
|
|
/* 02BD3AC4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3AC8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3ACC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3AD0 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD3AD4 */ /* nop */
|
|
/* 02BD3AD8 */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD3AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD3ADC */ cpu->lr = cpu->r[0];
|
|
/* 02BD3AE0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD3AE4 */ return;
|
|
L_02BD3AE8: ; // 0x2bd3ae8
|
|
/* 02BD3AE8 */ _t13 = cpu->r[27] + 0x0000009Cu;
|
|
/* 02BD3AE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD3AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD3AF0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3AF0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD3AF0 */ if (_t15) goto L_02BD3AF4; else goto L_02BD3B18;
|
|
L_02BD3AF4: ; // 0x2bd3af4
|
|
/* 02BD3AF4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3AF8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3AFC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3B00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3B04 */ /* nop */
|
|
/* 02BD3B08 */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD3B08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD3B0C */ cpu->lr = cpu->r[0];
|
|
/* 02BD3B10 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD3B14 */ return;
|
|
L_02BD3B18: ; // 0x2bd3b18
|
|
/* 02BD3B18 */ _t17 = cpu->r[27] + 0x00000074u;
|
|
/* 02BD3B18 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD3B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02BD3B20 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3B20 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD3B20 */ if (_t19) goto L_02BD3B48; else goto L_02BD3B24;
|
|
L_02BD3B24: ; // 0x2bd3b24
|
|
/* 02BD3B24 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3B28 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3B2C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3B34 */ /* nop */
|
|
/* 02BD3B38 */ _t20 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD3B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD3B3C */ cpu->lr = cpu->r[0];
|
|
/* 02BD3B40 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD3B44 */ return;
|
|
L_02BD3B48: ; // 0x2bd3b48
|
|
/* 02BD3B48 */ _t21 = cpu->r[27] + 0x00000078u;
|
|
/* 02BD3B48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD3B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD3B50 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3B50 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD3B50 */ if (_t23) goto L_02BD3B78; else goto L_02BD3B54;
|
|
L_02BD3B54: ; // 0x2bd3b54
|
|
/* 02BD3B54 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD3B58 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3B5C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3B60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3B64 */ /* nop */
|
|
/* 02BD3B68 */ _t24 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD3B68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD3B6C */ cpu->lr = cpu->r[0];
|
|
/* 02BD3B70 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD3B74 */ return;
|
|
L_02BD3B78: ; // 0x2bd3b78
|
|
/* 02BD3B78 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD3B7C */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD3B80 */ _t25 = cpu->r[27] + 0x00000010u;
|
|
/* 02BD3B80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD3B84 */ cpu->r[7] = cpu->r[30];
|
|
/* 02BD3B88 */ cpu->r[6] = cpu->r[29];
|
|
/* 02BD3B8C */ cpu->r[5] = cpu->r[28];
|
|
/* 02BD3B90 */ cpu->r[4] = cpu->r[27] + 0x0000009Cu;
|
|
/* 02BD3B94 */ Gambit_fn_02BB5C9C(cpu);
|
|
/* 02BD3B98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD3B9C */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD3B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD3BA0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BA0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD3BA0 */ if (_t27) goto L_02BD3BA4; else goto L_02BD3BB8;
|
|
L_02BD3BA4: ; // 0x2bd3ba4
|
|
/* 02BD3BA4 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BD3BA8 */ _t28 = cpu->r[27] + 0x00000010u;
|
|
/* 02BD3BA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD3BAC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3BB0 */ _t29 = cpu->r[27] + 0x000000B0u;
|
|
/* 02BD3BB0 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 02BD3BB4 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BD3BB8: ; // 0x2bd3bb8
|
|
/* 02BD3BB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3BBC */ /* nop */
|
|
/* 02BD3BC0 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD3BC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD3BC4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3BC8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD3BCC */ return;
|
|
}
|
|
|
|
// fn_02BD3C04 @ 0x2bd3c04
|
|
void Gambit_fn_02BD3C04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD3C04: ; // 0x2bd3c04
|
|
/* 02BD3C04 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BD3C08 */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD3C0C @ 0x2bd3c0c
|
|
void Gambit_fn_02BD3C0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BD3C0C: ; // 0x2bd3c0c
|
|
/* 02BD3C0C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD3C10 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD3C10 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD3C14 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD3C14 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD3C14 */ cpu->r[1] = _t1;
|
|
/* 02BD3C18 */ _t2 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3C18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD3C1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[4]);
|
|
/* 02BD3C20 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3C20 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD3C20 */ if (_t4) goto L_02BD3C24; else goto L_02BD3C48;
|
|
L_02BD3C24: ; // 0x2bd3c24
|
|
/* 02BD3C24 */ _t5 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3C24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD3C28 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3C2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BD3C30 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3C30 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD3C30 */ if (_t7) goto L_02BD3C48; else goto L_02BD3C34;
|
|
L_02BD3C34: ; // 0x2bd3c34
|
|
/* 02BD3C34 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3C34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD3C38 */ _t9 = cpu->r[3] + 0x000000A0u;
|
|
/* 02BD3C38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD3C3C */ cpu->lr = cpu->r[0];
|
|
/* 02BD3C40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3C44 */ return;
|
|
L_02BD3C48: ; // 0x2bd3c48
|
|
/* 02BD3C48 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3C4C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3C50 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3C54 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BD3C58 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BD3C5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3C5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD3C60 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3C64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3C68 */ return;
|
|
}
|
|
|
|
// fn_02BD3C14 @ 0x2bd3c14
|
|
void Gambit_fn_02BD3C14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BD3C14: ; // 0x2bd3c14
|
|
/* 02BD3C14 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD3C14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3C14 */ cpu->r[1] = _t0;
|
|
/* 02BD3C18 */ _t1 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3C18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD3C1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[4]);
|
|
/* 02BD3C20 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3C20 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD3C20 */ if (_t3) goto L_02BD3C24; else goto L_02BD3C48;
|
|
L_02BD3C24: ; // 0x2bd3c24
|
|
/* 02BD3C24 */ _t4 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3C24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD3C28 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3C2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BD3C30 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3C30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD3C30 */ if (_t6) goto L_02BD3C48; else goto L_02BD3C34;
|
|
L_02BD3C34: ; // 0x2bd3c34
|
|
/* 02BD3C34 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3C34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD3C38 */ _t8 = cpu->r[3] + 0x000000A0u;
|
|
/* 02BD3C38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD3C3C */ cpu->lr = cpu->r[0];
|
|
/* 02BD3C40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3C44 */ return;
|
|
L_02BD3C48: ; // 0x2bd3c48
|
|
/* 02BD3C48 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3C4C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3C50 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3C54 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BD3C58 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BD3C5C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3C5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD3C60 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3C64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3C68 */ return;
|
|
}
|
|
|
|
// fn_02BD3C6C @ 0x2bd3c6c
|
|
void Gambit_fn_02BD3C6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD3C6C: ; // 0x2bd3c6c
|
|
/* 02BD3C6C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD3C70 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD3C70 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD3C74 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BD3C78 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD3C78 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD3C78 */ cpu->r[1] = _t1;
|
|
/* 02BD3C7C */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD3C80 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD3C84 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3C88 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3C8C */ return;
|
|
}
|
|
|
|
// fn_02BD3C78 @ 0x2bd3c78
|
|
void Gambit_fn_02BD3C78(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD3C78: ; // 0x2bd3c78
|
|
/* 02BD3C78 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD3C78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3C78 */ cpu->r[1] = _t0;
|
|
/* 02BD3C7C */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD3C80 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD3C84 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3C88 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3C8C */ return;
|
|
}
|
|
|
|
// fn_02BD3C90 @ 0x2bd3c90
|
|
void Gambit_fn_02BD3C90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD3C90: ; // 0x2bd3c90
|
|
/* 02BD3C90 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD3C94 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BD3C94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3C94 */ cpu->r[1] = _t0;
|
|
/* 02BD3C98 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3C98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD3C9C */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD3CA0 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3CA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD3CA4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BD3CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD3CA8 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD3CAC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3CAC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD3CB0 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3CB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD3CB4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD3CB8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3CB8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD3CB8 */ if (_t6) goto L_02BD3CBC; else goto L_02BD3CE8;
|
|
L_02BD3CBC: ; // 0x2bd3cbc
|
|
/* 02BD3CBC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3CC0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3CC4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3CC8 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3CC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD3CCC */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD3CD0 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD3CD4 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3CD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD3CD8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3CDC */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3CDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD3CE0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3CE4 */ return;
|
|
L_02BD3CE8: ; // 0x2bd3ce8
|
|
/* 02BD3CE8 */ _t11 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BD3CE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD3CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02BD3CF0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3CF0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD3CF0 */ if (_t13) goto L_02BD3CF4; else goto L_02BD3D20;
|
|
L_02BD3CF4: ; // 0x2bd3cf4
|
|
/* 02BD3CF4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3CF8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3CFC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3D00 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3D00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD3D04 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3D04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD3D08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3D0C */ _t16 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3D0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD3D10 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3D14 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3D14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD3D18 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3D1C */ return;
|
|
L_02BD3D20: ; // 0x2bd3d20
|
|
/* 02BD3D20 */ _t18 = cpu->r[29] + 0x00000074u;
|
|
/* 02BD3D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD3D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD3D28 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3D28 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD3D28 */ if (_t20) goto L_02BD3D58; else goto L_02BD3D2C;
|
|
L_02BD3D2C: ; // 0x2bd3d2c
|
|
/* 02BD3D2C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3D30 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3D34 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3D38 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3D38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD3D3C */ _t22 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD3D40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3D44 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3D44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD3D48 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3D4C */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3D4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD3D50 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3D54 */ return;
|
|
L_02BD3D58: ; // 0x2bd3d58
|
|
/* 02BD3D58 */ _t25 = cpu->r[29] + 0x00000078u;
|
|
/* 02BD3D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD3D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD3D60 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3D60 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD3D60 */ if (_t27) goto L_02BD3D90; else goto L_02BD3D64;
|
|
L_02BD3D64: ; // 0x2bd3d64
|
|
/* 02BD3D64 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3D68 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3D6C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3D70 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3D70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD3D74 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3D74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD3D78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3D7C */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3D7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD3D80 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3D84 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3D84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD3D88 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3D8C */ return;
|
|
L_02BD3D90: ; // 0x2bd3d90
|
|
/* 02BD3D90 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD3D94 */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD3D98 */ _t32 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BD3D98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD3D9C */ cpu->r[4] = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BD3DA0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD3DA4 */ Gambit_fn_02BB7E58(cpu);
|
|
/* 02BD3DA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD3DAC */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD3DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD3DB0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3DB0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD3DB0 */ if (_t34) goto L_02BD3DB4; else goto L_02BD3DE8;
|
|
L_02BD3DB4: ; // 0x2bd3db4
|
|
/* 02BD3DB4 */ _t35 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BD3DB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD3DB8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3DBC */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD3DC0 */ _t36 = cpu->r[29] + 0x00000044u;
|
|
/* 02BD3DC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD3DC4 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BD3DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3DCC */ _t37 = cpu->r[29] + 0x000000B0u;
|
|
/* 02BD3DCC */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02BD3DD0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3DD0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD3DD0 */ if (_t39) goto L_02BD3DD8; else goto L_02BD3DD4;
|
|
L_02BD3DD4: ; // 0x2bd3dd4
|
|
/* 02BD3DD4 */ Gambit_fn_02BC17E0(cpu);
|
|
L_02BD3DD8: ; // 0x2bd3dd8
|
|
/* 02BD3DD8 */ _t40 = cpu->r[29] + 0x00000048u;
|
|
/* 02BD3DD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD3DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3DE0 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3DE0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BD3DE0 */ if (_t42) goto L_02BD3DE8; else goto L_02BD3DE4;
|
|
L_02BD3DE4: ; // 0x2bd3de4
|
|
/* 02BD3DE4 */ Gambit_fn_02BBD9C4(cpu);
|
|
L_02BD3DE8: ; // 0x2bd3de8
|
|
/* 02BD3DE8 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3DE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD3DEC */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3DEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD3DF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3DF4 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3DF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD3DF8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3DFC */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3DFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD3E00 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3E04 */ return;
|
|
}
|
|
|
|
// fn_02BD3C94 @ 0x2bd3c94
|
|
void Gambit_fn_02BD3C94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD3C94: ; // 0x2bd3c94
|
|
/* 02BD3C94 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BD3C94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3C94 */ cpu->r[1] = _t0;
|
|
/* 02BD3C98 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3C98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD3C9C */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD3CA0 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3CA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD3CA4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BD3CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD3CA8 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD3CAC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3CAC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD3CB0 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3CB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD3CB4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD3CB8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3CB8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD3CB8 */ if (_t6) goto L_02BD3CBC; else goto L_02BD3CE8;
|
|
L_02BD3CBC: ; // 0x2bd3cbc
|
|
/* 02BD3CBC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3CC0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3CC4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3CC8 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3CC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD3CCC */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD3CD0 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD3CD4 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3CD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD3CD8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3CDC */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3CDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD3CE0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3CE4 */ return;
|
|
L_02BD3CE8: ; // 0x2bd3ce8
|
|
/* 02BD3CE8 */ _t11 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BD3CE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD3CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02BD3CF0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3CF0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD3CF0 */ if (_t13) goto L_02BD3CF4; else goto L_02BD3D20;
|
|
L_02BD3CF4: ; // 0x2bd3cf4
|
|
/* 02BD3CF4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3CF8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3CFC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3D00 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3D00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD3D04 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3D04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD3D08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3D0C */ _t16 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3D0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD3D10 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3D14 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3D14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD3D18 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3D1C */ return;
|
|
L_02BD3D20: ; // 0x2bd3d20
|
|
/* 02BD3D20 */ _t18 = cpu->r[29] + 0x00000074u;
|
|
/* 02BD3D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD3D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD3D28 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3D28 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD3D28 */ if (_t20) goto L_02BD3D58; else goto L_02BD3D2C;
|
|
L_02BD3D2C: ; // 0x2bd3d2c
|
|
/* 02BD3D2C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3D30 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3D34 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3D38 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3D38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD3D3C */ _t22 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD3D40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3D44 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3D44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD3D48 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3D4C */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3D4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD3D50 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3D54 */ return;
|
|
L_02BD3D58: ; // 0x2bd3d58
|
|
/* 02BD3D58 */ _t25 = cpu->r[29] + 0x00000078u;
|
|
/* 02BD3D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD3D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD3D60 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3D60 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD3D60 */ if (_t27) goto L_02BD3D90; else goto L_02BD3D64;
|
|
L_02BD3D64: ; // 0x2bd3d64
|
|
/* 02BD3D64 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3D68 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3D6C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3D70 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3D70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD3D74 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3D74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD3D78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3D7C */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3D7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD3D80 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3D84 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3D84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD3D88 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3D8C */ return;
|
|
L_02BD3D90: ; // 0x2bd3d90
|
|
/* 02BD3D90 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD3D94 */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD3D98 */ _t32 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BD3D98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD3D9C */ cpu->r[4] = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BD3DA0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD3DA4 */ Gambit_fn_02BB7E58(cpu);
|
|
/* 02BD3DA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD3DAC */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD3DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD3DB0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3DB0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD3DB0 */ if (_t34) goto L_02BD3DB4; else goto L_02BD3DE8;
|
|
L_02BD3DB4: ; // 0x2bd3db4
|
|
/* 02BD3DB4 */ _t35 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BD3DB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD3DB8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3DBC */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD3DC0 */ _t36 = cpu->r[29] + 0x00000044u;
|
|
/* 02BD3DC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD3DC4 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BD3DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3DCC */ _t37 = cpu->r[29] + 0x000000B0u;
|
|
/* 02BD3DCC */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02BD3DD0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3DD0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD3DD0 */ if (_t39) goto L_02BD3DD8; else goto L_02BD3DD4;
|
|
L_02BD3DD4: ; // 0x2bd3dd4
|
|
/* 02BD3DD4 */ Gambit_fn_02BC17E0(cpu);
|
|
L_02BD3DD8: ; // 0x2bd3dd8
|
|
/* 02BD3DD8 */ _t40 = cpu->r[29] + 0x00000048u;
|
|
/* 02BD3DD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD3DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3DE0 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3DE0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BD3DE0 */ if (_t42) goto L_02BD3DE8; else goto L_02BD3DE4;
|
|
L_02BD3DE4: ; // 0x2bd3de4
|
|
/* 02BD3DE4 */ Gambit_fn_02BBD9C4(cpu);
|
|
L_02BD3DE8: ; // 0x2bd3de8
|
|
/* 02BD3DE8 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3DE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD3DEC */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3DEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD3DF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3DF4 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3DF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD3DF8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3DFC */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3DFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD3E00 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3E04 */ return;
|
|
}
|
|
|
|
// fn_02BD3E08 @ 0x2bd3e08
|
|
void Gambit_fn_02BD3E08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD3E08: ; // 0x2bd3e08
|
|
/* 02BD3E08 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD3E0C */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD3E10 @ 0x2bd3e10
|
|
void Gambit_fn_02BD3E10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD3E10: ; // 0x2bd3e10
|
|
/* 02BD3E10 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD3E14 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD3E14 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD3E18 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BD3E1C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD3E1C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD3E1C */ cpu->r[1] = _t1;
|
|
/* 02BD3E20 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD3E24 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD3E28 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3E2C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3E30 */ return;
|
|
}
|
|
|
|
// fn_02BD3E1C @ 0x2bd3e1c
|
|
void Gambit_fn_02BD3E1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD3E1C: ; // 0x2bd3e1c
|
|
/* 02BD3E1C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD3E1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3E1C */ cpu->r[1] = _t0;
|
|
/* 02BD3E20 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD3E24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD3E28 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3E2C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3E30 */ return;
|
|
}
|
|
|
|
// fn_02BD3E34 @ 0x2bd3e34
|
|
void Gambit_fn_02BD3E34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD3E34: ; // 0x2bd3e34
|
|
/* 02BD3E34 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD3E38 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BD3E38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3E38 */ cpu->r[1] = _t0;
|
|
/* 02BD3E3C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3E3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD3E40 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD3E44 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3E44 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD3E48 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BD3E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD3E4C */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD3E50 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3E50 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD3E54 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3E54 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD3E58 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD3E5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3E5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD3E5C */ if (_t6) goto L_02BD3E60; else goto L_02BD3E8C;
|
|
L_02BD3E60: ; // 0x2bd3e60
|
|
/* 02BD3E60 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3E64 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3E68 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3E6C */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3E6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD3E70 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD3E74 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD3E78 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3E78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD3E7C */ cpu->lr = cpu->r[0];
|
|
/* 02BD3E80 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3E80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD3E84 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3E88 */ return;
|
|
L_02BD3E8C: ; // 0x2bd3e8c
|
|
/* 02BD3E8C */ _t11 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BD3E8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD3E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02BD3E94 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3E94 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD3E94 */ if (_t13) goto L_02BD3E98; else goto L_02BD3EC4;
|
|
L_02BD3E98: ; // 0x2bd3e98
|
|
/* 02BD3E98 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3E9C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3EA0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3EA4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3EA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD3EA8 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD3EAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3EB0 */ _t16 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3EB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD3EB4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3EB8 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3EB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD3EBC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3EC0 */ return;
|
|
L_02BD3EC4: ; // 0x2bd3ec4
|
|
/* 02BD3EC4 */ _t18 = cpu->r[29] + 0x00000074u;
|
|
/* 02BD3EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD3EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD3ECC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3ECC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD3ECC */ if (_t20) goto L_02BD3EFC; else goto L_02BD3ED0;
|
|
L_02BD3ED0: ; // 0x2bd3ed0
|
|
/* 02BD3ED0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3ED4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3ED8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3EDC */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3EDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD3EE0 */ _t22 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD3EE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3EE8 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3EE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD3EEC */ cpu->lr = cpu->r[0];
|
|
/* 02BD3EF0 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3EF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD3EF4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3EF8 */ return;
|
|
L_02BD3EFC: ; // 0x2bd3efc
|
|
/* 02BD3EFC */ _t25 = cpu->r[29] + 0x00000078u;
|
|
/* 02BD3EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD3F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD3F04 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3F04 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD3F04 */ if (_t27) goto L_02BD3F34; else goto L_02BD3F08;
|
|
L_02BD3F08: ; // 0x2bd3f08
|
|
/* 02BD3F08 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3F0C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3F10 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3F14 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3F14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD3F18 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD3F1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3F20 */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3F20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD3F24 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3F28 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3F28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD3F2C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3F30 */ return;
|
|
L_02BD3F34: ; // 0x2bd3f34
|
|
/* 02BD3F34 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD3F38 */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD3F3C */ _t32 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD3F3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD3F40 */ cpu->r[4] = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BD3F44 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD3F48 */ Gambit_fn_02BBBCEC(cpu);
|
|
/* 02BD3F4C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD3F50 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD3F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD3F54 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3F54 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD3F54 */ if (_t34) goto L_02BD3F58; else goto L_02BD3F8C;
|
|
L_02BD3F58: ; // 0x2bd3f58
|
|
/* 02BD3F58 */ _t35 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD3F58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD3F5C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3F60 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD3F64 */ _t36 = cpu->r[29] + 0x00000044u;
|
|
/* 02BD3F64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD3F68 */ cpu->r[0] = 0x00000004u;
|
|
/* 02BD3F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3F70 */ _t37 = cpu->r[29] + 0x000000B0u;
|
|
/* 02BD3F70 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02BD3F74 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3F74 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD3F74 */ if (_t39) goto L_02BD3F7C; else goto L_02BD3F78;
|
|
L_02BD3F78: ; // 0x2bd3f78
|
|
/* 02BD3F78 */ Gambit_fn_02BC17E0(cpu);
|
|
L_02BD3F7C: ; // 0x2bd3f7c
|
|
/* 02BD3F7C */ _t40 = cpu->r[29] + 0x00000048u;
|
|
/* 02BD3F7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD3F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3F84 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3F84 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BD3F84 */ if (_t42) goto L_02BD3F8C; else goto L_02BD3F88;
|
|
L_02BD3F88: ; // 0x2bd3f88
|
|
/* 02BD3F88 */ Gambit_fn_02BBD9C4(cpu);
|
|
L_02BD3F8C: ; // 0x2bd3f8c
|
|
/* 02BD3F8C */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3F8C */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD3F90 */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD3F94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3F98 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3F98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD3F9C */ cpu->lr = cpu->r[0];
|
|
/* 02BD3FA0 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3FA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD3FA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3FA8 */ return;
|
|
}
|
|
|
|
// fn_02BD3E38 @ 0x2bd3e38
|
|
void Gambit_fn_02BD3E38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD3E38: ; // 0x2bd3e38
|
|
/* 02BD3E38 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BD3E38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3E38 */ cpu->r[1] = _t0;
|
|
/* 02BD3E3C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3E3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD3E40 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD3E44 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3E44 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD3E48 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BD3E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD3E4C */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD3E50 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3E50 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD3E54 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3E54 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD3E58 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD3E5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3E5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD3E5C */ if (_t6) goto L_02BD3E60; else goto L_02BD3E8C;
|
|
L_02BD3E60: ; // 0x2bd3e60
|
|
/* 02BD3E60 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3E64 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3E68 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3E6C */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3E6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD3E70 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD3E74 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD3E78 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3E78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD3E7C */ cpu->lr = cpu->r[0];
|
|
/* 02BD3E80 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3E80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD3E84 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3E88 */ return;
|
|
L_02BD3E8C: ; // 0x2bd3e8c
|
|
/* 02BD3E8C */ _t11 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BD3E8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD3E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02BD3E94 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3E94 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD3E94 */ if (_t13) goto L_02BD3E98; else goto L_02BD3EC4;
|
|
L_02BD3E98: ; // 0x2bd3e98
|
|
/* 02BD3E98 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3E9C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3EA0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3EA4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3EA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD3EA8 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD3EAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3EB0 */ _t16 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3EB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD3EB4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3EB8 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3EB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD3EBC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3EC0 */ return;
|
|
L_02BD3EC4: ; // 0x2bd3ec4
|
|
/* 02BD3EC4 */ _t18 = cpu->r[29] + 0x00000074u;
|
|
/* 02BD3EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD3EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD3ECC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3ECC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD3ECC */ if (_t20) goto L_02BD3EFC; else goto L_02BD3ED0;
|
|
L_02BD3ED0: ; // 0x2bd3ed0
|
|
/* 02BD3ED0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3ED4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3ED8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3EDC */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3EDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD3EE0 */ _t22 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD3EE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3EE8 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3EE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD3EEC */ cpu->lr = cpu->r[0];
|
|
/* 02BD3EF0 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3EF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD3EF4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3EF8 */ return;
|
|
L_02BD3EFC: ; // 0x2bd3efc
|
|
/* 02BD3EFC */ _t25 = cpu->r[29] + 0x00000078u;
|
|
/* 02BD3EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD3F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD3F04 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3F04 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD3F04 */ if (_t27) goto L_02BD3F34; else goto L_02BD3F08;
|
|
L_02BD3F08: ; // 0x2bd3f08
|
|
/* 02BD3F08 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3F0C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3F10 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD3F14 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3F14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD3F18 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD3F1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3F20 */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3F20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD3F24 */ cpu->lr = cpu->r[0];
|
|
/* 02BD3F28 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3F28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD3F2C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3F30 */ return;
|
|
L_02BD3F34: ; // 0x2bd3f34
|
|
/* 02BD3F34 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD3F38 */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD3F3C */ _t32 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD3F3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD3F40 */ cpu->r[4] = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BD3F44 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD3F48 */ Gambit_fn_02BBBCEC(cpu);
|
|
/* 02BD3F4C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD3F50 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD3F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD3F54 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3F54 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD3F54 */ if (_t34) goto L_02BD3F58; else goto L_02BD3F8C;
|
|
L_02BD3F58: ; // 0x2bd3f58
|
|
/* 02BD3F58 */ _t35 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD3F58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD3F5C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD3F60 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD3F64 */ _t36 = cpu->r[29] + 0x00000044u;
|
|
/* 02BD3F64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD3F68 */ cpu->r[0] = 0x00000004u;
|
|
/* 02BD3F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3F70 */ _t37 = cpu->r[29] + 0x000000B0u;
|
|
/* 02BD3F70 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02BD3F74 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3F74 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD3F74 */ if (_t39) goto L_02BD3F7C; else goto L_02BD3F78;
|
|
L_02BD3F78: ; // 0x2bd3f78
|
|
/* 02BD3F78 */ Gambit_fn_02BC17E0(cpu);
|
|
L_02BD3F7C: ; // 0x2bd3f7c
|
|
/* 02BD3F7C */ _t40 = cpu->r[29] + 0x00000048u;
|
|
/* 02BD3F7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD3F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD3F84 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3F84 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BD3F84 */ if (_t42) goto L_02BD3F8C; else goto L_02BD3F88;
|
|
L_02BD3F88: ; // 0x2bd3f88
|
|
/* 02BD3F88 */ Gambit_fn_02BBD9C4(cpu);
|
|
L_02BD3F8C: ; // 0x2bd3f8c
|
|
/* 02BD3F8C */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3F8C */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD3F90 */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD3F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD3F94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD3F98 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD3F98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD3F9C */ cpu->lr = cpu->r[0];
|
|
/* 02BD3FA0 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD3FA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD3FA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD3FA8 */ return;
|
|
}
|
|
|
|
// fn_02BD3FAC @ 0x2bd3fac
|
|
void Gambit_fn_02BD3FAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD3FAC: ; // 0x2bd3fac
|
|
/* 02BD3FAC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3FB0 */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD3FB4 @ 0x2bd3fb4
|
|
void Gambit_fn_02BD3FB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD3FB4: ; // 0x2bd3fb4
|
|
/* 02BD3FB4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD3FB8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD3FB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD3FBC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD3FC0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD3FC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD3FC0 */ cpu->r[1] = _t1;
|
|
/* 02BD3FC4 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD3FC8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD3FCC */ cpu->lr = cpu->r[0];
|
|
/* 02BD3FD0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3FD4 */ return;
|
|
}
|
|
|
|
// fn_02BD3FC0 @ 0x2bd3fc0
|
|
void Gambit_fn_02BD3FC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD3FC0: ; // 0x2bd3fc0
|
|
/* 02BD3FC0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD3FC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3FC0 */ cpu->r[1] = _t0;
|
|
/* 02BD3FC4 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD3FC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD3FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD3FCC */ cpu->lr = cpu->r[0];
|
|
/* 02BD3FD0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD3FD4 */ return;
|
|
}
|
|
|
|
// fn_02BD3FD8 @ 0x2bd3fd8
|
|
void Gambit_fn_02BD3FD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02BD3FD8: ; // 0x2bd3fd8
|
|
/* 02BD3FD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD3FDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD3FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3FDC */ cpu->r[1] = _t0;
|
|
/* 02BD3FE0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3FE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD3FE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3FE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD3FE8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD3FEC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3FEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD3FF0 */ _t4 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD3FF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD3FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02BD3FF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3FF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD3FF8 */ if (_t6) goto L_02BD3FFC; else goto L_02BD4028;
|
|
L_02BD3FFC: ; // 0x2bd3ffc
|
|
/* 02BD3FFC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4000 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4004 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4008 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD400C */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD4010 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4010 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD4014 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4018 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD401C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD401C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD4020 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4024 */ return;
|
|
L_02BD4028: ; // 0x2bd4028
|
|
/* 02BD4028 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD402C */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD4030 */ _t10 = cpu->r[30] + 0x00000074u;
|
|
/* 02BD4030 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD4034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02BD4038 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4038 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD4038 */ if (_t12) goto L_02BD4068; else goto L_02BD403C;
|
|
L_02BD403C: ; // 0x2bd403c
|
|
/* 02BD403C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4040 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4044 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4048 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD404C */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD4050 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4050 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD4054 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4058 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD405C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD405C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD4060 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4064 */ return;
|
|
L_02BD4068: ; // 0x2bd4068
|
|
/* 02BD4068 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD406C */ _t16 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BD406C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD4070 */ _t17 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BD4070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD4074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BD4078 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD4078 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD4078 */ if (_t19) goto L_02BD40E0; else goto L_02BD407C;
|
|
L_02BD407C: ; // 0x2bd407c
|
|
/* 02BD407C */ _t20 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD407C */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD4080 */ cpu->r[11] = cpu->r[0] ^ cpu->r[9];
|
|
/* 02BD4084 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 02BD4088 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BD4088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD408C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD408C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD408C */ if (_t22) goto L_02BD40E0; else goto L_02BD4090;
|
|
L_02BD4090: ; // 0x2bd4090
|
|
/* 02BD4090 */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BD4094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4098 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4098 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BD4098 */ if (_t24) goto L_02BD409C; else goto L_02BD40E0;
|
|
L_02BD409C: ; // 0x2bd409c
|
|
/* 02BD409C */ _t25 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD409C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD40A0 */ cpu->r[4] = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD40A4 */ Gambit_fn_02BB86DC(cpu);
|
|
/* 02BD40A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD40AC */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD40AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD40B0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD40B0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD40B0 */ if (_t27) goto L_02BD40B4; else goto L_02BD4120;
|
|
L_02BD40B4: ; // 0x2bd40b4
|
|
/* 02BD40B4 */ _t28 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD40B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD40B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD40BC */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD40C0 */ _t29 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD40C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD40C4 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BD40C8 */ _t30 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BD40C8 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02BD40CC */ _t31 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD40CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD40D0 */ _t32 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BD40D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD40D4 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD40D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD40DC */ goto L_02BD4120;
|
|
L_02BD40E0: ; // 0x2bd40e0
|
|
/* 02BD40E0 */ _t33 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BD40E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD40E4 */ cpu->r[4] = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD40E8 */ Gambit_fn_02BBEDD4(cpu);
|
|
/* 02BD40EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD40F0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD40F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD40F4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD40F4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BD40F4 */ if (_t35) goto L_02BD40F8; else goto L_02BD4120;
|
|
L_02BD40F8: ; // 0x2bd40f8
|
|
/* 02BD40F8 */ _t36 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BD40F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD40FC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD4100 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD4104 */ _t37 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD4104 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD4108 */ cpu->r[12] = 0x00000005u;
|
|
/* 02BD410C */ _t38 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BD410C */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
|
|
/* 02BD4110 */ _t39 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD4110 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD4114 */ _t40 = cpu->r[5] + 0x0000005Cu;
|
|
/* 02BD4114 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD4118 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD411C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD4120: ; // 0x2bd4120
|
|
/* 02BD4120 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD4124 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4128 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD412C */ cpu->lr = cpu->r[0];
|
|
/* 02BD4130 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4130 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD4134 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4138 */ return;
|
|
}
|
|
|
|
// fn_02BD3FDC @ 0x2bd3fdc
|
|
void Gambit_fn_02BD3FDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02BD3FDC: ; // 0x2bd3fdc
|
|
/* 02BD3FDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD3FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD3FDC */ cpu->r[1] = _t0;
|
|
/* 02BD3FE0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD3FE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD3FE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD3FE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD3FE8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD3FEC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD3FEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD3FF0 */ _t4 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD3FF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD3FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02BD3FF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3FF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD3FF8 */ if (_t6) goto L_02BD3FFC; else goto L_02BD4028;
|
|
L_02BD3FFC: ; // 0x2bd3ffc
|
|
/* 02BD3FFC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4000 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4004 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4008 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD400C */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD4010 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4010 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD4014 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4018 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD401C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD401C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD4020 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4024 */ return;
|
|
L_02BD4028: ; // 0x2bd4028
|
|
/* 02BD4028 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD402C */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD4030 */ _t10 = cpu->r[30] + 0x00000074u;
|
|
/* 02BD4030 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD4034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02BD4038 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4038 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD4038 */ if (_t12) goto L_02BD4068; else goto L_02BD403C;
|
|
L_02BD403C: ; // 0x2bd403c
|
|
/* 02BD403C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4040 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4044 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4048 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD404C */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD4050 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4050 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD4054 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4058 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD405C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD405C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD4060 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4064 */ return;
|
|
L_02BD4068: ; // 0x2bd4068
|
|
/* 02BD4068 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD406C */ _t16 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BD406C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD4070 */ _t17 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BD4070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD4074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BD4078 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD4078 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD4078 */ if (_t19) goto L_02BD40E0; else goto L_02BD407C;
|
|
L_02BD407C: ; // 0x2bd407c
|
|
/* 02BD407C */ _t20 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD407C */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD4080 */ cpu->r[11] = cpu->r[0] ^ cpu->r[9];
|
|
/* 02BD4084 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 02BD4088 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BD4088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD408C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD408C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD408C */ if (_t22) goto L_02BD40E0; else goto L_02BD4090;
|
|
L_02BD4090: ; // 0x2bd4090
|
|
/* 02BD4090 */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BD4094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4098 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4098 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BD4098 */ if (_t24) goto L_02BD409C; else goto L_02BD40E0;
|
|
L_02BD409C: ; // 0x2bd409c
|
|
/* 02BD409C */ _t25 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD409C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD40A0 */ cpu->r[4] = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD40A4 */ Gambit_fn_02BB86DC(cpu);
|
|
/* 02BD40A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD40AC */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD40AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD40B0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD40B0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD40B0 */ if (_t27) goto L_02BD40B4; else goto L_02BD4120;
|
|
L_02BD40B4: ; // 0x2bd40b4
|
|
/* 02BD40B4 */ _t28 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD40B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD40B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD40BC */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD40C0 */ _t29 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD40C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD40C4 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BD40C8 */ _t30 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BD40C8 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02BD40CC */ _t31 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD40CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD40D0 */ _t32 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BD40D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD40D4 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD40D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD40DC */ goto L_02BD4120;
|
|
L_02BD40E0: ; // 0x2bd40e0
|
|
/* 02BD40E0 */ _t33 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BD40E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD40E4 */ cpu->r[4] = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD40E8 */ Gambit_fn_02BBEDD4(cpu);
|
|
/* 02BD40EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD40F0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD40F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD40F4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD40F4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BD40F4 */ if (_t35) goto L_02BD40F8; else goto L_02BD4120;
|
|
L_02BD40F8: ; // 0x2bd40f8
|
|
/* 02BD40F8 */ _t36 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BD40F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD40FC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD4100 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD4104 */ _t37 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD4104 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD4108 */ cpu->r[12] = 0x00000005u;
|
|
/* 02BD410C */ _t38 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BD410C */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
|
|
/* 02BD4110 */ _t39 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD4110 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD4114 */ _t40 = cpu->r[5] + 0x0000005Cu;
|
|
/* 02BD4114 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD4118 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD411C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD4120: ; // 0x2bd4120
|
|
/* 02BD4120 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD4124 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4128 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD412C */ cpu->lr = cpu->r[0];
|
|
/* 02BD4130 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4130 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD4134 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4138 */ return;
|
|
}
|
|
|
|
// fn_02BD413C @ 0x2bd413c
|
|
void Gambit_fn_02BD413C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD413C: ; // 0x2bd413c
|
|
/* 02BD413C */ cpu->r[4] = 0x00000005u;
|
|
/* 02BD4140 */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD4144 @ 0x2bd4144
|
|
void Gambit_fn_02BD4144(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD4144: ; // 0x2bd4144
|
|
/* 02BD4144 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4148 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD4148 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD414C */ cpu->r[4] = 0x00000005u;
|
|
/* 02BD4150 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD4150 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD4150 */ cpu->r[1] = _t1;
|
|
/* 02BD4154 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD4158 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD415C */ cpu->lr = cpu->r[0];
|
|
/* 02BD4160 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4164 */ return;
|
|
}
|
|
|
|
// fn_02BD4150 @ 0x2bd4150
|
|
void Gambit_fn_02BD4150(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD4150: ; // 0x2bd4150
|
|
/* 02BD4150 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD4150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4150 */ cpu->r[1] = _t0;
|
|
/* 02BD4154 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD4158 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD415C */ cpu->lr = cpu->r[0];
|
|
/* 02BD4160 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4164 */ return;
|
|
}
|
|
|
|
// fn_02BD4168 @ 0x2bd4168
|
|
void Gambit_fn_02BD4168(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02BD4168: ; // 0x2bd4168
|
|
/* 02BD4168 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD416C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD416C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD416C */ cpu->r[1] = _t0;
|
|
/* 02BD4170 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4170 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD4174 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4174 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BD4178 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD417C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD417C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD4180 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4180 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD4184 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD4184 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD4188 */ cpu->r[29] = cpu->r[6];
|
|
/* 02BD418C */ _t6 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD418C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD4190 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD4194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD4198 */ cpu->r[28] = cpu->r[5];
|
|
/* 02BD419C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD419C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD419C */ if (_t8) goto L_02BD41A0; else goto L_02BD41D4;
|
|
L_02BD41A0: ; // 0x2bd41a0
|
|
/* 02BD41A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD41A4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD41A8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD41AC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD41AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD41B0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD41B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD41B4 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD41B8 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD41B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD41BC */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD41C0 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD41C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD41C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD41C8 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD41C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD41CC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD41D0 */ return;
|
|
L_02BD41D4: ; // 0x2bd41d4
|
|
/* 02BD41D4 */ _t14 = cpu->r[30] + 0x00000074u;
|
|
/* 02BD41D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD41D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD41DC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD41DC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD41DC */ if (_t16) goto L_02BD4214; else goto L_02BD41E0;
|
|
L_02BD41E0: ; // 0x2bd41e0
|
|
/* 02BD41E0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD41E4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD41E8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD41EC */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD41EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD41F0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD41F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD41F4 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD41F8 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD41F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD41FC */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD4200 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4200 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD4204 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4208 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4208 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD420C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD4210 */ return;
|
|
L_02BD4214: ; // 0x2bd4214
|
|
/* 02BD4214 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD4218 */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD421C */ _t22 = cpu->r[30] + 0x00000024u;
|
|
/* 02BD421C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD4220 */ cpu->r[6] = cpu->r[28];
|
|
/* 02BD4224 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BD4228 */ cpu->r[4] = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD422C */ Gambit_fn_02BE55D0(cpu);
|
|
/* 02BD4230 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD4234 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD4234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD4238 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4238 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BD4238 */ if (_t24) goto L_02BD423C; else goto L_02BD424C;
|
|
L_02BD423C: ; // 0x2bd423c
|
|
/* 02BD423C */ _t25 = cpu->r[30] + 0x00000024u;
|
|
/* 02BD423C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD4240 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD4244 */ _t26 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BD4244 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 02BD4248 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BD424C: ; // 0x2bd424c
|
|
/* 02BD424C */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD424C */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD4250 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4250 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD4254 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD4254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD4258 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD425C */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD425C */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD4260 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4264 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD4268 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD426C */ return;
|
|
}
|
|
|
|
// fn_02BD416C @ 0x2bd416c
|
|
void Gambit_fn_02BD416C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02BD416C: ; // 0x2bd416c
|
|
/* 02BD416C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD416C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD416C */ cpu->r[1] = _t0;
|
|
/* 02BD4170 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4170 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD4174 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4174 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BD4178 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD417C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD417C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD4180 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4180 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD4184 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD4184 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD4188 */ cpu->r[29] = cpu->r[6];
|
|
/* 02BD418C */ _t6 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD418C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD4190 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD4194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD4198 */ cpu->r[28] = cpu->r[5];
|
|
/* 02BD419C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD419C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD419C */ if (_t8) goto L_02BD41A0; else goto L_02BD41D4;
|
|
L_02BD41A0: ; // 0x2bd41a0
|
|
/* 02BD41A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD41A4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD41A8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD41AC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD41AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD41B0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD41B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD41B4 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD41B8 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD41B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD41BC */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD41C0 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD41C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD41C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD41C8 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD41C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD41CC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD41D0 */ return;
|
|
L_02BD41D4: ; // 0x2bd41d4
|
|
/* 02BD41D4 */ _t14 = cpu->r[30] + 0x00000074u;
|
|
/* 02BD41D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD41D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD41DC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD41DC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD41DC */ if (_t16) goto L_02BD4214; else goto L_02BD41E0;
|
|
L_02BD41E0: ; // 0x2bd41e0
|
|
/* 02BD41E0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD41E4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD41E8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD41EC */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD41EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD41F0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD41F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD41F4 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD41F8 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD41F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD41FC */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD4200 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4200 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD4204 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4208 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4208 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD420C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD4210 */ return;
|
|
L_02BD4214: ; // 0x2bd4214
|
|
/* 02BD4214 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD4218 */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD421C */ _t22 = cpu->r[30] + 0x00000024u;
|
|
/* 02BD421C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD4220 */ cpu->r[6] = cpu->r[28];
|
|
/* 02BD4224 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BD4228 */ cpu->r[4] = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD422C */ Gambit_fn_02BE55D0(cpu);
|
|
/* 02BD4230 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD4234 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD4234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD4238 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4238 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BD4238 */ if (_t24) goto L_02BD423C; else goto L_02BD424C;
|
|
L_02BD423C: ; // 0x2bd423c
|
|
/* 02BD423C */ _t25 = cpu->r[30] + 0x00000024u;
|
|
/* 02BD423C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD4240 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD4244 */ _t26 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BD4244 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 02BD4248 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BD424C: ; // 0x2bd424c
|
|
/* 02BD424C */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD424C */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD4250 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4250 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD4254 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD4254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD4258 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD425C */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD425C */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD4260 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4264 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD4268 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD426C */ return;
|
|
}
|
|
|
|
// fn_02BD4270 @ 0x2bd4270
|
|
void Gambit_fn_02BD4270(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD4270: ; // 0x2bd4270
|
|
/* 02BD4270 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4274 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD4274 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD4278 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD4278 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD4278 */ cpu->r[1] = _t1;
|
|
/* 02BD427C */ _t2 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD427C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02BD4280 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD4284 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02BD4288 */ _t3 = cpu->r[12] + 0x000000C4u;
|
|
/* 02BD4288 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD428C */ _t4 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD428C */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD4290 */ cpu->r[6] = 0x00000006u;
|
|
/* 02BD4294 */ Gambit_fn_02BD4168(cpu);
|
|
/* 02BD4298 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD429C */ cpu->lr = cpu->r[0];
|
|
/* 02BD42A0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD42A4 */ return;
|
|
}
|
|
|
|
// fn_02BD4278 @ 0x2bd4278
|
|
void Gambit_fn_02BD4278(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BD4278: ; // 0x2bd4278
|
|
/* 02BD4278 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD4278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4278 */ cpu->r[1] = _t0;
|
|
/* 02BD427C */ _t1 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD427C */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02BD4280 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD4284 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02BD4288 */ _t2 = cpu->r[12] + 0x000000C4u;
|
|
/* 02BD4288 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD428C */ _t3 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD428C */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD4290 */ cpu->r[6] = 0x00000006u;
|
|
/* 02BD4294 */ Gambit_fn_02BD4168(cpu);
|
|
/* 02BD4298 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD429C */ cpu->lr = cpu->r[0];
|
|
/* 02BD42A0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD42A4 */ return;
|
|
}
|
|
|
|
// fn_02BD42A8 @ 0x2bd42a8
|
|
void Gambit_fn_02BD42A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD42A8: ; // 0x2bd42a8
|
|
/* 02BD42A8 */ cpu->r[4] = 0x00000006u;
|
|
/* 02BD42AC */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD42B0 @ 0x2bd42b0
|
|
void Gambit_fn_02BD42B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD42B0: ; // 0x2bd42b0
|
|
/* 02BD42B0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD42B4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD42B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD42B8 */ cpu->r[4] = 0x00000006u;
|
|
/* 02BD42BC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD42BC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD42BC */ cpu->r[1] = _t1;
|
|
/* 02BD42C0 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD42C4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD42C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD42C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD42CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD42D0 */ return;
|
|
}
|
|
|
|
// fn_02BD42BC @ 0x2bd42bc
|
|
void Gambit_fn_02BD42BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD42BC: ; // 0x2bd42bc
|
|
/* 02BD42BC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD42BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD42BC */ cpu->r[1] = _t0;
|
|
/* 02BD42C0 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD42C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD42C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD42C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD42CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD42D0 */ return;
|
|
}
|
|
|
|
// fn_02BD42D4 @ 0x2bd42d4
|
|
void Gambit_fn_02BD42D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BD42D4: ; // 0x2bd42d4
|
|
/* 02BD42D4 */ _t0 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD42D4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02BD42D8 */ cpu->r[8] = cpu->r[3] + 0x000000C4u;
|
|
/* 02BD42DC */ _t1 = cpu->r[3] + 0x00000078u;
|
|
/* 02BD42DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD42E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD42E4 */ _t2 = cpu->r[10] + cpu->r[8];
|
|
/* 02BD42E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD42E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000004u);
|
|
/* 02BD42EC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD42EC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD42EC */ _t5 = _t4 ^ 0x00000001u;
|
|
/* 02BD42EC */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BD42EC */ goto L_02BD42F0;
|
|
L_02BD42F0: ; // 0x2bd42f0
|
|
/* 02BD42F0 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BD42F4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD42F8 */ _t6 = cpu->r[9] + cpu->r[8];
|
|
/* 02BD42F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD42FC */ return;
|
|
}
|
|
|
|
// fn_02BD4300 @ 0x2bd4300
|
|
void Gambit_fn_02BD4300(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BD4300: ; // 0x2bd4300
|
|
/* 02BD4300 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4304 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD4304 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD4308 */ cpu->r[11] = cpu->r[3];
|
|
/* 02BD430C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD430C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD430C */ cpu->r[1] = _t1;
|
|
/* 02BD4310 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD4314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4318 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4318 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD4318 */ if (_t3) goto L_02BD434C; else goto L_02BD431C;
|
|
L_02BD431C: ; // 0x2bd431c
|
|
/* 02BD431C */ _t4 = cpu->r[11] + 0x00000078u;
|
|
/* 02BD431C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD4320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BD4324 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4324 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD4324 */ if (_t6) goto L_02BD4328; else goto L_02BD434C;
|
|
L_02BD4328: ; // 0x2bd4328
|
|
/* 02BD4328 */ _t7 = cpu->r[11] + 0x000000C2u;
|
|
/* 02BD4328 */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02BD432C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BD4330 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD4334 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02BD4338 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD433C */ _t9 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD433C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD4340 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4344 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4348 */ return;
|
|
L_02BD434C: ; // 0x2bd434c
|
|
/* 02BD434C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD434C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD4350 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4354 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4358 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD435C */ return;
|
|
}
|
|
|
|
// fn_02BD430C @ 0x2bd430c
|
|
void Gambit_fn_02BD430C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BD430C: ; // 0x2bd430c
|
|
/* 02BD430C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD430C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD430C */ cpu->r[1] = _t0;
|
|
/* 02BD4310 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD4314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4318 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4318 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD4318 */ if (_t2) goto L_02BD434C; else goto L_02BD431C;
|
|
L_02BD431C: ; // 0x2bd431c
|
|
/* 02BD431C */ _t3 = cpu->r[11] + 0x00000078u;
|
|
/* 02BD431C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD4320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BD4324 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4324 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD4324 */ if (_t5) goto L_02BD4328; else goto L_02BD434C;
|
|
L_02BD4328: ; // 0x2bd4328
|
|
/* 02BD4328 */ _t6 = cpu->r[11] + 0x000000C2u;
|
|
/* 02BD4328 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BD432C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BD4330 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD4334 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02BD4338 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD433C */ _t8 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD433C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD4340 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4344 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4348 */ return;
|
|
L_02BD434C: ; // 0x2bd434c
|
|
/* 02BD434C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD434C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD4350 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4354 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4358 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD435C */ return;
|
|
}
|
|
|
|
// fn_02BD4360 @ 0x2bd4360
|
|
void Gambit_fn_02BD4360(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BD4360: ; // 0x2bd4360
|
|
/* 02BD4360 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4364 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD4364 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD4368 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD4368 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD4368 */ cpu->r[1] = _t1;
|
|
/* 02BD436C */ _t2 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD436C */ cpu->r[12] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02BD4370 */ _t3 = cpu->r[3] + 0x00000078u;
|
|
/* 02BD4370 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD4374 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD4378 */ cpu->r[12] = cpu->r[3] + cpu->r[11];
|
|
/* 02BD437C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
|
|
/* 02BD4380 */ _t4 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD4380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD4384 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4384 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD4384 */ if (_t6) goto L_02BD4388; else goto L_02BD4390;
|
|
L_02BD4388: ; // 0x2bd4388
|
|
/* 02BD4388 */ Gambit_fn_02BD4300(cpu);
|
|
/* 02BD438C */ cpu->r[0] = cpu->r[3];
|
|
L_02BD4390: ; // 0x2bd4390
|
|
/* 02BD4390 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BD4394 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD4398 */ cpu->lr = cpu->r[0];
|
|
/* 02BD439C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD43A0 */ return;
|
|
}
|
|
|
|
// fn_02BD4368 @ 0x2bd4368
|
|
void Gambit_fn_02BD4368(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BD4368: ; // 0x2bd4368
|
|
/* 02BD4368 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD4368 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4368 */ cpu->r[1] = _t0;
|
|
/* 02BD436C */ _t1 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD436C */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02BD4370 */ _t2 = cpu->r[3] + 0x00000078u;
|
|
/* 02BD4370 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD4374 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD4378 */ cpu->r[12] = cpu->r[3] + cpu->r[11];
|
|
/* 02BD437C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
|
|
/* 02BD4380 */ _t3 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD4380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD4384 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4384 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD4384 */ if (_t5) goto L_02BD4388; else goto L_02BD4390;
|
|
L_02BD4388: ; // 0x2bd4388
|
|
/* 02BD4388 */ Gambit_fn_02BD4300(cpu);
|
|
/* 02BD438C */ cpu->r[0] = cpu->r[3];
|
|
L_02BD4390: ; // 0x2bd4390
|
|
/* 02BD4390 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BD4394 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD4398 */ cpu->lr = cpu->r[0];
|
|
/* 02BD439C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD43A0 */ return;
|
|
}
|
|
|
|
// fn_02BD43A4 @ 0x2bd43a4
|
|
void Gambit_fn_02BD43A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02BD43A4: ; // 0x2bd43a4
|
|
/* 02BD43A4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD43A8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD43A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD43A8 */ cpu->r[1] = _t0;
|
|
/* 02BD43AC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD43AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD43B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD43B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BD43B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD43B8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD43B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD43BC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD43BC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD43C0 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD43C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD43C4 */ cpu->r[29] = cpu->r[6];
|
|
/* 02BD43C8 */ _t6 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD43C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD43CC */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD43D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD43D4 */ cpu->r[28] = cpu->r[5];
|
|
/* 02BD43D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD43D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD43D8 */ if (_t8) goto L_02BD43DC; else goto L_02BD4410;
|
|
L_02BD43DC: ; // 0x2bd43dc
|
|
/* 02BD43DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD43E0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD43E4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD43E8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD43E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD43EC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD43EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD43F0 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD43F4 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD43F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD43F8 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD43FC */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD43FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD4400 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4404 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD4408 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD440C */ return;
|
|
L_02BD4410: ; // 0x2bd4410
|
|
/* 02BD4410 */ _t14 = cpu->r[30] + 0x00000074u;
|
|
/* 02BD4410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD4414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD4418 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4418 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD4418 */ if (_t16) goto L_02BD4450; else goto L_02BD441C;
|
|
L_02BD441C: ; // 0x2bd441c
|
|
/* 02BD441C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4420 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4424 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4428 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4428 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD442C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD442C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD4430 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD4434 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD4434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD4438 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD443C */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD443C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD4440 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4444 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4444 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD4448 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD444C */ return;
|
|
L_02BD4450: ; // 0x2bd4450
|
|
/* 02BD4450 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD4454 */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD4458 */ _t22 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02BD4458 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD445C */ cpu->r[6] = cpu->r[28];
|
|
/* 02BD4460 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BD4464 */ cpu->r[4] = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD4468 */ Gambit_fn_02BE21C4(cpu);
|
|
/* 02BD446C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD4470 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD4470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD4474 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4474 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BD4474 */ if (_t24) goto L_02BD4478; else goto L_02BD4488;
|
|
L_02BD4478: ; // 0x2bd4478
|
|
/* 02BD4478 */ _t25 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02BD4478 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD447C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD4480 */ _t26 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BD4480 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 02BD4484 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BD4488: ; // 0x2bd4488
|
|
/* 02BD4488 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4488 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD448C */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD448C */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD4490 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD4490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD4494 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4498 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4498 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD449C */ cpu->lr = cpu->r[0];
|
|
/* 02BD44A0 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD44A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD44A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD44A8 */ return;
|
|
}
|
|
|
|
// fn_02BD43A8 @ 0x2bd43a8
|
|
void Gambit_fn_02BD43A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02BD43A8: ; // 0x2bd43a8
|
|
/* 02BD43A8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD43A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD43A8 */ cpu->r[1] = _t0;
|
|
/* 02BD43AC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD43AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD43B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD43B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BD43B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD43B8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD43B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD43BC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD43BC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD43C0 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD43C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD43C4 */ cpu->r[29] = cpu->r[6];
|
|
/* 02BD43C8 */ _t6 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD43C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD43CC */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD43D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD43D4 */ cpu->r[28] = cpu->r[5];
|
|
/* 02BD43D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD43D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD43D8 */ if (_t8) goto L_02BD43DC; else goto L_02BD4410;
|
|
L_02BD43DC: ; // 0x2bd43dc
|
|
/* 02BD43DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD43E0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD43E4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD43E8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD43E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD43EC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD43EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD43F0 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD43F4 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD43F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD43F8 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD43FC */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD43FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD4400 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4404 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD4408 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD440C */ return;
|
|
L_02BD4410: ; // 0x2bd4410
|
|
/* 02BD4410 */ _t14 = cpu->r[30] + 0x00000074u;
|
|
/* 02BD4410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD4414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD4418 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4418 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD4418 */ if (_t16) goto L_02BD4450; else goto L_02BD441C;
|
|
L_02BD441C: ; // 0x2bd441c
|
|
/* 02BD441C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4420 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4424 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4428 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4428 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD442C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD442C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD4430 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD4434 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD4434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD4438 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD443C */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD443C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD4440 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4444 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4444 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD4448 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD444C */ return;
|
|
L_02BD4450: ; // 0x2bd4450
|
|
/* 02BD4450 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD4454 */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD4458 */ _t22 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02BD4458 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD445C */ cpu->r[6] = cpu->r[28];
|
|
/* 02BD4460 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BD4464 */ cpu->r[4] = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD4468 */ Gambit_fn_02BE21C4(cpu);
|
|
/* 02BD446C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD4470 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD4470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD4474 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4474 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BD4474 */ if (_t24) goto L_02BD4478; else goto L_02BD4488;
|
|
L_02BD4478: ; // 0x2bd4478
|
|
/* 02BD4478 */ _t25 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02BD4478 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD447C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD4480 */ _t26 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BD4480 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 02BD4484 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BD4488: ; // 0x2bd4488
|
|
/* 02BD4488 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4488 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD448C */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD448C */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD4490 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD4490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD4494 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4498 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4498 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD449C */ cpu->lr = cpu->r[0];
|
|
/* 02BD44A0 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD44A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD44A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD44A8 */ return;
|
|
}
|
|
|
|
// fn_02BD44AC @ 0x2bd44ac
|
|
void Gambit_fn_02BD44AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD44AC: ; // 0x2bd44ac
|
|
/* 02BD44AC */ cpu->r[0] = cpu->lr;
|
|
/* 02BD44B0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD44B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD44B4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD44B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD44B4 */ cpu->r[1] = _t1;
|
|
/* 02BD44B8 */ _t2 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD44B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02BD44BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD44C0 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02BD44C4 */ _t3 = cpu->r[12] + 0x000000C4u;
|
|
/* 02BD44C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD44C8 */ _t4 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD44C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD44CC */ cpu->r[6] = 0x00000008u;
|
|
/* 02BD44D0 */ Gambit_fn_02BD43A4(cpu);
|
|
/* 02BD44D4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD44D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD44D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD44DC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD44E0 */ return;
|
|
}
|
|
|
|
// fn_02BD44B4 @ 0x2bd44b4
|
|
void Gambit_fn_02BD44B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BD44B4: ; // 0x2bd44b4
|
|
/* 02BD44B4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD44B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD44B4 */ cpu->r[1] = _t0;
|
|
/* 02BD44B8 */ _t1 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD44B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02BD44BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD44C0 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02BD44C4 */ _t2 = cpu->r[12] + 0x000000C4u;
|
|
/* 02BD44C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD44C8 */ _t3 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD44C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD44CC */ cpu->r[6] = 0x00000008u;
|
|
/* 02BD44D0 */ Gambit_fn_02BD43A4(cpu);
|
|
/* 02BD44D4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD44D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD44D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD44DC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD44E0 */ return;
|
|
}
|
|
|
|
// fn_02BD44E4 @ 0x2bd44e4
|
|
void Gambit_fn_02BD44E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD44E4: ; // 0x2bd44e4
|
|
/* 02BD44E4 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD44E8 */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD44EC @ 0x2bd44ec
|
|
void Gambit_fn_02BD44EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD44EC: ; // 0x2bd44ec
|
|
/* 02BD44EC */ cpu->r[0] = cpu->lr;
|
|
/* 02BD44F0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD44F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD44F4 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD44F8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD44F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD44F8 */ cpu->r[1] = _t1;
|
|
/* 02BD44FC */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD4500 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD4504 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4508 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD450C */ return;
|
|
}
|
|
|
|
// fn_02BD44F8 @ 0x2bd44f8
|
|
void Gambit_fn_02BD44F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD44F8: ; // 0x2bd44f8
|
|
/* 02BD44F8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD44F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD44F8 */ cpu->r[1] = _t0;
|
|
/* 02BD44FC */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD4500 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD4504 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4508 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD450C */ return;
|
|
}
|
|
|
|
// fn_02BD4510 @ 0x2bd4510
|
|
void Gambit_fn_02BD4510(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BD4510: ; // 0x2bd4510
|
|
/* 02BD4510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD4514 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 02BD4514 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD4518 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4518 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD4518 */ if (_t2) goto L_02BD4538; else goto L_02BD451C;
|
|
L_02BD451C: ; // 0x2bd451c
|
|
/* 02BD451C */ cpu->ctr = cpu->r[5];
|
|
/* 02BD4520 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD4524 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFEu;
|
|
L_02BD4528: ; // 0x2bd4528
|
|
/* 02BD4528 */ _t3 = cpu->r[4] + 0x00000002u;
|
|
/* 02BD4528 */ cpu->r[10] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02BD4528 */ cpu->r[4] = _t3;
|
|
/* 02BD452C */ _t4 = cpu->r[12] + 0x00000002u;
|
|
/* 02BD452C */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[10]);
|
|
/* 02BD452C */ cpu->r[12] = _t4;
|
|
/* 02BD4530 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD4530 */ _t5 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD4530 */ _t6 = _t5 >> (0x00000002u & 31u);
|
|
/* 02BD4530 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD4530 */ if (_t7) goto L_02BD4528; else goto L_02BD4534;
|
|
L_02BD4534: ; // 0x2bd4534
|
|
/* 02BD4534 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
L_02BD4538: ; // 0x2bd4538
|
|
/* 02BD4538 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD453C */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02BD453C */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]);
|
|
/* 02BD4540 */ return;
|
|
}
|
|
|
|
// fn_02BD4544 @ 0x2bd4544
|
|
void Gambit_fn_02BD4544(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02BD4544: ; // 0x2bd4544
|
|
/* 02BD4544 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BD4544 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4544 */ cpu->r[1] = _t0;
|
|
/* 02BD4548 */ /* nop */
|
|
/* 02BD454C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4550 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD4550 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD4554 */ cpu->r[29] = cpu->r[6];
|
|
/* 02BD4558 */ cpu->r[27] = cpu->r[4];
|
|
/* 02BD455C */ cpu->r[26] = cpu->r[3];
|
|
/* 02BD4560 */ _t2 = cpu->r[26] + 0x0000009Cu;
|
|
/* 02BD4560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD4564 */ cpu->r[28] = cpu->r[5];
|
|
/* 02BD4568 */ cpu->r[30] = cpu->r[7];
|
|
/* 02BD456C */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD4570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD4574 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD4578 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4578 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD4578 */ if (_t4) goto L_02BD457C; else goto L_02BD45A0;
|
|
L_02BD457C: ; // 0x2bd457c
|
|
/* 02BD457C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4580 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4584 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4588 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD458C */ /* nop */
|
|
/* 02BD4590 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD4590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD4594 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4598 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD459C */ return;
|
|
L_02BD45A0: ; // 0x2bd45a0
|
|
/* 02BD45A0 */ _t6 = cpu->r[26] + 0x00000074u;
|
|
/* 02BD45A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD45A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD45A8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD45A8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD45A8 */ if (_t8) goto L_02BD45D0; else goto L_02BD45AC;
|
|
L_02BD45AC: ; // 0x2bd45ac
|
|
/* 02BD45AC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD45B0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD45B4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD45B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD45BC */ /* nop */
|
|
/* 02BD45C0 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD45C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD45C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD45C8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD45CC */ return;
|
|
L_02BD45D0: ; // 0x2bd45d0
|
|
/* 02BD45D0 */ _t10 = cpu->r[26] + 0x0000004Cu;
|
|
/* 02BD45D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD45D4 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BD45D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD45DC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD45DC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD45DC */ if (_t12) goto L_02BD4604; else goto L_02BD45E0;
|
|
L_02BD45E0: ; // 0x2bd45e0
|
|
/* 02BD45E0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD45E4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD45E8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD45EC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD45F0 */ /* nop */
|
|
/* 02BD45F4 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD45F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD45F8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD45FC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD4600 */ return;
|
|
L_02BD4604: ; // 0x2bd4604
|
|
/* 02BD4604 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BD4608 */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD460C */ _t14 = cpu->r[26] + 0x0000004Cu;
|
|
/* 02BD460C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD4610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4614 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4614 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD4614 */ if (_t16) goto L_02BD4644; else goto L_02BD4618;
|
|
L_02BD4618: ; // 0x2bd4618
|
|
/* 02BD4618 */ cpu->r[8] = cpu->r[30];
|
|
/* 02BD461C */ cpu->r[7] = cpu->r[28];
|
|
/* 02BD4620 */ cpu->r[6] = cpu->r[27];
|
|
/* 02BD4624 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BD4628 */ cpu->r[4] = cpu->r[26] + 0x0000009Cu;
|
|
/* 02BD462C */ Gambit_fn_02BC9BDC(cpu);
|
|
/* 02BD4630 */ /* nop */
|
|
/* 02BD4634 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD4634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD4638 */ cpu->lr = cpu->r[0];
|
|
/* 02BD463C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD4640 */ return;
|
|
L_02BD4644: ; // 0x2bd4644
|
|
/* 02BD4644 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4648 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD464C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4650 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4654 */ /* nop */
|
|
/* 02BD4658 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD4658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD465C */ cpu->lr = cpu->r[0];
|
|
/* 02BD4660 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD4664 */ return;
|
|
}
|
|
|
|
// fn_02BD4668 @ 0x2bd4668
|
|
void Gambit_fn_02BD4668(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BD4668: ; // 0x2bd4668
|
|
/* 02BD4668 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD466C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD466C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD466C */ cpu->r[1] = _t0;
|
|
/* 02BD4670 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4670 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD4674 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4674 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD4678 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4678 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD467C */ _t4 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD467C */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02BD4680 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD4684 */ cpu->r[12] = cpu->r[3] + cpu->r[9];
|
|
/* 02BD4688 */ _t5 = cpu->r[12] + 0x000000C4u;
|
|
/* 02BD4688 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD468C */ _t6 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD468C */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD4690 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD4694 */ Gambit_fn_02BD4544(cpu);
|
|
/* 02BD4698 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD469C */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD469C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD46A0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD46A0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD46A0 */ if (_t8) goto L_02BD46A4; else goto L_02BD46B8;
|
|
L_02BD46A4: ; // 0x2bd46a4
|
|
/* 02BD46A4 */ cpu->r[0] = 0x00000021u;
|
|
/* 02BD46A8 */ _t9 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BD46A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD46AC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD46B0 */ _t10 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BD46B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BD46B4 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BD46B8: ; // 0x2bd46b8
|
|
/* 02BD46B8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD46B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD46BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD46C0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD46C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD46C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD46C8 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD46C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD46CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD46D0 */ return;
|
|
}
|
|
|
|
// fn_02BD466C @ 0x2bd466c
|
|
void Gambit_fn_02BD466C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BD466C: ; // 0x2bd466c
|
|
/* 02BD466C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD466C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD466C */ cpu->r[1] = _t0;
|
|
/* 02BD4670 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4670 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD4674 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4674 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD4678 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4678 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD467C */ _t4 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD467C */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02BD4680 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD4684 */ cpu->r[12] = cpu->r[3] + cpu->r[9];
|
|
/* 02BD4688 */ _t5 = cpu->r[12] + 0x000000C4u;
|
|
/* 02BD4688 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD468C */ _t6 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD468C */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD4690 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD4694 */ Gambit_fn_02BD4544(cpu);
|
|
/* 02BD4698 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD469C */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD469C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD46A0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD46A0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD46A0 */ if (_t8) goto L_02BD46A4; else goto L_02BD46B8;
|
|
L_02BD46A4: ; // 0x2bd46a4
|
|
/* 02BD46A4 */ cpu->r[0] = 0x00000021u;
|
|
/* 02BD46A8 */ _t9 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BD46A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD46AC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD46B0 */ _t10 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BD46B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BD46B4 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BD46B8: ; // 0x2bd46b8
|
|
/* 02BD46B8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD46B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD46BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD46C0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD46C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD46C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD46C8 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD46C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD46CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD46D0 */ return;
|
|
}
|
|
|
|
// fn_02BD46D4 @ 0x2bd46d4
|
|
void Gambit_fn_02BD46D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD46D4: ; // 0x2bd46d4
|
|
/* 02BD46D4 */ cpu->r[4] = 0x00000021u;
|
|
/* 02BD46D8 */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD46DC @ 0x2bd46dc
|
|
void Gambit_fn_02BD46DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD46DC: ; // 0x2bd46dc
|
|
/* 02BD46DC */ cpu->r[0] = cpu->lr;
|
|
/* 02BD46E0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD46E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD46E4 */ cpu->r[4] = 0x00000021u;
|
|
/* 02BD46E8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD46E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD46E8 */ cpu->r[1] = _t1;
|
|
/* 02BD46EC */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD46F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD46F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD46F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD46F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD46FC */ return;
|
|
}
|
|
|
|
// fn_02BD46E8 @ 0x2bd46e8
|
|
void Gambit_fn_02BD46E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD46E8: ; // 0x2bd46e8
|
|
/* 02BD46E8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD46E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD46E8 */ cpu->r[1] = _t0;
|
|
/* 02BD46EC */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD46F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD46F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD46F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD46F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD46FC */ return;
|
|
}
|
|
|
|
// fn_02BD4700 @ 0x2bd4700
|
|
void Gambit_fn_02BD4700(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD4700: ; // 0x2bd4700
|
|
/* 02BD4700 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4704 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD4704 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4704 */ cpu->r[1] = _t0;
|
|
/* 02BD4708 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4708 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD470C */ cpu->r[11] = cpu->r[3];
|
|
/* 02BD4710 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4710 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD4714 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD4718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD471C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD471C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD471C */ if (_t4) goto L_02BD47A0; else goto L_02BD4720;
|
|
L_02BD4720: ; // 0x2bd4720
|
|
/* 02BD4720 */ _t5 = cpu->r[11] + 0x00000080u;
|
|
/* 02BD4720 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD4724 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BD4728 */ _t6 = cpu->r[9] + 0x000027A4u;
|
|
/* 02BD4728 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD4728 */ cpu->r[9] = _t6;
|
|
/* 02BD472C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 02BD4730 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4730 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD4730 */ if (_t8) goto L_02BD4734; else goto L_02BD4744;
|
|
L_02BD4734: ; // 0x2bd4734
|
|
/* 02BD4734 */ _t9 = cpu->r[11] + 0x00000084u;
|
|
/* 02BD4734 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD4738 */ _t10 = cpu->r[9] + 0x00000004u;
|
|
/* 02BD4738 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD473C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 02BD4740 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4740 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD4740 */ if (_t12) goto L_02BD4818; else goto L_02BD4744;
|
|
L_02BD4744: ; // 0x2bd4744
|
|
/* 02BD4744 */ _t13 = cpu->r[11] + 0x00000088u;
|
|
/* 02BD4744 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD4748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]);
|
|
/* 02BD474C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD474C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD474C */ if (_t15) goto L_02BD4750; else goto L_02BD4818;
|
|
L_02BD4750: ; // 0x2bd4750
|
|
/* 02BD4750 */ _t16 = cpu->r[11] + 0x00000084u;
|
|
/* 02BD4750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD4754 */ _t17 = cpu->r[11] + 0x0000008Cu;
|
|
/* 02BD4754 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD4758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02BD475C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD475C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD475C */ if (_t19) goto L_02BD4760; else goto L_02BD4818;
|
|
L_02BD4760: ; // 0x2bd4760
|
|
/* 02BD4760 */ _t20 = cpu->r[11] + 0x000000C2u;
|
|
/* 02BD4760 */ cpu->r[8] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02BD4764 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD4768 */ cpu->r[9] = cpu->r[11] + cpu->r[7];
|
|
/* 02BD476C */ _t21 = cpu->r[9] + 0x000000C4u;
|
|
/* 02BD476C */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD4770 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD4770 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD4774 */ _t23 = cpu->r[10] + 0x00000114u;
|
|
/* 02BD4774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD4778 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD477C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD4780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4784 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4784 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD4784 */ if (_t25) goto L_02BD4818; else goto L_02BD4788;
|
|
L_02BD4788: ; // 0x2bd4788
|
|
/* 02BD4788 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD478C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD478C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD4790 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4794 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4798 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD479C */ return;
|
|
L_02BD47A0: ; // 0x2bd47a0
|
|
/* 02BD47A0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD47A4 */ _t28 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BD47A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD47A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD47AC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD47AC */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BD47AC */ if (_t30) goto L_02BD4818; else goto L_02BD47B0;
|
|
L_02BD47B0: ; // 0x2bd47b0
|
|
/* 02BD47B0 */ _t31 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BD47B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD47B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BD47B8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD47BC */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD47BC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BD47BC */ if (_t33) goto L_02BD4800; else goto L_02BD47C0;
|
|
L_02BD47C0: ; // 0x2bd47c0
|
|
/* 02BD47C0 */ _t34 = cpu->r[12] + 0x00000058u;
|
|
/* 02BD47C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD47C4 */ cpu->r[0] = cpu->r[0] ^ cpu->r[12];
|
|
/* 02BD47C8 */ cpu->r[6] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BD47CC */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BD47CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD47D0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD47D0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BD47D0 */ if (_t36) goto L_02BD4800; else goto L_02BD47D4;
|
|
L_02BD47D4: ; // 0x2bd47d4
|
|
/* 02BD47D4 */ _t37 = cpu->r[11] + 0x000000C2u;
|
|
/* 02BD47D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02BD47D8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD47DC */ cpu->r[9] = cpu->r[11] + cpu->r[7];
|
|
/* 02BD47E0 */ _t38 = cpu->r[9] + 0x000000C4u;
|
|
/* 02BD47E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD47E4 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD47E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD47E8 */ _t40 = cpu->r[10] + 0x00000114u;
|
|
/* 02BD47E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD47EC */ cpu->ctr = cpu->r[11];
|
|
/* 02BD47F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD47F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD47F8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD47F8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BD47F8 */ if (_t42) goto L_02BD4800; else goto L_02BD47FC;
|
|
L_02BD47FC: ; // 0x2bd47fc
|
|
/* 02BD47FC */ cpu->r[31] = 0x00000001u;
|
|
L_02BD4800: ; // 0x2bd4800
|
|
/* 02BD4800 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD4804 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD4808 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD480C */ cpu->lr = cpu->r[0];
|
|
/* 02BD4810 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4814 */ return;
|
|
L_02BD4818: ; // 0x2bd4818
|
|
/* 02BD4818 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD481C */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD481C */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD4820 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4824 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4828 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD482C */ return;
|
|
}
|
|
|
|
// fn_02BD4704 @ 0x2bd4704
|
|
void Gambit_fn_02BD4704(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD4704: ; // 0x2bd4704
|
|
/* 02BD4704 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD4704 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4704 */ cpu->r[1] = _t0;
|
|
/* 02BD4708 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4708 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD470C */ cpu->r[11] = cpu->r[3];
|
|
/* 02BD4710 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4710 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD4714 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD4718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD471C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD471C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD471C */ if (_t4) goto L_02BD47A0; else goto L_02BD4720;
|
|
L_02BD4720: ; // 0x2bd4720
|
|
/* 02BD4720 */ _t5 = cpu->r[11] + 0x00000080u;
|
|
/* 02BD4720 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD4724 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BD4728 */ _t6 = cpu->r[9] + 0x000027A4u;
|
|
/* 02BD4728 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD4728 */ cpu->r[9] = _t6;
|
|
/* 02BD472C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 02BD4730 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4730 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD4730 */ if (_t8) goto L_02BD4734; else goto L_02BD4744;
|
|
L_02BD4734: ; // 0x2bd4734
|
|
/* 02BD4734 */ _t9 = cpu->r[11] + 0x00000084u;
|
|
/* 02BD4734 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD4738 */ _t10 = cpu->r[9] + 0x00000004u;
|
|
/* 02BD4738 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD473C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 02BD4740 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4740 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD4740 */ if (_t12) goto L_02BD4818; else goto L_02BD4744;
|
|
L_02BD4744: ; // 0x2bd4744
|
|
/* 02BD4744 */ _t13 = cpu->r[11] + 0x00000088u;
|
|
/* 02BD4744 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD4748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]);
|
|
/* 02BD474C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD474C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD474C */ if (_t15) goto L_02BD4750; else goto L_02BD4818;
|
|
L_02BD4750: ; // 0x2bd4750
|
|
/* 02BD4750 */ _t16 = cpu->r[11] + 0x00000084u;
|
|
/* 02BD4750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD4754 */ _t17 = cpu->r[11] + 0x0000008Cu;
|
|
/* 02BD4754 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD4758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02BD475C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD475C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD475C */ if (_t19) goto L_02BD4760; else goto L_02BD4818;
|
|
L_02BD4760: ; // 0x2bd4760
|
|
/* 02BD4760 */ _t20 = cpu->r[11] + 0x000000C2u;
|
|
/* 02BD4760 */ cpu->r[8] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02BD4764 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD4768 */ cpu->r[9] = cpu->r[11] + cpu->r[7];
|
|
/* 02BD476C */ _t21 = cpu->r[9] + 0x000000C4u;
|
|
/* 02BD476C */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD4770 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD4770 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD4774 */ _t23 = cpu->r[10] + 0x00000114u;
|
|
/* 02BD4774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD4778 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD477C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD4780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4784 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4784 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD4784 */ if (_t25) goto L_02BD4818; else goto L_02BD4788;
|
|
L_02BD4788: ; // 0x2bd4788
|
|
/* 02BD4788 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD478C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD478C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD4790 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4794 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4798 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD479C */ return;
|
|
L_02BD47A0: ; // 0x2bd47a0
|
|
/* 02BD47A0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD47A4 */ _t28 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BD47A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD47A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD47AC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD47AC */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BD47AC */ if (_t30) goto L_02BD4818; else goto L_02BD47B0;
|
|
L_02BD47B0: ; // 0x2bd47b0
|
|
/* 02BD47B0 */ _t31 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BD47B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD47B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Fu);
|
|
/* 02BD47B8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD47BC */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD47BC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BD47BC */ if (_t33) goto L_02BD4800; else goto L_02BD47C0;
|
|
L_02BD47C0: ; // 0x2bd47c0
|
|
/* 02BD47C0 */ _t34 = cpu->r[12] + 0x00000058u;
|
|
/* 02BD47C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD47C4 */ cpu->r[0] = cpu->r[0] ^ cpu->r[12];
|
|
/* 02BD47C8 */ cpu->r[6] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BD47CC */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BD47CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD47D0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD47D0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BD47D0 */ if (_t36) goto L_02BD4800; else goto L_02BD47D4;
|
|
L_02BD47D4: ; // 0x2bd47d4
|
|
/* 02BD47D4 */ _t37 = cpu->r[11] + 0x000000C2u;
|
|
/* 02BD47D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02BD47D8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD47DC */ cpu->r[9] = cpu->r[11] + cpu->r[7];
|
|
/* 02BD47E0 */ _t38 = cpu->r[9] + 0x000000C4u;
|
|
/* 02BD47E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD47E4 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD47E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD47E8 */ _t40 = cpu->r[10] + 0x00000114u;
|
|
/* 02BD47E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD47EC */ cpu->ctr = cpu->r[11];
|
|
/* 02BD47F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD47F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD47F8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD47F8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BD47F8 */ if (_t42) goto L_02BD4800; else goto L_02BD47FC;
|
|
L_02BD47FC: ; // 0x2bd47fc
|
|
/* 02BD47FC */ cpu->r[31] = 0x00000001u;
|
|
L_02BD4800: ; // 0x2bd4800
|
|
/* 02BD4800 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD4804 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD4808 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD480C */ cpu->lr = cpu->r[0];
|
|
/* 02BD4810 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4814 */ return;
|
|
L_02BD4818: ; // 0x2bd4818
|
|
/* 02BD4818 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD481C */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD481C */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD4820 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4824 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4828 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD482C */ return;
|
|
}
|
|
|
|
// fn_02BD4830 @ 0x2bd4830
|
|
void Gambit_fn_02BD4830(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD4830: ; // 0x2bd4830
|
|
/* 02BD4830 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4834 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD4834 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4834 */ cpu->r[1] = _t0;
|
|
/* 02BD4838 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4838 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD483C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD483C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BD4840 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD4844 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4844 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD4848 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4848 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BD484C */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD484C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD4850 */ _t6 = cpu->r[31] + 0x00000001u;
|
|
/* 02BD4850 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BD4854 */ cpu->r[28] = cpu->r[4];
|
|
/* 02BD4858 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BD485C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD4860 */ cpu->r[29] = 0x101A0000u;
|
|
/* 02BD4864 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4864 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD4864 */ if (_t8) goto L_02BD4868; else goto L_02BD48E0;
|
|
L_02BD4868: ; // 0x2bd4868
|
|
/* 02BD4868 */ _t9 = cpu->r[30] + 0xFFFFB6C0u;
|
|
/* 02BD4868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD486C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD4870 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4870 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD4870 */ if (_t11) goto L_02BD48AC; else goto L_02BD4874;
|
|
L_02BD4874: ; // 0x2bd4874
|
|
/* 02BD4874 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4878 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD487C */ Gambit_fn_02B67718(cpu);
|
|
/* 02BD4880 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BD4884 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD4888 */ cpu->r[5] = cpu->r[5] + 0x00004284u;
|
|
/* 02BD488C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4890 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BD4890 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD4890 */ if (_t13) goto L_02BD4894; // else: addr-0 trap, fall-through
|
|
L_02BD4894: ; // 0x2bd4894
|
|
/* 02BD4894 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BD4898 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD489C */ cpu->r[5] = cpu->r[29] + 0x00004280u;
|
|
/* 02BD48A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD48A4 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BD48A4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD48A4 */ if (_t15) goto L_02BD48A8; // else: addr-0 trap, fall-through
|
|
L_02BD48A8: ; // 0x2bd48a8
|
|
/* 02BD48A8 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BD48AC: ; // 0x2bd48ac
|
|
/* 02BD48AC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD48B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD48B4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD48B8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD48B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD48BC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD48BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD48C0 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD48C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD48C4 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD48C8 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD48C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD48CC */ cpu->lr = cpu->r[0];
|
|
/* 02BD48D0 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD48D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD48D4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD48D8 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD48DC */ return;
|
|
L_02BD48E0: ; // 0x2bd48e0
|
|
/* 02BD48E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD48E4 */ Gambit_fn_02BD4700(cpu);
|
|
/* 02BD48E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD48EC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD48EC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD48EC */ if (_t22) goto L_02BD48F0; else goto L_02BD4968;
|
|
L_02BD48F0: ; // 0x2bd48f0
|
|
/* 02BD48F0 */ _t23 = cpu->r[30] + 0xFFFFB6C0u;
|
|
/* 02BD48F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD48F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD48F8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD48F8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD48F8 */ if (_t25) goto L_02BD4934; else goto L_02BD48FC;
|
|
L_02BD48FC: ; // 0x2bd48fc
|
|
/* 02BD48FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4900 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD4904 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BD4908 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BD490C */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD4910 */ cpu->r[5] = cpu->r[5] + 0x000042A4u;
|
|
/* 02BD4914 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4918 */ _t26 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BD4918 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD4918 */ if (_t27) goto L_02BD491C; // else: addr-0 trap, fall-through
|
|
L_02BD491C: ; // 0x2bd491c
|
|
/* 02BD491C */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BD4920 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD4924 */ cpu->r[5] = cpu->r[29] + 0x00004280u;
|
|
/* 02BD4928 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD492C */ _t28 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BD492C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD492C */ if (_t29) goto L_02BD4930; // else: addr-0 trap, fall-through
|
|
L_02BD4930: ; // 0x2bd4930
|
|
/* 02BD4930 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BD4934: ; // 0x2bd4934
|
|
/* 02BD4934 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4938 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD493C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4940 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4940 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD4944 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4944 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD4948 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD4948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD494C */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD4950 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4950 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD4954 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4958 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4958 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD495C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD4960 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD4964 */ return;
|
|
L_02BD4968: ; // 0x2bd4968
|
|
/* 02BD4968 */ _t35 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD4968 */ cpu->r[0] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02BD496C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD4970 */ cpu->r[11] = cpu->r[31] + cpu->r[0];
|
|
/* 02BD4974 */ _t36 = cpu->r[11] + 0x000000C4u;
|
|
/* 02BD4974 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD4978 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD4978 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD497C */ _t38 = cpu->r[12] + 0x00000124u;
|
|
/* 02BD497C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD4980 */ _t39 = cpu->r[11] + 0x000000D0u;
|
|
/* 02BD4980 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD4984 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD4988 */ cpu->r[5] = cpu->r[28];
|
|
/* 02BD498C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD4990 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4990 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD4994 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4994 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD4998 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD4998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD499C */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD499C */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD49A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD49A4 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD49A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD49A8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD49AC */ return;
|
|
}
|
|
|
|
// fn_02BD4834 @ 0x2bd4834
|
|
void Gambit_fn_02BD4834(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD4834: ; // 0x2bd4834
|
|
/* 02BD4834 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD4834 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4834 */ cpu->r[1] = _t0;
|
|
/* 02BD4838 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4838 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD483C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD483C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BD4840 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD4844 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4844 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD4848 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4848 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BD484C */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD484C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD4850 */ _t6 = cpu->r[31] + 0x00000001u;
|
|
/* 02BD4850 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BD4854 */ cpu->r[28] = cpu->r[4];
|
|
/* 02BD4858 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BD485C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD4860 */ cpu->r[29] = 0x101A0000u;
|
|
/* 02BD4864 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4864 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD4864 */ if (_t8) goto L_02BD4868; else goto L_02BD48E0;
|
|
L_02BD4868: ; // 0x2bd4868
|
|
/* 02BD4868 */ _t9 = cpu->r[30] + 0xFFFFB6C0u;
|
|
/* 02BD4868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD486C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD4870 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4870 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD4870 */ if (_t11) goto L_02BD48AC; else goto L_02BD4874;
|
|
L_02BD4874: ; // 0x2bd4874
|
|
/* 02BD4874 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4878 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD487C */ Gambit_fn_02B67718(cpu);
|
|
/* 02BD4880 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BD4884 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD4888 */ cpu->r[5] = cpu->r[5] + 0x00004284u;
|
|
/* 02BD488C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4890 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BD4890 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD4890 */ if (_t13) goto L_02BD4894; // else: addr-0 trap, fall-through
|
|
L_02BD4894: ; // 0x2bd4894
|
|
/* 02BD4894 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BD4898 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD489C */ cpu->r[5] = cpu->r[29] + 0x00004280u;
|
|
/* 02BD48A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD48A4 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BD48A4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD48A4 */ if (_t15) goto L_02BD48A8; // else: addr-0 trap, fall-through
|
|
L_02BD48A8: ; // 0x2bd48a8
|
|
/* 02BD48A8 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BD48AC: ; // 0x2bd48ac
|
|
/* 02BD48AC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD48B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD48B4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD48B8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD48B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD48BC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD48BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD48C0 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD48C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD48C4 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD48C8 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD48C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD48CC */ cpu->lr = cpu->r[0];
|
|
/* 02BD48D0 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD48D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD48D4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD48D8 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD48DC */ return;
|
|
L_02BD48E0: ; // 0x2bd48e0
|
|
/* 02BD48E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD48E4 */ Gambit_fn_02BD4700(cpu);
|
|
/* 02BD48E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD48EC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD48EC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD48EC */ if (_t22) goto L_02BD48F0; else goto L_02BD4968;
|
|
L_02BD48F0: ; // 0x2bd48f0
|
|
/* 02BD48F0 */ _t23 = cpu->r[30] + 0xFFFFB6C0u;
|
|
/* 02BD48F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD48F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD48F8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD48F8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD48F8 */ if (_t25) goto L_02BD4934; else goto L_02BD48FC;
|
|
L_02BD48FC: ; // 0x2bd48fc
|
|
/* 02BD48FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4900 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD4904 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BD4908 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BD490C */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD4910 */ cpu->r[5] = cpu->r[5] + 0x000042A4u;
|
|
/* 02BD4914 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4918 */ _t26 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BD4918 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD4918 */ if (_t27) goto L_02BD491C; // else: addr-0 trap, fall-through
|
|
L_02BD491C: ; // 0x2bd491c
|
|
/* 02BD491C */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BD4920 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD4924 */ cpu->r[5] = cpu->r[29] + 0x00004280u;
|
|
/* 02BD4928 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD492C */ _t28 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BD492C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD492C */ if (_t29) goto L_02BD4930; // else: addr-0 trap, fall-through
|
|
L_02BD4930: ; // 0x2bd4930
|
|
/* 02BD4930 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BD4934: ; // 0x2bd4934
|
|
/* 02BD4934 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4938 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD493C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4940 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4940 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD4944 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4944 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD4948 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD4948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD494C */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD4950 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4950 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD4954 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4958 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4958 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD495C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD4960 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD4964 */ return;
|
|
L_02BD4968: ; // 0x2bd4968
|
|
/* 02BD4968 */ _t35 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD4968 */ cpu->r[0] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02BD496C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD4970 */ cpu->r[11] = cpu->r[31] + cpu->r[0];
|
|
/* 02BD4974 */ _t36 = cpu->r[11] + 0x000000C4u;
|
|
/* 02BD4974 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD4978 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD4978 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD497C */ _t38 = cpu->r[12] + 0x00000124u;
|
|
/* 02BD497C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD4980 */ _t39 = cpu->r[11] + 0x000000D0u;
|
|
/* 02BD4980 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD4984 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD4988 */ cpu->r[5] = cpu->r[28];
|
|
/* 02BD498C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD4990 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4990 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD4994 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4994 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD4998 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD4998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD499C */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD499C */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD49A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD49A4 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD49A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD49A8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD49AC */ return;
|
|
}
|
|
|
|
// fn_02BD49B0 @ 0x2bd49b0
|
|
void Gambit_fn_02BD49B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02BD49B0: ; // 0x2bd49b0
|
|
/* 02BD49B0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD49B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD49B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD49B4 */ cpu->r[1] = _t0;
|
|
/* 02BD49B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD49B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD49BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD49BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD49C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD49C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD49C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD49C8 */ _t4 = cpu->r[30] + 0x00000001u;
|
|
/* 02BD49C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02BD49CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD49D0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD49D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD49D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD49D4 */ if (_t6) goto L_02BD49E8; else goto L_02BD49D8;
|
|
L_02BD49D8: ; // 0x2bd49d8
|
|
/* 02BD49D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD49DC */ Gambit_fn_02BD4700(cpu);
|
|
/* 02BD49E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD49E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD49E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD49E4 */ if (_t8) goto L_02BD49E8; else goto L_02BD4A04;
|
|
L_02BD49E8: ; // 0x2bd49e8
|
|
/* 02BD49E8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD49E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD49EC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD49EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD49F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD49F4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD49F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD49F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD49FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4A00 */ return;
|
|
L_02BD4A04: ; // 0x2bd4a04
|
|
/* 02BD4A04 */ _t12 = cpu->r[30] + 0x000000C2u;
|
|
/* 02BD4A04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02BD4A08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD4A0C */ cpu->r[10] = cpu->r[30] + cpu->r[0];
|
|
/* 02BD4A10 */ _t13 = cpu->r[10] + 0x000000C4u;
|
|
/* 02BD4A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD4A14 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD4A14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD4A18 */ _t15 = cpu->r[12] + 0x0000012Cu;
|
|
/* 02BD4A18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD4A1C */ cpu->ctr = cpu->r[12];
|
|
/* 02BD4A20 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD4A24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD4A28 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD4A2C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4A2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD4A30 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4A34 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4A34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD4A38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4A3C */ return;
|
|
}
|
|
|
|
// fn_02BD49B4 @ 0x2bd49b4
|
|
void Gambit_fn_02BD49B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02BD49B4: ; // 0x2bd49b4
|
|
/* 02BD49B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD49B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD49B4 */ cpu->r[1] = _t0;
|
|
/* 02BD49B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD49B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD49BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD49BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD49C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD49C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD49C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD49C8 */ _t4 = cpu->r[30] + 0x00000001u;
|
|
/* 02BD49C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02BD49CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD49D0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD49D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD49D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD49D4 */ if (_t6) goto L_02BD49E8; else goto L_02BD49D8;
|
|
L_02BD49D8: ; // 0x2bd49d8
|
|
/* 02BD49D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD49DC */ Gambit_fn_02BD4700(cpu);
|
|
/* 02BD49E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD49E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD49E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD49E4 */ if (_t8) goto L_02BD49E8; else goto L_02BD4A04;
|
|
L_02BD49E8: ; // 0x2bd49e8
|
|
/* 02BD49E8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD49E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD49EC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD49EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD49F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD49F4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD49F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD49F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD49FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4A00 */ return;
|
|
L_02BD4A04: ; // 0x2bd4a04
|
|
/* 02BD4A04 */ _t12 = cpu->r[30] + 0x000000C2u;
|
|
/* 02BD4A04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02BD4A08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD4A0C */ cpu->r[10] = cpu->r[30] + cpu->r[0];
|
|
/* 02BD4A10 */ _t13 = cpu->r[10] + 0x000000C4u;
|
|
/* 02BD4A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD4A14 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD4A14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD4A18 */ _t15 = cpu->r[12] + 0x0000012Cu;
|
|
/* 02BD4A18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD4A1C */ cpu->ctr = cpu->r[12];
|
|
/* 02BD4A20 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD4A24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD4A28 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD4A2C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4A2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD4A30 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4A34 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4A34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD4A38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4A3C */ return;
|
|
}
|
|
|
|
// fn_02BD4A40 @ 0x2bd4a40
|
|
void Gambit_fn_02BD4A40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02BD4A40: ; // 0x2bd4a40
|
|
/* 02BD4A40 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4A44 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD4A44 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD4A48 */ cpu->r[10] = cpu->r[3];
|
|
/* 02BD4A4C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD4A4C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD4A4C */ cpu->r[1] = _t1;
|
|
/* 02BD4A50 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD4A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4A58 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4A58 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD4A58 */ if (_t3) goto L_02BD4AB0; else goto L_02BD4A5C;
|
|
L_02BD4A5C: ; // 0x2bd4a5c
|
|
/* 02BD4A5C */ _t4 = cpu->r[10] + 0x00000080u;
|
|
/* 02BD4A5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD4A60 */ cpu->r[8] = 0x10200000u;
|
|
/* 02BD4A64 */ _t5 = cpu->r[8] + 0x000027A4u;
|
|
/* 02BD4A64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD4A64 */ cpu->r[8] = _t5;
|
|
/* 02BD4A68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 02BD4A6C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4A6C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD4A6C */ if (_t7) goto L_02BD4A70; else goto L_02BD4A80;
|
|
L_02BD4A70: ; // 0x2bd4a70
|
|
/* 02BD4A70 */ _t8 = cpu->r[10] + 0x00000084u;
|
|
/* 02BD4A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD4A74 */ _t9 = cpu->r[8] + 0x00000004u;
|
|
/* 02BD4A74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD4A78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02BD4A7C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4A7C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD4A7C */ if (_t11) goto L_02BD4AF0; else goto L_02BD4A80;
|
|
L_02BD4A80: ; // 0x2bd4a80
|
|
/* 02BD4A80 */ _t12 = cpu->r[10] + 0x00000088u;
|
|
/* 02BD4A80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD4A84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 02BD4A88 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4A88 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD4A88 */ if (_t14) goto L_02BD4A8C; else goto L_02BD4AF0;
|
|
L_02BD4A8C: ; // 0x2bd4a8c
|
|
/* 02BD4A8C */ _t15 = cpu->r[10] + 0x00000084u;
|
|
/* 02BD4A8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD4A90 */ _t16 = cpu->r[10] + 0x0000008Cu;
|
|
/* 02BD4A90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD4A94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BD4A98 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4A98 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BD4A98 */ if (_t18) goto L_02BD4A9C; else goto L_02BD4AF0;
|
|
L_02BD4A9C: ; // 0x2bd4a9c
|
|
/* 02BD4A9C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD4AA0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4AA4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4AA8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD4AAC */ return;
|
|
L_02BD4AB0: ; // 0x2bd4ab0
|
|
/* 02BD4AB0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD4AB4 */ _t20 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BD4AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD4AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD4ABC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4ABC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD4ABC */ if (_t22) goto L_02BD4AF0; else goto L_02BD4AC0;
|
|
L_02BD4AC0: ; // 0x2bd4ac0
|
|
/* 02BD4AC0 */ _t23 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BD4AC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD4AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000001Fu);
|
|
/* 02BD4AC8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4ACC */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD4ACC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD4ACC */ if (_t25) goto L_02BD4AE0; else goto L_02BD4AD0;
|
|
L_02BD4AD0: ; // 0x2bd4ad0
|
|
/* 02BD4AD0 */ _t26 = cpu->r[12] + 0x00000058u;
|
|
/* 02BD4AD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD4AD4 */ cpu->r[7] = cpu->r[10] ^ cpu->r[0];
|
|
/* 02BD4AD8 */ cpu->r[8] = rbrew_clz32(cpu->r[7]);
|
|
/* 02BD4ADC */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
L_02BD4AE0: ; // 0x2bd4ae0
|
|
/* 02BD4AE0 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4AE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD4AE4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4AE8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4AEC */ return;
|
|
L_02BD4AF0: ; // 0x2bd4af0
|
|
/* 02BD4AF0 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD4AF4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4AF8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4AFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4B00 */ return;
|
|
}
|
|
|
|
// fn_02BD4A4C @ 0x2bd4a4c
|
|
void Gambit_fn_02BD4A4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02BD4A4C: ; // 0x2bd4a4c
|
|
/* 02BD4A4C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD4A4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4A4C */ cpu->r[1] = _t0;
|
|
/* 02BD4A50 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD4A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4A58 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4A58 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD4A58 */ if (_t2) goto L_02BD4AB0; else goto L_02BD4A5C;
|
|
L_02BD4A5C: ; // 0x2bd4a5c
|
|
/* 02BD4A5C */ _t3 = cpu->r[10] + 0x00000080u;
|
|
/* 02BD4A5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD4A60 */ cpu->r[8] = 0x10200000u;
|
|
/* 02BD4A64 */ _t4 = cpu->r[8] + 0x000027A4u;
|
|
/* 02BD4A64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD4A64 */ cpu->r[8] = _t4;
|
|
/* 02BD4A68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 02BD4A6C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4A6C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD4A6C */ if (_t6) goto L_02BD4A70; else goto L_02BD4A80;
|
|
L_02BD4A70: ; // 0x2bd4a70
|
|
/* 02BD4A70 */ _t7 = cpu->r[10] + 0x00000084u;
|
|
/* 02BD4A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD4A74 */ _t8 = cpu->r[8] + 0x00000004u;
|
|
/* 02BD4A74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD4A78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02BD4A7C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4A7C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD4A7C */ if (_t10) goto L_02BD4AF0; else goto L_02BD4A80;
|
|
L_02BD4A80: ; // 0x2bd4a80
|
|
/* 02BD4A80 */ _t11 = cpu->r[10] + 0x00000088u;
|
|
/* 02BD4A80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD4A84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 02BD4A88 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4A88 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD4A88 */ if (_t13) goto L_02BD4A8C; else goto L_02BD4AF0;
|
|
L_02BD4A8C: ; // 0x2bd4a8c
|
|
/* 02BD4A8C */ _t14 = cpu->r[10] + 0x00000084u;
|
|
/* 02BD4A8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD4A90 */ _t15 = cpu->r[10] + 0x0000008Cu;
|
|
/* 02BD4A90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD4A94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BD4A98 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4A98 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD4A98 */ if (_t17) goto L_02BD4A9C; else goto L_02BD4AF0;
|
|
L_02BD4A9C: ; // 0x2bd4a9c
|
|
/* 02BD4A9C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD4AA0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4AA4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4AA8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD4AAC */ return;
|
|
L_02BD4AB0: ; // 0x2bd4ab0
|
|
/* 02BD4AB0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD4AB4 */ _t19 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BD4AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD4AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD4ABC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4ABC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD4ABC */ if (_t21) goto L_02BD4AF0; else goto L_02BD4AC0;
|
|
L_02BD4AC0: ; // 0x2bd4ac0
|
|
/* 02BD4AC0 */ _t22 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BD4AC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD4AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000001Fu);
|
|
/* 02BD4AC8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4ACC */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD4ACC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BD4ACC */ if (_t24) goto L_02BD4AE0; else goto L_02BD4AD0;
|
|
L_02BD4AD0: ; // 0x2bd4ad0
|
|
/* 02BD4AD0 */ _t25 = cpu->r[12] + 0x00000058u;
|
|
/* 02BD4AD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD4AD4 */ cpu->r[7] = cpu->r[10] ^ cpu->r[0];
|
|
/* 02BD4AD8 */ cpu->r[8] = rbrew_clz32(cpu->r[7]);
|
|
/* 02BD4ADC */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
L_02BD4AE0: ; // 0x2bd4ae0
|
|
/* 02BD4AE0 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4AE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD4AE4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4AE8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4AEC */ return;
|
|
L_02BD4AF0: ; // 0x2bd4af0
|
|
/* 02BD4AF0 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD4AF4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4AF8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4AFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4B00 */ return;
|
|
}
|
|
|
|
// fn_02BD4B04 @ 0x2bd4b04
|
|
void Gambit_fn_02BD4B04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02BD4B04: ; // 0x2bd4b04
|
|
/* 02BD4B04 */ _t0 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD4B04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02BD4B08 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD4B0C */ cpu->r[12] = cpu->r[3] + cpu->r[12];
|
|
/* 02BD4B10 */ _t1 = cpu->r[12] + 0x000000C4u;
|
|
/* 02BD4B10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD4B14 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD4B14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD4B18 */ _t3 = cpu->r[12] + 0x00000114u;
|
|
/* 02BD4B18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD4B1C */ cpu->ctr = cpu->r[0];
|
|
/* 02BD4B20 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02BD4B24 @ 0x2bd4b24
|
|
void Gambit_fn_02BD4B24(CPUState* cpu) {
|
|
uint32_t _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_02BD4B24: ; // 0x2bd4b24
|
|
/* 02BD4B24 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4B28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD4B28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4B28 */ cpu->r[1] = _t0;
|
|
/* 02BD4B2C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4B2C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD4B30 */ cpu->r[11] = cpu->r[3];
|
|
/* 02BD4B34 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4B34 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD4B38 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD4B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4B40 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4B40 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD4B40 */ if (_t4) goto L_02BD4B60; else goto L_02BD4B44;
|
|
L_02BD4B44: ; // 0x2bd4b44
|
|
/* 02BD4B44 */ _t5 = cpu->r[11] + 0x00000068u;
|
|
/* 02BD4B44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD4B48 */ Gambit_fn_02BDB82C(cpu);
|
|
/* 02BD4B4C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4B4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD4B50 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4B50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD4B54 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4B58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4B5C */ return;
|
|
L_02BD4B60: ; // 0x2bd4b60
|
|
/* 02BD4B60 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BD4B64 */ _t8 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BD4B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD4B64 */ cpu->r[31] = _t8;
|
|
/* 02BD4B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD4B6C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4B6C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD4B6C */ if (_t10) goto L_02BD4BC4; else goto L_02BD4B70;
|
|
L_02BD4B70: ; // 0x2bd4b70
|
|
/* 02BD4B70 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD4B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD4B74 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD4B78 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4B78 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BD4B7C */ _t13 = cpu->r[4] + 0x00000004u;
|
|
/* 02BD4B7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD4B80 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4B84 */ _t14 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BD4B84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD4B88 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4B8C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4B8C */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02BD4B90 */ Gambit_fn_02BED38C(cpu);
|
|
/* 02BD4B94 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD4B98 */ cpu->r[0] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02BD4B9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD4B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD4BA0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4BA0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD4BA0 */ if (_t17) goto L_02BD4BC4; else goto L_02BD4BA4;
|
|
L_02BD4BA4: ; // 0x2bd4ba4
|
|
/* 02BD4BA4 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD4BA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD4BA8 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4BA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD4BAC */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BD4BB0 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD4BB4 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4BB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD4BB8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4BBC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4BC0 */ return;
|
|
L_02BD4BC4: ; // 0x2bd4bc4
|
|
/* 02BD4BC4 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD4BC8 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4BC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD4BCC */ cpu->lr = cpu->r[0];
|
|
/* 02BD4BD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4BD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4BD8 */ return;
|
|
}
|
|
|
|
// fn_02BD4B28 @ 0x2bd4b28
|
|
void Gambit_fn_02BD4B28(CPUState* cpu) {
|
|
uint32_t _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_02BD4B28: ; // 0x2bd4b28
|
|
/* 02BD4B28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD4B28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4B28 */ cpu->r[1] = _t0;
|
|
/* 02BD4B2C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4B2C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD4B30 */ cpu->r[11] = cpu->r[3];
|
|
/* 02BD4B34 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4B34 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD4B38 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD4B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4B40 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4B40 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD4B40 */ if (_t4) goto L_02BD4B60; else goto L_02BD4B44;
|
|
L_02BD4B44: ; // 0x2bd4b44
|
|
/* 02BD4B44 */ _t5 = cpu->r[11] + 0x00000068u;
|
|
/* 02BD4B44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD4B48 */ Gambit_fn_02BDB82C(cpu);
|
|
/* 02BD4B4C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4B4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD4B50 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4B50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD4B54 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4B58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4B5C */ return;
|
|
L_02BD4B60: ; // 0x2bd4b60
|
|
/* 02BD4B60 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BD4B64 */ _t8 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BD4B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD4B64 */ cpu->r[31] = _t8;
|
|
/* 02BD4B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD4B6C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4B6C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD4B6C */ if (_t10) goto L_02BD4BC4; else goto L_02BD4B70;
|
|
L_02BD4B70: ; // 0x2bd4b70
|
|
/* 02BD4B70 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD4B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD4B74 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD4B78 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4B78 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BD4B7C */ _t13 = cpu->r[4] + 0x00000004u;
|
|
/* 02BD4B7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD4B80 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4B84 */ _t14 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BD4B84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD4B88 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4B8C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4B8C */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02BD4B90 */ Gambit_fn_02BED38C(cpu);
|
|
/* 02BD4B94 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD4B98 */ cpu->r[0] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02BD4B9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD4B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD4BA0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4BA0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD4BA0 */ if (_t17) goto L_02BD4BC4; else goto L_02BD4BA4;
|
|
L_02BD4BA4: ; // 0x2bd4ba4
|
|
/* 02BD4BA4 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD4BA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD4BA8 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4BA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD4BAC */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BD4BB0 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD4BB4 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4BB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD4BB8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4BBC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4BC0 */ return;
|
|
L_02BD4BC4: ; // 0x2bd4bc4
|
|
/* 02BD4BC4 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD4BC8 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4BC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD4BCC */ cpu->lr = cpu->r[0];
|
|
/* 02BD4BD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4BD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4BD8 */ return;
|
|
}
|
|
|
|
// fn_02BD4BDC @ 0x2bd4bdc
|
|
void Gambit_fn_02BD4BDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BD4BDC: ; // 0x2bd4bdc
|
|
/* 02BD4BDC */ _t0 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BD4BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD4BE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BD4BE4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4BE4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD4BE4 */ if (_t2) goto L_02BD4BF8; else goto L_02BD4BE8;
|
|
L_02BD4BE8: ; // 0x2bd4be8
|
|
/* 02BD4BE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02BD4BEC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4BEC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD4BEC */ if (_t4) goto L_02BD4BF0; else goto L_02BD4C00;
|
|
L_02BD4BF0: ; // 0x2bd4bf0
|
|
/* 02BD4BF0 */ cpu->r[3] = 0x00000005u;
|
|
/* 02BD4BF4 */ return;
|
|
L_02BD4BF8: ; // 0x2bd4bf8
|
|
/* 02BD4BF8 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BD4BFC */ return;
|
|
L_02BD4C00: ; // 0x2bd4c00
|
|
/* 02BD4C00 */ _t5 = cpu->r[3] + 0x00000078u;
|
|
/* 02BD4C00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD4C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BD4C08 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD4C08 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD4C08 */ if (_t7) goto L_02BD4C24; else goto L_02BD4C0C;
|
|
L_02BD4C0C: ; // 0x2bd4c0c
|
|
/* 02BD4C0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02BD4C10 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD4C10 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD4C10 */ if (_t9) goto L_02BD4C24; else goto L_02BD4C14;
|
|
L_02BD4C14: ; // 0x2bd4c14
|
|
/* 02BD4C14 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BD4C18 */ cpu->r[12] = cpu->r[12] + 0x000042BEu;
|
|
/* 02BD4C1C */ _t10 = cpu->r[12] + cpu->r[0];
|
|
/* 02BD4C1C */ cpu->r[3] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02BD4C20 */ return;
|
|
L_02BD4C24: ; // 0x2bd4c24
|
|
/* 02BD4C24 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4C28 */ return;
|
|
}
|
|
|
|
// fn_02BD4C2C @ 0x2bd4c2c
|
|
void Gambit_fn_02BD4C2C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BD4C2C: ; // 0x2bd4c2c
|
|
/* 02BD4C2C */ _t0 = cpu->r[3] + 0x000000E6u;
|
|
/* 02BD4C2C */ cpu->r[3] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02BD4C30 */ return;
|
|
}
|
|
|
|
// fn_02BD4C34 @ 0x2bd4c34
|
|
void Gambit_fn_02BD4C34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BD4C34: ; // 0x2bd4c34
|
|
/* 02BD4C34 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4C38 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD4C38 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD4C3C */ cpu->r[11] = cpu->r[3];
|
|
/* 02BD4C40 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD4C40 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD4C40 */ cpu->r[1] = _t1;
|
|
/* 02BD4C44 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD4C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4C4C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4C4C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD4C4C */ if (_t3) goto L_02BD4C68; else goto L_02BD4C50;
|
|
L_02BD4C50: ; // 0x2bd4c50
|
|
/* 02BD4C50 */ cpu->r[3] = cpu->r[11];
|
|
/* 02BD4C54 */ Gambit_fn_02BD4C2C(cpu);
|
|
/* 02BD4C58 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD4C5C */ cpu->lr = cpu->r[0];
|
|
/* 02BD4C60 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4C64 */ return;
|
|
L_02BD4C68: ; // 0x2bd4c68
|
|
/* 02BD4C68 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD4C6C */ _t5 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BD4C6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD4C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD4C74 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4C78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4C78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD4C78 */ if (_t7) goto L_02BD4C80; else goto L_02BD4C7C;
|
|
L_02BD4C7C: ; // 0x2bd4c7c
|
|
/* 02BD4C7C */ _t8 = cpu->r[12] + 0x00000050u;
|
|
/* 02BD4C7C */ cpu->r[3] = rbrew_read16(cpu->mem, _t8);
|
|
L_02BD4C80: ; // 0x2bd4c80
|
|
/* 02BD4C80 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD4C84 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4C88 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4C8C */ return;
|
|
}
|
|
|
|
// fn_02BD4C40 @ 0x2bd4c40
|
|
void Gambit_fn_02BD4C40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BD4C40: ; // 0x2bd4c40
|
|
/* 02BD4C40 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD4C40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4C40 */ cpu->r[1] = _t0;
|
|
/* 02BD4C44 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD4C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4C4C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4C4C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD4C4C */ if (_t2) goto L_02BD4C68; else goto L_02BD4C50;
|
|
L_02BD4C50: ; // 0x2bd4c50
|
|
/* 02BD4C50 */ cpu->r[3] = cpu->r[11];
|
|
/* 02BD4C54 */ Gambit_fn_02BD4C2C(cpu);
|
|
/* 02BD4C58 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD4C5C */ cpu->lr = cpu->r[0];
|
|
/* 02BD4C60 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4C64 */ return;
|
|
L_02BD4C68: ; // 0x2bd4c68
|
|
/* 02BD4C68 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD4C6C */ _t4 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BD4C6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD4C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD4C74 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4C78 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4C78 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD4C78 */ if (_t6) goto L_02BD4C80; else goto L_02BD4C7C;
|
|
L_02BD4C7C: ; // 0x2bd4c7c
|
|
/* 02BD4C7C */ _t7 = cpu->r[12] + 0x00000050u;
|
|
/* 02BD4C7C */ cpu->r[3] = rbrew_read16(cpu->mem, _t7);
|
|
L_02BD4C80: ; // 0x2bd4c80
|
|
/* 02BD4C80 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD4C84 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4C88 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4C8C */ return;
|
|
}
|
|
|
|
// fn_02BD4C90 @ 0x2bd4c90
|
|
void Gambit_fn_02BD4C90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BD4C90: ; // 0x2bd4c90
|
|
/* 02BD4C90 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02BD4C90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD4C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4C98 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4C98 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD4C98 */ if (_t2) goto L_02BD4CAC; else goto L_02BD4C9C;
|
|
L_02BD4C9C: ; // 0x2bd4c9c
|
|
/* 02BD4C9C */ _t3 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD4C9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD4CA0 */ _t4 = cpu->r[12] + 0x00000054u;
|
|
/* 02BD4CA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD4CA4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD4CA8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02BD4CAC: ; // 0x2bd4cac
|
|
/* 02BD4CAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4CB0 */ return;
|
|
}
|
|
|
|
// fn_02BD4CB4 @ 0x2bd4cb4
|
|
void Gambit_fn_02BD4CB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BD4CB4: ; // 0x2bd4cb4
|
|
/* 02BD4CB4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4CB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD4CB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4CB8 */ cpu->r[1] = _t0;
|
|
/* 02BD4CBC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4CBC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD4CC0 */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BD4CC4 */ cpu->r[31] = cpu->r[31] + 0xFFFF9425u;
|
|
/* 02BD4CC8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4CC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD4CCC */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BD4CD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 02BD4CD4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD4CD4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD4CD4 */ if (_t4) goto L_02BD4CF4; else goto L_02BD4CD8;
|
|
L_02BD4CD8: ; // 0x2bd4cd8
|
|
/* 02BD4CD8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4CD8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD4CD8 */ if (_t6) goto L_02BD4D0C; else goto L_02BD4CDC;
|
|
L_02BD4CDC: ; // 0x2bd4cdc
|
|
/* 02BD4CDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000005u);
|
|
/* 02BD4CE0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4CE0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD4CE0 */ if (_t8) goto L_02BD4D30; else goto L_02BD4CE4;
|
|
L_02BD4CE4: ; // 0x2bd4ce4
|
|
/* 02BD4CE4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4CE8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4CEC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4CF0 */ goto L_02BD4D3C;
|
|
L_02BD4CF4: ; // 0x2bd4cf4
|
|
/* 02BD4CF4 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4CF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD4CF8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4CF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD4CFC */ cpu->lr = cpu->r[0];
|
|
/* 02BD4D00 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4D04 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4D08 */ return;
|
|
L_02BD4D0C: ; // 0x2bd4d0c
|
|
/* 02BD4D0C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4D10 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4D14 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4D18 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD4D1C */ cpu->r[3] = cpu->r[31] + 0x000000D9u;
|
|
/* 02BD4D20 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4D20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD4D24 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4D28 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4D2C */ return;
|
|
L_02BD4D30: ; // 0x2bd4d30
|
|
/* 02BD4D30 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4D34 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4D38 */ Gambit_fn_02C89380(cpu);
|
|
L_02BD4D3C: ; // 0x2bd4d3c
|
|
/* 02BD4D3C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD4D40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4D44 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4D44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD4D48 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4D4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4D50 */ return;
|
|
}
|
|
|
|
// fn_02BD4CB8 @ 0x2bd4cb8
|
|
void Gambit_fn_02BD4CB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BD4CB8: ; // 0x2bd4cb8
|
|
/* 02BD4CB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD4CB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4CB8 */ cpu->r[1] = _t0;
|
|
/* 02BD4CBC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4CBC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD4CC0 */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BD4CC4 */ cpu->r[31] = cpu->r[31] + 0xFFFF9425u;
|
|
/* 02BD4CC8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4CC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD4CCC */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BD4CD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 02BD4CD4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD4CD4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD4CD4 */ if (_t4) goto L_02BD4CF4; else goto L_02BD4CD8;
|
|
L_02BD4CD8: ; // 0x2bd4cd8
|
|
/* 02BD4CD8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4CD8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD4CD8 */ if (_t6) goto L_02BD4D0C; else goto L_02BD4CDC;
|
|
L_02BD4CDC: ; // 0x2bd4cdc
|
|
/* 02BD4CDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000005u);
|
|
/* 02BD4CE0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4CE0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD4CE0 */ if (_t8) goto L_02BD4D30; else goto L_02BD4CE4;
|
|
L_02BD4CE4: ; // 0x2bd4ce4
|
|
/* 02BD4CE4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4CE8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4CEC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4CF0 */ goto L_02BD4D3C;
|
|
L_02BD4CF4: ; // 0x2bd4cf4
|
|
/* 02BD4CF4 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4CF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD4CF8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4CF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD4CFC */ cpu->lr = cpu->r[0];
|
|
/* 02BD4D00 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4D04 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4D08 */ return;
|
|
L_02BD4D0C: ; // 0x2bd4d0c
|
|
/* 02BD4D0C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4D10 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4D14 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4D18 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD4D1C */ cpu->r[3] = cpu->r[31] + 0x000000D9u;
|
|
/* 02BD4D20 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4D20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD4D24 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4D28 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4D2C */ return;
|
|
L_02BD4D30: ; // 0x2bd4d30
|
|
/* 02BD4D30 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4D34 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4D38 */ Gambit_fn_02C89380(cpu);
|
|
L_02BD4D3C: ; // 0x2bd4d3c
|
|
/* 02BD4D3C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD4D40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4D44 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4D44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD4D48 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4D4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4D50 */ return;
|
|
}
|
|
|
|
// fn_02BD4D54 @ 0x2bd4d54
|
|
void Gambit_fn_02BD4D54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BD4D54: ; // 0x2bd4d54
|
|
/* 02BD4D54 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4D58 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD4D58 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD4D5C */ cpu->r[11] = cpu->r[3];
|
|
/* 02BD4D60 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD4D60 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD4D60 */ cpu->r[1] = _t1;
|
|
/* 02BD4D64 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD4D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4D6C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4D6C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD4D6C */ if (_t3) goto L_02BD4DA0; else goto L_02BD4D70;
|
|
L_02BD4D70: ; // 0x2bd4d70
|
|
/* 02BD4D70 */ _t4 = cpu->r[11] + 0x00000068u;
|
|
/* 02BD4D70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD4D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4D78 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4D78 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD4D78 */ if (_t6) goto L_02BD4DA0; else goto L_02BD4D7C;
|
|
L_02BD4D7C: ; // 0x2bd4d7c
|
|
/* 02BD4D7C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4D80 */ Gambit_fn_02BDBF7C(cpu);
|
|
/* 02BD4D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4D88 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4D88 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD4D88 */ if (_t8) goto L_02BD4DA0; else goto L_02BD4D8C;
|
|
L_02BD4D8C: ; // 0x2bd4d8c
|
|
/* 02BD4D8C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD4D90 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4D90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD4D94 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4D98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4D9C */ return;
|
|
L_02BD4DA0: ; // 0x2bd4da0
|
|
/* 02BD4DA0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4DA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD4DA4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4DA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4DAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4DB0 */ return;
|
|
}
|
|
|
|
// fn_02BD4D60 @ 0x2bd4d60
|
|
void Gambit_fn_02BD4D60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BD4D60: ; // 0x2bd4d60
|
|
/* 02BD4D60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD4D60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4D60 */ cpu->r[1] = _t0;
|
|
/* 02BD4D64 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD4D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4D6C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4D6C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD4D6C */ if (_t2) goto L_02BD4DA0; else goto L_02BD4D70;
|
|
L_02BD4D70: ; // 0x2bd4d70
|
|
/* 02BD4D70 */ _t3 = cpu->r[11] + 0x00000068u;
|
|
/* 02BD4D70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD4D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4D78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4D78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD4D78 */ if (_t5) goto L_02BD4DA0; else goto L_02BD4D7C;
|
|
L_02BD4D7C: ; // 0x2bd4d7c
|
|
/* 02BD4D7C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4D80 */ Gambit_fn_02BDBF7C(cpu);
|
|
/* 02BD4D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4D88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4D88 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD4D88 */ if (_t7) goto L_02BD4DA0; else goto L_02BD4D8C;
|
|
L_02BD4D8C: ; // 0x2bd4d8c
|
|
/* 02BD4D8C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD4D90 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4D90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD4D94 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4D98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4D9C */ return;
|
|
L_02BD4DA0: ; // 0x2bd4da0
|
|
/* 02BD4DA0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4DA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD4DA4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4DA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4DAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD4DB0 */ return;
|
|
}
|
|
|
|
// fn_02BD4DB4 @ 0x2bd4db4
|
|
void Gambit_fn_02BD4DB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BD4DB4: ; // 0x2bd4db4
|
|
/* 02BD4DB4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BD4DB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4DB4 */ cpu->r[1] = _t0;
|
|
/* 02BD4DB8 */ /* nop */
|
|
/* 02BD4DBC */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4DC0 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD4DC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD4DC4 */ cpu->r[29] = cpu->r[5];
|
|
/* 02BD4DC8 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BD4DCC */ _t2 = cpu->r[27] + 0x0000009Cu;
|
|
/* 02BD4DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD4DD0 */ cpu->r[28] = cpu->r[4];
|
|
/* 02BD4DD4 */ cpu->r[30] = cpu->r[6];
|
|
/* 02BD4DD8 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD4DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD4DE0 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD4DE4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4DE4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD4DE4 */ if (_t4) goto L_02BD4DE8; else goto L_02BD4E0C;
|
|
L_02BD4DE8: ; // 0x2bd4de8
|
|
/* 02BD4DE8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4DEC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4DF0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4DF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4DF8 */ /* nop */
|
|
/* 02BD4DFC */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD4DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD4E00 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4E04 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD4E08 */ return;
|
|
L_02BD4E0C: ; // 0x2bd4e0c
|
|
/* 02BD4E0C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD4E10 */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD4E14 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD4E18 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD4E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4E20 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4E20 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD4E20 */ if (_t7) goto L_02BD4E24; else goto L_02BD4E48;
|
|
L_02BD4E24: ; // 0x2bd4e24
|
|
/* 02BD4E24 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4E28 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4E2C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4E30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4E34 */ /* nop */
|
|
/* 02BD4E38 */ _t8 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD4E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD4E3C */ cpu->lr = cpu->r[0];
|
|
/* 02BD4E40 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD4E44 */ return;
|
|
L_02BD4E48: ; // 0x2bd4e48
|
|
/* 02BD4E48 */ _t9 = cpu->r[27] + 0x00000048u;
|
|
/* 02BD4E48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD4E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD4E50 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4E50 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD4E50 */ if (_t11) goto L_02BD4E84; else goto L_02BD4E54;
|
|
L_02BD4E54: ; // 0x2bd4e54
|
|
/* 02BD4E54 */ _t12 = cpu->r[11] + 0x00000058u;
|
|
/* 02BD4E54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD4E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD4E5C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4E5C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD4E5C */ if (_t14) goto L_02BD4E84; else goto L_02BD4E60;
|
|
L_02BD4E60: ; // 0x2bd4e60
|
|
/* 02BD4E60 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD4E64 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4E68 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4E6C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4E70 */ /* nop */
|
|
/* 02BD4E74 */ _t15 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD4E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD4E78 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4E7C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD4E80 */ return;
|
|
L_02BD4E84: ; // 0x2bd4e84
|
|
/* 02BD4E84 */ _t16 = cpu->r[27] + 0x00000044u;
|
|
/* 02BD4E84 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD4E88 */ _t17 = cpu->r[6] + 0x00000058u;
|
|
/* 02BD4E88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD4E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD4E90 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4E90 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD4E90 */ if (_t19) goto L_02BD4EB8; else goto L_02BD4E94;
|
|
L_02BD4E94: ; // 0x2bd4e94
|
|
/* 02BD4E94 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD4E98 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4E9C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4EA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4EA4 */ /* nop */
|
|
/* 02BD4EA8 */ _t20 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD4EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD4EAC */ cpu->lr = cpu->r[0];
|
|
/* 02BD4EB0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD4EB4 */ return;
|
|
L_02BD4EB8: ; // 0x2bd4eb8
|
|
/* 02BD4EB8 */ _t21 = cpu->r[27] + 0x00000078u;
|
|
/* 02BD4EB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD4EBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BD4EC0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4EC0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD4EC0 */ if (_t23) goto L_02BD4EE8; else goto L_02BD4EC4;
|
|
L_02BD4EC4: ; // 0x2bd4ec4
|
|
/* 02BD4EC4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD4EC8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4ECC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4ED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4ED4 */ /* nop */
|
|
/* 02BD4ED8 */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD4ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD4EDC */ cpu->lr = cpu->r[0];
|
|
/* 02BD4EE0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD4EE4 */ return;
|
|
L_02BD4EE8: ; // 0x2bd4ee8
|
|
/* 02BD4EE8 */ _t25 = cpu->r[27] + 0x000000C2u;
|
|
/* 02BD4EE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02BD4EEC */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BD4EF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD4EF4 */ cpu->r[11] = cpu->r[27] + cpu->r[0];
|
|
/* 02BD4EF8 */ _t26 = cpu->r[11] + 0x000000D0u;
|
|
/* 02BD4EF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD4EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD4F00 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4F00 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BD4F00 */ if (_t28) goto L_02BD4F28; else goto L_02BD4F04;
|
|
L_02BD4F04: ; // 0x2bd4f04
|
|
/* 02BD4F04 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD4F08 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4F0C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4F10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4F14 */ /* nop */
|
|
/* 02BD4F18 */ _t29 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD4F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD4F1C */ cpu->lr = cpu->r[0];
|
|
/* 02BD4F20 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD4F24 */ return;
|
|
L_02BD4F28: ; // 0x2bd4f28
|
|
/* 02BD4F28 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD4F2C */ Gambit_fn_02BD4A40(cpu);
|
|
/* 02BD4F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD4F34 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4F34 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD4F34 */ if (_t31) goto L_02BD4F38; else goto L_02BD4F5C;
|
|
L_02BD4F38: ; // 0x2bd4f38
|
|
/* 02BD4F38 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD4F3C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD4F40 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD4F44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4F48 */ /* nop */
|
|
/* 02BD4F4C */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD4F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD4F50 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4F54 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD4F58 */ return;
|
|
L_02BD4F5C: ; // 0x2bd4f5c
|
|
/* 02BD4F5C */ cpu->r[3] = cpu->r[6];
|
|
/* 02BD4F60 */ cpu->r[7] = cpu->r[30];
|
|
/* 02BD4F64 */ cpu->r[6] = cpu->r[29];
|
|
/* 02BD4F68 */ cpu->r[5] = cpu->r[28];
|
|
/* 02BD4F6C */ cpu->r[4] = cpu->r[27] + 0x0000009Cu;
|
|
/* 02BD4F70 */ Gambit_fn_02BC0FE0(cpu);
|
|
/* 02BD4F74 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD4F78 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD4F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD4F7C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD4F7C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD4F7C */ if (_t34) goto L_02BD4F80; else goto L_02BD4F94;
|
|
L_02BD4F80: ; // 0x2bd4f80
|
|
/* 02BD4F80 */ _t35 = cpu->r[27] + 0x00000044u;
|
|
/* 02BD4F80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD4F84 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD4F88 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD4F8C */ cpu->r[7] = 0x00000014u;
|
|
/* 02BD4F90 */ _t36 = cpu->r[27] + 0x000000B0u;
|
|
/* 02BD4F90 */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
|
|
L_02BD4F94: ; // 0x2bd4f94
|
|
/* 02BD4F94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD4F98 */ /* nop */
|
|
/* 02BD4F9C */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD4F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD4FA0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD4FA4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD4FA8 */ return;
|
|
}
|
|
|
|
// fn_02BD4FAC @ 0x2bd4fac
|
|
void Gambit_fn_02BD4FAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD4FAC: ; // 0x2bd4fac
|
|
/* 02BD4FAC */ cpu->r[4] = 0x00000014u;
|
|
/* 02BD4FB0 */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD4FB4 @ 0x2bd4fb4
|
|
void Gambit_fn_02BD4FB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD4FB4: ; // 0x2bd4fb4
|
|
/* 02BD4FB4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4FB8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD4FB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD4FBC */ cpu->r[4] = 0x00000014u;
|
|
/* 02BD4FC0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD4FC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD4FC0 */ cpu->r[1] = _t1;
|
|
/* 02BD4FC4 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD4FC8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD4FCC */ cpu->lr = cpu->r[0];
|
|
/* 02BD4FD0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4FD4 */ return;
|
|
}
|
|
|
|
// fn_02BD4FC0 @ 0x2bd4fc0
|
|
void Gambit_fn_02BD4FC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD4FC0: ; // 0x2bd4fc0
|
|
/* 02BD4FC0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD4FC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4FC0 */ cpu->r[1] = _t0;
|
|
/* 02BD4FC4 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD4FC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD4FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD4FCC */ cpu->lr = cpu->r[0];
|
|
/* 02BD4FD0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD4FD4 */ return;
|
|
}
|
|
|
|
// fn_02BD4FD8 @ 0x2bd4fd8
|
|
void Gambit_fn_02BD4FD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02BD4FD8: ; // 0x2bd4fd8
|
|
/* 02BD4FD8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BD4FD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD4FD8 */ cpu->r[1] = _t0;
|
|
/* 02BD4FDC */ /* nop */
|
|
/* 02BD4FE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD4FE4 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD4FE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD4FE8 */ cpu->r[29] = cpu->r[5];
|
|
/* 02BD4FEC */ cpu->r[27] = cpu->r[3];
|
|
/* 02BD4FF0 */ _t2 = cpu->r[27] + 0x0000009Cu;
|
|
/* 02BD4FF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD4FF4 */ cpu->r[28] = cpu->r[4];
|
|
/* 02BD4FF8 */ cpu->r[30] = cpu->r[6];
|
|
/* 02BD4FFC */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD5000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u);
|
|
/* 02BD5004 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD5008 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5008 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD5008 */ if (_t4) goto L_02BD500C; else goto L_02BD5030;
|
|
L_02BD500C: ; // 0x2bd500c
|
|
/* 02BD500C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5010 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5014 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5018 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD501C */ /* nop */
|
|
/* 02BD5020 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD5020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD5024 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5028 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD502C */ return;
|
|
L_02BD5030: ; // 0x2bd5030
|
|
/* 02BD5030 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD5034 */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD5038 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD503C */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5044 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5044 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD5044 */ if (_t7) goto L_02BD5048; else goto L_02BD506C;
|
|
L_02BD5048: ; // 0x2bd5048
|
|
/* 02BD5048 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD504C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5050 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5054 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5058 */ /* nop */
|
|
/* 02BD505C */ _t8 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD505C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD5060 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5064 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD5068 */ return;
|
|
L_02BD506C: ; // 0x2bd506c
|
|
/* 02BD506C */ _t9 = cpu->r[27] + 0x00000048u;
|
|
/* 02BD506C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD5070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD5074 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5074 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD5074 */ if (_t11) goto L_02BD50A8; else goto L_02BD5078;
|
|
L_02BD5078: ; // 0x2bd5078
|
|
/* 02BD5078 */ _t12 = cpu->r[11] + 0x00000058u;
|
|
/* 02BD5078 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD507C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD5080 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5080 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD5080 */ if (_t14) goto L_02BD50A8; else goto L_02BD5084;
|
|
L_02BD5084: ; // 0x2bd5084
|
|
/* 02BD5084 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5088 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD508C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5090 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5094 */ /* nop */
|
|
/* 02BD5098 */ _t15 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD5098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD509C */ cpu->lr = cpu->r[0];
|
|
/* 02BD50A0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD50A4 */ return;
|
|
L_02BD50A8: ; // 0x2bd50a8
|
|
/* 02BD50A8 */ _t16 = cpu->r[27] + 0x00000044u;
|
|
/* 02BD50A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD50AC */ _t17 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD50AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD50B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD50B4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD50B4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD50B4 */ if (_t19) goto L_02BD50DC; else goto L_02BD50B8;
|
|
L_02BD50B8: ; // 0x2bd50b8
|
|
/* 02BD50B8 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD50BC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD50C0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD50C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD50C8 */ /* nop */
|
|
/* 02BD50CC */ _t20 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD50CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD50D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD50D4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD50D8 */ return;
|
|
L_02BD50DC: ; // 0x2bd50dc
|
|
/* 02BD50DC */ _t21 = cpu->r[27] + 0x00000078u;
|
|
/* 02BD50DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD50E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
|
|
/* 02BD50E4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD50E4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD50E4 */ if (_t23) goto L_02BD510C; else goto L_02BD50E8;
|
|
L_02BD50E8: ; // 0x2bd50e8
|
|
/* 02BD50E8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD50EC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD50F0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD50F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD50F8 */ /* nop */
|
|
/* 02BD50FC */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD50FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD5100 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5104 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD5108 */ return;
|
|
L_02BD510C: ; // 0x2bd510c
|
|
/* 02BD510C */ _t25 = cpu->r[27] + 0x000000C2u;
|
|
/* 02BD510C */ cpu->r[9] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02BD5110 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 02BD5114 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD5118 */ cpu->r[12] = cpu->r[27] + cpu->r[0];
|
|
/* 02BD511C */ _t26 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD511C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD5120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD5124 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5124 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BD5124 */ if (_t28) goto L_02BD514C; else goto L_02BD5128;
|
|
L_02BD5128: ; // 0x2bd5128
|
|
/* 02BD5128 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD512C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5130 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5134 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5138 */ /* nop */
|
|
/* 02BD513C */ _t29 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD513C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD5140 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5144 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD5148 */ return;
|
|
L_02BD514C: ; // 0x2bd514c
|
|
/* 02BD514C */ cpu->r[7] = cpu->r[30];
|
|
/* 02BD5150 */ cpu->r[6] = cpu->r[29];
|
|
/* 02BD5154 */ cpu->r[5] = cpu->r[28];
|
|
/* 02BD5158 */ cpu->r[4] = cpu->r[27] + 0x0000009Cu;
|
|
/* 02BD515C */ Gambit_fn_02BC1130(cpu);
|
|
/* 02BD5160 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD5164 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD5164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD5168 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5168 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD5168 */ if (_t31) goto L_02BD516C; else goto L_02BD5180;
|
|
L_02BD516C: ; // 0x2bd516c
|
|
/* 02BD516C */ _t32 = cpu->r[27] + 0x00000044u;
|
|
/* 02BD516C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD5170 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD5174 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD5178 */ cpu->r[0] = 0x00000015u;
|
|
/* 02BD517C */ _t33 = cpu->r[27] + 0x000000B0u;
|
|
/* 02BD517C */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
L_02BD5180: ; // 0x2bd5180
|
|
/* 02BD5180 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5184 */ /* nop */
|
|
/* 02BD5188 */ _t34 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD5188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD518C */ cpu->lr = cpu->r[0];
|
|
/* 02BD5190 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD5194 */ return;
|
|
}
|
|
|
|
// fn_02BD5198 @ 0x2bd5198
|
|
void Gambit_fn_02BD5198(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD5198: ; // 0x2bd5198
|
|
/* 02BD5198 */ cpu->r[4] = 0x00000015u;
|
|
/* 02BD519C */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD51A0 @ 0x2bd51a0
|
|
void Gambit_fn_02BD51A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD51A0: ; // 0x2bd51a0
|
|
/* 02BD51A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD51A4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD51A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD51A8 */ cpu->r[4] = 0x00000015u;
|
|
/* 02BD51AC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD51AC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD51AC */ cpu->r[1] = _t1;
|
|
/* 02BD51B0 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD51B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD51B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD51B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD51BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD51C0 */ return;
|
|
}
|
|
|
|
// fn_02BD51AC @ 0x2bd51ac
|
|
void Gambit_fn_02BD51AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD51AC: ; // 0x2bd51ac
|
|
/* 02BD51AC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD51AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD51AC */ cpu->r[1] = _t0;
|
|
/* 02BD51B0 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD51B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD51B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD51B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD51BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD51C0 */ return;
|
|
}
|
|
|
|
// fn_02BD51C4 @ 0x2bd51c4
|
|
void Gambit_fn_02BD51C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BD51C4: ; // 0x2bd51c4
|
|
/* 02BD51C4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BD51C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD51C4 */ cpu->r[1] = _t0;
|
|
/* 02BD51C8 */ /* nop */
|
|
/* 02BD51CC */ cpu->r[0] = cpu->lr;
|
|
/* 02BD51D0 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD51D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD51D4 */ cpu->r[29] = cpu->r[5];
|
|
/* 02BD51D8 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BD51DC */ _t2 = cpu->r[27] + 0x0000009Cu;
|
|
/* 02BD51DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD51E0 */ cpu->r[28] = cpu->r[4];
|
|
/* 02BD51E4 */ cpu->r[30] = cpu->r[6];
|
|
/* 02BD51E8 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD51EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BD51F0 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD51F4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD51F4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD51F4 */ if (_t4) goto L_02BD51F8; else goto L_02BD521C;
|
|
L_02BD51F8: ; // 0x2bd51f8
|
|
/* 02BD51F8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD51FC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5200 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5204 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5208 */ /* nop */
|
|
/* 02BD520C */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD520C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD5210 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5214 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD5218 */ return;
|
|
L_02BD521C: ; // 0x2bd521c
|
|
/* 02BD521C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD5220 */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD5224 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD5228 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD522C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5230 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5230 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD5230 */ if (_t7) goto L_02BD5234; else goto L_02BD5258;
|
|
L_02BD5234: ; // 0x2bd5234
|
|
/* 02BD5234 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5238 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD523C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5240 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5244 */ /* nop */
|
|
/* 02BD5248 */ _t8 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD5248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD524C */ cpu->lr = cpu->r[0];
|
|
/* 02BD5250 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD5254 */ return;
|
|
L_02BD5258: ; // 0x2bd5258
|
|
/* 02BD5258 */ _t9 = cpu->r[27] + 0x00000044u;
|
|
/* 02BD5258 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD525C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD5260 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5260 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD5260 */ if (_t11) goto L_02BD5294; else goto L_02BD5264;
|
|
L_02BD5264: ; // 0x2bd5264
|
|
/* 02BD5264 */ _t12 = cpu->r[11] + 0x00000058u;
|
|
/* 02BD5264 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD5268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD526C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD526C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD526C */ if (_t14) goto L_02BD5294; else goto L_02BD5270;
|
|
L_02BD5270: ; // 0x2bd5270
|
|
/* 02BD5270 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5274 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5278 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD527C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5280 */ /* nop */
|
|
/* 02BD5284 */ _t15 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD5284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD5288 */ cpu->lr = cpu->r[0];
|
|
/* 02BD528C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD5290 */ return;
|
|
L_02BD5294: ; // 0x2bd5294
|
|
/* 02BD5294 */ _t16 = cpu->r[27] + 0x00000048u;
|
|
/* 02BD5294 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD5298 */ _t17 = cpu->r[6] + 0x00000058u;
|
|
/* 02BD5298 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD529C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD52A0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD52A0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD52A0 */ if (_t19) goto L_02BD52C8; else goto L_02BD52A4;
|
|
L_02BD52A4: ; // 0x2bd52a4
|
|
/* 02BD52A4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD52A8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD52AC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD52B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD52B4 */ /* nop */
|
|
/* 02BD52B8 */ _t20 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD52B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD52BC */ cpu->lr = cpu->r[0];
|
|
/* 02BD52C0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD52C4 */ return;
|
|
L_02BD52C8: ; // 0x2bd52c8
|
|
/* 02BD52C8 */ _t21 = cpu->r[27] + 0x00000078u;
|
|
/* 02BD52C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD52CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BD52D0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD52D0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD52D0 */ if (_t23) goto L_02BD52F8; else goto L_02BD52D4;
|
|
L_02BD52D4: ; // 0x2bd52d4
|
|
/* 02BD52D4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD52D8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD52DC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD52E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD52E4 */ /* nop */
|
|
/* 02BD52E8 */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD52E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD52EC */ cpu->lr = cpu->r[0];
|
|
/* 02BD52F0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD52F4 */ return;
|
|
L_02BD52F8: ; // 0x2bd52f8
|
|
/* 02BD52F8 */ _t25 = cpu->r[27] + 0x000000C2u;
|
|
/* 02BD52F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02BD52FC */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BD5300 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD5304 */ cpu->r[11] = cpu->r[27] + cpu->r[0];
|
|
/* 02BD5308 */ _t26 = cpu->r[11] + 0x000000D0u;
|
|
/* 02BD5308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD530C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD5310 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5310 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BD5310 */ if (_t28) goto L_02BD5338; else goto L_02BD5314;
|
|
L_02BD5314: ; // 0x2bd5314
|
|
/* 02BD5314 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5318 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD531C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5320 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5324 */ /* nop */
|
|
/* 02BD5328 */ _t29 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD5328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD532C */ cpu->lr = cpu->r[0];
|
|
/* 02BD5330 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD5334 */ return;
|
|
L_02BD5338: ; // 0x2bd5338
|
|
/* 02BD5338 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD533C */ Gambit_fn_02BD4A40(cpu);
|
|
/* 02BD5340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5344 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5344 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD5344 */ if (_t31) goto L_02BD5348; else goto L_02BD536C;
|
|
L_02BD5348: ; // 0x2bd5348
|
|
/* 02BD5348 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD534C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5350 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5354 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5358 */ /* nop */
|
|
/* 02BD535C */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD535C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD5360 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5364 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD5368 */ return;
|
|
L_02BD536C: ; // 0x2bd536c
|
|
/* 02BD536C */ cpu->r[3] = cpu->r[6];
|
|
/* 02BD5370 */ cpu->r[7] = cpu->r[30];
|
|
/* 02BD5374 */ cpu->r[6] = cpu->r[29];
|
|
/* 02BD5378 */ cpu->r[5] = cpu->r[28];
|
|
/* 02BD537C */ cpu->r[4] = cpu->r[27] + 0x0000009Cu;
|
|
/* 02BD5380 */ Gambit_fn_02BBCDC0(cpu);
|
|
/* 02BD5384 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD5388 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD5388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD538C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD538C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD538C */ if (_t34) goto L_02BD5390; else goto L_02BD53A4;
|
|
L_02BD5390: ; // 0x2bd5390
|
|
/* 02BD5390 */ _t35 = cpu->r[27] + 0x00000048u;
|
|
/* 02BD5390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD5394 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD5398 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD539C */ cpu->r[7] = 0x00000018u;
|
|
/* 02BD53A0 */ _t36 = cpu->r[27] + 0x000000B0u;
|
|
/* 02BD53A0 */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
|
|
L_02BD53A4: ; // 0x2bd53a4
|
|
/* 02BD53A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD53A8 */ /* nop */
|
|
/* 02BD53AC */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD53AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD53B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD53B4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD53B8 */ return;
|
|
}
|
|
|
|
// fn_02BD53BC @ 0x2bd53bc
|
|
void Gambit_fn_02BD53BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD53BC: ; // 0x2bd53bc
|
|
/* 02BD53BC */ cpu->r[4] = 0x00000018u;
|
|
/* 02BD53C0 */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD53C4 @ 0x2bd53c4
|
|
void Gambit_fn_02BD53C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD53C4: ; // 0x2bd53c4
|
|
/* 02BD53C4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD53C8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD53C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD53CC */ cpu->r[4] = 0x00000018u;
|
|
/* 02BD53D0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD53D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD53D0 */ cpu->r[1] = _t1;
|
|
/* 02BD53D4 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD53D8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD53D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD53DC */ cpu->lr = cpu->r[0];
|
|
/* 02BD53E0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD53E4 */ return;
|
|
}
|
|
|
|
// fn_02BD53D0 @ 0x2bd53d0
|
|
void Gambit_fn_02BD53D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD53D0: ; // 0x2bd53d0
|
|
/* 02BD53D0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD53D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD53D0 */ cpu->r[1] = _t0;
|
|
/* 02BD53D4 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD53D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD53D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD53DC */ cpu->lr = cpu->r[0];
|
|
/* 02BD53E0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD53E4 */ return;
|
|
}
|
|
|
|
// fn_02BD53E8 @ 0x2bd53e8
|
|
void Gambit_fn_02BD53E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD53E8: ; // 0x2bd53e8
|
|
/* 02BD53E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD53EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD53EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD53EC */ cpu->r[1] = _t0;
|
|
/* 02BD53F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD53F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD53F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD53F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD53F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD53FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD53FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD5400 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5408 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5408 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD5408 */ if (_t5) goto L_02BD54D8; else goto L_02BD540C;
|
|
L_02BD540C: ; // 0x2bd540c
|
|
/* 02BD540C */ _t6 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD540C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD5410 */ cpu->r[5] = 0x10200000u;
|
|
/* 02BD5414 */ _t7 = cpu->r[5] + 0x000027A4u;
|
|
/* 02BD5414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD5414 */ cpu->r[5] = _t7;
|
|
/* 02BD5418 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BD541C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD541C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD541C */ if (_t9) goto L_02BD5420; else goto L_02BD5430;
|
|
L_02BD5420: ; // 0x2bd5420
|
|
/* 02BD5420 */ _t10 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD5420 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD5424 */ _t11 = cpu->r[5] + 0x00000004u;
|
|
/* 02BD5424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD5428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD542C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD542C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD542C */ if (_t13) goto L_02BD54D8; else goto L_02BD5430;
|
|
L_02BD5430: ; // 0x2bd5430
|
|
/* 02BD5430 */ _t14 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD5430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD5434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BD5438 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5438 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD5438 */ if (_t16) goto L_02BD543C; else goto L_02BD54D8;
|
|
L_02BD543C: ; // 0x2bd543c
|
|
/* 02BD543C */ _t17 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD543C */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD5440 */ _t18 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD5440 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD5444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02BD5448 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5448 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD5448 */ if (_t20) goto L_02BD544C; else goto L_02BD54D8;
|
|
L_02BD544C: ; // 0x2bd544c
|
|
/* 02BD544C */ _t21 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD544C */ cpu->r[11] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02BD5450 */ cpu->r[30] = cpu->r[31] + 0x000000C4u;
|
|
/* 02BD5454 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD5458 */ _t22 = cpu->r[10] + cpu->r[30];
|
|
/* 02BD5458 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD545C */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD545C */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD5460 */ _t24 = cpu->r[12] + 0x00000114u;
|
|
/* 02BD5460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD5464 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD5468 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD546C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5470 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5470 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BD5470 */ if (_t26) goto L_02BD54D8; else goto L_02BD5474;
|
|
L_02BD5474: ; // 0x2bd5474
|
|
/* 02BD5474 */ _t27 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD5474 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD5478 */ _t28 = cpu->r[31] + 0x00000090u;
|
|
/* 02BD5478 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD547C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02BD5480 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5480 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BD5480 */ if (_t30) goto L_02BD5484; else goto L_02BD54D8;
|
|
L_02BD5484: ; // 0x2bd5484
|
|
/* 02BD5484 */ _t31 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD5484 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD5488 */ _t32 = cpu->r[31] + 0x00000094u;
|
|
/* 02BD5488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD548C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD5490 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5490 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD5490 */ if (_t34) goto L_02BD5494; else goto L_02BD54D8;
|
|
L_02BD5494: ; // 0x2bd5494
|
|
/* 02BD5494 */ _t35 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD5494 */ cpu->r[5] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02BD5498 */ cpu->r[6] = rbrew_clz32(cpu->r[5]);
|
|
/* 02BD549C */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD54A0 */ _t36 = cpu->r[7] + cpu->r[30];
|
|
/* 02BD54A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD54A4 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD54A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD54A8 */ _t38 = cpu->r[8] + 0x00000114u;
|
|
/* 02BD54A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD54AC */ cpu->ctr = cpu->r[9];
|
|
/* 02BD54B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD54B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD54B8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD54B8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BD54B8 */ if (_t40) goto L_02BD54D8; else goto L_02BD54BC;
|
|
L_02BD54BC: ; // 0x2bd54bc
|
|
/* 02BD54BC */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD54BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD54C0 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD54C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD54C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD54C8 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD54C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD54CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD54D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD54D4 */ return;
|
|
L_02BD54D8: ; // 0x2bd54d8
|
|
/* 02BD54D8 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD54D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD54DC */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD54DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD54E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD54E4 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD54E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD54E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD54EC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD54F0 */ return;
|
|
}
|
|
|
|
// fn_02BD53EC @ 0x2bd53ec
|
|
void Gambit_fn_02BD53EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD53EC: ; // 0x2bd53ec
|
|
/* 02BD53EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD53EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD53EC */ cpu->r[1] = _t0;
|
|
/* 02BD53F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD53F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD53F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD53F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD53F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD53FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD53FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD5400 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5408 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5408 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD5408 */ if (_t5) goto L_02BD54D8; else goto L_02BD540C;
|
|
L_02BD540C: ; // 0x2bd540c
|
|
/* 02BD540C */ _t6 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD540C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD5410 */ cpu->r[5] = 0x10200000u;
|
|
/* 02BD5414 */ _t7 = cpu->r[5] + 0x000027A4u;
|
|
/* 02BD5414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD5414 */ cpu->r[5] = _t7;
|
|
/* 02BD5418 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BD541C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD541C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD541C */ if (_t9) goto L_02BD5420; else goto L_02BD5430;
|
|
L_02BD5420: ; // 0x2bd5420
|
|
/* 02BD5420 */ _t10 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD5420 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD5424 */ _t11 = cpu->r[5] + 0x00000004u;
|
|
/* 02BD5424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD5428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD542C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD542C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD542C */ if (_t13) goto L_02BD54D8; else goto L_02BD5430;
|
|
L_02BD5430: ; // 0x2bd5430
|
|
/* 02BD5430 */ _t14 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD5430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD5434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BD5438 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5438 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD5438 */ if (_t16) goto L_02BD543C; else goto L_02BD54D8;
|
|
L_02BD543C: ; // 0x2bd543c
|
|
/* 02BD543C */ _t17 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD543C */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD5440 */ _t18 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD5440 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD5444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02BD5448 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5448 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD5448 */ if (_t20) goto L_02BD544C; else goto L_02BD54D8;
|
|
L_02BD544C: ; // 0x2bd544c
|
|
/* 02BD544C */ _t21 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD544C */ cpu->r[11] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02BD5450 */ cpu->r[30] = cpu->r[31] + 0x000000C4u;
|
|
/* 02BD5454 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD5458 */ _t22 = cpu->r[10] + cpu->r[30];
|
|
/* 02BD5458 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD545C */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD545C */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD5460 */ _t24 = cpu->r[12] + 0x00000114u;
|
|
/* 02BD5460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD5464 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD5468 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD546C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5470 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5470 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BD5470 */ if (_t26) goto L_02BD54D8; else goto L_02BD5474;
|
|
L_02BD5474: ; // 0x2bd5474
|
|
/* 02BD5474 */ _t27 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD5474 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD5478 */ _t28 = cpu->r[31] + 0x00000090u;
|
|
/* 02BD5478 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD547C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02BD5480 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5480 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BD5480 */ if (_t30) goto L_02BD5484; else goto L_02BD54D8;
|
|
L_02BD5484: ; // 0x2bd5484
|
|
/* 02BD5484 */ _t31 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD5484 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD5488 */ _t32 = cpu->r[31] + 0x00000094u;
|
|
/* 02BD5488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD548C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD5490 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5490 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD5490 */ if (_t34) goto L_02BD5494; else goto L_02BD54D8;
|
|
L_02BD5494: ; // 0x2bd5494
|
|
/* 02BD5494 */ _t35 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD5494 */ cpu->r[5] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02BD5498 */ cpu->r[6] = rbrew_clz32(cpu->r[5]);
|
|
/* 02BD549C */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD54A0 */ _t36 = cpu->r[7] + cpu->r[30];
|
|
/* 02BD54A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD54A4 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD54A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD54A8 */ _t38 = cpu->r[8] + 0x00000114u;
|
|
/* 02BD54A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD54AC */ cpu->ctr = cpu->r[9];
|
|
/* 02BD54B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD54B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD54B8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD54B8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BD54B8 */ if (_t40) goto L_02BD54D8; else goto L_02BD54BC;
|
|
L_02BD54BC: ; // 0x2bd54bc
|
|
/* 02BD54BC */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD54BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD54C0 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD54C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD54C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD54C8 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD54C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD54CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD54D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD54D4 */ return;
|
|
L_02BD54D8: ; // 0x2bd54d8
|
|
/* 02BD54D8 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD54D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD54DC */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD54DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD54E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD54E4 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD54E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD54E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD54EC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD54F0 */ return;
|
|
}
|
|
|
|
// fn_02BD54F4 @ 0x2bd54f4
|
|
void Gambit_fn_02BD54F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD54F4: ; // 0x2bd54f4
|
|
/* 02BD54F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD54F8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BD54F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD54F8 */ cpu->r[1] = _t0;
|
|
/* 02BD54FC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD54FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD5500 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5500 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD5504 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD5508 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD5508 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD550C */ _t4 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD550C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5510 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD5514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02BD5518 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD551C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD551C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD551C */ if (_t6) goto L_02BD5520; else goto L_02BD5548;
|
|
L_02BD5520: ; // 0x2bd5520
|
|
/* 02BD5520 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5524 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5528 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD552C */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD552C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD5530 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5534 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD5538 */ cpu->lr = cpu->r[0];
|
|
/* 02BD553C */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD553C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD5540 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD5544 */ return;
|
|
L_02BD5548: ; // 0x2bd5548
|
|
/* 02BD5548 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD554C */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD5550 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5554 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD555C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD555C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD555C */ if (_t11) goto L_02BD5560; else goto L_02BD5588;
|
|
L_02BD5560: ; // 0x2bd5560
|
|
/* 02BD5560 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5564 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5568 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD556C */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD556C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD5570 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5574 */ _t13 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5574 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD5578 */ cpu->lr = cpu->r[0];
|
|
/* 02BD557C */ _t14 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD557C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD5580 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD5584 */ return;
|
|
L_02BD5588: ; // 0x2bd5588
|
|
/* 02BD5588 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD558C */ Gambit_fn_02BD53E8(cpu);
|
|
/* 02BD5590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5594 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5594 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD5594 */ if (_t16) goto L_02BD5598; else goto L_02BD55C0;
|
|
L_02BD5598: ; // 0x2bd5598
|
|
/* 02BD5598 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD559C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD55A0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD55A4 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD55A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD55A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD55AC */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD55AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD55B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD55B4 */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD55B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD55B8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD55BC */ return;
|
|
L_02BD55C0: ; // 0x2bd55c0
|
|
/* 02BD55C0 */ _t20 = cpu->r[30] + 0x00000044u;
|
|
/* 02BD55C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD55C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD55C8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD55C8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD55C8 */ if (_t22) goto L_02BD5600; else goto L_02BD55CC;
|
|
L_02BD55CC: ; // 0x2bd55cc
|
|
/* 02BD55CC */ _t23 = cpu->r[10] + 0x00000058u;
|
|
/* 02BD55CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD55D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD55D4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD55D4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD55D4 */ if (_t25) goto L_02BD5600; else goto L_02BD55D8;
|
|
L_02BD55D8: ; // 0x2bd55d8
|
|
/* 02BD55D8 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD55DC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD55E0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD55E4 */ _t26 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD55E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD55E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD55EC */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD55EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD55F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD55F4 */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD55F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD55F8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD55FC */ return;
|
|
L_02BD5600: ; // 0x2bd5600
|
|
/* 02BD5600 */ _t29 = cpu->r[30] + 0x00000048u;
|
|
/* 02BD5600 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD5604 */ _t30 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD5604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD5608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD560C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD560C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BD560C */ if (_t32) goto L_02BD5638; else goto L_02BD5610;
|
|
L_02BD5610: ; // 0x2bd5610
|
|
/* 02BD5610 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD5614 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5618 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD561C */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD561C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD5620 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5624 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5624 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD5628 */ cpu->lr = cpu->r[0];
|
|
/* 02BD562C */ _t35 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD562C */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD5630 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD5634 */ return;
|
|
L_02BD5638: ; // 0x2bd5638
|
|
/* 02BD5638 */ _t36 = cpu->r[30] + 0x00000078u;
|
|
/* 02BD5638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD563C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000004u);
|
|
/* 02BD5640 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5640 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BD5640 */ if (_t38) goto L_02BD566C; else goto L_02BD5644;
|
|
L_02BD5644: ; // 0x2bd5644
|
|
/* 02BD5644 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5648 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD564C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5650 */ _t39 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD5650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD5654 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5658 */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5658 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD565C */ cpu->lr = cpu->r[0];
|
|
/* 02BD5660 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD5660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD5664 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD5668 */ return;
|
|
L_02BD566C: ; // 0x2bd566c
|
|
/* 02BD566C */ _t42 = cpu->r[30] + 0x000000C2u;
|
|
/* 02BD566C */ cpu->r[11] = rbrew_read8(cpu->mem, _t42);
|
|
/* 02BD5670 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD5674 */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
/* 02BD5678 */ _t43 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD5678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD567C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD5680 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5680 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BD5680 */ if (_t45) goto L_02BD5684; else goto L_02BD56AC;
|
|
L_02BD5684: ; // 0x2bd5684
|
|
/* 02BD5684 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD5688 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD568C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5690 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD5690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD5694 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5698 */ _t47 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD569C */ cpu->lr = cpu->r[0];
|
|
/* 02BD56A0 */ _t48 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD56A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD56A4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD56A8 */ return;
|
|
L_02BD56AC: ; // 0x2bd56ac
|
|
/* 02BD56AC */ cpu->r[4] = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD56B0 */ Gambit_fn_02BBCF1C(cpu);
|
|
/* 02BD56B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD56B8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD56B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD56BC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD56BC */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BD56BC */ if (_t50) goto L_02BD56C0; else goto L_02BD56D4;
|
|
L_02BD56C0: ; // 0x2bd56c0
|
|
/* 02BD56C0 */ _t51 = cpu->r[30] + 0x00000048u;
|
|
/* 02BD56C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD56C4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD56C8 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD56CC */ cpu->r[12] = 0x00000019u;
|
|
/* 02BD56D0 */ _t52 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BD56D0 */ rbrew_write32(cpu->mem, _t52, cpu->r[12]);
|
|
L_02BD56D4: ; // 0x2bd56d4
|
|
/* 02BD56D4 */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD56D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BD56D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD56DC */ _t54 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD56DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BD56E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD56E4 */ _t55 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD56E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD56E8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD56EC */ return;
|
|
}
|
|
|
|
// fn_02BD54F8 @ 0x2bd54f8
|
|
void Gambit_fn_02BD54F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD54F8: ; // 0x2bd54f8
|
|
/* 02BD54F8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BD54F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD54F8 */ cpu->r[1] = _t0;
|
|
/* 02BD54FC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD54FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD5500 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5500 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD5504 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD5508 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD5508 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD550C */ _t4 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD550C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5510 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD5514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02BD5518 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD551C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD551C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD551C */ if (_t6) goto L_02BD5520; else goto L_02BD5548;
|
|
L_02BD5520: ; // 0x2bd5520
|
|
/* 02BD5520 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5524 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5528 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD552C */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD552C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD5530 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5534 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD5538 */ cpu->lr = cpu->r[0];
|
|
/* 02BD553C */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD553C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD5540 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD5544 */ return;
|
|
L_02BD5548: ; // 0x2bd5548
|
|
/* 02BD5548 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD554C */ Gambit_fn_02BD3A04(cpu);
|
|
/* 02BD5550 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5554 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD555C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD555C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD555C */ if (_t11) goto L_02BD5560; else goto L_02BD5588;
|
|
L_02BD5560: ; // 0x2bd5560
|
|
/* 02BD5560 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5564 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5568 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD556C */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD556C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD5570 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5574 */ _t13 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5574 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD5578 */ cpu->lr = cpu->r[0];
|
|
/* 02BD557C */ _t14 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD557C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD5580 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD5584 */ return;
|
|
L_02BD5588: ; // 0x2bd5588
|
|
/* 02BD5588 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD558C */ Gambit_fn_02BD53E8(cpu);
|
|
/* 02BD5590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5594 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5594 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD5594 */ if (_t16) goto L_02BD5598; else goto L_02BD55C0;
|
|
L_02BD5598: ; // 0x2bd5598
|
|
/* 02BD5598 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD559C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD55A0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD55A4 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD55A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD55A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD55AC */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD55AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD55B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD55B4 */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD55B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD55B8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD55BC */ return;
|
|
L_02BD55C0: ; // 0x2bd55c0
|
|
/* 02BD55C0 */ _t20 = cpu->r[30] + 0x00000044u;
|
|
/* 02BD55C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD55C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD55C8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD55C8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD55C8 */ if (_t22) goto L_02BD5600; else goto L_02BD55CC;
|
|
L_02BD55CC: ; // 0x2bd55cc
|
|
/* 02BD55CC */ _t23 = cpu->r[10] + 0x00000058u;
|
|
/* 02BD55CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD55D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD55D4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD55D4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD55D4 */ if (_t25) goto L_02BD5600; else goto L_02BD55D8;
|
|
L_02BD55D8: ; // 0x2bd55d8
|
|
/* 02BD55D8 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD55DC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD55E0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD55E4 */ _t26 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD55E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD55E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD55EC */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD55EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD55F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD55F4 */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD55F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD55F8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD55FC */ return;
|
|
L_02BD5600: ; // 0x2bd5600
|
|
/* 02BD5600 */ _t29 = cpu->r[30] + 0x00000048u;
|
|
/* 02BD5600 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD5604 */ _t30 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD5604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD5608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD560C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD560C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BD560C */ if (_t32) goto L_02BD5638; else goto L_02BD5610;
|
|
L_02BD5610: ; // 0x2bd5610
|
|
/* 02BD5610 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD5614 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5618 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD561C */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD561C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD5620 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5624 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5624 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD5628 */ cpu->lr = cpu->r[0];
|
|
/* 02BD562C */ _t35 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD562C */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD5630 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD5634 */ return;
|
|
L_02BD5638: ; // 0x2bd5638
|
|
/* 02BD5638 */ _t36 = cpu->r[30] + 0x00000078u;
|
|
/* 02BD5638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD563C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000004u);
|
|
/* 02BD5640 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5640 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BD5640 */ if (_t38) goto L_02BD566C; else goto L_02BD5644;
|
|
L_02BD5644: ; // 0x2bd5644
|
|
/* 02BD5644 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5648 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD564C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5650 */ _t39 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD5650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD5654 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5658 */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5658 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD565C */ cpu->lr = cpu->r[0];
|
|
/* 02BD5660 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD5660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD5664 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD5668 */ return;
|
|
L_02BD566C: ; // 0x2bd566c
|
|
/* 02BD566C */ _t42 = cpu->r[30] + 0x000000C2u;
|
|
/* 02BD566C */ cpu->r[11] = rbrew_read8(cpu->mem, _t42);
|
|
/* 02BD5670 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD5674 */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
/* 02BD5678 */ _t43 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD5678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD567C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD5680 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5680 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BD5680 */ if (_t45) goto L_02BD5684; else goto L_02BD56AC;
|
|
L_02BD5684: ; // 0x2bd5684
|
|
/* 02BD5684 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD5688 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD568C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5690 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD5690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD5694 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5698 */ _t47 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD569C */ cpu->lr = cpu->r[0];
|
|
/* 02BD56A0 */ _t48 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD56A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD56A4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD56A8 */ return;
|
|
L_02BD56AC: ; // 0x2bd56ac
|
|
/* 02BD56AC */ cpu->r[4] = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BD56B0 */ Gambit_fn_02BBCF1C(cpu);
|
|
/* 02BD56B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD56B8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD56B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD56BC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD56BC */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BD56BC */ if (_t50) goto L_02BD56C0; else goto L_02BD56D4;
|
|
L_02BD56C0: ; // 0x2bd56c0
|
|
/* 02BD56C0 */ _t51 = cpu->r[30] + 0x00000048u;
|
|
/* 02BD56C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD56C4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD56C8 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD56CC */ cpu->r[12] = 0x00000019u;
|
|
/* 02BD56D0 */ _t52 = cpu->r[30] + 0x000000B0u;
|
|
/* 02BD56D0 */ rbrew_write32(cpu->mem, _t52, cpu->r[12]);
|
|
L_02BD56D4: ; // 0x2bd56d4
|
|
/* 02BD56D4 */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD56D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BD56D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD56DC */ _t54 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD56DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BD56E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD56E4 */ _t55 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD56E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD56E8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD56EC */ return;
|
|
}
|
|
|
|
// fn_02BD56F0 @ 0x2bd56f0
|
|
void Gambit_fn_02BD56F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD56F0: ; // 0x2bd56f0
|
|
/* 02BD56F0 */ cpu->r[4] = 0x00000019u;
|
|
/* 02BD56F4 */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD56F8 @ 0x2bd56f8
|
|
void Gambit_fn_02BD56F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD56F8: ; // 0x2bd56f8
|
|
/* 02BD56F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD56FC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD56FC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD5700 */ cpu->r[4] = 0x00000019u;
|
|
/* 02BD5704 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD5704 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD5704 */ cpu->r[1] = _t1;
|
|
/* 02BD5708 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD570C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD570C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD5710 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5714 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5718 */ return;
|
|
}
|
|
|
|
// fn_02BD5704 @ 0x2bd5704
|
|
void Gambit_fn_02BD5704(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD5704: ; // 0x2bd5704
|
|
/* 02BD5704 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD5704 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5704 */ cpu->r[1] = _t0;
|
|
/* 02BD5708 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD570C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD570C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD5710 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5714 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5718 */ return;
|
|
}
|
|
|
|
// fn_02BD571C @ 0x2bd571c
|
|
void Gambit_fn_02BD571C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BD571C: ; // 0x2bd571c
|
|
/* 02BD571C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5720 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD5720 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD5724 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD5724 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD5724 */ cpu->r[1] = _t1;
|
|
/* 02BD5728 */ _t2 = cpu->r[3] + 0x00000078u;
|
|
/* 02BD5728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD572C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BD5730 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5730 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD5730 */ if (_t4) goto L_02BD5758; else goto L_02BD5734;
|
|
L_02BD5734: ; // 0x2bd5734
|
|
/* 02BD5734 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5738 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD573C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5740 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD5744 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD5748 */ cpu->lr = cpu->r[0];
|
|
/* 02BD574C */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD5750 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5754 */ return;
|
|
L_02BD5758: ; // 0x2bd5758
|
|
/* 02BD5758 */ _t6 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD5758 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BD575C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BD5760 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD5764 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02BD5768 */ _t7 = cpu->r[12] + 0x000000C4u;
|
|
/* 02BD5768 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD576C */ _t8 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD576C */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD5770 */ cpu->r[6] = 0x0000001Bu;
|
|
/* 02BD5774 */ Gambit_fn_02BD4168(cpu);
|
|
/* 02BD5778 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD577C */ cpu->lr = cpu->r[0];
|
|
/* 02BD5780 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5784 */ return;
|
|
}
|
|
|
|
// fn_02BD5724 @ 0x2bd5724
|
|
void Gambit_fn_02BD5724(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BD5724: ; // 0x2bd5724
|
|
/* 02BD5724 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD5724 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5724 */ cpu->r[1] = _t0;
|
|
/* 02BD5728 */ _t1 = cpu->r[3] + 0x00000078u;
|
|
/* 02BD5728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD572C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BD5730 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5730 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD5730 */ if (_t3) goto L_02BD5758; else goto L_02BD5734;
|
|
L_02BD5734: ; // 0x2bd5734
|
|
/* 02BD5734 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5738 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD573C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5740 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5744 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD5748 */ cpu->lr = cpu->r[0];
|
|
/* 02BD574C */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD5750 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5754 */ return;
|
|
L_02BD5758: ; // 0x2bd5758
|
|
/* 02BD5758 */ _t5 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD5758 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BD575C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BD5760 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD5764 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02BD5768 */ _t6 = cpu->r[12] + 0x000000C4u;
|
|
/* 02BD5768 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD576C */ _t7 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD576C */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD5770 */ cpu->r[6] = 0x0000001Bu;
|
|
/* 02BD5774 */ Gambit_fn_02BD4168(cpu);
|
|
/* 02BD5778 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD577C */ cpu->lr = cpu->r[0];
|
|
/* 02BD5780 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5784 */ return;
|
|
}
|
|
|
|
// fn_02BD5788 @ 0x2bd5788
|
|
void Gambit_fn_02BD5788(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD5788: ; // 0x2bd5788
|
|
/* 02BD5788 */ cpu->r[4] = 0x0000001Bu;
|
|
/* 02BD578C */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD5790 @ 0x2bd5790
|
|
void Gambit_fn_02BD5790(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD5790: ; // 0x2bd5790
|
|
/* 02BD5790 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5794 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD5794 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD5798 */ cpu->r[4] = 0x0000001Bu;
|
|
/* 02BD579C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD579C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD579C */ cpu->r[1] = _t1;
|
|
/* 02BD57A0 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD57A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD57A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD57A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD57AC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD57B0 */ return;
|
|
}
|
|
|
|
// fn_02BD579C @ 0x2bd579c
|
|
void Gambit_fn_02BD579C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD579C: ; // 0x2bd579c
|
|
/* 02BD579C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD579C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD579C */ cpu->r[1] = _t0;
|
|
/* 02BD57A0 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD57A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD57A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD57A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD57AC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD57B0 */ return;
|
|
}
|
|
|
|
// fn_02BD57B4 @ 0x2bd57b4
|
|
void Gambit_fn_02BD57B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BD57B4: ; // 0x2bd57b4
|
|
/* 02BD57B4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD57B8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD57B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD57BC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD57BC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD57BC */ cpu->r[1] = _t1;
|
|
/* 02BD57C0 */ _t2 = cpu->r[3] + 0x00000078u;
|
|
/* 02BD57C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD57C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BD57C8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD57C8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD57C8 */ if (_t4) goto L_02BD57F0; else goto L_02BD57CC;
|
|
L_02BD57CC: ; // 0x2bd57cc
|
|
/* 02BD57CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD57D0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD57D4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD57D8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD57D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD57DC */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD57E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD57E4 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD57E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD57EC */ return;
|
|
L_02BD57F0: ; // 0x2bd57f0
|
|
/* 02BD57F0 */ _t6 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD57F0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BD57F4 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BD57F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD57FC */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02BD5800 */ _t7 = cpu->r[12] + 0x000000C4u;
|
|
/* 02BD5800 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD5804 */ _t8 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD5804 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD5808 */ cpu->r[6] = 0x0000001Cu;
|
|
/* 02BD580C */ Gambit_fn_02BD43A4(cpu);
|
|
/* 02BD5810 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD5814 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5818 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD581C */ return;
|
|
}
|
|
|
|
// fn_02BD57BC @ 0x2bd57bc
|
|
void Gambit_fn_02BD57BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BD57BC: ; // 0x2bd57bc
|
|
/* 02BD57BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD57BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD57BC */ cpu->r[1] = _t0;
|
|
/* 02BD57C0 */ _t1 = cpu->r[3] + 0x00000078u;
|
|
/* 02BD57C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD57C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BD57C8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD57C8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD57C8 */ if (_t3) goto L_02BD57F0; else goto L_02BD57CC;
|
|
L_02BD57CC: ; // 0x2bd57cc
|
|
/* 02BD57CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD57D0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD57D4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD57D8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD57D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD57DC */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD57E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD57E4 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD57E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD57EC */ return;
|
|
L_02BD57F0: ; // 0x2bd57f0
|
|
/* 02BD57F0 */ _t5 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD57F0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BD57F4 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BD57F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD57FC */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02BD5800 */ _t6 = cpu->r[12] + 0x000000C4u;
|
|
/* 02BD5800 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD5804 */ _t7 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BD5804 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD5808 */ cpu->r[6] = 0x0000001Cu;
|
|
/* 02BD580C */ Gambit_fn_02BD43A4(cpu);
|
|
/* 02BD5810 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD5814 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5818 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD581C */ return;
|
|
}
|
|
|
|
// fn_02BD5820 @ 0x2bd5820
|
|
void Gambit_fn_02BD5820(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD5820: ; // 0x2bd5820
|
|
/* 02BD5820 */ cpu->r[4] = 0x0000001Cu;
|
|
/* 02BD5824 */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD5828 @ 0x2bd5828
|
|
void Gambit_fn_02BD5828(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD5828: ; // 0x2bd5828
|
|
/* 02BD5828 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD582C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD582C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD5830 */ cpu->r[4] = 0x0000001Cu;
|
|
/* 02BD5834 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD5834 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD5834 */ cpu->r[1] = _t1;
|
|
/* 02BD5838 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD583C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD583C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD5840 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5844 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5848 */ return;
|
|
}
|
|
|
|
// fn_02BD5834 @ 0x2bd5834
|
|
void Gambit_fn_02BD5834(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD5834: ; // 0x2bd5834
|
|
/* 02BD5834 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD5834 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5834 */ cpu->r[1] = _t0;
|
|
/* 02BD5838 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD583C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD583C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD5840 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5844 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5848 */ return;
|
|
}
|
|
|
|
// fn_02BD584C @ 0x2bd584c
|
|
void Gambit_fn_02BD584C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD584C: ; // 0x2bd584c
|
|
/* 02BD584C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5850 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BD5850 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5850 */ cpu->r[1] = _t0;
|
|
/* 02BD5854 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD5854 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD5858 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BD585C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD585C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BD5860 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5860 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD5864 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD5868 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5868 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD586C */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD586C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD5870 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BD5874 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5878 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD587C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5880 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD5884 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5884 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD5884 */ if (_t7) goto L_02BD5888; else goto L_02BD58B8;
|
|
L_02BD5888: ; // 0x2bd5888
|
|
/* 02BD5888 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD588C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5890 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5894 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD5894 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD5898 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5898 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD589C */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD589C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD58A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD58A4 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD58A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD58A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD58AC */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD58AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD58B0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD58B4 */ return;
|
|
L_02BD58B8: ; // 0x2bd58b8
|
|
/* 02BD58B8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD58BC */ Gambit_fn_02BD53E8(cpu);
|
|
/* 02BD58C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD58C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD58C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD58C4 */ if (_t14) goto L_02BD58C8; else goto L_02BD58F8;
|
|
L_02BD58C8: ; // 0x2bd58c8
|
|
/* 02BD58C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD58CC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD58D0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD58D4 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD58D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD58D8 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD58D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD58DC */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD58DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD58E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD58E4 */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD58E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD58E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD58EC */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD58EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD58F0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD58F4 */ return;
|
|
L_02BD58F8: ; // 0x2bd58f8
|
|
/* 02BD58F8 */ _t20 = cpu->r[28] + 0x00000078u;
|
|
/* 02BD58F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD58FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BD5900 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5900 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD5900 */ if (_t22) goto L_02BD5934; else goto L_02BD5904;
|
|
L_02BD5904: ; // 0x2bd5904
|
|
/* 02BD5904 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5908 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD590C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5910 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD5910 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD5914 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5914 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD5918 */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD591C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5920 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD5920 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD5924 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5928 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5928 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD592C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD5930 */ return;
|
|
L_02BD5934: ; // 0x2bd5934
|
|
/* 02BD5934 */ _t28 = cpu->r[28] + 0x000000C2u;
|
|
/* 02BD5934 */ cpu->r[7] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02BD5938 */ cpu->r[0] = rbrew_clz32(cpu->r[7]);
|
|
/* 02BD593C */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD5940 */ cpu->r[10] = cpu->r[28] + cpu->r[8];
|
|
/* 02BD5944 */ _t29 = cpu->r[10] + 0x000000D0u;
|
|
/* 02BD5944 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD5948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD594C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD594C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD594C */ if (_t31) goto L_02BD5950; else goto L_02BD5980;
|
|
L_02BD5950: ; // 0x2bd5950
|
|
/* 02BD5950 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5954 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5958 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD595C */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD595C */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD5960 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5960 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD5964 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD5968 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD596C */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD596C */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD5970 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5974 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD5978 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD597C */ return;
|
|
L_02BD5980: ; // 0x2bd5980
|
|
/* 02BD5980 */ cpu->r[11] = cpu->r[28] + cpu->r[8];
|
|
/* 02BD5984 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD5988 */ _t37 = cpu->r[11] + 0x000000C4u;
|
|
/* 02BD5988 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD598C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD5990 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD5994 */ Gambit_fn_02BD4544(cpu);
|
|
/* 02BD5998 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD599C */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD599C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD59A0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD59A0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD59A0 */ if (_t39) goto L_02BD59A4; else goto L_02BD59B8;
|
|
L_02BD59A4: ; // 0x2bd59a4
|
|
/* 02BD59A4 */ cpu->r[0] = 0x00000022u;
|
|
/* 02BD59A8 */ _t40 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BD59A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD59AC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD59B0 */ _t41 = cpu->r[28] + 0x000000B0u;
|
|
/* 02BD59B0 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02BD59B4 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BD59B8: ; // 0x2bd59b8
|
|
/* 02BD59B8 */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD59B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD59BC */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD59BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD59C0 */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD59C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD59C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD59C8 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD59C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD59CC */ cpu->lr = cpu->r[0];
|
|
/* 02BD59D0 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD59D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD59D4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD59D8 */ return;
|
|
}
|
|
|
|
// fn_02BD5850 @ 0x2bd5850
|
|
void Gambit_fn_02BD5850(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD5850: ; // 0x2bd5850
|
|
/* 02BD5850 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BD5850 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5850 */ cpu->r[1] = _t0;
|
|
/* 02BD5854 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD5854 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD5858 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BD585C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD585C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BD5860 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5860 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD5864 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD5868 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5868 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD586C */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD586C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD5870 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BD5874 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5878 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD587C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5880 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD5884 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5884 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD5884 */ if (_t7) goto L_02BD5888; else goto L_02BD58B8;
|
|
L_02BD5888: ; // 0x2bd5888
|
|
/* 02BD5888 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD588C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5890 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5894 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD5894 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD5898 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5898 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD589C */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD589C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD58A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD58A4 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD58A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD58A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD58AC */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD58AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD58B0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD58B4 */ return;
|
|
L_02BD58B8: ; // 0x2bd58b8
|
|
/* 02BD58B8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD58BC */ Gambit_fn_02BD53E8(cpu);
|
|
/* 02BD58C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD58C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD58C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD58C4 */ if (_t14) goto L_02BD58C8; else goto L_02BD58F8;
|
|
L_02BD58C8: ; // 0x2bd58c8
|
|
/* 02BD58C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD58CC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD58D0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD58D4 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD58D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD58D8 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD58D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD58DC */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD58DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD58E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD58E4 */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD58E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD58E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD58EC */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD58EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD58F0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD58F4 */ return;
|
|
L_02BD58F8: ; // 0x2bd58f8
|
|
/* 02BD58F8 */ _t20 = cpu->r[28] + 0x00000078u;
|
|
/* 02BD58F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD58FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BD5900 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5900 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD5900 */ if (_t22) goto L_02BD5934; else goto L_02BD5904;
|
|
L_02BD5904: ; // 0x2bd5904
|
|
/* 02BD5904 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5908 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD590C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5910 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD5910 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD5914 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5914 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD5918 */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD591C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5920 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD5920 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD5924 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5928 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5928 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD592C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD5930 */ return;
|
|
L_02BD5934: ; // 0x2bd5934
|
|
/* 02BD5934 */ _t28 = cpu->r[28] + 0x000000C2u;
|
|
/* 02BD5934 */ cpu->r[7] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02BD5938 */ cpu->r[0] = rbrew_clz32(cpu->r[7]);
|
|
/* 02BD593C */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD5940 */ cpu->r[10] = cpu->r[28] + cpu->r[8];
|
|
/* 02BD5944 */ _t29 = cpu->r[10] + 0x000000D0u;
|
|
/* 02BD5944 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD5948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD594C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD594C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD594C */ if (_t31) goto L_02BD5950; else goto L_02BD5980;
|
|
L_02BD5950: ; // 0x2bd5950
|
|
/* 02BD5950 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5954 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5958 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD595C */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD595C */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD5960 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5960 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD5964 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD5964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD5968 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD596C */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD596C */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD5970 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5974 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD5978 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD597C */ return;
|
|
L_02BD5980: ; // 0x2bd5980
|
|
/* 02BD5980 */ cpu->r[11] = cpu->r[28] + cpu->r[8];
|
|
/* 02BD5984 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD5988 */ _t37 = cpu->r[11] + 0x000000C4u;
|
|
/* 02BD5988 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD598C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD5990 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD5994 */ Gambit_fn_02BD4544(cpu);
|
|
/* 02BD5998 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD599C */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD599C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD59A0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD59A0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD59A0 */ if (_t39) goto L_02BD59A4; else goto L_02BD59B8;
|
|
L_02BD59A4: ; // 0x2bd59a4
|
|
/* 02BD59A4 */ cpu->r[0] = 0x00000022u;
|
|
/* 02BD59A8 */ _t40 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BD59A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD59AC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD59B0 */ _t41 = cpu->r[28] + 0x000000B0u;
|
|
/* 02BD59B0 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02BD59B4 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BD59B8: ; // 0x2bd59b8
|
|
/* 02BD59B8 */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD59B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD59BC */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD59BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD59C0 */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD59C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD59C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD59C8 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD59C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD59CC */ cpu->lr = cpu->r[0];
|
|
/* 02BD59D0 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD59D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD59D4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD59D8 */ return;
|
|
}
|
|
|
|
// fn_02BD59DC @ 0x2bd59dc
|
|
void Gambit_fn_02BD59DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD3BD0: ; // 0x2bd3bd0
|
|
/* 02BD3BD0 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02BD3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD3BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD3BD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD3BD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD3BD8 */ if (_t2) goto L_02BD3BDC; else goto L_02BD3BFC;
|
|
L_02BD3BDC: ; // 0x2bd3bdc
|
|
/* 02BD3BDC */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02BD3BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD3BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BD3BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BD3BE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD3BEC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD3BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD3BEC */ if (_t5) goto L_02BD3BF0; else goto L_02BD3BF4;
|
|
L_02BD3BF0: ; // 0x2bd3bf0
|
|
/* 02BD3BF0 */ cpu->r[0] = 0x00000000u;
|
|
L_02BD3BF4: ; // 0x2bd3bf4
|
|
/* 02BD3BF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD3BF8 */ return;
|
|
L_02BD3BFC: ; // 0x2bd3bfc
|
|
/* 02BD3BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD3C00 */ return;
|
|
L_02BD59DC: ; // 0x2bd59dc
|
|
/* 02BD59DC */ cpu->r[4] = 0x00000022u;
|
|
/* 02BD59E0 */ goto L_02BD3BD0;
|
|
}
|
|
|
|
// fn_02BD59E4 @ 0x2bd59e4
|
|
void Gambit_fn_02BD59E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD59E4: ; // 0x2bd59e4
|
|
/* 02BD59E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD59E8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD59E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD59EC */ cpu->r[4] = 0x00000022u;
|
|
/* 02BD59F0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD59F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD59F0 */ cpu->r[1] = _t1;
|
|
/* 02BD59F4 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD59F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD59F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD59FC */ cpu->lr = cpu->r[0];
|
|
/* 02BD5A00 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5A04 */ return;
|
|
}
|
|
|
|
// fn_02BD59F0 @ 0x2bd59f0
|
|
void Gambit_fn_02BD59F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD59F0: ; // 0x2bd59f0
|
|
/* 02BD59F0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD59F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD59F0 */ cpu->r[1] = _t0;
|
|
/* 02BD59F4 */ Gambit_fn_02BD3C0C(cpu);
|
|
/* 02BD59F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD59F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD59FC */ cpu->lr = cpu->r[0];
|
|
/* 02BD5A00 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5A04 */ return;
|
|
}
|
|
|
|
// fn_02BD5A08 @ 0x2bd5a08
|
|
void Gambit_fn_02BD5A08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BD5A08: ; // 0x2bd5a08
|
|
/* 02BD5A08 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5A0C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD5A0C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD5A10 */ cpu->r[10] = cpu->r[3];
|
|
/* 02BD5A14 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD5A14 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD5A14 */ cpu->r[1] = _t1;
|
|
/* 02BD5A18 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5A20 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5A20 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD5A20 */ if (_t3) goto L_02BD5A4C; else goto L_02BD5A24;
|
|
L_02BD5A24: ; // 0x2bd5a24
|
|
/* 02BD5A24 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5A28 */ _t5 = cpu->r[10] + 0x00000090u;
|
|
/* 02BD5A28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD5A2C */ cpu->lr = cpu->r[0];
|
|
/* 02BD5A30 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5A30 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02BD5A34 */ _t7 = cpu->r[10] + 0x00000094u;
|
|
/* 02BD5A34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD5A38 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5A38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD5A3C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5A3C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02BD5A40 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5A40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD5A44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5A48 */ return;
|
|
L_02BD5A4C: ; // 0x2bd5a4c
|
|
/* 02BD5A4C */ cpu->r[12] = 0x10200000u;
|
|
/* 02BD5A50 */ cpu->r[12] = cpu->r[12] + 0x000027A4u;
|
|
/* 02BD5A54 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02BD5A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD5A58 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5A58 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BD5A5C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD5A60 */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 02BD5A60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD5A64 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5A68 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5A68 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 02BD5A6C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5A6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD5A70 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5A70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD5A74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5A78 */ return;
|
|
}
|
|
|
|
// fn_02BD5A14 @ 0x2bd5a14
|
|
void Gambit_fn_02BD5A14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BD5A14: ; // 0x2bd5a14
|
|
/* 02BD5A14 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD5A14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5A14 */ cpu->r[1] = _t0;
|
|
/* 02BD5A18 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5A20 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5A20 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD5A20 */ if (_t2) goto L_02BD5A4C; else goto L_02BD5A24;
|
|
L_02BD5A24: ; // 0x2bd5a24
|
|
/* 02BD5A24 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD5A28 */ _t4 = cpu->r[10] + 0x00000090u;
|
|
/* 02BD5A28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5A2C */ cpu->lr = cpu->r[0];
|
|
/* 02BD5A30 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5A30 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02BD5A34 */ _t6 = cpu->r[10] + 0x00000094u;
|
|
/* 02BD5A34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD5A38 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5A38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD5A3C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5A3C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BD5A40 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5A40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD5A44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5A48 */ return;
|
|
L_02BD5A4C: ; // 0x2bd5a4c
|
|
/* 02BD5A4C */ cpu->r[12] = 0x10200000u;
|
|
/* 02BD5A50 */ cpu->r[12] = cpu->r[12] + 0x000027A4u;
|
|
/* 02BD5A54 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 02BD5A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD5A58 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5A58 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BD5A5C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD5A60 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 02BD5A60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD5A64 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5A68 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5A68 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02BD5A6C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5A6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD5A70 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5A70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD5A74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5A78 */ return;
|
|
}
|
|
|
|
// fn_02BD5A7C @ 0x2bd5a7c
|
|
void Gambit_fn_02BD5A7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD5A7C: ; // 0x2bd5a7c
|
|
/* 02BD5A7C */ _t0 = cpu->r[3] + 0x00000048u;
|
|
/* 02BD5A7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD5A80 */ _t1 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD5A80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD5A84 */ _t2 = cpu->r[12] + 0x00000034u;
|
|
/* 02BD5A84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD5A88 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD5A8C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02BD5A90 @ 0x2bd5a90
|
|
void Gambit_fn_02BD5A90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BBBB18: ; // 0x2bbbb18
|
|
/* 02BBBB18 */ _t0 = cpu->r[3] + 0x00000070u;
|
|
/* 02BBBB18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BBBB1C */ return;
|
|
L_02BC4C58: ; // 0x2bc4c58
|
|
/* 02BC4C58 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC4C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC4C5C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC4C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC4C64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4C64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC4C64 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC4C64 */ goto L_02BC4C68;
|
|
L_02BC4C68: ; // 0x2bc4c68
|
|
/* 02BC4C68 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BC4C6C */ goto L_02BBBB18;
|
|
L_02BD5A90: ; // 0x2bd5a90
|
|
/* 02BD5A90 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD5A94 */ _t4 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BD5A94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5A98 */ goto L_02BC4C58;
|
|
}
|
|
|
|
// fn_02BD5A9C @ 0x2bd5a9c
|
|
void Gambit_fn_02BD5A9C(CPUState* cpu) {
|
|
uint32_t _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_02BD5A9C: ; // 0x2bd5a9c
|
|
/* 02BD5A9C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5AA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD5AA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5AA0 */ cpu->r[1] = _t0;
|
|
/* 02BD5AA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5AA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD5AA8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5AA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD5AAC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD5AB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5AB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD5AB4 */ _t4 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD5AB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5AB8 */ _t5 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD5AB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD5ABC */ _t6 = cpu->r[12] + 0x00000054u;
|
|
/* 02BD5ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD5AC0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD5AC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD5AC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD5ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u);
|
|
/* 02BD5AD0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5AD0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD5AD0 */ if (_t8) goto L_02BD5AD4; else goto L_02BD5B44;
|
|
L_02BD5AD4: ; // 0x2bd5ad4
|
|
/* 02BD5AD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5AD8 */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BD5ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5AE0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5AE0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD5AE0 */ if (_t10) goto L_02BD5AE4; else goto L_02BD5B00;
|
|
L_02BD5AE4: ; // 0x2bd5ae4
|
|
/* 02BD5AE4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5AE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD5AE8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5AE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD5AEC */ cpu->lr = cpu->r[0];
|
|
/* 02BD5AF0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5AF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD5AF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5AF8 */ cpu->r[3] = 0x00000002u;
|
|
/* 02BD5AFC */ return;
|
|
L_02BD5B00: ; // 0x2bd5b00
|
|
/* 02BD5B00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5B04 */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BD5B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BD5B0C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5B0C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD5B0C */ if (_t15) goto L_02BD5B10; else goto L_02BD5B2C;
|
|
L_02BD5B10: ; // 0x2bd5b10
|
|
/* 02BD5B10 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5B10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD5B14 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5B14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD5B18 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5B1C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5B1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD5B20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5B24 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BD5B28 */ return;
|
|
L_02BD5B2C: ; // 0x2bd5b2c
|
|
/* 02BD5B2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5B30 */ cpu->r[31] = 0x00000006u;
|
|
/* 02BD5B34 */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BD5B38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02BD5B3C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5B3C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD5B3C */ if (_t20) goto L_02BD5B40; else goto L_02BD5B44;
|
|
L_02BD5B40: ; // 0x2bd5b40
|
|
/* 02BD5B40 */ cpu->r[31] = 0x00000005u;
|
|
L_02BD5B44: ; // 0x2bd5b44
|
|
/* 02BD5B44 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD5B48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5B4C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5B4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD5B50 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5B54 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5B54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD5B58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5B5C */ return;
|
|
}
|
|
|
|
// fn_02BD5AA0 @ 0x2bd5aa0
|
|
void Gambit_fn_02BD5AA0(CPUState* cpu) {
|
|
uint32_t _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_02BD5AA0: ; // 0x2bd5aa0
|
|
/* 02BD5AA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD5AA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5AA0 */ cpu->r[1] = _t0;
|
|
/* 02BD5AA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5AA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD5AA8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5AA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD5AAC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD5AB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5AB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD5AB4 */ _t4 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD5AB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5AB8 */ _t5 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD5AB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD5ABC */ _t6 = cpu->r[12] + 0x00000054u;
|
|
/* 02BD5ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD5AC0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD5AC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD5AC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD5ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u);
|
|
/* 02BD5AD0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5AD0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD5AD0 */ if (_t8) goto L_02BD5AD4; else goto L_02BD5B44;
|
|
L_02BD5AD4: ; // 0x2bd5ad4
|
|
/* 02BD5AD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5AD8 */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BD5ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5AE0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5AE0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD5AE0 */ if (_t10) goto L_02BD5AE4; else goto L_02BD5B00;
|
|
L_02BD5AE4: ; // 0x2bd5ae4
|
|
/* 02BD5AE4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5AE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD5AE8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5AE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD5AEC */ cpu->lr = cpu->r[0];
|
|
/* 02BD5AF0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5AF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD5AF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5AF8 */ cpu->r[3] = 0x00000002u;
|
|
/* 02BD5AFC */ return;
|
|
L_02BD5B00: ; // 0x2bd5b00
|
|
/* 02BD5B00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5B04 */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BD5B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BD5B0C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5B0C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD5B0C */ if (_t15) goto L_02BD5B10; else goto L_02BD5B2C;
|
|
L_02BD5B10: ; // 0x2bd5b10
|
|
/* 02BD5B10 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5B10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD5B14 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5B14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD5B18 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5B1C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5B1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD5B20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5B24 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BD5B28 */ return;
|
|
L_02BD5B2C: ; // 0x2bd5b2c
|
|
/* 02BD5B2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5B30 */ cpu->r[31] = 0x00000006u;
|
|
/* 02BD5B34 */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BD5B38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02BD5B3C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5B3C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD5B3C */ if (_t20) goto L_02BD5B40; else goto L_02BD5B44;
|
|
L_02BD5B40: ; // 0x2bd5b40
|
|
/* 02BD5B40 */ cpu->r[31] = 0x00000005u;
|
|
L_02BD5B44: ; // 0x2bd5b44
|
|
/* 02BD5B44 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD5B48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5B4C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5B4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD5B50 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5B54 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5B54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD5B58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5B5C */ return;
|
|
}
|
|
|
|
// fn_02BD5B60 @ 0x2bd5b60
|
|
void Gambit_fn_02BD5B60(CPUState* cpu) {
|
|
uint32_t _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_02BD5B60: ; // 0x2bd5b60
|
|
/* 02BD5B60 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5B64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD5B64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5B64 */ cpu->r[1] = _t0;
|
|
/* 02BD5B68 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5B68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD5B6C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5B6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD5B70 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD5B74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5B74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD5B78 */ _t4 = cpu->r[30] + 0x00000010u;
|
|
/* 02BD5B78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5B7C */ _t5 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD5B7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD5B80 */ _t6 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BD5B80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD5B84 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD5B88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD5B8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD5B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u);
|
|
/* 02BD5B94 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5B94 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD5B94 */ if (_t8) goto L_02BD5B98; else goto L_02BD5C08;
|
|
L_02BD5B98: ; // 0x2bd5b98
|
|
/* 02BD5B98 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5B9C */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BD5BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5BA4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5BA4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD5BA4 */ if (_t10) goto L_02BD5BA8; else goto L_02BD5BC4;
|
|
L_02BD5BA8: ; // 0x2bd5ba8
|
|
/* 02BD5BA8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD5BAC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5BAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD5BB0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5BB4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5BB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD5BB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5BBC */ cpu->r[3] = 0x00000002u;
|
|
/* 02BD5BC0 */ return;
|
|
L_02BD5BC4: ; // 0x2bd5bc4
|
|
/* 02BD5BC4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5BC8 */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BD5BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BD5BD0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5BD0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD5BD0 */ if (_t15) goto L_02BD5BD4; else goto L_02BD5BF0;
|
|
L_02BD5BD4: ; // 0x2bd5bd4
|
|
/* 02BD5BD4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5BD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD5BD8 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5BD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD5BDC */ cpu->lr = cpu->r[0];
|
|
/* 02BD5BE0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5BE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD5BE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5BE8 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BD5BEC */ return;
|
|
L_02BD5BF0: ; // 0x2bd5bf0
|
|
/* 02BD5BF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5BF4 */ cpu->r[31] = 0x00000006u;
|
|
/* 02BD5BF8 */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BD5BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02BD5C00 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5C00 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD5C00 */ if (_t20) goto L_02BD5C04; else goto L_02BD5C08;
|
|
L_02BD5C04: ; // 0x2bd5c04
|
|
/* 02BD5C04 */ cpu->r[31] = 0x00000005u;
|
|
L_02BD5C08: ; // 0x2bd5c08
|
|
/* 02BD5C08 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD5C0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5C10 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5C10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD5C14 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5C18 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5C18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD5C1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5C20 */ return;
|
|
}
|
|
|
|
// fn_02BD5B64 @ 0x2bd5b64
|
|
void Gambit_fn_02BD5B64(CPUState* cpu) {
|
|
uint32_t _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_02BD5B64: ; // 0x2bd5b64
|
|
/* 02BD5B64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD5B64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5B64 */ cpu->r[1] = _t0;
|
|
/* 02BD5B68 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5B68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD5B6C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5B6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD5B70 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD5B74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5B74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD5B78 */ _t4 = cpu->r[30] + 0x00000010u;
|
|
/* 02BD5B78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5B7C */ _t5 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD5B7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD5B80 */ _t6 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BD5B80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD5B84 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD5B88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD5B8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD5B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u);
|
|
/* 02BD5B94 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5B94 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD5B94 */ if (_t8) goto L_02BD5B98; else goto L_02BD5C08;
|
|
L_02BD5B98: ; // 0x2bd5b98
|
|
/* 02BD5B98 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5B9C */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BD5BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5BA4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5BA4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD5BA4 */ if (_t10) goto L_02BD5BA8; else goto L_02BD5BC4;
|
|
L_02BD5BA8: ; // 0x2bd5ba8
|
|
/* 02BD5BA8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD5BAC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5BAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD5BB0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5BB4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5BB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD5BB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5BBC */ cpu->r[3] = 0x00000002u;
|
|
/* 02BD5BC0 */ return;
|
|
L_02BD5BC4: ; // 0x2bd5bc4
|
|
/* 02BD5BC4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5BC8 */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BD5BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BD5BD0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5BD0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD5BD0 */ if (_t15) goto L_02BD5BD4; else goto L_02BD5BF0;
|
|
L_02BD5BD4: ; // 0x2bd5bd4
|
|
/* 02BD5BD4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5BD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD5BD8 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5BD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD5BDC */ cpu->lr = cpu->r[0];
|
|
/* 02BD5BE0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5BE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD5BE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5BE8 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BD5BEC */ return;
|
|
L_02BD5BF0: ; // 0x2bd5bf0
|
|
/* 02BD5BF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD5BF4 */ cpu->r[31] = 0x00000006u;
|
|
/* 02BD5BF8 */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BD5BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02BD5C00 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5C00 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD5C00 */ if (_t20) goto L_02BD5C04; else goto L_02BD5C08;
|
|
L_02BD5C04: ; // 0x2bd5c04
|
|
/* 02BD5C04 */ cpu->r[31] = 0x00000005u;
|
|
L_02BD5C08: ; // 0x2bd5c08
|
|
/* 02BD5C08 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD5C0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5C10 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5C10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD5C14 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5C18 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5C18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD5C1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5C20 */ return;
|
|
}
|
|
|
|
// fn_02BD5C24 @ 0x2bd5c24
|
|
void Gambit_fn_02BD5C24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BD5C24: ; // 0x2bd5c24
|
|
/* 02BD5C24 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5C28 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD5C28 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD5C2C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD5C2C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD5C2C */ cpu->r[1] = _t1;
|
|
/* 02BD5C30 */ _t2 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD5C30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD5C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD5C38 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5C38 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD5C38 */ if (_t4) goto L_02BD5C60; else goto L_02BD5C3C;
|
|
L_02BD5C3C: ; // 0x2bd5c3c
|
|
/* 02BD5C3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5C40 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5C44 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5C48 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BD5C4C */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BD5C50 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5C50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD5C54 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5C58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5C5C */ return;
|
|
L_02BD5C60: ; // 0x2bd5c60
|
|
/* 02BD5C60 */ _t6 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD5C60 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 02BD5C64 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5C64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD5C68 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5C6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5C70 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD5C74 */ return;
|
|
}
|
|
|
|
// fn_02BD5C2C @ 0x2bd5c2c
|
|
void Gambit_fn_02BD5C2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BD5C2C: ; // 0x2bd5c2c
|
|
/* 02BD5C2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD5C2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5C2C */ cpu->r[1] = _t0;
|
|
/* 02BD5C30 */ _t1 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD5C30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD5C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD5C38 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5C38 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD5C38 */ if (_t3) goto L_02BD5C60; else goto L_02BD5C3C;
|
|
L_02BD5C3C: ; // 0x2bd5c3c
|
|
/* 02BD5C3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5C40 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD5C44 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD5C48 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BD5C4C */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BD5C50 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5C50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5C54 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5C58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5C5C */ return;
|
|
L_02BD5C60: ; // 0x2bd5c60
|
|
/* 02BD5C60 */ _t5 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD5C60 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 02BD5C64 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5C64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD5C68 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5C6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5C70 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD5C74 */ return;
|
|
}
|
|
|
|
// fn_02BD5C78 @ 0x2bd5c78
|
|
void Gambit_fn_02BD5C78(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BD5C78: ; // 0x2bd5c78
|
|
/* 02BD5C78 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD5C7C */ _t0 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD5C7C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD5C80 */ return;
|
|
}
|
|
|
|
// fn_02BD5C84 @ 0x2bd5c84
|
|
void Gambit_fn_02BD5C84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BD5C84: ; // 0x2bd5c84
|
|
/* 02BD5C84 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5C88 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD5C88 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD5C8C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD5C8C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD5C8C */ cpu->r[1] = _t1;
|
|
/* 02BD5C90 */ _t2 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD5C90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD5C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD5C98 */ cpu->r[0] = cpu->r[4];
|
|
/* 02BD5C9C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5C9C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD5C9C */ if (_t4) goto L_02BD5CC0; else goto L_02BD5CA0;
|
|
L_02BD5CA0: ; // 0x2bd5ca0
|
|
/* 02BD5CA0 */ _t5 = cpu->r[5] + 0x00000000u;
|
|
/* 02BD5CA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD5CA4 */ cpu->ctr = cpu->r[10];
|
|
/* 02BD5CA8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5CA8 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02BD5CAC */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 02BD5CAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD5CB0 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BD5CB4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5CB8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5CB8 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02BD5CBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD5CC0: ; // 0x2bd5cc0
|
|
/* 02BD5CC0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD5CC4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5CC8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD5CCC */ return;
|
|
}
|
|
|
|
// fn_02BD5C8C @ 0x2bd5c8c
|
|
void Gambit_fn_02BD5C8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BD5C8C: ; // 0x2bd5c8c
|
|
/* 02BD5C8C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD5C8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5C8C */ cpu->r[1] = _t0;
|
|
/* 02BD5C90 */ _t1 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD5C90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD5C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD5C98 */ cpu->r[0] = cpu->r[4];
|
|
/* 02BD5C9C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5C9C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD5C9C */ if (_t3) goto L_02BD5CC0; else goto L_02BD5CA0;
|
|
L_02BD5CA0: ; // 0x2bd5ca0
|
|
/* 02BD5CA0 */ _t4 = cpu->r[5] + 0x00000000u;
|
|
/* 02BD5CA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5CA4 */ cpu->ctr = cpu->r[10];
|
|
/* 02BD5CA8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5CA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BD5CAC */ _t6 = cpu->r[5] + 0x00000004u;
|
|
/* 02BD5CAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD5CB0 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BD5CB4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5CB8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5CB8 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02BD5CBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD5CC0: ; // 0x2bd5cc0
|
|
/* 02BD5CC0 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD5CC4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5CC8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD5CCC */ return;
|
|
}
|
|
|
|
// fn_02BD5CD0 @ 0x2bd5cd0
|
|
void Gambit_fn_02BD5CD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02BD5CD0: ; // 0x2bd5cd0
|
|
/* 02BD5CD0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5CD4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD5CD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5CD4 */ cpu->r[1] = _t0;
|
|
/* 02BD5CD8 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5CD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD5CDC */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD5CDC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD5CE0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BD5CE4 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5CE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD5CE8 */ _t4 = cpu->r[31] + 0xFFFFB774u;
|
|
/* 02BD5CE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5CEC */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD5CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD5CF4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD5CF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5CF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD5CF8 */ if (_t6) goto L_02BD5D40; else goto L_02BD5CFC;
|
|
L_02BD5CFC: ; // 0x2bd5cfc
|
|
/* 02BD5CFC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD5D00 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BD5D04 */ _t7 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BD5D04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD5D08 */ _t8 = cpu->r[12] + 0x000027A4u;
|
|
/* 02BD5D08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD5D08 */ cpu->r[12] = _t8;
|
|
/* 02BD5D0C */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02BD5D0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD5D10 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D10 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02BD5D14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D18 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D18 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BD5D1C */ Gambit_fn_02BED864(cpu);
|
|
/* 02BD5D20 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD5D24 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5D28 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD5D2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5D30 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5D30 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02BD5D34 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD5D38 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5D38 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BD5D3C */ Gambit_fn_02BD5C84(cpu);
|
|
L_02BD5D40: ; // 0x2bd5d40
|
|
/* 02BD5D40 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD5D44 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD5D44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD5D48 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5D4C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5D4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD5D50 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD5D54 */ return;
|
|
}
|
|
|
|
// fn_02BD5CD4 @ 0x2bd5cd4
|
|
void Gambit_fn_02BD5CD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02BD5CD4: ; // 0x2bd5cd4
|
|
/* 02BD5CD4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD5CD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5CD4 */ cpu->r[1] = _t0;
|
|
/* 02BD5CD8 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5CD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD5CDC */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD5CDC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD5CE0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BD5CE4 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5CE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD5CE8 */ _t4 = cpu->r[31] + 0xFFFFB774u;
|
|
/* 02BD5CE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5CEC */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD5CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD5CF4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD5CF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5CF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD5CF8 */ if (_t6) goto L_02BD5D40; else goto L_02BD5CFC;
|
|
L_02BD5CFC: ; // 0x2bd5cfc
|
|
/* 02BD5CFC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD5D00 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BD5D04 */ _t7 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BD5D04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD5D08 */ _t8 = cpu->r[12] + 0x000027A4u;
|
|
/* 02BD5D08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD5D08 */ cpu->r[12] = _t8;
|
|
/* 02BD5D0C */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02BD5D0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD5D10 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D10 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02BD5D14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D18 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D18 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BD5D1C */ Gambit_fn_02BED864(cpu);
|
|
/* 02BD5D20 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD5D24 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5D28 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD5D2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD5D30 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5D30 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02BD5D34 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD5D38 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5D38 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BD5D3C */ Gambit_fn_02BD5C84(cpu);
|
|
L_02BD5D40: ; // 0x2bd5d40
|
|
/* 02BD5D40 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD5D44 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD5D44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD5D48 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5D4C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5D4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD5D50 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD5D54 */ return;
|
|
}
|
|
|
|
// fn_02BD5D58 @ 0x2bd5d58
|
|
void Gambit_fn_02BD5D58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02BD5D58: ; // 0x2bd5d58
|
|
/* 02BD5D58 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5D5C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD5D5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5D5C */ cpu->r[1] = _t0;
|
|
/* 02BD5D60 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5D60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD5D64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD5D68 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5D68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD5D6C */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5D74 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD5D74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD5D78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5D78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD5D78 */ if (_t5) goto L_02BD5DA8; else goto L_02BD5D7C;
|
|
L_02BD5D7C: ; // 0x2bd5d7c
|
|
/* 02BD5D7C */ Gambit_fn_02BDAAD4(cpu);
|
|
/* 02BD5D80 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D80 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02BD5D84 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D84 */ cpu->r[11] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02BD5D88 */ _t8 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD5D88 */ cpu->r[12] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02BD5D8C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D8C */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[11]);
|
|
/* 02BD5D90 */ _t10 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BD5D90 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[12]);
|
|
/* 02BD5D94 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD5D98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD5D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BD5DA0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5DA0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD5DA0 */ if (_t13) goto L_02BD5DE8; else goto L_02BD5DA4;
|
|
L_02BD5DA4: ; // 0x2bd5da4
|
|
/* 02BD5DA4 */ goto L_02BD5DD0;
|
|
L_02BD5DA8: ; // 0x2bd5da8
|
|
/* 02BD5DA8 */ Gambit_fn_02BDA83C(cpu);
|
|
/* 02BD5DAC */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5DAC */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02BD5DB0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5DB0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02BD5DB4 */ _t16 = cpu->r[1] + 0x00000012u;
|
|
/* 02BD5DB4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02BD5DB8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5DB8 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[12]);
|
|
/* 02BD5DBC */ _t18 = cpu->r[1] + 0x00000016u;
|
|
/* 02BD5DBC */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[0]);
|
|
/* 02BD5DC0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5DC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD5DC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD5DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BD5DCC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5DCC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD5DCC */ if (_t21) goto L_02BD5DE8; else goto L_02BD5DD0;
|
|
L_02BD5DD0: ; // 0x2bd5dd0
|
|
/* 02BD5DD0 */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD5DD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD5DD4 */ _t23 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD5DD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD5DD8 */ _t24 = cpu->r[11] + 0x00000014u;
|
|
/* 02BD5DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD5DDC */ cpu->ctr = cpu->r[0];
|
|
/* 02BD5DE0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD5DE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD5DE8: ; // 0x2bd5de8
|
|
/* 02BD5DE8 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD5DEC */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5DEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD5DF0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5DF4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD5DF8 */ return;
|
|
}
|
|
|
|
// fn_02BD5D5C @ 0x2bd5d5c
|
|
void Gambit_fn_02BD5D5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02BD5D5C: ; // 0x2bd5d5c
|
|
/* 02BD5D5C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD5D5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5D5C */ cpu->r[1] = _t0;
|
|
/* 02BD5D60 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5D60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD5D64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD5D68 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5D68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD5D6C */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5D74 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD5D74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD5D78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5D78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD5D78 */ if (_t5) goto L_02BD5DA8; else goto L_02BD5D7C;
|
|
L_02BD5D7C: ; // 0x2bd5d7c
|
|
/* 02BD5D7C */ Gambit_fn_02BDAAD4(cpu);
|
|
/* 02BD5D80 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D80 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02BD5D84 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D84 */ cpu->r[11] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02BD5D88 */ _t8 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD5D88 */ cpu->r[12] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02BD5D8C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D8C */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[11]);
|
|
/* 02BD5D90 */ _t10 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BD5D90 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[12]);
|
|
/* 02BD5D94 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD5D98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD5D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BD5DA0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5DA0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD5DA0 */ if (_t13) goto L_02BD5DE8; else goto L_02BD5DA4;
|
|
L_02BD5DA4: ; // 0x2bd5da4
|
|
/* 02BD5DA4 */ goto L_02BD5DD0;
|
|
L_02BD5DA8: ; // 0x2bd5da8
|
|
/* 02BD5DA8 */ Gambit_fn_02BDA83C(cpu);
|
|
/* 02BD5DAC */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5DAC */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02BD5DB0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5DB0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02BD5DB4 */ _t16 = cpu->r[1] + 0x00000012u;
|
|
/* 02BD5DB4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02BD5DB8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5DB8 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[12]);
|
|
/* 02BD5DBC */ _t18 = cpu->r[1] + 0x00000016u;
|
|
/* 02BD5DBC */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[0]);
|
|
/* 02BD5DC0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5DC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD5DC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD5DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BD5DCC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5DCC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD5DCC */ if (_t21) goto L_02BD5DE8; else goto L_02BD5DD0;
|
|
L_02BD5DD0: ; // 0x2bd5dd0
|
|
/* 02BD5DD0 */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD5DD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD5DD4 */ _t23 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD5DD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD5DD8 */ _t24 = cpu->r[11] + 0x00000014u;
|
|
/* 02BD5DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD5DDC */ cpu->ctr = cpu->r[0];
|
|
/* 02BD5DE0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD5DE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD5DE8: ; // 0x2bd5de8
|
|
/* 02BD5DE8 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD5DEC */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5DEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD5DF0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5DF4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD5DF8 */ return;
|
|
}
|
|
|
|
// fn_02BD5DFC @ 0x2bd5dfc
|
|
void Gambit_fn_02BD5DFC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BD5DFC: ; // 0x2bd5dfc
|
|
/* 02BD5DFC */ _t0 = cpu->r[3] + 0x00000064u;
|
|
/* 02BD5DFC */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02BD5E00 */ return;
|
|
}
|
|
|
|
// fn_02BD5E04 @ 0x2bd5e04
|
|
void Gambit_fn_02BD5E04(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BD5E04: ; // 0x2bd5e04
|
|
/* 02BD5E04 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD5E08 */ _t0 = cpu->r[3] + 0x00000064u;
|
|
/* 02BD5E08 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD5E0C */ return;
|
|
}
|
|
|
|
// fn_02BD5E10 @ 0x2bd5e10
|
|
void Gambit_fn_02BD5E10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02BD5E10: ; // 0x2bd5e10
|
|
/* 02BD5E10 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD5E14 */ _t0 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BD5E14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD5E18 */ _t1 = cpu->r[12] + 0x00000064u;
|
|
/* 02BD5E18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD5E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD5E20 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD5E24 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5E24 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD5E24 */ if (_t3) goto L_02BD5E30; else goto L_02BD5E28;
|
|
L_02BD5E28: ; // 0x2bd5e28
|
|
/* 02BD5E28 */ cpu->ctr = cpu->r[10];
|
|
/* 02BD5E2C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02BD5E30: ; // 0x2bd5e30
|
|
/* 02BD5E30 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BD5E34 */ return;
|
|
}
|
|
|
|
// fn_02BD5E38 @ 0x2bd5e38
|
|
void Gambit_fn_02BD5E38(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BD5E38: ; // 0x2bd5e38
|
|
/* 02BD5E38 */ _t0 = cpu->r[3] + 0x000000B4u;
|
|
/* 02BD5E38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD5E3C */ return;
|
|
}
|
|
|
|
// fn_02BD5E54 @ 0x2bd5e54
|
|
void Gambit_fn_02BD5E54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59;
|
|
|
|
L_02BD5E54: ; // 0x2bd5e54
|
|
/* 02BD5E54 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BD5E54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5E54 */ cpu->r[1] = _t0;
|
|
/* 02BD5E58 */ /* nop */
|
|
/* 02BD5E5C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5E60 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD5E60 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD5E64 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BD5E68 */ _t2 = cpu->r[27] + 0xFFFFB774u;
|
|
/* 02BD5E68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD5E68 */ cpu->r[27] = _t2;
|
|
/* 02BD5E6C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD5E70 */ cpu->r[3] = cpu->r[10];
|
|
/* 02BD5E74 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD5E78 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5E80 */ cpu->r[28] = 0x00000000u;
|
|
/* 02BD5E84 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5E84 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD5E84 */ if (_t4) goto L_02BD6000; else goto L_02BD5E88;
|
|
L_02BD5E88: ; // 0x2bd5e88
|
|
/* 02BD5E88 */ _t5 = cpu->r[10] + 0x00000000u;
|
|
/* 02BD5E88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BD5E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD5E90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5E90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD5E90 */ if (_t7) goto L_02BD6000; else goto L_02BD5E94;
|
|
L_02BD5E94: ; // 0x2bd5e94
|
|
/* 02BD5E94 */ _t8 = cpu->r[10] + 0x00000078u;
|
|
/* 02BD5E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD5E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BD5E9C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5E9C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD5E9C */ if (_t10) goto L_02BD5EB8; else goto L_02BD5EA0;
|
|
L_02BD5EA0: ; // 0x2bd5ea0
|
|
/* 02BD5EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02BD5EA4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5EA4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD5EA4 */ if (_t12) goto L_02BD5EA8; else goto L_02BD6000;
|
|
L_02BD5EA8: ; // 0x2bd5ea8
|
|
/* 02BD5EA8 */ _t13 = cpu->r[10] + 0x00000048u;
|
|
/* 02BD5EA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD5EAC */ _t14 = cpu->r[12] + 0x000000A7u;
|
|
/* 02BD5EAC */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02BD5EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD5EB4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5EB4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD5EB4 */ if (_t16) goto L_02BD6000; else goto L_02BD5EB8;
|
|
L_02BD5EB8: ; // 0x2bd5eb8
|
|
/* 02BD5EB8 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BD5EBC */ _t17 = cpu->r[29] + 0xFFFFB778u;
|
|
/* 02BD5EBC */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD5EC0 */ cpu->r[6] = 0x40000000u;
|
|
/* 02BD5EC4 */ _t18 = cpu->r[10] + 0x0000007Cu;
|
|
/* 02BD5EC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD5EC8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD5ECC */ Gambit_fn_02C01754(cpu);
|
|
/* 02BD5ED0 */ _t19 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD5ED0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD5ED4 */ cpu->r[6] = 0x40000000u;
|
|
/* 02BD5ED8 */ _t20 = cpu->r[5] + 0x00000068u;
|
|
/* 02BD5ED8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD5EDC */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD5EE0 */ Gambit_fn_02BDC204(cpu);
|
|
/* 02BD5EE4 */ _t21 = cpu->r[29] + 0xFFFFB778u;
|
|
/* 02BD5EE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD5EE8 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5EE8 */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
|
|
/* 02BD5EEC */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD5EF0 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5EF0 */ rbrew_write32(cpu->mem, _t23, cpu->r[28]);
|
|
/* 02BD5EF4 */ _t24 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02BD5EF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD5EF8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5EFC */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD5F00 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD5F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD5F04 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5F04 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BD5F04 */ if (_t26) goto L_02BD5F20; else goto L_02BD5F08;
|
|
L_02BD5F08: ; // 0x2bd5f08
|
|
/* 02BD5F08 */ /* nop */
|
|
/* 02BD5F0C */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD5F0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD5F10 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5F14 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD5F18 */ cpu->r[3] = 0x000000FDu;
|
|
/* 02BD5F1C */ return;
|
|
L_02BD5F20: ; // 0x2bd5f20
|
|
/* 02BD5F20 */ _t28 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD5F20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD5F24 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5F28 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5F28 */ rbrew_write32(cpu->mem, _t29, cpu->r[28]);
|
|
/* 02BD5F2C */ _t30 = cpu->r[7] + 0x00000068u;
|
|
/* 02BD5F2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD5F30 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5F34 */ Gambit_fn_02BDBF7C(cpu);
|
|
/* 02BD5F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5F3C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5F3C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BD5F3C */ if (_t32) goto L_02BD5F40; else goto L_02BD5F58;
|
|
L_02BD5F40: ; // 0x2bd5f40
|
|
/* 02BD5F40 */ /* nop */
|
|
/* 02BD5F44 */ _t33 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD5F44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD5F48 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5F4C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD5F50 */ cpu->r[3] = 0x000000FCu;
|
|
/* 02BD5F54 */ return;
|
|
L_02BD5F58: ; // 0x2bd5f58
|
|
/* 02BD5F58 */ _t34 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD5F58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD5F5C */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5F5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD5F60 */ _t36 = cpu->r[10] + 0x00000108u;
|
|
/* 02BD5F60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD5F64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 02BD5F68 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5F68 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BD5F68 */ if (_t38) goto L_02BD6000; else goto L_02BD5F6C;
|
|
L_02BD5F6C: ; // 0x2bd5f6c
|
|
/* 02BD5F6C */ _t39 = cpu->r[10] + 0x00000068u;
|
|
/* 02BD5F6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD5F70 */ Gambit_fn_02BDC0BC(cpu);
|
|
/* 02BD5F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD5F78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD5F7C */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5F7C */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[28]);
|
|
/* 02BD5F80 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5F80 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BD5F80 */ if (_t42) goto L_02BD5F98; else goto L_02BD5F84;
|
|
L_02BD5F84: ; // 0x2bd5f84
|
|
/* 02BD5F84 */ _t43 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD5F84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD5F88 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5F8C */ _t44 = cpu->r[12] + 0x00000068u;
|
|
/* 02BD5F8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD5F90 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5F94 */ Gambit_fn_02BDC028(cpu);
|
|
L_02BD5F98: ; // 0x2bd5f98
|
|
/* 02BD5F98 */ _t45 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD5F98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD5F9C */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD5FA0 */ _t47 = cpu->r[10] + 0x00000088u;
|
|
/* 02BD5FA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD5FA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02BD5FA8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5FA8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BD5FA8 */ if (_t49) goto L_02BD5FAC; else goto L_02BD5FBC;
|
|
L_02BD5FAC: ; // 0x2bd5fac
|
|
/* 02BD5FAC */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5FAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD5FB0 */ _t51 = cpu->r[10] + 0x0000008Cu;
|
|
/* 02BD5FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD5FB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BD5FB8 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5FB8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BD5FB8 */ if (_t53) goto L_02BD5FC8; else goto L_02BD5FBC;
|
|
L_02BD5FBC: ; // 0x2bd5fbc
|
|
/* 02BD5FBC */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5FBC */ cpu->r[0] = rbrew_read8(cpu->mem, _t54);
|
|
/* 02BD5FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD5FC4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5FC4 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BD5FC4 */ if (_t56) goto L_02BD5FE0; else goto L_02BD5FC8;
|
|
L_02BD5FC8: ; // 0x2bd5fc8
|
|
/* 02BD5FC8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000018u, 0x0000001Du);
|
|
/* 02BD5FCC */ /* nop */
|
|
/* 02BD5FD0 */ _t57 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD5FD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD5FD4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5FD8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD5FDC */ return;
|
|
L_02BD5FE0: ; // 0x2bd5fe0
|
|
/* 02BD5FE0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD5FE4 */ /* nop */
|
|
/* 02BD5FE8 */ _t58 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD5FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BD5FEC */ cpu->r[12] = cpu->r[11] + 0x00000001u;
|
|
/* 02BD5FF0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5FF4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD5FF8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD5FFC */ return;
|
|
L_02BD6000: ; // 0x2bd6000
|
|
/* 02BD6000 */ /* nop */
|
|
/* 02BD6004 */ _t59 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD6004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BD6008 */ cpu->lr = cpu->r[0];
|
|
/* 02BD600C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD6010 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD6014 */ return;
|
|
}
|
|
|
|
// fn_02BD6044 @ 0x2bd6044
|
|
void Gambit_fn_02BD6044(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BD6044: ; // 0x2bd6044
|
|
/* 02BD6044 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD6048 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD6048 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD604C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD604C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD604C */ cpu->r[1] = _t1;
|
|
/* 02BD6050 */ _t2 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD6050 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD6054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD6058 */ cpu->r[11] = cpu->r[4];
|
|
/* 02BD605C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD605C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD605C */ if (_t4) goto L_02BD6080; else goto L_02BD6060;
|
|
L_02BD6060: ; // 0x2bd6060
|
|
/* 02BD6060 */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD6060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD6064 */ cpu->ctr = cpu->r[10];
|
|
/* 02BD6068 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6068 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02BD606C */ _t7 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD606C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD6070 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD6074 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6078 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6078 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BD607C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD6080: ; // 0x2bd6080
|
|
/* 02BD6080 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD6080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD6084 */ cpu->lr = cpu->r[0];
|
|
/* 02BD6088 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD608C */ return;
|
|
}
|
|
|
|
// fn_02BD604C @ 0x2bd604c
|
|
void Gambit_fn_02BD604C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BD604C: ; // 0x2bd604c
|
|
/* 02BD604C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD604C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD604C */ cpu->r[1] = _t0;
|
|
/* 02BD6050 */ _t1 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD6050 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD6054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD6058 */ cpu->r[11] = cpu->r[4];
|
|
/* 02BD605C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD605C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD605C */ if (_t3) goto L_02BD6080; else goto L_02BD6060;
|
|
L_02BD6060: ; // 0x2bd6060
|
|
/* 02BD6060 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD6060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD6064 */ cpu->ctr = cpu->r[10];
|
|
/* 02BD6068 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6068 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BD606C */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD606C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD6070 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD6074 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6078 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6078 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BD607C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD6080: ; // 0x2bd6080
|
|
/* 02BD6080 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD6080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD6084 */ cpu->lr = cpu->r[0];
|
|
/* 02BD6088 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD608C */ return;
|
|
}
|
|
|
|
// fn_02BD6090 @ 0x2bd6090
|
|
void Gambit_fn_02BD6090(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BC49B4: ; // 0x2bc49b4
|
|
/* 02BC49B4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC49B8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC49B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC49BC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC49C0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC49C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC49C0 */ cpu->r[1] = _t1;
|
|
/* 02BC49C4 */ _t2 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BC49C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC49C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC49CC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC49CC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC49CC */ if (_t4) goto L_02BC49D0; else goto L_02BC49E8;
|
|
L_02BC49D0: ; // 0x2bc49d0
|
|
/* 02BC49D0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC49D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC49D4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC49D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC49DC */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02BC49E0 */ cpu->r[4] = 0xFFFFFFFDu;
|
|
/* 02BC49E4 */ return;
|
|
L_02BC49E8: ; // 0x2bc49e8
|
|
/* 02BC49E8 */ _t6 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BC49E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC49EC */ cpu->r[3] = cpu->r[12] + 0x00000010u;
|
|
/* 02BC49F0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC49F4 */ cpu->r[5] = 0x00000210u;
|
|
/* 02BC49F8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC49F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BC49FC */ Gambit_fn_02BE6784(cpu);
|
|
/* 02BC4A00 */ cpu->r[11] = cpu->r[3];
|
|
/* 02BC4A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC4A04 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02BC4A08 */ cpu->r[4] = 0xFFFFFFFEu;
|
|
/* 02BC4A0C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4A0C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC4A0C */ if (_t9) goto L_02BC4A18; else goto L_02BC4A10;
|
|
L_02BC4A10: ; // 0x2bc4a10
|
|
/* 02BC4A10 */ cpu->r[3] = cpu->r[11] + 0x00000018u;
|
|
/* 02BC4A14 */ Gambit_fn_02BDC304(cpu);
|
|
L_02BC4A18: ; // 0x2bc4a18
|
|
/* 02BC4A18 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC4A1C */ cpu->lr = cpu->r[0];
|
|
/* 02BC4A20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4A24 */ return;
|
|
L_02BD6090: ; // 0x2bd6090
|
|
/* 02BD6090 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD6094 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD6098 */ _t11 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BD6098 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD609C */ cpu->r[3] = cpu->r[4];
|
|
/* 02BD60A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD60A4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD60A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD60A4 */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BD60A4 */ goto L_02BD60A8;
|
|
L_02BD60A8: ; // 0x2bd60a8
|
|
/* 02BD60A8 */ cpu->r[3] = cpu->r[12];
|
|
/* 02BD60AC */ goto L_02BC49B4;
|
|
}
|
|
|
|
// fn_02BD60B0 @ 0x2bd60b0
|
|
void Gambit_fn_02BD60B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BD60B0: ; // 0x2bd60b0
|
|
/* 02BD60B0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD60B4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD60B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD60B8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD60BC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD60BC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD60BC */ cpu->r[1] = _t1;
|
|
/* 02BD60C0 */ _t2 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BD60C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD60C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD60C8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD60C8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD60C8 */ if (_t4) goto L_02BD60E0; else goto L_02BD60CC;
|
|
L_02BD60CC: ; // 0x2bd60cc
|
|
/* 02BD60CC */ Gambit_fn_02BC4A28(cpu);
|
|
/* 02BD60D0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD60D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD60D4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD60D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD60DC */ return;
|
|
L_02BD60E0: ; // 0x2bd60e0
|
|
/* 02BD60E0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD60E4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD60E8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD60EC */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD60EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD60F0 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD60F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD60F8 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD60FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6100 */ return;
|
|
}
|
|
|
|
// fn_02BD60BC @ 0x2bd60bc
|
|
void Gambit_fn_02BD60BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD60BC: ; // 0x2bd60bc
|
|
/* 02BD60BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD60BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD60BC */ cpu->r[1] = _t0;
|
|
/* 02BD60C0 */ _t1 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BD60C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD60C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD60C8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD60C8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD60C8 */ if (_t3) goto L_02BD60E0; else goto L_02BD60CC;
|
|
L_02BD60CC: ; // 0x2bd60cc
|
|
/* 02BD60CC */ Gambit_fn_02BC4A28(cpu);
|
|
/* 02BD60D0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD60D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD60D4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD60D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD60DC */ return;
|
|
L_02BD60E0: ; // 0x2bd60e0
|
|
/* 02BD60E0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD60E4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD60E8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD60EC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD60EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD60F0 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD60F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD60F8 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD60FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6100 */ return;
|
|
}
|
|
|
|
// fn_02BD6104 @ 0x2bd6104
|
|
void Gambit_fn_02BD6104(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BD6104: ; // 0x2bd6104
|
|
/* 02BD6104 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD6108 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD6108 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD610C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD6110 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD6110 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD6110 */ cpu->r[1] = _t1;
|
|
/* 02BD6114 */ _t2 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BD6114 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD6118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD611C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD611C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD611C */ if (_t4) goto L_02BD6134; else goto L_02BD6120;
|
|
L_02BD6120: ; // 0x2bd6120
|
|
/* 02BD6120 */ Gambit_fn_02BC4AF4(cpu);
|
|
/* 02BD6124 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD6128 */ cpu->lr = cpu->r[0];
|
|
/* 02BD612C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6130 */ return;
|
|
L_02BD6134: ; // 0x2bd6134
|
|
/* 02BD6134 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6138 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD613C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD6140 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD6144 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD6148 */ cpu->lr = cpu->r[0];
|
|
/* 02BD614C */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD6150 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6154 */ return;
|
|
}
|
|
|
|
// fn_02BD6110 @ 0x2bd6110
|
|
void Gambit_fn_02BD6110(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BD6110: ; // 0x2bd6110
|
|
/* 02BD6110 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD6110 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD6110 */ cpu->r[1] = _t0;
|
|
/* 02BD6114 */ _t1 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BD6114 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD6118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD611C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD611C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD611C */ if (_t3) goto L_02BD6134; else goto L_02BD6120;
|
|
L_02BD6120: ; // 0x2bd6120
|
|
/* 02BD6120 */ Gambit_fn_02BC4AF4(cpu);
|
|
/* 02BD6124 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD6128 */ cpu->lr = cpu->r[0];
|
|
/* 02BD612C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6130 */ return;
|
|
L_02BD6134: ; // 0x2bd6134
|
|
/* 02BD6134 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6138 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD613C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD6140 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD6144 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD6148 */ cpu->lr = cpu->r[0];
|
|
/* 02BD614C */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD6150 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6154 */ return;
|
|
}
|
|
|
|
// fn_02BD6158 @ 0x2bd6158
|
|
void Gambit_fn_02BD6158(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BD6158: ; // 0x2bd6158
|
|
/* 02BD6158 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD615C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD615C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD6160 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD6160 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD6160 */ cpu->r[1] = _t1;
|
|
/* 02BD6164 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD6168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD616C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD616C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD616C */ if (_t3) goto L_02BD6170; else goto L_02BD6180;
|
|
L_02BD6170: ; // 0x2bd6170
|
|
/* 02BD6170 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD6174 */ _t4 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BD6174 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD6178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD617C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD617C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD617C */ if (_t6) goto L_02BD6180; else goto L_02BD61A4;
|
|
L_02BD6180: ; // 0x2bd6180
|
|
/* 02BD6180 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6184 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD6188 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD618C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD618C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD6190 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD6194 */ cpu->lr = cpu->r[0];
|
|
/* 02BD6198 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD619C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD61A0 */ return;
|
|
L_02BD61A4: ; // 0x2bd61a4
|
|
/* 02BD61A4 */ Gambit_fn_02BC4724(cpu);
|
|
/* 02BD61A8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD61A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD61AC */ cpu->lr = cpu->r[0];
|
|
/* 02BD61B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD61B4 */ return;
|
|
}
|
|
|
|
// fn_02BD6160 @ 0x2bd6160
|
|
void Gambit_fn_02BD6160(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BD6160: ; // 0x2bd6160
|
|
/* 02BD6160 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD6160 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD6160 */ cpu->r[1] = _t0;
|
|
/* 02BD6164 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD6168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD616C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD616C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD616C */ if (_t2) goto L_02BD6170; else goto L_02BD6180;
|
|
L_02BD6170: ; // 0x2bd6170
|
|
/* 02BD6170 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD6174 */ _t3 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BD6174 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD6178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD617C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD617C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD617C */ if (_t5) goto L_02BD6180; else goto L_02BD61A4;
|
|
L_02BD6180: ; // 0x2bd6180
|
|
/* 02BD6180 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6184 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD6188 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD618C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD618C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD6190 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD6194 */ cpu->lr = cpu->r[0];
|
|
/* 02BD6198 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD619C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD61A0 */ return;
|
|
L_02BD61A4: ; // 0x2bd61a4
|
|
/* 02BD61A4 */ Gambit_fn_02BC4724(cpu);
|
|
/* 02BD61A8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD61A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD61AC */ cpu->lr = cpu->r[0];
|
|
/* 02BD61B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD61B4 */ return;
|
|
}
|
|
|
|
// fn_02BD61B8 @ 0x2bd61b8
|
|
void Gambit_fn_02BD61B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BC48B8: ; // 0x2bc48b8
|
|
/* 02BC48B8 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BC48BC */ _t0 = cpu->r[12] + 0x00000060u;
|
|
/* 02BC48BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC48C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC48C4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC48C4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BC48C4 */ if (_t2) goto L_02BC48C8; else goto L_02BC48D0;
|
|
L_02BC48C8: ; // 0x2bc48c8
|
|
/* 02BC48C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC48CC */ return;
|
|
L_02BC48D0: ; // 0x2bc48d0
|
|
/* 02BC48D0 */ _t3 = cpu->r[12] + 0x00000064u;
|
|
/* 02BC48D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC48D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BC48D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC48D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC48D8 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC48D8 */ goto L_02BC48DC;
|
|
L_02BC48DC: ; // 0x2bc48dc
|
|
/* 02BC48DC */ _t6 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02BC48DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC48E0 */ _t7 = cpu->r[12] + 0x00000140u;
|
|
/* 02BC48E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC48E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC48E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC48E8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC48E8 */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC48E8 */ goto L_02BC48EC;
|
|
L_02BC48EC: ; // 0x2bc48ec
|
|
/* 02BC48EC */ _t10 = cpu->r[12] + 0x00000140u;
|
|
/* 02BC48EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC48F0 */ cpu->r[3] = 0x00000005u;
|
|
/* 02BC48F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BC48F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC48F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC48F8 */ _t13 = _t12 ^ 0x00000001u;
|
|
/* 02BC48F8 */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC48F8 */ goto L_02BC48FC;
|
|
L_02BC48FC: ; // 0x2bc48fc
|
|
/* 02BC48FC */ cpu->r[3] = 0x00000004u;
|
|
/* 02BC4900 */ return;
|
|
L_02BD61B8: ; // 0x2bd61b8
|
|
/* 02BD61B8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD61BC */ _t14 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BD61BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD61C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD61C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD61C8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD61C8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD61C8 */ if (_t16) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BD61C8 */ goto L_02BD61CC;
|
|
L_02BD61CC: ; // 0x2bd61cc
|
|
/* 02BD61CC */ cpu->r[3] = cpu->r[12];
|
|
/* 02BD61D0 */ goto L_02BC48B8;
|
|
}
|
|
|
|
// fn_02BD61D4 @ 0x2bd61d4
|
|
void Gambit_fn_02BD61D4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BD61D4: ; // 0x2bd61d4
|
|
/* 02BD61D4 */ _t0 = cpu->r[3] + 0x0000010Cu;
|
|
/* 02BD61D4 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02BD61D8 */ return;
|
|
}
|
|
|
|
// fn_02BD61DC @ 0x2bd61dc
|
|
void Gambit_fn_02BD61DC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BD61DC: ; // 0x2bd61dc
|
|
/* 02BD61DC */ _t0 = cpu->r[3] + 0x0000010Cu;
|
|
/* 02BD61DC */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02BD61E0 */ return;
|
|
}
|
|
|
|
// fn_02BD61E4 @ 0x2bd61e4
|
|
void Gambit_fn_02BD61E4(CPUState* cpu) {
|
|
L_02BD61E4: ; // 0x2bd61e4
|
|
/* 02BD61E4 */ cpu->r[3] = cpu->r[3] + 0x0000010Du;
|
|
/* 02BD61E8 */ return;
|
|
}
|
|
|
|
// fn_02BD61EC @ 0x2bd61ec
|
|
void Gambit_fn_02BD61EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02BD5D58: ; // 0x2bd5d58
|
|
/* 02BD5D58 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5D5C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD5D5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5D5C */ cpu->r[1] = _t0;
|
|
/* 02BD5D60 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5D60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD5D64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD5D68 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5D68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD5D6C */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5D74 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD5D74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD5D78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5D78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD5D78 */ if (_t5) goto L_02BD5DA8; else goto L_02BD5D7C;
|
|
L_02BD5D7C: ; // 0x2bd5d7c
|
|
/* 02BD5D7C */ Gambit_fn_02BDAAD4(cpu);
|
|
/* 02BD5D80 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D80 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02BD5D84 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D84 */ cpu->r[11] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02BD5D88 */ _t8 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD5D88 */ cpu->r[12] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02BD5D8C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D8C */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[11]);
|
|
/* 02BD5D90 */ _t10 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BD5D90 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[12]);
|
|
/* 02BD5D94 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD5D98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD5D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BD5DA0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5DA0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD5DA0 */ if (_t13) goto L_02BD5DE8; else goto L_02BD5DA4;
|
|
L_02BD5DA4: ; // 0x2bd5da4
|
|
/* 02BD5DA4 */ goto L_02BD5DD0;
|
|
L_02BD5DA8: ; // 0x2bd5da8
|
|
/* 02BD5DA8 */ Gambit_fn_02BDA83C(cpu);
|
|
/* 02BD5DAC */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5DAC */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02BD5DB0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5DB0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02BD5DB4 */ _t16 = cpu->r[1] + 0x00000012u;
|
|
/* 02BD5DB4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02BD5DB8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5DB8 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[12]);
|
|
/* 02BD5DBC */ _t18 = cpu->r[1] + 0x00000016u;
|
|
/* 02BD5DBC */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[0]);
|
|
/* 02BD5DC0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5DC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD5DC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD5DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BD5DCC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5DCC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD5DCC */ if (_t21) goto L_02BD5DE8; else goto L_02BD5DD0;
|
|
L_02BD5DD0: ; // 0x2bd5dd0
|
|
/* 02BD5DD0 */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD5DD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD5DD4 */ _t23 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD5DD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD5DD8 */ _t24 = cpu->r[11] + 0x00000014u;
|
|
/* 02BD5DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD5DDC */ cpu->ctr = cpu->r[0];
|
|
/* 02BD5DE0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD5DE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD5DE8: ; // 0x2bd5de8
|
|
/* 02BD5DE8 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD5DEC */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5DEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD5DF0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5DF4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD5DF8 */ return;
|
|
L_02BD61EC: ; // 0x2bd61ec
|
|
/* 02BD61EC */ cpu->r[0] = 0x00000002u;
|
|
/* 02BD61F0 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BD61F4 */ _t27 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BD61F4 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02BD61F8 */ _t28 = cpu->r[11] + 0x000027A4u;
|
|
/* 02BD61F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD61F8 */ cpu->r[11] = _t28;
|
|
/* 02BD61FC */ _t29 = cpu->r[3] + 0x00000088u;
|
|
/* 02BD61FC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02BD6200 */ _t30 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD6200 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD6204 */ _t31 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02BD6204 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02BD6208 */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD6208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD620C */ _t33 = cpu->r[3] + 0x00000090u;
|
|
/* 02BD620C */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02BD6210 */ _t34 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD6210 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD6214 */ _t35 = cpu->r[3] + 0x00000094u;
|
|
/* 02BD6214 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02BD6218 */ goto L_02BD5D58;
|
|
}
|
|
|
|
// fn_02BD621C @ 0x2bd621c
|
|
void Gambit_fn_02BD621C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307;
|
|
|
|
L_02BD621C: ; // 0x2bd621c
|
|
/* 02BD621C */ _t0 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 02BD621C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD621C */ cpu->r[1] = _t0;
|
|
/* 02BD6220 */ /* nop */
|
|
/* 02BD6224 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD6228 */ _t1 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02BD6228 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD622C */ cpu->r[29] = cpu->r[4];
|
|
/* 02BD6230 */ cpu->r[25] = 0x00000000u;
|
|
/* 02BD6234 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD6234 */ rbrew_write32(cpu->mem, _t2, cpu->r[25]);
|
|
/* 02BD6238 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD623C */ _t3 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD623C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD6240 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BD6244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6248 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD6248 */ rbrew_write32(cpu->mem, _t4, cpu->r[25]);
|
|
/* 02BD624C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD624C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD624C */ if (_t6) goto L_02BD6278; else goto L_02BD6250;
|
|
L_02BD6250: ; // 0x2bd6250
|
|
/* 02BD6250 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BD6254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6258 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6258 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD6258 */ if (_t8) goto L_02BD6278; else goto L_02BD625C;
|
|
L_02BD625C: ; // 0x2bd625c
|
|
/* 02BD625C */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD625C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD6260 */ _t10 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD6260 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD6264 */ _t11 = cpu->r[12] + 0x00000034u;
|
|
/* 02BD6264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD6268 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD626C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD6270 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD6274 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD6278: ; // 0x2bd6278
|
|
/* 02BD6278 */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 02BD6278 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD627C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6280 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6280 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD6280 */ if (_t14) goto L_02BD62AC; else goto L_02BD6284;
|
|
L_02BD6284: ; // 0x2bd6284
|
|
/* 02BD6284 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BD6288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD628C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD628C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD628C */ if (_t16) goto L_02BD62AC; else goto L_02BD6290;
|
|
L_02BD6290: ; // 0x2bd6290
|
|
/* 02BD6290 */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 02BD6290 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD6294 */ _t18 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD6294 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD6298 */ _t19 = cpu->r[8] + 0x00000044u;
|
|
/* 02BD6298 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD629C */ cpu->ctr = cpu->r[10];
|
|
/* 02BD62A0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD62A4 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD62A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD62AC: ; // 0x2bd62ac
|
|
/* 02BD62AC */ _t20 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD62AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD62B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD62B4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD62B4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD62B4 */ if (_t22) goto L_02BD62C4; else goto L_02BD62B8;
|
|
L_02BD62B8: ; // 0x2bd62b8
|
|
/* 02BD62B8 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BD62BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD62C0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD62C0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BD62C0 */ if (_t24) goto L_02BD62C4; else goto L_02BD697C;
|
|
L_02BD62C4: ; // 0x2bd62c4
|
|
/* 02BD62C4 */ _t25 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BD62C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD62C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BD62CC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD62CC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD62CC */ if (_t27) goto L_02BD697C; else goto L_02BD62D0;
|
|
L_02BD62D0: ; // 0x2bd62d0
|
|
/* 02BD62D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02BD62D4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD62D4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD62D4 */ if (_t29) goto L_02BD697C; else goto L_02BD62D8;
|
|
L_02BD62D8: ; // 0x2bd62d8
|
|
/* 02BD62D8 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BD62DC */ _t30 = cpu->r[28] + 0xFFFFB778u;
|
|
/* 02BD62DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD62DC */ cpu->r[28] = _t30;
|
|
/* 02BD62E0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD62E4 */ _t31 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD62E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD62E8 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD62EC */ Gambit_fn_02C016D8(cpu);
|
|
/* 02BD62F0 */ cpu->r[26] = 0xFD230000u;
|
|
/* 02BD62F4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD62F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD62F8 */ cpu->r[26] = cpu->r[26] + 0xFFFF9502u;
|
|
/* 02BD62FC */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BD6300 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6300 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BD6300 */ if (_t33) goto L_02BD6334; else goto L_02BD6304;
|
|
L_02BD6304: ; // 0x2bd6304
|
|
/* 02BD6304 */ _t34 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD6304 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD6308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD630C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD630C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BD630C */ if (_t36) goto L_02BD631C; else goto L_02BD6310;
|
|
L_02BD6310: ; // 0x2bd6310
|
|
/* 02BD6310 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BD6314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6318 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6318 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BD6318 */ if (_t38) goto L_02BD631C; else goto L_02BD6334;
|
|
L_02BD631C: ; // 0x2bd631c
|
|
/* 02BD631C */ _t39 = cpu->r[31] + 0x00000010u;
|
|
/* 02BD631C */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD6320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6324 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6324 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BD6324 */ if (_t41) goto L_02BD6348; else goto L_02BD6328;
|
|
L_02BD6328: ; // 0x2bd6328
|
|
/* 02BD6328 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BD632C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6330 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6330 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BD6330 */ if (_t43) goto L_02BD6348; else goto L_02BD6334;
|
|
L_02BD6334: ; // 0x2bd6334
|
|
/* 02BD6334 */ _t44 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD6334 */ cpu->r[10] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02BD6338 */ cpu->r[24] = cpu->r[31] + 0x000000D0u;
|
|
/* 02BD633C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD6340 */ _t45 = cpu->r[24] + cpu->r[8];
|
|
/* 02BD6340 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD6344 */ goto L_02BD63E8;
|
|
L_02BD6348: ; // 0x2bd6348
|
|
/* 02BD6348 */ _t46 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BD6348 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD634C */ _t47 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02BD634C */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD6350 */ _t48 = cpu->r[3] + 0x0000006Eu;
|
|
/* 02BD6350 */ cpu->r[8] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02BD6354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD6358 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6358 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BD6358 */ if (_t50) goto L_02BD638C; else goto L_02BD635C;
|
|
L_02BD635C: ; // 0x2bd635c
|
|
/* 02BD635C */ _t51 = cpu->r[3] + 0x00000099u;
|
|
/* 02BD635C */ cpu->r[9] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02BD6360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD6364 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6364 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BD6364 */ if (_t53) goto L_02BD638C; else goto L_02BD6368;
|
|
L_02BD6368: ; // 0x2bd6368
|
|
/* 02BD6368 */ _t54 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD6368 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BD636C */ _t55 = cpu->r[10] + 0x00000044u;
|
|
/* 02BD636C */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD6370 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD6374 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD6378 */ _t56 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD6378 */ cpu->r[10] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02BD637C */ cpu->r[24] = cpu->r[31] + 0x000000D0u;
|
|
/* 02BD6380 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD6384 */ _t57 = cpu->r[24] + cpu->r[8];
|
|
/* 02BD6384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD6388 */ goto L_02BD63E8;
|
|
L_02BD638C: ; // 0x2bd638c
|
|
/* 02BD638C */ _t58 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD638C */ cpu->r[10] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02BD6390 */ cpu->r[24] = cpu->r[31] + 0x000000D0u;
|
|
/* 02BD6394 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD6398 */ _t59 = cpu->r[24] + cpu->r[8];
|
|
/* 02BD6398 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BD639C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
|
|
/* 02BD63A0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD63A0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BD63A0 */ if (_t61) goto L_02BD63A4; else goto L_02BD63E8;
|
|
L_02BD63A4: ; // 0x2bd63a4
|
|
/* 02BD63A4 */ _t62 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD63A4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BD63A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02BD63AC */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD63AC */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BD63AC */ if (_t64) goto L_02BD6508; else goto L_02BD63B0;
|
|
L_02BD63B0: ; // 0x2bd63b0
|
|
/* 02BD63B0 */ _t65 = cpu->r[23] + 0x00000058u;
|
|
/* 02BD63B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BD63B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD63B8 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD63B8 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02BD63B8 */ if (_t67) goto L_02BD6508; else goto L_02BD63BC;
|
|
L_02BD63BC: ; // 0x2bd63bc
|
|
/* 02BD63BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD63C0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD63C4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD63C8 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD63C8 */ rbrew_write32(cpu->mem, _t68, cpu->r[26]);
|
|
/* 02BD63CC */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD63D0 */ _t69 = cpu->r[23] + 0x000000A6u;
|
|
/* 02BD63D0 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[0]);
|
|
/* 02BD63D4 */ _t70 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD63D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BD63D8 */ _t71 = cpu->r[23] + 0x000000A8u;
|
|
/* 02BD63D8 */ rbrew_write32(cpu->mem, _t71, cpu->r[6]);
|
|
/* 02BD63DC */ _t72 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD63DC */ cpu->r[10] = rbrew_read8(cpu->mem, _t72);
|
|
/* 02BD63E0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD63E4 */ _t73 = cpu->r[24] + cpu->r[8];
|
|
/* 02BD63E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t73);
|
|
L_02BD63E8: ; // 0x2bd63e8
|
|
/* 02BD63E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD63EC */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD63F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD63F4 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD63F4 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02BD63F4 */ if (_t75) goto L_02BD6944; else goto L_02BD63F8;
|
|
L_02BD63F8: ; // 0x2bd63f8
|
|
/* 02BD63F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
|
|
/* 02BD63FC */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD63FC */ _t77 = _t76 & 0x00000001u;
|
|
/* 02BD63FC */ if (_t77) goto L_02BD6400; else goto L_02BD6748;
|
|
L_02BD6400: ; // 0x2bd6400
|
|
/* 02BD6400 */ _t78 = cpu->r[31] + 0x00000078u;
|
|
/* 02BD6400 */ cpu->r[8] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BD6404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000004u);
|
|
/* 02BD6408 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6408 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BD6408 */ if (_t80) goto L_02BD640C; else goto L_02BD6570;
|
|
L_02BD640C: ; // 0x2bd640c
|
|
/* 02BD640C */ _t81 = cpu->r[31] + 0x00000108u;
|
|
/* 02BD640C */ cpu->r[7] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BD6410 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 02BD6414 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6414 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02BD6414 */ if (_t83) goto L_02BD6524; else goto L_02BD6418;
|
|
L_02BD6418: ; // 0x2bd6418
|
|
/* 02BD6418 */ _t84 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD6418 */ cpu->r[8] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BD641C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 02BD6420 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6420 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02BD6420 */ if (_t86) goto L_02BD697C; else goto L_02BD6424;
|
|
L_02BD6424: ; // 0x2bd6424
|
|
/* 02BD6424 */ _t87 = cpu->r[28] + 0x00000000u;
|
|
/* 02BD6424 */ cpu->r[12] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BD6428 */ _t88 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD6428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BD642C */ _t89 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD642C */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BD6430 */ _t90 = cpu->r[1] + 0x00000048u;
|
|
/* 02BD6430 */ rbrew_write32(cpu->mem, _t90, cpu->r[10]);
|
|
/* 02BD6434 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD6438 */ _t91 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD6438 */ rbrew_write32(cpu->mem, _t91, cpu->r[0]);
|
|
/* 02BD643C */ _t92 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD643C */ cpu->r[3] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BD6440 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD6444 */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD6448 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD6448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD644C */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD644C */ _t94 = _t93 & 0x00000001u;
|
|
/* 02BD644C */ if (_t94) goto L_02BD64E8; else goto L_02BD6450;
|
|
L_02BD6450: ; // 0x2bd6450
|
|
/* 02BD6450 */ _t95 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BD6450 */ cpu->r[7] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BD6454 */ _t96 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02BD6454 */ cpu->r[3] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BD6458 */ _t97 = cpu->r[3] + 0x0000006Eu;
|
|
/* 02BD6458 */ cpu->r[9] = rbrew_read8(cpu->mem, _t97);
|
|
/* 02BD645C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD6460 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6460 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02BD6460 */ if (_t99) goto L_02BD647C; else goto L_02BD6464;
|
|
L_02BD6464: ; // 0x2bd6464
|
|
/* 02BD6464 */ _t100 = cpu->r[3] + 0x0000006Eu;
|
|
/* 02BD6464 */ cpu->r[10] = rbrew_read8(cpu->mem, _t100);
|
|
/* 02BD6468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD646C */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD646C */ _t102 = _t101 & 0x00000001u;
|
|
/* 02BD646C */ if (_t102) goto L_02BD697C; else goto L_02BD6470;
|
|
L_02BD6470: ; // 0x2bd6470
|
|
/* 02BD6470 */ _t103 = cpu->r[3] + 0x000000A0u;
|
|
/* 02BD6470 */ cpu->r[11] = rbrew_read8(cpu->mem, _t103);
|
|
/* 02BD6474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD6478 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6478 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02BD6478 */ if (_t105) goto L_02BD697C; else goto L_02BD647C;
|
|
L_02BD647C: ; // 0x2bd647c
|
|
/* 02BD647C */ _t106 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD647C */ cpu->r[12] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02BD6480 */ _t107 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD6480 */ rbrew_write32(cpu->mem, _t107, cpu->r[25]);
|
|
/* 02BD6484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02BD6488 */ _t108 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD6488 */ rbrew_write32(cpu->mem, _t108, cpu->r[30]);
|
|
/* 02BD648C */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD648C */ _t110 = _t109 & 0x00000001u;
|
|
/* 02BD648C */ if (_t110) goto L_02BD6490; else goto L_02BD695C;
|
|
L_02BD6490: ; // 0x2bd6490
|
|
/* 02BD6490 */ _t111 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD6490 */ cpu->r[5] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BD6494 */ _t112 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD6494 */ cpu->r[7] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02BD6498 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[7]);
|
|
/* 02BD649C */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD649C */ _t114 = _t113 & 0x00000001u;
|
|
/* 02BD649C */ if (_t114) goto L_02BD64A0; else goto L_02BD695C;
|
|
L_02BD64A0: ; // 0x2bd64a0
|
|
/* 02BD64A0 */ _t115 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD64A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t115);
|
|
/* 02BD64A4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD64A8 */ cpu->r[5] = cpu->r[31] + cpu->r[9];
|
|
/* 02BD64AC */ _t116 = cpu->r[5] + 0x000000C4u;
|
|
/* 02BD64AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02BD64B0 */ _t117 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD64B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BD64B4 */ _t118 = cpu->r[7] + 0x000000F4u;
|
|
/* 02BD64B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02BD64B8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD64BC */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD64C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD64C4 */ _t119 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD64C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02BD64C8 */ cpu->r[5] = cpu->r[1] + 0x00000068u;
|
|
/* 02BD64CC */ _t120 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD64CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02BD64D0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BD64D4 */ _t121 = cpu->r[1] + 0x00000068u;
|
|
/* 02BD64D4 */ rbrew_write32(cpu->mem, _t121, cpu->r[7]);
|
|
/* 02BD64D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD64DC */ _t122 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02BD64DC */ rbrew_write32(cpu->mem, _t122, cpu->r[9]);
|
|
/* 02BD64E0 */ Gambit_fn_02BD5C84(cpu);
|
|
/* 02BD64E4 */ goto L_02BD697C;
|
|
L_02BD64E8: ; // 0x2bd64e8
|
|
/* 02BD64E8 */ _t123 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD64E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BD64EC */ _t124 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD64EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02BD64F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BD64F4 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD64F4 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02BD64F4 */ if (_t126) goto L_02BD64F8; else goto L_02BD697C;
|
|
L_02BD64F8: ; // 0x2bd64f8
|
|
/* 02BD64F8 */ _t127 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD64F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02BD64FC */ _t128 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD64FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02BD6500 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD6504 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6504 */ _t130 = _t129 & 0x00000001u;
|
|
/* 02BD6504 */ if (_t130) goto L_02BD6508; else goto L_02BD697C;
|
|
L_02BD6508: ; // 0x2bd6508
|
|
/* 02BD6508 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD650C */ Gambit_fn_02BD61EC(cpu);
|
|
/* 02BD6510 */ /* nop */
|
|
/* 02BD6514 */ _t131 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02BD6514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02BD6518 */ cpu->lr = cpu->r[0];
|
|
/* 02BD651C */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 02BD6520 */ return;
|
|
L_02BD6524: ; // 0x2bd6524
|
|
/* 02BD6524 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD6528 */ Gambit_fn_02BD53E8(cpu);
|
|
/* 02BD652C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6530 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6530 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02BD6530 */ if (_t133) goto L_02BD694C; else goto L_02BD6534;
|
|
L_02BD6534: ; // 0x2bd6534
|
|
/* 02BD6534 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD6538 */ Gambit_fn_02BD5A08(cpu);
|
|
/* 02BD653C */ _t134 = cpu->r[1] + 0x00000050u;
|
|
/* 02BD653C */ rbrew_write32(cpu->mem, _t134, cpu->r[3]);
|
|
/* 02BD6540 */ cpu->r[5] = cpu->r[1] + 0x00000050u;
|
|
/* 02BD6544 */ _t135 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD6544 */ rbrew_write32(cpu->mem, _t135, cpu->r[4]);
|
|
/* 02BD6548 */ _t136 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD6548 */ rbrew_write32(cpu->mem, _t136, cpu->r[3]);
|
|
/* 02BD654C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD6550 */ _t137 = cpu->r[1] + 0x00000054u;
|
|
/* 02BD6550 */ rbrew_write32(cpu->mem, _t137, cpu->r[4]);
|
|
/* 02BD6554 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD6558 */ Gambit_fn_02BD5C84(cpu);
|
|
/* 02BD655C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD6560 */ Gambit_fn_02BD4700(cpu);
|
|
/* 02BD6564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6568 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6568 */ _t139 = _t138 & 0x00000001u;
|
|
/* 02BD6568 */ if (_t139) goto L_02BD697C; else goto L_02BD656C;
|
|
L_02BD656C: ; // 0x2bd656c
|
|
/* 02BD656C */ goto L_02BD695C;
|
|
L_02BD6570: ; // 0x2bd6570
|
|
/* 02BD6570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u);
|
|
/* 02BD6574 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6574 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02BD6574 */ if (_t141) goto L_02BD6578; else goto L_02BD65B4;
|
|
L_02BD6578: ; // 0x2bd6578
|
|
/* 02BD6578 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD657C */ Gambit_fn_02BD4700(cpu);
|
|
/* 02BD6580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6584 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6584 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02BD6584 */ if (_t143) goto L_02BD6588; else goto L_02BD695C;
|
|
L_02BD6588: ; // 0x2bd6588
|
|
/* 02BD6588 */ _t144 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD6588 */ cpu->r[6] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02BD658C */ _t145 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD658C */ cpu->r[9] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02BD6590 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]);
|
|
/* 02BD6594 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6594 */ _t147 = _t146 & 0x00000001u;
|
|
/* 02BD6594 */ if (_t147) goto L_02BD6598; else goto L_02BD697C;
|
|
L_02BD6598: ; // 0x2bd6598
|
|
/* 02BD6598 */ _t148 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD6598 */ cpu->r[10] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02BD659C */ _t149 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD659C */ cpu->r[11] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02BD65A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02BD65A4 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD65A4 */ _t151 = _t150 & 0x00000001u;
|
|
/* 02BD65A4 */ if (_t151) goto L_02BD65A8; else goto L_02BD697C;
|
|
L_02BD65A8: ; // 0x2bd65a8
|
|
/* 02BD65A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 02BD65AC */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD65AC */ _t153 = _t152 & 0x00000001u;
|
|
/* 02BD65AC */ if (_t153) goto L_02BD65B0; else goto L_02BD6508;
|
|
L_02BD65B0: ; // 0x2bd65b0
|
|
/* 02BD65B0 */ goto L_02BD697C;
|
|
L_02BD65B4: ; // 0x2bd65b4
|
|
/* 02BD65B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
|
|
/* 02BD65B8 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD65B8 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02BD65B8 */ if (_t155) goto L_02BD65BC; else goto L_02BD697C;
|
|
L_02BD65BC: ; // 0x2bd65bc
|
|
/* 02BD65BC */ _t156 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD65BC */ cpu->r[23] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02BD65C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02BD65C4 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD65C4 */ _t158 = _t157 & 0x00000001u;
|
|
/* 02BD65C4 */ if (_t158) goto L_02BD697C; else goto L_02BD65C8;
|
|
L_02BD65C8: ; // 0x2bd65c8
|
|
/* 02BD65C8 */ cpu->r[3] = cpu->r[23];
|
|
/* 02BD65CC */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BD65D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD65D4 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD65D4 */ _t160 = _t159 & 0x00000001u;
|
|
/* 02BD65D4 */ if (_t160) goto L_02BD697C; else goto L_02BD65D8;
|
|
L_02BD65D8: ; // 0x2bd65d8
|
|
/* 02BD65D8 */ _t161 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD65D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02BD65DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 02BD65E0 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD65E0 */ _t163 = _t162 & 0x00000001u;
|
|
/* 02BD65E0 */ if (_t163) goto L_02BD662C; else goto L_02BD65E4;
|
|
L_02BD65E4: ; // 0x2bd65e4
|
|
/* 02BD65E4 */ _t164 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD65E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02BD65E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[6]);
|
|
/* 02BD65EC */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD65EC */ _t166 = _t165 & 0x00000001u;
|
|
/* 02BD65EC */ if (_t166) goto L_02BD65F0; else goto L_02BD662C;
|
|
L_02BD65F0: ; // 0x2bd65f0
|
|
/* 02BD65F0 */ _t167 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD65F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02BD65F4 */ _t168 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD65F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02BD65F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 02BD65FC */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD65FC */ _t170 = _t169 & 0x00000001u;
|
|
/* 02BD65FC */ if (_t170) goto L_02BD6600; else goto L_02BD662C;
|
|
L_02BD6600: ; // 0x2bd6600
|
|
/* 02BD6600 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD6604 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6608 */ _t171 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD6608 */ cpu->r[28] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02BD660C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD6610 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BD6614 */ _t172 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6614 */ rbrew_write32(cpu->mem, _t172, cpu->r[26]);
|
|
/* 02BD6618 */ _t173 = cpu->r[28] + 0x000000A6u;
|
|
/* 02BD6618 */ rbrew_write8(cpu->mem, _t173, (uint8_t)cpu->r[6]);
|
|
/* 02BD661C */ _t174 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD661C */ cpu->r[7] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02BD6620 */ _t175 = cpu->r[28] + 0x000000A8u;
|
|
/* 02BD6620 */ rbrew_write32(cpu->mem, _t175, cpu->r[7]);
|
|
/* 02BD6624 */ _t176 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD6624 */ cpu->r[23] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02BD6628 */ goto L_02BD6718;
|
|
L_02BD662C: ; // 0x2bd662c
|
|
/* 02BD662C */ _t177 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD662C */ cpu->r[23] = rbrew_read32(cpu->mem, _t177);
|
|
/* 02BD6630 */ _t178 = cpu->r[23] + 0x00000058u;
|
|
/* 02BD6630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02BD6634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000009u);
|
|
/* 02BD6638 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6638 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02BD6638 */ if (_t180) goto L_02BD663C; else goto L_02BD6718;
|
|
L_02BD663C: ; // 0x2bd663c
|
|
/* 02BD663C */ _t181 = cpu->r[31] + 0x00000068u;
|
|
/* 02BD663C */ cpu->r[3] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02BD6640 */ cpu->r[4] = cpu->r[31] + 0x00000090u;
|
|
/* 02BD6644 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6648 */ Gambit_fn_02BDBF7C(cpu);
|
|
/* 02BD664C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6650 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6650 */ _t183 = _t182 & 0x00000001u;
|
|
/* 02BD6650 */ if (_t183) goto L_02BD6664; else goto L_02BD6654;
|
|
L_02BD6654: ; // 0x2bd6654
|
|
/* 02BD6654 */ _t184 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6654 */ cpu->r[8] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02BD6658 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 02BD665C */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD665C */ _t186 = _t185 & 0x00000001u;
|
|
/* 02BD665C */ if (_t186) goto L_02BD6714; else goto L_02BD6660;
|
|
L_02BD6660: ; // 0x2bd6660
|
|
/* 02BD6660 */ goto L_02BD6674;
|
|
L_02BD6664: ; // 0x2bd6664
|
|
/* 02BD6664 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BD6668 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 02BD666C */ _t187 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD666C */ rbrew_write32(cpu->mem, _t187, cpu->r[8]);
|
|
/* 02BD6670 */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6670 */ _t189 = _t188 & 0x00000001u;
|
|
/* 02BD6670 */ if (_t189) goto L_02BD6714; else goto L_02BD6674;
|
|
L_02BD6674: ; // 0x2bd6674
|
|
/* 02BD6674 */ _t190 = cpu->r[28] + 0x00000000u;
|
|
/* 02BD6674 */ cpu->r[11] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02BD6678 */ _t191 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD6678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t191);
|
|
/* 02BD667C */ _t192 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD667C */ cpu->r[10] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02BD6680 */ _t193 = cpu->r[1] + 0x00000058u;
|
|
/* 02BD6680 */ rbrew_write32(cpu->mem, _t193, cpu->r[0]);
|
|
/* 02BD6684 */ cpu->r[5] = cpu->r[1] + 0x00000058u;
|
|
/* 02BD6688 */ _t194 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BD6688 */ rbrew_write32(cpu->mem, _t194, cpu->r[10]);
|
|
/* 02BD668C */ _t195 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BD668C */ cpu->r[3] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02BD6690 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD6694 */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD6698 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD6698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD669C */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD669C */ _t197 = _t196 & 0x00000001u;
|
|
/* 02BD669C */ if (_t197) goto L_02BD66A0; else goto L_02BD66B4;
|
|
L_02BD66A0: ; // 0x2bd66a0
|
|
/* 02BD66A0 */ _t198 = cpu->r[31] + 0x00000068u;
|
|
/* 02BD66A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t198);
|
|
/* 02BD66A4 */ cpu->r[4] = cpu->r[31] + 0x00000088u;
|
|
/* 02BD66A8 */ Gambit_fn_02BDB82C(cpu);
|
|
/* 02BD66AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD66B0 */ _t199 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD66B0 */ _t200 = _t199 & 0x00000001u;
|
|
/* 02BD66B0 */ if (_t200) goto L_02BD66B4; else goto L_02BD6714;
|
|
L_02BD66B4: ; // 0x2bd66b4
|
|
/* 02BD66B4 */ _t201 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD66B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02BD66B8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD66BC */ _t202 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD66BC */ rbrew_write32(cpu->mem, _t202, cpu->r[5]);
|
|
/* 02BD66C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02BD66C4 */ _t203 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD66C4 */ rbrew_write32(cpu->mem, _t203, cpu->r[30]);
|
|
/* 02BD66C8 */ _t204 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD66C8 */ _t205 = _t204 & 0x00000001u;
|
|
/* 02BD66C8 */ if (_t205) goto L_02BD66CC; else goto L_02BD66FC;
|
|
L_02BD66CC: ; // 0x2bd66cc
|
|
/* 02BD66CC */ _t206 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD66CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t206);
|
|
/* 02BD66D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD66D4 */ _t207 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD66D4 */ _t208 = _t207 & 0x00000001u;
|
|
/* 02BD66D4 */ if (_t208) goto L_02BD66D8; else goto L_02BD66FC;
|
|
L_02BD66D8: ; // 0x2bd66d8
|
|
/* 02BD66D8 */ _t209 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD66D8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t209);
|
|
/* 02BD66DC */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD66E0 */ cpu->r[9] = cpu->r[31] + cpu->r[7];
|
|
/* 02BD66E4 */ _t210 = cpu->r[9] + 0x000000C4u;
|
|
/* 02BD66E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t210);
|
|
/* 02BD66E8 */ _t211 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD66E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t211);
|
|
/* 02BD66EC */ _t212 = cpu->r[10] + 0x000000F4u;
|
|
/* 02BD66EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t212);
|
|
/* 02BD66F0 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD66F4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD66F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD66FC: ; // 0x2bd66fc
|
|
/* 02BD66FC */ _t213 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD66FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02BD6700 */ _t214 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD6700 */ cpu->r[12] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02BD6704 */ _t215 = cpu->r[12] + 0x00000084u;
|
|
/* 02BD6704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t215);
|
|
/* 02BD6708 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD670C */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD6710 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD6714: ; // 0x2bd6714
|
|
/* 02BD6714 */ _t216 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD6714 */ cpu->r[23] = rbrew_read32(cpu->mem, _t216);
|
|
L_02BD6718: ; // 0x2bd6718
|
|
/* 02BD6718 */ _t217 = cpu->r[23] + 0x00000018u;
|
|
/* 02BD6718 */ cpu->r[5] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02BD671C */ _t218 = cpu->r[5] + 0x0000008Cu;
|
|
/* 02BD671C */ cpu->r[6] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02BD6720 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD6724 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD6728 */ cpu->r[3] = cpu->r[23];
|
|
/* 02BD672C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD6730 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD6734 */ /* nop */
|
|
/* 02BD6738 */ _t219 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02BD6738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t219);
|
|
/* 02BD673C */ cpu->lr = cpu->r[0];
|
|
/* 02BD6740 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 02BD6744 */ return;
|
|
L_02BD6748: ; // 0x2bd6748
|
|
/* 02BD6748 */ cpu->r[7] = rbrew_clz32(cpu->r[10]);
|
|
/* 02BD674C */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD6750 */ _t220 = cpu->r[8] + cpu->r[24];
|
|
/* 02BD6750 */ cpu->r[9] = rbrew_read32(cpu->mem, _t220);
|
|
/* 02BD6754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]);
|
|
/* 02BD6758 */ _t221 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6758 */ _t222 = _t221 & 0x00000001u;
|
|
/* 02BD6758 */ if (_t222) goto L_02BD675C; else goto L_02BD697C;
|
|
L_02BD675C: ; // 0x2bd675c
|
|
/* 02BD675C */ _t223 = cpu->r[31] + 0x00000078u;
|
|
/* 02BD675C */ cpu->r[8] = rbrew_read32(cpu->mem, _t223);
|
|
/* 02BD6760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000004u);
|
|
/* 02BD6764 */ _t224 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6764 */ _t225 = _t224 & 0x00000001u;
|
|
/* 02BD6764 */ if (_t225) goto L_02BD6768; else goto L_02BD6874;
|
|
L_02BD6768: ; // 0x2bd6768
|
|
/* 02BD6768 */ _t226 = cpu->r[31] + 0x00000090u;
|
|
/* 02BD6768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02BD676C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02BD6770 */ _t227 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6770 */ _t228 = _t227 & 0x00000001u;
|
|
/* 02BD6770 */ if (_t228) goto L_02BD6774; else goto L_02BD67CC;
|
|
L_02BD6774: ; // 0x2bd6774
|
|
/* 02BD6774 */ _t229 = cpu->r[28] + 0x00000000u;
|
|
/* 02BD6774 */ cpu->r[10] = rbrew_read32(cpu->mem, _t229);
|
|
/* 02BD6778 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD677C */ _t230 = cpu->r[10] + 0x0000007Cu;
|
|
/* 02BD677C */ cpu->r[3] = rbrew_read32(cpu->mem, _t230);
|
|
/* 02BD6780 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD6784 */ Gambit_fn_02C016D8(cpu);
|
|
/* 02BD6788 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD6788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD678C */ _t231 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD678C */ _t232 = _t231 & 0x00000001u;
|
|
/* 02BD678C */ if (_t232) goto L_02BD6790; else goto L_02BD697C;
|
|
L_02BD6790: ; // 0x2bd6790
|
|
/* 02BD6790 */ _t233 = cpu->r[31] + 0x00000068u;
|
|
/* 02BD6790 */ cpu->r[3] = rbrew_read32(cpu->mem, _t233);
|
|
/* 02BD6794 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD6798 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD679C */ _t234 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD679C */ rbrew_write32(cpu->mem, _t234, cpu->r[25]);
|
|
/* 02BD67A0 */ Gambit_fn_02BDBF7C(cpu);
|
|
/* 02BD67A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD67A8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD67AC */ _t235 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD67AC */ _t236 = _t235 & 0x00000001u;
|
|
/* 02BD67AC */ if (_t236) goto L_02BD67B4; else goto L_02BD67B0;
|
|
L_02BD67B0: ; // 0x2bd67b0
|
|
/* 02BD67B0 */ _t237 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD67B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t237);
|
|
L_02BD67B4: ; // 0x2bd67b4
|
|
/* 02BD67B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD67B8 */ _t238 = cpu->r[31] + 0x00000108u;
|
|
/* 02BD67B8 */ rbrew_write32(cpu->mem, _t238, cpu->r[0]);
|
|
/* 02BD67BC */ Gambit_fn_02BD53E8(cpu);
|
|
/* 02BD67C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD67C4 */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD67C4 */ _t240 = _t239 & 0x00000001u;
|
|
/* 02BD67C4 */ if (_t240) goto L_02BD697C; else goto L_02BD67C8;
|
|
L_02BD67C8: ; // 0x2bd67c8
|
|
/* 02BD67C8 */ goto L_02BD6830;
|
|
L_02BD67CC: ; // 0x2bd67cc
|
|
/* 02BD67CC */ _t241 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD67CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t241);
|
|
/* 02BD67D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02BD67D4 */ _t242 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD67D4 */ _t243 = _t242 & 0x00000001u;
|
|
/* 02BD67D4 */ if (_t243) goto L_02BD67D8; else goto L_02BD6820;
|
|
L_02BD67D8: ; // 0x2bd67d8
|
|
/* 02BD67D8 */ _t244 = cpu->r[31] + 0x00000094u;
|
|
/* 02BD67D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t244);
|
|
/* 02BD67DC */ _t245 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD67DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t245);
|
|
/* 02BD67E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD67E4 */ _t246 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD67E4 */ _t247 = _t246 & 0x00000001u;
|
|
/* 02BD67E4 */ if (_t247) goto L_02BD67E8; else goto L_02BD6820;
|
|
L_02BD67E8: ; // 0x2bd67e8
|
|
/* 02BD67E8 */ _t248 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD67E8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t248);
|
|
/* 02BD67EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02BD67F0 */ _t249 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD67F0 */ _t250 = _t249 & 0x00000001u;
|
|
/* 02BD67F0 */ if (_t250) goto L_02BD6508; else goto L_02BD67F4;
|
|
L_02BD67F4: ; // 0x2bd67f4
|
|
/* 02BD67F4 */ _t251 = cpu->r[23] + 0x00000058u;
|
|
/* 02BD67F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t251);
|
|
/* 02BD67F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD67FC */ _t252 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD67FC */ _t253 = _t252 & 0x00000001u;
|
|
/* 02BD67FC */ if (_t253) goto L_02BD6508; else goto L_02BD6800;
|
|
L_02BD6800: ; // 0x2bd6800
|
|
/* 02BD6800 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD6804 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD6808 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD680C */ _t254 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD680C */ rbrew_write32(cpu->mem, _t254, cpu->r[26]);
|
|
/* 02BD6810 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BD6814 */ _t255 = cpu->r[23] + 0x000000A6u;
|
|
/* 02BD6814 */ rbrew_write8(cpu->mem, _t255, (uint8_t)cpu->r[6]);
|
|
/* 02BD6818 */ _t256 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD6818 */ cpu->r[7] = rbrew_read32(cpu->mem, _t256);
|
|
/* 02BD681C */ _t257 = cpu->r[23] + 0x000000A8u;
|
|
/* 02BD681C */ rbrew_write32(cpu->mem, _t257, cpu->r[7]);
|
|
L_02BD6820: ; // 0x2bd6820
|
|
/* 02BD6820 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD6824 */ Gambit_fn_02BD53E8(cpu);
|
|
/* 02BD6828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD682C */ _t258 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD682C */ _t259 = _t258 & 0x00000001u;
|
|
/* 02BD682C */ if (_t259) goto L_02BD697C; else goto L_02BD6830;
|
|
L_02BD6830: ; // 0x2bd6830
|
|
/* 02BD6830 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD6834 */ Gambit_fn_02BD5A08(cpu);
|
|
/* 02BD6838 */ _t260 = cpu->r[1] + 0x00000040u;
|
|
/* 02BD6838 */ rbrew_write32(cpu->mem, _t260, cpu->r[3]);
|
|
/* 02BD683C */ _t261 = cpu->r[1] + 0x00000040u;
|
|
/* 02BD683C */ cpu->r[10] = rbrew_read32(cpu->mem, _t261);
|
|
/* 02BD6840 */ _t262 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD6840 */ rbrew_write32(cpu->mem, _t262, cpu->r[4]);
|
|
/* 02BD6844 */ _t263 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD6844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t263);
|
|
/* 02BD6848 */ cpu->r[5] = cpu->r[1] + 0x00000060u;
|
|
/* 02BD684C */ _t264 = cpu->r[1] + 0x00000060u;
|
|
/* 02BD684C */ rbrew_write32(cpu->mem, _t264, cpu->r[10]);
|
|
/* 02BD6850 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD6854 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD6858 */ _t265 = cpu->r[1] + 0x00000064u;
|
|
/* 02BD6858 */ rbrew_write32(cpu->mem, _t265, cpu->r[0]);
|
|
/* 02BD685C */ Gambit_fn_02BD5C84(cpu);
|
|
/* 02BD6860 */ /* nop */
|
|
/* 02BD6864 */ _t266 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02BD6864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t266);
|
|
/* 02BD6868 */ cpu->lr = cpu->r[0];
|
|
/* 02BD686C */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 02BD6870 */ return;
|
|
L_02BD6874: ; // 0x2bd6874
|
|
/* 02BD6874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u);
|
|
/* 02BD6878 */ _t267 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6878 */ _t268 = _t267 & 0x00000001u;
|
|
/* 02BD6878 */ if (_t268) goto L_02BD697C; else goto L_02BD687C;
|
|
L_02BD687C: ; // 0x2bd687c
|
|
/* 02BD687C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
|
|
/* 02BD6880 */ _t269 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6880 */ _t270 = _t269 & 0x00000001u;
|
|
/* 02BD6880 */ if (_t270) goto L_02BD6884; else goto L_02BD697C;
|
|
L_02BD6884: ; // 0x2bd6884
|
|
/* 02BD6884 */ _t271 = cpu->r[31] + 0x00000090u;
|
|
/* 02BD6884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t271);
|
|
/* 02BD6888 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02BD688C */ _t272 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD688C */ _t273 = _t272 & 0x00000001u;
|
|
/* 02BD688C */ if (_t273) goto L_02BD6914; else goto L_02BD6890;
|
|
L_02BD6890: ; // 0x2bd6890
|
|
/* 02BD6890 */ _t274 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD6890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t274);
|
|
/* 02BD6894 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02BD6898 */ _t275 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6898 */ _t276 = _t275 & 0x00000001u;
|
|
/* 02BD6898 */ if (_t276) goto L_02BD689C; else goto L_02BD6914;
|
|
L_02BD689C: ; // 0x2bd689c
|
|
/* 02BD689C */ _t277 = cpu->r[31] + 0x00000094u;
|
|
/* 02BD689C */ cpu->r[0] = rbrew_read32(cpu->mem, _t277);
|
|
/* 02BD68A0 */ _t278 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD68A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t278);
|
|
/* 02BD68A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02BD68A8 */ _t279 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD68A8 */ _t280 = _t279 & 0x00000001u;
|
|
/* 02BD68A8 */ if (_t280) goto L_02BD68AC; else goto L_02BD6914;
|
|
L_02BD68AC: ; // 0x2bd68ac
|
|
/* 02BD68AC */ _t281 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD68AC */ cpu->r[23] = rbrew_read32(cpu->mem, _t281);
|
|
/* 02BD68B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02BD68B4 */ _t282 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD68B4 */ _t283 = _t282 & 0x00000001u;
|
|
/* 02BD68B4 */ if (_t283) goto L_02BD6508; else goto L_02BD68B8;
|
|
L_02BD68B8: ; // 0x2bd68b8
|
|
/* 02BD68B8 */ _t284 = cpu->r[23] + 0x00000058u;
|
|
/* 02BD68B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t284);
|
|
/* 02BD68BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BD68C0 */ _t285 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD68C0 */ _t286 = _t285 & 0x00000001u;
|
|
/* 02BD68C0 */ if (_t286) goto L_02BD6508; else goto L_02BD68C4;
|
|
L_02BD68C4: ; // 0x2bd68c4
|
|
/* 02BD68C4 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD68C8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD68CC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD68D0 */ _t287 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD68D0 */ rbrew_write32(cpu->mem, _t287, cpu->r[26]);
|
|
/* 02BD68D4 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BD68D8 */ _t288 = cpu->r[23] + 0x000000A6u;
|
|
/* 02BD68D8 */ rbrew_write8(cpu->mem, _t288, (uint8_t)cpu->r[8]);
|
|
/* 02BD68DC */ _t289 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD68DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t289);
|
|
/* 02BD68E0 */ _t290 = cpu->r[23] + 0x000000A8u;
|
|
/* 02BD68E0 */ rbrew_write32(cpu->mem, _t290, cpu->r[9]);
|
|
/* 02BD68E4 */ _t291 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD68E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t291);
|
|
/* 02BD68E8 */ _t292 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD68E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t292);
|
|
/* 02BD68EC */ _t293 = cpu->r[10] + 0x0000008Cu;
|
|
/* 02BD68EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t293);
|
|
/* 02BD68F0 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD68F4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD68F8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD68FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD6900 */ /* nop */
|
|
/* 02BD6904 */ _t294 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02BD6904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t294);
|
|
/* 02BD6908 */ cpu->lr = cpu->r[0];
|
|
/* 02BD690C */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 02BD6910 */ return;
|
|
L_02BD6914: ; // 0x2bd6914
|
|
/* 02BD6914 */ _t295 = cpu->r[31] + 0x00000048u;
|
|
/* 02BD6914 */ cpu->r[3] = rbrew_read32(cpu->mem, _t295);
|
|
/* 02BD6918 */ _t296 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD6918 */ cpu->r[10] = rbrew_read32(cpu->mem, _t296);
|
|
/* 02BD691C */ _t297 = cpu->r[10] + 0x0000008Cu;
|
|
/* 02BD691C */ cpu->r[11] = rbrew_read32(cpu->mem, _t297);
|
|
/* 02BD6920 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD6924 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD6928 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD692C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD6930 */ /* nop */
|
|
/* 02BD6934 */ _t298 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02BD6934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t298);
|
|
/* 02BD6938 */ cpu->lr = cpu->r[0];
|
|
/* 02BD693C */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 02BD6940 */ return;
|
|
L_02BD6944: ; // 0x2bd6944
|
|
/* 02BD6944 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
|
|
/* 02BD6948 */ _t299 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6948 */ _t300 = _t299 & 0x00000001u;
|
|
/* 02BD6948 */ if (_t300) goto L_02BD694C; else goto L_02BD697C;
|
|
L_02BD694C: ; // 0x2bd694c
|
|
/* 02BD694C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD6950 */ Gambit_fn_02BD4700(cpu);
|
|
/* 02BD6954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6958 */ _t301 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6958 */ _t302 = _t301 & 0x00000001u;
|
|
/* 02BD6958 */ if (_t302) goto L_02BD697C; else goto L_02BD695C;
|
|
L_02BD695C: ; // 0x2bd695c
|
|
/* 02BD695C */ _t303 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD695C */ cpu->r[7] = rbrew_read32(cpu->mem, _t303);
|
|
/* 02BD6960 */ cpu->r[5] = cpu->r[1] + 0x00000068u;
|
|
/* 02BD6964 */ _t304 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD6964 */ cpu->r[9] = rbrew_read32(cpu->mem, _t304);
|
|
/* 02BD6968 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BD696C */ _t305 = cpu->r[1] + 0x00000068u;
|
|
/* 02BD696C */ rbrew_write32(cpu->mem, _t305, cpu->r[7]);
|
|
/* 02BD6970 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD6974 */ _t306 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02BD6974 */ rbrew_write32(cpu->mem, _t306, cpu->r[9]);
|
|
/* 02BD6978 */ Gambit_fn_02BD5C84(cpu);
|
|
L_02BD697C: ; // 0x2bd697c
|
|
/* 02BD697C */ /* nop */
|
|
/* 02BD6980 */ _t307 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02BD6980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t307);
|
|
/* 02BD6984 */ cpu->lr = cpu->r[0];
|
|
/* 02BD6988 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 02BD698C */ return;
|
|
}
|
|
|
|
// fn_02BD6990 @ 0x2bd6990
|
|
void Gambit_fn_02BD6990(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BD6990: ; // 0x2bd6990
|
|
/* 02BD6990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BD6994 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6994 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02BD6994 */ if (_t1) goto L_02BD6998; else goto L_02BD69D8;
|
|
L_02BD6998: ; // 0x2bd6998
|
|
/* 02BD6998 */ _t2 = cpu->r[3] + 0x00000078u;
|
|
/* 02BD6998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD699C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02BD69A0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD69A0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD69A0 */ if (_t4) goto L_02BD69FC; else goto L_02BD69A4;
|
|
L_02BD69A4: ; // 0x2bd69a4
|
|
/* 02BD69A4 */ _t5 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BD69A4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BD69A8 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 02BD69AC */ cpu->r[12] = cpu->r[3] + 0x000000D0u;
|
|
/* 02BD69B0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD69B4 */ _t6 = cpu->r[10] + cpu->r[12];
|
|
/* 02BD69B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD69B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BD69BC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD69BC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD69BC */ if (_t8) goto L_02BD69C4; else goto L_02BD69C0;
|
|
L_02BD69C0: ; // 0x2bd69c0
|
|
/* 02BD69C0 */ goto L_02BD6990;
|
|
L_02BD69C4: ; // 0x2bd69c4
|
|
/* 02BD69C4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD69C8 */ _t9 = cpu->r[11] + cpu->r[12];
|
|
/* 02BD69C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD69CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BD69D0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD69D0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD69D0 */ if (_t11) goto L_02BD69FC; else goto L_02BD69D4;
|
|
L_02BD69D4: ; // 0x2bd69d4
|
|
/* 02BD69D4 */ goto L_02BD6990;
|
|
L_02BD69D8: ; // 0x2bd69d8
|
|
/* 02BD69D8 */ cpu->r[0] = 0x00000004u;
|
|
/* 02BD69DC */ cpu->ctr = cpu->r[0];
|
|
/* 02BD69E0 */ cpu->r[10] = cpu->r[3] + 0x0000012Cu;
|
|
L_02BD69E4: ; // 0x2bd69e4
|
|
/* 02BD69E4 */ _t12 = cpu->r[10] + 0x00000004u;
|
|
/* 02BD69E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD69E4 */ cpu->r[10] = _t12;
|
|
/* 02BD69E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BD69EC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD69EC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD69EC */ if (_t14) goto L_02BD69F0; else goto L_02BD69F8;
|
|
L_02BD69F0: ; // 0x2bd69f0
|
|
/* 02BD69F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD69F4 */ return;
|
|
L_02BD69F8: ; // 0x2bd69f8
|
|
/* 02BD69F8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD69F8 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD69F8 */ _t16 = _t15 >> (0x00000002u & 31u);
|
|
/* 02BD69F8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD69F8 */ if (_t17) goto L_02BD69E4; else goto L_02BD69FC;
|
|
L_02BD69FC: ; // 0x2bd69fc
|
|
/* 02BD69FC */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD6A00 */ return;
|
|
}
|
|
|
|
// fn_02BD6A04 @ 0x2bd6a04
|
|
void Gambit_fn_02BD6A04(CPUState* cpu) {
|
|
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_02BD6A04: ; // 0x2bd6a04
|
|
/* 02BD6A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD6A08 */ cpu->r[9] = cpu->r[3] + 0x00000130u;
|
|
/* 02BD6A0C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6A0C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02BD6A0C */ if (_t1) goto L_02BD6A3C; else goto L_02BD6A10;
|
|
L_02BD6A10: ; // 0x2bd6a10
|
|
/* 02BD6A10 */ cpu->r[12] = 0x00000004u;
|
|
/* 02BD6A14 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BD6A18 */ cpu->ctr = cpu->r[12];
|
|
/* 02BD6A1C */ cpu->r[0] = cpu->r[11];
|
|
L_02BD6A20: ; // 0x2bd6a20
|
|
/* 02BD6A20 */ _t2 = cpu->r[9] + cpu->r[11];
|
|
/* 02BD6A20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD6A24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[4]);
|
|
/* 02BD6A28 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6A28 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD6A28 */ if (_t4) goto L_02BD6A2C; else goto L_02BD6A30;
|
|
L_02BD6A2C: ; // 0x2bd6a2c
|
|
/* 02BD6A2C */ _t5 = cpu->r[9] + cpu->r[11];
|
|
/* 02BD6A2C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_02BD6A30: ; // 0x2bd6a30
|
|
/* 02BD6A30 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02BD6A34 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD6A34 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD6A34 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 02BD6A34 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD6A34 */ if (_t8) goto L_02BD6A20; else goto L_02BD6A38;
|
|
L_02BD6A38: ; // 0x2bd6a38
|
|
/* 02BD6A38 */ return;
|
|
L_02BD6A3C: ; // 0x2bd6a3c
|
|
/* 02BD6A3C */ cpu->r[10] = 0x00000004u;
|
|
/* 02BD6A40 */ cpu->ctr = cpu->r[10];
|
|
/* 02BD6A44 */ cpu->r[8] = cpu->r[3] + 0x0000012Cu;
|
|
L_02BD6A48: ; // 0x2bd6a48
|
|
/* 02BD6A48 */ _t9 = cpu->r[8] + 0x00000004u;
|
|
/* 02BD6A48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD6A48 */ cpu->r[8] = _t9;
|
|
/* 02BD6A4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[4]);
|
|
/* 02BD6A50 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6A50 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD6A50 */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BD6A50 */ goto L_02BD6A54;
|
|
L_02BD6A54: ; // 0x2bd6a54
|
|
/* 02BD6A54 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD6A54 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD6A54 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02BD6A54 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD6A54 */ if (_t14) goto L_02BD6A48; else goto L_02BD6A58;
|
|
L_02BD6A58: ; // 0x2bd6a58
|
|
/* 02BD6A58 */ cpu->r[8] = 0x00000004u;
|
|
/* 02BD6A5C */ cpu->ctr = cpu->r[8];
|
|
/* 02BD6A60 */ cpu->r[7] = 0x00000000u;
|
|
L_02BD6A64: ; // 0x2bd6a64
|
|
/* 02BD6A64 */ _t15 = cpu->r[9] + cpu->r[7];
|
|
/* 02BD6A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD6A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD6A6C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6A6C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD6A6C */ if (_t17) goto L_02BD6A70; else goto L_02BD6A78;
|
|
L_02BD6A70: ; // 0x2bd6a70
|
|
/* 02BD6A70 */ _t18 = cpu->r[9] + cpu->r[7];
|
|
/* 02BD6A70 */ rbrew_write32(cpu->mem, _t18, cpu->r[4]);
|
|
/* 02BD6A74 */ return;
|
|
L_02BD6A78: ; // 0x2bd6a78
|
|
/* 02BD6A78 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 02BD6A7C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD6A7C */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD6A7C */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 02BD6A7C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD6A7C */ if (_t21) goto L_02BD6A64; else goto L_02BD6A80;
|
|
L_02BD6A80: ; // 0x2bd6a80
|
|
/* 02BD6A80 */ return;
|
|
}
|
|
|
|
// fn_02BD6A84 @ 0x2bd6a84
|
|
void Gambit_fn_02BD6A84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BD6A84: ; // 0x2bd6a84
|
|
/* 02BD6A84 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD6A88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD6A88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD6A88 */ cpu->r[1] = _t0;
|
|
/* 02BD6A8C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6A8C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD6A90 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6A90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD6A94 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD6A98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6A98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD6A9C */ _t4 = cpu->r[30] + 0x00000010u;
|
|
/* 02BD6A9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD6AA0 */ cpu->r[31] = 0x00000001u;
|
|
/* 02BD6AA4 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BD6AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6AAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6AAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD6AAC */ if (_t6) goto L_02BD6AB0; else goto L_02BD6AC4;
|
|
L_02BD6AB0: ; // 0x2bd6ab0
|
|
/* 02BD6AB0 */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD6AB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD6AB4 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BD6AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6ABC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6ABC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD6ABC */ if (_t9) goto L_02BD6AC0; else goto L_02BD6AC4;
|
|
L_02BD6AC0: ; // 0x2bd6ac0
|
|
/* 02BD6AC0 */ cpu->r[31] = 0x00000000u;
|
|
L_02BD6AC4: ; // 0x2bd6ac4
|
|
/* 02BD6AC4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6AC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD6AC8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD6ACC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6ACC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD6AD0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD6AD4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6AD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD6AD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6ADC */ return;
|
|
}
|
|
|
|
// fn_02BD6A88 @ 0x2bd6a88
|
|
void Gambit_fn_02BD6A88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BD6A88: ; // 0x2bd6a88
|
|
/* 02BD6A88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD6A88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD6A88 */ cpu->r[1] = _t0;
|
|
/* 02BD6A8C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6A8C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD6A90 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6A90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD6A94 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD6A98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6A98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD6A9C */ _t4 = cpu->r[30] + 0x00000010u;
|
|
/* 02BD6A9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD6AA0 */ cpu->r[31] = 0x00000001u;
|
|
/* 02BD6AA4 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BD6AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6AAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6AAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD6AAC */ if (_t6) goto L_02BD6AB0; else goto L_02BD6AC4;
|
|
L_02BD6AB0: ; // 0x2bd6ab0
|
|
/* 02BD6AB0 */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD6AB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD6AB4 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BD6AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6ABC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6ABC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD6ABC */ if (_t9) goto L_02BD6AC0; else goto L_02BD6AC4;
|
|
L_02BD6AC0: ; // 0x2bd6ac0
|
|
/* 02BD6AC0 */ cpu->r[31] = 0x00000000u;
|
|
L_02BD6AC4: ; // 0x2bd6ac4
|
|
/* 02BD6AC4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6AC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD6AC8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD6ACC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6ACC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD6AD0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD6AD4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6AD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD6AD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6ADC */ return;
|
|
}
|
|
|
|
// fn_02BD6AE0 @ 0x2bd6ae0
|
|
void Gambit_fn_02BD6AE0(CPUState* cpu) {
|
|
uint32_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_02BD6AE0: ; // 0x2bd6ae0
|
|
/* 02BD6AE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD6AE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD6AE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD6AE4 */ cpu->r[1] = _t0;
|
|
/* 02BD6AE8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6AE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD6AEC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD6AF0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6AF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD6AF4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD6AF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6AF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD6AFC */ _t4 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BD6AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD6B00 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD6B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6B08 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD6B0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6B0C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD6B0C */ if (_t6) goto L_02BD6B40; else goto L_02BD6B10;
|
|
L_02BD6B10: ; // 0x2bd6b10
|
|
/* 02BD6B10 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD6B14 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD6B18 */ _t7 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BD6B18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD6B1C */ _t8 = cpu->r[3] + 0xFFFFB790u;
|
|
/* 02BD6B1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD6B20 */ _t9 = cpu->r[12] + 0x00000144u;
|
|
/* 02BD6B20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD6B24 */ Gambit_fn_02BECE14(cpu);
|
|
/* 02BD6B28 */ _t10 = cpu->r[30] + 0x00000088u;
|
|
/* 02BD6B28 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02BD6B2C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD6B30 */ _t11 = cpu->r[30] + 0x00000080u;
|
|
/* 02BD6B30 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 02BD6B34 */ _t12 = cpu->r[30] + 0x00000084u;
|
|
/* 02BD6B34 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 02BD6B38 */ _t13 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02BD6B38 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02BD6B3C */ goto L_02BD6B60;
|
|
L_02BD6B40: ; // 0x2bd6b40
|
|
/* 02BD6B40 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BD6B44 */ _t14 = cpu->r[11] + 0xFFFFB770u;
|
|
/* 02BD6B44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD6B48 */ _t15 = cpu->r[11] + 0x0000005Eu;
|
|
/* 02BD6B48 */ cpu->r[3] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02BD6B4C */ _t16 = cpu->r[30] + 0x00000084u;
|
|
/* 02BD6B4C */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02BD6B50 */ _t17 = cpu->r[30] + 0x00000088u;
|
|
/* 02BD6B50 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 02BD6B54 */ _t18 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02BD6B54 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02BD6B58 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD6B5C */ _t19 = cpu->r[30] + 0x00000080u;
|
|
/* 02BD6B5C */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
L_02BD6B60: ; // 0x2bd6b60
|
|
/* 02BD6B60 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BD6B64 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD6B68 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6B68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD6B6C */ cpu->lr = cpu->r[0];
|
|
/* 02BD6B70 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6B70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD6B74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6B78 */ return;
|
|
}
|
|
|
|
// fn_02BD6AE4 @ 0x2bd6ae4
|
|
void Gambit_fn_02BD6AE4(CPUState* cpu) {
|
|
uint32_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_02BD6AE4: ; // 0x2bd6ae4
|
|
/* 02BD6AE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD6AE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD6AE4 */ cpu->r[1] = _t0;
|
|
/* 02BD6AE8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6AE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD6AEC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD6AF0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6AF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD6AF4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD6AF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6AF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD6AFC */ _t4 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BD6AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD6B00 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD6B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6B08 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD6B0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6B0C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD6B0C */ if (_t6) goto L_02BD6B40; else goto L_02BD6B10;
|
|
L_02BD6B10: ; // 0x2bd6b10
|
|
/* 02BD6B10 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD6B14 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD6B18 */ _t7 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BD6B18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD6B1C */ _t8 = cpu->r[3] + 0xFFFFB790u;
|
|
/* 02BD6B1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD6B20 */ _t9 = cpu->r[12] + 0x00000144u;
|
|
/* 02BD6B20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD6B24 */ Gambit_fn_02BECE14(cpu);
|
|
/* 02BD6B28 */ _t10 = cpu->r[30] + 0x00000088u;
|
|
/* 02BD6B28 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02BD6B2C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD6B30 */ _t11 = cpu->r[30] + 0x00000080u;
|
|
/* 02BD6B30 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 02BD6B34 */ _t12 = cpu->r[30] + 0x00000084u;
|
|
/* 02BD6B34 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 02BD6B38 */ _t13 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02BD6B38 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02BD6B3C */ goto L_02BD6B60;
|
|
L_02BD6B40: ; // 0x2bd6b40
|
|
/* 02BD6B40 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BD6B44 */ _t14 = cpu->r[11] + 0xFFFFB770u;
|
|
/* 02BD6B44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD6B48 */ _t15 = cpu->r[11] + 0x0000005Eu;
|
|
/* 02BD6B48 */ cpu->r[3] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02BD6B4C */ _t16 = cpu->r[30] + 0x00000084u;
|
|
/* 02BD6B4C */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02BD6B50 */ _t17 = cpu->r[30] + 0x00000088u;
|
|
/* 02BD6B50 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 02BD6B54 */ _t18 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02BD6B54 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02BD6B58 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD6B5C */ _t19 = cpu->r[30] + 0x00000080u;
|
|
/* 02BD6B5C */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
L_02BD6B60: ; // 0x2bd6b60
|
|
/* 02BD6B60 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BD6B64 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD6B68 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6B68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD6B6C */ cpu->lr = cpu->r[0];
|
|
/* 02BD6B70 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6B70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD6B74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6B78 */ return;
|
|
}
|
|
|
|
// fn_02BD6B7C @ 0x2bd6b7c
|
|
void Gambit_fn_02BD6B7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61;
|
|
|
|
L_02BD6B7C: ; // 0x2bd6b7c
|
|
/* 02BD6B7C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02BD6B7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD6B7C */ cpu->r[1] = _t0;
|
|
/* 02BD6B80 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD6B84 */ /* nop */
|
|
/* 02BD6B88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD6B8C */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD6B8C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD6B90 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD6B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6B98 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BD6B9C */ cpu->r[28] = 0x00000000u;
|
|
/* 02BD6BA0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6BA0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD6BA0 */ if (_t3) goto L_02BD6D14; else goto L_02BD6BA4;
|
|
L_02BD6BA4: ; // 0x2bd6ba4
|
|
/* 02BD6BA4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BD6BA8 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BD6BAC */ _t4 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BD6BAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD6BB0 */ _t5 = cpu->r[29] + 0xFFFFB790u;
|
|
/* 02BD6BB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD6BB4 */ _t6 = cpu->r[8] + 0x00000144u;
|
|
/* 02BD6BB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD6BB8 */ Gambit_fn_02BECE14(cpu);
|
|
/* 02BD6BBC */ _t7 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD6BBC */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02BD6BC0 */ _t8 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD6BC0 */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 02BD6BC4 */ _t9 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BD6BC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD6BC8 */ _t10 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BD6BC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD6BCC */ _t11 = cpu->r[6] + 0x00000058u;
|
|
/* 02BD6BCC */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD6BD0 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BD6BD4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BD6BD8 */ _t12 = cpu->r[29] + 0xFFFFB790u;
|
|
/* 02BD6BD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD6BDC */ Gambit_fn_02BECE14(cpu);
|
|
/* 02BD6BE0 */ cpu->r[7] = cpu->r[3];
|
|
/* 02BD6BE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD6BE8 */ _t13 = cpu->r[31] + 0x00000108u;
|
|
/* 02BD6BE8 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 02BD6BEC */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD6BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6BF4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6BF4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD6BF4 */ if (_t15) goto L_02BD6D04; else goto L_02BD6BF8;
|
|
L_02BD6BF8: ; // 0x2bd6bf8
|
|
/* 02BD6BF8 */ _t16 = cpu->r[31] + 0x00000078u;
|
|
/* 02BD6BF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD6BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000004u);
|
|
/* 02BD6C00 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6C00 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BD6C00 */ if (_t18) goto L_02BD6C04; else goto L_02BD6D04;
|
|
L_02BD6C04: ; // 0x2bd6c04
|
|
/* 02BD6C04 */ _t19 = cpu->r[31] + 0x000000C2u;
|
|
/* 02BD6C04 */ cpu->r[5] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BD6C08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD6C0C */ _t20 = cpu->r[31] + 0x00000090u;
|
|
/* 02BD6C0C */ rbrew_write32(cpu->mem, _t20, cpu->r[7]);
|
|
/* 02BD6C10 */ cpu->r[7] = cpu->r[31] + cpu->r[0];
|
|
/* 02BD6C14 */ _t21 = cpu->r[31] + 0x00000094u;
|
|
/* 02BD6C14 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02BD6C18 */ _t22 = cpu->r[7] + 0x000000C4u;
|
|
/* 02BD6C18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD6C1C */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD6C1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD6C20 */ _t24 = cpu->r[8] + 0x0000011Cu;
|
|
/* 02BD6C20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD6C24 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD6C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD6C2C */ _t25 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD6C2C */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 02BD6C30 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BD6C34 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6C34 */ rbrew_write32(cpu->mem, _t26, cpu->r[28]);
|
|
/* 02BD6C38 */ _t27 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD6C38 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02BD6C3C */ _t28 = cpu->r[30] + 0xFFFFB778u;
|
|
/* 02BD6C3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD6C3C */ cpu->r[30] = _t28;
|
|
/* 02BD6C40 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD6C40 */ rbrew_write32(cpu->mem, _t29, cpu->r[28]);
|
|
/* 02BD6C44 */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD6C44 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
/* 02BD6C48 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6C48 */ rbrew_write32(cpu->mem, _t31, cpu->r[28]);
|
|
/* 02BD6C4C */ _t32 = cpu->r[9] + 0x0000007Cu;
|
|
/* 02BD6C4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD6C50 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6C54 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD6C58 */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD6C5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD6C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD6C60 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6C60 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD6C60 */ if (_t34) goto L_02BD6C88; else goto L_02BD6C64;
|
|
L_02BD6C64: ; // 0x2bd6c64
|
|
/* 02BD6C64 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD6C68 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD6C6C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD6C70 */ /* nop */
|
|
/* 02BD6C74 */ _t35 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD6C74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD6C78 */ cpu->lr = cpu->r[0];
|
|
/* 02BD6C7C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD6C80 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD6C84 */ return;
|
|
L_02BD6C88: ; // 0x2bd6c88
|
|
/* 02BD6C88 */ _t36 = cpu->r[31] + 0x00000094u;
|
|
/* 02BD6C88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD6C8C */ _t37 = cpu->r[31] + 0x00000090u;
|
|
/* 02BD6C8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD6C90 */ _t38 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD6C90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD6C94 */ _t39 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD6C94 */ rbrew_write32(cpu->mem, _t39, cpu->r[5]);
|
|
/* 02BD6C98 */ cpu->r[12] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD6C9C */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD6C9C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02BD6CA0 */ _t41 = cpu->r[8] + 0x0000007Cu;
|
|
/* 02BD6CA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD6CA4 */ cpu->r[5] = cpu->r[12];
|
|
/* 02BD6CA8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6CAC */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD6CB0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD6CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD6CB4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6CB4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BD6CB4 */ if (_t43) goto L_02BD6CB8; else goto L_02BD6CEC;
|
|
L_02BD6CB8: ; // 0x2bd6cb8
|
|
/* 02BD6CB8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD6CBC */ _t44 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BD6CBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD6CC0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6CC4 */ _t45 = cpu->r[12] + 0x00000068u;
|
|
/* 02BD6CC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD6CC8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6CCC */ Gambit_fn_02BDBF7C(cpu);
|
|
/* 02BD6CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6CD4 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BD6CD8 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6CD8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BD6CD8 */ if (_t47) goto L_02BD6CE0; else goto L_02BD6CDC;
|
|
L_02BD6CDC: ; // 0x2bd6cdc
|
|
/* 02BD6CDC */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6CDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
L_02BD6CE0: ; // 0x2bd6ce0
|
|
/* 02BD6CE0 */ _t49 = cpu->r[31] + 0x00000108u;
|
|
/* 02BD6CE0 */ rbrew_write32(cpu->mem, _t49, cpu->r[10]);
|
|
/* 02BD6CE4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD6CE8 */ goto L_02BD6D38;
|
|
L_02BD6CEC: ; // 0x2bd6cec
|
|
/* 02BD6CEC */ /* nop */
|
|
/* 02BD6CF0 */ _t50 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD6CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD6CF4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD6CF8 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD6CFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD6D00 */ return;
|
|
L_02BD6D04: ; // 0x2bd6d04
|
|
/* 02BD6D04 */ _t51 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD6D04 */ rbrew_write32(cpu->mem, _t51, cpu->r[7]);
|
|
/* 02BD6D08 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD6D0C */ _t52 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD6D0C */ rbrew_write32(cpu->mem, _t52, cpu->r[28]);
|
|
/* 02BD6D10 */ goto L_02BD6D38;
|
|
L_02BD6D14: ; // 0x2bd6d14
|
|
/* 02BD6D14 */ _t53 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BD6D14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BD6D18 */ _t54 = cpu->r[12] + 0x0000005Eu;
|
|
/* 02BD6D18 */ cpu->r[0] = rbrew_read16(cpu->mem, _t54);
|
|
/* 02BD6D1C */ _t55 = cpu->r[31] + 0x00000084u;
|
|
/* 02BD6D1C */ rbrew_write32(cpu->mem, _t55, cpu->r[28]);
|
|
/* 02BD6D20 */ _t56 = cpu->r[31] + 0x00000080u;
|
|
/* 02BD6D20 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 02BD6D24 */ _t57 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BD6D24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD6D28 */ _t58 = cpu->r[6] + 0x0000005Au;
|
|
/* 02BD6D28 */ cpu->r[0] = rbrew_read16(cpu->mem, _t58);
|
|
/* 02BD6D2C */ _t59 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BD6D2C */ rbrew_write32(cpu->mem, _t59, cpu->r[28]);
|
|
/* 02BD6D30 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD6D34 */ _t60 = cpu->r[31] + 0x00000088u;
|
|
/* 02BD6D34 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
L_02BD6D38: ; // 0x2bd6d38
|
|
/* 02BD6D38 */ /* nop */
|
|
/* 02BD6D3C */ _t61 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD6D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BD6D40 */ cpu->lr = cpu->r[0];
|
|
/* 02BD6D44 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD6D48 */ return;
|
|
}
|
|
|
|
// fn_02BD6D4C @ 0x2bd6d4c
|
|
void Gambit_fn_02BD6D4C(CPUState* cpu) {
|
|
uint32_t _t0, _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_02BD6D4C: ; // 0x2bd6d4c
|
|
/* 02BD6D4C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD6D50 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD6D50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD6D50 */ cpu->r[1] = _t0;
|
|
/* 02BD6D54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6D54 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BD6D58 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6D58 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD6D5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6D5C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BD6D60 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD6D60 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD6D64 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD6D68 */ _t5 = cpu->r[29] + 0x000000F4u;
|
|
/* 02BD6D68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD6D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD6D70 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BD6D74 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6D74 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD6D74 */ if (_t7) goto L_02BD6DD0; else goto L_02BD6D78;
|
|
L_02BD6D78: ; // 0x2bd6d78
|
|
/* 02BD6D78 */ cpu->r[3] = cpu->r[29] + 0x000000E8u;
|
|
/* 02BD6D7C */ Gambit_fn_02B682D4(cpu);
|
|
/* 02BD6D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6D84 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6D84 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD6D84 */ if (_t9) goto L_02BD6D90; else goto L_02BD6D88;
|
|
L_02BD6D88: ; // 0x2bd6d88
|
|
/* 02BD6D88 */ _t10 = cpu->r[29] + 0x000000F8u;
|
|
/* 02BD6D88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD6D8C */ cpu->r[3] = cpu->r[3] - cpu->r[11];
|
|
L_02BD6D90: ; // 0x2bd6d90
|
|
/* 02BD6D90 */ cpu->r[8] = cpu->r[3] + 0x00000008u;
|
|
/* 02BD6D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD6D94 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD6D98 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6D98 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD6D98 */ if (_t12) goto L_02BD6DA8; else goto L_02BD6D9C;
|
|
L_02BD6D9C: ; // 0x2bd6d9c
|
|
/* 02BD6D9C */ cpu->r[12] = 0x00000000u;
|
|
/* 02BD6DA0 */ _t13 = cpu->r[8] + 0x00000004u;
|
|
/* 02BD6DA0 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02BD6DA4 */ _t14 = cpu->r[8] + 0x00000000u;
|
|
/* 02BD6DA4 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
L_02BD6DA8: ; // 0x2bd6da8
|
|
/* 02BD6DA8 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BD6DAC */ cpu->r[4] = cpu->r[29] + 0x000000DCu;
|
|
/* 02BD6DB0 */ cpu->r[3] = cpu->r[29] + 0x000000D8u;
|
|
/* 02BD6DB4 */ Gambit_fn_02B681BC(cpu);
|
|
/* 02BD6DB8 */ cpu->r[12] = cpu->r[31] + 0x00000008u;
|
|
/* 02BD6DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD6DBC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6DBC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD6DBC */ if (_t16) goto L_02BD6DD0; else goto L_02BD6DC0;
|
|
L_02BD6DC0: ; // 0x2bd6dc0
|
|
/* 02BD6DC0 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD6DC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD6DC4 */ _t18 = cpu->r[12] + 0x00000000u;
|
|
/* 02BD6DC4 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 02BD6DC8 */ _t19 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD6DC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD6DCC */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02BD6DCC */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
L_02BD6DD0: ; // 0x2bd6dd0
|
|
/* 02BD6DD0 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6DD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD6DD4 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD6DD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD6DD8 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6DD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD6DDC */ cpu->lr = cpu->r[0];
|
|
/* 02BD6DE0 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6DE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD6DE4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD6DE8 */ return;
|
|
}
|
|
|
|
// fn_02BD6D50 @ 0x2bd6d50
|
|
void Gambit_fn_02BD6D50(CPUState* cpu) {
|
|
uint32_t _t0, _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_02BD6D50: ; // 0x2bd6d50
|
|
/* 02BD6D50 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD6D50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD6D50 */ cpu->r[1] = _t0;
|
|
/* 02BD6D54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6D54 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BD6D58 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6D58 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD6D5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6D5C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BD6D60 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD6D60 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD6D64 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD6D68 */ _t5 = cpu->r[29] + 0x000000F4u;
|
|
/* 02BD6D68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD6D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD6D70 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BD6D74 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6D74 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD6D74 */ if (_t7) goto L_02BD6DD0; else goto L_02BD6D78;
|
|
L_02BD6D78: ; // 0x2bd6d78
|
|
/* 02BD6D78 */ cpu->r[3] = cpu->r[29] + 0x000000E8u;
|
|
/* 02BD6D7C */ Gambit_fn_02B682D4(cpu);
|
|
/* 02BD6D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6D84 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6D84 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD6D84 */ if (_t9) goto L_02BD6D90; else goto L_02BD6D88;
|
|
L_02BD6D88: ; // 0x2bd6d88
|
|
/* 02BD6D88 */ _t10 = cpu->r[29] + 0x000000F8u;
|
|
/* 02BD6D88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD6D8C */ cpu->r[3] = cpu->r[3] - cpu->r[11];
|
|
L_02BD6D90: ; // 0x2bd6d90
|
|
/* 02BD6D90 */ cpu->r[8] = cpu->r[3] + 0x00000008u;
|
|
/* 02BD6D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD6D94 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD6D98 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6D98 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD6D98 */ if (_t12) goto L_02BD6DA8; else goto L_02BD6D9C;
|
|
L_02BD6D9C: ; // 0x2bd6d9c
|
|
/* 02BD6D9C */ cpu->r[12] = 0x00000000u;
|
|
/* 02BD6DA0 */ _t13 = cpu->r[8] + 0x00000004u;
|
|
/* 02BD6DA0 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02BD6DA4 */ _t14 = cpu->r[8] + 0x00000000u;
|
|
/* 02BD6DA4 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
L_02BD6DA8: ; // 0x2bd6da8
|
|
/* 02BD6DA8 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BD6DAC */ cpu->r[4] = cpu->r[29] + 0x000000DCu;
|
|
/* 02BD6DB0 */ cpu->r[3] = cpu->r[29] + 0x000000D8u;
|
|
/* 02BD6DB4 */ Gambit_fn_02B681BC(cpu);
|
|
/* 02BD6DB8 */ cpu->r[12] = cpu->r[31] + 0x00000008u;
|
|
/* 02BD6DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD6DBC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6DBC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD6DBC */ if (_t16) goto L_02BD6DD0; else goto L_02BD6DC0;
|
|
L_02BD6DC0: ; // 0x2bd6dc0
|
|
/* 02BD6DC0 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD6DC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD6DC4 */ _t18 = cpu->r[12] + 0x00000000u;
|
|
/* 02BD6DC4 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 02BD6DC8 */ _t19 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD6DC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD6DCC */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02BD6DCC */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
L_02BD6DD0: ; // 0x2bd6dd0
|
|
/* 02BD6DD0 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6DD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD6DD4 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD6DD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD6DD8 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6DD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD6DDC */ cpu->lr = cpu->r[0];
|
|
/* 02BD6DE0 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6DE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD6DE4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD6DE8 */ return;
|
|
}
|
|
|
|
// fn_02BD6DEC @ 0x2bd6dec
|
|
void Gambit_fn_02BD6DEC(CPUState* cpu) {
|
|
uint32_t _t0, _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_02BD6DEC: ; // 0x2bd6dec
|
|
/* 02BD6DEC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BD6DEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD6DEC */ cpu->r[1] = _t0;
|
|
/* 02BD6DF0 */ /* nop */
|
|
/* 02BD6DF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD6DF8 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD6DF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD6DFC */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD6E00 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BD6E04 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BD6E08 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD6E08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD6E0C */ _t3 = cpu->r[28] + 0xFFFFB778u;
|
|
/* 02BD6E0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD6E0C */ cpu->r[28] = _t3;
|
|
/* 02BD6E10 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6E10 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02BD6E14 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD6E14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD6E18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6E1C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6E1C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BD6E20 */ _t7 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD6E20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD6E24 */ cpu->r[31] = cpu->r[7];
|
|
/* 02BD6E28 */ Gambit_fn_02C0148C(cpu);
|
|
/* 02BD6E2C */ cpu->r[27] = cpu->r[3];
|
|
/* 02BD6E30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD6E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD6E34 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6E34 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD6E34 */ if (_t9) goto L_02BD6E38; else goto L_02BD6EC4;
|
|
L_02BD6E38: ; // 0x2bd6e38
|
|
/* 02BD6E38 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD6E3C */ Gambit_fn_02BD3018(cpu);
|
|
/* 02BD6E40 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD6E44 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD6E48 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD6E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD6E50 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6E50 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD6E50 */ if (_t11) goto L_02BD6E74; else goto L_02BD6E54;
|
|
L_02BD6E54: ; // 0x2bd6e54
|
|
/* 02BD6E54 */ cpu->r[7] = cpu->r[28] ^ 0x00000001u;
|
|
/* 02BD6E58 */ _t12 = cpu->r[29] + 0x00000068u;
|
|
/* 02BD6E58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD6E5C */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD6E60 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BD6E64 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD6E68 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD6E6C */ Gambit_fn_02BDB3A8(cpu);
|
|
/* 02BD6E70 */ cpu->r[27] = cpu->r[3];
|
|
L_02BD6E74: ; // 0x2bd6e74
|
|
/* 02BD6E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BD6E78 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6E78 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD6E78 */ if (_t14) goto L_02BD6E7C; else goto L_02BD6ED8;
|
|
L_02BD6E7C: ; // 0x2bd6e7c
|
|
/* 02BD6E7C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD6E80 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD6E84 */ Gambit_fn_02BD6D4C(cpu);
|
|
/* 02BD6E88 */ _t15 = cpu->r[29] + 0x00000060u;
|
|
/* 02BD6E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD6E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD6E90 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6E90 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD6E90 */ if (_t17) goto L_02BD6ED8; else goto L_02BD6E94;
|
|
L_02BD6E94: ; // 0x2bd6e94
|
|
/* 02BD6E94 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD6E94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD6E98 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD6E9C */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6E9C */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02BD6EA0 */ _t20 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD6EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD6EA4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD6EA8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6EAC */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6EAC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02BD6EB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD6EB4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD6EB8 */ cpu->r[9] = cpu->r[7] ^ 0x00000001u;
|
|
/* 02BD6EBC */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD6EC0 */ goto L_02BD6EE4;
|
|
L_02BD6EC4: ; // 0x2bd6ec4
|
|
/* 02BD6EC4 */ _t22 = cpu->r[28] + 0x00000000u;
|
|
/* 02BD6EC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD6EC8 */ cpu->r[6] = 0x40000000u;
|
|
/* 02BD6ECC */ _t23 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD6ECC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD6ED0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD6ED4 */ Gambit_fn_02C01754(cpu);
|
|
L_02BD6ED8: ; // 0x2bd6ed8
|
|
/* 02BD6ED8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD6EDC */ cpu->r[9] = cpu->r[7] ^ 0x00000001u;
|
|
/* 02BD6EE0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02BD6EE4: ; // 0x2bd6ee4
|
|
/* 02BD6EE4 */ /* nop */
|
|
/* 02BD6EE8 */ _t24 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD6EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD6EEC */ cpu->lr = cpu->r[0];
|
|
/* 02BD6EF0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD6EF4 */ return;
|
|
}
|
|
|
|
// fn_02BD6EF8 @ 0x2bd6ef8
|
|
void Gambit_fn_02BD6EF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02BD5D58: ; // 0x2bd5d58
|
|
/* 02BD5D58 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5D5C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD5D5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD5D5C */ cpu->r[1] = _t0;
|
|
/* 02BD5D60 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5D60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD5D64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD5D68 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5D68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD5D6C */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5D74 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD5D74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD5D78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5D78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD5D78 */ if (_t5) goto L_02BD5DA8; else goto L_02BD5D7C;
|
|
L_02BD5D7C: ; // 0x2bd5d7c
|
|
/* 02BD5D7C */ Gambit_fn_02BDAAD4(cpu);
|
|
/* 02BD5D80 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D80 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02BD5D84 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D84 */ cpu->r[11] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02BD5D88 */ _t8 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD5D88 */ cpu->r[12] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02BD5D8C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D8C */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[11]);
|
|
/* 02BD5D90 */ _t10 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BD5D90 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[12]);
|
|
/* 02BD5D94 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD5D98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD5D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BD5DA0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5DA0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD5DA0 */ if (_t13) goto L_02BD5DE8; else goto L_02BD5DA4;
|
|
L_02BD5DA4: ; // 0x2bd5da4
|
|
/* 02BD5DA4 */ goto L_02BD5DD0;
|
|
L_02BD5DA8: ; // 0x2bd5da8
|
|
/* 02BD5DA8 */ Gambit_fn_02BDA83C(cpu);
|
|
/* 02BD5DAC */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5DAC */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02BD5DB0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5DB0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02BD5DB4 */ _t16 = cpu->r[1] + 0x00000012u;
|
|
/* 02BD5DB4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02BD5DB8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5DB8 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[12]);
|
|
/* 02BD5DBC */ _t18 = cpu->r[1] + 0x00000016u;
|
|
/* 02BD5DBC */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[0]);
|
|
/* 02BD5DC0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5DC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD5DC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD5DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BD5DCC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5DCC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD5DCC */ if (_t21) goto L_02BD5DE8; else goto L_02BD5DD0;
|
|
L_02BD5DD0: ; // 0x2bd5dd0
|
|
/* 02BD5DD0 */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD5DD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD5DD4 */ _t23 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD5DD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD5DD8 */ _t24 = cpu->r[11] + 0x00000014u;
|
|
/* 02BD5DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD5DDC */ cpu->ctr = cpu->r[0];
|
|
/* 02BD5DE0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD5DE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD5DE8: ; // 0x2bd5de8
|
|
/* 02BD5DE8 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD5DEC */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5DEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD5DF0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5DF4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD5DF8 */ return;
|
|
L_02BD6EF8: ; // 0x2bd6ef8
|
|
/* 02BD6EF8 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BD6EFC */ cpu->r[11] = 0x10200000u;
|
|
/* 02BD6F00 */ _t27 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BD6F00 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02BD6F04 */ _t28 = cpu->r[11] + 0x000027A4u;
|
|
/* 02BD6F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD6F04 */ cpu->r[11] = _t28;
|
|
/* 02BD6F08 */ _t29 = cpu->r[3] + 0x00000088u;
|
|
/* 02BD6F08 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02BD6F0C */ _t30 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD6F0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD6F10 */ _t31 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02BD6F10 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02BD6F14 */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD6F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD6F18 */ _t33 = cpu->r[3] + 0x00000090u;
|
|
/* 02BD6F18 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02BD6F1C */ _t34 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD6F1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD6F20 */ _t35 = cpu->r[3] + 0x00000094u;
|
|
/* 02BD6F20 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02BD6F24 */ goto L_02BD5D58;
|
|
}
|
|
|
|
// fn_02BD6F28 @ 0x2bd6f28
|
|
void Gambit_fn_02BD6F28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BD6F28: ; // 0x2bd6f28
|
|
/* 02BD6F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BD6F2C */ cpu->r[12] = cpu->r[3];
|
|
/* 02BD6F30 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD6F30 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02BD6F30 */ if (_t1) goto L_02BD6F34; else goto L_02BD6F3C;
|
|
L_02BD6F34: ; // 0x2bd6f34
|
|
/* 02BD6F34 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD6F38 */ return;
|
|
L_02BD6F3C: ; // 0x2bd6f3c
|
|
/* 02BD6F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BD6F40 */ cpu->r[10] = 0x00000001u;
|
|
/* 02BD6F44 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD6F44 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD6F44 */ if (_t3) goto L_02BD6F48; else goto L_02BD6F54;
|
|
L_02BD6F48: ; // 0x2bd6f48
|
|
/* 02BD6F48 */ cpu->ctr = cpu->r[4];
|
|
L_02BD6F4C: ; // 0x2bd6f4c
|
|
/* 02BD6F4C */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BD6F50 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD6F50 */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD6F50 */ _t5 = _t4 >> (0x00000002u & 31u);
|
|
/* 02BD6F50 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD6F50 */ if (_t6) goto L_02BD6F4C; else goto L_02BD6F54;
|
|
L_02BD6F54: ; // 0x2bd6f54
|
|
/* 02BD6F54 */ _t7 = cpu->r[12] + 0x000000B8u;
|
|
/* 02BD6F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD6F58 */ _t8 = ~cpu->r[10];
|
|
/* 02BD6F58 */ cpu->r[0] = cpu->r[0] & _t8;
|
|
/* 02BD6F5C */ cpu->r[3] = 0x00000001u;
|
|
/* 02BD6F60 */ _t9 = cpu->r[12] + 0x000000B8u;
|
|
/* 02BD6F60 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BD6F64 */ return;
|
|
}
|
|
|
|
// fn_02BD6F68 @ 0x2bd6f68
|
|
void Gambit_fn_02BD6F68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BD6F68: ; // 0x2bd6f68
|
|
/* 02BD6F68 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD6F6C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD6F6C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD6F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BD6F74 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD6F74 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD6F74 */ cpu->r[1] = _t1;
|
|
/* 02BD6F78 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6F78 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD6F78 */ if (_t3) goto L_02BD6F98; else goto L_02BD6F7C;
|
|
L_02BD6F7C: ; // 0x2bd6f7c
|
|
/* 02BD6F7C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD6F80 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD6F84 */ _t4 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BD6F84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD6F88 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6F8C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6F8C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD6F90 */ Gambit_fn_02BEDB60(cpu);
|
|
/* 02BD6F94 */ goto L_02BD6FC4;
|
|
L_02BD6F98: ; // 0x2bd6f98
|
|
/* 02BD6F98 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD6F9C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6FA0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD6FA4 */ cpu->r[0] = 0xBD220000u;
|
|
/* 02BD6FA8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD6FAC */ cpu->r[0] = cpu->r[0] | 0x00005430u;
|
|
/* 02BD6FB0 */ _t6 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BD6FB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD6FB4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6FB4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BD6FB8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6FBC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6FBC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BD6FC0 */ Gambit_fn_02BEDB60(cpu);
|
|
L_02BD6FC4: ; // 0x2bd6fc4
|
|
/* 02BD6FC4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD6FC8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD6FCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6FD0 */ return;
|
|
}
|
|
|
|
// fn_02BD6F74 @ 0x2bd6f74
|
|
void Gambit_fn_02BD6F74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BD6F74: ; // 0x2bd6f74
|
|
/* 02BD6F74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD6F74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD6F74 */ cpu->r[1] = _t0;
|
|
/* 02BD6F78 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD6F78 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD6F78 */ if (_t2) goto L_02BD6F98; else goto L_02BD6F7C;
|
|
L_02BD6F7C: ; // 0x2bd6f7c
|
|
/* 02BD6F7C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD6F80 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD6F84 */ _t3 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BD6F84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD6F88 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6F8C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6F8C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD6F90 */ Gambit_fn_02BEDB60(cpu);
|
|
/* 02BD6F94 */ goto L_02BD6FC4;
|
|
L_02BD6F98: ; // 0x2bd6f98
|
|
/* 02BD6F98 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD6F9C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6FA0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD6FA4 */ cpu->r[0] = 0xBD220000u;
|
|
/* 02BD6FA8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD6FAC */ cpu->r[0] = cpu->r[0] | 0x00005430u;
|
|
/* 02BD6FB0 */ _t5 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BD6FB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD6FB4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD6FB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BD6FB8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6FBC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD6FBC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BD6FC0 */ Gambit_fn_02BEDB60(cpu);
|
|
L_02BD6FC4: ; // 0x2bd6fc4
|
|
/* 02BD6FC4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD6FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD6FC8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD6FCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD6FD0 */ return;
|
|
}
|
|
|
|
// fn_02BD6FD4 @ 0x2bd6fd4
|
|
void Gambit_fn_02BD6FD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BD6FD4: ; // 0x2bd6fd4
|
|
/* 02BD6FD4 */ cpu->r[11] = 0xFFFFFFFDu;
|
|
/* 02BD6FD8 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BD6FDC */ cpu->r[9] = 0x10200000u;
|
|
/* 02BD6FE0 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BD6FE4 */ _t0 = cpu->r[12] + 0x000027A4u;
|
|
/* 02BD6FE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 02BD6FE4 */ cpu->r[12] = _t0;
|
|
/* 02BD6FE8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BD6FEC */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 02BD6FF0 */ _t1 = cpu->r[9] + 0x000027B4u;
|
|
/* 02BD6FF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02BD6FF0 */ cpu->r[9] = _t1;
|
|
/* 02BD6FF4 */ _t2 = cpu->r[11] + 0x000027ACu;
|
|
/* 02BD6FF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD6FF4 */ cpu->r[11] = _t2;
|
|
/* 02BD6FF8 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD6FF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02BD6FFC */ cpu->r[11] = 0x10200000u;
|
|
/* 02BD7000 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 02BD7000 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02BD7004 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BD7008 */ _t5 = cpu->r[9] + 0x00000004u;
|
|
/* 02BD7008 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02BD700C */ _t6 = cpu->r[11] + 0x000027BCu;
|
|
/* 02BD700C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[12]);
|
|
/* 02BD700C */ cpu->r[11] = _t6;
|
|
/* 02BD7010 */ _t7 = cpu->r[11] + 0x00000001u;
|
|
/* 02BD7010 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 02BD7014 */ return;
|
|
}
|
|
|
|
// fn_02BD7024 @ 0x2bd7024
|
|
void Gambit_fn_02BD7024(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BD7024: ; // 0x2bd7024
|
|
/* 02BD7024 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD7024 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD7024 */ cpu->r[1] = _t0;
|
|
/* 02BD7028 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7028 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD7028 */ if (_t2) goto L_02BD702C; else goto L_02BD703C;
|
|
L_02BD702C: ; // 0x2bd702c
|
|
/* 02BD702C */ cpu->r[3] = 0x00000008u;
|
|
/* 02BD7030 */ Gambit_fn_02801A78(cpu);
|
|
/* 02BD7034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD7038 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7038 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD7038 */ if (_t4) goto L_02BD7048; else goto L_02BD703C;
|
|
L_02BD703C: ; // 0x2bd703c
|
|
/* 02BD703C */ cpu->r[12] = 0x00000000u;
|
|
/* 02BD7040 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02BD7040 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BD7044 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02BD7044 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
L_02BD7048: ; // 0x2bd7048
|
|
/* 02BD7048 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD704C */ cpu->lr = cpu->r[0];
|
|
/* 02BD7050 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7054 */ return;
|
|
}
|
|
|
|
// fn_02BD7058 @ 0x2bd7058
|
|
void Gambit_fn_02BD7058(CPUState* cpu) {
|
|
L_02BD7058: ; // 0x2bd7058
|
|
/* 02BD7058 */ cpu->r[3] = 0x02BD0000u;
|
|
/* 02BD705C */ cpu->r[3] = cpu->r[3] + 0x00005E40u;
|
|
/* 02BD7060 */ return;
|
|
}
|
|
|
|
// fn_02BD7064 @ 0x2bd7064
|
|
void Gambit_fn_02BD7064(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BD7064: ; // 0x2bd7064
|
|
/* 02BD7064 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD7068 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD7068 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD7068 */ cpu->r[1] = _t0;
|
|
/* 02BD706C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD706C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD7070 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD7070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD7074 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7074 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD7078 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7078 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD7078 */ if (_t4) goto L_02BD707C; else goto L_02BD708C;
|
|
L_02BD707C: ; // 0x2bd707c
|
|
/* 02BD707C */ cpu->r[3] = 0x00000128u;
|
|
/* 02BD7080 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD7084 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD7084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD7088 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7088 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD7088 */ if (_t6) goto L_02BD70B8; else goto L_02BD708C;
|
|
L_02BD708C: ; // 0x2bd708c
|
|
/* 02BD708C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7090 */ Gambit_fn_02BE5BB4(cpu);
|
|
/* 02BD7094 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BD7098 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BD709C */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD709C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BD70A0 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BD70A4 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD70A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BD70A8 */ cpu->r[12] = cpu->r[12] + 0x000042D4u;
|
|
/* 02BD70AC */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD70AC */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02BD70B0 */ _t10 = cpu->r[31] + 0x00000014u;
|
|
/* 02BD70B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02BD70B4 */ _t11 = cpu->r[31] + 0x00000024u;
|
|
/* 02BD70B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02BD70B8: ; // 0x2bd70b8
|
|
/* 02BD70B8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD70B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD70BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD70C0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD70C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD70C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD70C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD70CC */ return;
|
|
}
|
|
|
|
// fn_02BD7068 @ 0x2bd7068
|
|
void Gambit_fn_02BD7068(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BD7068: ; // 0x2bd7068
|
|
/* 02BD7068 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD7068 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD7068 */ cpu->r[1] = _t0;
|
|
/* 02BD706C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD706C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD7070 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD7070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD7074 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7074 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD7078 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7078 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD7078 */ if (_t4) goto L_02BD707C; else goto L_02BD708C;
|
|
L_02BD707C: ; // 0x2bd707c
|
|
/* 02BD707C */ cpu->r[3] = 0x00000128u;
|
|
/* 02BD7080 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BD7084 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD7084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD7088 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7088 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD7088 */ if (_t6) goto L_02BD70B8; else goto L_02BD708C;
|
|
L_02BD708C: ; // 0x2bd708c
|
|
/* 02BD708C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7090 */ Gambit_fn_02BE5BB4(cpu);
|
|
/* 02BD7094 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BD7098 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BD709C */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD709C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BD70A0 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BD70A4 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD70A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BD70A8 */ cpu->r[12] = cpu->r[12] + 0x000042D4u;
|
|
/* 02BD70AC */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD70AC */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02BD70B0 */ _t10 = cpu->r[31] + 0x00000014u;
|
|
/* 02BD70B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02BD70B4 */ _t11 = cpu->r[31] + 0x00000024u;
|
|
/* 02BD70B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02BD70B8: ; // 0x2bd70b8
|
|
/* 02BD70B8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD70B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD70BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD70C0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD70C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD70C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD70C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD70CC */ return;
|
|
}
|
|
|
|
// fn_02BD70D0 @ 0x2bd70d0
|
|
void Gambit_fn_02BD70D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BD70D0: ; // 0x2bd70d0
|
|
/* 02BD70D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD70D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD70D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD70D4 */ cpu->r[1] = _t0;
|
|
/* 02BD70D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD70D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD70DC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD70DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD70E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD70E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD70E4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BD70E8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD70E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD70EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD70EC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD70EC */ if (_t5) goto L_02BD710C; else goto L_02BD70F0;
|
|
L_02BD70F0: ; // 0x2bd70f0
|
|
/* 02BD70F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD70F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD70F8 */ Gambit_fn_02BE5C0C(cpu);
|
|
/* 02BD70FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD70FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD7100 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7100 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD7100 */ if (_t7) goto L_02BD710C; else goto L_02BD7104;
|
|
L_02BD7104: ; // 0x2bd7104
|
|
/* 02BD7104 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7108 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BD710C: ; // 0x2bd710c
|
|
/* 02BD710C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD710C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD7110 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD7114 */ cpu->lr = cpu->r[0];
|
|
/* 02BD7118 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7118 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD711C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7120 */ return;
|
|
}
|
|
|
|
// fn_02BD70D4 @ 0x2bd70d4
|
|
void Gambit_fn_02BD70D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BD70D4: ; // 0x2bd70d4
|
|
/* 02BD70D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD70D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD70D4 */ cpu->r[1] = _t0;
|
|
/* 02BD70D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD70D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD70DC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD70DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD70E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD70E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD70E4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BD70E8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD70E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD70EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD70EC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD70EC */ if (_t5) goto L_02BD710C; else goto L_02BD70F0;
|
|
L_02BD70F0: ; // 0x2bd70f0
|
|
/* 02BD70F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD70F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD70F8 */ Gambit_fn_02BE5C0C(cpu);
|
|
/* 02BD70FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD70FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD7100 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7100 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD7100 */ if (_t7) goto L_02BD710C; else goto L_02BD7104;
|
|
L_02BD7104: ; // 0x2bd7104
|
|
/* 02BD7104 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7108 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BD710C: ; // 0x2bd710c
|
|
/* 02BD710C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD710C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD7110 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD7114 */ cpu->lr = cpu->r[0];
|
|
/* 02BD7118 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7118 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD711C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7120 */ return;
|
|
}
|
|
|
|
// fn_02BD7124 @ 0x2bd7124
|
|
void Gambit_fn_02BD7124(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BD7124: ; // 0x2bd7124
|
|
/* 02BD7124 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD7124 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD7124 */ cpu->r[1] = _t0;
|
|
/* 02BD7128 */ /* nop */
|
|
/* 02BD712C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD7130 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7130 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD7134 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD7138 */ _t2 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD7138 */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD713C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD7140 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BD7144 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7144 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD7144 */ if (_t4) goto L_02BD7198; else goto L_02BD7148;
|
|
L_02BD7148: ; // 0x2bd7148
|
|
/* 02BD7148 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD714C */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BD7150 */ cpu->r[10] = 0x24920000u;
|
|
/* 02BD7154 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x0000001Cu, 0x00000004u, 0x0000001Fu);
|
|
/* 02BD7158 */ cpu->r[10] = cpu->r[10] + 0x00004925u;
|
|
/* 02BD715C */ /* nop */
|
|
/* 02BD7160 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7160 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD7160 */ if (_t6) goto L_02BD718C; else goto L_02BD7164;
|
|
L_02BD7164: ; // 0x2bd7164
|
|
/* 02BD7164 */ cpu->r[28] = cpu->r[31];
|
|
L_02BD7168: ; // 0x2bd7168
|
|
/* 02BD7168 */ _t7 = cpu->r[28] + 0x00000068u;
|
|
/* 02BD7168 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD716C */ _t8 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BD716C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD7170 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD7174 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD7178 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BD717C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD7180 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02BD7180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BD7184 */ cpu->r[28] = cpu->r[28] + 0x00000070u;
|
|
/* 02BD7188 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7188 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD7188 */ if (_t10) goto L_02BD718C; else goto L_02BD7168;
|
|
L_02BD718C: ; // 0x2bd718c
|
|
/* 02BD718C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7190 */ Gambit_fn_02C07DC8(cpu);
|
|
/* 02BD7194 */ _t11 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD7194 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
L_02BD7198: ; // 0x2bd7198
|
|
/* 02BD7198 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BD7198 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02BD719C */ /* nop */
|
|
/* 02BD71A0 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD71A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD71A4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD71A8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD71AC */ return;
|
|
}
|
|
|
|
// fn_02BD71B0 @ 0x2bd71b0
|
|
void Gambit_fn_02BD71B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_02BD71B0: ; // 0x2bd71b0
|
|
/* 02BD71B0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD71B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD71B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD71B4 */ cpu->r[1] = _t0;
|
|
/* 02BD71B8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD71B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD71BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD71BC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BD71C0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD71C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD71C4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD71C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD71C8 */ cpu->r[30] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02BD71CC */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD71D0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD71D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD71D4 */ _t6 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BD71D4 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02BD71D8 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BD71DC */ cpu->r[4] = cpu->r[3];
|
|
/* 02BD71E0 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000070u);
|
|
/* 02BD71E4 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BD71E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD71E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD71EC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD71EC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD71EC */ if (_t8) goto L_02BD71F0; else goto L_02BD722C;
|
|
L_02BD71F0: ; // 0x2bd71f0
|
|
/* 02BD71F0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD71F4 */ _t9 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BD71F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD71F8 */ cpu->r[30] = cpu->r[31];
|
|
/* 02BD71FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02BD7200 */ _t10 = cpu->r[28] + 0x00000020u;
|
|
/* 02BD7200 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02BD7204 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD7204 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD7204 */ if (_t12) goto L_02BD7268; else goto L_02BD7208;
|
|
L_02BD7208: ; // 0x2bd7208
|
|
/* 02BD7208 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7208 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD720C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD720C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD7210 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD7214 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7214 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD7218 */ cpu->lr = cpu->r[0];
|
|
/* 02BD721C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD721C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD7220 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7224 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD7228 */ return;
|
|
L_02BD722C: ; // 0x2bd722c
|
|
/* 02BD722C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD7230 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7230 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD7230 */ if (_t19) goto L_02BD7254; else goto L_02BD7234;
|
|
L_02BD7234: ; // 0x2bd7234
|
|
/* 02BD7234 */ cpu->r[29] = cpu->r[31];
|
|
L_02BD7238: ; // 0x2bd7238
|
|
/* 02BD7238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD723C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD7240 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7240 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD7240 */ if (_t21) goto L_02BD7248; else goto L_02BD7244;
|
|
L_02BD7244: ; // 0x2bd7244
|
|
/* 02BD7244 */ Gambit_fn_02BE86AC(cpu);
|
|
L_02BD7248: ; // 0x2bd7248
|
|
/* 02BD7248 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BD7248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD724C */ cpu->r[29] = cpu->r[29] + 0x00000070u;
|
|
/* 02BD7250 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7250 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD7250 */ if (_t23) goto L_02BD7254; else goto L_02BD7238;
|
|
L_02BD7254: ; // 0x2bd7254
|
|
/* 02BD7254 */ _t24 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BD7254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD7258 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD725C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02BD7260 */ _t25 = cpu->r[28] + 0x00000020u;
|
|
/* 02BD7260 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 02BD7264 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD7264 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD7264 */ if (_t27) goto L_02BD7268; else goto L_02BD7208;
|
|
L_02BD7268: ; // 0x2bd7268
|
|
/* 02BD7268 */ cpu->r[29] = 0x00000000u;
|
|
L_02BD726C: ; // 0x2bd726c
|
|
/* 02BD726C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BD7270 */ cpu->r[3] = cpu->r[31] + cpu->r[29];
|
|
/* 02BD7274 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD7278 */ Gambit_fn_02BE88E0(cpu);
|
|
/* 02BD727C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD7280 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD7280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD7284 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7284 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD7284 */ if (_t29) goto L_02BD72B4; else goto L_02BD7288;
|
|
L_02BD7288: ; // 0x2bd7288
|
|
/* 02BD7288 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD728C */ Gambit_fn_02BD7124(cpu);
|
|
/* 02BD7290 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7290 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD7294 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7294 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD7298 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD729C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD72A0 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD72A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD72A4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD72A8 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD72A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD72AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD72B0 */ return;
|
|
L_02BD72B4: ; // 0x2bd72b4
|
|
/* 02BD72B4 */ _t35 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BD72B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD72B8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02BD72BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02BD72C0 */ cpu->r[29] = cpu->r[29] + 0x00000070u;
|
|
/* 02BD72C4 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD72C4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD72C4 */ if (_t37) goto L_02BD72C8; else goto L_02BD7208;
|
|
L_02BD72C8: ; // 0x2bd72c8
|
|
/* 02BD72C8 */ _t38 = cpu->r[28] + 0x00000020u;
|
|
/* 02BD72C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD72CC */ goto L_02BD726C;
|
|
}
|
|
|
|
// fn_02BD71B4 @ 0x2bd71b4
|
|
void Gambit_fn_02BD71B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_02BD71B4: ; // 0x2bd71b4
|
|
/* 02BD71B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD71B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD71B4 */ cpu->r[1] = _t0;
|
|
/* 02BD71B8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD71B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD71BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD71BC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BD71C0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD71C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD71C4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD71C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD71C8 */ cpu->r[30] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02BD71CC */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD71D0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD71D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD71D4 */ _t6 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BD71D4 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02BD71D8 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BD71DC */ cpu->r[4] = cpu->r[3];
|
|
/* 02BD71E0 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000070u);
|
|
/* 02BD71E4 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BD71E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD71E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD71EC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD71EC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD71EC */ if (_t8) goto L_02BD71F0; else goto L_02BD722C;
|
|
L_02BD71F0: ; // 0x2bd71f0
|
|
/* 02BD71F0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD71F4 */ _t9 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BD71F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD71F8 */ cpu->r[30] = cpu->r[31];
|
|
/* 02BD71FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02BD7200 */ _t10 = cpu->r[28] + 0x00000020u;
|
|
/* 02BD7200 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02BD7204 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD7204 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD7204 */ if (_t12) goto L_02BD7268; else goto L_02BD7208;
|
|
L_02BD7208: ; // 0x2bd7208
|
|
/* 02BD7208 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7208 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD720C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD720C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD7210 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD7214 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7214 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD7218 */ cpu->lr = cpu->r[0];
|
|
/* 02BD721C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD721C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD7220 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7224 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD7228 */ return;
|
|
L_02BD722C: ; // 0x2bd722c
|
|
/* 02BD722C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD7230 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7230 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD7230 */ if (_t19) goto L_02BD7254; else goto L_02BD7234;
|
|
L_02BD7234: ; // 0x2bd7234
|
|
/* 02BD7234 */ cpu->r[29] = cpu->r[31];
|
|
L_02BD7238: ; // 0x2bd7238
|
|
/* 02BD7238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD723C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD7240 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7240 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD7240 */ if (_t21) goto L_02BD7248; else goto L_02BD7244;
|
|
L_02BD7244: ; // 0x2bd7244
|
|
/* 02BD7244 */ Gambit_fn_02BE86AC(cpu);
|
|
L_02BD7248: ; // 0x2bd7248
|
|
/* 02BD7248 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BD7248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD724C */ cpu->r[29] = cpu->r[29] + 0x00000070u;
|
|
/* 02BD7250 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7250 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD7250 */ if (_t23) goto L_02BD7254; else goto L_02BD7238;
|
|
L_02BD7254: ; // 0x2bd7254
|
|
/* 02BD7254 */ _t24 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BD7254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD7258 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD725C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02BD7260 */ _t25 = cpu->r[28] + 0x00000020u;
|
|
/* 02BD7260 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 02BD7264 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD7264 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD7264 */ if (_t27) goto L_02BD7268; else goto L_02BD7208;
|
|
L_02BD7268: ; // 0x2bd7268
|
|
/* 02BD7268 */ cpu->r[29] = 0x00000000u;
|
|
L_02BD726C: ; // 0x2bd726c
|
|
/* 02BD726C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BD7270 */ cpu->r[3] = cpu->r[31] + cpu->r[29];
|
|
/* 02BD7274 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD7278 */ Gambit_fn_02BE88E0(cpu);
|
|
/* 02BD727C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD7280 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD7280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD7284 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7284 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD7284 */ if (_t29) goto L_02BD72B4; else goto L_02BD7288;
|
|
L_02BD7288: ; // 0x2bd7288
|
|
/* 02BD7288 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD728C */ Gambit_fn_02BD7124(cpu);
|
|
/* 02BD7290 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7290 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD7294 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7294 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD7298 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD729C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD72A0 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD72A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD72A4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD72A8 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD72A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD72AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD72B0 */ return;
|
|
L_02BD72B4: ; // 0x2bd72b4
|
|
/* 02BD72B4 */ _t35 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BD72B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD72B8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02BD72BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02BD72C0 */ cpu->r[29] = cpu->r[29] + 0x00000070u;
|
|
/* 02BD72C4 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD72C4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD72C4 */ if (_t37) goto L_02BD72C8; else goto L_02BD7208;
|
|
L_02BD72C8: ; // 0x2bd72c8
|
|
/* 02BD72C8 */ _t38 = cpu->r[28] + 0x00000020u;
|
|
/* 02BD72C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD72CC */ goto L_02BD726C;
|
|
}
|
|
|
|
// fn_02BD72D0 @ 0x2bd72d0
|
|
void Gambit_fn_02BD72D0(CPUState* cpu) {
|
|
uint32_t _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_02BD72D0: ; // 0x2bd72d0
|
|
/* 02BD72D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD72D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD72D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD72D4 */ cpu->r[1] = _t0;
|
|
/* 02BD72D8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD72D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD72DC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD72DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD72E0 */ _t3 = cpu->r[3] + 0x00000020u;
|
|
/* 02BD72E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD72E4 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD72E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD72EC */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD72F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD72F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD72F0 */ if (_t5) goto L_02BD72F4; else goto L_02BD7318;
|
|
L_02BD72F4: ; // 0x2bd72f4
|
|
/* 02BD72F4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD72F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD72FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD7300 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD7304 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02BD7308 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7308 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD730C */ cpu->lr = cpu->r[0];
|
|
/* 02BD7310 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7314 */ return;
|
|
L_02BD7318: ; // 0x2bd7318
|
|
/* 02BD7318 */ _t8 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD7318 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD731C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FDu);
|
|
/* 02BD7320 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7320 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD7320 */ if (_t10) goto L_02BD7348; else goto L_02BD7324;
|
|
L_02BD7324: ; // 0x2bd7324
|
|
/* 02BD7324 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7328 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD732C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD7330 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7330 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD7334 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7338 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7338 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD733C */ cpu->lr = cpu->r[0];
|
|
/* 02BD7340 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7344 */ return;
|
|
L_02BD7348: ; // 0x2bd7348
|
|
/* 02BD7348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BD734C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD734C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD734C */ if (_t14) goto L_02BD735C; else goto L_02BD7350;
|
|
L_02BD7350: ; // 0x2bd7350
|
|
/* 02BD7350 */ _t15 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BD7350 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD7354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[11]);
|
|
/* 02BD7358 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD7358 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD7358 */ if (_t17) goto L_02BD735C; else goto L_02BD7380;
|
|
L_02BD735C: ; // 0x2bd735c
|
|
/* 02BD735C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7360 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD7364 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD7368 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD736C */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD7370 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7370 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD7374 */ cpu->lr = cpu->r[0];
|
|
/* 02BD7378 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD737C */ return;
|
|
L_02BD7380: ; // 0x2bd7380
|
|
/* 02BD7380 */ _t20 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD7380 */ rbrew_write32(cpu->mem, _t20, cpu->r[4]);
|
|
/* 02BD7384 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD7388 */ _t21 = cpu->r[3] + 0x00000024u;
|
|
/* 02BD7388 */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 02BD738C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD738C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD7390 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7394 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7394 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD7398 */ cpu->lr = cpu->r[0];
|
|
/* 02BD739C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD73A0 */ return;
|
|
}
|
|
|
|
// fn_02BD72D4 @ 0x2bd72d4
|
|
void Gambit_fn_02BD72D4(CPUState* cpu) {
|
|
uint32_t _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_02BD72D4: ; // 0x2bd72d4
|
|
/* 02BD72D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD72D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD72D4 */ cpu->r[1] = _t0;
|
|
/* 02BD72D8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD72D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD72DC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD72DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD72E0 */ _t3 = cpu->r[3] + 0x00000020u;
|
|
/* 02BD72E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD72E4 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD72E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD72EC */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD72F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD72F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD72F0 */ if (_t5) goto L_02BD72F4; else goto L_02BD7318;
|
|
L_02BD72F4: ; // 0x2bd72f4
|
|
/* 02BD72F4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD72F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD72FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD7300 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD7304 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02BD7308 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7308 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD730C */ cpu->lr = cpu->r[0];
|
|
/* 02BD7310 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7314 */ return;
|
|
L_02BD7318: ; // 0x2bd7318
|
|
/* 02BD7318 */ _t8 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD7318 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD731C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FDu);
|
|
/* 02BD7320 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7320 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD7320 */ if (_t10) goto L_02BD7348; else goto L_02BD7324;
|
|
L_02BD7324: ; // 0x2bd7324
|
|
/* 02BD7324 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7328 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD732C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD7330 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7330 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD7334 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7338 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7338 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD733C */ cpu->lr = cpu->r[0];
|
|
/* 02BD7340 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7344 */ return;
|
|
L_02BD7348: ; // 0x2bd7348
|
|
/* 02BD7348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BD734C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD734C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD734C */ if (_t14) goto L_02BD735C; else goto L_02BD7350;
|
|
L_02BD7350: ; // 0x2bd7350
|
|
/* 02BD7350 */ _t15 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BD7350 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD7354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[11]);
|
|
/* 02BD7358 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD7358 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD7358 */ if (_t17) goto L_02BD735C; else goto L_02BD7380;
|
|
L_02BD735C: ; // 0x2bd735c
|
|
/* 02BD735C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7360 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD7364 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD7368 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD736C */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD7370 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7370 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD7374 */ cpu->lr = cpu->r[0];
|
|
/* 02BD7378 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD737C */ return;
|
|
L_02BD7380: ; // 0x2bd7380
|
|
/* 02BD7380 */ _t20 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD7380 */ rbrew_write32(cpu->mem, _t20, cpu->r[4]);
|
|
/* 02BD7384 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD7388 */ _t21 = cpu->r[3] + 0x00000024u;
|
|
/* 02BD7388 */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 02BD738C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD738C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD7390 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7394 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7394 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD7398 */ cpu->lr = cpu->r[0];
|
|
/* 02BD739C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD73A0 */ return;
|
|
}
|
|
|
|
// fn_02BD73A4 @ 0x2bd73a4
|
|
void Gambit_fn_02BD73A4(CPUState* cpu) {
|
|
uint32_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_02BD73A4: ; // 0x2bd73a4
|
|
/* 02BD73A4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD73A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD73A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD73A8 */ cpu->r[1] = _t0;
|
|
/* 02BD73AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD73AC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BD73B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD73B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD73B4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD73B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BD73B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD73BC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD73BC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD73C0 */ _t5 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD73C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD73C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FDu);
|
|
/* 02BD73C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD73C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD73C8 */ if (_t7) goto L_02BD741C; else goto L_02BD73CC;
|
|
L_02BD73CC: ; // 0x2bd73cc
|
|
/* 02BD73CC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD73CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD73D0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BD73D4 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BD73D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[8]);
|
|
/* 02BD73DC */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD73DC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BD73E0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD73E0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD73E0 */ if (_t11) goto L_02BD73E4; else goto L_02BD741C;
|
|
L_02BD73E4: ; // 0x2bd73e4
|
|
/* 02BD73E4 */ cpu->r[30] = 0x00000000u;
|
|
L_02BD73E8: ; // 0x2bd73e8
|
|
/* 02BD73E8 */ _t12 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD73E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD73EC */ cpu->r[3] = cpu->r[9] + cpu->r[30];
|
|
/* 02BD73F0 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD73F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD73F8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD73F8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD73F8 */ if (_t14) goto L_02BD7408; else goto L_02BD73FC;
|
|
L_02BD73FC: ; // 0x2bd73fc
|
|
/* 02BD73FC */ _t15 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD73FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD7400 */ cpu->r[3] = cpu->r[11] + cpu->r[30];
|
|
/* 02BD7404 */ Gambit_fn_02BF06B8(cpu);
|
|
L_02BD7408: ; // 0x2bd7408
|
|
/* 02BD7408 */ _t16 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD7408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD740C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02BD7410 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BD7414 */ cpu->r[30] = cpu->r[30] + 0x00000070u;
|
|
/* 02BD7418 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD7418 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BD7418 */ if (_t18) goto L_02BD73E8; else goto L_02BD741C;
|
|
L_02BD741C: ; // 0x2bd741c
|
|
/* 02BD741C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD741C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD7420 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD7424 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7424 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD7428 */ cpu->lr = cpu->r[0];
|
|
/* 02BD742C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD742C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD7430 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7434 */ return;
|
|
}
|
|
|
|
// fn_02BD73A8 @ 0x2bd73a8
|
|
void Gambit_fn_02BD73A8(CPUState* cpu) {
|
|
uint32_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_02BD73A8: ; // 0x2bd73a8
|
|
/* 02BD73A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD73A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD73A8 */ cpu->r[1] = _t0;
|
|
/* 02BD73AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD73AC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BD73B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD73B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD73B4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD73B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BD73B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD73BC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD73BC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD73C0 */ _t5 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD73C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD73C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FDu);
|
|
/* 02BD73C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD73C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD73C8 */ if (_t7) goto L_02BD741C; else goto L_02BD73CC;
|
|
L_02BD73CC: ; // 0x2bd73cc
|
|
/* 02BD73CC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD73CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD73D0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BD73D4 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BD73D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[8]);
|
|
/* 02BD73DC */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD73DC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BD73E0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD73E0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD73E0 */ if (_t11) goto L_02BD73E4; else goto L_02BD741C;
|
|
L_02BD73E4: ; // 0x2bd73e4
|
|
/* 02BD73E4 */ cpu->r[30] = 0x00000000u;
|
|
L_02BD73E8: ; // 0x2bd73e8
|
|
/* 02BD73E8 */ _t12 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD73E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD73EC */ cpu->r[3] = cpu->r[9] + cpu->r[30];
|
|
/* 02BD73F0 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD73F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD73F8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD73F8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD73F8 */ if (_t14) goto L_02BD7408; else goto L_02BD73FC;
|
|
L_02BD73FC: ; // 0x2bd73fc
|
|
/* 02BD73FC */ _t15 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD73FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD7400 */ cpu->r[3] = cpu->r[11] + cpu->r[30];
|
|
/* 02BD7404 */ Gambit_fn_02BF06B8(cpu);
|
|
L_02BD7408: ; // 0x2bd7408
|
|
/* 02BD7408 */ _t16 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BD7408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD740C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02BD7410 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02BD7414 */ cpu->r[30] = cpu->r[30] + 0x00000070u;
|
|
/* 02BD7418 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD7418 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BD7418 */ if (_t18) goto L_02BD73E8; else goto L_02BD741C;
|
|
L_02BD741C: ; // 0x2bd741c
|
|
/* 02BD741C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD741C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD7420 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD7424 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7424 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD7428 */ cpu->lr = cpu->r[0];
|
|
/* 02BD742C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD742C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD7430 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7434 */ return;
|
|
}
|
|
|
|
// fn_02BD7438 @ 0x2bd7438
|
|
void Gambit_fn_02BD7438(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BD7438: ; // 0x2bd7438
|
|
/* 02BD7438 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD743C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD743C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD743C */ cpu->r[1] = _t0;
|
|
/* 02BD7440 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7440 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD7444 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7444 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BD7448 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7448 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD744C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD744C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD7450 */ cpu->r[3] = cpu->r[4];
|
|
/* 02BD7454 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7454 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD7458 */ Gambit_fn_02B6C42C(cpu);
|
|
/* 02BD745C */ cpu->r[5] = 0x00000001u;
|
|
/* 02BD7460 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD7464 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BD7468 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD746C */ Gambit_fn_02C89BAC(cpu);
|
|
/* 02BD7470 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD7474 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD7478 */ cpu->r[5] = 0x00000001u;
|
|
/* 02BD747C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD7480 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD7484 */ Gambit_fn_02C89C4C(cpu);
|
|
/* 02BD7488 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7488 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD748C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD748C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD7490 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD7494 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7498 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7498 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD749C */ cpu->lr = cpu->r[0];
|
|
/* 02BD74A0 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD74A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD74A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD74A8 */ return;
|
|
}
|
|
|
|
// fn_02BD743C @ 0x2bd743c
|
|
void Gambit_fn_02BD743C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BD743C: ; // 0x2bd743c
|
|
/* 02BD743C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD743C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD743C */ cpu->r[1] = _t0;
|
|
/* 02BD7440 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7440 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD7444 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7444 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BD7448 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7448 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD744C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD744C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD7450 */ cpu->r[3] = cpu->r[4];
|
|
/* 02BD7454 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7454 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD7458 */ Gambit_fn_02B6C42C(cpu);
|
|
/* 02BD745C */ cpu->r[5] = 0x00000001u;
|
|
/* 02BD7460 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD7464 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BD7468 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD746C */ Gambit_fn_02C89BAC(cpu);
|
|
/* 02BD7470 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD7474 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD7478 */ cpu->r[5] = 0x00000001u;
|
|
/* 02BD747C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD7480 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD7484 */ Gambit_fn_02C89C4C(cpu);
|
|
/* 02BD7488 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7488 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD748C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD748C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD7490 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD7494 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7498 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7498 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD749C */ cpu->lr = cpu->r[0];
|
|
/* 02BD74A0 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD74A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD74A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD74A8 */ return;
|
|
}
|
|
|
|
// fn_02BD74AC @ 0x2bd74ac
|
|
void Gambit_fn_02BD74AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BD74AC: ; // 0x2bd74ac
|
|
/* 02BD74AC */ cpu->r[0] = cpu->lr;
|
|
/* 02BD74B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000008u);
|
|
/* 02BD74B4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD74B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD74B8 */ cpu->r[3] = cpu->r[5];
|
|
/* 02BD74BC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD74BC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD74BC */ cpu->r[1] = _t1;
|
|
/* 02BD74C0 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD74C0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD74C0 */ if (_t3) goto L_02BD74C4; else goto L_02BD74D8;
|
|
L_02BD74C4: ; // 0x2bd74c4
|
|
/* 02BD74C4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD74C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD74C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD74CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD74D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD74D4 */ return;
|
|
L_02BD74D8: ; // 0x2bd74d8
|
|
/* 02BD74D8 */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02BD74D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD74DC */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD74DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD74E0 */ Gambit_fn_02B6BAD0(cpu);
|
|
/* 02BD74E4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD74E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD74E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD74EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD74F0 */ cpu->r[3] = 0x00000008u;
|
|
/* 02BD74F4 */ return;
|
|
}
|
|
|
|
// fn_02BD74BC @ 0x2bd74bc
|
|
void Gambit_fn_02BD74BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BD74BC: ; // 0x2bd74bc
|
|
/* 02BD74BC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD74BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD74BC */ cpu->r[1] = _t0;
|
|
/* 02BD74C0 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD74C0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD74C0 */ if (_t2) goto L_02BD74C4; else goto L_02BD74D8;
|
|
L_02BD74C4: ; // 0x2bd74c4
|
|
/* 02BD74C4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD74C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD74C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD74CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD74D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD74D4 */ return;
|
|
L_02BD74D8: ; // 0x2bd74d8
|
|
/* 02BD74D8 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02BD74D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD74DC */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD74DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD74E0 */ Gambit_fn_02B6BAD0(cpu);
|
|
/* 02BD74E4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD74E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD74E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD74EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD74F0 */ cpu->r[3] = 0x00000008u;
|
|
/* 02BD74F4 */ return;
|
|
}
|
|
|
|
// fn_02BD74F8 @ 0x2bd74f8
|
|
void Gambit_fn_02BD74F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BD74F8: ; // 0x2bd74f8
|
|
/* 02BD74F8 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02BD74F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD74F8 */ cpu->r[1] = _t0;
|
|
/* 02BD74FC */ /* nop */
|
|
/* 02BD7500 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD7504 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD7504 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD7508 */ cpu->r[29] = cpu->r[7];
|
|
/* 02BD750C */ cpu->r[12] = 0x00000000u;
|
|
/* 02BD7510 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7510 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BD7514 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7514 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BD7518 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD751C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BD7520 */ cpu->r[28] = cpu->r[6];
|
|
/* 02BD7524 */ _t4 = cpu->r[30] + 0xFFFFB778u;
|
|
/* 02BD7524 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD7524 */ cpu->r[30] = _t4;
|
|
/* 02BD7528 */ cpu->r[26] = cpu->r[5];
|
|
/* 02BD752C */ _t5 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD752C */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD7530 */ cpu->r[27] = cpu->r[4];
|
|
/* 02BD7534 */ _t6 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02BD7534 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD7538 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD753C */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD7540 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD7540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BD7544 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7544 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD7544 */ if (_t8) goto L_02BD7548; else goto L_02BD765C;
|
|
L_02BD7548: ; // 0x2bd7548
|
|
/* 02BD7548 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD754C */ _t10 = cpu->r[26] + 0x00000000u;
|
|
/* 02BD754C */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD7550 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7550 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BD7554 */ _t12 = cpu->r[26] + 0x00000004u;
|
|
/* 02BD7554 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD7558 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD755C */ _t14 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD755C */ rbrew_write32(cpu->mem, _t14, cpu->r[5]);
|
|
/* 02BD7560 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD7560 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD7564 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7564 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BD7568 */ cpu->r[12] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD756C */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD756C */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02BD7570 */ _t18 = cpu->r[7] + 0x0000007Cu;
|
|
/* 02BD7570 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD7574 */ cpu->r[5] = cpu->r[12];
|
|
/* 02BD7578 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD757C */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD7580 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD7580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD7584 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7584 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD7584 */ if (_t20) goto L_02BD7588; else goto L_02BD765C;
|
|
L_02BD7588: ; // 0x2bd7588
|
|
/* 02BD7588 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7588 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD758C */ _t22 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD758C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD7590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD7594 */ _t23 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD7594 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD7598 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD7598 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD7598 */ if (_t25) goto L_02BD75A0; else goto L_02BD759C;
|
|
L_02BD759C: ; // 0x2bd759c
|
|
/* 02BD759C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02BD75A0: ; // 0x2bd75a0
|
|
/* 02BD75A0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000070u);
|
|
/* 02BD75A4 */ cpu->r[26] = cpu->r[11] + cpu->r[0];
|
|
/* 02BD75A8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BD75AC */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD75B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD75B4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD75B4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD75B4 */ if (_t27) goto L_02BD75B8; else goto L_02BD75E0;
|
|
L_02BD75B8: ; // 0x2bd75b8
|
|
/* 02BD75B8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD75BC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD75C0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD75C4 */ /* nop */
|
|
/* 02BD75C8 */ _t28 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD75C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD75CC */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD75D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD75D4 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD75D8 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD75DC */ return;
|
|
L_02BD75E0: ; // 0x2bd75e0
|
|
/* 02BD75E0 */ _t29 = cpu->r[31] + 0x00000029u;
|
|
/* 02BD75E0 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[27]);
|
|
/* 02BD75E4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02BD75E8 */ cpu->r[3] = cpu->r[31] + 0x0000002Bu;
|
|
/* 02BD75EC */ cpu->r[4] = cpu->r[28];
|
|
/* 02BD75F0 */ _t30 = cpu->r[31] + 0x00000028u;
|
|
/* 02BD75F0 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 02BD75F4 */ cpu->r[30] = cpu->r[31] + 0x00000028u;
|
|
/* 02BD75F8 */ _t31 = cpu->r[31] + 0x0000002Au;
|
|
/* 02BD75F8 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[29]);
|
|
/* 02BD75FC */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BD7600 */ cpu->r[6] = 0x000000F9u;
|
|
/* 02BD7604 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7608 */ cpu->r[5] = cpu->r[31] + 0x0000002Fu;
|
|
/* 02BD760C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7610 */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BD7614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BD7618 */ cpu->r[5] = cpu->r[3] + 0x00000007u;
|
|
/* 02BD761C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD761C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BD761C */ if (_t33) goto L_02BD7628; else goto L_02BD7620;
|
|
L_02BD7620: ; // 0x2bd7620
|
|
/* 02BD7620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD7624 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7624 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BD7624 */ if (_t35) goto L_02BD7628; else goto L_02BD7650;
|
|
L_02BD7628: ; // 0x2bd7628
|
|
/* 02BD7628 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BD762C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD7630 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD7634 */ /* nop */
|
|
/* 02BD7638 */ _t36 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD7638 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD763C */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD7640 */ cpu->lr = cpu->r[0];
|
|
/* 02BD7644 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD7648 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD764C */ return;
|
|
L_02BD7650: ; // 0x2bd7650
|
|
/* 02BD7650 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD7654 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BD7658 */ Gambit_fn_02BF56D4(cpu);
|
|
L_02BD765C: ; // 0x2bd765c
|
|
/* 02BD765C */ /* nop */
|
|
/* 02BD7660 */ _t37 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD7660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD7664 */ cpu->lr = cpu->r[0];
|
|
/* 02BD7668 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD766C */ return;
|
|
}
|
|
|
|
// fn_02BD7670 @ 0x2bd7670
|
|
void Gambit_fn_02BD7670(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD7670: ; // 0x2bd7670
|
|
/* 02BD7670 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BD7670 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD7670 */ cpu->r[1] = _t0;
|
|
/* 02BD7674 */ /* nop */
|
|
/* 02BD7678 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD767C */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD767C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD7680 */ _t2 = cpu->r[4] + 0x00000008u;
|
|
/* 02BD7680 */ cpu->r[25] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD7684 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000020u);
|
|
/* 02BD7688 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD768C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD768C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD768C */ if (_t4) goto L_02BD7690; else goto L_02BD781C;
|
|
L_02BD7690: ; // 0x2bd7690
|
|
/* 02BD7690 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD7690 */ cpu->r[26] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD7694 */ _t6 = cpu->r[26] + 0x00000000u;
|
|
/* 02BD7694 */ cpu->r[28] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BD7698 */ cpu->r[3] = cpu->r[26] + 0x00000002u;
|
|
/* 02BD769C */ _t7 = cpu->r[26] + 0x00000001u;
|
|
/* 02BD769C */ cpu->r[31] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02BD76A0 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BD76A4 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BD76A8 */ cpu->r[3] = cpu->r[26] + 0x00000006u;
|
|
/* 02BD76AC */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BD76B0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD76B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD76B8 */ cpu->r[4] = cpu->r[26] + 0x0000000Au;
|
|
/* 02BD76BC */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD76C0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD76C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02BD76C4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD76C8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD76C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
|
|
/* 02BD76CC */ cpu->r[11] = 0x00000000u;
|
|
/* 02BD76D0 */ _t10 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD76D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD76D4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD76D4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02BD76D8 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD76D8 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02BD76DC */ _t13 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD76DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD76E0 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD76E4 */ cpu->r[5] = cpu->r[25];
|
|
/* 02BD76E8 */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD76EC */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD76EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD76F0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD76F0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD76F0 */ if (_t15) goto L_02BD76F4; else goto L_02BD781C;
|
|
L_02BD76F4: ; // 0x2bd76f4
|
|
/* 02BD76F4 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD76F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD76F8 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD76F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD76FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02BD7700 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7700 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD7700 */ if (_t19) goto L_02BD7704; else goto L_02BD781C;
|
|
L_02BD7704: ; // 0x2bd7704
|
|
/* 02BD7704 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD7708 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7708 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD770C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02BD7710 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7710 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD7710 */ if (_t23) goto L_02BD7714; else goto L_02BD781C;
|
|
L_02BD7714: ; // 0x2bd7714
|
|
/* 02BD7714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000009u);
|
|
/* 02BD7718 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02BD771C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD771C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD771C */ if (_t25) goto L_02BD7728; else goto L_02BD7720;
|
|
L_02BD7720: ; // 0x2bd7720
|
|
/* 02BD7720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000000Au);
|
|
/* 02BD7724 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7724 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD7724 */ if (_t27) goto L_02BD7728; else goto L_02BD7750;
|
|
L_02BD7728: ; // 0x2bd7728
|
|
/* 02BD7728 */ _t28 = cpu->r[8] + 0xFFFFB774u;
|
|
/* 02BD7728 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD772C */ _t29 = cpu->r[5] + 0x000000C2u;
|
|
/* 02BD772C */ cpu->r[11] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02BD7730 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 02BD7734 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD7738 */ cpu->r[10] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD773C */ cpu->r[6] = cpu->r[5] + cpu->r[0];
|
|
/* 02BD7740 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000005u);
|
|
/* 02BD7744 */ _t30 = cpu->r[6] + 0x000000D0u;
|
|
/* 02BD7744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD7748 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD7748 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BD7748 */ if (_t32) goto L_02BD7770; else goto L_02BD774C;
|
|
L_02BD774C: ; // 0x2bd774c
|
|
/* 02BD774C */ goto L_02BD77BC;
|
|
L_02BD7750: ; // 0x2bd7750
|
|
/* 02BD7750 */ _t33 = cpu->r[8] + 0xFFFFB774u;
|
|
/* 02BD7750 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD7754 */ _t34 = cpu->r[5] + 0x000000C2u;
|
|
/* 02BD7754 */ cpu->r[8] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02BD7758 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD775C */ cpu->r[10] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD7760 */ cpu->r[9] = cpu->r[5] + cpu->r[7];
|
|
/* 02BD7764 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000005u);
|
|
/* 02BD7768 */ _t35 = cpu->r[9] + 0x000000D0u;
|
|
/* 02BD7768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD776C */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD776C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD776C */ if (_t37) goto L_02BD7770; else goto L_02BD77BC;
|
|
L_02BD7770: ; // 0x2bd7770
|
|
/* 02BD7770 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02BD7774 */ _t38 = cpu->r[5] + 0x00000044u;
|
|
/* 02BD7774 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD7778 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7778 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BD7778 */ if (_t40) goto L_02BD777C; else goto L_02BD781C;
|
|
L_02BD777C: ; // 0x2bd777c
|
|
/* 02BD777C */ _t41 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD777C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD7780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD7784 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7784 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BD7784 */ if (_t43) goto L_02BD7804; else goto L_02BD7788;
|
|
L_02BD7788: ; // 0x2bd7788
|
|
/* 02BD7788 */ _t44 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD7788 */ cpu->r[0] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02BD778C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02BD7790 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7790 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BD7790 */ if (_t46) goto L_02BD7794; else goto L_02BD781C;
|
|
L_02BD7794: ; // 0x2bd7794
|
|
/* 02BD7794 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7798 */ cpu->r[6] = cpu->r[27];
|
|
/* 02BD779C */ cpu->r[5] = cpu->r[29];
|
|
/* 02BD77A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD77A4 */ Gambit_fn_02BC14D0(cpu);
|
|
/* 02BD77A8 */ /* nop */
|
|
/* 02BD77AC */ _t47 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD77AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD77B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD77B4 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD77B8 */ return;
|
|
L_02BD77BC: ; // 0x2bd77bc
|
|
/* 02BD77BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02BD77C0 */ _t48 = cpu->r[5] + 0x00000048u;
|
|
/* 02BD77C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD77C4 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD77C4 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BD77C4 */ if (_t50) goto L_02BD77C8; else goto L_02BD781C;
|
|
L_02BD77C8: ; // 0x2bd77c8
|
|
/* 02BD77C8 */ _t51 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD77C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD77CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD77D0 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD77D0 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BD77D0 */ if (_t53) goto L_02BD7804; else goto L_02BD77D4;
|
|
L_02BD77D4: ; // 0x2bd77d4
|
|
/* 02BD77D4 */ _t54 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD77D4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t54);
|
|
/* 02BD77D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 02BD77DC */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD77DC */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BD77DC */ if (_t56) goto L_02BD77E0; else goto L_02BD781C;
|
|
L_02BD77E0: ; // 0x2bd77e0
|
|
/* 02BD77E0 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD77E4 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BD77E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD77EC */ Gambit_fn_02BBD3DC(cpu);
|
|
/* 02BD77F0 */ /* nop */
|
|
/* 02BD77F4 */ _t57 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD77F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD77F8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD77FC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD7800 */ return;
|
|
L_02BD7804: ; // 0x2bd7804
|
|
/* 02BD7804 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BD7808 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD780C */ cpu->r[6] = cpu->r[29];
|
|
/* 02BD7810 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD7814 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD7818 */ Gambit_fn_02BD74F8(cpu);
|
|
L_02BD781C: ; // 0x2bd781c
|
|
/* 02BD781C */ /* nop */
|
|
/* 02BD7820 */ _t58 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD7820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BD7824 */ cpu->lr = cpu->r[0];
|
|
/* 02BD7828 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD782C */ return;
|
|
}
|
|
|
|
// fn_02BD7830 @ 0x2bd7830
|
|
void Gambit_fn_02BD7830(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02BD7830: ; // 0x2bd7830
|
|
/* 02BD7830 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BD7830 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD7830 */ cpu->r[1] = _t0;
|
|
/* 02BD7834 */ /* nop */
|
|
/* 02BD7838 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD783C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD783C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD7840 */ _t2 = cpu->r[4] + 0x00000008u;
|
|
/* 02BD7840 */ cpu->r[26] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD7844 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000020u);
|
|
/* 02BD7848 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD784C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD784C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD784C */ if (_t4) goto L_02BD7850; else goto L_02BD7934;
|
|
L_02BD7850: ; // 0x2bd7850
|
|
/* 02BD7850 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD7850 */ cpu->r[27] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD7854 */ _t6 = cpu->r[27] + 0x00000002u;
|
|
/* 02BD7854 */ cpu->r[9] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BD7858 */ _t7 = cpu->r[27] + 0x00000001u;
|
|
/* 02BD7858 */ cpu->r[28] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02BD785C */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02BD7860 */ cpu->r[3] = cpu->r[27] + 0x00000003u;
|
|
/* 02BD7864 */ cpu->r[29] = cpu->r[9] - cpu->r[0];
|
|
/* 02BD7868 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BD786C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD7870 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7874 */ cpu->r[4] = cpu->r[27] + 0x00000007u;
|
|
/* 02BD7878 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD787C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD787C */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02BD7880 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD7884 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7884 */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
|
|
/* 02BD7888 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BD788C */ _t10 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD788C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD7890 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7890 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02BD7894 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7894 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02BD7898 */ _t13 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD7898 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD789C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD78A0 */ cpu->r[5] = cpu->r[26];
|
|
/* 02BD78A4 */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD78A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD78A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD78AC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD78AC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BD78AC */ if (_t15) goto L_02BD78B0; else goto L_02BD7934;
|
|
L_02BD78B0: ; // 0x2bd78b0
|
|
/* 02BD78B0 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD78B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD78B4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD78B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD78B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02BD78BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD78BC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD78BC */ if (_t19) goto L_02BD78C0; else goto L_02BD7934;
|
|
L_02BD78C0: ; // 0x2bd78c0
|
|
/* 02BD78C0 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD78C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD78C4 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD78C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD78C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD78CC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD78CC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD78CC */ if (_t23) goto L_02BD78D0; else goto L_02BD7934;
|
|
L_02BD78D0: ; // 0x2bd78d0
|
|
/* 02BD78D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000009u);
|
|
/* 02BD78D4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BD78D8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD78D8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD78D8 */ if (_t25) goto L_02BD78E4; else goto L_02BD78DC;
|
|
L_02BD78DC: ; // 0x2bd78dc
|
|
/* 02BD78DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x0000000Au);
|
|
/* 02BD78E0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD78E0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD78E0 */ if (_t27) goto L_02BD78E4; else goto L_02BD7904;
|
|
L_02BD78E4: ; // 0x2bd78e4
|
|
/* 02BD78E4 */ _t28 = cpu->r[11] + 0xFFFFB774u;
|
|
/* 02BD78E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD78E8 */ _t29 = cpu->r[10] + 0x000000C2u;
|
|
/* 02BD78E8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02BD78EC */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD78F0 */ cpu->r[11] = cpu->r[10] + cpu->r[8];
|
|
/* 02BD78F4 */ _t30 = cpu->r[11] + 0x000000D0u;
|
|
/* 02BD78F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD78F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 02BD78FC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD78FC */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BD78FC */ if (_t32) goto L_02BD7924; else goto L_02BD7900;
|
|
L_02BD7900: ; // 0x2bd7900
|
|
/* 02BD7900 */ goto L_02BD7934;
|
|
L_02BD7904: ; // 0x2bd7904
|
|
/* 02BD7904 */ _t33 = cpu->r[11] + 0xFFFFB774u;
|
|
/* 02BD7904 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD7908 */ _t34 = cpu->r[10] + 0x000000C2u;
|
|
/* 02BD7908 */ cpu->r[12] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02BD790C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BD7910 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BD7914 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 02BD7918 */ _t35 = cpu->r[9] + 0x000000D0u;
|
|
/* 02BD7918 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD791C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 02BD7920 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7920 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD7920 */ if (_t37) goto L_02BD7924; else goto L_02BD7934;
|
|
L_02BD7924: ; // 0x2bd7924
|
|
/* 02BD7924 */ _t38 = cpu->r[10] + 0x00000068u;
|
|
/* 02BD7924 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD7928 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BD792C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7930 */ Gambit_fn_02BDB5D0(cpu);
|
|
L_02BD7934: ; // 0x2bd7934
|
|
/* 02BD7934 */ /* nop */
|
|
/* 02BD7938 */ _t39 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD7938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD793C */ cpu->lr = cpu->r[0];
|
|
/* 02BD7940 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD7944 */ return;
|
|
}
|
|
|
|
// fn_02BD7948 @ 0x2bd7948
|
|
void Gambit_fn_02BD7948(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02BD7948: ; // 0x2bd7948
|
|
/* 02BD7948 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02BD7948 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD7948 */ cpu->r[1] = _t0;
|
|
/* 02BD794C */ /* nop */
|
|
/* 02BD7950 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD7954 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD7954 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD7958 */ cpu->r[29] = cpu->r[7];
|
|
/* 02BD795C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD7960 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7960 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD7964 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7964 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD7968 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD796C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BD7970 */ cpu->r[26] = cpu->r[6];
|
|
/* 02BD7974 */ _t4 = cpu->r[30] + 0xFFFFB778u;
|
|
/* 02BD7974 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD7974 */ cpu->r[30] = _t4;
|
|
/* 02BD7978 */ cpu->r[28] = cpu->r[5];
|
|
/* 02BD797C */ _t5 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD797C */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD7980 */ cpu->r[27] = cpu->r[4];
|
|
/* 02BD7984 */ _t6 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02BD7984 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD7988 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD798C */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD7990 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD7990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BD7994 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7994 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD7994 */ if (_t8) goto L_02BD7998; else goto L_02BD7A94;
|
|
L_02BD7998: ; // 0x2bd7998
|
|
/* 02BD7998 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD799C */ _t10 = cpu->r[26] + 0x00000000u;
|
|
/* 02BD799C */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD79A0 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD79A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BD79A4 */ _t12 = cpu->r[26] + 0x00000004u;
|
|
/* 02BD79A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD79A8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD79A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD79AC */ _t14 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD79AC */ rbrew_write32(cpu->mem, _t14, cpu->r[5]);
|
|
/* 02BD79B0 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD79B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD79B4 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD79B4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BD79B8 */ cpu->r[12] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD79BC */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD79BC */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02BD79C0 */ _t18 = cpu->r[7] + 0x0000007Cu;
|
|
/* 02BD79C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD79C4 */ cpu->r[5] = cpu->r[12];
|
|
/* 02BD79C8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD79CC */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD79D0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD79D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD79D4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD79D4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD79D4 */ if (_t20) goto L_02BD79D8; else goto L_02BD7A94;
|
|
L_02BD79D8: ; // 0x2bd79d8
|
|
/* 02BD79D8 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD79D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD79DC */ _t22 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD79DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD79E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD79E4 */ _t23 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD79E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD79E8 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD79E8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD79E8 */ if (_t25) goto L_02BD79F0; else goto L_02BD79EC;
|
|
L_02BD79EC: ; // 0x2bd79ec
|
|
/* 02BD79EC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02BD79F0: ; // 0x2bd79f0
|
|
/* 02BD79F0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000070u);
|
|
/* 02BD79F4 */ cpu->r[26] = cpu->r[11] + cpu->r[0];
|
|
/* 02BD79F8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BD79FC */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD7A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD7A04 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7A04 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD7A04 */ if (_t27) goto L_02BD7A08; else goto L_02BD7A30;
|
|
L_02BD7A08: ; // 0x2bd7a08
|
|
/* 02BD7A08 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7A0C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD7A10 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD7A14 */ /* nop */
|
|
/* 02BD7A18 */ _t28 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD7A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD7A1C */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD7A20 */ cpu->lr = cpu->r[0];
|
|
/* 02BD7A24 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD7A28 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD7A2C */ return;
|
|
L_02BD7A30: ; // 0x2bd7a30
|
|
/* 02BD7A30 */ _t29 = cpu->r[31] + 0x00000028u;
|
|
/* 02BD7A30 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[27]);
|
|
/* 02BD7A34 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD7A38 */ cpu->r[5] = cpu->r[31] + 0x0000002Bu;
|
|
/* 02BD7A3C */ _t30 = cpu->r[31] + 0x00000029u;
|
|
/* 02BD7A3C */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[28]);
|
|
/* 02BD7A40 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7A44 */ cpu->r[6] = 0x000000FDu;
|
|
/* 02BD7A48 */ _t31 = cpu->r[31] + 0x0000002Au;
|
|
/* 02BD7A48 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[29]);
|
|
/* 02BD7A4C */ cpu->r[30] = cpu->r[31] + 0x00000028u;
|
|
/* 02BD7A50 */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BD7A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD7A58 */ cpu->r[5] = cpu->r[3] + 0x00000003u;
|
|
/* 02BD7A5C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7A5C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BD7A5C */ if (_t33) goto L_02BD7A60; else goto L_02BD7A88;
|
|
L_02BD7A60: ; // 0x2bd7a60
|
|
/* 02BD7A60 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7A64 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD7A68 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD7A6C */ /* nop */
|
|
/* 02BD7A70 */ _t34 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD7A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD7A74 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD7A78 */ cpu->lr = cpu->r[0];
|
|
/* 02BD7A7C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD7A80 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD7A84 */ return;
|
|
L_02BD7A88: ; // 0x2bd7a88
|
|
/* 02BD7A88 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD7A8C */ cpu->r[3] = cpu->r[26];
|
|
/* 02BD7A90 */ Gambit_fn_02BF56D4(cpu);
|
|
L_02BD7A94: ; // 0x2bd7a94
|
|
/* 02BD7A94 */ /* nop */
|
|
/* 02BD7A98 */ _t35 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BD7A98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD7A9C */ cpu->lr = cpu->r[0];
|
|
/* 02BD7AA0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD7AA4 */ return;
|
|
}
|
|
|
|
// fn_02BD7AA8 @ 0x2bd7aa8
|
|
void Gambit_fn_02BD7AA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD7AA8: ; // 0x2bd7aa8
|
|
/* 02BD7AA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD7AAC */ cpu->r[7] = cpu->r[6];
|
|
/* 02BD7AB0 */ cpu->r[6] = cpu->r[5];
|
|
/* 02BD7AB4 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD7AB8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD7AB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD7ABC */ cpu->r[4] = 0x00000007u;
|
|
/* 02BD7AC0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD7AC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD7AC0 */ cpu->r[1] = _t1;
|
|
/* 02BD7AC4 */ Gambit_fn_02BD7948(cpu);
|
|
/* 02BD7AC8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD7ACC */ cpu->lr = cpu->r[0];
|
|
/* 02BD7AD0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7AD4 */ return;
|
|
}
|
|
|
|
// fn_02BD7AC0 @ 0x2bd7ac0
|
|
void Gambit_fn_02BD7AC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD7AC0: ; // 0x2bd7ac0
|
|
/* 02BD7AC0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD7AC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD7AC0 */ cpu->r[1] = _t0;
|
|
/* 02BD7AC4 */ Gambit_fn_02BD7948(cpu);
|
|
/* 02BD7AC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD7ACC */ cpu->lr = cpu->r[0];
|
|
/* 02BD7AD0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7AD4 */ return;
|
|
}
|
|
|
|
// fn_02BD7AD8 @ 0x2bd7ad8
|
|
void Gambit_fn_02BD7AD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126;
|
|
|
|
L_02BD7AD8: ; // 0x2bd7ad8
|
|
/* 02BD7AD8 */ _t0 = cpu->r[1] + 0xFFFFFEA8u;
|
|
/* 02BD7AD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD7AD8 */ cpu->r[1] = _t0;
|
|
/* 02BD7ADC */ /* nop */
|
|
/* 02BD7AE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD7AE4 */ _t1 = cpu->r[1] + 0x0000015Cu;
|
|
/* 02BD7AE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD7AE8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD7AEC */ _t2 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD7AEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD7AF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000020u);
|
|
/* 02BD7AF4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD7AF8 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD7AF8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD7AF8 */ if (_t4) goto L_02BD7AFC; else goto L_02BD7E40;
|
|
L_02BD7AFC: ; // 0x2bd7afc
|
|
/* 02BD7AFC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD7B00 */ _t5 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD7B00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD7B04 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD7B08 */ _t6 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD7B08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD7B0C */ _t7 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD7B0C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BD7B10 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD7B14 */ _t8 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD7B14 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BD7B18 */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD7B1C */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD7B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD7B20 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7B20 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD7B20 */ if (_t10) goto L_02BD7B24; else goto L_02BD7E40;
|
|
L_02BD7B24: ; // 0x2bd7b24
|
|
/* 02BD7B24 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD7B24 */ cpu->r[25] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD7B28 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD7B2C */ cpu->r[4] = cpu->r[25] + 0x00000002u;
|
|
/* 02BD7B30 */ _t12 = cpu->r[25] + 0x00000001u;
|
|
/* 02BD7B30 */ cpu->r[31] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02BD7B34 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD7B38 */ cpu->r[26] = 0x0000000Bu;
|
|
/* 02BD7B3C */ _t13 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7B3C */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 02BD7B40 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BD7B44 */ cpu->r[7] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD7B48 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7B48 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 02BD7B4C */ _t15 = cpu->r[25] + 0x0000000Au;
|
|
/* 02BD7B4C */ cpu->r[27] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02BD7B50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000005u);
|
|
/* 02BD7B54 */ _t16 = cpu->r[11] + 0xFFFFB774u;
|
|
/* 02BD7B54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD7B58 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD7B58 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BD7B58 */ if (_t18) goto L_02BD7B5C; else goto L_02BD7C4C;
|
|
L_02BD7B5C: ; // 0x2bd7b5c
|
|
/* 02BD7B5C */ _t19 = cpu->r[8] + 0x00000044u;
|
|
/* 02BD7B5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD7B60 */ _t20 = cpu->r[30] + 0x000000A4u;
|
|
/* 02BD7B60 */ cpu->r[9] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02BD7B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD7B68 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7B68 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD7B68 */ if (_t22) goto L_02BD7B6C; else goto L_02BD7E40;
|
|
L_02BD7B6C: ; // 0x2bd7b6c
|
|
/* 02BD7B6C */ _t23 = cpu->r[30] + 0x00000058u;
|
|
/* 02BD7B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD7B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD7B74 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7B74 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD7B74 */ if (_t25) goto L_02BD7BA4; else goto L_02BD7B78;
|
|
L_02BD7B78: ; // 0x2bd7b78
|
|
/* 02BD7B78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02BD7B7C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7B7C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD7B7C */ if (_t27) goto L_02BD7B80; else goto L_02BD7E2C;
|
|
L_02BD7B80: ; // 0x2bd7b80
|
|
/* 02BD7B80 */ _t28 = cpu->r[30] + 0x00000064u;
|
|
/* 02BD7B80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD7B84 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7B84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD7B88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02BD7B8C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7B8C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD7B8C */ if (_t31) goto L_02BD7B90; else goto L_02BD7E2C;
|
|
L_02BD7B90: ; // 0x2bd7b90
|
|
/* 02BD7B90 */ _t32 = cpu->r[30] + 0x00000068u;
|
|
/* 02BD7B90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD7B94 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7B94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD7B98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD7B9C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7B9C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BD7B9C */ if (_t35) goto L_02BD7BA0; else goto L_02BD7E2C;
|
|
L_02BD7BA0: ; // 0x2bd7ba0
|
|
/* 02BD7BA0 */ goto L_02BD7D44;
|
|
L_02BD7BA4: ; // 0x2bd7ba4
|
|
/* 02BD7BA4 */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD7BA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD7BA8 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7BA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD7BAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]);
|
|
/* 02BD7BB0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7BB0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD7BB0 */ if (_t39) goto L_02BD7BB4; else goto L_02BD7D7C;
|
|
L_02BD7BB4: ; // 0x2bd7bb4
|
|
/* 02BD7BB4 */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD7BB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD7BB8 */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7BB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD7BBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[5]);
|
|
/* 02BD7BC0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7BC0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BD7BC0 */ if (_t43) goto L_02BD7BC4; else goto L_02BD7E24;
|
|
L_02BD7BC4: ; // 0x2bd7bc4
|
|
/* 02BD7BC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000020u);
|
|
/* 02BD7BC8 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD7BC8 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BD7BC8 */ if (_t45) goto L_02BD7E2C; else goto L_02BD7BCC;
|
|
L_02BD7BCC: ; // 0x2bd7bcc
|
|
/* 02BD7BCC */ cpu->r[6] = 0x02BE0000u;
|
|
/* 02BD7BD0 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD7BD4 */ cpu->r[4] = 0x00000020u;
|
|
/* 02BD7BD8 */ cpu->r[6] = cpu->r[6] + 0xFFFFA598u;
|
|
/* 02BD7BDC */ cpu->r[5] = 0x00000008u;
|
|
/* 02BD7BE0 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02BD7BE4 */ cpu->r[24] = cpu->r[27];
|
|
/* 02BD7BE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BD7BE8 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD7BE8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BD7BE8 */ if (_t47) goto L_02BD7BEC; else goto L_02BD7C1C;
|
|
L_02BD7BEC: ; // 0x2bd7bec
|
|
/* 02BD7BEC */ cpu->r[29] = cpu->r[1] + 0x00000030u;
|
|
L_02BD7BF0: ; // 0x2bd7bf0
|
|
/* 02BD7BF0 */ cpu->r[4] = cpu->r[25] + cpu->r[26];
|
|
/* 02BD7BF4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD7BF8 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD7BFC */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7BFC */ rbrew_write32(cpu->mem, _t48, cpu->r[4]);
|
|
/* 02BD7C00 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7C00 */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
|
|
/* 02BD7C04 */ _t50 = cpu->r[29] + 0x00000008u;
|
|
/* 02BD7C04 */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
|
|
/* 02BD7C04 */ cpu->r[29] = _t50;
|
|
/* 02BD7C08 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7C08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD7C0C */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02BD7C10 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02BD7C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BD7C14 */ _t52 = cpu->r[29] + 0x00000004u;
|
|
/* 02BD7C14 */ rbrew_write32(cpu->mem, _t52, cpu->r[8]);
|
|
/* 02BD7C18 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7C18 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BD7C18 */ if (_t54) goto L_02BD7C1C; else goto L_02BD7BF0;
|
|
L_02BD7C1C: ; // 0x2bd7c1c
|
|
/* 02BD7C1C */ cpu->r[7] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7C20 */ cpu->r[5] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD7C24 */ cpu->r[6] = cpu->r[27];
|
|
/* 02BD7C28 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD7C2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD7C30 */ Gambit_fn_02BC1294(cpu);
|
|
/* 02BD7C34 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD7C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD7C38 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7C38 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BD7C38 */ if (_t56) goto L_02BD7C3C; else goto L_02BD7E2C;
|
|
L_02BD7C3C: ; // 0x2bd7c3c
|
|
/* 02BD7C3C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD7C40 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD7C44 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD7C48 */ goto L_02BD7E40;
|
|
L_02BD7C4C: ; // 0x2bd7c4c
|
|
/* 02BD7C4C */ _t57 = cpu->r[8] + 0x00000048u;
|
|
/* 02BD7C4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD7C50 */ _t58 = cpu->r[30] + 0x000000A6u;
|
|
/* 02BD7C50 */ cpu->r[10] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02BD7C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD7C58 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7C58 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BD7C58 */ if (_t60) goto L_02BD7C5C; else goto L_02BD7E40;
|
|
L_02BD7C5C: ; // 0x2bd7c5c
|
|
/* 02BD7C5C */ _t61 = cpu->r[30] + 0x00000058u;
|
|
/* 02BD7C5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BD7C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BD7C64 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7C64 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BD7C64 */ if (_t63) goto L_02BD7D6C; else goto L_02BD7C68;
|
|
L_02BD7C68: ; // 0x2bd7c68
|
|
/* 02BD7C68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02BD7C6C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7C6C */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BD7C6C */ if (_t65) goto L_02BD7C70; else goto L_02BD7E2C;
|
|
L_02BD7C70: ; // 0x2bd7c70
|
|
/* 02BD7C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000009u);
|
|
/* 02BD7C74 */ _t66 = cpu->r[30] + 0x00000064u;
|
|
/* 02BD7C74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BD7C78 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7C78 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BD7C78 */ if (_t68) goto L_02BD7C8C; else goto L_02BD7C7C;
|
|
L_02BD7C7C: ; // 0x2bd7c7c
|
|
/* 02BD7C7C */ _t69 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7C7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BD7C80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02BD7C84 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7C84 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02BD7C84 */ if (_t71) goto L_02BD7C88; else goto L_02BD7E2C;
|
|
L_02BD7C88: ; // 0x2bd7c88
|
|
/* 02BD7C88 */ goto L_02BD7D34;
|
|
L_02BD7C8C: ; // 0x2bd7c8c
|
|
/* 02BD7C8C */ cpu->r[10] = 0x10200000u;
|
|
/* 02BD7C90 */ _t72 = cpu->r[10] + 0x000027C0u;
|
|
/* 02BD7C90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BD7C90 */ cpu->r[10] = _t72;
|
|
/* 02BD7C94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[11]);
|
|
/* 02BD7C98 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7C98 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BD7C98 */ if (_t74) goto L_02BD7C9C; else goto L_02BD7D28;
|
|
L_02BD7C9C: ; // 0x2bd7c9c
|
|
/* 02BD7C9C */ _t75 = cpu->r[30] + 0x00000068u;
|
|
/* 02BD7C9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BD7CA0 */ _t76 = cpu->r[10] + 0x00000004u;
|
|
/* 02BD7CA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BD7CA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD7CA8 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7CA8 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02BD7CA8 */ if (_t78) goto L_02BD7CAC; else goto L_02BD7D28;
|
|
L_02BD7CAC: ; // 0x2bd7cac
|
|
/* 02BD7CAC */ cpu->r[6] = 0x02BE0000u;
|
|
/* 02BD7CB0 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD7CB4 */ cpu->r[4] = 0x00000020u;
|
|
/* 02BD7CB8 */ cpu->r[6] = cpu->r[6] + 0xFFFFA598u;
|
|
/* 02BD7CBC */ cpu->r[5] = 0x00000008u;
|
|
/* 02BD7CC0 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02BD7CC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000020u);
|
|
/* 02BD7CC8 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD7CC8 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BD7CC8 */ if (_t80) goto L_02BD7E2C; else goto L_02BD7CCC;
|
|
L_02BD7CCC: ; // 0x2bd7ccc
|
|
/* 02BD7CCC */ cpu->r[24] = cpu->r[27];
|
|
/* 02BD7CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BD7CD0 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD7CD0 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02BD7CD0 */ if (_t82) goto L_02BD7CD4; else goto L_02BD7D04;
|
|
L_02BD7CD4: ; // 0x2bd7cd4
|
|
/* 02BD7CD4 */ cpu->r[29] = cpu->r[1] + 0x00000030u;
|
|
L_02BD7CD8: ; // 0x2bd7cd8
|
|
/* 02BD7CD8 */ cpu->r[4] = cpu->r[25] + cpu->r[26];
|
|
/* 02BD7CDC */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD7CE0 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD7CE4 */ _t83 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7CE4 */ rbrew_write32(cpu->mem, _t83, cpu->r[4]);
|
|
/* 02BD7CE8 */ _t84 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7CE8 */ rbrew_write32(cpu->mem, _t84, cpu->r[3]);
|
|
/* 02BD7CEC */ _t85 = cpu->r[29] + 0x00000008u;
|
|
/* 02BD7CEC */ rbrew_write32(cpu->mem, _t85, cpu->r[3]);
|
|
/* 02BD7CEC */ cpu->r[29] = _t85;
|
|
/* 02BD7CF0 */ _t86 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7CF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BD7CF4 */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02BD7CF8 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02BD7CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BD7CFC */ _t87 = cpu->r[29] + 0x00000004u;
|
|
/* 02BD7CFC */ rbrew_write32(cpu->mem, _t87, cpu->r[5]);
|
|
/* 02BD7D00 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7D00 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02BD7D00 */ if (_t89) goto L_02BD7D04; else goto L_02BD7CD8;
|
|
L_02BD7D04: ; // 0x2bd7d04
|
|
/* 02BD7D04 */ cpu->r[7] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7D08 */ cpu->r[5] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD7D0C */ cpu->r[6] = cpu->r[27];
|
|
/* 02BD7D10 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD7D14 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD7D18 */ Gambit_fn_02BBD51C(cpu);
|
|
/* 02BD7D1C */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD7D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD7D20 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7D20 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02BD7D20 */ if (_t91) goto L_02BD7E40; else goto L_02BD7D24;
|
|
L_02BD7D24: ; // 0x2bd7d24
|
|
/* 02BD7D24 */ goto L_02BD7E2C;
|
|
L_02BD7D28: ; // 0x2bd7d28
|
|
/* 02BD7D28 */ _t92 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7D28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BD7D2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02BD7D30 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7D30 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02BD7D30 */ if (_t94) goto L_02BD7D34; else goto L_02BD7E2C;
|
|
L_02BD7D34: ; // 0x2bd7d34
|
|
/* 02BD7D34 */ _t95 = cpu->r[30] + 0x00000068u;
|
|
/* 02BD7D34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BD7D38 */ _t96 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7D38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BD7D3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02BD7D40 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7D40 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02BD7D40 */ if (_t98) goto L_02BD7D44; else goto L_02BD7E2C;
|
|
L_02BD7D44: ; // 0x2bd7d44
|
|
/* 02BD7D44 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BD7D48 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7D4C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD7D50 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD7D54 */ Gambit_fn_02BD7AA8(cpu);
|
|
/* 02BD7D58 */ /* nop */
|
|
/* 02BD7D5C */ _t99 = cpu->r[1] + 0x0000015Cu;
|
|
/* 02BD7D5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BD7D60 */ cpu->lr = cpu->r[0];
|
|
/* 02BD7D64 */ cpu->r[1] = cpu->r[1] + 0x00000158u;
|
|
/* 02BD7D68 */ return;
|
|
L_02BD7D6C: ; // 0x2bd7d6c
|
|
/* 02BD7D6C */ _t100 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD7D6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BD7D70 */ _t101 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7D70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BD7D74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02BD7D78 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7D78 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02BD7D78 */ if (_t103) goto L_02BD7D8C; else goto L_02BD7D7C;
|
|
L_02BD7D7C: ; // 0x2bd7d7c
|
|
/* 02BD7D7C */ _t104 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD7D7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02BD7D80 */ _t105 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7D80 */ rbrew_write32(cpu->mem, _t105, cpu->r[6]);
|
|
/* 02BD7D84 */ _t106 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7D84 */ rbrew_write32(cpu->mem, _t106, cpu->r[5]);
|
|
/* 02BD7D88 */ goto L_02BD7E2C;
|
|
L_02BD7D8C: ; // 0x2bd7d8c
|
|
/* 02BD7D8C */ _t107 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD7D8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BD7D90 */ _t108 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7D90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02BD7D94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 02BD7D98 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7D98 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02BD7D98 */ if (_t110) goto L_02BD7D9C; else goto L_02BD7E24;
|
|
L_02BD7D9C: ; // 0x2bd7d9c
|
|
/* 02BD7D9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000020u);
|
|
/* 02BD7DA0 */ _t111 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD7DA0 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02BD7DA0 */ if (_t112) goto L_02BD7E2C; else goto L_02BD7DA4;
|
|
L_02BD7DA4: ; // 0x2bd7da4
|
|
/* 02BD7DA4 */ cpu->r[6] = 0x02BE0000u;
|
|
/* 02BD7DA8 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD7DAC */ cpu->r[4] = 0x00000020u;
|
|
/* 02BD7DB0 */ cpu->r[6] = cpu->r[6] + 0xFFFFA598u;
|
|
/* 02BD7DB4 */ cpu->r[5] = 0x00000008u;
|
|
/* 02BD7DB8 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02BD7DBC */ cpu->r[24] = cpu->r[27];
|
|
/* 02BD7DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BD7DC0 */ _t113 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD7DC0 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02BD7DC0 */ if (_t114) goto L_02BD7DC4; else goto L_02BD7DF4;
|
|
L_02BD7DC4: ; // 0x2bd7dc4
|
|
/* 02BD7DC4 */ cpu->r[29] = cpu->r[1] + 0x00000030u;
|
|
L_02BD7DC8: ; // 0x2bd7dc8
|
|
/* 02BD7DC8 */ cpu->r[4] = cpu->r[25] + cpu->r[26];
|
|
/* 02BD7DCC */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD7DD0 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD7DD4 */ _t115 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7DD4 */ rbrew_write32(cpu->mem, _t115, cpu->r[4]);
|
|
/* 02BD7DD8 */ _t116 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7DD8 */ rbrew_write32(cpu->mem, _t116, cpu->r[3]);
|
|
/* 02BD7DDC */ _t117 = cpu->r[29] + 0x00000008u;
|
|
/* 02BD7DDC */ rbrew_write32(cpu->mem, _t117, cpu->r[3]);
|
|
/* 02BD7DDC */ cpu->r[29] = _t117;
|
|
/* 02BD7DE0 */ _t118 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02BD7DE4 */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02BD7DE8 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02BD7DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BD7DEC */ _t119 = cpu->r[29] + 0x00000004u;
|
|
/* 02BD7DEC */ rbrew_write32(cpu->mem, _t119, cpu->r[0]);
|
|
/* 02BD7DF0 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7DF0 */ _t121 = _t120 & 0x00000001u;
|
|
/* 02BD7DF0 */ if (_t121) goto L_02BD7DF4; else goto L_02BD7DC8;
|
|
L_02BD7DF4: ; // 0x2bd7df4
|
|
/* 02BD7DF4 */ cpu->r[7] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7DF8 */ cpu->r[5] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD7DFC */ cpu->r[6] = cpu->r[27];
|
|
/* 02BD7E00 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD7E04 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD7E08 */ Gambit_fn_02BBD050(cpu);
|
|
/* 02BD7E0C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD7E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD7E10 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7E10 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02BD7E10 */ if (_t123) goto L_02BD7E14; else goto L_02BD7E2C;
|
|
L_02BD7E14: ; // 0x2bd7e14
|
|
/* 02BD7E14 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD7E18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD7E1C */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD7E20 */ goto L_02BD7E40;
|
|
L_02BD7E24: ; // 0x2bd7e24
|
|
/* 02BD7E24 */ _t124 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7E24 */ rbrew_write32(cpu->mem, _t124, cpu->r[5]);
|
|
/* 02BD7E28 */ _t125 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7E28 */ rbrew_write32(cpu->mem, _t125, cpu->r[6]);
|
|
L_02BD7E2C: ; // 0x2bd7e2c
|
|
/* 02BD7E2C */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD7E30 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7E34 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD7E38 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD7E3C */ Gambit_fn_02BD7AA8(cpu);
|
|
L_02BD7E40: ; // 0x2bd7e40
|
|
/* 02BD7E40 */ /* nop */
|
|
/* 02BD7E44 */ _t126 = cpu->r[1] + 0x0000015Cu;
|
|
/* 02BD7E44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02BD7E48 */ cpu->lr = cpu->r[0];
|
|
/* 02BD7E4C */ cpu->r[1] = cpu->r[1] + 0x00000158u;
|
|
/* 02BD7E50 */ return;
|
|
}
|
|
|
|
// fn_02BD7E54 @ 0x2bd7e54
|
|
void Gambit_fn_02BD7E54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64;
|
|
|
|
L_02BD7E54: ; // 0x2bd7e54
|
|
/* 02BD7E54 */ _t0 = cpu->r[1] + 0xFFFFFEB0u;
|
|
/* 02BD7E54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD7E54 */ cpu->r[1] = _t0;
|
|
/* 02BD7E58 */ /* nop */
|
|
/* 02BD7E5C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD7E60 */ _t1 = cpu->r[1] + 0x00000154u;
|
|
/* 02BD7E60 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD7E64 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD7E68 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD7E6C */ _t2 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD7E6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD7E70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000020u);
|
|
/* 02BD7E74 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD7E74 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD7E74 */ if (_t4) goto L_02BD7E78; else goto L_02BD803C;
|
|
L_02BD7E78: ; // 0x2bd7e78
|
|
/* 02BD7E78 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD7E7C */ _t5 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD7E7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD7E80 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD7E84 */ _t6 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD7E84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD7E88 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7E88 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BD7E8C */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7E90 */ _t8 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7E90 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BD7E94 */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD7E98 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD7E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BD7E9C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7E9C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD7E9C */ if (_t10) goto L_02BD7EA0; else goto L_02BD803C;
|
|
L_02BD7EA0: ; // 0x2bd7ea0
|
|
/* 02BD7EA0 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD7EA0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD7EA4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD7EA8 */ cpu->r[4] = cpu->r[26] + 0x00000002u;
|
|
/* 02BD7EAC */ _t12 = cpu->r[26] + 0x00000001u;
|
|
/* 02BD7EAC */ cpu->r[31] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02BD7EB0 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD7EB4 */ cpu->r[27] = 0x0000000Bu;
|
|
/* 02BD7EB8 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7EB8 */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 02BD7EBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000009u);
|
|
/* 02BD7EC0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7EC0 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 02BD7EC4 */ _t15 = cpu->r[26] + 0x0000000Au;
|
|
/* 02BD7EC4 */ cpu->r[28] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02BD7EC8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7EC8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD7EC8 */ if (_t17) goto L_02BD7ECC; else goto L_02BD803C;
|
|
L_02BD7ECC: ; // 0x2bd7ecc
|
|
/* 02BD7ECC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD7ED0 */ _t18 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BD7ED0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD7ED4 */ _t19 = cpu->r[3] + 0x00000048u;
|
|
/* 02BD7ED4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD7ED8 */ _t20 = cpu->r[30] + 0x000000A6u;
|
|
/* 02BD7ED8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02BD7EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD7EE0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7EE0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD7EE0 */ if (_t22) goto L_02BD7EE4; else goto L_02BD803C;
|
|
L_02BD7EE4: ; // 0x2bd7ee4
|
|
/* 02BD7EE4 */ _t23 = cpu->r[30] + 0x00000058u;
|
|
/* 02BD7EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD7EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD7EEC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7EEC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD7EEC */ if (_t25) goto L_02BD7F50; else goto L_02BD7EF0;
|
|
L_02BD7EF0: ; // 0x2bd7ef0
|
|
/* 02BD7EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000009u);
|
|
/* 02BD7EF4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7EF4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD7EF4 */ if (_t27) goto L_02BD7F00; else goto L_02BD7EF8;
|
|
L_02BD7EF8: ; // 0x2bd7ef8
|
|
/* 02BD7EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Au);
|
|
/* 02BD7EFC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7EFC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD7EFC */ if (_t29) goto L_02BD7F00; else goto L_02BD8028;
|
|
L_02BD7F00: ; // 0x2bd7f00
|
|
/* 02BD7F00 */ Gambit_fn_02BD5A08(cpu);
|
|
/* 02BD7F04 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7F04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD7F08 */ _t31 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD7F08 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
/* 02BD7F0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[9]);
|
|
/* 02BD7F10 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7F10 */ rbrew_write32(cpu->mem, _t32, cpu->r[4]);
|
|
/* 02BD7F14 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7F14 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD7F14 */ if (_t34) goto L_02BD7F18; else goto L_02BD803C;
|
|
L_02BD7F18: ; // 0x2bd7f18
|
|
/* 02BD7F18 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD7F18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD7F1C */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD7F20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BD7F24 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7F24 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BD7F24 */ if (_t38) goto L_02BD7F28; else goto L_02BD803C;
|
|
L_02BD7F28: ; // 0x2bd7f28
|
|
/* 02BD7F28 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BD7F2C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7F30 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD7F34 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD7F38 */ Gambit_fn_02BD7AA8(cpu);
|
|
/* 02BD7F3C */ /* nop */
|
|
/* 02BD7F40 */ _t39 = cpu->r[1] + 0x00000154u;
|
|
/* 02BD7F40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD7F44 */ cpu->lr = cpu->r[0];
|
|
/* 02BD7F48 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 02BD7F4C */ return;
|
|
L_02BD7F50: ; // 0x2bd7f50
|
|
/* 02BD7F50 */ _t40 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD7F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD7F54 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7F54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD7F58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02BD7F5C */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD7F5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD7F60 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7F60 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BD7F60 */ if (_t44) goto L_02BD7F64; else goto L_02BD7F70;
|
|
L_02BD7F64: ; // 0x2bd7f64
|
|
/* 02BD7F64 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7F64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD7F68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02BD7F6C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7F6C */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BD7F6C */ if (_t47) goto L_02BD7F90; else goto L_02BD7F70;
|
|
L_02BD7F70: ; // 0x2bd7f70
|
|
/* 02BD7F70 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7F70 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02BD7F74 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD7F78 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD7F7C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD7F80 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7F84 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD7F84 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
/* 02BD7F88 */ Gambit_fn_02BD7AA8(cpu);
|
|
/* 02BD7F8C */ goto L_02BD803C;
|
|
L_02BD7F90: ; // 0x2bd7f90
|
|
/* 02BD7F90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000020u);
|
|
/* 02BD7F94 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD7F94 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BD7F94 */ if (_t51) goto L_02BD8028; else goto L_02BD7F98;
|
|
L_02BD7F98: ; // 0x2bd7f98
|
|
/* 02BD7F98 */ cpu->r[6] = 0x02BE0000u;
|
|
/* 02BD7F9C */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD7FA0 */ cpu->r[4] = 0x00000020u;
|
|
/* 02BD7FA4 */ cpu->r[6] = cpu->r[6] + 0xFFFFA598u;
|
|
/* 02BD7FA8 */ cpu->r[5] = 0x00000008u;
|
|
/* 02BD7FAC */ Gambit_fn_02C82E00(cpu);
|
|
/* 02BD7FB0 */ cpu->r[24] = cpu->r[28];
|
|
/* 02BD7FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BD7FB4 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD7FB4 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BD7FB4 */ if (_t53) goto L_02BD7FB8; else goto L_02BD7FE8;
|
|
L_02BD7FB8: ; // 0x2bd7fb8
|
|
/* 02BD7FB8 */ cpu->r[25] = cpu->r[1] + 0x00000028u;
|
|
L_02BD7FBC: ; // 0x2bd7fbc
|
|
/* 02BD7FBC */ cpu->r[4] = cpu->r[26] + cpu->r[27];
|
|
/* 02BD7FC0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD7FC4 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD7FC8 */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7FC8 */ rbrew_write32(cpu->mem, _t54, cpu->r[4]);
|
|
/* 02BD7FCC */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD7FCC */ rbrew_write32(cpu->mem, _t55, cpu->r[3]);
|
|
/* 02BD7FD0 */ _t56 = cpu->r[25] + 0x00000008u;
|
|
/* 02BD7FD0 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 02BD7FD0 */ cpu->r[25] = _t56;
|
|
/* 02BD7FD4 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD7FD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD7FD8 */ cpu->r[27] = cpu->r[27] + 0x00000008u;
|
|
/* 02BD7FDC */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02BD7FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BD7FE0 */ _t58 = cpu->r[25] + 0x00000004u;
|
|
/* 02BD7FE0 */ rbrew_write32(cpu->mem, _t58, cpu->r[10]);
|
|
/* 02BD7FE4 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD7FE4 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BD7FE4 */ if (_t60) goto L_02BD7FE8; else goto L_02BD7FBC;
|
|
L_02BD7FE8: ; // 0x2bd7fe8
|
|
/* 02BD7FE8 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD7FEC */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD7FF0 */ cpu->r[6] = cpu->r[28];
|
|
/* 02BD7FF4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD7FF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD7FFC */ Gambit_fn_02BBD050(cpu);
|
|
/* 02BD8000 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD8000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD8004 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8004 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BD8004 */ if (_t62) goto L_02BD8008; else goto L_02BD8028;
|
|
L_02BD8008: ; // 0x2bd8008
|
|
/* 02BD8008 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD800C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD8010 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BD8014 */ /* nop */
|
|
/* 02BD8018 */ _t63 = cpu->r[1] + 0x00000154u;
|
|
/* 02BD8018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BD801C */ cpu->lr = cpu->r[0];
|
|
/* 02BD8020 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 02BD8024 */ return;
|
|
L_02BD8028: ; // 0x2bd8028
|
|
/* 02BD8028 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD802C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8030 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD8034 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD8038 */ Gambit_fn_02BD7AA8(cpu);
|
|
L_02BD803C: ; // 0x2bd803c
|
|
/* 02BD803C */ /* nop */
|
|
/* 02BD8040 */ _t64 = cpu->r[1] + 0x00000154u;
|
|
/* 02BD8040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BD8044 */ cpu->lr = cpu->r[0];
|
|
/* 02BD8048 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 02BD804C */ return;
|
|
}
|
|
|
|
// fn_02BD8050 @ 0x2bd8050
|
|
void Gambit_fn_02BD8050(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD8050: ; // 0x2bd8050
|
|
/* 02BD8050 */ _t0 = cpu->r[1] + 0xFFFFFEB8u;
|
|
/* 02BD8050 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD8050 */ cpu->r[1] = _t0;
|
|
/* 02BD8054 */ /* nop */
|
|
/* 02BD8058 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD805C */ _t1 = cpu->r[1] + 0x0000014Cu;
|
|
/* 02BD805C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD8060 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD8064 */ _t2 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD8064 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD8068 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000020u);
|
|
/* 02BD806C */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD8070 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8070 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD8070 */ if (_t4) goto L_02BD8074; else goto L_02BD823C;
|
|
L_02BD8074: ; // 0x2bd8074
|
|
/* 02BD8074 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD8078 */ _t5 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD8078 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD807C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD8080 */ _t6 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD8080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD8084 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD8084 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BD8088 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD808C */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD808C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BD8090 */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD8094 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD8094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD8098 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8098 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BD8098 */ if (_t10) goto L_02BD809C; else goto L_02BD823C;
|
|
L_02BD809C: ; // 0x2bd809c
|
|
/* 02BD809C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD809C */ cpu->r[25] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD80A0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD80A4 */ _t12 = cpu->r[25] + 0x00000000u;
|
|
/* 02BD80A4 */ cpu->r[27] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02BD80A8 */ cpu->r[4] = cpu->r[25] + 0x00000002u;
|
|
/* 02BD80AC */ _t13 = cpu->r[25] + 0x00000001u;
|
|
/* 02BD80AC */ cpu->r[30] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BD80B0 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD80B4 */ cpu->r[6] = 0x02BE0000u;
|
|
/* 02BD80B8 */ cpu->r[5] = 0x00000008u;
|
|
/* 02BD80BC */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD80BC */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02BD80C0 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD80C4 */ cpu->r[6] = cpu->r[6] + 0xFFFFA598u;
|
|
/* 02BD80C8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD80C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[4]);
|
|
/* 02BD80CC */ _t16 = cpu->r[25] + 0x0000000Au;
|
|
/* 02BD80CC */ cpu->r[31] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02BD80D0 */ cpu->r[4] = 0x00000020u;
|
|
/* 02BD80D4 */ cpu->r[26] = 0x0000000Bu;
|
|
/* 02BD80D8 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02BD80DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD80E0 */ cpu->r[29] = cpu->r[31];
|
|
/* 02BD80E4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD80E4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BD80E4 */ if (_t18) goto L_02BD8118; else goto L_02BD80E8;
|
|
L_02BD80E8: ; // 0x2bd80e8
|
|
/* 02BD80E8 */ cpu->r[24] = cpu->r[1] + 0x00000020u;
|
|
L_02BD80EC: ; // 0x2bd80ec
|
|
/* 02BD80EC */ cpu->r[4] = cpu->r[25] + cpu->r[26];
|
|
/* 02BD80F0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD80F4 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD80F8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD80F8 */ rbrew_write32(cpu->mem, _t19, cpu->r[4]);
|
|
/* 02BD80FC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD80FC */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02BD8100 */ _t21 = cpu->r[24] + 0x00000008u;
|
|
/* 02BD8100 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 02BD8100 */ cpu->r[24] = _t21;
|
|
/* 02BD8104 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD8104 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD8108 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02BD8108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD810C */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02BD8110 */ _t23 = cpu->r[24] + 0x00000004u;
|
|
/* 02BD8110 */ rbrew_write32(cpu->mem, _t23, cpu->r[7]);
|
|
/* 02BD8114 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8114 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD8114 */ if (_t25) goto L_02BD8118; else goto L_02BD80EC;
|
|
L_02BD8118: ; // 0x2bd8118
|
|
/* 02BD8118 */ cpu->r[8] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BD811C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BD8120 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000005u);
|
|
/* 02BD8124 */ _t26 = cpu->r[29] + 0xFFFFB774u;
|
|
/* 02BD8124 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD8124 */ cpu->r[29] = _t26;
|
|
/* 02BD8128 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8128 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BD8128 */ if (_t28) goto L_02BD812C; else goto L_02BD819C;
|
|
L_02BD812C: ; // 0x2bd812c
|
|
/* 02BD812C */ _t29 = cpu->r[10] + 0x00000044u;
|
|
/* 02BD812C */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD8130 */ _t30 = cpu->r[3] + 0x000000A4u;
|
|
/* 02BD8130 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02BD8134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD8138 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8138 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BD8138 */ if (_t32) goto L_02BD813C; else goto L_02BD823C;
|
|
L_02BD813C: ; // 0x2bd813c
|
|
/* 02BD813C */ _t33 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD813C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD8140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD8144 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8144 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BD8144 */ if (_t35) goto L_02BD823C; else goto L_02BD8148;
|
|
L_02BD8148: ; // 0x2bd8148
|
|
/* 02BD8148 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02BD814C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD814C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD814C */ if (_t37) goto L_02BD8150; else goto L_02BD823C;
|
|
L_02BD8150: ; // 0x2bd8150
|
|
/* 02BD8150 */ _t38 = cpu->r[3] + 0x00000064u;
|
|
/* 02BD8150 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD8154 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD8158 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BD815C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD815C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BD815C */ if (_t41) goto L_02BD8160; else goto L_02BD823C;
|
|
L_02BD8160: ; // 0x2bd8160
|
|
/* 02BD8160 */ _t42 = cpu->r[3] + 0x00000068u;
|
|
/* 02BD8160 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD8164 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD8164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD8168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BD816C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD816C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BD816C */ if (_t45) goto L_02BD8170; else goto L_02BD823C;
|
|
L_02BD8170: ; // 0x2bd8170
|
|
/* 02BD8170 */ _t46 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD8170 */ cpu->r[12] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02BD8174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[27]);
|
|
/* 02BD8178 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8178 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BD8178 */ if (_t48) goto L_02BD817C; else goto L_02BD823C;
|
|
L_02BD817C: ; // 0x2bd817c
|
|
/* 02BD817C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8180 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD8184 */ Gambit_fn_02BC15FC(cpu);
|
|
/* 02BD8188 */ /* nop */
|
|
/* 02BD818C */ _t49 = cpu->r[1] + 0x0000014Cu;
|
|
/* 02BD818C */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD8190 */ cpu->lr = cpu->r[0];
|
|
/* 02BD8194 */ cpu->r[1] = cpu->r[1] + 0x00000148u;
|
|
/* 02BD8198 */ return;
|
|
L_02BD819C: ; // 0x2bd819c
|
|
/* 02BD819C */ _t50 = cpu->r[10] + 0x00000048u;
|
|
/* 02BD819C */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD81A0 */ _t51 = cpu->r[3] + 0x000000A6u;
|
|
/* 02BD81A0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02BD81A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD81A8 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD81A8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BD81A8 */ if (_t53) goto L_02BD81AC; else goto L_02BD823C;
|
|
L_02BD81AC: ; // 0x2bd81ac
|
|
/* 02BD81AC */ _t54 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD81AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BD81B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD81B4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD81B4 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BD81B4 */ if (_t56) goto L_02BD823C; else goto L_02BD81B8;
|
|
L_02BD81B8: ; // 0x2bd81b8
|
|
/* 02BD81B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02BD81BC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD81BC */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BD81BC */ if (_t58) goto L_02BD81C0; else goto L_02BD823C;
|
|
L_02BD81C0: ; // 0x2bd81c0
|
|
/* 02BD81C0 */ _t59 = cpu->r[3] + 0x00000064u;
|
|
/* 02BD81C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BD81C4 */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD81C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BD81C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02BD81CC */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD81CC */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BD81CC */ if (_t62) goto L_02BD81D0; else goto L_02BD823C;
|
|
L_02BD81D0: ; // 0x2bd81d0
|
|
/* 02BD81D0 */ _t63 = cpu->r[3] + 0x00000068u;
|
|
/* 02BD81D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BD81D4 */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD81D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BD81D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 02BD81DC */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD81DC */ _t66 = _t65 & 0x00000001u;
|
|
/* 02BD81DC */ if (_t66) goto L_02BD81E0; else goto L_02BD823C;
|
|
L_02BD81E0: ; // 0x2bd81e0
|
|
/* 02BD81E0 */ _t67 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD81E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t67);
|
|
/* 02BD81E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 02BD81E8 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD81E8 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BD81E8 */ if (_t69) goto L_02BD81EC; else goto L_02BD823C;
|
|
L_02BD81EC: ; // 0x2bd81ec
|
|
/* 02BD81EC */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD81F0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD81F4 */ Gambit_fn_02BBD6DC(cpu);
|
|
/* 02BD81F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD81FC */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD81FC */ _t71 = _t70 & 0x00000001u;
|
|
/* 02BD81FC */ if (_t71) goto L_02BD8224; else goto L_02BD8200;
|
|
L_02BD8200: ; // 0x2bd8200
|
|
/* 02BD8200 */ cpu->r[27] = cpu->r[1] + 0x00000028u;
|
|
L_02BD8204: ; // 0x2bd8204
|
|
/* 02BD8204 */ _t72 = cpu->r[29] + 0x00000000u;
|
|
/* 02BD8204 */ cpu->r[5] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BD8208 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BD820C */ _t73 = cpu->r[5] + 0x00000068u;
|
|
/* 02BD820C */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BD8210 */ cpu->r[5] = 0x00000001u;
|
|
/* 02BD8214 */ Gambit_fn_02BDB5D0(cpu);
|
|
/* 02BD8218 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD8218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD821C */ cpu->r[27] = cpu->r[27] + 0x00000008u;
|
|
/* 02BD8220 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8220 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02BD8220 */ if (_t75) goto L_02BD8224; else goto L_02BD8204;
|
|
L_02BD8224: ; // 0x2bd8224
|
|
/* 02BD8224 */ cpu->r[7] = 0x00000001u;
|
|
/* 02BD8228 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD822C */ cpu->r[4] = 0x0000000Bu;
|
|
/* 02BD8230 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD8234 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD8238 */ Gambit_fn_02BD7948(cpu);
|
|
L_02BD823C: ; // 0x2bd823c
|
|
/* 02BD823C */ /* nop */
|
|
/* 02BD8240 */ _t76 = cpu->r[1] + 0x0000014Cu;
|
|
/* 02BD8240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BD8244 */ cpu->lr = cpu->r[0];
|
|
/* 02BD8248 */ cpu->r[1] = cpu->r[1] + 0x00000148u;
|
|
/* 02BD824C */ return;
|
|
}
|
|
|
|
// fn_02BD8254 @ 0x2bd8254
|
|
void Gambit_fn_02BD8254(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BD8254: ; // 0x2bd8254
|
|
/* 02BD8254 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BD8254 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD8254 */ cpu->r[1] = _t0;
|
|
/* 02BD8258 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD8258 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BD825C */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD825C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BD8260 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD8260 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BD8264 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD8264 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BD8268 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD826C */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD826C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD8270 */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD8270 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD8274 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000020u);
|
|
/* 02BD8278 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD827C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD827C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD827C */ if (_t8) goto L_02BD8280; else goto L_02BD8358;
|
|
L_02BD8280: ; // 0x2bd8280
|
|
/* 02BD8280 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD8284 */ _t9 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD8284 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD8288 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BD828C */ _t10 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD828C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD8290 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD8290 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02BD8294 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8298 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8298 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02BD829C */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD82A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD82A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD82A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD82A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD82A4 */ if (_t14) goto L_02BD82A8; else goto L_02BD8358;
|
|
L_02BD82A8: ; // 0x2bd82a8
|
|
/* 02BD82A8 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD82A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD82AC */ _t16 = cpu->r[8] + 0x00000002u;
|
|
/* 02BD82AC */ cpu->r[7] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02BD82B0 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02BD82B0 */ cpu->r[29] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02BD82B4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD82B8 */ cpu->r[9] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02BD82BC */ cpu->r[4] = cpu->r[8] + 0x00000003u;
|
|
/* 02BD82C0 */ _t18 = cpu->r[8] + 0x00000001u;
|
|
/* 02BD82C0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02BD82C4 */ cpu->r[31] = cpu->r[7] - cpu->r[9];
|
|
/* 02BD82C8 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD82CC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD82CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD82D0 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD82D0 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02BD82D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02BD82D8 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD82D8 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]);
|
|
/* 02BD82DC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD82DC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD82DC */ if (_t23) goto L_02BD82E0; else goto L_02BD8358;
|
|
L_02BD82E0: ; // 0x2bd82e0
|
|
/* 02BD82E0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD82E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD82E4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD82E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD82E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02BD82EC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD82EC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD82EC */ if (_t27) goto L_02BD82F0; else goto L_02BD8358;
|
|
L_02BD82F0: ; // 0x2bd82f0
|
|
/* 02BD82F0 */ cpu->r[8] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BD82F4 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02BD82F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000005u);
|
|
/* 02BD82FC */ _t28 = cpu->r[7] + 0xFFFFB774u;
|
|
/* 02BD82FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD8300 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8300 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BD8300 */ if (_t30) goto L_02BD8304; else goto L_02BD8320;
|
|
L_02BD8304: ; // 0x2bd8304
|
|
/* 02BD8304 */ _t31 = cpu->r[11] + 0x00000044u;
|
|
/* 02BD8304 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD8308 */ _t32 = cpu->r[10] + 0x00000058u;
|
|
/* 02BD8308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD830C */ cpu->r[9] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02BD8310 */ cpu->r[8] = cpu->r[12] - cpu->r[9];
|
|
/* 02BD8310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD8314 */ _t33 = cpu->r[10] + 0x00000060u;
|
|
/* 02BD8314 */ cpu->r[6] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02BD8318 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8318 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BD8318 */ if (_t35) goto L_02BD831C; else goto L_02BD8338;
|
|
L_02BD831C: ; // 0x2bd831c
|
|
/* 02BD831C */ goto L_02BD8358;
|
|
L_02BD8320: ; // 0x2bd8320
|
|
/* 02BD8320 */ _t36 = cpu->r[11] + 0x00000048u;
|
|
/* 02BD8320 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD8324 */ _t37 = cpu->r[6] + 0x00000058u;
|
|
/* 02BD8324 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD8328 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02BD832C */ cpu->r[8] = cpu->r[12] - cpu->r[0];
|
|
/* 02BD832C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD8330 */ _t38 = cpu->r[6] + 0x00000060u;
|
|
/* 02BD8330 */ cpu->r[6] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02BD8334 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8334 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BD8334 */ if (_t40) goto L_02BD8358; else goto L_02BD8338;
|
|
L_02BD8338: ; // 0x2bd8338
|
|
/* 02BD8338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02BD833C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD833C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BD833C */ if (_t42) goto L_02BD8340; else goto L_02BD8358;
|
|
L_02BD8340: ; // 0x2bd8340
|
|
/* 02BD8340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[29]);
|
|
/* 02BD8344 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8344 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BD8344 */ if (_t44) goto L_02BD8348; else goto L_02BD8358;
|
|
L_02BD8348: ; // 0x2bd8348
|
|
/* 02BD8348 */ _t45 = cpu->r[11] + 0x00000068u;
|
|
/* 02BD8348 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD834C */ cpu->r[5] = cpu->r[31];
|
|
/* 02BD8350 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8354 */ Gambit_fn_02BDB87C(cpu);
|
|
L_02BD8358: ; // 0x2bd8358
|
|
/* 02BD8358 */ _t46 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD8358 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD835C */ _t47 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD835C */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD8360 */ _t48 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD8360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD8364 */ _t49 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD8364 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD8368 */ cpu->lr = cpu->r[0];
|
|
/* 02BD836C */ _t50 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD836C */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD8370 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD8374 */ return;
|
|
}
|
|
|
|
// fn_02BD8378 @ 0x2bd8378
|
|
void Gambit_fn_02BD8378(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02BD8378: ; // 0x2bd8378
|
|
/* 02BD8378 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD837C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BD837C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD837C */ cpu->r[1] = _t0;
|
|
/* 02BD8380 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD8380 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BD8384 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BD8388 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD8388 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD838C */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD838C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD8390 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD8390 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BD8394 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BD8398 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD8398 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD839C */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD83A0 */ _t6 = cpu->r[28] + 0xFFFFB778u;
|
|
/* 02BD83A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD83A0 */ cpu->r[28] = _t6;
|
|
/* 02BD83A4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD83A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02BD83A8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BD83AC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD83AC */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02BD83B0 */ _t9 = cpu->r[8] + 0x0000007Cu;
|
|
/* 02BD83B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD83B4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BD83B8 */ _t10 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD83B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD83BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD83C0 */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD83C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD83C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD83C8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD83C8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD83C8 */ if (_t12) goto L_02BD83CC; else goto L_02BD84A0;
|
|
L_02BD83CC: ; // 0x2bd83cc
|
|
/* 02BD83CC */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD83CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD83D0 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD83D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD83D4 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD83D4 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02BD83D8 */ _t16 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD83D8 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BD83DC */ _t17 = cpu->r[28] + 0x00000000u;
|
|
/* 02BD83DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD83E0 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD83E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD83E4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD83E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD83E8 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD83E8 */ rbrew_write32(cpu->mem, _t20, cpu->r[7]);
|
|
/* 02BD83EC */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 02BD83F0 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD83F0 */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 02BD83F4 */ _t22 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD83F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD83F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD83FC */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD8400 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD8400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD8404 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8404 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BD8404 */ if (_t24) goto L_02BD8408; else goto L_02BD84A0;
|
|
L_02BD8408: ; // 0x2bd8408
|
|
/* 02BD8408 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD840C */ _t26 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD840C */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD8410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]);
|
|
/* 02BD8414 */ _t27 = cpu->r[29] + 0x00000020u;
|
|
/* 02BD8414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD8418 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8418 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD8418 */ if (_t29) goto L_02BD8420; else goto L_02BD841C;
|
|
L_02BD841C: ; // 0x2bd841c
|
|
/* 02BD841C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02BD8420: ; // 0x2bd8420
|
|
/* 02BD8420 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000070u);
|
|
/* 02BD8424 */ cpu->r[28] = cpu->r[8] + cpu->r[0];
|
|
/* 02BD8428 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD842C */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD8430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8434 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8434 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD8434 */ if (_t31) goto L_02BD8438; else goto L_02BD846C;
|
|
L_02BD8438: ; // 0x2bd8438
|
|
/* 02BD8438 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD843C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD8440 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD8444 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD8444 */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD8448 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD8448 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD844C */ _t34 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD844C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD8450 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD8454 */ _t35 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD8454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD8458 */ cpu->lr = cpu->r[0];
|
|
/* 02BD845C */ _t36 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD845C */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD8460 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD8464 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD8468 */ return;
|
|
L_02BD846C: ; // 0x2bd846c
|
|
/* 02BD846C */ _t37 = cpu->r[29] + 0x00000029u;
|
|
/* 02BD846C */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[30]);
|
|
/* 02BD8470 */ cpu->r[10] = 0x00000016u;
|
|
/* 02BD8474 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD8478 */ cpu->r[5] = cpu->r[29] + 0x0000002Au;
|
|
/* 02BD847C */ cpu->r[6] = 0x000000FEu;
|
|
/* 02BD8480 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD8484 */ _t38 = cpu->r[29] + 0x00000028u;
|
|
/* 02BD8484 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[10]);
|
|
/* 02BD8488 */ cpu->r[31] = cpu->r[29] + 0x00000028u;
|
|
/* 02BD848C */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BD8490 */ cpu->r[5] = cpu->r[3] + 0x00000002u;
|
|
/* 02BD8494 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD8498 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD849C */ Gambit_fn_02BF56D4(cpu);
|
|
L_02BD84A0: ; // 0x2bd84a0
|
|
/* 02BD84A0 */ _t39 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD84A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD84A4 */ _t40 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD84A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD84A8 */ _t41 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD84A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD84AC */ _t42 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD84AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD84B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD84B4 */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD84B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD84B8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD84BC */ return;
|
|
}
|
|
|
|
// fn_02BD837C @ 0x2bd837c
|
|
void Gambit_fn_02BD837C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02BD837C: ; // 0x2bd837c
|
|
/* 02BD837C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BD837C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD837C */ cpu->r[1] = _t0;
|
|
/* 02BD8380 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD8380 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BD8384 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BD8388 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD8388 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD838C */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD838C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD8390 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD8390 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BD8394 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BD8398 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD8398 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD839C */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD83A0 */ _t6 = cpu->r[28] + 0xFFFFB778u;
|
|
/* 02BD83A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD83A0 */ cpu->r[28] = _t6;
|
|
/* 02BD83A4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD83A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02BD83A8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BD83AC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD83AC */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02BD83B0 */ _t9 = cpu->r[8] + 0x0000007Cu;
|
|
/* 02BD83B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD83B4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BD83B8 */ _t10 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD83B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD83BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD83C0 */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD83C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD83C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD83C8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD83C8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD83C8 */ if (_t12) goto L_02BD83CC; else goto L_02BD84A0;
|
|
L_02BD83CC: ; // 0x2bd83cc
|
|
/* 02BD83CC */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD83CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD83D0 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD83D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD83D4 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD83D4 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02BD83D8 */ _t16 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD83D8 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BD83DC */ _t17 = cpu->r[28] + 0x00000000u;
|
|
/* 02BD83DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD83E0 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD83E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD83E4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD83E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD83E8 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD83E8 */ rbrew_write32(cpu->mem, _t20, cpu->r[7]);
|
|
/* 02BD83EC */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 02BD83F0 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD83F0 */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 02BD83F4 */ _t22 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD83F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD83F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD83FC */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD8400 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD8400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD8404 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8404 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BD8404 */ if (_t24) goto L_02BD8408; else goto L_02BD84A0;
|
|
L_02BD8408: ; // 0x2bd8408
|
|
/* 02BD8408 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD840C */ _t26 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD840C */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD8410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]);
|
|
/* 02BD8414 */ _t27 = cpu->r[29] + 0x00000020u;
|
|
/* 02BD8414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD8418 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8418 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD8418 */ if (_t29) goto L_02BD8420; else goto L_02BD841C;
|
|
L_02BD841C: ; // 0x2bd841c
|
|
/* 02BD841C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02BD8420: ; // 0x2bd8420
|
|
/* 02BD8420 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000070u);
|
|
/* 02BD8424 */ cpu->r[28] = cpu->r[8] + cpu->r[0];
|
|
/* 02BD8428 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD842C */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD8430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8434 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8434 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD8434 */ if (_t31) goto L_02BD8438; else goto L_02BD846C;
|
|
L_02BD8438: ; // 0x2bd8438
|
|
/* 02BD8438 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD843C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD8440 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD8444 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD8444 */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD8448 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD8448 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD844C */ _t34 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD844C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD8450 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD8454 */ _t35 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD8454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD8458 */ cpu->lr = cpu->r[0];
|
|
/* 02BD845C */ _t36 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD845C */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD8460 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD8464 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD8468 */ return;
|
|
L_02BD846C: ; // 0x2bd846c
|
|
/* 02BD846C */ _t37 = cpu->r[29] + 0x00000029u;
|
|
/* 02BD846C */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[30]);
|
|
/* 02BD8470 */ cpu->r[10] = 0x00000016u;
|
|
/* 02BD8474 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD8478 */ cpu->r[5] = cpu->r[29] + 0x0000002Au;
|
|
/* 02BD847C */ cpu->r[6] = 0x000000FEu;
|
|
/* 02BD8480 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD8484 */ _t38 = cpu->r[29] + 0x00000028u;
|
|
/* 02BD8484 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[10]);
|
|
/* 02BD8488 */ cpu->r[31] = cpu->r[29] + 0x00000028u;
|
|
/* 02BD848C */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BD8490 */ cpu->r[5] = cpu->r[3] + 0x00000002u;
|
|
/* 02BD8494 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD8498 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD849C */ Gambit_fn_02BF56D4(cpu);
|
|
L_02BD84A0: ; // 0x2bd84a0
|
|
/* 02BD84A0 */ _t39 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD84A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD84A4 */ _t40 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD84A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD84A8 */ _t41 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD84A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD84AC */ _t42 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD84AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD84B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD84B4 */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD84B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD84B8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD84BC */ return;
|
|
}
|
|
|
|
// fn_02BD84C4 @ 0x2bd84c4
|
|
void Gambit_fn_02BD84C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD84C4: ; // 0x2bd84c4
|
|
/* 02BD84C4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BD84C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD84C4 */ cpu->r[1] = _t0;
|
|
/* 02BD84C8 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD84C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD84CC */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD84CC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BD84D0 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD84D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD84D4 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD84D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD84D8 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD84D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD84DC */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02BD84DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD84E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000020u);
|
|
/* 02BD84E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD84E8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD84E8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD84E8 */ if (_t8) goto L_02BD84EC; else goto L_02BD85B4;
|
|
L_02BD84EC: ; // 0x2bd84ec
|
|
/* 02BD84EC */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD84EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD84F0 */ _t10 = cpu->r[12] + 0x00000002u;
|
|
/* 02BD84F0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02BD84F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD84F8 */ _t11 = cpu->r[12] + 0x00000001u;
|
|
/* 02BD84F8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02BD84FC */ cpu->r[0] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02BD8500 */ cpu->r[4] = cpu->r[12] + 0x00000003u;
|
|
/* 02BD8504 */ cpu->r[28] = cpu->r[10] - cpu->r[0];
|
|
/* 02BD8508 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD850C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD850C */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02BD8510 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD8514 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD8514 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 02BD8518 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD851C */ _t14 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD851C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD8520 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8520 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BD8524 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD8524 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BD8528 */ _t17 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD8528 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD852C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8530 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BD8534 */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD8538 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD8538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD853C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD853C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD853C */ if (_t19) goto L_02BD8540; else goto L_02BD85B4;
|
|
L_02BD8540: ; // 0x2bd8540
|
|
/* 02BD8540 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8540 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD8544 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8544 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD8548 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02BD854C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD854C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BD854C */ if (_t23) goto L_02BD8550; else goto L_02BD85B4;
|
|
L_02BD8550: ; // 0x2bd8550
|
|
/* 02BD8550 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD8550 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD8554 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD8554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD8558 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02BD855C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD855C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD855C */ if (_t27) goto L_02BD8560; else goto L_02BD85B4;
|
|
L_02BD8560: ; // 0x2bd8560
|
|
/* 02BD8560 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BD8564 */ _t28 = cpu->r[29] + 0xFFFFB774u;
|
|
/* 02BD8564 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD8564 */ cpu->r[29] = _t28;
|
|
/* 02BD8568 */ cpu->r[5] = cpu->r[28];
|
|
/* 02BD856C */ _t29 = cpu->r[12] + 0x00000068u;
|
|
/* 02BD856C */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD8570 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8574 */ Gambit_fn_02BDBA2C(cpu);
|
|
/* 02BD8578 */ cpu->r[6] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD857C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000005u);
|
|
/* 02BD8580 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8580 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD8580 */ if (_t31) goto L_02BD85B4; else goto L_02BD8584;
|
|
L_02BD8584: ; // 0x2bd8584
|
|
/* 02BD8584 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 02BD8584 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD8588 */ _t33 = cpu->r[7] + 0x00000048u;
|
|
/* 02BD8588 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD858C */ _t34 = cpu->r[11] + 0x000000A6u;
|
|
/* 02BD858C */ cpu->r[8] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02BD8590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD8594 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8594 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BD8594 */ if (_t36) goto L_02BD8598; else goto L_02BD85B4;
|
|
L_02BD8598: ; // 0x2bd8598
|
|
/* 02BD8598 */ _t37 = cpu->r[11] + 0x00000058u;
|
|
/* 02BD8598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD859C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD85A0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD85A0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD85A0 */ if (_t39) goto L_02BD85A4; else goto L_02BD85B4;
|
|
L_02BD85A4: ; // 0x2bd85a4
|
|
/* 02BD85A4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD85A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD85AC */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD85B0 */ Gambit_fn_02BD8378(cpu);
|
|
L_02BD85B4: ; // 0x2bd85b4
|
|
/* 02BD85B4 */ _t40 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD85B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD85B8 */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD85B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD85BC */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD85BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD85C0 */ _t43 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD85C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD85C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD85C8 */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD85C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD85CC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD85D0 */ return;
|
|
}
|
|
|
|
// fn_02BD85D8 @ 0x2bd85d8
|
|
void Gambit_fn_02BD85D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02BD85D8: ; // 0x2bd85d8
|
|
/* 02BD85D8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BD85D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD85D8 */ cpu->r[1] = _t0;
|
|
/* 02BD85DC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD85DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD85E0 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD85E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD85E4 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD85E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD85E8 */ _t4 = cpu->r[4] + 0x00000008u;
|
|
/* 02BD85E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD85EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000020u);
|
|
/* 02BD85F0 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD85F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD85F0 */ if (_t6) goto L_02BD85F4; else goto L_02BD86B0;
|
|
L_02BD85F4: ; // 0x2bd85f4
|
|
/* 02BD85F4 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD85F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD85F8 */ cpu->r[4] = cpu->r[6] + 0x00000002u;
|
|
/* 02BD85FC */ _t8 = cpu->r[6] + 0x00000001u;
|
|
/* 02BD85FC */ cpu->r[31] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02BD8600 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD8604 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD8604 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02BD8608 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD860C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD860C */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 02BD8610 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD8614 */ _t11 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD8614 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD8618 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD8618 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BD861C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD861C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BD8620 */ _t14 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD8620 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD8624 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD8628 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD862C */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD8630 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD8630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD8634 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8634 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD8634 */ if (_t16) goto L_02BD8638; else goto L_02BD86B0;
|
|
L_02BD8638: ; // 0x2bd8638
|
|
/* 02BD8638 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD8638 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD863C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD863C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD8640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02BD8644 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8644 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD8644 */ if (_t20) goto L_02BD8648; else goto L_02BD86B0;
|
|
L_02BD8648: ; // 0x2bd8648
|
|
/* 02BD8648 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD8648 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD864C */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD864C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD8650 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BD8654 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8654 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BD8654 */ if (_t24) goto L_02BD8658; else goto L_02BD86B0;
|
|
L_02BD8658: ; // 0x2bd8658
|
|
/* 02BD8658 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD865C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000005u);
|
|
/* 02BD8660 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8660 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BD8660 */ if (_t26) goto L_02BD86B0; else goto L_02BD8664;
|
|
L_02BD8664: ; // 0x2bd8664
|
|
/* 02BD8664 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BD8668 */ _t27 = cpu->r[11] + 0xFFFFB774u;
|
|
/* 02BD8668 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD866C */ _t28 = cpu->r[11] + 0x00000048u;
|
|
/* 02BD866C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD8670 */ _t29 = cpu->r[31] + 0x000000A6u;
|
|
/* 02BD8670 */ cpu->r[6] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02BD8674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD8678 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8678 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD8678 */ if (_t31) goto L_02BD867C; else goto L_02BD86B0;
|
|
L_02BD867C: ; // 0x2bd867c
|
|
/* 02BD867C */ _t32 = cpu->r[31] + 0x00000058u;
|
|
/* 02BD867C */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD8680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BD8684 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8684 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD8684 */ if (_t34) goto L_02BD86B0; else goto L_02BD8688;
|
|
L_02BD8688: ; // 0x2bd8688
|
|
/* 02BD8688 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD868C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8690 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD8694 */ cpu->r[8] = 0xFD230000u;
|
|
/* 02BD8698 */ cpu->r[8] = cpu->r[8] + 0xFFFF9502u;
|
|
/* 02BD869C */ cpu->r[9] = 0x00000001u;
|
|
/* 02BD86A0 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD86A0 */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
|
|
/* 02BD86A4 */ _t36 = cpu->r[31] + 0x000000A6u;
|
|
/* 02BD86A4 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[9]);
|
|
/* 02BD86A8 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD86A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD86AC */ _t38 = cpu->r[31] + 0x000000A8u;
|
|
/* 02BD86AC */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
L_02BD86B0: ; // 0x2bd86b0
|
|
/* 02BD86B0 */ _t39 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD86B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD86B4 */ _t40 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD86B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD86B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD86BC */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD86BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD86C0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD86C4 */ return;
|
|
}
|
|
|
|
// fn_02BD86C8 @ 0x2bd86c8
|
|
void Gambit_fn_02BD86C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD86C8: ; // 0x2bd86c8
|
|
/* 02BD86C8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD86CC */ cpu->r[7] = cpu->r[6];
|
|
/* 02BD86D0 */ cpu->r[6] = cpu->r[5];
|
|
/* 02BD86D4 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD86D8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD86D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD86DC */ cpu->r[4] = 0x00000015u;
|
|
/* 02BD86E0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD86E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD86E0 */ cpu->r[1] = _t1;
|
|
/* 02BD86E4 */ Gambit_fn_02BD7948(cpu);
|
|
/* 02BD86E8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD86E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD86EC */ cpu->lr = cpu->r[0];
|
|
/* 02BD86F0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD86F4 */ return;
|
|
}
|
|
|
|
// fn_02BD86E0 @ 0x2bd86e0
|
|
void Gambit_fn_02BD86E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD86E0: ; // 0x2bd86e0
|
|
/* 02BD86E0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD86E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD86E0 */ cpu->r[1] = _t0;
|
|
/* 02BD86E4 */ Gambit_fn_02BD7948(cpu);
|
|
/* 02BD86E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD86E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD86EC */ cpu->lr = cpu->r[0];
|
|
/* 02BD86F0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD86F4 */ return;
|
|
}
|
|
|
|
// fn_02BD86FC @ 0x2bd86fc
|
|
void Gambit_fn_02BD86FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD86FC: ; // 0x2bd86fc
|
|
/* 02BD86FC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BD86FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD86FC */ cpu->r[1] = _t0;
|
|
/* 02BD8700 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD8700 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD8704 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD8704 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BD8708 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD870C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD870C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BD8710 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD8710 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BD8714 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD8718 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD8718 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD871C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000020u);
|
|
/* 02BD8720 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8720 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BD8720 */ if (_t7) goto L_02BD8724; else goto L_02BD87F0;
|
|
L_02BD8724: ; // 0x2bd8724
|
|
/* 02BD8724 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BD8728 */ _t8 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BD8728 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD872C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD8730 */ _t9 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BD8730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD8734 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD8734 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BD8738 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD873C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD873C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BD8740 */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD8744 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD8744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BD8748 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8748 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD8748 */ if (_t13) goto L_02BD874C; else goto L_02BD87F0;
|
|
L_02BD874C: ; // 0x2bd874c
|
|
/* 02BD874C */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD874C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD8750 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD8754 */ _t15 = cpu->r[11] + 0x00000001u;
|
|
/* 02BD8754 */ cpu->r[31] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02BD8758 */ cpu->r[4] = cpu->r[11] + 0x00000002u;
|
|
/* 02BD875C */ _t16 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD875C */ cpu->r[30] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02BD8760 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD8764 */ cpu->r[10] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD8768 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8768 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 02BD876C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000005u);
|
|
/* 02BD8770 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD8770 */ rbrew_write32(cpu->mem, _t18, cpu->r[4]);
|
|
/* 02BD8774 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8774 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD8774 */ if (_t20) goto L_02BD87F0; else goto L_02BD8778;
|
|
L_02BD8778: ; // 0x2bd8778
|
|
/* 02BD8778 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD877C */ _t21 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BD877C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD8780 */ _t22 = cpu->r[12] + 0x00000048u;
|
|
/* 02BD8780 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD8784 */ _t23 = cpu->r[3] + 0x000000A6u;
|
|
/* 02BD8784 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02BD8788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD878C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD878C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD878C */ if (_t25) goto L_02BD8790; else goto L_02BD87F0;
|
|
L_02BD8790: ; // 0x2bd8790
|
|
/* 02BD8790 */ _t26 = cpu->r[3] + 0x00000058u;
|
|
/* 02BD8790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD8794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD8798 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8798 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BD8798 */ if (_t28) goto L_02BD87DC; else goto L_02BD879C;
|
|
L_02BD879C: ; // 0x2bd879c
|
|
/* 02BD879C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02BD87A0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD87A0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BD87A0 */ if (_t30) goto L_02BD87A4; else goto L_02BD87DC;
|
|
L_02BD87A4: ; // 0x2bd87a4
|
|
/* 02BD87A4 */ _t31 = cpu->r[3] + 0x00000064u;
|
|
/* 02BD87A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD87A8 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD87A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD87AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02BD87B0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD87B0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BD87B0 */ if (_t34) goto L_02BD87B4; else goto L_02BD87DC;
|
|
L_02BD87B4: ; // 0x2bd87b4
|
|
/* 02BD87B4 */ _t35 = cpu->r[3] + 0x00000068u;
|
|
/* 02BD87B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD87B8 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD87B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD87BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BD87C0 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD87C0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BD87C0 */ if (_t38) goto L_02BD87C4; else goto L_02BD87DC;
|
|
L_02BD87C4: ; // 0x2bd87c4
|
|
/* 02BD87C4 */ _t39 = cpu->r[3] + 0x00000060u;
|
|
/* 02BD87C4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t39);
|
|
/* 02BD87C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 02BD87CC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD87CC */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BD87CC */ if (_t41) goto L_02BD87D0; else goto L_02BD87DC;
|
|
L_02BD87D0: ; // 0x2bd87d0
|
|
/* 02BD87D0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD87D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD87D8 */ Gambit_fn_02BBD7CC(cpu);
|
|
L_02BD87DC: ; // 0x2bd87dc
|
|
/* 02BD87DC */ cpu->r[6] = 0x00000001u;
|
|
/* 02BD87E0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD87E4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD87E8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD87EC */ Gambit_fn_02BD86C8(cpu);
|
|
L_02BD87F0: ; // 0x2bd87f0
|
|
/* 02BD87F0 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD87F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD87F4 */ _t43 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD87F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BD87F8 */ _t44 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD87F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD87FC */ cpu->lr = cpu->r[0];
|
|
/* 02BD8800 */ _t45 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD8800 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD8804 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD8808 */ return;
|
|
}
|
|
|
|
// fn_02BD880C @ 0x2bd880c
|
|
void Gambit_fn_02BD880C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BD880C: ; // 0x2bd880c
|
|
/* 02BD880C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000002u);
|
|
/* 02BD8810 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD8814 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD8818 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8818 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02BD8818 */ if (_t1) goto L_02BD881C; else goto L_02BD8828;
|
|
L_02BD881C: ; // 0x2bd881c
|
|
/* 02BD881C */ _t2 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BD881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD8820 */ _t3 = cpu->r[12] + 0x00000028u;
|
|
/* 02BD8820 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD8824 */ return;
|
|
L_02BD8828: ; // 0x2bd8828
|
|
/* 02BD8828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u);
|
|
/* 02BD882C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD882C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BD882C */ _t6 = _t5 ^ 0x00000001u;
|
|
/* 02BD882C */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BD882C */ goto L_02BD8830;
|
|
L_02BD8830: ; // 0x2bd8830
|
|
/* 02BD8830 */ _t7 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BD8830 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD8834 */ _t8 = cpu->r[11] + 0x00000030u;
|
|
/* 02BD8834 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD8838 */ return;
|
|
}
|
|
|
|
// fn_02BD8840 @ 0x2bd8840
|
|
void Gambit_fn_02BD8840(CPUState* cpu) {
|
|
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_02BD8840: ; // 0x2bd8840
|
|
/* 02BD8840 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD8840 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD8840 */ cpu->r[1] = _t0;
|
|
/* 02BD8844 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD8844 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD8848 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8848 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BD884C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD884C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD8850 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD8850 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD8854 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD8854 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD8858 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD885C */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02BD885C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD8860 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000020u);
|
|
/* 02BD8864 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8864 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD8864 */ if (_t8) goto L_02BD8868; else goto L_02BD88BC;
|
|
L_02BD8868: ; // 0x2bd8868
|
|
/* 02BD8868 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD8868 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD886C */ cpu->r[3] = cpu->r[28] + 0x00000001u;
|
|
/* 02BD8870 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BD8874 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD8878 */ _t10 = cpu->r[28] + 0x00000005u;
|
|
/* 02BD8878 */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02BD887C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD8880 */ cpu->r[4] = cpu->r[28] + 0x00000006u;
|
|
/* 02BD8884 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD8888 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8888 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 02BD888C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD8890 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD8890 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 02BD8894 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD8898 */ Gambit_fn_02BD880C(cpu);
|
|
/* 02BD889C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD88A0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD88A0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD88A0 */ if (_t14) goto L_02BD88BC; else goto L_02BD88A4;
|
|
L_02BD88A4: ; // 0x2bd88a4
|
|
/* 02BD88A4 */ _t15 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD88A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD88A8 */ _t16 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BD88A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD88AC */ cpu->ctr = cpu->r[0];
|
|
/* 02BD88B0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BD88B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD88B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD88BC: ; // 0x2bd88bc
|
|
/* 02BD88BC */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD88BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD88C0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD88C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD88C4 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD88C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD88C8 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD88C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD88CC */ cpu->lr = cpu->r[0];
|
|
/* 02BD88D0 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD88D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD88D4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD88D8 */ return;
|
|
}
|
|
|
|
// fn_02BD88E0 @ 0x2bd88e0
|
|
void Gambit_fn_02BD88E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BD88E0: ; // 0x2bd88e0
|
|
/* 02BD88E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD88E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD88E0 */ cpu->r[1] = _t0;
|
|
/* 02BD88E4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD88E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD88E8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD88E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD88EC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD88EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD88F0 */ _t4 = cpu->r[4] + 0x00000008u;
|
|
/* 02BD88F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD88F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000020u);
|
|
/* 02BD88F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD88FC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD88FC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD88FC */ if (_t6) goto L_02BD8900; else goto L_02BD8938;
|
|
L_02BD8900: ; // 0x2bd8900
|
|
/* 02BD8900 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD8900 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD8904 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD8908 */ cpu->r[4] = cpu->r[12] + 0x00000002u;
|
|
/* 02BD890C */ _t8 = cpu->r[12] + 0x00000001u;
|
|
/* 02BD890C */ cpu->r[30] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02BD8910 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD8914 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8914 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02BD8918 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD891C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD891C */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 02BD8920 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD8924 */ Gambit_fn_02BD880C(cpu);
|
|
/* 02BD8928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD892C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD892C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD892C */ if (_t12) goto L_02BD8938; else goto L_02BD8930;
|
|
L_02BD8930: ; // 0x2bd8930
|
|
/* 02BD8930 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8934 */ Gambit_fn_02BE1DF0(cpu);
|
|
L_02BD8938: ; // 0x2bd8938
|
|
/* 02BD8938 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD8938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD893C */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD893C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD8940 */ cpu->lr = cpu->r[0];
|
|
/* 02BD8944 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD8944 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD8948 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD894C */ return;
|
|
}
|
|
|
|
// fn_02BD8954 @ 0x2bd8954
|
|
void Gambit_fn_02BD8954(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BD8954: ; // 0x2bd8954
|
|
/* 02BD8954 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD8954 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD8954 */ cpu->r[1] = _t0;
|
|
/* 02BD8958 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8958 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD895C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD895C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD8960 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD8960 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD8964 */ _t4 = cpu->r[4] + 0x00000008u;
|
|
/* 02BD8964 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD8968 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000020u);
|
|
/* 02BD896C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD8970 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8970 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD8970 */ if (_t6) goto L_02BD8974; else goto L_02BD89AC;
|
|
L_02BD8974: ; // 0x2bd8974
|
|
/* 02BD8974 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD8974 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD8978 */ cpu->r[3] = cpu->r[30] + 0x00000001u;
|
|
/* 02BD897C */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BD8980 */ _t8 = cpu->r[30] + 0x00000006u;
|
|
/* 02BD8980 */ cpu->r[4] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02BD8984 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD8988 */ _t9 = cpu->r[30] + 0x00000005u;
|
|
/* 02BD8988 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02BD898C */ Gambit_fn_02BD880C(cpu);
|
|
/* 02BD8990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8994 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8994 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD8994 */ if (_t11) goto L_02BD89AC; else goto L_02BD8998;
|
|
L_02BD8998: ; // 0x2bd8998
|
|
/* 02BD8998 */ _t12 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD8998 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD899C */ _t13 = cpu->r[10] + 0x00000044u;
|
|
/* 02BD899C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD89A0 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD89A4 */ cpu->r[4] = cpu->r[0];
|
|
/* 02BD89A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD89AC: ; // 0x2bd89ac
|
|
/* 02BD89AC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD89AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD89B0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD89B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD89B4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD89B8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD89B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD89BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD89C0 */ return;
|
|
}
|
|
|
|
// fn_02BD89C8 @ 0x2bd89c8
|
|
void Gambit_fn_02BD89C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BD89C8: ; // 0x2bd89c8
|
|
/* 02BD89C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BD89C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD89C8 */ cpu->r[1] = _t0;
|
|
/* 02BD89CC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD89CC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BD89D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD89D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD89D4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD89D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD89D8 */ _t4 = cpu->r[4] + 0x00000008u;
|
|
/* 02BD89D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD89DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000020u);
|
|
/* 02BD89E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD89E4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD89E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD89E4 */ if (_t6) goto L_02BD89E8; else goto L_02BD8A20;
|
|
L_02BD89E8: ; // 0x2bd89e8
|
|
/* 02BD89E8 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD89E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD89EC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD89F0 */ cpu->r[4] = cpu->r[12] + 0x00000002u;
|
|
/* 02BD89F4 */ _t8 = cpu->r[12] + 0x00000001u;
|
|
/* 02BD89F4 */ cpu->r[30] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02BD89F8 */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD89FC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD89FC */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02BD8A00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD8A04 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD8A04 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 02BD8A08 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD8A0C */ Gambit_fn_02BD880C(cpu);
|
|
/* 02BD8A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8A14 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8A14 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BD8A14 */ if (_t12) goto L_02BD8A20; else goto L_02BD8A18;
|
|
L_02BD8A18: ; // 0x2bd8a18
|
|
/* 02BD8A18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8A1C */ Gambit_fn_02BE1E58(cpu);
|
|
L_02BD8A20: ; // 0x2bd8a20
|
|
/* 02BD8A20 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD8A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD8A24 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8A24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD8A28 */ cpu->lr = cpu->r[0];
|
|
/* 02BD8A2C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD8A2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD8A30 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD8A34 */ return;
|
|
}
|
|
|
|
// fn_02BD8A38 @ 0x2bd8a38
|
|
void Gambit_fn_02BD8A38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02BD8A38: ; // 0x2bd8a38
|
|
/* 02BD8A38 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD8A3C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BD8A3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD8A3C */ cpu->r[1] = _t0;
|
|
/* 02BD8A40 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD8A40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD8A44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD8A48 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD8A48 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD8A4C */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD8A4C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD8A50 */ cpu->r[0] = 0x00000012u;
|
|
/* 02BD8A54 */ _t4 = cpu->r[31] + 0x00000029u;
|
|
/* 02BD8A54 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[5]);
|
|
/* 02BD8A58 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 02BD8A58 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 02BD8A5C */ cpu->r[8] = 0x00000000u;
|
|
/* 02BD8A60 */ _t6 = cpu->r[31] + 0x0000002Au;
|
|
/* 02BD8A60 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[6]);
|
|
/* 02BD8A64 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02BD8A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD8A68 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8A68 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02BD8A6C */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD8A6C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BD8A70 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD8A74 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD8A74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD8A78 */ _t11 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD8A78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD8A7C */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD8A7C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02BD8A80 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD8A84 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD8A84 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 02BD8A88 */ _t14 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD8A88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD8A8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8A90 */ cpu->r[30] = cpu->r[31] + 0x00000028u;
|
|
/* 02BD8A94 */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD8A98 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8A98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD8A9C */ _t16 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD8A9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD8AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[6]);
|
|
/* 02BD8AA4 */ _t17 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD8AA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD8AA8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8AA8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD8AA8 */ if (_t19) goto L_02BD8AB0; else goto L_02BD8AAC;
|
|
L_02BD8AAC: ; // 0x2bd8aac
|
|
/* 02BD8AAC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02BD8AB0: ; // 0x2bd8ab0
|
|
/* 02BD8AB0 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000070u);
|
|
/* 02BD8AB4 */ cpu->r[31] = cpu->r[9] + cpu->r[7];
|
|
/* 02BD8AB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD8ABC */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD8AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8AC4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8AC4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD8AC4 */ if (_t21) goto L_02BD8AC8; else goto L_02BD8AF4;
|
|
L_02BD8AC8: ; // 0x2bd8ac8
|
|
/* 02BD8AC8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD8ACC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD8AD0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD8AD4 */ _t22 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD8AD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD8AD8 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD8ADC */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD8ADC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD8AE0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD8AE4 */ _t24 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD8AE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD8AE8 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD8AEC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD8AF0 */ return;
|
|
L_02BD8AF4: ; // 0x2bd8af4
|
|
/* 02BD8AF4 */ cpu->r[5] = 0x00000003u;
|
|
/* 02BD8AF8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD8AFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD8B00 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BD8B04 */ _t25 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD8B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD8B08 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD8B08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD8B0C */ cpu->lr = cpu->r[0];
|
|
/* 02BD8B10 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD8B10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD8B14 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD8B18 */ return;
|
|
}
|
|
|
|
// fn_02BD8A3C @ 0x2bd8a3c
|
|
void Gambit_fn_02BD8A3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02BD8A3C: ; // 0x2bd8a3c
|
|
/* 02BD8A3C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BD8A3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD8A3C */ cpu->r[1] = _t0;
|
|
/* 02BD8A40 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD8A40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD8A44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD8A48 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD8A48 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD8A4C */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD8A4C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD8A50 */ cpu->r[0] = 0x00000012u;
|
|
/* 02BD8A54 */ _t4 = cpu->r[31] + 0x00000029u;
|
|
/* 02BD8A54 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[5]);
|
|
/* 02BD8A58 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 02BD8A58 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 02BD8A5C */ cpu->r[8] = 0x00000000u;
|
|
/* 02BD8A60 */ _t6 = cpu->r[31] + 0x0000002Au;
|
|
/* 02BD8A60 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[6]);
|
|
/* 02BD8A64 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02BD8A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD8A68 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8A68 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02BD8A6C */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD8A6C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BD8A70 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD8A74 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD8A74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD8A78 */ _t11 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD8A78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD8A7C */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD8A7C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02BD8A80 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD8A84 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD8A84 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 02BD8A88 */ _t14 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD8A88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD8A8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8A90 */ cpu->r[30] = cpu->r[31] + 0x00000028u;
|
|
/* 02BD8A94 */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD8A98 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8A98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD8A9C */ _t16 = cpu->r[31] + 0x00000018u;
|
|
/* 02BD8A9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD8AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[6]);
|
|
/* 02BD8AA4 */ _t17 = cpu->r[31] + 0x00000020u;
|
|
/* 02BD8AA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD8AA8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8AA8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD8AA8 */ if (_t19) goto L_02BD8AB0; else goto L_02BD8AAC;
|
|
L_02BD8AAC: ; // 0x2bd8aac
|
|
/* 02BD8AAC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02BD8AB0: ; // 0x2bd8ab0
|
|
/* 02BD8AB0 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000070u);
|
|
/* 02BD8AB4 */ cpu->r[31] = cpu->r[9] + cpu->r[7];
|
|
/* 02BD8AB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD8ABC */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD8AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8AC4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8AC4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD8AC4 */ if (_t21) goto L_02BD8AC8; else goto L_02BD8AF4;
|
|
L_02BD8AC8: ; // 0x2bd8ac8
|
|
/* 02BD8AC8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD8ACC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD8AD0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD8AD4 */ _t22 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD8AD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD8AD8 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD8ADC */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD8ADC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD8AE0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD8AE4 */ _t24 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD8AE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD8AE8 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD8AEC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD8AF0 */ return;
|
|
L_02BD8AF4: ; // 0x2bd8af4
|
|
/* 02BD8AF4 */ cpu->r[5] = 0x00000003u;
|
|
/* 02BD8AF8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD8AFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD8B00 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BD8B04 */ _t25 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD8B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD8B08 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD8B08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD8B0C */ cpu->lr = cpu->r[0];
|
|
/* 02BD8B10 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD8B10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD8B14 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD8B18 */ return;
|
|
}
|
|
|
|
// fn_02BD8B1C @ 0x2bd8b1c
|
|
void Gambit_fn_02BD8B1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BD8B1C: ; // 0x2bd8b1c
|
|
/* 02BD8B1C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BD8B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD8B1C */ cpu->r[1] = _t0;
|
|
/* 02BD8B20 */ /* nop */
|
|
/* 02BD8B24 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD8B28 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD8B28 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD8B2C */ _t2 = cpu->r[4] + 0x00000008u;
|
|
/* 02BD8B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD8B30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000020u);
|
|
/* 02BD8B34 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD8B38 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8B38 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD8B38 */ if (_t4) goto L_02BD8B3C; else goto L_02BD8BC0;
|
|
L_02BD8B3C: ; // 0x2bd8b3c
|
|
/* 02BD8B3C */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD8B3C */ cpu->r[27] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD8B40 */ _t6 = cpu->r[27] + 0x00000001u;
|
|
/* 02BD8B40 */ cpu->r[29] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BD8B44 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD8B48 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BD8B4C */ Gambit_fn_02BD880C(cpu);
|
|
/* 02BD8B50 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD8B54 */ cpu->r[3] = cpu->r[27] + 0x00000002u;
|
|
/* 02BD8B58 */ Gambit_fn_02B6808C(cpu);
|
|
/* 02BD8B5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD8B60 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BD8B64 */ _t7 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BD8B64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD8B68 */ Gambit_fn_02BD4360(cpu);
|
|
/* 02BD8B6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
|
|
/* 02BD8B70 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8B70 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BD8B70 */ if (_t9) goto L_02BD8B74; else goto L_02BD8BC0;
|
|
L_02BD8B74: ; // 0x2bd8b74
|
|
/* 02BD8B74 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD8B78 */ cpu->r[4] = cpu->r[27] + 0x00000006u;
|
|
/* 02BD8B7C */ Gambit_fn_02BD7438(cpu);
|
|
/* 02BD8B80 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8B80 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02BD8B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD8B88 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD8B88 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
|
|
/* 02BD8B8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8B8C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD8B8C */ if (_t13) goto L_02BD8BC0; else goto L_02BD8B90;
|
|
L_02BD8B90: ; // 0x2bd8b90
|
|
/* 02BD8B90 */ _t14 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD8B90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD8B94 */ _t15 = cpu->r[11] + 0x00000074u;
|
|
/* 02BD8B94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD8B98 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD8B9C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD8BA0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BD8BA4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8BA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD8BAC */ cpu->r[6] = cpu->r[3];
|
|
/* 02BD8BB0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8BB4 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BD8BB8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD8BBC */ Gambit_fn_02BD8A38(cpu);
|
|
L_02BD8BC0: ; // 0x2bd8bc0
|
|
/* 02BD8BC0 */ /* nop */
|
|
/* 02BD8BC4 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD8BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BD8BC8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD8BCC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD8BD0 */ return;
|
|
}
|
|
|
|
// fn_02BD8BDC @ 0x2bd8bdc
|
|
void Gambit_fn_02BD8BDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BD8BDC: ; // 0x2bd8bdc
|
|
/* 02BD8BDC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD8BDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD8BDC */ cpu->r[1] = _t0;
|
|
/* 02BD8BE0 */ _t1 = cpu->r[4] + 0x00000008u;
|
|
/* 02BD8BE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD8BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000020u);
|
|
/* 02BD8BE8 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8BE8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BD8BE8 */ if (_t3) goto L_02BD8BEC; else goto L_02BD8C1C;
|
|
L_02BD8BEC: ; // 0x2bd8bec
|
|
/* 02BD8BEC */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD8BEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD8BF0 */ _t5 = cpu->r[10] + 0x00000001u;
|
|
/* 02BD8BF0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BD8BF4 */ _t6 = cpu->r[10] + 0x00000002u;
|
|
/* 02BD8BF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BD8BF8 */ Gambit_fn_02BD880C(cpu);
|
|
/* 02BD8BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8C00 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8C00 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD8C00 */ if (_t8) goto L_02BD8C1C; else goto L_02BD8C04;
|
|
L_02BD8C04: ; // 0x2bd8c04
|
|
/* 02BD8C04 */ cpu->r[10] = 0x00000001u;
|
|
/* 02BD8C08 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02BD8C0C */ _t9 = cpu->r[3] + 0x00000066u;
|
|
/* 02BD8C0C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[10]);
|
|
/* 02BD8C10 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02BD8C14 */ _t10 = cpu->r[3] + 0x0000027Du;
|
|
/* 02BD8C14 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
|
|
/* 02BD8C18 */ _t11 = cpu->r[3] + 0x0000027Cu;
|
|
/* 02BD8C18 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
L_02BD8C1C: ; // 0x2bd8c1c
|
|
/* 02BD8C1C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD8C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD8C20 */ cpu->lr = cpu->r[0];
|
|
/* 02BD8C24 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8C28 */ return;
|
|
}
|
|
|
|
// fn_02BD8C2C @ 0x2bd8c2c
|
|
void Gambit_fn_02BD8C2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BD8C2C: ; // 0x2bd8c2c
|
|
/* 02BD8C2C */ _t0 = cpu->r[4] + 0x00000004u;
|
|
/* 02BD8C2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BD8C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD8C34 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8C34 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BD8C34 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BD8C34 */ goto L_02BD8C38;
|
|
L_02BD8C38: ; // 0x2bd8c38
|
|
/* 02BD8C38 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02BD8C38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD8C3C */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02BD8C3C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02BD8C40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000016u);
|
|
/* 02BD8C44 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD8C44 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD8C44 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BD8C44 */ goto L_02BD8C48;
|
|
L_02BD8C48: ; // 0x2bd8c48
|
|
/* 02BD8C48 */ cpu->r[0] = 0x02BE0000u;
|
|
/* 02BD8C4C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BD8C50 */ cpu->r[0] = cpu->r[0] + 0xFFFF8C60u;
|
|
/* 02BD8C54 */ cpu->r[0] = cpu->r[12] + cpu->r[0];
|
|
/* 02BD8C58 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD8C5C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02BD8CFC @ 0x2bd8cfc
|
|
void Gambit_fn_02BD8CFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02BD8CFC: ; // 0x2bd8cfc
|
|
/* 02BD8CFC */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02BD8CFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD8CFC */ cpu->r[1] = _t0;
|
|
/* 02BD8D00 */ /* nop */
|
|
/* 02BD8D04 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD8D08 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 02BD8D08 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD8D0C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD8D10 */ _t2 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD8D10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD8D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x000000FDu);
|
|
/* 02BD8D18 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BD8D1C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8D1C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BD8D1C */ if (_t4) goto L_02BD9020; else goto L_02BD8D20;
|
|
L_02BD8D20: ; // 0x2bd8d20
|
|
/* 02BD8D20 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD8D24 */ Gambit_fn_02B6A710(cpu);
|
|
/* 02BD8D28 */ _t5 = cpu->r[30] + 0x00000014u;
|
|
/* 02BD8D28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD8D2C */ _t6 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02BD8D2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD8D30 */ cpu->ctr = cpu->r[4];
|
|
/* 02BD8D34 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD8D38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD8D3C */ _t7 = cpu->r[1] + 0x00000048u;
|
|
/* 02BD8D3C */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[3]);
|
|
/* 02BD8D40 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD8D44 */ _t8 = cpu->r[30] + 0x00000010u;
|
|
/* 02BD8D44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BD8D48 */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD8D4C */ _t9 = cpu->r[1] + 0x0000004Au;
|
|
/* 02BD8D4C */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[0]);
|
|
/* 02BD8D50 */ Gambit_fn_02BF343C(cpu);
|
|
/* 02BD8D54 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BD8D58 */ _t10 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD8D58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD8D5C */ _t11 = cpu->r[3] + 0x00000280u;
|
|
/* 02BD8D5C */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD8D60 */ _t12 = cpu->r[5] + 0x00000054u;
|
|
/* 02BD8D60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD8D64 */ cpu->ctr = cpu->r[6];
|
|
/* 02BD8D68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD8D6C */ _t13 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD8D6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD8D70 */ _t14 = cpu->r[3] + 0x00000280u;
|
|
/* 02BD8D70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD8D74 */ _t15 = cpu->r[7] + 0x0000005Cu;
|
|
/* 02BD8D74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD8D78 */ cpu->ctr = cpu->r[8];
|
|
/* 02BD8D7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD8D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8D84 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8D84 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD8D84 */ if (_t17) goto L_02BD8D88; else goto L_02BD8E30;
|
|
L_02BD8D88: ; // 0x2bd8d88
|
|
/* 02BD8D88 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD8D8C */ Gambit_fn_02BF3488(cpu);
|
|
/* 02BD8D90 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD8D94 */ _t18 = cpu->r[28] + 0x00000004u;
|
|
/* 02BD8D94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD8D98 */ _t19 = cpu->r[9] + 0x00000001u;
|
|
/* 02BD8D98 */ cpu->r[10] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BD8D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000001Fu);
|
|
/* 02BD8DA0 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD8DA0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD8DA0 */ if (_t21) goto L_02BD8E00; else goto L_02BD8DA4;
|
|
L_02BD8DA4: ; // 0x2bd8da4
|
|
/* 02BD8DA4 */ _t22 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD8DA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD8DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[11]);
|
|
/* 02BD8DAC */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD8DAC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BD8DAC */ if (_t24) goto L_02BD8DD4; else goto L_02BD8DB0;
|
|
L_02BD8DB0: ; // 0x2bd8db0
|
|
/* 02BD8DB0 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8DB0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BD8DB0 */ if (_t26) goto L_02BD8DB4; else goto L_02BD8E00;
|
|
L_02BD8DB4: ; // 0x2bd8db4
|
|
/* 02BD8DB4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000070u);
|
|
/* 02BD8DB8 */ _t27 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD8DB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD8DBC */ cpu->r[31] = cpu->r[12] + cpu->r[0];
|
|
/* 02BD8DC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD8DC4 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD8DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8DCC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8DCC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD8DCC */ if (_t29) goto L_02BD8DD0; else goto L_02BD8DF4;
|
|
L_02BD8DD0: ; // 0x2bd8dd0
|
|
/* 02BD8DD0 */ goto L_02BD8E00;
|
|
L_02BD8DD4: ; // 0x2bd8dd4
|
|
/* 02BD8DD4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02BD8DD8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000070u);
|
|
/* 02BD8DDC */ _t30 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD8DDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD8DE0 */ cpu->r[31] = cpu->r[12] + cpu->r[0];
|
|
/* 02BD8DE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD8DE8 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD8DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8DF0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8DF0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BD8DF0 */ if (_t32) goto L_02BD8E00; else goto L_02BD8DF4;
|
|
L_02BD8DF4: ; // 0x2bd8df4
|
|
/* 02BD8DF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD8DF8 */ cpu->r[4] = cpu->r[28];
|
|
/* 02BD8DFC */ Gambit_fn_02BF4908(cpu);
|
|
L_02BD8E00: ; // 0x2bd8e00
|
|
/* 02BD8E00 */ _t33 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD8E00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD8E04 */ _t34 = cpu->r[3] + 0x00000280u;
|
|
/* 02BD8E04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD8E08 */ _t35 = cpu->r[5] + 0x00000064u;
|
|
/* 02BD8E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD8E0C */ cpu->ctr = cpu->r[0];
|
|
/* 02BD8E10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD8E14 */ _t36 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD8E14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD8E18 */ _t37 = cpu->r[3] + 0x00000280u;
|
|
/* 02BD8E18 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD8E1C */ _t38 = cpu->r[8] + 0x0000005Cu;
|
|
/* 02BD8E1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BD8E20 */ cpu->ctr = cpu->r[9];
|
|
/* 02BD8E24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD8E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8E2C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8E2C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BD8E2C */ if (_t40) goto L_02BD8D88; else goto L_02BD8E30;
|
|
L_02BD8E30: ; // 0x2bd8e30
|
|
/* 02BD8E30 */ _t41 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BD8E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD8E34 */ cpu->r[25] = 0x00000000u;
|
|
/* 02BD8E38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 02BD8E3C */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8E3C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BD8E3C */ if (_t43) goto L_02BD8E40; else goto L_02BD8F1C;
|
|
L_02BD8E40: ; // 0x2bd8e40
|
|
/* 02BD8E40 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BD8E44 */ cpu->r[31] = 0x00000000u;
|
|
L_02BD8E48: ; // 0x2bd8e48
|
|
/* 02BD8E48 */ _t44 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD8E48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BD8E4C */ cpu->r[3] = cpu->r[12] + cpu->r[31];
|
|
/* 02BD8E50 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD8E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8E58 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8E58 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BD8E58 */ if (_t46) goto L_02BD8F08; else goto L_02BD8E5C;
|
|
L_02BD8E5C: ; // 0x2bd8e5c
|
|
/* 02BD8E5C */ _t47 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD8E5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BD8E60 */ _t48 = cpu->r[27] + 0xFFFFB77Cu;
|
|
/* 02BD8E60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD8E64 */ cpu->r[7] = cpu->r[4] + cpu->r[31];
|
|
/* 02BD8E68 */ _t49 = cpu->r[7] + 0x00000008u;
|
|
/* 02BD8E68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD8E6C */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BD8E70 */ cpu->r[24] = cpu->r[3];
|
|
/* 02BD8E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BD8E74 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8E74 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BD8E74 */ if (_t51) goto L_02BD8F08; else goto L_02BD8E78;
|
|
L_02BD8E78: ; // 0x2bd8e78
|
|
/* 02BD8E78 */ _t52 = cpu->r[24] + 0x00000024u;
|
|
/* 02BD8E78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BD8E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000005u);
|
|
/* 02BD8E80 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8E80 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BD8E80 */ if (_t54) goto L_02BD8E84; else goto L_02BD8F08;
|
|
L_02BD8E84: ; // 0x2bd8e84
|
|
/* 02BD8E84 */ cpu->r[28] = cpu->r[30] + 0x00000028u;
|
|
/* 02BD8E88 */ cpu->r[29] = 0x00000000u;
|
|
L_02BD8E8C: ; // 0x2bd8e8c
|
|
/* 02BD8E8C */ _t55 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD8E8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD8E90 */ cpu->r[4] = cpu->r[28];
|
|
/* 02BD8E94 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8E98 */ cpu->r[6] = 0x00000100u;
|
|
/* 02BD8E9C */ cpu->r[3] = cpu->r[7] + cpu->r[31];
|
|
/* 02BD8EA0 */ Gambit_fn_02BF5950(cpu);
|
|
/* 02BD8EA4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD8EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BD8EA8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8EA8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BD8EA8 */ if (_t57) goto L_02BD8EAC; else goto L_02BD8F08;
|
|
L_02BD8EAC: ; // 0x2bd8eac
|
|
/* 02BD8EAC */ _t58 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD8EAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BD8EB0 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 02BD8EB4 */ cpu->r[10] = cpu->r[9] + cpu->r[31];
|
|
/* 02BD8EB8 */ cpu->r[4] = cpu->r[24] + 0x00000004u;
|
|
/* 02BD8EBC */ _t59 = cpu->r[10] + 0x00000008u;
|
|
/* 02BD8EBC */ cpu->r[26] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BD8EC0 */ Gambit_fn_02B6A76C(cpu);
|
|
/* 02BD8EC4 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD8EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BD8EC8 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD8EC8 */ rbrew_write32(cpu->mem, _t61, cpu->r[28]);
|
|
/* 02BD8ECC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD8ED0 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD8ED0 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 02BD8ED4 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
|
|
/* 02BD8ED8 */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD8ED8 */ rbrew_write32(cpu->mem, _t63, cpu->r[26]);
|
|
/* 02BD8EDC */ Gambit_fn_02B6AA7C(cpu);
|
|
/* 02BD8EE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD8EE4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BD8EE8 */ _t64 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD8EE8 */ rbrew_write32(cpu->mem, _t64, cpu->r[29]);
|
|
/* 02BD8EEC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD8EF0 */ _t65 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD8EF0 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[6]);
|
|
/* 02BD8EF4 */ Gambit_fn_02BD8C2C(cpu);
|
|
/* 02BD8EF8 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD8EFC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BD8F00 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BD8F04 */ goto L_02BD8E8C;
|
|
L_02BD8F08: ; // 0x2bd8f08
|
|
/* 02BD8F08 */ _t66 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BD8F08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BD8F0C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02BD8F10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 02BD8F14 */ cpu->r[31] = cpu->r[31] + 0x00000070u;
|
|
/* 02BD8F18 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8F18 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BD8F18 */ if (_t68) goto L_02BD8E48; else goto L_02BD8F1C;
|
|
L_02BD8F1C: ; // 0x2bd8f1c
|
|
/* 02BD8F1C */ _t69 = cpu->r[30] + 0x00000024u;
|
|
/* 02BD8F1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BD8F20 */ _t70 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BD8F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BD8F24 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BD8F28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02BD8F2C */ _t71 = cpu->r[30] + 0x00000024u;
|
|
/* 02BD8F2C */ rbrew_write32(cpu->mem, _t71, cpu->r[31]);
|
|
/* 02BD8F30 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8F30 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02BD8F30 */ if (_t73) goto L_02BD8F40; else goto L_02BD8F34;
|
|
L_02BD8F34: ; // 0x2bd8f34
|
|
/* 02BD8F34 */ _t74 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BD8F34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BD8F38 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BD8F3C */ _t75 = cpu->r[30] + 0x00000024u;
|
|
/* 02BD8F3C */ rbrew_write32(cpu->mem, _t75, cpu->r[31]);
|
|
L_02BD8F40: ; // 0x2bd8f40
|
|
/* 02BD8F40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02BD8F44 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8F44 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02BD8F44 */ if (_t77) goto L_02BD8F48; else goto L_02BD8F88;
|
|
L_02BD8F48: ; // 0x2bd8f48
|
|
/* 02BD8F48 */ cpu->r[28] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000070u);
|
|
L_02BD8F4C: ; // 0x2bd8f4c
|
|
/* 02BD8F4C */ _t78 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD8F4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BD8F50 */ cpu->r[3] = cpu->r[12] + cpu->r[28];
|
|
/* 02BD8F54 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD8F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8F5C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8F5C */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BD8F5C */ if (_t80) goto L_02BD8F70; else goto L_02BD8F60;
|
|
L_02BD8F60: ; // 0x2bd8f60
|
|
/* 02BD8F60 */ _t81 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD8F60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BD8F64 */ _t82 = cpu->r[30] + 0x00000010u;
|
|
/* 02BD8F64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BD8F68 */ cpu->r[3] = cpu->r[5] + cpu->r[28];
|
|
/* 02BD8F6C */ Gambit_fn_02BF4D10(cpu);
|
|
L_02BD8F70: ; // 0x2bd8f70
|
|
/* 02BD8F70 */ _t83 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BD8F70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BD8F74 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BD8F78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]);
|
|
/* 02BD8F7C */ cpu->r[28] = cpu->r[28] + 0x00000070u;
|
|
/* 02BD8F80 */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8F80 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02BD8F80 */ if (_t85) goto L_02BD8F4C; else goto L_02BD8F84;
|
|
L_02BD8F84: ; // 0x2bd8f84
|
|
/* 02BD8F84 */ _t86 = cpu->r[30] + 0x00000024u;
|
|
/* 02BD8F84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t86);
|
|
L_02BD8F88: ; // 0x2bd8f88
|
|
/* 02BD8F88 */ cpu->r[28] = 0x00000000u;
|
|
/* 02BD8F8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
|
|
/* 02BD8F90 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8F90 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02BD8F90 */ if (_t88) goto L_02BD8F94; else goto L_02BD8FD0;
|
|
L_02BD8F94: ; // 0x2bd8f94
|
|
/* 02BD8F94 */ cpu->r[31] = 0x00000000u;
|
|
L_02BD8F98: ; // 0x2bd8f98
|
|
/* 02BD8F98 */ _t89 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD8F98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BD8F9C */ cpu->r[3] = cpu->r[10] + cpu->r[31];
|
|
/* 02BD8FA0 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD8FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8FA8 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8FA8 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02BD8FA8 */ if (_t91) goto L_02BD8FBC; else goto L_02BD8FAC;
|
|
L_02BD8FAC: ; // 0x2bd8fac
|
|
/* 02BD8FAC */ _t92 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD8FAC */ cpu->r[5] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BD8FB0 */ _t93 = cpu->r[30] + 0x00000010u;
|
|
/* 02BD8FB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BD8FB4 */ cpu->r[3] = cpu->r[5] + cpu->r[31];
|
|
/* 02BD8FB8 */ Gambit_fn_02BF4D10(cpu);
|
|
L_02BD8FBC: ; // 0x2bd8fbc
|
|
/* 02BD8FBC */ _t94 = cpu->r[30] + 0x00000024u;
|
|
/* 02BD8FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BD8FC0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02BD8FC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02BD8FC8 */ cpu->r[31] = cpu->r[31] + 0x00000070u;
|
|
/* 02BD8FCC */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD8FCC */ _t96 = _t95 & 0x00000001u;
|
|
/* 02BD8FCC */ if (_t96) goto L_02BD8F98; else goto L_02BD8FD0;
|
|
L_02BD8FD0: ; // 0x2bd8fd0
|
|
/* 02BD8FD0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BD8FD4 */ _t97 = cpu->r[31] + 0xFFFFB774u;
|
|
/* 02BD8FD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02BD8FD4 */ cpu->r[31] = _t97;
|
|
/* 02BD8FD8 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD8FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD8FE0 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8FE0 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02BD8FE0 */ if (_t99) goto L_02BD9014; else goto L_02BD8FE4;
|
|
L_02BD8FE4: ; // 0x2bd8fe4
|
|
/* 02BD8FE4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD8FE8 */ _t100 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD8FE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BD8FEC */ _t101 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BD8FEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BD8FF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BD8FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD8FF4 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD8FF4 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02BD8FF4 */ if (_t103) goto L_02BD9014; else goto L_02BD8FF8;
|
|
L_02BD8FF8: ; // 0x2bd8ff8
|
|
/* 02BD8FF8 */ _t104 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD8FF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02BD8FFC */ _t105 = cpu->r[9] + 0x00000078u;
|
|
/* 02BD8FFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02BD9000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u);
|
|
/* 02BD9004 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9004 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02BD9004 */ if (_t107) goto L_02BD9014; else goto L_02BD9008;
|
|
L_02BD9008: ; // 0x2bd9008
|
|
/* 02BD9008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BD900C */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD900C */ _t109 = _t108 & 0x00000001u;
|
|
/* 02BD900C */ if (_t109) goto L_02BD9014; else goto L_02BD9010;
|
|
L_02BD9010: ; // 0x2bd9010
|
|
/* 02BD9010 */ _t110 = cpu->r[9] + 0x00000078u;
|
|
/* 02BD9010 */ rbrew_write32(cpu->mem, _t110, cpu->r[29]);
|
|
L_02BD9014: ; // 0x2bd9014
|
|
/* 02BD9014 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD9018 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BD901C */ Gambit_fn_02B67E5C(cpu);
|
|
L_02BD9020: ; // 0x2bd9020
|
|
/* 02BD9020 */ /* nop */
|
|
/* 02BD9024 */ _t111 = cpu->r[1] + 0x00000074u;
|
|
/* 02BD9024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BD9028 */ cpu->lr = cpu->r[0];
|
|
/* 02BD902C */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02BD9030 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD9034 */ return;
|
|
}
|
|
|
|
// fn_02BD9038 @ 0x2bd9038
|
|
void Gambit_fn_02BD9038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD9038: ; // 0x2bd9038
|
|
/* 02BD9038 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD903C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BD903C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD903C */ cpu->r[1] = _t0;
|
|
/* 02BD9040 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD9040 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BD9044 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD9044 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD9048 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9048 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD904C */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD904C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD9050 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD9050 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD9054 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD9058 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD905C */ _t6 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD905C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD9060 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD9064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000001Fu);
|
|
/* 02BD9068 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BD906C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD906C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD906C */ if (_t8) goto L_02BD9070; else goto L_02BD90A0;
|
|
L_02BD9070: ; // 0x2bd9070
|
|
/* 02BD9070 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9074 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9078 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD907C */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD907C */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD9080 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD9080 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD9084 */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD9084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD9088 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD908C */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD908C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD9090 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9094 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD9094 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD9098 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD909C */ return;
|
|
L_02BD90A0: ; // 0x2bd90a0
|
|
/* 02BD90A0 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD90A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD90A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD90A8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD90A8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD90A8 */ if (_t16) goto L_02BD90BC; else goto L_02BD90AC;
|
|
L_02BD90AC: ; // 0x2bd90ac
|
|
/* 02BD90AC */ _t17 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02BD90AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD90B0 */ cpu->r[0] = cpu->r[11] + 0x00000001u;
|
|
/* 02BD90B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD90B8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD90B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD90B8 */ if (_t19) goto L_02BD90EC; else goto L_02BD90BC;
|
|
L_02BD90BC: ; // 0x2bd90bc
|
|
/* 02BD90BC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD90C0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD90C4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD90C8 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD90C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD90CC */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD90CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD90D0 */ _t22 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD90D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD90D4 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD90D8 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD90D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD90DC */ cpu->lr = cpu->r[0];
|
|
/* 02BD90E0 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD90E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD90E4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD90E8 */ return;
|
|
L_02BD90EC: ; // 0x2bd90ec
|
|
/* 02BD90EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 02BD90F0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD90F0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BD90F0 */ if (_t26) goto L_02BD90F4; else goto L_02BD9124;
|
|
L_02BD90F4: ; // 0x2bd90f4
|
|
/* 02BD90F4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD90F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD90FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9100 */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9100 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD9104 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD9104 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD9108 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD9108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD910C */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD9110 */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD9110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD9114 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9118 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD9118 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD911C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD9120 */ return;
|
|
L_02BD9124: ; // 0x2bd9124
|
|
/* 02BD9124 */ _t32 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD9124 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD9128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[9]);
|
|
/* 02BD912C */ _t33 = cpu->r[29] + 0x00000020u;
|
|
/* 02BD912C */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD9130 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD9130 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BD9130 */ if (_t35) goto L_02BD9138; else goto L_02BD9134;
|
|
L_02BD9134: ; // 0x2bd9134
|
|
/* 02BD9134 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02BD9138: ; // 0x2bd9138
|
|
/* 02BD9138 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000070u);
|
|
/* 02BD913C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 02BD9140 */ cpu->r[28] = cpu->r[6] + cpu->r[0];
|
|
/* 02BD9144 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD9144 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD9144 */ if (_t37) goto L_02BD9160; else goto L_02BD9148;
|
|
L_02BD9148: ; // 0x2bd9148
|
|
/* 02BD9148 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9148 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD9148 */ if (_t39) goto L_02BD91B8; else goto L_02BD914C;
|
|
L_02BD914C: ; // 0x2bd914c
|
|
/* 02BD914C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9150 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9154 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9158 */ cpu->r[31] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD915C */ goto L_02BD91C4;
|
|
L_02BD9160: ; // 0x2bd9160
|
|
/* 02BD9160 */ _t40 = cpu->r[29] + 0x00000014u;
|
|
/* 02BD9160 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD9164 */ _t41 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02BD9164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD9168 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD916C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD9170 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD9174 */ _t42 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD9174 */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD9178 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD917C */ _t43 = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BD917C */ _t44 = cpu->r[31] & 0x0000FFFFu;
|
|
/* 02BD917C */ cpu->r[31] = _t44 | _t43;
|
|
/* 02BD9180 */ _t45 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD9180 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD9184 */ _t46 = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02BD9184 */ _t47 = cpu->r[31] & 0xFFFF0000u;
|
|
/* 02BD9184 */ cpu->r[31] = _t47 | _t46;
|
|
/* 02BD9188 */ _t48 = cpu->r[29] + 0x00000010u;
|
|
/* 02BD9188 */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD918C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD9190 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BD9194 */ Gambit_fn_02BF5404(cpu);
|
|
/* 02BD9198 */ _t49 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9198 */ cpu->r[28] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD919C */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD919C */ cpu->r[29] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD91A0 */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD91A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD91A4 */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD91A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BD91A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD91AC */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD91AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BD91B0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD91B4 */ return;
|
|
L_02BD91B8: ; // 0x2bd91b8
|
|
/* 02BD91B8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD91BC */ Gambit_fn_02BF06B8(cpu);
|
|
/* 02BD91C0 */ cpu->r[31] = 0x00000000u;
|
|
L_02BD91C4: ; // 0x2bd91c4
|
|
/* 02BD91C4 */ _t54 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD91C4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BD91C8 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD91C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD91CC */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD91CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BD91D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD91D4 */ _t57 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD91D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD91D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD91DC */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD91DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BD91E0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD91E4 */ return;
|
|
}
|
|
|
|
// fn_02BD903C @ 0x2bd903c
|
|
void Gambit_fn_02BD903C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD903C: ; // 0x2bd903c
|
|
/* 02BD903C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BD903C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD903C */ cpu->r[1] = _t0;
|
|
/* 02BD9040 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD9040 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BD9044 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD9044 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD9048 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9048 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BD904C */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD904C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD9050 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD9050 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD9054 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BD9058 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD905C */ _t6 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD905C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD9060 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD9064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000001Fu);
|
|
/* 02BD9068 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BD906C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD906C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD906C */ if (_t8) goto L_02BD9070; else goto L_02BD90A0;
|
|
L_02BD9070: ; // 0x2bd9070
|
|
/* 02BD9070 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9074 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9078 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD907C */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD907C */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD9080 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD9080 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD9084 */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD9084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD9088 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD908C */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD908C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD9090 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9094 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD9094 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD9098 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD909C */ return;
|
|
L_02BD90A0: ; // 0x2bd90a0
|
|
/* 02BD90A0 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD90A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD90A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD90A8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD90A8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD90A8 */ if (_t16) goto L_02BD90BC; else goto L_02BD90AC;
|
|
L_02BD90AC: ; // 0x2bd90ac
|
|
/* 02BD90AC */ _t17 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02BD90AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BD90B0 */ cpu->r[0] = cpu->r[11] + 0x00000001u;
|
|
/* 02BD90B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD90B8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD90B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD90B8 */ if (_t19) goto L_02BD90EC; else goto L_02BD90BC;
|
|
L_02BD90BC: ; // 0x2bd90bc
|
|
/* 02BD90BC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD90C0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD90C4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD90C8 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD90C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD90CC */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD90CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD90D0 */ _t22 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD90D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD90D4 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD90D8 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD90D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD90DC */ cpu->lr = cpu->r[0];
|
|
/* 02BD90E0 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD90E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD90E4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD90E8 */ return;
|
|
L_02BD90EC: ; // 0x2bd90ec
|
|
/* 02BD90EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 02BD90F0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD90F0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BD90F0 */ if (_t26) goto L_02BD90F4; else goto L_02BD9124;
|
|
L_02BD90F4: ; // 0x2bd90f4
|
|
/* 02BD90F4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD90F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD90FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9100 */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9100 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD9104 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD9104 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD9108 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD9108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD910C */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD9110 */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD9110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD9114 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9118 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD9118 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD911C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD9120 */ return;
|
|
L_02BD9124: ; // 0x2bd9124
|
|
/* 02BD9124 */ _t32 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD9124 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD9128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[9]);
|
|
/* 02BD912C */ _t33 = cpu->r[29] + 0x00000020u;
|
|
/* 02BD912C */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD9130 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD9130 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BD9130 */ if (_t35) goto L_02BD9138; else goto L_02BD9134;
|
|
L_02BD9134: ; // 0x2bd9134
|
|
/* 02BD9134 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02BD9138: ; // 0x2bd9138
|
|
/* 02BD9138 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000070u);
|
|
/* 02BD913C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 02BD9140 */ cpu->r[28] = cpu->r[6] + cpu->r[0];
|
|
/* 02BD9144 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD9144 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BD9144 */ if (_t37) goto L_02BD9160; else goto L_02BD9148;
|
|
L_02BD9148: ; // 0x2bd9148
|
|
/* 02BD9148 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9148 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD9148 */ if (_t39) goto L_02BD91B8; else goto L_02BD914C;
|
|
L_02BD914C: ; // 0x2bd914c
|
|
/* 02BD914C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9150 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9154 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9158 */ cpu->r[31] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BD915C */ goto L_02BD91C4;
|
|
L_02BD9160: ; // 0x2bd9160
|
|
/* 02BD9160 */ _t40 = cpu->r[29] + 0x00000014u;
|
|
/* 02BD9160 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD9164 */ _t41 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02BD9164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BD9168 */ cpu->ctr = cpu->r[0];
|
|
/* 02BD916C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD9170 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD9174 */ _t42 = cpu->r[29] + 0x00000018u;
|
|
/* 02BD9174 */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD9178 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BD917C */ _t43 = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BD917C */ _t44 = cpu->r[31] & 0x0000FFFFu;
|
|
/* 02BD917C */ cpu->r[31] = _t44 | _t43;
|
|
/* 02BD9180 */ _t45 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD9180 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BD9184 */ _t46 = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02BD9184 */ _t47 = cpu->r[31] & 0xFFFF0000u;
|
|
/* 02BD9184 */ cpu->r[31] = _t47 | _t46;
|
|
/* 02BD9188 */ _t48 = cpu->r[29] + 0x00000010u;
|
|
/* 02BD9188 */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BD918C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD9190 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BD9194 */ Gambit_fn_02BF5404(cpu);
|
|
/* 02BD9198 */ _t49 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9198 */ cpu->r[28] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD919C */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD919C */ cpu->r[29] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD91A0 */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD91A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BD91A4 */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD91A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BD91A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD91AC */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD91AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BD91B0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD91B4 */ return;
|
|
L_02BD91B8: ; // 0x2bd91b8
|
|
/* 02BD91B8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD91BC */ Gambit_fn_02BF06B8(cpu);
|
|
/* 02BD91C0 */ cpu->r[31] = 0x00000000u;
|
|
L_02BD91C4: ; // 0x2bd91c4
|
|
/* 02BD91C4 */ _t54 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD91C4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BD91C8 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD91C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BD91CC */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD91CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BD91D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD91D4 */ _t57 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD91D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BD91D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD91DC */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD91DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BD91E0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD91E4 */ return;
|
|
}
|
|
|
|
// fn_02BD91E8 @ 0x2bd91e8
|
|
void Gambit_fn_02BD91E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD91E8: ; // 0x2bd91e8
|
|
/* 02BD91E8 */ _t0 = cpu->r[1] + 0xFFFFFEF0u;
|
|
/* 02BD91E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD91E8 */ cpu->r[1] = _t0;
|
|
/* 02BD91EC */ /* nop */
|
|
/* 02BD91F0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD91F4 */ _t1 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD91F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD91F8 */ cpu->r[29] = cpu->r[8];
|
|
/* 02BD91FC */ cpu->r[31] = cpu->r[6];
|
|
/* 02BD9200 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BD9204 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BD9208 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD920C */ _t2 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BD920C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD9210 */ cpu->r[26] = cpu->r[4];
|
|
/* 02BD9214 */ _t3 = cpu->r[27] + 0x00000018u;
|
|
/* 02BD9214 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD9218 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD921C */ _t4 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD921C */ cpu->r[18] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD9220 */ cpu->r[28] = cpu->r[7];
|
|
/* 02BD9224 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD9228 */ _t5 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD9228 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD922C */ cpu->r[3] = cpu->r[18];
|
|
/* 02BD9230 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD9230 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BD9234 */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD9238 */ cpu->r[17] = cpu->r[3];
|
|
/* 02BD923C */ cpu->r[0] = rbrew_rlwinm(cpu->r[17], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD923C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD9240 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9240 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD9240 */ if (_t8) goto L_02BD925C; else goto L_02BD9244;
|
|
L_02BD9244: ; // 0x2bd9244
|
|
/* 02BD9244 */ cpu->r[3] = cpu->r[17];
|
|
/* 02BD9248 */ /* nop */
|
|
/* 02BD924C */ _t9 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD924C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD9250 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9254 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02BD9258 */ return;
|
|
L_02BD925C: ; // 0x2bd925c
|
|
/* 02BD925C */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD925C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD9260 */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD9260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BD9264 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9264 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02BD9268 */ cpu->r[6] = 0x00000003u;
|
|
/* 02BD926C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD926C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BD9270 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD9274 */ cpu->r[3] = cpu->r[27] + 0x0000002Au;
|
|
/* 02BD9278 */ _t14 = cpu->r[27] + 0x00000029u;
|
|
/* 02BD9278 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[26]);
|
|
/* 02BD927C */ cpu->r[19] = cpu->r[27] + 0x00000028u;
|
|
/* 02BD9280 */ _t15 = cpu->r[27] + 0x00000028u;
|
|
/* 02BD9280 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[6]);
|
|
/* 02BD9284 */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BD9288 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BD928C */ cpu->r[3] = cpu->r[27] + 0x0000002Eu;
|
|
/* 02BD9290 */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BD9294 */ cpu->r[6] = 0x000000F6u;
|
|
/* 02BD9298 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD929C */ cpu->r[5] = cpu->r[27] + 0x00000032u;
|
|
/* 02BD92A0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD92A4 */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BD92A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD92AC */ cpu->r[20] = cpu->r[3] + 0x0000000Au;
|
|
/* 02BD92B0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD92B0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BD92B0 */ if (_t17) goto L_02BD92C4; else goto L_02BD92B4;
|
|
L_02BD92B4: ; // 0x2bd92b4
|
|
/* 02BD92B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD92B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD92B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD92B8 */ if (_t19) goto L_02BD92C4; else goto L_02BD92BC;
|
|
L_02BD92BC: ; // 0x2bd92bc
|
|
/* 02BD92BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD92C0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD92C0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD92C0 */ if (_t21) goto L_02BD92C4; else goto L_02BD92EC;
|
|
L_02BD92C4: ; // 0x2bd92c4
|
|
/* 02BD92C4 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02BD92C8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD92CC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD92D0 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD92D4 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD92D8 */ /* nop */
|
|
/* 02BD92DC */ _t22 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD92DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD92E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD92E4 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02BD92E8 */ return;
|
|
L_02BD92EC: ; // 0x2bd92ec
|
|
/* 02BD92EC */ cpu->r[5] = 0x00000008u;
|
|
/* 02BD92F0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD92F4 */ cpu->ctr = cpu->r[5];
|
|
/* 02BD92F8 */ cpu->r[12] = cpu->r[1] + 0x00000044u;
|
|
L_02BD92FC: ; // 0x2bd92fc
|
|
/* 02BD92FC */ _t23 = cpu->r[12] + 0x00000004u;
|
|
/* 02BD92FC */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02BD9300 */ _t24 = cpu->r[12] + 0x00000008u;
|
|
/* 02BD9300 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02BD9304 */ _t25 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BD9304 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02BD9308 */ _t26 = cpu->r[12] + 0x00000010u;
|
|
/* 02BD9308 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02BD9308 */ cpu->r[12] = _t26;
|
|
/* 02BD930C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD930C */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD930C */ _t28 = _t27 >> (0x00000002u & 31u);
|
|
/* 02BD930C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD930C */ if (_t29) goto L_02BD92FC; else goto L_02BD9310;
|
|
L_02BD9310: ; // 0x2bd9310
|
|
/* 02BD9310 */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BD9314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD9318 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD931C */ cpu->r[31] = cpu->r[31] + 0xFFFF8C2Cu;
|
|
/* 02BD9320 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9320 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD9320 */ if (_t31) goto L_02BD94F8; else goto L_02BD9324;
|
|
L_02BD9324: ; // 0x2bd9324
|
|
/* 02BD9324 */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BD9328 */ cpu->r[16] = 0xDD240000u;
|
|
/* 02BD932C */ cpu->r[15] = cpu->r[1] + 0x00000048u;
|
|
/* 02BD9330 */ cpu->r[31] = cpu->r[31] + 0xFFFF8C2Cu;
|
|
/* 02BD9334 */ cpu->r[16] = cpu->r[16] + 0xFFFF942Bu;
|
|
/* 02BD9338 */ cpu->r[21] = 0x101D0000u;
|
|
/* 02BD933C */ cpu->r[22] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9340 */ cpu->r[23] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD9344 */ cpu->r[24] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9348 */ cpu->r[25] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD934C */ cpu->r[26] = cpu->r[1] + 0x0000003Cu;
|
|
L_02BD9350: ; // 0x2bd9350
|
|
/* 02BD9350 */ _t32 = cpu->r[28] + 0x00000000u;
|
|
/* 02BD9350 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD9354 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD9358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02BD935C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD935C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BD935C */ if (_t35) goto L_02BD9360; else goto L_02BD9370;
|
|
L_02BD9360: ; // 0x2bd9360
|
|
/* 02BD9360 */ _t36 = cpu->r[28] + 0x00000004u;
|
|
/* 02BD9360 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD9364 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD9368 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02BD936C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD936C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD936C */ if (_t39) goto L_02BD94E4; else goto L_02BD9370;
|
|
L_02BD9370: ; // 0x2bd9370
|
|
/* 02BD9370 */ _t40 = cpu->r[28] + 0x00000000u;
|
|
/* 02BD9370 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD9374 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD9378 */ _t41 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD9378 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 02BD937C */ _t42 = cpu->r[28] + 0x00000004u;
|
|
/* 02BD937C */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD9380 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD9384 */ cpu->r[3] = cpu->r[18];
|
|
/* 02BD9388 */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD9388 */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 02BD938C */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD9390 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD9390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BD9394 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9394 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BD9394 */ if (_t45) goto L_02BD9398; else goto L_02BD94E4;
|
|
L_02BD9398: ; // 0x2bd9398
|
|
/* 02BD9398 */ _t46 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD9398 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD939C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000020u);
|
|
/* 02BD93A0 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD93A0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BD93A0 */ if (_t48) goto L_02BD94E4; else goto L_02BD93A4;
|
|
L_02BD93A4: ; // 0x2bd93a4
|
|
/* 02BD93A4 */ _t49 = cpu->r[27] + 0x00000018u;
|
|
/* 02BD93A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD93A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02BD93AC */ _t50 = cpu->r[27] + 0x00000020u;
|
|
/* 02BD93AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD93B0 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD93B0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BD93B0 */ if (_t52) goto L_02BD93B8; else goto L_02BD93B4;
|
|
L_02BD93B4: ; // 0x2bd93b4
|
|
/* 02BD93B4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02BD93B8: ; // 0x2bd93b8
|
|
/* 02BD93B8 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000070u);
|
|
/* 02BD93BC */ cpu->r[17] = cpu->r[7] + cpu->r[5];
|
|
/* 02BD93C0 */ cpu->r[3] = cpu->r[17];
|
|
/* 02BD93C4 */ _t53 = cpu->r[15] + 0x00000000u;
|
|
/* 02BD93C4 */ rbrew_write32(cpu->mem, _t53, cpu->r[17]);
|
|
/* 02BD93C8 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD93CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD93D0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD93D0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BD93D0 */ if (_t55) goto L_02BD93D4; else goto L_02BD9408;
|
|
L_02BD93D4: ; // 0x2bd93d4
|
|
/* 02BD93D4 */ cpu->r[3] = cpu->r[24];
|
|
/* 02BD93D8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD93DC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD93E0 */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD93E0 */ rbrew_write32(cpu->mem, _t56, cpu->r[16]);
|
|
/* 02BD93E4 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BD93E8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD93EC */ cpu->r[17] = cpu->r[16];
|
|
/* 02BD93F0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD93F4 */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD93F4 */ rbrew_write32(cpu->mem, _t57, cpu->r[16]);
|
|
/* 02BD93F8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02BD93F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD93FC */ cpu->r[28] = cpu->r[28] + 0x00000008u;
|
|
/* 02BD9400 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9400 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BD9400 */ if (_t59) goto L_02BD9404; else goto L_02BD9350;
|
|
L_02BD9404: ; // 0x2bd9404
|
|
/* 02BD9404 */ goto L_02BD94F0;
|
|
L_02BD9408: ; // 0x2bd9408
|
|
/* 02BD9408 */ cpu->r[3] = cpu->r[17];
|
|
/* 02BD940C */ cpu->r[4] = cpu->r[20];
|
|
/* 02BD9410 */ Gambit_fn_02BF58DC(cpu);
|
|
/* 02BD9414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD9418 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9418 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BD9418 */ if (_t61) goto L_02BD941C; else goto L_02BD9478;
|
|
L_02BD941C: ; // 0x2bd941c
|
|
/* 02BD941C */ _t62 = cpu->r[17] + 0x00000068u;
|
|
/* 02BD941C */ cpu->r[5] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BD9420 */ _t63 = cpu->r[5] + 0x00000014u;
|
|
/* 02BD9420 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BD9424 */ cpu->ctr = cpu->r[7];
|
|
/* 02BD9428 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD942C */ cpu->r[6] = 0x40000000u;
|
|
/* 02BD9430 */ cpu->r[3] = cpu->r[17];
|
|
/* 02BD9434 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD9438 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD943C */ cpu->r[3] = cpu->r[23];
|
|
/* 02BD9440 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9444 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BD9448 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD944C */ cpu->r[17] = cpu->r[31];
|
|
/* 02BD9450 */ _t64 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD9450 */ rbrew_write32(cpu->mem, _t64, cpu->r[31]);
|
|
/* 02BD9454 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9458 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BD945C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9460 */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9460 */ rbrew_write32(cpu->mem, _t65, cpu->r[16]);
|
|
/* 02BD9464 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9468 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[31]);
|
|
/* 02BD946C */ _t66 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD946C */ rbrew_write32(cpu->mem, _t66, cpu->r[31]);
|
|
/* 02BD9470 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9470 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BD9470 */ if (_t68) goto L_02BD9474; else goto L_02BD94C8;
|
|
L_02BD9474: ; // 0x2bd9474
|
|
/* 02BD9474 */ goto L_02BD94A4;
|
|
L_02BD9478: ; // 0x2bd9478
|
|
/* 02BD9478 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BD947C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9480 */ cpu->r[17] = 0x00000000u;
|
|
/* 02BD9484 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9488 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BD948C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9490 */ _t69 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9490 */ rbrew_write32(cpu->mem, _t69, cpu->r[16]);
|
|
/* 02BD9494 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9498 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[31]);
|
|
/* 02BD949C */ _t70 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD949C */ rbrew_write32(cpu->mem, _t70, cpu->r[31]);
|
|
/* 02BD94A0 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD94A0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02BD94A0 */ if (_t72) goto L_02BD94A4; else goto L_02BD94C8;
|
|
L_02BD94A4: ; // 0x2bd94a4
|
|
/* 02BD94A4 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BD94A8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD94AC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD94B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD94B4 */ /* nop */
|
|
/* 02BD94B8 */ _t73 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD94B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BD94BC */ cpu->lr = cpu->r[0];
|
|
/* 02BD94C0 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02BD94C4 */ return;
|
|
L_02BD94C8: ; // 0x2bd94c8
|
|
/* 02BD94C8 */ _t74 = cpu->r[21] + 0xFFFFB774u;
|
|
/* 02BD94C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BD94CC */ cpu->r[4] = cpu->r[28];
|
|
/* 02BD94D0 */ _t75 = cpu->r[9] + 0x00000068u;
|
|
/* 02BD94D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BD94D4 */ cpu->r[5] = 0x00000001u;
|
|
/* 02BD94D8 */ Gambit_fn_02BDB95C(cpu);
|
|
/* 02BD94DC */ cpu->r[15] = cpu->r[15] + 0x00000004u;
|
|
/* 02BD94E0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02BD94E4: ; // 0x2bd94e4
|
|
/* 02BD94E4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02BD94E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD94E8 */ cpu->r[28] = cpu->r[28] + 0x00000008u;
|
|
/* 02BD94EC */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD94EC */ _t77 = _t76 & 0x00000001u;
|
|
/* 02BD94EC */ if (_t77) goto L_02BD94F0; else goto L_02BD9350;
|
|
L_02BD94F0: ; // 0x2bd94f0
|
|
/* 02BD94F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD94F4 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD94F4 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02BD94F4 */ if (_t79) goto L_02BD94F8; else goto L_02BD951C;
|
|
L_02BD94F8: ; // 0x2bd94f8
|
|
/* 02BD94F8 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD94FC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9500 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9504 */ cpu->r[3] = cpu->r[31] + 0x000003FDu;
|
|
/* 02BD9508 */ /* nop */
|
|
/* 02BD950C */ _t80 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD950C */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BD9510 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9514 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02BD9518 */ return;
|
|
L_02BD951C: ; // 0x2bd951c
|
|
/* 02BD951C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD9520 */ cpu->r[28] = 0x00000000u;
|
|
/* 02BD9524 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9524 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02BD9524 */ if (_t82) goto L_02BD9570; else goto L_02BD9528;
|
|
L_02BD9528: ; // 0x2bd9528
|
|
/* 02BD9528 */ cpu->r[29] = cpu->r[1] + 0x00000044u;
|
|
L_02BD952C: ; // 0x2bd952c
|
|
/* 02BD952C */ _t83 = cpu->r[29] + 0x00000004u;
|
|
/* 02BD952C */ cpu->r[3] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BD952C */ cpu->r[29] = _t83;
|
|
/* 02BD9530 */ cpu->r[4] = cpu->r[19];
|
|
/* 02BD9534 */ cpu->r[5] = cpu->r[20];
|
|
/* 02BD9538 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BD953C */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD953C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD9540 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9540 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02BD9540 */ if (_t85) goto L_02BD9544; else goto L_02BD9548;
|
|
L_02BD9544: ; // 0x2bd9544
|
|
/* 02BD9544 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
L_02BD9548: ; // 0x2bd9548
|
|
/* 02BD9548 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BD9548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD954C */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD954C */ _t87 = _t86 & 0x00000001u;
|
|
/* 02BD954C */ if (_t87) goto L_02BD9550; else goto L_02BD952C;
|
|
L_02BD9550: ; // 0x2bd9550
|
|
/* 02BD9550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BD9554 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9554 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02BD9554 */ if (_t89) goto L_02BD9570; else goto L_02BD9558;
|
|
L_02BD9558: ; // 0x2bd9558
|
|
/* 02BD9558 */ /* nop */
|
|
/* 02BD955C */ _t90 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD955C */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BD9560 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9564 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02BD9568 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD956C */ return;
|
|
L_02BD9570: ; // 0x2bd9570
|
|
/* 02BD9570 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 02BD9574 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9578 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD957C */ cpu->r[3] = cpu->r[31] + 0x000007F9u;
|
|
/* 02BD9580 */ /* nop */
|
|
/* 02BD9584 */ _t91 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD9584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BD9588 */ cpu->lr = cpu->r[0];
|
|
/* 02BD958C */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02BD9590 */ return;
|
|
}
|
|
|
|
// fn_02BD9594 @ 0x2bd9594
|
|
void Gambit_fn_02BD9594(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD9594: ; // 0x2bd9594
|
|
/* 02BD9594 */ _t0 = cpu->r[1] + 0xFFFFFEF0u;
|
|
/* 02BD9594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD9594 */ cpu->r[1] = _t0;
|
|
/* 02BD9598 */ /* nop */
|
|
/* 02BD959C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD95A0 */ cpu->r[27] = cpu->r[7];
|
|
/* 02BD95A4 */ cpu->r[30] = cpu->r[10];
|
|
/* 02BD95A8 */ cpu->r[15] = cpu->r[3] + 0x00000028u;
|
|
/* 02BD95AC */ cpu->r[21] = cpu->r[8];
|
|
/* 02BD95B0 */ cpu->r[26] = cpu->r[6];
|
|
/* 02BD95B4 */ _t1 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD95B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD95B8 */ cpu->r[29] = cpu->r[9];
|
|
/* 02BD95BC */ cpu->r[6] = 0x000000FEu;
|
|
/* 02BD95C0 */ _t2 = cpu->r[3] + 0x00000028u;
|
|
/* 02BD95C0 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[4]);
|
|
/* 02BD95C4 */ cpu->r[4] = cpu->r[21];
|
|
/* 02BD95C8 */ _t3 = cpu->r[3] + 0x00000029u;
|
|
/* 02BD95C8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[5]);
|
|
/* 02BD95CC */ cpu->r[5] = cpu->r[3] + 0x0000002Au;
|
|
/* 02BD95D0 */ cpu->r[19] = cpu->r[3];
|
|
/* 02BD95D4 */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BD95D8 */ cpu->r[16] = cpu->r[3] + 0x00000002u;
|
|
/* 02BD95DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD95E0 */ _t4 = cpu->r[15] + cpu->r[16];
|
|
/* 02BD95E0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02BD95E4 */ cpu->r[16] = cpu->r[16] + 0x00000001u;
|
|
/* 02BD95E8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD95E8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD95E8 */ if (_t6) goto L_02BD95F4; else goto L_02BD95EC;
|
|
L_02BD95EC: ; // 0x2bd95ec
|
|
/* 02BD95EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000020u);
|
|
/* 02BD95F0 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD95F0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD95F0 */ if (_t8) goto L_02BD95F4; else goto L_02BD961C;
|
|
L_02BD95F4: ; // 0x2bd95f4
|
|
/* 02BD95F4 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02BD95F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD95FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9600 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD9604 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BD9608 */ /* nop */
|
|
/* 02BD960C */ _t9 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD960C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD9610 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9614 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02BD9618 */ return;
|
|
L_02BD961C: ; // 0x2bd961c
|
|
/* 02BD961C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BD9620 */ cpu->r[28] = cpu->r[27];
|
|
/* 02BD9624 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9624 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BD9624 */ if (_t11) goto L_02BD9688; else goto L_02BD9628;
|
|
L_02BD9628: ; // 0x2bd9628
|
|
/* 02BD9628 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BD962C */ cpu->r[24] = cpu->r[26];
|
|
/* 02BD9630 */ cpu->r[25] = cpu->r[1] + 0x00000034u;
|
|
/* 02BD9634 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
L_02BD9638: ; // 0x2bd9638
|
|
/* 02BD9638 */ cpu->r[6] = 0x00000100u - cpu->r[16];
|
|
/* 02BD963C */ cpu->r[5] = cpu->r[15] + cpu->r[16];
|
|
/* 02BD9640 */ cpu->r[4] = cpu->r[24];
|
|
/* 02BD9644 */ cpu->r[3] = cpu->r[19];
|
|
/* 02BD9648 */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BD964C */ cpu->r[11] = cpu->r[3];
|
|
/* 02BD964C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BD9650 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9650 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BD9650 */ if (_t13) goto L_02BD9654; else goto L_02BD9678;
|
|
L_02BD9654: ; // 0x2bd9654
|
|
/* 02BD9654 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BD9658 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD965C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9660 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD9664 */ /* nop */
|
|
/* 02BD9668 */ _t14 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD9668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD966C */ cpu->lr = cpu->r[0];
|
|
/* 02BD9670 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02BD9674 */ return;
|
|
L_02BD9678: ; // 0x2bd9678
|
|
/* 02BD9678 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02BD9678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BD967C */ cpu->r[24] = cpu->r[24] + 0x00000008u;
|
|
/* 02BD9680 */ cpu->r[16] = cpu->r[16] + cpu->r[11];
|
|
/* 02BD9684 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9684 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BD9684 */ if (_t16) goto L_02BD9688; else goto L_02BD9638;
|
|
L_02BD9688: ; // 0x2bd9688
|
|
/* 02BD9688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD968C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD968C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BD968C */ if (_t18) goto L_02BD9690; else goto L_02BD9698;
|
|
L_02BD9690: ; // 0x2bd9690
|
|
/* 02BD9690 */ cpu->r[30] = cpu->r[27];
|
|
/* 02BD9694 */ cpu->r[29] = cpu->r[26];
|
|
L_02BD9698: ; // 0x2bd9698
|
|
/* 02BD9698 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BD969C */ cpu->r[5] = 0x00000008u;
|
|
/* 02BD96A0 */ _t19 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BD96A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BD96A4 */ cpu->ctr = cpu->r[5];
|
|
/* 02BD96A8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD96AC */ _t20 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BD96AC */ cpu->r[18] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD96B0 */ _t21 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD96B0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02BD96B4 */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD96B8 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD96B8 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_02BD96BC: ; // 0x2bd96bc
|
|
/* 02BD96BC */ _t23 = cpu->r[4] + 0x00000004u;
|
|
/* 02BD96BC */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02BD96C0 */ _t24 = cpu->r[4] + 0x00000008u;
|
|
/* 02BD96C0 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02BD96C4 */ _t25 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02BD96C4 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02BD96C8 */ _t26 = cpu->r[4] + 0x00000010u;
|
|
/* 02BD96C8 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02BD96C8 */ cpu->r[4] = _t26;
|
|
/* 02BD96CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD96CC */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD96CC */ _t28 = _t27 >> (0x00000002u & 31u);
|
|
/* 02BD96CC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD96CC */ if (_t29) goto L_02BD96BC; else goto L_02BD96D0;
|
|
L_02BD96D0: ; // 0x2bd96d0
|
|
/* 02BD96D0 */ cpu->r[20] = 0x00000000u;
|
|
/* 02BD96D4 */ cpu->r[23] = 0xFD230000u;
|
|
/* 02BD96D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD96DC */ cpu->r[22] = cpu->r[30];
|
|
/* 02BD96E0 */ cpu->r[23] = cpu->r[23] + 0xFFFF8C2Cu;
|
|
/* 02BD96E4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD96E4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BD96E4 */ if (_t31) goto L_02BD98C4; else goto L_02BD96E8;
|
|
L_02BD96E8: ; // 0x2bd96e8
|
|
/* 02BD96E8 */ cpu->r[23] = 0xFD230000u;
|
|
/* 02BD96EC */ cpu->r[24] = 0xDD240000u;
|
|
/* 02BD96F0 */ cpu->r[25] = cpu->r[29];
|
|
/* 02BD96F4 */ cpu->r[26] = cpu->r[1] + 0x00000044u;
|
|
/* 02BD96F8 */ cpu->r[23] = cpu->r[23] + 0xFFFF8C2Cu;
|
|
/* 02BD96FC */ cpu->r[24] = cpu->r[24] + 0xFFFF942Bu;
|
|
/* 02BD9700 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BD9704 */ cpu->r[28] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9708 */ cpu->r[29] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD970C */ cpu->r[30] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9710 */ cpu->r[31] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9714 */ cpu->r[14] = cpu->r[1] + 0x00000038u;
|
|
L_02BD9718: ; // 0x2bd9718
|
|
/* 02BD9718 */ _t32 = cpu->r[21] + 0x00000000u;
|
|
/* 02BD9718 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD971C */ cpu->r[12] = cpu->r[25];
|
|
/* 02BD9720 */ _t33 = cpu->r[12] + 0x00000000u;
|
|
/* 02BD9720 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD9724 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02BD9728 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9728 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BD9728 */ if (_t35) goto L_02BD972C; else goto L_02BD973C;
|
|
L_02BD972C: ; // 0x2bd972c
|
|
/* 02BD972C */ _t36 = cpu->r[12] + 0x00000004u;
|
|
/* 02BD972C */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD9730 */ _t37 = cpu->r[21] + 0x00000004u;
|
|
/* 02BD9730 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD9734 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BD9738 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9738 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BD9738 */ if (_t39) goto L_02BD98B0; else goto L_02BD973C;
|
|
L_02BD973C: ; // 0x2bd973c
|
|
/* 02BD973C */ _t40 = cpu->r[25] + 0x00000000u;
|
|
/* 02BD973C */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD9740 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9744 */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9744 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 02BD9748 */ _t42 = cpu->r[25] + 0x00000004u;
|
|
/* 02BD9748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BD974C */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD9750 */ cpu->r[3] = cpu->r[18];
|
|
/* 02BD9754 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD9754 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02BD9758 */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD975C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD975C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD9760 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9760 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BD9760 */ if (_t45) goto L_02BD9764; else goto L_02BD98B0;
|
|
L_02BD9764: ; // 0x2bd9764
|
|
/* 02BD9764 */ _t46 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD9764 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BD9768 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000020u);
|
|
/* 02BD976C */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD976C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BD976C */ if (_t48) goto L_02BD98B0; else goto L_02BD9770;
|
|
L_02BD9770: ; // 0x2bd9770
|
|
/* 02BD9770 */ _t49 = cpu->r[19] + 0x00000018u;
|
|
/* 02BD9770 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BD9774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[5]);
|
|
/* 02BD9778 */ _t50 = cpu->r[19] + 0x00000020u;
|
|
/* 02BD9778 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BD977C */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD977C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BD977C */ if (_t52) goto L_02BD9784; else goto L_02BD9780;
|
|
L_02BD9780: ; // 0x2bd9780
|
|
/* 02BD9780 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02BD9784: ; // 0x2bd9784
|
|
/* 02BD9784 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000070u);
|
|
/* 02BD9788 */ cpu->r[17] = cpu->r[7] + cpu->r[0];
|
|
/* 02BD978C */ cpu->r[3] = cpu->r[17];
|
|
/* 02BD9790 */ _t53 = cpu->r[26] + 0x00000000u;
|
|
/* 02BD9790 */ rbrew_write32(cpu->mem, _t53, cpu->r[17]);
|
|
/* 02BD9794 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD9798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD979C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD979C */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BD979C */ if (_t55) goto L_02BD97A0; else goto L_02BD97D4;
|
|
L_02BD97A0: ; // 0x2bd97a0
|
|
/* 02BD97A0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD97A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD97A8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD97AC */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD97B0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD97B4 */ cpu->r[17] = cpu->r[24];
|
|
/* 02BD97B8 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD97B8 */ rbrew_write32(cpu->mem, _t56, cpu->r[24]);
|
|
/* 02BD97BC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD97C0 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02BD97C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BD97C4 */ cpu->r[25] = cpu->r[25] + 0x00000008u;
|
|
/* 02BD97C8 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD97C8 */ rbrew_write32(cpu->mem, _t57, cpu->r[24]);
|
|
/* 02BD97CC */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD97CC */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BD97CC */ if (_t59) goto L_02BD97D0; else goto L_02BD9718;
|
|
L_02BD97D0: ; // 0x2bd97d0
|
|
/* 02BD97D0 */ goto L_02BD98BC;
|
|
L_02BD97D4: ; // 0x2bd97d4
|
|
/* 02BD97D4 */ cpu->r[3] = cpu->r[17];
|
|
/* 02BD97D8 */ cpu->r[4] = cpu->r[16];
|
|
/* 02BD97DC */ Gambit_fn_02BF58DC(cpu);
|
|
/* 02BD97E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD97E4 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD97E4 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BD97E4 */ if (_t61) goto L_02BD97E8; else goto L_02BD9844;
|
|
L_02BD97E8: ; // 0x2bd97e8
|
|
/* 02BD97E8 */ _t62 = cpu->r[17] + 0x00000068u;
|
|
/* 02BD97E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BD97EC */ _t63 = cpu->r[10] + 0x00000014u;
|
|
/* 02BD97EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BD97F0 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD97F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD97F8 */ cpu->r[6] = 0x40000000u;
|
|
/* 02BD97FC */ cpu->r[3] = cpu->r[17];
|
|
/* 02BD9800 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD9804 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9808 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BD980C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9810 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD9814 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9818 */ cpu->r[17] = cpu->r[23];
|
|
/* 02BD981C */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD981C */ rbrew_write32(cpu->mem, _t64, cpu->r[23]);
|
|
/* 02BD9820 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9824 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD9828 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD982C */ _t65 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD982C */ rbrew_write32(cpu->mem, _t65, cpu->r[24]);
|
|
/* 02BD9830 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9834 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[23]);
|
|
/* 02BD9838 */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9838 */ rbrew_write32(cpu->mem, _t66, cpu->r[23]);
|
|
/* 02BD983C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD983C */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BD983C */ if (_t68) goto L_02BD9840; else goto L_02BD9894;
|
|
L_02BD9840: ; // 0x2bd9840
|
|
/* 02BD9840 */ goto L_02BD9870;
|
|
L_02BD9844: ; // 0x2bd9844
|
|
/* 02BD9844 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD9848 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD984C */ cpu->r[17] = 0x00000000u;
|
|
/* 02BD9850 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9854 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD9858 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD985C */ _t69 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD985C */ rbrew_write32(cpu->mem, _t69, cpu->r[24]);
|
|
/* 02BD9860 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[23]);
|
|
/* 02BD9868 */ _t70 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9868 */ rbrew_write32(cpu->mem, _t70, cpu->r[23]);
|
|
/* 02BD986C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD986C */ _t72 = _t71 & 0x00000001u;
|
|
/* 02BD986C */ if (_t72) goto L_02BD9870; else goto L_02BD9894;
|
|
L_02BD9870: ; // 0x2bd9870
|
|
/* 02BD9870 */ cpu->r[3] = cpu->r[14];
|
|
/* 02BD9874 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9878 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD987C */ cpu->r[3] = cpu->r[23];
|
|
/* 02BD9880 */ /* nop */
|
|
/* 02BD9884 */ _t73 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD9884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BD9888 */ cpu->lr = cpu->r[0];
|
|
/* 02BD988C */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02BD9890 */ return;
|
|
L_02BD9894: ; // 0x2bd9894
|
|
/* 02BD9894 */ _t74 = cpu->r[27] + 0xFFFFB774u;
|
|
/* 02BD9894 */ cpu->r[12] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BD9898 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BD989C */ _t75 = cpu->r[12] + 0x00000068u;
|
|
/* 02BD989C */ cpu->r[3] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BD98A0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02BD98A4 */ Gambit_fn_02BDB95C(cpu);
|
|
/* 02BD98A8 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02BD98AC */ cpu->r[20] = cpu->r[20] + 0x00000001u;
|
|
L_02BD98B0: ; // 0x2bd98b0
|
|
/* 02BD98B0 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02BD98B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BD98B4 */ cpu->r[25] = cpu->r[25] + 0x00000008u;
|
|
/* 02BD98B8 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD98B8 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02BD98B8 */ if (_t77) goto L_02BD98BC; else goto L_02BD9718;
|
|
L_02BD98BC: ; // 0x2bd98bc
|
|
/* 02BD98BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02BD98C0 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD98C0 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02BD98C0 */ if (_t79) goto L_02BD98C4; else goto L_02BD98E8;
|
|
L_02BD98C4: ; // 0x2bd98c4
|
|
/* 02BD98C4 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD98C8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD98CC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD98D0 */ cpu->r[3] = cpu->r[23] + 0x000003FDu;
|
|
/* 02BD98D4 */ /* nop */
|
|
/* 02BD98D8 */ _t80 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD98D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BD98DC */ cpu->lr = cpu->r[0];
|
|
/* 02BD98E0 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02BD98E4 */ return;
|
|
L_02BD98E8: ; // 0x2bd98e8
|
|
/* 02BD98E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02BD98EC */ cpu->r[31] = cpu->r[20];
|
|
/* 02BD98F0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BD98F4 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD98F4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02BD98F4 */ if (_t82) goto L_02BD9940; else goto L_02BD98F8;
|
|
L_02BD98F8: ; // 0x2bd98f8
|
|
/* 02BD98F8 */ cpu->r[30] = cpu->r[1] + 0x00000040u;
|
|
L_02BD98FC: ; // 0x2bd98fc
|
|
/* 02BD98FC */ _t83 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD98FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BD98FC */ cpu->r[30] = _t83;
|
|
/* 02BD9900 */ cpu->r[4] = cpu->r[15];
|
|
/* 02BD9904 */ cpu->r[5] = cpu->r[16];
|
|
/* 02BD9908 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BD990C */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD990C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD9910 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9910 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02BD9910 */ if (_t85) goto L_02BD9914; else goto L_02BD9918;
|
|
L_02BD9914: ; // 0x2bd9914
|
|
/* 02BD9914 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_02BD9918: ; // 0x2bd9918
|
|
/* 02BD9918 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BD9918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BD991C */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD991C */ _t87 = _t86 & 0x00000001u;
|
|
/* 02BD991C */ if (_t87) goto L_02BD9920; else goto L_02BD98FC;
|
|
L_02BD9920: ; // 0x2bd9920
|
|
/* 02BD9920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD9924 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9924 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02BD9924 */ if (_t89) goto L_02BD9940; else goto L_02BD9928;
|
|
L_02BD9928: ; // 0x2bd9928
|
|
/* 02BD9928 */ /* nop */
|
|
/* 02BD992C */ _t90 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD992C */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BD9930 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9934 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02BD9938 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BD993C */ return;
|
|
L_02BD9940: ; // 0x2bd9940
|
|
/* 02BD9940 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD9944 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9948 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD994C */ cpu->r[3] = cpu->r[23] + 0x000007F9u;
|
|
/* 02BD9950 */ /* nop */
|
|
/* 02BD9954 */ _t91 = cpu->r[1] + 0x00000114u;
|
|
/* 02BD9954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BD9958 */ cpu->lr = cpu->r[0];
|
|
/* 02BD995C */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02BD9960 */ return;
|
|
}
|
|
|
|
// fn_02BD9964 @ 0x2bd9964
|
|
void Gambit_fn_02BD9964(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BD9964: ; // 0x2bd9964
|
|
/* 02BD9964 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD9968 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD9968 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD9968 */ cpu->r[1] = _t0;
|
|
/* 02BD996C */ cpu->r[12] = cpu->r[6];
|
|
/* 02BD9970 */ cpu->r[6] = cpu->r[5];
|
|
/* 02BD9974 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD9978 */ cpu->r[10] = cpu->r[9];
|
|
/* 02BD997C */ cpu->r[9] = cpu->r[8];
|
|
/* 02BD9980 */ cpu->r[8] = cpu->r[7];
|
|
/* 02BD9984 */ cpu->r[7] = cpu->r[12];
|
|
/* 02BD9988 */ cpu->r[4] = 0x00000006u;
|
|
/* 02BD998C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD998C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD9990 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9990 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD9994 */ Gambit_fn_02BD9594(cpu);
|
|
/* 02BD9998 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD999C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD999C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD99A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD99A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD99A8 */ return;
|
|
}
|
|
|
|
// fn_02BD9968 @ 0x2bd9968
|
|
void Gambit_fn_02BD9968(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BD9968: ; // 0x2bd9968
|
|
/* 02BD9968 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD9968 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD9968 */ cpu->r[1] = _t0;
|
|
/* 02BD996C */ cpu->r[12] = cpu->r[6];
|
|
/* 02BD9970 */ cpu->r[6] = cpu->r[5];
|
|
/* 02BD9974 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD9978 */ cpu->r[10] = cpu->r[9];
|
|
/* 02BD997C */ cpu->r[9] = cpu->r[8];
|
|
/* 02BD9980 */ cpu->r[8] = cpu->r[7];
|
|
/* 02BD9984 */ cpu->r[7] = cpu->r[12];
|
|
/* 02BD9988 */ cpu->r[4] = 0x00000006u;
|
|
/* 02BD998C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD998C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD9990 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9990 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD9994 */ Gambit_fn_02BD9594(cpu);
|
|
/* 02BD9998 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD999C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD999C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD99A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD99A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD99A8 */ return;
|
|
}
|
|
|
|
// fn_02BD99AC @ 0x2bd99ac
|
|
void Gambit_fn_02BD99AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BD99AC: ; // 0x2bd99ac
|
|
/* 02BD99AC */ cpu->r[0] = cpu->lr;
|
|
/* 02BD99B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD99B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD99B0 */ cpu->r[1] = _t0;
|
|
/* 02BD99B4 */ cpu->r[12] = cpu->r[6];
|
|
/* 02BD99B8 */ cpu->r[6] = cpu->r[5];
|
|
/* 02BD99BC */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD99C0 */ cpu->r[10] = cpu->r[9];
|
|
/* 02BD99C4 */ cpu->r[9] = cpu->r[8];
|
|
/* 02BD99C8 */ cpu->r[8] = cpu->r[7];
|
|
/* 02BD99CC */ cpu->r[7] = cpu->r[12];
|
|
/* 02BD99D0 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD99D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD99D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD99D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD99D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD99DC */ Gambit_fn_02BD9594(cpu);
|
|
/* 02BD99E0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD99E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD99E4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD99E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD99E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD99EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD99F0 */ return;
|
|
}
|
|
|
|
// fn_02BD99B0 @ 0x2bd99b0
|
|
void Gambit_fn_02BD99B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BD99B0: ; // 0x2bd99b0
|
|
/* 02BD99B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD99B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD99B0 */ cpu->r[1] = _t0;
|
|
/* 02BD99B4 */ cpu->r[12] = cpu->r[6];
|
|
/* 02BD99B8 */ cpu->r[6] = cpu->r[5];
|
|
/* 02BD99BC */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD99C0 */ cpu->r[10] = cpu->r[9];
|
|
/* 02BD99C4 */ cpu->r[9] = cpu->r[8];
|
|
/* 02BD99C8 */ cpu->r[8] = cpu->r[7];
|
|
/* 02BD99CC */ cpu->r[7] = cpu->r[12];
|
|
/* 02BD99D0 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BD99D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD99D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD99D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD99D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD99DC */ Gambit_fn_02BD9594(cpu);
|
|
/* 02BD99E0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD99E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD99E4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD99E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD99E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD99EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD99F0 */ return;
|
|
}
|
|
|
|
// fn_02BD99F4 @ 0x2bd99f4
|
|
void Gambit_fn_02BD99F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BD99F4: ; // 0x2bd99f4
|
|
/* 02BD99F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD99F8 */ cpu->r[7] = cpu->r[6];
|
|
/* 02BD99FC */ cpu->r[6] = cpu->r[5];
|
|
/* 02BD9A00 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD9A04 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BD9A04 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BD9A08 */ cpu->r[4] = 0x00000009u;
|
|
/* 02BD9A0C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD9A0C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD9A0C */ cpu->r[1] = _t1;
|
|
/* 02BD9A10 */ Gambit_fn_02BD7948(cpu);
|
|
/* 02BD9A14 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9A14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD9A18 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9A1C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9A20 */ return;
|
|
}
|
|
|
|
// fn_02BD9A0C @ 0x2bd9a0c
|
|
void Gambit_fn_02BD9A0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BD9A0C: ; // 0x2bd9a0c
|
|
/* 02BD9A0C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BD9A0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD9A0C */ cpu->r[1] = _t0;
|
|
/* 02BD9A10 */ Gambit_fn_02BD7948(cpu);
|
|
/* 02BD9A14 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9A14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BD9A18 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9A1C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9A20 */ return;
|
|
}
|
|
|
|
// fn_02BD9A24 @ 0x2bd9a24
|
|
void Gambit_fn_02BD9A24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BD9A24: ; // 0x2bd9a24
|
|
/* 02BD9A24 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD9A28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD9A28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD9A28 */ cpu->r[1] = _t0;
|
|
/* 02BD9A2C */ cpu->r[12] = cpu->r[6];
|
|
/* 02BD9A30 */ cpu->r[6] = cpu->r[5];
|
|
/* 02BD9A34 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD9A38 */ cpu->r[10] = cpu->r[9];
|
|
/* 02BD9A3C */ cpu->r[9] = cpu->r[8];
|
|
/* 02BD9A40 */ cpu->r[8] = cpu->r[7];
|
|
/* 02BD9A44 */ cpu->r[7] = cpu->r[12];
|
|
/* 02BD9A48 */ cpu->r[4] = 0x0000000Au;
|
|
/* 02BD9A4C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9A4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD9A50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9A50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD9A54 */ Gambit_fn_02BD9594(cpu);
|
|
/* 02BD9A58 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9A58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD9A5C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9A5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD9A60 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9A64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9A68 */ return;
|
|
}
|
|
|
|
// fn_02BD9A28 @ 0x2bd9a28
|
|
void Gambit_fn_02BD9A28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BD9A28: ; // 0x2bd9a28
|
|
/* 02BD9A28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD9A28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD9A28 */ cpu->r[1] = _t0;
|
|
/* 02BD9A2C */ cpu->r[12] = cpu->r[6];
|
|
/* 02BD9A30 */ cpu->r[6] = cpu->r[5];
|
|
/* 02BD9A34 */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD9A38 */ cpu->r[10] = cpu->r[9];
|
|
/* 02BD9A3C */ cpu->r[9] = cpu->r[8];
|
|
/* 02BD9A40 */ cpu->r[8] = cpu->r[7];
|
|
/* 02BD9A44 */ cpu->r[7] = cpu->r[12];
|
|
/* 02BD9A48 */ cpu->r[4] = 0x0000000Au;
|
|
/* 02BD9A4C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9A4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD9A50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9A50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD9A54 */ Gambit_fn_02BD9594(cpu);
|
|
/* 02BD9A58 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9A58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD9A5C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9A5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD9A60 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9A64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9A68 */ return;
|
|
}
|
|
|
|
// fn_02BD9A6C @ 0x2bd9a6c
|
|
void Gambit_fn_02BD9A6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02BD9A6C: ; // 0x2bd9a6c
|
|
/* 02BD9A6C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BD9A6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD9A6C */ cpu->r[1] = _t0;
|
|
/* 02BD9A70 */ /* nop */
|
|
/* 02BD9A74 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD9A78 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BD9A7C */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD9A7C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD9A80 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BD9A84 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9A84 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 02BD9A88 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9A88 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02BD9A8C */ cpu->r[28] = cpu->r[3];
|
|
/* 02BD9A90 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BD9A94 */ _t4 = cpu->r[27] + 0xFFFFB778u;
|
|
/* 02BD9A94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD9A94 */ cpu->r[27] = _t4;
|
|
/* 02BD9A98 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BD9A9C */ _t5 = cpu->r[28] + 0x00000018u;
|
|
/* 02BD9A9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD9AA0 */ _t6 = cpu->r[8] + 0x0000007Cu;
|
|
/* 02BD9AA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD9AA4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9AA8 */ cpu->r[31] = cpu->r[6];
|
|
/* 02BD9AAC */ Gambit_fn_02BED7FC(cpu);
|
|
/* 02BD9AB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD9AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BD9AB4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9AB4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BD9AB4 */ if (_t8) goto L_02BD9AB8; else goto L_02BD9B88;
|
|
L_02BD9AB8: ; // 0x2bd9ab8
|
|
/* 02BD9AB8 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD9AB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD9ABC */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD9ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD9AC0 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD9AC0 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02BD9AC4 */ _t12 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD9AC4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BD9AC8 */ _t13 = cpu->r[27] + 0x00000000u;
|
|
/* 02BD9AC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD9ACC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9ACC */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD9AD0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9AD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BD9AD4 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9AD4 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02BD9AD8 */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 02BD9ADC */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD9ADC */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02BD9AE0 */ _t18 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BD9AE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD9AE4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9AE8 */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD9AEC */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD9AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BD9AF0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9AF0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BD9AF0 */ if (_t20) goto L_02BD9AF4; else goto L_02BD9B88;
|
|
L_02BD9AF4: ; // 0x2bd9af4
|
|
/* 02BD9AF4 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9AF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD9AF8 */ _t22 = cpu->r[28] + 0x00000018u;
|
|
/* 02BD9AF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD9AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]);
|
|
/* 02BD9B00 */ _t23 = cpu->r[28] + 0x00000020u;
|
|
/* 02BD9B00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD9B04 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD9B04 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD9B04 */ if (_t25) goto L_02BD9B0C; else goto L_02BD9B08;
|
|
L_02BD9B08: ; // 0x2bd9b08
|
|
/* 02BD9B08 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02BD9B0C: ; // 0x2bd9b0c
|
|
/* 02BD9B0C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000070u);
|
|
/* 02BD9B10 */ cpu->r[27] = cpu->r[8] + cpu->r[0];
|
|
/* 02BD9B14 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD9B18 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD9B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD9B20 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9B20 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD9B20 */ if (_t27) goto L_02BD9B24; else goto L_02BD9B4C;
|
|
L_02BD9B24: ; // 0x2bd9b24
|
|
/* 02BD9B24 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD9B28 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9B2C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9B30 */ /* nop */
|
|
/* 02BD9B34 */ _t28 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD9B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD9B38 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD9B3C */ cpu->lr = cpu->r[0];
|
|
/* 02BD9B40 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD9B44 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD9B48 */ return;
|
|
L_02BD9B4C: ; // 0x2bd9b4c
|
|
/* 02BD9B4C */ _t29 = cpu->r[28] + 0x00000029u;
|
|
/* 02BD9B4C */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[29]);
|
|
/* 02BD9B50 */ cpu->r[10] = 0x00000013u;
|
|
/* 02BD9B54 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BD9B58 */ cpu->r[5] = cpu->r[28] + 0x0000002Bu;
|
|
/* 02BD9B5C */ _t30 = cpu->r[28] + 0x00000028u;
|
|
/* 02BD9B5C */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[10]);
|
|
/* 02BD9B60 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9B64 */ cpu->r[6] = 0x000000FDu;
|
|
/* 02BD9B68 */ _t31 = cpu->r[28] + 0x0000002Au;
|
|
/* 02BD9B68 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[31]);
|
|
/* 02BD9B6C */ cpu->r[30] = cpu->r[28] + 0x00000028u;
|
|
/* 02BD9B70 */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BD9B74 */ cpu->r[5] = cpu->r[3];
|
|
/* 02BD9B78 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD9B7C */ cpu->r[4] = cpu->r[30];
|
|
/* 02BD9B80 */ cpu->r[5] = cpu->r[5] + 0x00000003u;
|
|
/* 02BD9B84 */ Gambit_fn_02BF56D4(cpu);
|
|
L_02BD9B88: ; // 0x2bd9b88
|
|
/* 02BD9B88 */ /* nop */
|
|
/* 02BD9B8C */ _t32 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD9B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD9B90 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9B94 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD9B98 */ return;
|
|
}
|
|
|
|
// fn_02BD9B9C @ 0x2bd9b9c
|
|
void Gambit_fn_02BD9B9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BD9B9C: ; // 0x2bd9b9c
|
|
/* 02BD9B9C */ cpu->r[0] = cpu->lr;
|
|
/* 02BD9BA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD9BA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD9BA0 */ cpu->r[1] = _t0;
|
|
/* 02BD9BA4 */ cpu->r[12] = cpu->r[6];
|
|
/* 02BD9BA8 */ cpu->r[6] = cpu->r[5];
|
|
/* 02BD9BAC */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD9BB0 */ cpu->r[10] = cpu->r[9];
|
|
/* 02BD9BB4 */ cpu->r[9] = cpu->r[8];
|
|
/* 02BD9BB8 */ cpu->r[8] = cpu->r[7];
|
|
/* 02BD9BBC */ cpu->r[7] = cpu->r[12];
|
|
/* 02BD9BC0 */ cpu->r[4] = 0x00000014u;
|
|
/* 02BD9BC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9BC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD9BC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9BC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD9BCC */ Gambit_fn_02BD9594(cpu);
|
|
/* 02BD9BD0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD9BD4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9BD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD9BD8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9BDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9BE0 */ return;
|
|
}
|
|
|
|
// fn_02BD9BA0 @ 0x2bd9ba0
|
|
void Gambit_fn_02BD9BA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BD9BA0: ; // 0x2bd9ba0
|
|
/* 02BD9BA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BD9BA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD9BA0 */ cpu->r[1] = _t0;
|
|
/* 02BD9BA4 */ cpu->r[12] = cpu->r[6];
|
|
/* 02BD9BA8 */ cpu->r[6] = cpu->r[5];
|
|
/* 02BD9BAC */ cpu->r[5] = cpu->r[4];
|
|
/* 02BD9BB0 */ cpu->r[10] = cpu->r[9];
|
|
/* 02BD9BB4 */ cpu->r[9] = cpu->r[8];
|
|
/* 02BD9BB8 */ cpu->r[8] = cpu->r[7];
|
|
/* 02BD9BBC */ cpu->r[7] = cpu->r[12];
|
|
/* 02BD9BC0 */ cpu->r[4] = 0x00000014u;
|
|
/* 02BD9BC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9BC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BD9BC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9BC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BD9BCC */ Gambit_fn_02BD9594(cpu);
|
|
/* 02BD9BD0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD9BD4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9BD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD9BD8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9BDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9BE0 */ return;
|
|
}
|
|
|
|
// fn_02BD9BE4 @ 0x2bd9be4
|
|
void Gambit_fn_02BD9BE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BD9BE4: ; // 0x2bd9be4
|
|
/* 02BD9BE4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD9BE8 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BD9BE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD9BE8 */ cpu->r[1] = _t0;
|
|
/* 02BD9BEC */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD9BEC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BD9BF0 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD9BF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD9BF4 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD9BF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD9BF8 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD9BF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD9BFC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD9C00 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD9C00 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD9C04 */ _t6 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BD9C04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD9C08 */ _t7 = cpu->r[12] + 0x00000080u;
|
|
/* 02BD9C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD9C0C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD9C10 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9C10 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BD9C14 */ _t9 = cpu->r[12] + 0x00000084u;
|
|
/* 02BD9C14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD9C18 */ cpu->r[0] = 0x00000011u;
|
|
/* 02BD9C1C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD9C20 */ cpu->r[4] = cpu->r[5];
|
|
/* 02BD9C24 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9C24 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02BD9C28 */ cpu->r[3] = cpu->r[30] + 0x0000002Au;
|
|
/* 02BD9C2C */ _t11 = cpu->r[30] + 0x00000028u;
|
|
/* 02BD9C2C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 02BD9C30 */ cpu->r[28] = cpu->r[30] + 0x00000028u;
|
|
/* 02BD9C34 */ _t12 = cpu->r[30] + 0x00000029u;
|
|
/* 02BD9C34 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[6]);
|
|
/* 02BD9C38 */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BD9C3C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD9C40 */ cpu->r[5] = cpu->r[30] + 0x0000002Eu;
|
|
/* 02BD9C44 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9C48 */ cpu->r[6] = 0x000000FAu;
|
|
/* 02BD9C4C */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BD9C50 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD9C50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD9C54 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD9C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD9C58 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BD9C5C */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD9C5C */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 02BD9C60 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9C60 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 02BD9C64 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BD9C68 */ _t17 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD9C68 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02BD9C6C */ cpu->r[29] = cpu->r[3] + 0x00000006u;
|
|
/* 02BD9C70 */ _t18 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BD9C70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD9C74 */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 02BD9C78 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9C78 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02BD9C7C */ _t20 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BD9C7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD9C80 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9C84 */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD9C88 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9C88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD9C8C */ _t22 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD9C8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD9C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 02BD9C94 */ _t23 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD9C94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD9C98 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD9C98 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD9C98 */ if (_t25) goto L_02BD9CA0; else goto L_02BD9C9C;
|
|
L_02BD9C9C: ; // 0x2bd9c9c
|
|
/* 02BD9C9C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02BD9CA0: ; // 0x2bd9ca0
|
|
/* 02BD9CA0 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000070u);
|
|
/* 02BD9CA4 */ cpu->r[31] = cpu->r[7] + cpu->r[6];
|
|
/* 02BD9CA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD9CAC */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD9CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD9CB4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9CB4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD9CB4 */ if (_t27) goto L_02BD9CB8; else goto L_02BD9CEC;
|
|
L_02BD9CB8: ; // 0x2bd9cb8
|
|
/* 02BD9CB8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9CBC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD9CC0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9CC4 */ _t28 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD9CC4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD9CC8 */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD9CC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD9CCC */ _t30 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD9CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD9CD0 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD9CD4 */ _t31 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD9CD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD9CD8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9CDC */ _t32 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD9CDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD9CE0 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD9CE4 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD9CE8 */ return;
|
|
L_02BD9CEC: ; // 0x2bd9cec
|
|
/* 02BD9CEC */ cpu->r[5] = cpu->r[29];
|
|
/* 02BD9CF0 */ cpu->r[4] = cpu->r[28];
|
|
/* 02BD9CF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD9CF8 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BD9CFC */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD9CFC */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD9D00 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD9D00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD9D04 */ _t35 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD9D04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD9D08 */ _t36 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD9D08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD9D0C */ cpu->lr = cpu->r[0];
|
|
/* 02BD9D10 */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD9D10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD9D14 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD9D18 */ return;
|
|
}
|
|
|
|
// fn_02BD9BE8 @ 0x2bd9be8
|
|
void Gambit_fn_02BD9BE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BD9BE8: ; // 0x2bd9be8
|
|
/* 02BD9BE8 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BD9BE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD9BE8 */ cpu->r[1] = _t0;
|
|
/* 02BD9BEC */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD9BEC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BD9BF0 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD9BF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BD9BF4 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD9BF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BD9BF8 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD9BF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BD9BFC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD9C00 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD9C00 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BD9C04 */ _t6 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BD9C04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BD9C08 */ _t7 = cpu->r[12] + 0x00000080u;
|
|
/* 02BD9C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BD9C0C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BD9C10 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9C10 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BD9C14 */ _t9 = cpu->r[12] + 0x00000084u;
|
|
/* 02BD9C14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD9C18 */ cpu->r[0] = 0x00000011u;
|
|
/* 02BD9C1C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BD9C20 */ cpu->r[4] = cpu->r[5];
|
|
/* 02BD9C24 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9C24 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02BD9C28 */ cpu->r[3] = cpu->r[30] + 0x0000002Au;
|
|
/* 02BD9C2C */ _t11 = cpu->r[30] + 0x00000028u;
|
|
/* 02BD9C2C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 02BD9C30 */ cpu->r[28] = cpu->r[30] + 0x00000028u;
|
|
/* 02BD9C34 */ _t12 = cpu->r[30] + 0x00000029u;
|
|
/* 02BD9C34 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[6]);
|
|
/* 02BD9C38 */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BD9C3C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BD9C40 */ cpu->r[5] = cpu->r[30] + 0x0000002Eu;
|
|
/* 02BD9C44 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9C48 */ cpu->r[6] = 0x000000FAu;
|
|
/* 02BD9C4C */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BD9C50 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02BD9C50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BD9C54 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02BD9C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BD9C58 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BD9C5C */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD9C5C */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 02BD9C60 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9C60 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 02BD9C64 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BD9C68 */ _t17 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD9C68 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02BD9C6C */ cpu->r[29] = cpu->r[3] + 0x00000006u;
|
|
/* 02BD9C70 */ _t18 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BD9C70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BD9C74 */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 02BD9C78 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9C78 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02BD9C7C */ _t20 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BD9C7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD9C80 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9C84 */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD9C88 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9C88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BD9C8C */ _t22 = cpu->r[30] + 0x00000018u;
|
|
/* 02BD9C8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD9C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 02BD9C94 */ _t23 = cpu->r[30] + 0x00000020u;
|
|
/* 02BD9C94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD9C98 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD9C98 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD9C98 */ if (_t25) goto L_02BD9CA0; else goto L_02BD9C9C;
|
|
L_02BD9C9C: ; // 0x2bd9c9c
|
|
/* 02BD9C9C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02BD9CA0: ; // 0x2bd9ca0
|
|
/* 02BD9CA0 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000070u);
|
|
/* 02BD9CA4 */ cpu->r[31] = cpu->r[7] + cpu->r[6];
|
|
/* 02BD9CA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD9CAC */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD9CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD9CB4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9CB4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BD9CB4 */ if (_t27) goto L_02BD9CB8; else goto L_02BD9CEC;
|
|
L_02BD9CB8: ; // 0x2bd9cb8
|
|
/* 02BD9CB8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9CBC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD9CC0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9CC4 */ _t28 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD9CC4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BD9CC8 */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD9CC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD9CCC */ _t30 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD9CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD9CD0 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BD9CD4 */ _t31 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD9CD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD9CD8 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9CDC */ _t32 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD9CDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD9CE0 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD9CE4 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BD9CE8 */ return;
|
|
L_02BD9CEC: ; // 0x2bd9cec
|
|
/* 02BD9CEC */ cpu->r[5] = cpu->r[29];
|
|
/* 02BD9CF0 */ cpu->r[4] = cpu->r[28];
|
|
/* 02BD9CF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD9CF8 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BD9CFC */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD9CFC */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD9D00 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 02BD9D00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BD9D04 */ _t35 = cpu->r[1] + 0x00000044u;
|
|
/* 02BD9D04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD9D08 */ _t36 = cpu->r[1] + 0x00000038u;
|
|
/* 02BD9D08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD9D0C */ cpu->lr = cpu->r[0];
|
|
/* 02BD9D10 */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD9D10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BD9D14 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD9D18 */ return;
|
|
}
|
|
|
|
// fn_02BD9D1C @ 0x2bd9d1c
|
|
void Gambit_fn_02BD9D1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BD9D1C: ; // 0x2bd9d1c
|
|
/* 02BD9D1C */ _t0 = cpu->r[1] + 0xFFFFFEF8u;
|
|
/* 02BD9D1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BD9D1C */ cpu->r[1] = _t0;
|
|
/* 02BD9D20 */ /* nop */
|
|
/* 02BD9D24 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD9D28 */ _t1 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BD9D28 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BD9D2C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BD9D30 */ _t2 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BD9D30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BD9D34 */ _t3 = cpu->r[12] + 0x00000080u;
|
|
/* 02BD9D34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BD9D38 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BD9D3C */ cpu->r[30] = cpu->r[6];
|
|
/* 02BD9D40 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BD9D44 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9D44 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02BD9D48 */ _t5 = cpu->r[12] + 0x00000084u;
|
|
/* 02BD9D48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BD9D4C */ cpu->r[12] = 0x0000000Cu;
|
|
/* 02BD9D50 */ cpu->r[28] = cpu->r[7];
|
|
/* 02BD9D54 */ cpu->r[26] = cpu->r[27] + 0x00000028u;
|
|
/* 02BD9D58 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9D58 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02BD9D5C */ cpu->r[3] = cpu->r[27] + 0x00000029u;
|
|
/* 02BD9D60 */ _t7 = cpu->r[27] + 0x00000028u;
|
|
/* 02BD9D60 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 02BD9D64 */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BD9D68 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BD9D6C */ cpu->r[5] = cpu->r[27] + 0x0000002Eu;
|
|
/* 02BD9D70 */ cpu->r[6] = 0x000000FAu;
|
|
/* 02BD9D74 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9D78 */ _t8 = cpu->r[27] + 0x0000002Du;
|
|
/* 02BD9D78 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[31]);
|
|
/* 02BD9D7C */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BD9D80 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BD9D84 */ _t9 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BD9D84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BD9D88 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BD9D8C */ cpu->r[9] = cpu->r[1] + 0x00000040u;
|
|
/* 02BD9D90 */ cpu->r[24] = cpu->r[3] + 0x00000006u;
|
|
/* 02BD9D94 */ _t10 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BD9D94 */ cpu->r[21] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BD9D98 */ cpu->r[11] = 0x00000008u;
|
|
/* 02BD9D9C */ _t11 = cpu->r[1] + 0x00000028u;
|
|
/* 02BD9D9C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BD9DA0 */ cpu->ctr = cpu->r[11];
|
|
/* 02BD9DA4 */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BD9DA4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_02BD9DA8: ; // 0x2bd9da8
|
|
/* 02BD9DA8 */ _t13 = cpu->r[9] + 0x00000004u;
|
|
/* 02BD9DA8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BD9DAC */ _t14 = cpu->r[9] + 0x00000008u;
|
|
/* 02BD9DAC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02BD9DB0 */ _t15 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BD9DB0 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BD9DB4 */ _t16 = cpu->r[9] + 0x00000010u;
|
|
/* 02BD9DB4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BD9DB4 */ cpu->r[9] = _t16;
|
|
/* 02BD9DB8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BD9DB8 */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BD9DB8 */ _t18 = _t17 >> (0x00000002u & 31u);
|
|
/* 02BD9DB8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BD9DB8 */ if (_t19) goto L_02BD9DA8; else goto L_02BD9DBC;
|
|
L_02BD9DBC: ; // 0x2bd9dbc
|
|
/* 02BD9DBC */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BD9DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BD9DC4 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BD9DC8 */ cpu->r[31] = cpu->r[31] + 0xFFFF8C2Cu;
|
|
/* 02BD9DCC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9DCC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BD9DCC */ if (_t21) goto L_02BD9F8C; else goto L_02BD9DD0;
|
|
L_02BD9DD0: ; // 0x2bd9dd0
|
|
/* 02BD9DD0 */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BD9DD4 */ cpu->r[18] = 0xDD240000u;
|
|
/* 02BD9DD8 */ cpu->r[19] = cpu->r[1] + 0x00000044u;
|
|
/* 02BD9DDC */ cpu->r[31] = cpu->r[31] + 0xFFFF8C2Cu;
|
|
/* 02BD9DE0 */ cpu->r[18] = cpu->r[18] + 0xFFFF942Bu;
|
|
/* 02BD9DE4 */ cpu->r[17] = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9DE8 */ cpu->r[20] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD9DEC */ cpu->r[22] = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9DF0 */ cpu->r[23] = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9DF4 */ cpu->r[25] = cpu->r[1] + 0x00000038u;
|
|
L_02BD9DF8: ; // 0x2bd9df8
|
|
/* 02BD9DF8 */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD9DF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BD9DFC */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD9DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD9E00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BD9E04 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9E04 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BD9E04 */ if (_t25) goto L_02BD9E08; else goto L_02BD9E18;
|
|
L_02BD9E08: ; // 0x2bd9e08
|
|
/* 02BD9E08 */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD9E08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD9E0C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD9E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD9E10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02BD9E14 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9E14 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BD9E14 */ if (_t29) goto L_02BD9F78; else goto L_02BD9E18;
|
|
L_02BD9E18: ; // 0x2bd9e18
|
|
/* 02BD9E18 */ _t30 = cpu->r[30] + 0x00000000u;
|
|
/* 02BD9E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BD9E1C */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD9E20 */ _t31 = cpu->r[1] + 0x00000020u;
|
|
/* 02BD9E20 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02BD9E24 */ _t32 = cpu->r[30] + 0x00000004u;
|
|
/* 02BD9E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BD9E28 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02BD9E2C */ cpu->r[3] = cpu->r[21];
|
|
/* 02BD9E30 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD9E30 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02BD9E34 */ Gambit_fn_02BED308(cpu);
|
|
/* 02BD9E38 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD9E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BD9E3C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9E3C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BD9E3C */ if (_t35) goto L_02BD9E40; else goto L_02BD9F78;
|
|
L_02BD9E40: ; // 0x2bd9e40
|
|
/* 02BD9E40 */ _t36 = cpu->r[1] + 0x00000030u;
|
|
/* 02BD9E40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BD9E44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000020u);
|
|
/* 02BD9E48 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BD9E48 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BD9E48 */ if (_t38) goto L_02BD9F78; else goto L_02BD9E4C;
|
|
L_02BD9E4C: ; // 0x2bd9e4c
|
|
/* 02BD9E4C */ _t39 = cpu->r[27] + 0x00000018u;
|
|
/* 02BD9E4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BD9E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[7]);
|
|
/* 02BD9E54 */ _t40 = cpu->r[27] + 0x00000020u;
|
|
/* 02BD9E54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BD9E58 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BD9E58 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BD9E58 */ if (_t42) goto L_02BD9E60; else goto L_02BD9E5C;
|
|
L_02BD9E5C: ; // 0x2bd9e5c
|
|
/* 02BD9E5C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02BD9E60: ; // 0x2bd9e60
|
|
/* 02BD9E60 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000070u);
|
|
/* 02BD9E64 */ cpu->r[16] = cpu->r[9] + cpu->r[8];
|
|
/* 02BD9E68 */ cpu->r[3] = cpu->r[16];
|
|
/* 02BD9E6C */ _t43 = cpu->r[19] + 0x00000000u;
|
|
/* 02BD9E6C */ rbrew_write32(cpu->mem, _t43, cpu->r[16]);
|
|
/* 02BD9E70 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BD9E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD9E78 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9E78 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BD9E78 */ if (_t45) goto L_02BD9E7C; else goto L_02BD9EB0;
|
|
L_02BD9E7C: ; // 0x2bd9e7c
|
|
/* 02BD9E7C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9E80 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BD9E84 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9E88 */ cpu->r[3] = cpu->r[17];
|
|
/* 02BD9E8C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9E90 */ cpu->r[16] = cpu->r[18];
|
|
/* 02BD9E94 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 02BD9E94 */ rbrew_write32(cpu->mem, _t46, cpu->r[18]);
|
|
/* 02BD9E98 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9E9C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02BD9E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BD9EA0 */ cpu->r[30] = cpu->r[30] + 0x00000008u;
|
|
/* 02BD9EA4 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9EA4 */ rbrew_write32(cpu->mem, _t47, cpu->r[18]);
|
|
/* 02BD9EA8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9EA8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BD9EA8 */ if (_t49) goto L_02BD9EAC; else goto L_02BD9DF8;
|
|
L_02BD9EAC: ; // 0x2bd9eac
|
|
/* 02BD9EAC */ goto L_02BD9F84;
|
|
L_02BD9EB0: ; // 0x2bd9eb0
|
|
/* 02BD9EB0 */ cpu->r[3] = cpu->r[16];
|
|
/* 02BD9EB4 */ cpu->r[4] = cpu->r[24];
|
|
/* 02BD9EB8 */ Gambit_fn_02BF58DC(cpu);
|
|
/* 02BD9EBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD9EC0 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9EC0 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BD9EC0 */ if (_t51) goto L_02BD9EC4; else goto L_02BD9F20;
|
|
L_02BD9EC4: ; // 0x2bd9ec4
|
|
/* 02BD9EC4 */ _t52 = cpu->r[16] + 0x00000068u;
|
|
/* 02BD9EC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BD9EC8 */ _t53 = cpu->r[6] + 0x00000014u;
|
|
/* 02BD9EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BD9ECC */ cpu->ctr = cpu->r[0];
|
|
/* 02BD9ED0 */ cpu->r[6] = 0x40000000u;
|
|
/* 02BD9ED4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BD9ED8 */ cpu->r[3] = cpu->r[16];
|
|
/* 02BD9EDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BD9EE0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9EE4 */ cpu->r[3] = cpu->r[20];
|
|
/* 02BD9EE8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9EEC */ cpu->r[3] = cpu->r[17];
|
|
/* 02BD9EF0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9EF4 */ cpu->r[16] = cpu->r[31];
|
|
/* 02BD9EF8 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD9EF8 */ rbrew_write32(cpu->mem, _t54, cpu->r[31]);
|
|
/* 02BD9EFC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9F00 */ cpu->r[3] = cpu->r[23];
|
|
/* 02BD9F04 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9F08 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9F08 */ rbrew_write32(cpu->mem, _t55, cpu->r[18]);
|
|
/* 02BD9F0C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9F10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[31]);
|
|
/* 02BD9F14 */ _t56 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9F14 */ rbrew_write32(cpu->mem, _t56, cpu->r[31]);
|
|
/* 02BD9F18 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9F18 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BD9F18 */ if (_t58) goto L_02BD9F1C; else goto L_02BD9F70;
|
|
L_02BD9F1C: ; // 0x2bd9f1c
|
|
/* 02BD9F1C */ goto L_02BD9F4C;
|
|
L_02BD9F20: ; // 0x2bd9f20
|
|
/* 02BD9F20 */ cpu->r[3] = cpu->r[17];
|
|
/* 02BD9F24 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9F28 */ cpu->r[16] = 0x00000000u;
|
|
/* 02BD9F2C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9F30 */ cpu->r[3] = cpu->r[23];
|
|
/* 02BD9F34 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9F38 */ _t59 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD9F38 */ rbrew_write32(cpu->mem, _t59, cpu->r[18]);
|
|
/* 02BD9F3C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9F40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[31]);
|
|
/* 02BD9F44 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD9F44 */ rbrew_write32(cpu->mem, _t60, cpu->r[31]);
|
|
/* 02BD9F48 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9F48 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BD9F48 */ if (_t62) goto L_02BD9F4C; else goto L_02BD9F70;
|
|
L_02BD9F4C: ; // 0x2bd9f4c
|
|
/* 02BD9F4C */ cpu->r[3] = cpu->r[25];
|
|
/* 02BD9F50 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9F54 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9F58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BD9F5C */ /* nop */
|
|
/* 02BD9F60 */ _t63 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BD9F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BD9F64 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9F68 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BD9F6C */ return;
|
|
L_02BD9F70: ; // 0x2bd9f70
|
|
/* 02BD9F70 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02BD9F74 */ cpu->r[19] = cpu->r[19] + 0x00000004u;
|
|
L_02BD9F78: ; // 0x2bd9f78
|
|
/* 02BD9F78 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02BD9F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BD9F7C */ cpu->r[30] = cpu->r[30] + 0x00000008u;
|
|
/* 02BD9F80 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9F80 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BD9F80 */ if (_t65) goto L_02BD9F84; else goto L_02BD9DF8;
|
|
L_02BD9F84: ; // 0x2bd9f84
|
|
/* 02BD9F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD9F88 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9F88 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02BD9F88 */ if (_t67) goto L_02BD9F8C; else goto L_02BD9FB0;
|
|
L_02BD9F8C: ; // 0x2bd9f8c
|
|
/* 02BD9F8C */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BD9F90 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BD9F94 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BD9F98 */ cpu->r[3] = cpu->r[31] + 0x000003FDu;
|
|
/* 02BD9F9C */ /* nop */
|
|
/* 02BD9FA0 */ _t68 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BD9FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BD9FA4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9FA8 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BD9FAC */ return;
|
|
L_02BD9FB0: ; // 0x2bd9fb0
|
|
/* 02BD9FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD9FB4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BD9FB8 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9FB8 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02BD9FB8 */ if (_t70) goto L_02BDA004; else goto L_02BD9FBC;
|
|
L_02BD9FBC: ; // 0x2bd9fbc
|
|
/* 02BD9FBC */ cpu->r[28] = cpu->r[1] + 0x00000040u;
|
|
L_02BD9FC0: ; // 0x2bd9fc0
|
|
/* 02BD9FC0 */ _t71 = cpu->r[28] + 0x00000004u;
|
|
/* 02BD9FC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BD9FC0 */ cpu->r[28] = _t71;
|
|
/* 02BD9FC4 */ cpu->r[4] = cpu->r[26];
|
|
/* 02BD9FC8 */ cpu->r[5] = cpu->r[24];
|
|
/* 02BD9FCC */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BD9FD0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BD9FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BD9FD4 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9FD4 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02BD9FD4 */ if (_t73) goto L_02BD9FD8; else goto L_02BD9FDC;
|
|
L_02BD9FD8: ; // 0x2bd9fd8
|
|
/* 02BD9FD8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02BD9FDC: ; // 0x2bd9fdc
|
|
/* 02BD9FDC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02BD9FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BD9FE0 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9FE0 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02BD9FE0 */ if (_t75) goto L_02BD9FE4; else goto L_02BD9FC0;
|
|
L_02BD9FE4: ; // 0x2bd9fe4
|
|
/* 02BD9FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BD9FE8 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD9FE8 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02BD9FE8 */ if (_t77) goto L_02BDA004; else goto L_02BD9FEC;
|
|
L_02BD9FEC: ; // 0x2bd9fec
|
|
/* 02BD9FEC */ /* nop */
|
|
/* 02BD9FF0 */ _t78 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BD9FF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BD9FF4 */ cpu->lr = cpu->r[0];
|
|
/* 02BD9FF8 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BD9FFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BDA000 */ return;
|
|
L_02BDA004: ; // 0x2bda004
|
|
/* 02BDA004 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BDA008 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA00C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA010 */ cpu->r[3] = cpu->r[31] + 0x000007F9u;
|
|
/* 02BDA014 */ /* nop */
|
|
/* 02BDA018 */ _t79 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BDA018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BDA01C */ cpu->lr = cpu->r[0];
|
|
/* 02BDA020 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BDA024 */ return;
|
|
}
|
|
|
|
// fn_02BDA028 @ 0x2bda028
|
|
void Gambit_fn_02BDA028(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BDA028: ; // 0x2bda028
|
|
/* 02BDA028 */ cpu->r[0] = cpu->lr;
|
|
/* 02BDA02C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BDA02C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA02C */ cpu->r[1] = _t0;
|
|
/* 02BDA030 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA030 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BDA034 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA034 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BDA038 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA038 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BDA03C */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA03C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BDA040 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BDA044 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02BDA044 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BDA048 */ _t6 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BDA048 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDA04C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BDA050 */ _t7 = cpu->r[12] + 0x00000080u;
|
|
/* 02BDA050 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDA054 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA058 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA058 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BDA05C */ _t9 = cpu->r[12] + 0x00000084u;
|
|
/* 02BDA05C */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDA060 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BDA064 */ cpu->r[6] = 0x000000FEu;
|
|
/* 02BDA068 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA068 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02BDA06C */ cpu->r[0] = 0x0000000Du;
|
|
/* 02BDA070 */ _t11 = cpu->r[3] + 0x00000029u;
|
|
/* 02BDA070 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[5]);
|
|
/* 02BDA074 */ cpu->r[5] = cpu->r[3] + 0x0000002Au;
|
|
/* 02BDA078 */ cpu->r[28] = cpu->r[3] + 0x00000028u;
|
|
/* 02BDA07C */ _t12 = cpu->r[3] + 0x00000028u;
|
|
/* 02BDA07C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 02BDA080 */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BDA084 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02BDA084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BDA088 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BDA08C */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 02BDA08C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BDA090 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA090 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 02BDA094 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA094 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02BDA098 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BDA09C */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDA09C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02BDA0A0 */ cpu->r[29] = cpu->r[3] + 0x00000002u;
|
|
/* 02BDA0A4 */ _t18 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BDA0A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BDA0A8 */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 02BDA0AC */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 02BDA0AC */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02BDA0B0 */ _t20 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BDA0B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BDA0B4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA0B8 */ Gambit_fn_02BED308(cpu);
|
|
/* 02BDA0BC */ _t21 = cpu->r[30] + 0x00000018u;
|
|
/* 02BDA0BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BDA0C0 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDA0C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BDA0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 02BDA0C8 */ _t23 = cpu->r[30] + 0x00000020u;
|
|
/* 02BDA0C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BDA0CC */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BDA0CC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BDA0CC */ if (_t25) goto L_02BDA0D4; else goto L_02BDA0D0;
|
|
L_02BDA0D0: ; // 0x2bda0d0
|
|
/* 02BDA0D0 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02BDA0D4: ; // 0x2bda0d4
|
|
/* 02BDA0D4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000070u);
|
|
/* 02BDA0D8 */ cpu->r[31] = cpu->r[12] + cpu->r[0];
|
|
/* 02BDA0DC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA0E0 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BDA0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDA0E8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA0E8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BDA0E8 */ if (_t27) goto L_02BDA0EC; else goto L_02BDA120;
|
|
L_02BDA0EC: ; // 0x2bda0ec
|
|
/* 02BDA0EC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA0F0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BDA0F4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA0F8 */ _t28 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA0F8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BDA0FC */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA0FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BDA100 */ _t30 = cpu->r[1] + 0x00000044u;
|
|
/* 02BDA100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BDA104 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BDA108 */ _t31 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA108 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BDA10C */ cpu->lr = cpu->r[0];
|
|
/* 02BDA110 */ _t32 = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BDA114 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BDA118 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BDA11C */ return;
|
|
L_02BDA120: ; // 0x2bda120
|
|
/* 02BDA120 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BDA124 */ cpu->r[4] = cpu->r[28];
|
|
/* 02BDA128 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA12C */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BDA130 */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA130 */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BDA134 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA134 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BDA138 */ _t35 = cpu->r[1] + 0x00000044u;
|
|
/* 02BDA138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BDA13C */ _t36 = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA13C */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BDA140 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA144 */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA144 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BDA148 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BDA14C */ return;
|
|
}
|
|
|
|
// fn_02BDA02C @ 0x2bda02c
|
|
void Gambit_fn_02BDA02C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BDA02C: ; // 0x2bda02c
|
|
/* 02BDA02C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BDA02C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA02C */ cpu->r[1] = _t0;
|
|
/* 02BDA030 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA030 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BDA034 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA034 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BDA038 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA038 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BDA03C */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA03C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BDA040 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BDA044 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02BDA044 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BDA048 */ _t6 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BDA048 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDA04C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BDA050 */ _t7 = cpu->r[12] + 0x00000080u;
|
|
/* 02BDA050 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDA054 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA058 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA058 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BDA05C */ _t9 = cpu->r[12] + 0x00000084u;
|
|
/* 02BDA05C */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDA060 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BDA064 */ cpu->r[6] = 0x000000FEu;
|
|
/* 02BDA068 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA068 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02BDA06C */ cpu->r[0] = 0x0000000Du;
|
|
/* 02BDA070 */ _t11 = cpu->r[3] + 0x00000029u;
|
|
/* 02BDA070 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[5]);
|
|
/* 02BDA074 */ cpu->r[5] = cpu->r[3] + 0x0000002Au;
|
|
/* 02BDA078 */ cpu->r[28] = cpu->r[3] + 0x00000028u;
|
|
/* 02BDA07C */ _t12 = cpu->r[3] + 0x00000028u;
|
|
/* 02BDA07C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 02BDA080 */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BDA084 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02BDA084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BDA088 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BDA08C */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 02BDA08C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BDA090 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA090 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 02BDA094 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA094 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02BDA098 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BDA09C */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDA09C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02BDA0A0 */ cpu->r[29] = cpu->r[3] + 0x00000002u;
|
|
/* 02BDA0A4 */ _t18 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BDA0A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BDA0A8 */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 02BDA0AC */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 02BDA0AC */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02BDA0B0 */ _t20 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BDA0B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BDA0B4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA0B8 */ Gambit_fn_02BED308(cpu);
|
|
/* 02BDA0BC */ _t21 = cpu->r[30] + 0x00000018u;
|
|
/* 02BDA0BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BDA0C0 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDA0C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BDA0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 02BDA0C8 */ _t23 = cpu->r[30] + 0x00000020u;
|
|
/* 02BDA0C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BDA0CC */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BDA0CC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BDA0CC */ if (_t25) goto L_02BDA0D4; else goto L_02BDA0D0;
|
|
L_02BDA0D0: ; // 0x2bda0d0
|
|
/* 02BDA0D0 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02BDA0D4: ; // 0x2bda0d4
|
|
/* 02BDA0D4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000070u);
|
|
/* 02BDA0D8 */ cpu->r[31] = cpu->r[12] + cpu->r[0];
|
|
/* 02BDA0DC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA0E0 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BDA0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDA0E8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA0E8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BDA0E8 */ if (_t27) goto L_02BDA0EC; else goto L_02BDA120;
|
|
L_02BDA0EC: ; // 0x2bda0ec
|
|
/* 02BDA0EC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA0F0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BDA0F4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA0F8 */ _t28 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA0F8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BDA0FC */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA0FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BDA100 */ _t30 = cpu->r[1] + 0x00000044u;
|
|
/* 02BDA100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BDA104 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BDA108 */ _t31 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA108 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BDA10C */ cpu->lr = cpu->r[0];
|
|
/* 02BDA110 */ _t32 = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BDA114 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BDA118 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BDA11C */ return;
|
|
L_02BDA120: ; // 0x2bda120
|
|
/* 02BDA120 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BDA124 */ cpu->r[4] = cpu->r[28];
|
|
/* 02BDA128 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA12C */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BDA130 */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA130 */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BDA134 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA134 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BDA138 */ _t35 = cpu->r[1] + 0x00000044u;
|
|
/* 02BDA138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BDA13C */ _t36 = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA13C */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BDA140 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA144 */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA144 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BDA148 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BDA14C */ return;
|
|
}
|
|
|
|
// fn_02BDA150 @ 0x2bda150
|
|
void Gambit_fn_02BDA150(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BDA150: ; // 0x2bda150
|
|
/* 02BDA150 */ _t0 = cpu->r[1] + 0xFFFFFF00u;
|
|
/* 02BDA150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA150 */ cpu->r[1] = _t0;
|
|
/* 02BDA154 */ /* nop */
|
|
/* 02BDA158 */ cpu->r[0] = cpu->lr;
|
|
/* 02BDA15C */ cpu->r[31] = cpu->r[5];
|
|
/* 02BDA160 */ cpu->r[30] = cpu->r[6];
|
|
/* 02BDA164 */ cpu->r[27] = cpu->r[7];
|
|
/* 02BDA168 */ cpu->r[24] = cpu->r[3];
|
|
/* 02BDA16C */ cpu->r[26] = cpu->r[8];
|
|
/* 02BDA170 */ cpu->r[12] = 0x0000000Eu;
|
|
/* 02BDA174 */ _t1 = cpu->r[1] + 0x00000104u;
|
|
/* 02BDA174 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BDA178 */ cpu->r[25] = cpu->r[24] + 0x00000028u;
|
|
/* 02BDA17C */ cpu->r[3] = cpu->r[24] + 0x00000029u;
|
|
/* 02BDA180 */ _t2 = cpu->r[24] + 0x00000028u;
|
|
/* 02BDA180 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[12]);
|
|
/* 02BDA184 */ Gambit_fn_02B67F88(cpu);
|
|
/* 02BDA188 */ cpu->r[7] = 0x00000008u;
|
|
/* 02BDA18C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BDA190 */ _t3 = cpu->r[24] + 0x0000002Eu;
|
|
/* 02BDA190 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[30]);
|
|
/* 02BDA194 */ cpu->ctr = cpu->r[7];
|
|
/* 02BDA198 */ _t4 = cpu->r[24] + 0x0000002Du;
|
|
/* 02BDA198 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[31]);
|
|
/* 02BDA19C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BDA1A0 */ _t5 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BDA1A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BDA1A4 */ _t6 = cpu->r[11] + 0xFFFFB774u;
|
|
/* 02BDA1A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDA1A8 */ _t7 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BDA1A8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDA1AC */ _t8 = cpu->r[11] + 0x00000084u;
|
|
/* 02BDA1AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BDA1B0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BDA1B4 */ _t9 = cpu->r[11] + 0x00000080u;
|
|
/* 02BDA1B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDA1B8 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 02BDA1B8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BDA1BC */ cpu->r[6] = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA1C0 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDA1C0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02BDA1C4: ; // 0x2bda1c4
|
|
/* 02BDA1C4 */ _t12 = cpu->r[6] + 0x00000004u;
|
|
/* 02BDA1C4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BDA1C8 */ _t13 = cpu->r[6] + 0x00000008u;
|
|
/* 02BDA1C8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BDA1CC */ _t14 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BDA1CC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02BDA1D0 */ _t15 = cpu->r[6] + 0x00000010u;
|
|
/* 02BDA1D0 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BDA1D0 */ cpu->r[6] = _t15;
|
|
/* 02BDA1D4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BDA1D4 */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BDA1D4 */ _t17 = _t16 >> (0x00000002u & 31u);
|
|
/* 02BDA1D4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BDA1D4 */ if (_t18) goto L_02BDA1C4; else goto L_02BDA1D8;
|
|
L_02BDA1D8: ; // 0x2bda1d8
|
|
/* 02BDA1D8 */ cpu->r[29] = 0xFD230000u;
|
|
/* 02BDA1DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BDA1E0 */ cpu->r[28] = 0x00000000u;
|
|
/* 02BDA1E4 */ cpu->r[29] = cpu->r[29] + 0xFFFF8C2Cu;
|
|
/* 02BDA1E8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA1E8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BDA1E8 */ if (_t20) goto L_02BDA3A0; else goto L_02BDA1EC;
|
|
L_02BDA1EC: ; // 0x2bda1ec
|
|
/* 02BDA1EC */ cpu->r[29] = 0xFD230000u;
|
|
/* 02BDA1F0 */ cpu->r[19] = 0xDD240000u;
|
|
/* 02BDA1F4 */ cpu->r[20] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA1F8 */ cpu->r[29] = cpu->r[29] + 0xFFFF8C2Cu;
|
|
/* 02BDA1FC */ cpu->r[19] = cpu->r[19] + 0xFFFF942Bu;
|
|
/* 02BDA200 */ cpu->r[16] = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA204 */ cpu->r[17] = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA208 */ cpu->r[18] = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA20C */ cpu->r[21] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA210 */ cpu->r[22] = cpu->r[1] + 0x00000030u;
|
|
L_02BDA214: ; // 0x2bda214
|
|
/* 02BDA214 */ _t21 = cpu->r[27] + 0x00000000u;
|
|
/* 02BDA214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BDA218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02BDA21C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA21C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BDA21C */ if (_t23) goto L_02BDA220; else goto L_02BDA22C;
|
|
L_02BDA220: ; // 0x2bda220
|
|
/* 02BDA220 */ _t24 = cpu->r[27] + 0x00000004u;
|
|
/* 02BDA220 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BDA224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02BDA228 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA228 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BDA228 */ if (_t26) goto L_02BDA38C; else goto L_02BDA22C;
|
|
L_02BDA22C: ; // 0x2bda22c
|
|
/* 02BDA22C */ _t27 = cpu->r[27] + 0x00000000u;
|
|
/* 02BDA22C */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BDA230 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02BDA234 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDA234 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
/* 02BDA238 */ _t29 = cpu->r[27] + 0x00000004u;
|
|
/* 02BDA238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BDA23C */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BDA240 */ cpu->r[3] = cpu->r[23];
|
|
/* 02BDA244 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDA244 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02BDA248 */ Gambit_fn_02BED308(cpu);
|
|
/* 02BDA24C */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BDA24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BDA250 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA250 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BDA250 */ if (_t32) goto L_02BDA254; else goto L_02BDA38C;
|
|
L_02BDA254: ; // 0x2bda254
|
|
/* 02BDA254 */ _t33 = cpu->r[1] + 0x00000028u;
|
|
/* 02BDA254 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BDA258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000020u);
|
|
/* 02BDA25C */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BDA25C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BDA25C */ if (_t35) goto L_02BDA38C; else goto L_02BDA260;
|
|
L_02BDA260: ; // 0x2bda260
|
|
/* 02BDA260 */ _t36 = cpu->r[24] + 0x00000018u;
|
|
/* 02BDA260 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BDA264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[6]);
|
|
/* 02BDA268 */ _t37 = cpu->r[24] + 0x00000020u;
|
|
/* 02BDA268 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BDA26C */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BDA26C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BDA26C */ if (_t39) goto L_02BDA274; else goto L_02BDA270;
|
|
L_02BDA270: ; // 0x2bda270
|
|
/* 02BDA270 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02BDA274: ; // 0x2bda274
|
|
/* 02BDA274 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000070u);
|
|
/* 02BDA278 */ cpu->r[15] = cpu->r[8] + cpu->r[0];
|
|
/* 02BDA27C */ cpu->r[3] = cpu->r[15];
|
|
/* 02BDA280 */ _t40 = cpu->r[20] + 0x00000000u;
|
|
/* 02BDA280 */ rbrew_write32(cpu->mem, _t40, cpu->r[15]);
|
|
/* 02BDA284 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BDA288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDA28C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA28C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BDA28C */ if (_t42) goto L_02BDA290; else goto L_02BDA2C4;
|
|
L_02BDA290: ; // 0x2bda290
|
|
/* 02BDA290 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA294 */ cpu->r[3] = cpu->r[18];
|
|
/* 02BDA298 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA29C */ cpu->r[3] = cpu->r[16];
|
|
/* 02BDA2A0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA2A4 */ cpu->r[15] = cpu->r[19];
|
|
/* 02BDA2A8 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA2A8 */ rbrew_write32(cpu->mem, _t43, cpu->r[19]);
|
|
/* 02BDA2AC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA2B0 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02BDA2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BDA2B4 */ cpu->r[27] = cpu->r[27] + 0x00000008u;
|
|
/* 02BDA2B8 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA2B8 */ rbrew_write32(cpu->mem, _t44, cpu->r[19]);
|
|
/* 02BDA2BC */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA2BC */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BDA2BC */ if (_t46) goto L_02BDA2C0; else goto L_02BDA214;
|
|
L_02BDA2C0: ; // 0x2bda2c0
|
|
/* 02BDA2C0 */ goto L_02BDA398;
|
|
L_02BDA2C4: ; // 0x2bda2c4
|
|
/* 02BDA2C4 */ cpu->r[3] = cpu->r[15];
|
|
/* 02BDA2C8 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BDA2CC */ Gambit_fn_02BF58DC(cpu);
|
|
/* 02BDA2D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDA2D4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA2D4 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BDA2D4 */ if (_t48) goto L_02BDA2D8; else goto L_02BDA334;
|
|
L_02BDA2D8: ; // 0x2bda2d8
|
|
/* 02BDA2D8 */ _t49 = cpu->r[15] + 0x00000068u;
|
|
/* 02BDA2D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BDA2DC */ _t50 = cpu->r[11] + 0x00000014u;
|
|
/* 02BDA2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BDA2E0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BDA2E4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BDA2E8 */ cpu->r[6] = 0x40000000u;
|
|
/* 02BDA2EC */ cpu->r[3] = cpu->r[15];
|
|
/* 02BDA2F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDA2F4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA2F8 */ cpu->r[3] = cpu->r[17];
|
|
/* 02BDA2FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA300 */ cpu->r[3] = cpu->r[16];
|
|
/* 02BDA304 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA308 */ cpu->r[15] = cpu->r[29];
|
|
/* 02BDA30C */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA30C */ rbrew_write32(cpu->mem, _t51, cpu->r[29]);
|
|
/* 02BDA310 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA314 */ cpu->r[3] = cpu->r[21];
|
|
/* 02BDA318 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA31C */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA31C */ rbrew_write32(cpu->mem, _t52, cpu->r[19]);
|
|
/* 02BDA320 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[29]);
|
|
/* 02BDA328 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA328 */ rbrew_write32(cpu->mem, _t53, cpu->r[29]);
|
|
/* 02BDA32C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA32C */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BDA32C */ if (_t55) goto L_02BDA330; else goto L_02BDA384;
|
|
L_02BDA330: ; // 0x2bda330
|
|
/* 02BDA330 */ goto L_02BDA360;
|
|
L_02BDA334: ; // 0x2bda334
|
|
/* 02BDA334 */ cpu->r[3] = cpu->r[16];
|
|
/* 02BDA338 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA33C */ cpu->r[15] = 0x00000000u;
|
|
/* 02BDA340 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA344 */ cpu->r[3] = cpu->r[21];
|
|
/* 02BDA348 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA34C */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA34C */ rbrew_write32(cpu->mem, _t56, cpu->r[19]);
|
|
/* 02BDA350 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[29]);
|
|
/* 02BDA358 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA358 */ rbrew_write32(cpu->mem, _t57, cpu->r[29]);
|
|
/* 02BDA35C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA35C */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BDA35C */ if (_t59) goto L_02BDA360; else goto L_02BDA384;
|
|
L_02BDA360: ; // 0x2bda360
|
|
/* 02BDA360 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BDA364 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA368 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA36C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BDA370 */ /* nop */
|
|
/* 02BDA374 */ _t60 = cpu->r[1] + 0x00000104u;
|
|
/* 02BDA374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BDA378 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA37C */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 02BDA380 */ return;
|
|
L_02BDA384: ; // 0x2bda384
|
|
/* 02BDA384 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02BDA388 */ cpu->r[20] = cpu->r[20] + 0x00000004u;
|
|
L_02BDA38C: ; // 0x2bda38c
|
|
/* 02BDA38C */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02BDA38C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BDA390 */ cpu->r[27] = cpu->r[27] + 0x00000008u;
|
|
/* 02BDA394 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA394 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BDA394 */ if (_t62) goto L_02BDA398; else goto L_02BDA214;
|
|
L_02BDA398: ; // 0x2bda398
|
|
/* 02BDA398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BDA39C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA39C */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BDA39C */ if (_t64) goto L_02BDA3A0; else goto L_02BDA3C4;
|
|
L_02BDA3A0: ; // 0x2bda3a0
|
|
/* 02BDA3A0 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA3A4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA3A8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA3AC */ cpu->r[3] = cpu->r[29] + 0x000003FDu;
|
|
/* 02BDA3B0 */ /* nop */
|
|
/* 02BDA3B4 */ _t65 = cpu->r[1] + 0x00000104u;
|
|
/* 02BDA3B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BDA3B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA3BC */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 02BDA3C0 */ return;
|
|
L_02BDA3C4: ; // 0x2bda3c4
|
|
/* 02BDA3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BDA3C8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BDA3CC */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA3CC */ _t67 = _t66 & 0x00000001u;
|
|
/* 02BDA3CC */ if (_t67) goto L_02BDA418; else goto L_02BDA3D0;
|
|
L_02BDA3D0: ; // 0x2bda3d0
|
|
/* 02BDA3D0 */ cpu->r[30] = cpu->r[1] + 0x00000038u;
|
|
L_02BDA3D4: ; // 0x2bda3d4
|
|
/* 02BDA3D4 */ _t68 = cpu->r[30] + 0x00000004u;
|
|
/* 02BDA3D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BDA3D4 */ cpu->r[30] = _t68;
|
|
/* 02BDA3D8 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BDA3DC */ cpu->r[5] = 0x00000007u;
|
|
/* 02BDA3E0 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BDA3E4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BDA3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BDA3E8 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA3E8 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02BDA3E8 */ if (_t70) goto L_02BDA3EC; else goto L_02BDA3F0;
|
|
L_02BDA3EC: ; // 0x2bda3ec
|
|
/* 02BDA3EC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02BDA3F0: ; // 0x2bda3f0
|
|
/* 02BDA3F0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02BDA3F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BDA3F4 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA3F4 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02BDA3F4 */ if (_t72) goto L_02BDA3F8; else goto L_02BDA3D4;
|
|
L_02BDA3F8: ; // 0x2bda3f8
|
|
/* 02BDA3F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDA3FC */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA3FC */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BDA3FC */ if (_t74) goto L_02BDA418; else goto L_02BDA400;
|
|
L_02BDA400: ; // 0x2bda400
|
|
/* 02BDA400 */ /* nop */
|
|
/* 02BDA404 */ _t75 = cpu->r[1] + 0x00000104u;
|
|
/* 02BDA404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BDA408 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA40C */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 02BDA410 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BDA414 */ return;
|
|
L_02BDA418: ; // 0x2bda418
|
|
/* 02BDA418 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA41C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA420 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA424 */ cpu->r[3] = cpu->r[29] + 0x000007F9u;
|
|
/* 02BDA428 */ /* nop */
|
|
/* 02BDA42C */ _t76 = cpu->r[1] + 0x00000104u;
|
|
/* 02BDA42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BDA430 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA434 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 02BDA438 */ return;
|
|
}
|
|
|
|
// fn_02BDA43C @ 0x2bda43c
|
|
void Gambit_fn_02BDA43C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BDA43C: ; // 0x2bda43c
|
|
/* 02BDA43C */ cpu->r[0] = cpu->lr;
|
|
/* 02BDA440 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BDA440 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA440 */ cpu->r[1] = _t0;
|
|
/* 02BDA444 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA444 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BDA448 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA448 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BDA44C */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA44C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BDA450 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA450 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BDA454 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BDA458 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02BDA458 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BDA45C */ _t6 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BDA45C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDA460 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BDA464 */ _t7 = cpu->r[12] + 0x00000080u;
|
|
/* 02BDA464 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDA468 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA46C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA46C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BDA470 */ _t9 = cpu->r[12] + 0x00000084u;
|
|
/* 02BDA470 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDA474 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BDA478 */ cpu->r[6] = 0x000000FEu;
|
|
/* 02BDA47C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA47C */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02BDA480 */ cpu->r[0] = 0x00000010u;
|
|
/* 02BDA484 */ _t11 = cpu->r[3] + 0x00000029u;
|
|
/* 02BDA484 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[5]);
|
|
/* 02BDA488 */ cpu->r[5] = cpu->r[3] + 0x0000002Au;
|
|
/* 02BDA48C */ cpu->r[28] = cpu->r[3] + 0x00000028u;
|
|
/* 02BDA490 */ _t12 = cpu->r[3] + 0x00000028u;
|
|
/* 02BDA490 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 02BDA494 */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BDA498 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02BDA498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BDA49C */ cpu->r[7] = 0x00000000u;
|
|
/* 02BDA4A0 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 02BDA4A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BDA4A4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA4A4 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 02BDA4A8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA4A8 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02BDA4AC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BDA4B0 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDA4B0 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02BDA4B4 */ cpu->r[29] = cpu->r[3] + 0x00000002u;
|
|
/* 02BDA4B8 */ _t18 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BDA4B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BDA4BC */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 02BDA4C0 */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 02BDA4C0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02BDA4C4 */ _t20 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BDA4C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BDA4C8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA4CC */ Gambit_fn_02BED308(cpu);
|
|
/* 02BDA4D0 */ _t21 = cpu->r[30] + 0x00000018u;
|
|
/* 02BDA4D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BDA4D4 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDA4D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BDA4D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 02BDA4DC */ _t23 = cpu->r[30] + 0x00000020u;
|
|
/* 02BDA4DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BDA4E0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BDA4E0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BDA4E0 */ if (_t25) goto L_02BDA4E8; else goto L_02BDA4E4;
|
|
L_02BDA4E4: ; // 0x2bda4e4
|
|
/* 02BDA4E4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02BDA4E8: ; // 0x2bda4e8
|
|
/* 02BDA4E8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000070u);
|
|
/* 02BDA4EC */ cpu->r[31] = cpu->r[12] + cpu->r[0];
|
|
/* 02BDA4F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA4F4 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BDA4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDA4FC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA4FC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BDA4FC */ if (_t27) goto L_02BDA500; else goto L_02BDA534;
|
|
L_02BDA500: ; // 0x2bda500
|
|
/* 02BDA500 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA504 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BDA508 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA50C */ _t28 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA50C */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BDA510 */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA510 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BDA514 */ _t30 = cpu->r[1] + 0x00000044u;
|
|
/* 02BDA514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BDA518 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BDA51C */ _t31 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA51C */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BDA520 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA524 */ _t32 = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA524 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BDA528 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BDA52C */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BDA530 */ return;
|
|
L_02BDA534: ; // 0x2bda534
|
|
/* 02BDA534 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BDA538 */ cpu->r[4] = cpu->r[28];
|
|
/* 02BDA53C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA540 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BDA544 */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA544 */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BDA548 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA548 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BDA54C */ _t35 = cpu->r[1] + 0x00000044u;
|
|
/* 02BDA54C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BDA550 */ _t36 = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA550 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BDA554 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA558 */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA558 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BDA55C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BDA560 */ return;
|
|
}
|
|
|
|
// fn_02BDA440 @ 0x2bda440
|
|
void Gambit_fn_02BDA440(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BDA440: ; // 0x2bda440
|
|
/* 02BDA440 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BDA440 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA440 */ cpu->r[1] = _t0;
|
|
/* 02BDA444 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA444 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BDA448 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA448 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BDA44C */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA44C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BDA450 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA450 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BDA454 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BDA458 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02BDA458 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BDA45C */ _t6 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BDA45C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDA460 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BDA464 */ _t7 = cpu->r[12] + 0x00000080u;
|
|
/* 02BDA464 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDA468 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA46C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA46C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BDA470 */ _t9 = cpu->r[12] + 0x00000084u;
|
|
/* 02BDA470 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDA474 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BDA478 */ cpu->r[6] = 0x000000FEu;
|
|
/* 02BDA47C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA47C */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02BDA480 */ cpu->r[0] = 0x00000010u;
|
|
/* 02BDA484 */ _t11 = cpu->r[3] + 0x00000029u;
|
|
/* 02BDA484 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[5]);
|
|
/* 02BDA488 */ cpu->r[5] = cpu->r[3] + 0x0000002Au;
|
|
/* 02BDA48C */ cpu->r[28] = cpu->r[3] + 0x00000028u;
|
|
/* 02BDA490 */ _t12 = cpu->r[3] + 0x00000028u;
|
|
/* 02BDA490 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 02BDA494 */ Gambit_fn_02BD74AC(cpu);
|
|
/* 02BDA498 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02BDA498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BDA49C */ cpu->r[7] = 0x00000000u;
|
|
/* 02BDA4A0 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 02BDA4A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BDA4A4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA4A4 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 02BDA4A8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA4A8 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02BDA4AC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BDA4B0 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDA4B0 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02BDA4B4 */ cpu->r[29] = cpu->r[3] + 0x00000002u;
|
|
/* 02BDA4B8 */ _t18 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BDA4B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BDA4BC */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 02BDA4C0 */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 02BDA4C0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02BDA4C4 */ _t20 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BDA4C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BDA4C8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA4CC */ Gambit_fn_02BED308(cpu);
|
|
/* 02BDA4D0 */ _t21 = cpu->r[30] + 0x00000018u;
|
|
/* 02BDA4D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BDA4D4 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDA4D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BDA4D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 02BDA4DC */ _t23 = cpu->r[30] + 0x00000020u;
|
|
/* 02BDA4DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BDA4E0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BDA4E0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BDA4E0 */ if (_t25) goto L_02BDA4E8; else goto L_02BDA4E4;
|
|
L_02BDA4E4: ; // 0x2bda4e4
|
|
/* 02BDA4E4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02BDA4E8: ; // 0x2bda4e8
|
|
/* 02BDA4E8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000070u);
|
|
/* 02BDA4EC */ cpu->r[31] = cpu->r[12] + cpu->r[0];
|
|
/* 02BDA4F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA4F4 */ Gambit_fn_02BF47E8(cpu);
|
|
/* 02BDA4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDA4FC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA4FC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BDA4FC */ if (_t27) goto L_02BDA500; else goto L_02BDA534;
|
|
L_02BDA500: ; // 0x2bda500
|
|
/* 02BDA500 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA504 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BDA508 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA50C */ _t28 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA50C */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BDA510 */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA510 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BDA514 */ _t30 = cpu->r[1] + 0x00000044u;
|
|
/* 02BDA514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BDA518 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BDA51C */ _t31 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA51C */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BDA520 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA524 */ _t32 = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA524 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BDA528 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BDA52C */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BDA530 */ return;
|
|
L_02BDA534: ; // 0x2bda534
|
|
/* 02BDA534 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BDA538 */ cpu->r[4] = cpu->r[28];
|
|
/* 02BDA53C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA540 */ Gambit_fn_02BF56D4(cpu);
|
|
/* 02BDA544 */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA544 */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BDA548 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA548 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BDA54C */ _t35 = cpu->r[1] + 0x00000044u;
|
|
/* 02BDA54C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BDA550 */ _t36 = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA550 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BDA554 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA558 */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA558 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BDA55C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BDA560 */ return;
|
|
}
|
|
|
|
// fn_02BDA564 @ 0x2bda564
|
|
void Gambit_fn_02BDA564(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BDA564: ; // 0x2bda564
|
|
/* 02BDA564 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BDA568 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BDA56C */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BDA570 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BDA574 */ _t0 = cpu->r[9] + 0x000027C8u;
|
|
/* 02BDA574 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BDA574 */ cpu->r[9] = _t0;
|
|
/* 02BDA578 */ _t1 = cpu->r[11] + 0x000027C0u;
|
|
/* 02BDA578 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BDA578 */ cpu->r[11] = _t1;
|
|
/* 02BDA57C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BDA580 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BDA580 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BDA584 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BDA588 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BDA588 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BDA58C */ _t4 = cpu->r[11] + 0x000027D0u;
|
|
/* 02BDA58C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BDA58C */ cpu->r[11] = _t4;
|
|
/* 02BDA590 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BDA590 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BDA594 */ return;
|
|
}
|
|
|
|
// fn_02BDA5A4 @ 0x2bda5a4
|
|
void Gambit_fn_02BDA5A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BDA5A4: ; // 0x2bda5a4
|
|
/* 02BDA5A4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BDA5A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA5A4 */ cpu->r[1] = _t0;
|
|
/* 02BDA5A8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA5A8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BDA5A8 */ if (_t2) goto L_02BDA5AC; else goto L_02BDA5BC;
|
|
L_02BDA5AC: ; // 0x2bda5ac
|
|
/* 02BDA5AC */ cpu->r[3] = 0x00000008u;
|
|
/* 02BDA5B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02BDA5B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDA5B8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA5B8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BDA5B8 */ if (_t4) goto L_02BDA5C8; else goto L_02BDA5BC;
|
|
L_02BDA5BC: ; // 0x2bda5bc
|
|
/* 02BDA5BC */ cpu->r[12] = 0x00000000u;
|
|
/* 02BDA5C0 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02BDA5C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BDA5C4 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02BDA5C4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
L_02BDA5C8: ; // 0x2bda5c8
|
|
/* 02BDA5C8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA5C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDA5CC */ cpu->lr = cpu->r[0];
|
|
/* 02BDA5D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA5D4 */ return;
|
|
}
|
|
|
|
// fn_02BDA5D8 @ 0x2bda5d8
|
|
void Gambit_fn_02BDA5D8(CPUState* cpu) {
|
|
L_02BDA5D8: ; // 0x2bda5d8
|
|
/* 02BDA5D8 */ cpu->r[3] = 0x00007200u;
|
|
/* 02BDA5DC */ return;
|
|
}
|
|
|
|
// fn_02BDA5E0 @ 0x2bda5e0
|
|
void Gambit_fn_02BDA5E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BDA5E0: ; // 0x2bda5e0
|
|
/* 02BDA5E0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BDA5E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BDA5E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA5E4 */ cpu->r[1] = _t0;
|
|
/* 02BDA5E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA5E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BDA5EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDA5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDA5F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA5F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BDA5F4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA5F4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BDA5F4 */ if (_t4) goto L_02BDA5F8; else goto L_02BDA608;
|
|
L_02BDA5F8: ; // 0x2bda5f8
|
|
/* 02BDA5F8 */ cpu->r[3] = 0x00000058u;
|
|
/* 02BDA5FC */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BDA600 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDA600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDA604 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA604 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BDA604 */ if (_t6) goto L_02BDA630; else goto L_02BDA608;
|
|
L_02BDA608: ; // 0x2bda608
|
|
/* 02BDA608 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA60C */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BDA610 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BDA614 */ cpu->r[0] = cpu->r[0] + 0x00004480u;
|
|
/* 02BDA618 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02BDA61C */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 02BDA61C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BDA620 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BDA624 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BDA628 */ _t8 = cpu->r[31] + 0x00000055u;
|
|
/* 02BDA628 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 02BDA62C */ _t9 = cpu->r[31] + 0x00000054u;
|
|
/* 02BDA62C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
L_02BDA630: ; // 0x2bda630
|
|
/* 02BDA630 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BDA634 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA638 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDA63C */ cpu->lr = cpu->r[0];
|
|
/* 02BDA640 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA644 */ return;
|
|
}
|
|
|
|
// fn_02BDA5E4 @ 0x2bda5e4
|
|
void Gambit_fn_02BDA5E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BDA5E4: ; // 0x2bda5e4
|
|
/* 02BDA5E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BDA5E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA5E4 */ cpu->r[1] = _t0;
|
|
/* 02BDA5E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA5E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BDA5EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDA5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDA5F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA5F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BDA5F4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA5F4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BDA5F4 */ if (_t4) goto L_02BDA5F8; else goto L_02BDA608;
|
|
L_02BDA5F8: ; // 0x2bda5f8
|
|
/* 02BDA5F8 */ cpu->r[3] = 0x00000058u;
|
|
/* 02BDA5FC */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BDA600 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDA600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDA604 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA604 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BDA604 */ if (_t6) goto L_02BDA630; else goto L_02BDA608;
|
|
L_02BDA608: ; // 0x2bda608
|
|
/* 02BDA608 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA60C */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BDA610 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BDA614 */ cpu->r[0] = cpu->r[0] + 0x00004480u;
|
|
/* 02BDA618 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02BDA61C */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 02BDA61C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BDA620 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BDA624 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BDA628 */ _t8 = cpu->r[31] + 0x00000055u;
|
|
/* 02BDA628 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 02BDA62C */ _t9 = cpu->r[31] + 0x00000054u;
|
|
/* 02BDA62C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
L_02BDA630: ; // 0x2bda630
|
|
/* 02BDA630 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BDA634 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA638 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDA63C */ cpu->lr = cpu->r[0];
|
|
/* 02BDA640 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA644 */ return;
|
|
}
|
|
|
|
// fn_02BDA648 @ 0x2bda648
|
|
void Gambit_fn_02BDA648(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BDA648: ; // 0x2bda648
|
|
/* 02BDA648 */ cpu->r[0] = cpu->lr;
|
|
/* 02BDA64C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BDA64C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA64C */ cpu->r[1] = _t0;
|
|
/* 02BDA650 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA650 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BDA654 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA654 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BDA658 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDA658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDA65C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BDA660 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA660 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BDA664 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA664 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BDA664 */ if (_t5) goto L_02BDA690; else goto L_02BDA668;
|
|
L_02BDA668: ; // 0x2bda668
|
|
/* 02BDA668 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02BDA66C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BDA670 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BDA674 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA678 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BDA67C */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BDA680 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BDA680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDA684 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA684 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BDA684 */ if (_t7) goto L_02BDA690; else goto L_02BDA688;
|
|
L_02BDA688: ; // 0x2bda688
|
|
/* 02BDA688 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA68C */ Gambit_fn_02B674C4(cpu);
|
|
L_02BDA690: ; // 0x2bda690
|
|
/* 02BDA690 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BDA694 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA694 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDA698 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA69C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA69C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BDA6A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA6A4 */ return;
|
|
}
|
|
|
|
// fn_02BDA64C @ 0x2bda64c
|
|
void Gambit_fn_02BDA64C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BDA64C: ; // 0x2bda64c
|
|
/* 02BDA64C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BDA64C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA64C */ cpu->r[1] = _t0;
|
|
/* 02BDA650 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA650 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BDA654 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA654 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BDA658 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDA658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDA65C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BDA660 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA660 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BDA664 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA664 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BDA664 */ if (_t5) goto L_02BDA690; else goto L_02BDA668;
|
|
L_02BDA668: ; // 0x2bda668
|
|
/* 02BDA668 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02BDA66C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BDA670 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BDA674 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA678 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BDA67C */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BDA680 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BDA680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDA684 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA684 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BDA684 */ if (_t7) goto L_02BDA690; else goto L_02BDA688;
|
|
L_02BDA688: ; // 0x2bda688
|
|
/* 02BDA688 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA68C */ Gambit_fn_02B674C4(cpu);
|
|
L_02BDA690: ; // 0x2bda690
|
|
/* 02BDA690 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BDA694 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA694 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDA698 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA69C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA69C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BDA6A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA6A4 */ return;
|
|
}
|
|
|
|
// fn_02BDA6A8 @ 0x2bda6a8
|
|
void Gambit_fn_02BDA6A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02BDA6A8: ; // 0x2bda6a8
|
|
/* 02BDA6A8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BDA6AC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BDA6AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA6AC */ cpu->r[1] = _t0;
|
|
/* 02BDA6B0 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA6B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BDA6B4 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA6B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BDA6B8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BDA6BC */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA6BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BDA6C0 */ _t4 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BDA6C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BDA6C0 */ cpu->r[30] = _t4;
|
|
/* 02BDA6C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDA6C8 */ _t5 = cpu->r[9] + 0x00000004u;
|
|
/* 02BDA6C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BDA6CC */ _t6 = cpu->r[3] + 0x00000058u;
|
|
/* 02BDA6CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDA6D0 */ _t7 = cpu->r[10] + 0x00000034u;
|
|
/* 02BDA6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDA6D4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BDA6D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDA6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 02BDA6E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA6E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BDA6E0 */ if (_t9) goto L_02BDA6E4; else goto L_02BDA710;
|
|
L_02BDA6E4: ; // 0x2bda6e4
|
|
/* 02BDA6E4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BDA6E8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA6EC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA6F0 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BDA6F4 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA6F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BDA6F8 */ cpu->r[3] = cpu->r[0] | 0x00009425u;
|
|
/* 02BDA6FC */ _t11 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA6FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDA700 */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA700 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDA704 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA708 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA70C */ return;
|
|
L_02BDA710: ; // 0x2bda710
|
|
/* 02BDA710 */ _t13 = cpu->r[31] + 0x00000018u;
|
|
/* 02BDA710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BDA714 */ _t14 = cpu->r[12] + 0x00000014u;
|
|
/* 02BDA714 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BDA718 */ cpu->ctr = cpu->r[7];
|
|
/* 02BDA71C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA720 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BDA724 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDA728 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02BDA728 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BDA72C */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BDA730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDA734 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA734 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BDA734 */ if (_t17) goto L_02BDA774; else goto L_02BDA738;
|
|
L_02BDA738: ; // 0x2bda738
|
|
/* 02BDA738 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BDA73C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BDA740 */ _t18 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BDA740 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[7]);
|
|
/* 02BDA744 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA744 */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[0]);
|
|
/* 02BDA748 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA748 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BDA74C */ cpu->r[0] = 0x02BE0000u;
|
|
/* 02BDA750 */ cpu->r[0] = cpu->r[0] + 0xFFFFAAD4u;
|
|
/* 02BDA754 */ _t21 = cpu->r[31] + 0x00000020u;
|
|
/* 02BDA754 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02BDA758 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BDA75C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA75C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02BDA760 */ cpu->r[11] = cpu->r[11] + 0x00004360u;
|
|
/* 02BDA764 */ _t23 = cpu->r[31] + 0x00000024u;
|
|
/* 02BDA764 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02BDA768 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BDA76C */ _t24 = cpu->r[31] + 0x00000028u;
|
|
/* 02BDA76C */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02BDA770 */ goto L_02BDA7A8;
|
|
L_02BDA774: ; // 0x2bda774
|
|
/* 02BDA774 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BDA778 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02BDA77C */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDA77C */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[0]);
|
|
/* 02BDA780 */ cpu->r[9] = 0x02BE0000u;
|
|
/* 02BDA784 */ _t26 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BDA784 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[11]);
|
|
/* 02BDA788 */ cpu->r[9] = cpu->r[9] + 0xFFFFA83Cu;
|
|
/* 02BDA78C */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDA78C */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BDA790 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BDA794 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDA794 */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 02BDA798 */ cpu->r[11] = cpu->r[11] + 0x00004334u;
|
|
/* 02BDA79C */ _t29 = cpu->r[31] + 0x00000020u;
|
|
/* 02BDA79C */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
|
|
/* 02BDA7A0 */ _t30 = cpu->r[31] + 0x00000028u;
|
|
/* 02BDA7A0 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 02BDA7A4 */ _t31 = cpu->r[31] + 0x00000024u;
|
|
/* 02BDA7A4 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
L_02BDA7A8: ; // 0x2bda7a8
|
|
/* 02BDA7A8 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BDA7AC */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BDA7B0 */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA7B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BDA7B4 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA7B8 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA7B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BDA7BC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA7C0 */ return;
|
|
}
|
|
|
|
// fn_02BDA6AC @ 0x2bda6ac
|
|
void Gambit_fn_02BDA6AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02BDA6AC: ; // 0x2bda6ac
|
|
/* 02BDA6AC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BDA6AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA6AC */ cpu->r[1] = _t0;
|
|
/* 02BDA6B0 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA6B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BDA6B4 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA6B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BDA6B8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BDA6BC */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA6BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BDA6C0 */ _t4 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BDA6C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BDA6C0 */ cpu->r[30] = _t4;
|
|
/* 02BDA6C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDA6C8 */ _t5 = cpu->r[9] + 0x00000004u;
|
|
/* 02BDA6C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BDA6CC */ _t6 = cpu->r[3] + 0x00000058u;
|
|
/* 02BDA6CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDA6D0 */ _t7 = cpu->r[10] + 0x00000034u;
|
|
/* 02BDA6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDA6D4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BDA6D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDA6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 02BDA6E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA6E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BDA6E0 */ if (_t9) goto L_02BDA6E4; else goto L_02BDA710;
|
|
L_02BDA6E4: ; // 0x2bda6e4
|
|
/* 02BDA6E4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BDA6E8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA6EC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA6F0 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BDA6F4 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA6F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BDA6F8 */ cpu->r[3] = cpu->r[0] | 0x00009425u;
|
|
/* 02BDA6FC */ _t11 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA6FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDA700 */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA700 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDA704 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA708 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA70C */ return;
|
|
L_02BDA710: ; // 0x2bda710
|
|
/* 02BDA710 */ _t13 = cpu->r[31] + 0x00000018u;
|
|
/* 02BDA710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BDA714 */ _t14 = cpu->r[12] + 0x00000014u;
|
|
/* 02BDA714 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BDA718 */ cpu->ctr = cpu->r[7];
|
|
/* 02BDA71C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA720 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BDA724 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDA728 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02BDA728 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BDA72C */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BDA730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDA734 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA734 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BDA734 */ if (_t17) goto L_02BDA774; else goto L_02BDA738;
|
|
L_02BDA738: ; // 0x2bda738
|
|
/* 02BDA738 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BDA73C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BDA740 */ _t18 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BDA740 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[7]);
|
|
/* 02BDA744 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA744 */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[0]);
|
|
/* 02BDA748 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA748 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BDA74C */ cpu->r[0] = 0x02BE0000u;
|
|
/* 02BDA750 */ cpu->r[0] = cpu->r[0] + 0xFFFFAAD4u;
|
|
/* 02BDA754 */ _t21 = cpu->r[31] + 0x00000020u;
|
|
/* 02BDA754 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02BDA758 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BDA75C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA75C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02BDA760 */ cpu->r[11] = cpu->r[11] + 0x00004360u;
|
|
/* 02BDA764 */ _t23 = cpu->r[31] + 0x00000024u;
|
|
/* 02BDA764 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02BDA768 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BDA76C */ _t24 = cpu->r[31] + 0x00000028u;
|
|
/* 02BDA76C */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02BDA770 */ goto L_02BDA7A8;
|
|
L_02BDA774: ; // 0x2bda774
|
|
/* 02BDA774 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BDA778 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02BDA77C */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDA77C */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[0]);
|
|
/* 02BDA780 */ cpu->r[9] = 0x02BE0000u;
|
|
/* 02BDA784 */ _t26 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BDA784 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[11]);
|
|
/* 02BDA788 */ cpu->r[9] = cpu->r[9] + 0xFFFFA83Cu;
|
|
/* 02BDA78C */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDA78C */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BDA790 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BDA794 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDA794 */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 02BDA798 */ cpu->r[11] = cpu->r[11] + 0x00004334u;
|
|
/* 02BDA79C */ _t29 = cpu->r[31] + 0x00000020u;
|
|
/* 02BDA79C */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
|
|
/* 02BDA7A0 */ _t30 = cpu->r[31] + 0x00000028u;
|
|
/* 02BDA7A0 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 02BDA7A4 */ _t31 = cpu->r[31] + 0x00000024u;
|
|
/* 02BDA7A4 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
L_02BDA7A8: ; // 0x2bda7a8
|
|
/* 02BDA7A8 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BDA7AC */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BDA7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BDA7B0 */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 02BDA7B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BDA7B4 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA7B8 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDA7B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BDA7BC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BDA7C0 */ return;
|
|
}
|
|
|
|
// fn_02BDA7C4 @ 0x2bda7c4
|
|
void Gambit_fn_02BDA7C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BDA7C4: ; // 0x2bda7c4
|
|
/* 02BDA7C4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BDA7C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BDA7C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA7C8 */ cpu->r[1] = _t0;
|
|
/* 02BDA7CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA7CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BDA7D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDA7D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA7D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BDA7D8 */ _t3 = cpu->r[31] + 0x00000040u;
|
|
/* 02BDA7D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BDA7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BDA7E0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA7E0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BDA7E0 */ if (_t5) goto L_02BDA7E4; else goto L_02BDA7EC;
|
|
L_02BDA7E4: ; // 0x2bda7e4
|
|
/* 02BDA7E4 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02BDA7E8 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BDA7EC: ; // 0x2bda7ec
|
|
/* 02BDA7EC */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02BDA7F0 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BDA7F4 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 02BDA7F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDA7F8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BDA7FC */ _t7 = cpu->r[31] + 0x00000054u;
|
|
/* 02BDA7FC */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 02BDA800 */ _t8 = cpu->r[12] + 0x00000024u;
|
|
/* 02BDA800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BDA804 */ cpu->ctr = cpu->r[0];
|
|
/* 02BDA808 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA80C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDA810 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BDA810 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDA814 */ _t10 = cpu->r[11] + 0x00000014u;
|
|
/* 02BDA814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BDA818 */ cpu->ctr = cpu->r[0];
|
|
/* 02BDA81C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA820 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BDA824 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDA828 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDA82C */ cpu->lr = cpu->r[0];
|
|
/* 02BDA830 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA830 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDA834 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA838 */ return;
|
|
}
|
|
|
|
// fn_02BDA7C8 @ 0x2bda7c8
|
|
void Gambit_fn_02BDA7C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BDA7C8: ; // 0x2bda7c8
|
|
/* 02BDA7C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BDA7C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA7C8 */ cpu->r[1] = _t0;
|
|
/* 02BDA7CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA7CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BDA7D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDA7D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA7D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BDA7D8 */ _t3 = cpu->r[31] + 0x00000040u;
|
|
/* 02BDA7D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BDA7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BDA7E0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA7E0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BDA7E0 */ if (_t5) goto L_02BDA7E4; else goto L_02BDA7EC;
|
|
L_02BDA7E4: ; // 0x2bda7e4
|
|
/* 02BDA7E4 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02BDA7E8 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BDA7EC: ; // 0x2bda7ec
|
|
/* 02BDA7EC */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02BDA7F0 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BDA7F4 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 02BDA7F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDA7F8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BDA7FC */ _t7 = cpu->r[31] + 0x00000054u;
|
|
/* 02BDA7FC */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 02BDA800 */ _t8 = cpu->r[12] + 0x00000024u;
|
|
/* 02BDA800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BDA804 */ cpu->ctr = cpu->r[0];
|
|
/* 02BDA808 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA80C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDA810 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BDA810 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDA814 */ _t10 = cpu->r[11] + 0x00000014u;
|
|
/* 02BDA814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BDA818 */ cpu->ctr = cpu->r[0];
|
|
/* 02BDA81C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDA820 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BDA824 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDA828 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDA828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDA82C */ cpu->lr = cpu->r[0];
|
|
/* 02BDA830 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDA830 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDA834 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BDA838 */ return;
|
|
}
|
|
|
|
// fn_02BDA83C @ 0x2bda83c
|
|
void Gambit_fn_02BDA83C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88;
|
|
|
|
L_02BDA83C: ; // 0x2bda83c
|
|
/* 02BDA83C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BDA83C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDA83C */ cpu->r[1] = _t0;
|
|
/* 02BDA840 */ /* nop */
|
|
/* 02BDA844 */ cpu->r[0] = cpu->lr;
|
|
/* 02BDA848 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDA848 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BDA84C */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BDA850 */ _t2 = cpu->r[28] + 0xFFFFB774u;
|
|
/* 02BDA850 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BDA850 */ cpu->r[28] = _t2;
|
|
/* 02BDA854 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDA858 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 02BDA858 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BDA85C */ _t4 = cpu->r[3] + 0x00000058u;
|
|
/* 02BDA85C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BDA860 */ _t5 = cpu->r[12] + 0x00000034u;
|
|
/* 02BDA860 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BDA864 */ cpu->ctr = cpu->r[10];
|
|
/* 02BDA868 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDA86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BDA870 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BDA874 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA874 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BDA874 */ if (_t7) goto L_02BDA8A8; else goto L_02BDA878;
|
|
L_02BDA878: ; // 0x2bda878
|
|
/* 02BDA878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDA87C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA87C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BDA87C */ if (_t9) goto L_02BDA8A8; else goto L_02BDA880;
|
|
L_02BDA880: ; // 0x2bda880
|
|
/* 02BDA880 */ _t10 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDA880 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BDA884 */ cpu->r[9] = 0x00000001u;
|
|
/* 02BDA888 */ _t11 = cpu->r[8] + 0x0000007Cu;
|
|
/* 02BDA888 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 02BDA88C */ /* nop */
|
|
/* 02BDA890 */ _t12 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BDA890 */ _t13 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BDA890 */ cpu->r[0] = _t13 | _t12;
|
|
/* 02BDA894 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BDA898 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDA898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BDA89C */ cpu->lr = cpu->r[0];
|
|
/* 02BDA8A0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BDA8A4 */ return;
|
|
L_02BDA8A8: ; // 0x2bda8a8
|
|
/* 02BDA8A8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BDA8AC */ _t15 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BDA8AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BDA8B0 */ _t16 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BDA8B0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BDA8B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BDA8B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDA8B8 */ _t17 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDA8B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BDA8BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA8BC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BDA8BC */ if (_t19) goto L_02BDA8E8; else goto L_02BDA8C0;
|
|
L_02BDA8C0: ; // 0x2bda8c0
|
|
/* 02BDA8C0 */ cpu->r[12] = 0x00000003u;
|
|
/* 02BDA8C4 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BDA8C8 */ _t20 = cpu->r[9] + 0x0000007Cu;
|
|
/* 02BDA8C8 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02BDA8CC */ /* nop */
|
|
/* 02BDA8D0 */ _t21 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BDA8D0 */ _t22 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BDA8D0 */ cpu->r[0] = _t22 | _t21;
|
|
/* 02BDA8D4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BDA8D8 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDA8D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BDA8DC */ cpu->lr = cpu->r[0];
|
|
/* 02BDA8E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BDA8E4 */ return;
|
|
L_02BDA8E8: ; // 0x2bda8e8
|
|
/* 02BDA8E8 */ _t24 = cpu->r[9] + 0x00000078u;
|
|
/* 02BDA8E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BDA8EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u);
|
|
/* 02BDA8F0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA8F0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BDA8F0 */ if (_t26) goto L_02BDA8F4; else goto L_02BDA970;
|
|
L_02BDA8F4: ; // 0x2bda8f4
|
|
/* 02BDA8F4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BDA8F8 */ _t27 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BDA8F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BDA8F8 */ cpu->r[30] = _t27;
|
|
/* 02BDA8FC */ Gambit_fn_02BC4868(cpu);
|
|
/* 02BDA900 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BDA904 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA908 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDA90C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDA910 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BDA914 */ cpu->r[0] = cpu->r[0] | 0x000094F8u;
|
|
/* 02BDA918 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02BDA91C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDA91C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02BDA920 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA920 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BDA920 */ if (_t30) goto L_02BDA924; else goto L_02BDA970;
|
|
L_02BDA924: ; // 0x2bda924
|
|
/* 02BDA924 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 02BDA924 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BDA928 */ Gambit_fn_02BC48B8(cpu);
|
|
/* 02BDA92C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02BDA930 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BDA930 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BDA930 */ if (_t33) goto L_02BDA934; else goto L_02BDA944;
|
|
L_02BDA934: ; // 0x2bda934
|
|
/* 02BDA934 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000003u);
|
|
/* 02BDA938 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BDA938 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BDA938 */ if (_t35) goto L_02BDA950; else goto L_02BDA93C;
|
|
L_02BDA93C: ; // 0x2bda93c
|
|
/* 02BDA93C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000009u);
|
|
/* 02BDA940 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BDA940 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BDA940 */ if (_t37) goto L_02BDA950; else goto L_02BDA944;
|
|
L_02BDA944: ; // 0x2bda944
|
|
/* 02BDA944 */ _t38 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDA944 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BDA948 */ cpu->r[0] = 0x00000002u;
|
|
/* 02BDA94C */ _t39 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BDA94C */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
L_02BDA950: ; // 0x2bda950
|
|
/* 02BDA950 */ /* nop */
|
|
/* 02BDA954 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BDA958 */ _t40 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BDA958 */ _t41 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BDA958 */ cpu->r[0] = _t41 | _t40;
|
|
/* 02BDA95C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BDA960 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDA960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BDA964 */ cpu->lr = cpu->r[0];
|
|
/* 02BDA968 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BDA96C */ return;
|
|
L_02BDA970: ; // 0x2bda970
|
|
/* 02BDA970 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BDA974 */ _t43 = cpu->r[9] + 0x000027BDu;
|
|
/* 02BDA974 */ cpu->r[9] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02BDA978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BDA97C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA97C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BDA97C */ if (_t45) goto L_02BDAAB4; else goto L_02BDA980;
|
|
L_02BDA980: ; // 0x2bda980
|
|
/* 02BDA980 */ _t46 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDA980 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BDA984 */ _t47 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BDA984 */ cpu->r[0] = rbrew_read8(cpu->mem, _t47);
|
|
/* 02BDA988 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BDA98C */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02BDA990 */ _t48 = cpu->r[12] + 0x000000C4u;
|
|
/* 02BDA990 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BDA994 */ Gambit_fn_02BD61DC(cpu);
|
|
/* 02BDA998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDA99C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA99C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BDA99C */ if (_t50) goto L_02BDAA10; else goto L_02BDA9A0;
|
|
L_02BDA9A0: ; // 0x2bda9a0
|
|
/* 02BDA9A0 */ _t51 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDA9A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BDA9A4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BDA9A8 */ Gambit_fn_02BD61D4(cpu);
|
|
/* 02BDA9AC */ _t52 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDA9AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BDA9B0 */ Gambit_fn_02BD4A40(cpu);
|
|
/* 02BDA9B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDA9B8 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDA9B8 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BDA9B8 */ if (_t54) goto L_02BDAA10; else goto L_02BDA9BC;
|
|
L_02BDA9BC: ; // 0x2bda9bc
|
|
/* 02BDA9BC */ _t55 = cpu->r[30] + 0x00000000u;
|
|
/* 02BDA9BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BDA9C0 */ _t56 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDA9C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BDA9C4 */ _t57 = cpu->r[8] + 0x000000FCu;
|
|
/* 02BDA9C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BDA9C8 */ _t58 = cpu->r[12] + 0x000000C2u;
|
|
/* 02BDA9C8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02BDA9CC */ cpu->ctr = cpu->r[0];
|
|
/* 02BDA9D0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BDA9D4 */ cpu->r[11] = cpu->r[12] + cpu->r[9];
|
|
/* 02BDA9D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BDA9DC */ _t59 = cpu->r[11] + 0x000000D0u;
|
|
/* 02BDA9DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BDA9E0 */ cpu->r[4] = cpu->r[31] + 0x00000040u;
|
|
/* 02BDA9E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDA9E8 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BDA9EC */ _t60 = cpu->r[31] + 0x00000054u;
|
|
/* 02BDA9EC */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[8]);
|
|
/* 02BDA9F0 */ _t61 = cpu->r[30] + 0x00000000u;
|
|
/* 02BDA9F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BDA9F4 */ _t62 = cpu->r[11] + 0x00000104u;
|
|
/* 02BDA9F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BDA9F8 */ cpu->ctr = cpu->r[12];
|
|
/* 02BDA9FC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BDAA00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDAA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDAA08 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAA08 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BDAA08 */ if (_t64) goto L_02BDAA3C; else goto L_02BDAA0C;
|
|
L_02BDAA0C: ; // 0x2bdaa0c
|
|
/* 02BDAA0C */ goto L_02BDAA38;
|
|
L_02BDAA10: ; // 0x2bdaa10
|
|
/* 02BDAA10 */ _t65 = cpu->r[31] + 0x00000054u;
|
|
/* 02BDAA10 */ cpu->r[0] = rbrew_read8(cpu->mem, _t65);
|
|
/* 02BDAA14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDAA18 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAA18 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02BDAA18 */ if (_t67) goto L_02BDAA3C; else goto L_02BDAA1C;
|
|
L_02BDAA1C: ; // 0x2bdaa1c
|
|
/* 02BDAA1C */ _t68 = cpu->r[30] + 0x00000000u;
|
|
/* 02BDAA1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BDAA20 */ _t69 = cpu->r[11] + 0x00000104u;
|
|
/* 02BDAA20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BDAA24 */ cpu->ctr = cpu->r[12];
|
|
/* 02BDAA28 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BDAA2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDAA30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDAA34 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAA34 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02BDAA34 */ if (_t71) goto L_02BDAA3C; else goto L_02BDAA38;
|
|
L_02BDAA38: ; // 0x2bdaa38
|
|
/* 02BDAA38 */ _t72 = cpu->r[31] + 0x00000054u;
|
|
/* 02BDAA38 */ rbrew_write8(cpu->mem, _t72, (uint8_t)cpu->r[29]);
|
|
L_02BDAA3C: ; // 0x2bdaa3c
|
|
/* 02BDAA3C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BDAA40 */ Gambit_fn_02BD5E10(cpu);
|
|
/* 02BDAA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDAA48 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAA48 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BDAA48 */ if (_t74) goto L_02BDAA4C; else goto L_02BDAAB4;
|
|
L_02BDAA4C: ; // 0x2bdaa4c
|
|
/* 02BDAA4C */ _t75 = cpu->r[30] + 0x00000000u;
|
|
/* 02BDAA4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BDAA50 */ _t76 = cpu->r[8] + 0x00000134u;
|
|
/* 02BDAA50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BDAA54 */ cpu->ctr = cpu->r[0];
|
|
/* 02BDAA58 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BDAA5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDAA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDAA64 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAA64 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02BDAA64 */ if (_t78) goto L_02BDAAB4; else goto L_02BDAA68;
|
|
L_02BDAA68: ; // 0x2bdaa68
|
|
/* 02BDAA68 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BDAA6C */ _t79 = cpu->r[31] + 0xFFFFB6C0u;
|
|
/* 02BDAA6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BDAA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDAA74 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAA74 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02BDAA74 */ if (_t81) goto L_02BDAAB4; else goto L_02BDAA78;
|
|
L_02BDAA78: ; // 0x2bdaa78
|
|
/* 02BDAA78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDAA7C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDAA80 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BDAA84 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BDAA88 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDAA8C */ cpu->r[5] = cpu->r[5] + 0x0000439Cu;
|
|
/* 02BDAA90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDAA94 */ _t82 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BDAA94 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02BDAA94 */ if (_t83) goto L_02BDAA98; // else: addr-0 trap, fall-through
|
|
L_02BDAA98: ; // 0x2bdaa98
|
|
/* 02BDAA98 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BDAA9C */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BDAAA0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDAAA4 */ cpu->r[5] = cpu->r[5] + 0x00004398u;
|
|
/* 02BDAAA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDAAAC */ _t84 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BDAAAC */ _t85 = _t84 & 0x00000001u;
|
|
/* 02BDAAAC */ if (_t85) goto L_02BDAAB0; // else: addr-0 trap, fall-through
|
|
L_02BDAAB0: ; // 0x2bdaab0
|
|
/* 02BDAAB0 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BDAAB4: ; // 0x2bdaab4
|
|
/* 02BDAAB4 */ /* nop */
|
|
/* 02BDAAB8 */ cpu->r[10] = 0x00000005u;
|
|
/* 02BDAABC */ _t86 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BDAABC */ _t87 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BDAABC */ cpu->r[0] = _t87 | _t86;
|
|
/* 02BDAAC0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BDAAC4 */ _t88 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDAAC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BDAAC8 */ cpu->lr = cpu->r[0];
|
|
/* 02BDAACC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BDAAD0 */ return;
|
|
}
|
|
|
|
// fn_02BDAAD4 @ 0x2bdaad4
|
|
void Gambit_fn_02BDAAD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BDAAD4: ; // 0x2bdaad4
|
|
/* 02BDAAD4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BDAAD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDAAD4 */ cpu->r[1] = _t0;
|
|
/* 02BDAAD8 */ /* nop */
|
|
/* 02BDAADC */ cpu->r[0] = cpu->lr;
|
|
/* 02BDAAE0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BDAAE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BDAAE4 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BDAAE8 */ _t2 = cpu->r[28] + 0xFFFFB774u;
|
|
/* 02BDAAE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BDAAEC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BDAAF0 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 02BDAAF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BDAAF4 */ _t4 = cpu->r[3] + 0x00000058u;
|
|
/* 02BDAAF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BDAAF8 */ _t5 = cpu->r[11] + 0x00000034u;
|
|
/* 02BDAAF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BDAAFC */ cpu->ctr = cpu->r[7];
|
|
/* 02BDAB00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDAB04 */ _t6 = cpu->r[28] + 0xFFFFB774u;
|
|
/* 02BDAB04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDAB04 */ cpu->r[28] = _t6;
|
|
/* 02BDAB08 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BDAB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 02BDAB10 */ _t7 = cpu->r[11] + 0x00000078u;
|
|
/* 02BDAB10 */ cpu->r[26] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDAB14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAB14 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BDAB14 */ if (_t9) goto L_02BDAB18; else goto L_02BDAB3C;
|
|
L_02BDAB18: ; // 0x2bdab18
|
|
/* 02BDAB18 */ _t10 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BDAB18 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02BDAB1C */ /* nop */
|
|
/* 02BDAB20 */ cpu->r[6] = 0x00000003u;
|
|
/* 02BDAB24 */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BDAB24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDAB28 */ _t12 = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BDAB28 */ _t13 = cpu->r[10] & 0x00FFFFFFu;
|
|
/* 02BDAB28 */ cpu->r[10] = _t13 | _t12;
|
|
/* 02BDAB2C */ cpu->lr = cpu->r[0];
|
|
/* 02BDAB30 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BDAB34 */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BDAB38 */ return;
|
|
L_02BDAB3C: ; // 0x2bdab3c
|
|
/* 02BDAB3C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BDAB40 */ _t14 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BDAB40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BDAB44 */ _t15 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BDAB44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BDAB48 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BDAB48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BDAB4C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAB4C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BDAB4C */ if (_t17) goto L_02BDAB74; else goto L_02BDAB50;
|
|
L_02BDAB50: ; // 0x2bdab50
|
|
/* 02BDAB50 */ cpu->r[8] = 0x00000003u;
|
|
/* 02BDAB54 */ _t18 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BDAB54 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 02BDAB58 */ /* nop */
|
|
/* 02BDAB5C */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BDAB5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BDAB60 */ _t20 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BDAB60 */ _t21 = cpu->r[12] & 0x00FFFFFFu;
|
|
/* 02BDAB60 */ cpu->r[12] = _t21 | _t20;
|
|
/* 02BDAB64 */ cpu->lr = cpu->r[0];
|
|
/* 02BDAB68 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BDAB6C */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BDAB70 */ return;
|
|
L_02BDAB74: ; // 0x2bdab74
|
|
/* 02BDAB74 */ _t22 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BDAB74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BDAB78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02BDAB7C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAB7C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BDAB7C */ if (_t24) goto L_02BDABA0; else goto L_02BDAB80;
|
|
L_02BDAB80: ; // 0x2bdab80
|
|
/* 02BDAB80 */ /* nop */
|
|
/* 02BDAB84 */ cpu->r[9] = 0x00000005u;
|
|
/* 02BDAB88 */ _t25 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BDAB88 */ _t26 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BDAB88 */ cpu->r[0] = _t26 | _t25;
|
|
/* 02BDAB8C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BDAB90 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BDAB90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BDAB94 */ cpu->lr = cpu->r[0];
|
|
/* 02BDAB98 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BDAB9C */ return;
|
|
L_02BDABA0: ; // 0x2bdaba0
|
|
/* 02BDABA0 */ cpu->r[10] = 0x00000005u;
|
|
/* 02BDABA4 */ _t28 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BDABA4 */ _t29 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BDABA4 */ cpu->r[31] = _t29 | _t28;
|
|
/* 02BDABA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000002u);
|
|
/* 02BDABAC */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BDABB0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDABB0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BDABB0 */ if (_t31) goto L_02BDABBC; else goto L_02BDABB4;
|
|
L_02BDABB4: ; // 0x2bdabb4
|
|
/* 02BDABB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000004u);
|
|
/* 02BDABB8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDABB8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BDABB8 */ if (_t33) goto L_02BDABBC; else goto L_02BDAC80;
|
|
L_02BDABBC: ; // 0x2bdabbc
|
|
/* 02BDABBC */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BDABC0 */ _t34 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BDABC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BDABC0 */ cpu->r[27] = _t34;
|
|
/* 02BDABC4 */ Gambit_fn_02BC4868(cpu);
|
|
/* 02BDABC8 */ cpu->r[25] = cpu->r[3];
|
|
/* 02BDABCC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BDABD0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDABD4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDABD8 */ cpu->r[12] = 0xFD230000u;
|
|
/* 02BDABDC */ cpu->r[12] = cpu->r[12] + 0xFFFF94F8u;
|
|
/* 02BDABE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[12]);
|
|
/* 02BDABE4 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDABE4 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02BDABE8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDABE8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BDABE8 */ if (_t37) goto L_02BDABEC; else goto L_02BDAC3C;
|
|
L_02BDABEC: ; // 0x2bdabec
|
|
/* 02BDABEC */ _t38 = cpu->r[27] + 0x00000000u;
|
|
/* 02BDABEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BDABF0 */ Gambit_fn_02BC48B8(cpu);
|
|
/* 02BDABF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
|
|
/* 02BDABF8 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BDABF8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BDABF8 */ if (_t40) goto L_02BDAC2C; else goto L_02BDABFC;
|
|
L_02BDABFC: ; // 0x2bdabfc
|
|
/* 02BDABFC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDABFC */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BDABFC */ if (_t42) goto L_02BDAC20; else goto L_02BDAC00;
|
|
L_02BDAC00: ; // 0x2bdac00
|
|
/* 02BDAC00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000009u);
|
|
/* 02BDAC04 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BDAC04 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BDAC04 */ if (_t44) goto L_02BDAC08; else goto L_02BDAC2C;
|
|
L_02BDAC08: ; // 0x2bdac08
|
|
/* 02BDAC08 */ cpu->r[7] = 0x00000003u;
|
|
/* 02BDAC0C */ _t45 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAC0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BDAC10 */ _t46 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BDAC10 */ _t47 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BDAC10 */ cpu->r[0] = _t47 | _t46;
|
|
/* 02BDAC14 */ _t48 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02BDAC14 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 02BDAC18 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BDAC1C */ goto L_02BDAF84;
|
|
L_02BDAC20: ; // 0x2bdac20
|
|
/* 02BDAC20 */ _t49 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAC20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BDAC24 */ _t50 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BDAC24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BDAC28 */ goto L_02BDAD00;
|
|
L_02BDAC2C: ; // 0x2bdac2c
|
|
/* 02BDAC2C */ _t51 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAC2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BDAC30 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BDAC34 */ _t52 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BDAC34 */ rbrew_write32(cpu->mem, _t52, cpu->r[6]);
|
|
/* 02BDAC38 */ goto L_02BDAF84;
|
|
L_02BDAC3C: ; // 0x2bdac3c
|
|
/* 02BDAC3C */ _t53 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAC3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BDAC40 */ _t54 = cpu->r[11] + 0x000000C2u;
|
|
/* 02BDAC40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t54);
|
|
/* 02BDAC44 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BDAC48 */ cpu->r[12] = cpu->r[11] + cpu->r[9];
|
|
/* 02BDAC4C */ _t55 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BDAC4C */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BDAC50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BDAC54 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAC54 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BDAC54 */ if (_t57) goto L_02BDACF0; else goto L_02BDAC58;
|
|
L_02BDAC58: ; // 0x2bdac58
|
|
/* 02BDAC58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000004u);
|
|
/* 02BDAC5C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAC5C */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BDAC5C */ if (_t59) goto L_02BDAC60; else goto L_02BDACFC;
|
|
L_02BDAC60: ; // 0x2bdac60
|
|
/* 02BDAC60 */ _t60 = cpu->r[11] + 0x000000C2u;
|
|
/* 02BDAC60 */ cpu->r[7] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02BDAC64 */ cpu->r[8] = rbrew_clz32(cpu->r[7]);
|
|
/* 02BDAC68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BDAC6C */ cpu->r[10] = cpu->r[11] + cpu->r[0];
|
|
/* 02BDAC70 */ _t61 = cpu->r[10] + 0x000000D0u;
|
|
/* 02BDAC70 */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BDAC74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BDAC78 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAC78 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BDAC78 */ if (_t63) goto L_02BDAC7C; else goto L_02BDACFC;
|
|
L_02BDAC7C: ; // 0x2bdac7c
|
|
/* 02BDAC7C */ goto L_02BDACF0;
|
|
L_02BDAC80: ; // 0x2bdac80
|
|
/* 02BDAC80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000003u);
|
|
/* 02BDAC84 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAC84 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BDAC84 */ if (_t65) goto L_02BDAC88; else goto L_02BDACE8;
|
|
L_02BDAC88: ; // 0x2bdac88
|
|
/* 02BDAC88 */ _t66 = cpu->r[11] + 0x00000048u;
|
|
/* 02BDAC88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BDAC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BDAC90 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAC90 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BDAC90 */ if (_t68) goto L_02BDACA0; else goto L_02BDAC94;
|
|
L_02BDAC94: ; // 0x2bdac94
|
|
/* 02BDAC94 */ _t69 = cpu->r[7] + 0x000000A5u;
|
|
/* 02BDAC94 */ cpu->r[7] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02BDAC98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BDAC9C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAC9C */ _t71 = _t70 & 0x00000001u;
|
|
/* 02BDAC9C */ if (_t71) goto L_02BDACA0; else goto L_02BDAD00;
|
|
L_02BDACA0: ; // 0x2bdaca0
|
|
/* 02BDACA0 */ _t72 = cpu->r[11] + 0x000000C2u;
|
|
/* 02BDACA0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t72);
|
|
/* 02BDACA4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BDACA8 */ cpu->r[12] = cpu->r[11] + cpu->r[9];
|
|
/* 02BDACAC */ _t73 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BDACAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BDACB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDACB4 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDACB4 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02BDACB4 */ if (_t75) goto L_02BDACB8; else goto L_02BDAD00;
|
|
L_02BDACB8: ; // 0x2bdacb8
|
|
/* 02BDACB8 */ _t76 = cpu->r[11] + 0x000000C2u;
|
|
/* 02BDACB8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02BDACBC */ cpu->r[7] = rbrew_clz32(cpu->r[6]);
|
|
/* 02BDACC0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BDACC4 */ cpu->r[10] = cpu->r[11] + cpu->r[9];
|
|
/* 02BDACC8 */ _t77 = cpu->r[10] + 0x000000D0u;
|
|
/* 02BDACC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BDACCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BDACD0 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDACD0 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02BDACD0 */ if (_t79) goto L_02BDACD4; else goto L_02BDAD00;
|
|
L_02BDACD4: ; // 0x2bdacd4
|
|
/* 02BDACD4 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BDACD8 */ _t80 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BDACD8 */ _t81 = cpu->r[8] & 0x00FFFFFFu;
|
|
/* 02BDACD8 */ cpu->r[8] = _t81 | _t80;
|
|
/* 02BDACDC */ _t82 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BDACDC */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 02BDACE0 */ cpu->r[31] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BDACE4 */ goto L_02BDAF84;
|
|
L_02BDACE8: ; // 0x2bdace8
|
|
/* 02BDACE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02BDACEC */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDACEC */ _t84 = _t83 & 0x00000001u;
|
|
/* 02BDACEC */ if (_t84) goto L_02BDACF0; else goto L_02BDAD00;
|
|
L_02BDACF0: ; // 0x2bdacf0
|
|
/* 02BDACF0 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BDACF4 */ _t85 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BDACF4 */ rbrew_write32(cpu->mem, _t85, cpu->r[6]);
|
|
/* 02BDACF8 */ goto L_02BDAF84;
|
|
L_02BDACFC: ; // 0x2bdacfc
|
|
/* 02BDACFC */ _t86 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BDACFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t86);
|
|
L_02BDAD00: ; // 0x2bdad00
|
|
/* 02BDAD00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02BDAD04 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAD04 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02BDAD04 */ if (_t88) goto L_02BDAD08; else goto L_02BDAF84;
|
|
L_02BDAD08: ; // 0x2bdad08
|
|
/* 02BDAD08 */ cpu->r[10] = 0x10200000u;
|
|
/* 02BDAD0C */ _t89 = cpu->r[10] + 0x000027BDu;
|
|
/* 02BDAD0C */ cpu->r[7] = rbrew_read8(cpu->mem, _t89);
|
|
/* 02BDAD10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BDAD14 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAD14 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02BDAD14 */ if (_t91) goto L_02BDAF84; else goto L_02BDAD18;
|
|
L_02BDAD18: ; // 0x2bdad18
|
|
/* 02BDAD18 */ cpu->r[3] = cpu->r[11];
|
|
/* 02BDAD1C */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BDAD20 */ _t92 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAD20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BDAD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 02BDAD28 */ _t93 = cpu->r[11] + 0x000000C2u;
|
|
/* 02BDAD28 */ cpu->r[0] = rbrew_read8(cpu->mem, _t93);
|
|
/* 02BDAD2C */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAD2C */ _t95 = _t94 & 0x00000001u;
|
|
/* 02BDAD2C */ if (_t95) goto L_02BDAD30; else goto L_02BDAD54;
|
|
L_02BDAD30: ; // 0x2bdad30
|
|
/* 02BDAD30 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BDAD34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BDAD38 */ cpu->r[10] = cpu->r[11] + cpu->r[0];
|
|
/* 02BDAD3C */ cpu->r[3] = cpu->r[11];
|
|
/* 02BDAD40 */ _t96 = cpu->r[10] + 0x000000C4u;
|
|
/* 02BDAD40 */ cpu->r[27] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BDAD44 */ Gambit_fn_02BD61DC(cpu);
|
|
/* 02BDAD48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDAD4C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAD4C */ _t98 = _t97 & 0x00000001u;
|
|
/* 02BDAD4C */ if (_t98) goto L_02BDAE08; else goto L_02BDAD50;
|
|
L_02BDAD50: ; // 0x2bdad50
|
|
/* 02BDAD50 */ goto L_02BDAD70;
|
|
L_02BDAD54: ; // 0x2bdad54
|
|
/* 02BDAD54 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BDAD58 */ cpu->r[6] = cpu->r[11] + cpu->r[12];
|
|
/* 02BDAD5C */ cpu->r[3] = cpu->r[11];
|
|
/* 02BDAD60 */ _t99 = cpu->r[6] + 0x000000C4u;
|
|
/* 02BDAD60 */ cpu->r[27] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BDAD64 */ Gambit_fn_02BD61DC(cpu);
|
|
/* 02BDAD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDAD6C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAD6C */ _t101 = _t100 & 0x00000001u;
|
|
/* 02BDAD6C */ if (_t101) goto L_02BDAE08; else goto L_02BDAD70;
|
|
L_02BDAD70: ; // 0x2bdad70
|
|
/* 02BDAD70 */ _t102 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAD70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BDAD74 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BDAD78 */ Gambit_fn_02BD61D4(cpu);
|
|
/* 02BDAD7C */ _t103 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAD7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BDAD80 */ Gambit_fn_02BD4A40(cpu);
|
|
/* 02BDAD84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDAD88 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAD88 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02BDAD88 */ if (_t105) goto L_02BDAE08; else goto L_02BDAD8C;
|
|
L_02BDAD8C: ; // 0x2bdad8c
|
|
/* 02BDAD8C */ _t106 = cpu->r[30] + 0x00000054u;
|
|
/* 02BDAD8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t106);
|
|
/* 02BDAD90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDAD94 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAD94 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02BDAD94 */ if (_t108) goto L_02BDAD98; else goto L_02BDAE08;
|
|
L_02BDAD98: ; // 0x2bdad98
|
|
/* 02BDAD98 */ _t109 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAD98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BDAD9C */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BDADA0 */ _t110 = cpu->r[27] + 0x00000000u;
|
|
/* 02BDADA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02BDADA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 02BDADA8 */ _t111 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDADA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BDADAC */ cpu->r[26] = cpu->r[10] + 0x000000F8u;
|
|
/* 02BDADB0 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDADB0 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02BDADB0 */ if (_t113) goto L_02BDADB4; else goto L_02BDADDC;
|
|
L_02BDADB4: ; // 0x2bdadb4
|
|
/* 02BDADB4 */ Gambit_fn_02BD4300(cpu);
|
|
/* 02BDADB8 */ _t114 = cpu->r[26] + 0x00000004u;
|
|
/* 02BDADB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02BDADBC */ cpu->r[5] = cpu->r[3];
|
|
/* 02BDADC0 */ cpu->ctr = cpu->r[12];
|
|
/* 02BDADC4 */ cpu->r[4] = cpu->r[30] + 0x00000040u;
|
|
/* 02BDADC8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BDADCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDADD0 */ cpu->r[10] = 0x00000001u;
|
|
/* 02BDADD4 */ _t115 = cpu->r[30] + 0x00000054u;
|
|
/* 02BDADD4 */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[10]);
|
|
/* 02BDADD8 */ goto L_02BDAE08;
|
|
L_02BDADDC: ; // 0x2bdaddc
|
|
/* 02BDADDC */ _t116 = cpu->r[26] + 0x00000004u;
|
|
/* 02BDADDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02BDADE0 */ _t117 = cpu->r[3] + 0x000000C2u;
|
|
/* 02BDADE0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t117);
|
|
/* 02BDADE4 */ cpu->ctr = cpu->r[9];
|
|
/* 02BDADE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BDADEC */ cpu->r[8] = cpu->r[3] + cpu->r[0];
|
|
/* 02BDADF0 */ cpu->r[4] = cpu->r[30] + 0x00000040u;
|
|
/* 02BDADF4 */ _t118 = cpu->r[8] + 0x000000D0u;
|
|
/* 02BDADF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02BDADF8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BDADFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDAE00 */ cpu->r[10] = 0x00000001u;
|
|
/* 02BDAE04 */ _t119 = cpu->r[30] + 0x00000054u;
|
|
/* 02BDAE04 */ rbrew_write8(cpu->mem, _t119, (uint8_t)cpu->r[10]);
|
|
L_02BDAE08: ; // 0x2bdae08
|
|
/* 02BDAE08 */ _t120 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAE08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02BDAE0C */ Gambit_fn_02BD4A40(cpu);
|
|
/* 02BDAE10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDAE14 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAE14 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02BDAE14 */ if (_t122) goto L_02BDAEB8; else goto L_02BDAE18;
|
|
L_02BDAE18: ; // 0x2bdae18
|
|
/* 02BDAE18 */ _t123 = cpu->r[30] + 0x00000055u;
|
|
/* 02BDAE18 */ cpu->r[11] = rbrew_read8(cpu->mem, _t123);
|
|
/* 02BDAE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BDAE20 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAE20 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02BDAE20 */ if (_t125) goto L_02BDAEB8; else goto L_02BDAE24;
|
|
L_02BDAE24: ; // 0x2bdae24
|
|
/* 02BDAE24 */ _t126 = cpu->r[30] + 0x00000054u;
|
|
/* 02BDAE24 */ cpu->r[0] = rbrew_read8(cpu->mem, _t126);
|
|
/* 02BDAE28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDAE2C */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAE2C */ _t128 = _t127 & 0x00000001u;
|
|
/* 02BDAE2C */ if (_t128) goto L_02BDAE30; else goto L_02BDAEB8;
|
|
L_02BDAE30: ; // 0x2bdae30
|
|
/* 02BDAE30 */ _t129 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAE30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02BDAE34 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BDAE38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 02BDAE3C */ _t130 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAE3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02BDAE40 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAE40 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02BDAE40 */ if (_t132) goto L_02BDAE44; else goto L_02BDAE74;
|
|
L_02BDAE44: ; // 0x2bdae44
|
|
/* 02BDAE44 */ _t133 = cpu->r[27] + 0x00000000u;
|
|
/* 02BDAE44 */ cpu->r[26] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02BDAE48 */ Gambit_fn_02BD4300(cpu);
|
|
/* 02BDAE4C */ _t134 = cpu->r[26] + 0x000000FCu;
|
|
/* 02BDAE4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02BDAE50 */ cpu->r[5] = cpu->r[3];
|
|
/* 02BDAE54 */ cpu->ctr = cpu->r[0];
|
|
/* 02BDAE58 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BDAE5C */ cpu->r[4] = cpu->r[30] + 0x00000040u;
|
|
/* 02BDAE60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDAE64 */ _t135 = cpu->r[30] + 0x00000055u;
|
|
/* 02BDAE64 */ rbrew_write8(cpu->mem, _t135, (uint8_t)cpu->r[29]);
|
|
/* 02BDAE68 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BDAE6C */ _t136 = cpu->r[30] + 0x00000054u;
|
|
/* 02BDAE6C */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[11]);
|
|
/* 02BDAE70 */ goto L_02BDAEB8;
|
|
L_02BDAE74: ; // 0x2bdae74
|
|
/* 02BDAE74 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BDAE78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BDAE7C */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAE7C */ _t138 = _t137 & 0x00000001u;
|
|
/* 02BDAE7C */ if (_t138) goto L_02BDAE80; else goto L_02BDAEB8;
|
|
L_02BDAE80: ; // 0x2bdae80
|
|
/* 02BDAE80 */ _t139 = cpu->r[27] + 0x00000000u;
|
|
/* 02BDAE80 */ cpu->r[6] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BDAE84 */ _t140 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAE84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02BDAE88 */ _t141 = cpu->r[6] + 0x000000FCu;
|
|
/* 02BDAE88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02BDAE8C */ _t142 = cpu->r[12] + 0x000000C2u;
|
|
/* 02BDAE8C */ cpu->r[8] = rbrew_read8(cpu->mem, _t142);
|
|
/* 02BDAE90 */ cpu->ctr = cpu->r[10];
|
|
/* 02BDAE94 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BDAE98 */ cpu->r[9] = cpu->r[12] + cpu->r[7];
|
|
/* 02BDAE9C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BDAEA0 */ _t143 = cpu->r[9] + 0x000000D0u;
|
|
/* 02BDAEA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02BDAEA4 */ cpu->r[4] = cpu->r[30] + 0x00000040u;
|
|
/* 02BDAEA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDAEAC */ _t144 = cpu->r[30] + 0x00000055u;
|
|
/* 02BDAEAC */ rbrew_write8(cpu->mem, _t144, (uint8_t)cpu->r[29]);
|
|
/* 02BDAEB0 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BDAEB4 */ _t145 = cpu->r[30] + 0x00000054u;
|
|
/* 02BDAEB4 */ rbrew_write8(cpu->mem, _t145, (uint8_t)cpu->r[11]);
|
|
L_02BDAEB8: ; // 0x2bdaeb8
|
|
/* 02BDAEB8 */ _t146 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAEB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02BDAEBC */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BDAEC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02BDAEC4 */ _t147 = cpu->r[30] + 0x00000054u;
|
|
/* 02BDAEC4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t147);
|
|
/* 02BDAEC8 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAEC8 */ _t149 = _t148 & 0x00000001u;
|
|
/* 02BDAEC8 */ if (_t149) goto L_02BDAECC; else goto L_02BDAEE0;
|
|
L_02BDAECC: ; // 0x2bdaecc
|
|
/* 02BDAECC */ _t150 = cpu->r[30] + 0x00000055u;
|
|
/* 02BDAECC */ cpu->r[0] = rbrew_read8(cpu->mem, _t150);
|
|
/* 02BDAED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDAED4 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAED4 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02BDAED4 */ if (_t152) goto L_02BDAED8; else goto L_02BDAEE0;
|
|
L_02BDAED8: ; // 0x2bdaed8
|
|
/* 02BDAED8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BDAEDC */ _t153 = cpu->r[30] + 0x00000055u;
|
|
/* 02BDAEDC */ rbrew_write8(cpu->mem, _t153, (uint8_t)cpu->r[0]);
|
|
L_02BDAEE0: ; // 0x2bdaee0
|
|
/* 02BDAEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BDAEE4 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAEE4 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02BDAEE4 */ if (_t155) goto L_02BDAF08; else goto L_02BDAEE8;
|
|
L_02BDAEE8: ; // 0x2bdaee8
|
|
/* 02BDAEE8 */ _t156 = cpu->r[27] + 0x00000000u;
|
|
/* 02BDAEE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02BDAEEC */ _t157 = cpu->r[7] + 0x00000104u;
|
|
/* 02BDAEEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02BDAEF0 */ cpu->ctr = cpu->r[8];
|
|
/* 02BDAEF4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BDAEF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDAEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDAF00 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAF00 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02BDAF00 */ if (_t159) goto L_02BDAF08; else goto L_02BDAF04;
|
|
L_02BDAF04: ; // 0x2bdaf04
|
|
/* 02BDAF04 */ _t160 = cpu->r[30] + 0x00000054u;
|
|
/* 02BDAF04 */ rbrew_write8(cpu->mem, _t160, (uint8_t)cpu->r[29]);
|
|
L_02BDAF08: ; // 0x2bdaf08
|
|
/* 02BDAF08 */ _t161 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDAF08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02BDAF0C */ Gambit_fn_02BD61E4(cpu);
|
|
/* 02BDAF10 */ Gambit_fn_02BD5E10(cpu);
|
|
/* 02BDAF14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDAF18 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAF18 */ _t163 = _t162 & 0x00000001u;
|
|
/* 02BDAF18 */ if (_t163) goto L_02BDAF1C; else goto L_02BDAF84;
|
|
L_02BDAF1C: ; // 0x2bdaf1c
|
|
/* 02BDAF1C */ _t164 = cpu->r[27] + 0x00000000u;
|
|
/* 02BDAF1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02BDAF20 */ _t165 = cpu->r[9] + 0x00000134u;
|
|
/* 02BDAF20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02BDAF24 */ cpu->ctr = cpu->r[0];
|
|
/* 02BDAF28 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BDAF2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BDAF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDAF34 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAF34 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02BDAF34 */ if (_t167) goto L_02BDAF84; else goto L_02BDAF38;
|
|
L_02BDAF38: ; // 0x2bdaf38
|
|
/* 02BDAF38 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BDAF3C */ _t168 = cpu->r[30] + 0xFFFFB6C0u;
|
|
/* 02BDAF3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02BDAF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BDAF44 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAF44 */ _t170 = _t169 & 0x00000001u;
|
|
/* 02BDAF44 */ if (_t170) goto L_02BDAF84; else goto L_02BDAF48;
|
|
L_02BDAF48: ; // 0x2bdaf48
|
|
/* 02BDAF48 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BDAF4C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDAF50 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BDAF54 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BDAF58 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDAF5C */ cpu->r[5] = cpu->r[5] + 0x00004410u;
|
|
/* 02BDAF60 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BDAF64 */ _t171 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BDAF64 */ _t172 = _t171 & 0x00000001u;
|
|
/* 02BDAF64 */ if (_t172) goto L_02BDAF68; // else: addr-0 trap, fall-through
|
|
L_02BDAF68: ; // 0x2bdaf68
|
|
/* 02BDAF68 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BDAF6C */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BDAF70 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDAF74 */ cpu->r[5] = cpu->r[5] + 0x0000440Cu;
|
|
/* 02BDAF78 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BDAF7C */ _t173 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BDAF7C */ _t174 = _t173 & 0x00000001u;
|
|
/* 02BDAF7C */ if (_t174) goto L_02BDAF80; // else: addr-0 trap, fall-through
|
|
L_02BDAF80: ; // 0x2bdaf80
|
|
/* 02BDAF80 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BDAF84: ; // 0x2bdaf84
|
|
/* 02BDAF84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDAF88 */ /* nop */
|
|
/* 02BDAF8C */ _t175 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BDAF8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02BDAF90 */ cpu->lr = cpu->r[0];
|
|
/* 02BDAF94 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BDAF98 */ return;
|
|
}
|
|
|
|
// fn_02BDAF9C @ 0x2bdaf9c
|
|
void Gambit_fn_02BDAF9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BDAF9C: ; // 0x2bdaf9c
|
|
/* 02BDAF9C */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BDAFA0 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BDAFA4 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BDAFA8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BDAFAC */ _t0 = cpu->r[9] + 0x000027E0u;
|
|
/* 02BDAFAC */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BDAFAC */ cpu->r[9] = _t0;
|
|
/* 02BDAFB0 */ _t1 = cpu->r[11] + 0x000027D8u;
|
|
/* 02BDAFB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BDAFB0 */ cpu->r[11] = _t1;
|
|
/* 02BDAFB4 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BDAFB8 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BDAFB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BDAFBC */ cpu->r[11] = 0x10200000u;
|
|
/* 02BDAFC0 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BDAFC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BDAFC4 */ _t4 = cpu->r[11] + 0x000027E8u;
|
|
/* 02BDAFC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BDAFC4 */ cpu->r[11] = _t4;
|
|
/* 02BDAFC8 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BDAFC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BDAFCC */ return;
|
|
}
|
|
|
|
// fn_02BDAFD0 @ 0x2bdafd0
|
|
void Gambit_fn_02BDAFD0(CPUState* cpu) {
|
|
L_02BDAFD0: ; // 0x2bdafd0
|
|
/* 02BDAFD0 */ return;
|
|
}
|
|
|
|
// fn_02BDAFD4 @ 0x2bdafd4
|
|
void Gambit_fn_02BDAFD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02BDAFD4: ; // 0x2bdafd4
|
|
/* 02BDAFD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BDAFD8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BDAFD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDAFD8 */ cpu->r[1] = _t0;
|
|
/* 02BDAFDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDAFDC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BDAFE0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDAFE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BDAFE4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDAFE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BDAFE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDAFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDAFEC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDAFEC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BDAFF0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAFF0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BDAFF0 */ if (_t6) goto L_02BDAFF4; else goto L_02BDB004;
|
|
L_02BDAFF4: ; // 0x2bdaff4
|
|
/* 02BDAFF4 */ cpu->r[3] = 0x00000038u;
|
|
/* 02BDAFF8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BDAFFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDAFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDB000 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB000 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BDB000 */ if (_t8) goto L_02BDB084; else goto L_02BDB004;
|
|
L_02BDB004: ; // 0x2bdb004
|
|
/* 02BDB004 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BDB008 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
|
|
/* 02BDB008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BDB00C */ cpu->r[0] = cpu->r[0] + 0x000044B0u;
|
|
/* 02BDB010 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BDB014 */ _t9 = cpu->r[31] + 0x00000034u;
|
|
/* 02BDB014 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BDB018 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB018 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BDB018 */ if (_t11) goto L_02BDB01C; else goto L_02BDB02C;
|
|
L_02BDB01C: ; // 0x2bdb01c
|
|
/* 02BDB01C */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02BDB020 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BDB024 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BDB024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BDB028 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB028 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BDB028 */ if (_t13) goto L_02BDB080; else goto L_02BDB02C;
|
|
L_02BDB02C: ; // 0x2bdb02c
|
|
/* 02BDB02C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BDB02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB030 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB030 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BDB030 */ if (_t15) goto L_02BDB034; else goto L_02BDB044;
|
|
L_02BDB034: ; // 0x2bdb034
|
|
/* 02BDB034 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BDB038 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BDB03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB040 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB040 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BDB040 */ if (_t17) goto L_02BDB050; else goto L_02BDB044;
|
|
L_02BDB044: ; // 0x2bdb044
|
|
/* 02BDB044 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02BDB044 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BDB048 */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 02BDB048 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02BDB04C */ Gambit_fn_02B681A4(cpu);
|
|
L_02BDB050: ; // 0x2bdb050
|
|
/* 02BDB050 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 02BDB050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB054 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB054 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BDB054 */ if (_t21) goto L_02BDB058; else goto L_02BDB068;
|
|
L_02BDB058: ; // 0x2bdb058
|
|
/* 02BDB058 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BDB05C */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BDB060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB064 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB064 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BDB064 */ if (_t23) goto L_02BDB074; else goto L_02BDB068;
|
|
L_02BDB068: ; // 0x2bdb068
|
|
/* 02BDB068 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02BDB068 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02BDB06C */ _t25 = cpu->r[3] + 0x00000008u;
|
|
/* 02BDB06C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02BDB070 */ Gambit_fn_02B681A4(cpu);
|
|
L_02BDB074: ; // 0x2bdb074
|
|
/* 02BDB074 */ _t26 = cpu->r[29] + 0x00000028u;
|
|
/* 02BDB074 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 02BDB078 */ _t27 = cpu->r[29] + 0x00000024u;
|
|
/* 02BDB078 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02BDB07C */ _t28 = cpu->r[29] + 0x00000020u;
|
|
/* 02BDB07C */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
L_02BDB080: ; // 0x2bdb080
|
|
/* 02BDB080 */ _t29 = cpu->r[31] + 0x00000030u;
|
|
/* 02BDB080 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
L_02BDB084: ; // 0x2bdb084
|
|
/* 02BDB084 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB084 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BDB088 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BDB08C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDB090 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BDB094 */ cpu->lr = cpu->r[0];
|
|
/* 02BDB098 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BDB09C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB0A0 */ return;
|
|
}
|
|
|
|
// fn_02BDAFD8 @ 0x2bdafd8
|
|
void Gambit_fn_02BDAFD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02BDAFD8: ; // 0x2bdafd8
|
|
/* 02BDAFD8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BDAFD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDAFD8 */ cpu->r[1] = _t0;
|
|
/* 02BDAFDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDAFDC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BDAFE0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDAFE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BDAFE4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDAFE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BDAFE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDAFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDAFEC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDAFEC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BDAFF0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDAFF0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BDAFF0 */ if (_t6) goto L_02BDAFF4; else goto L_02BDB004;
|
|
L_02BDAFF4: ; // 0x2bdaff4
|
|
/* 02BDAFF4 */ cpu->r[3] = 0x00000038u;
|
|
/* 02BDAFF8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BDAFFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDAFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDB000 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB000 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BDB000 */ if (_t8) goto L_02BDB084; else goto L_02BDB004;
|
|
L_02BDB004: ; // 0x2bdb004
|
|
/* 02BDB004 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BDB008 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
|
|
/* 02BDB008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BDB00C */ cpu->r[0] = cpu->r[0] + 0x000044B0u;
|
|
/* 02BDB010 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BDB014 */ _t9 = cpu->r[31] + 0x00000034u;
|
|
/* 02BDB014 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BDB018 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB018 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BDB018 */ if (_t11) goto L_02BDB01C; else goto L_02BDB02C;
|
|
L_02BDB01C: ; // 0x2bdb01c
|
|
/* 02BDB01C */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02BDB020 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BDB024 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BDB024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BDB028 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB028 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BDB028 */ if (_t13) goto L_02BDB080; else goto L_02BDB02C;
|
|
L_02BDB02C: ; // 0x2bdb02c
|
|
/* 02BDB02C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BDB02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB030 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB030 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BDB030 */ if (_t15) goto L_02BDB034; else goto L_02BDB044;
|
|
L_02BDB034: ; // 0x2bdb034
|
|
/* 02BDB034 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BDB038 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BDB03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB040 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB040 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BDB040 */ if (_t17) goto L_02BDB050; else goto L_02BDB044;
|
|
L_02BDB044: ; // 0x2bdb044
|
|
/* 02BDB044 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02BDB044 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BDB048 */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 02BDB048 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02BDB04C */ Gambit_fn_02B681A4(cpu);
|
|
L_02BDB050: ; // 0x2bdb050
|
|
/* 02BDB050 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 02BDB050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB054 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB054 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BDB054 */ if (_t21) goto L_02BDB058; else goto L_02BDB068;
|
|
L_02BDB058: ; // 0x2bdb058
|
|
/* 02BDB058 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BDB05C */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BDB060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB064 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB064 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BDB064 */ if (_t23) goto L_02BDB074; else goto L_02BDB068;
|
|
L_02BDB068: ; // 0x2bdb068
|
|
/* 02BDB068 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02BDB068 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02BDB06C */ _t25 = cpu->r[3] + 0x00000008u;
|
|
/* 02BDB06C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02BDB070 */ Gambit_fn_02B681A4(cpu);
|
|
L_02BDB074: ; // 0x2bdb074
|
|
/* 02BDB074 */ _t26 = cpu->r[29] + 0x00000028u;
|
|
/* 02BDB074 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 02BDB078 */ _t27 = cpu->r[29] + 0x00000024u;
|
|
/* 02BDB078 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02BDB07C */ _t28 = cpu->r[29] + 0x00000020u;
|
|
/* 02BDB07C */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
L_02BDB080: ; // 0x2bdb080
|
|
/* 02BDB080 */ _t29 = cpu->r[31] + 0x00000030u;
|
|
/* 02BDB080 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
L_02BDB084: ; // 0x2bdb084
|
|
/* 02BDB084 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB084 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BDB088 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BDB08C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDB090 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BDB094 */ cpu->lr = cpu->r[0];
|
|
/* 02BDB098 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BDB09C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB0A0 */ return;
|
|
}
|
|
|
|
// fn_02BDB0A4 @ 0x2bdb0a4
|
|
void Gambit_fn_02BDB0A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02BDB0A4: ; // 0x2bdb0a4
|
|
/* 02BDB0A4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BDB0A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BDB0A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDB0A8 */ cpu->r[1] = _t0;
|
|
/* 02BDB0AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB0AC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BDB0B0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB0B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BDB0B4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB0B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BDB0B8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB0B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BDB0BC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDB0C0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB0C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BDB0C4 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 02BDB0C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDB0C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB0CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB0CC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BDB0CC */ if (_t8) goto L_02BDB13C; else goto L_02BDB0D0;
|
|
L_02BDB0D0: ; // 0x2bdb0d0
|
|
/* 02BDB0D0 */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 02BDB0D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDB0D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDB0D8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB0D8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BDB0D8 */ if (_t11) goto L_02BDB128; else goto L_02BDB0DC;
|
|
L_02BDB0DC: ; // 0x2bdb0dc
|
|
/* 02BDB0DC */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BDB0DC */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDB0E0 */ cpu->r[30] = cpu->r[31] + 0x00000008u;
|
|
/* 02BDB0E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02BDB0E8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB0E8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BDB0E8 */ if (_t14) goto L_02BDB11C; else goto L_02BDB0EC;
|
|
L_02BDB0EC: ; // 0x2bdb0ec
|
|
/* 02BDB0EC */ cpu->r[29] = 0x00000000u;
|
|
L_02BDB0F0: ; // 0x2bdb0f0
|
|
/* 02BDB0F0 */ cpu->r[12] = cpu->r[28];
|
|
/* 02BDB0F4 */ _t15 = cpu->r[28] + 0x00000004u;
|
|
/* 02BDB0F4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BDB0F8 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 02BDB0F8 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02BDB0FC */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 02BDB0FC */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02BDB100 */ _t18 = cpu->r[31] + 0x00000024u;
|
|
/* 02BDB100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BDB104 */ cpu->r[4] = cpu->r[31] + 0x00000018u;
|
|
/* 02BDB108 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 02BDB10C */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02BDB110 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BDB114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02BDB118 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB118 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BDB118 */ if (_t20) goto L_02BDB11C; else goto L_02BDB0F0;
|
|
L_02BDB11C: ; // 0x2bdb11c
|
|
/* 02BDB11C */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02BDB120 */ Gambit_fn_02B681A4(cpu);
|
|
/* 02BDB124 */ _t21 = cpu->r[31] + 0x00000030u;
|
|
/* 02BDB124 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
L_02BDB128: ; // 0x2bdb128
|
|
/* 02BDB128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB12C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB12C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BDB12C */ if (_t23) goto L_02BDB134; else goto L_02BDB130;
|
|
L_02BDB130: ; // 0x2bdb130
|
|
/* 02BDB130 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BDB134: ; // 0x2bdb134
|
|
/* 02BDB134 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BDB138 */ _t24 = cpu->r[31] + 0x00000030u;
|
|
/* 02BDB138 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
L_02BDB13C: ; // 0x2bdb13c
|
|
/* 02BDB13C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB13C */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BDB140 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB140 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BDB144 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BDB148 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB148 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BDB14C */ cpu->lr = cpu->r[0];
|
|
/* 02BDB150 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB150 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BDB154 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB158 */ return;
|
|
}
|
|
|
|
// fn_02BDB0A8 @ 0x2bdb0a8
|
|
void Gambit_fn_02BDB0A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02BDB0A8: ; // 0x2bdb0a8
|
|
/* 02BDB0A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BDB0A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDB0A8 */ cpu->r[1] = _t0;
|
|
/* 02BDB0AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB0AC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BDB0B0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB0B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BDB0B4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB0B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BDB0B8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB0B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BDB0BC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDB0C0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB0C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BDB0C4 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 02BDB0C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDB0C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB0CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB0CC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BDB0CC */ if (_t8) goto L_02BDB13C; else goto L_02BDB0D0;
|
|
L_02BDB0D0: ; // 0x2bdb0d0
|
|
/* 02BDB0D0 */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 02BDB0D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDB0D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDB0D8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB0D8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BDB0D8 */ if (_t11) goto L_02BDB128; else goto L_02BDB0DC;
|
|
L_02BDB0DC: ; // 0x2bdb0dc
|
|
/* 02BDB0DC */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BDB0DC */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDB0E0 */ cpu->r[30] = cpu->r[31] + 0x00000008u;
|
|
/* 02BDB0E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02BDB0E8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB0E8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BDB0E8 */ if (_t14) goto L_02BDB11C; else goto L_02BDB0EC;
|
|
L_02BDB0EC: ; // 0x2bdb0ec
|
|
/* 02BDB0EC */ cpu->r[29] = 0x00000000u;
|
|
L_02BDB0F0: ; // 0x2bdb0f0
|
|
/* 02BDB0F0 */ cpu->r[12] = cpu->r[28];
|
|
/* 02BDB0F4 */ _t15 = cpu->r[28] + 0x00000004u;
|
|
/* 02BDB0F4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BDB0F8 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 02BDB0F8 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02BDB0FC */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 02BDB0FC */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02BDB100 */ _t18 = cpu->r[31] + 0x00000024u;
|
|
/* 02BDB100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BDB104 */ cpu->r[4] = cpu->r[31] + 0x00000018u;
|
|
/* 02BDB108 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 02BDB10C */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02BDB110 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BDB114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02BDB118 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB118 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BDB118 */ if (_t20) goto L_02BDB11C; else goto L_02BDB0F0;
|
|
L_02BDB11C: ; // 0x2bdb11c
|
|
/* 02BDB11C */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02BDB120 */ Gambit_fn_02B681A4(cpu);
|
|
/* 02BDB124 */ _t21 = cpu->r[31] + 0x00000030u;
|
|
/* 02BDB124 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
L_02BDB128: ; // 0x2bdb128
|
|
/* 02BDB128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB12C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB12C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BDB12C */ if (_t23) goto L_02BDB134; else goto L_02BDB130;
|
|
L_02BDB130: ; // 0x2bdb130
|
|
/* 02BDB130 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BDB134: ; // 0x2bdb134
|
|
/* 02BDB134 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BDB138 */ _t24 = cpu->r[31] + 0x00000030u;
|
|
/* 02BDB138 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
L_02BDB13C: ; // 0x2bdb13c
|
|
/* 02BDB13C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB13C */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BDB140 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB140 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BDB144 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BDB148 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB148 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BDB14C */ cpu->lr = cpu->r[0];
|
|
/* 02BDB150 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB150 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BDB154 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB158 */ return;
|
|
}
|
|
|
|
// fn_02BDB15C @ 0x2bdb15c
|
|
void Gambit_fn_02BDB15C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BDB15C: ; // 0x2bdb15c
|
|
/* 02BDB15C */ cpu->r[0] = cpu->lr;
|
|
/* 02BDB160 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BDB160 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDB160 */ cpu->r[1] = _t0;
|
|
/* 02BDB164 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB164 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BDB168 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB168 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BDB16C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDB16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDB170 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BDB174 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB174 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BDB178 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB178 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BDB178 */ if (_t5) goto L_02BDB1A0; else goto L_02BDB17C;
|
|
L_02BDB17C: ; // 0x2bdb17c
|
|
/* 02BDB17C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BDB180 */ cpu->r[0] = cpu->r[0] + 0x000044B0u;
|
|
/* 02BDB184 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDB188 */ _t6 = cpu->r[31] + 0x00000034u;
|
|
/* 02BDB188 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BDB18C */ Gambit_fn_02BDB0A4(cpu);
|
|
/* 02BDB190 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BDB190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDB194 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB194 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BDB194 */ if (_t8) goto L_02BDB1A0; else goto L_02BDB198;
|
|
L_02BDB198: ; // 0x2bdb198
|
|
/* 02BDB198 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDB19C */ Gambit_fn_02B674C4(cpu);
|
|
L_02BDB1A0: ; // 0x2bdb1a0
|
|
/* 02BDB1A0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB1A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDB1A4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB1A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BDB1A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BDB1AC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB1AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDB1B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB1B4 */ return;
|
|
}
|
|
|
|
// fn_02BDB160 @ 0x2bdb160
|
|
void Gambit_fn_02BDB160(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BDB160: ; // 0x2bdb160
|
|
/* 02BDB160 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BDB160 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDB160 */ cpu->r[1] = _t0;
|
|
/* 02BDB164 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB164 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BDB168 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB168 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BDB16C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDB16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDB170 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BDB174 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB174 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BDB178 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB178 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BDB178 */ if (_t5) goto L_02BDB1A0; else goto L_02BDB17C;
|
|
L_02BDB17C: ; // 0x2bdb17c
|
|
/* 02BDB17C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BDB180 */ cpu->r[0] = cpu->r[0] + 0x000044B0u;
|
|
/* 02BDB184 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDB188 */ _t6 = cpu->r[31] + 0x00000034u;
|
|
/* 02BDB188 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BDB18C */ Gambit_fn_02BDB0A4(cpu);
|
|
/* 02BDB190 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BDB190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDB194 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB194 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BDB194 */ if (_t8) goto L_02BDB1A0; else goto L_02BDB198;
|
|
L_02BDB198: ; // 0x2bdb198
|
|
/* 02BDB198 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDB19C */ Gambit_fn_02B674C4(cpu);
|
|
L_02BDB1A0: ; // 0x2bdb1a0
|
|
/* 02BDB1A0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB1A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDB1A4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB1A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BDB1A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BDB1AC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB1AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDB1B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB1B4 */ return;
|
|
}
|
|
|
|
// fn_02BDB1B8 @ 0x2bdb1b8
|
|
void Gambit_fn_02BDB1B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BDB1B8: ; // 0x2bdb1b8
|
|
/* 02BDB1B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BDB1BC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BDB1BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDB1BC */ cpu->r[1] = _t0;
|
|
/* 02BDB1C0 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB1C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BDB1C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BDB1C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB1C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BDB1CC */ cpu->r[12] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BDB1D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000020u);
|
|
/* 02BDB1D4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB1D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BDB1D8 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB1D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BDB1DC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDB1DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BDB1E0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BDB1E4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BDB1E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BDB1E4 */ if (_t7) goto L_02BDB21C; else goto L_02BDB1E8;
|
|
L_02BDB1E8: ; // 0x2bdb1e8
|
|
/* 02BDB1E8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB1EC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDB1F0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDB1F4 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB1F4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BDB1F8 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BDB1FC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB1FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDB200 */ cpu->r[3] = cpu->r[0] | 0x00009C26u;
|
|
/* 02BDB204 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDB204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BDB208 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB208 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDB20C */ cpu->lr = cpu->r[0];
|
|
/* 02BDB210 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB210 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDB214 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BDB218 */ return;
|
|
L_02BDB21C: ; // 0x2bdb21c
|
|
/* 02BDB21C */ _t13 = cpu->r[29] + 0x00000030u;
|
|
/* 02BDB21C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BDB220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDB224 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB224 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BDB224 */ if (_t15) goto L_02BDB228; else goto L_02BDB2FC;
|
|
L_02BDB228: ; // 0x2bdb228
|
|
/* 02BDB228 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000002Cu);
|
|
/* 02BDB22C */ Gambit_fn_02B67464(cpu);
|
|
/* 02BDB230 */ cpu->r[0] = cpu->r[30] + 0x00000007u;
|
|
/* 02BDB234 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BDB238 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02BDB23C */ cpu->r[30] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02BDB240 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BDB244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB248 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB248 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BDB248 */ if (_t17) goto L_02BDB24C; else goto L_02BDB260;
|
|
L_02BDB24C: ; // 0x2bdb24c
|
|
/* 02BDB24C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BDB250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDB254 */ _t18 = cpu->r[29] + 0x00000030u;
|
|
/* 02BDB254 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 02BDB258 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB258 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BDB258 */ if (_t20) goto L_02BDB25C; else goto L_02BDB298;
|
|
L_02BDB25C: ; // 0x2bdb25c
|
|
/* 02BDB25C */ goto L_02BDB2FC;
|
|
L_02BDB260: ; // 0x2bdb260
|
|
/* 02BDB260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BDB264 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB264 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BDB264 */ if (_t22) goto L_02BDB28C; else goto L_02BDB268;
|
|
L_02BDB268: ; // 0x2bdb268
|
|
/* 02BDB268 */ cpu->ctr = cpu->r[30];
|
|
/* 02BDB26C */ cpu->r[10] = cpu->r[3];
|
|
/* 02BDB270 */ cpu->r[0] = 0x00000000u;
|
|
L_02BDB274: ; // 0x2bdb274
|
|
/* 02BDB274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BDB278 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB278 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BDB278 */ if (_t24) goto L_02BDB284; else goto L_02BDB27C;
|
|
L_02BDB27C: ; // 0x2bdb27c
|
|
/* 02BDB27C */ _t25 = cpu->r[10] + 0x00000004u;
|
|
/* 02BDB27C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02BDB280 */ _t26 = cpu->r[10] + 0x00000000u;
|
|
/* 02BDB280 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
L_02BDB284: ; // 0x2bdb284
|
|
/* 02BDB284 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02BDB288 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BDB288 */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BDB288 */ _t28 = _t27 >> (0x00000002u & 31u);
|
|
/* 02BDB288 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BDB288 */ if (_t29) goto L_02BDB274; else goto L_02BDB28C;
|
|
L_02BDB28C: ; // 0x2bdb28c
|
|
/* 02BDB28C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDB290 */ _t30 = cpu->r[29] + 0x00000030u;
|
|
/* 02BDB290 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
/* 02BDB294 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB294 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BDB294 */ if (_t32) goto L_02BDB2FC; else goto L_02BDB298;
|
|
L_02BDB298: ; // 0x2bdb298
|
|
/* 02BDB298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB29C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB29C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BDB29C */ if (_t34) goto L_02BDB2FC; else goto L_02BDB2A0;
|
|
L_02BDB2A0: ; // 0x2bdb2a0
|
|
/* 02BDB2A0 */ _t35 = cpu->r[29] + 0x00000028u;
|
|
/* 02BDB2A0 */ rbrew_write32(cpu->mem, _t35, cpu->r[3]);
|
|
/* 02BDB2A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
|
|
/* 02BDB2A8 */ _t36 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02BDB2A8 */ rbrew_write32(cpu->mem, _t36, cpu->r[31]);
|
|
/* 02BDB2AC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BDB2B0 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BDB2B0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BDB2B0 */ if (_t38) goto L_02BDB2B8; else goto L_02BDB2B4;
|
|
L_02BDB2B4: ; // 0x2bdb2b4
|
|
/* 02BDB2B4 */ cpu->r[31] = 0x00000001u;
|
|
L_02BDB2B8: ; // 0x2bdb2b8
|
|
/* 02BDB2B8 */ cpu->r[28] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000002Cu);
|
|
/* 02BDB2BC */ cpu->r[30] = 0x00000000u;
|
|
L_02BDB2C0: ; // 0x2bdb2c0
|
|
/* 02BDB2C0 */ _t39 = cpu->r[29] + 0x00000028u;
|
|
/* 02BDB2C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BDB2C4 */ cpu->r[11] = cpu->r[9] + cpu->r[28];
|
|
/* 02BDB2C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BDB2C8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB2C8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BDB2C8 */ if (_t41) goto L_02BDB2DC; else goto L_02BDB2CC;
|
|
L_02BDB2CC: ; // 0x2bdb2cc
|
|
/* 02BDB2CC */ _t42 = cpu->r[11] + 0x00000000u;
|
|
/* 02BDB2CC */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
|
|
/* 02BDB2D0 */ _t43 = cpu->r[11] + 0x00000004u;
|
|
/* 02BDB2D0 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
|
|
/* 02BDB2D4 */ _t44 = cpu->r[29] + 0x00000028u;
|
|
/* 02BDB2D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BDB2D8 */ cpu->r[11] = cpu->r[9] + cpu->r[28];
|
|
L_02BDB2DC: ; // 0x2bdb2dc
|
|
/* 02BDB2DC */ _t45 = cpu->r[29] + 0x00000024u;
|
|
/* 02BDB2DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BDB2E0 */ cpu->r[4] = cpu->r[29] + 0x00000018u;
|
|
/* 02BDB2E4 */ cpu->r[3] = cpu->r[29] + 0x00000014u;
|
|
/* 02BDB2E8 */ cpu->r[5] = cpu->r[11] + cpu->r[10];
|
|
/* 02BDB2EC */ Gambit_fn_02B681BC(cpu);
|
|
/* 02BDB2F0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BDB2F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDB2F4 */ cpu->r[28] = cpu->r[28] + 0x0000002Cu;
|
|
/* 02BDB2F8 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB2F8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BDB2F8 */ if (_t47) goto L_02BDB2FC; else goto L_02BDB2C0;
|
|
L_02BDB2FC: ; // 0x2bdb2fc
|
|
/* 02BDB2FC */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB2FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BDB300 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB300 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BDB304 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDB304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BDB308 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB308 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BDB30C */ cpu->lr = cpu->r[0];
|
|
/* 02BDB310 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB310 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BDB314 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BDB318 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BDB31C */ return;
|
|
}
|
|
|
|
// fn_02BDB1BC @ 0x2bdb1bc
|
|
void Gambit_fn_02BDB1BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02BDB1BC: ; // 0x2bdb1bc
|
|
/* 02BDB1BC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BDB1BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDB1BC */ cpu->r[1] = _t0;
|
|
/* 02BDB1C0 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB1C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BDB1C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BDB1C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB1C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BDB1CC */ cpu->r[12] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BDB1D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000020u);
|
|
/* 02BDB1D4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB1D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BDB1D8 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB1D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BDB1DC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDB1DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BDB1E0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BDB1E4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BDB1E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BDB1E4 */ if (_t7) goto L_02BDB21C; else goto L_02BDB1E8;
|
|
L_02BDB1E8: ; // 0x2bdb1e8
|
|
/* 02BDB1E8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB1EC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDB1F0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDB1F4 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB1F4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BDB1F8 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BDB1FC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB1FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDB200 */ cpu->r[3] = cpu->r[0] | 0x00009C26u;
|
|
/* 02BDB204 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDB204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BDB208 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB208 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDB20C */ cpu->lr = cpu->r[0];
|
|
/* 02BDB210 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB210 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDB214 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BDB218 */ return;
|
|
L_02BDB21C: ; // 0x2bdb21c
|
|
/* 02BDB21C */ _t13 = cpu->r[29] + 0x00000030u;
|
|
/* 02BDB21C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BDB220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDB224 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB224 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BDB224 */ if (_t15) goto L_02BDB228; else goto L_02BDB2FC;
|
|
L_02BDB228: ; // 0x2bdb228
|
|
/* 02BDB228 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000002Cu);
|
|
/* 02BDB22C */ Gambit_fn_02B67464(cpu);
|
|
/* 02BDB230 */ cpu->r[0] = cpu->r[30] + 0x00000007u;
|
|
/* 02BDB234 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BDB238 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02BDB23C */ cpu->r[30] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02BDB240 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BDB244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB248 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB248 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BDB248 */ if (_t17) goto L_02BDB24C; else goto L_02BDB260;
|
|
L_02BDB24C: ; // 0x2bdb24c
|
|
/* 02BDB24C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BDB250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDB254 */ _t18 = cpu->r[29] + 0x00000030u;
|
|
/* 02BDB254 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 02BDB258 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB258 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BDB258 */ if (_t20) goto L_02BDB25C; else goto L_02BDB298;
|
|
L_02BDB25C: ; // 0x2bdb25c
|
|
/* 02BDB25C */ goto L_02BDB2FC;
|
|
L_02BDB260: ; // 0x2bdb260
|
|
/* 02BDB260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BDB264 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB264 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BDB264 */ if (_t22) goto L_02BDB28C; else goto L_02BDB268;
|
|
L_02BDB268: ; // 0x2bdb268
|
|
/* 02BDB268 */ cpu->ctr = cpu->r[30];
|
|
/* 02BDB26C */ cpu->r[10] = cpu->r[3];
|
|
/* 02BDB270 */ cpu->r[0] = 0x00000000u;
|
|
L_02BDB274: ; // 0x2bdb274
|
|
/* 02BDB274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BDB278 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB278 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BDB278 */ if (_t24) goto L_02BDB284; else goto L_02BDB27C;
|
|
L_02BDB27C: ; // 0x2bdb27c
|
|
/* 02BDB27C */ _t25 = cpu->r[10] + 0x00000004u;
|
|
/* 02BDB27C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02BDB280 */ _t26 = cpu->r[10] + 0x00000000u;
|
|
/* 02BDB280 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
L_02BDB284: ; // 0x2bdb284
|
|
/* 02BDB284 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02BDB288 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BDB288 */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BDB288 */ _t28 = _t27 >> (0x00000002u & 31u);
|
|
/* 02BDB288 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BDB288 */ if (_t29) goto L_02BDB274; else goto L_02BDB28C;
|
|
L_02BDB28C: ; // 0x2bdb28c
|
|
/* 02BDB28C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDB290 */ _t30 = cpu->r[29] + 0x00000030u;
|
|
/* 02BDB290 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
/* 02BDB294 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB294 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BDB294 */ if (_t32) goto L_02BDB2FC; else goto L_02BDB298;
|
|
L_02BDB298: ; // 0x2bdb298
|
|
/* 02BDB298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BDB29C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB29C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BDB29C */ if (_t34) goto L_02BDB2FC; else goto L_02BDB2A0;
|
|
L_02BDB2A0: ; // 0x2bdb2a0
|
|
/* 02BDB2A0 */ _t35 = cpu->r[29] + 0x00000028u;
|
|
/* 02BDB2A0 */ rbrew_write32(cpu->mem, _t35, cpu->r[3]);
|
|
/* 02BDB2A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
|
|
/* 02BDB2A8 */ _t36 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02BDB2A8 */ rbrew_write32(cpu->mem, _t36, cpu->r[31]);
|
|
/* 02BDB2AC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BDB2B0 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BDB2B0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BDB2B0 */ if (_t38) goto L_02BDB2B8; else goto L_02BDB2B4;
|
|
L_02BDB2B4: ; // 0x2bdb2b4
|
|
/* 02BDB2B4 */ cpu->r[31] = 0x00000001u;
|
|
L_02BDB2B8: ; // 0x2bdb2b8
|
|
/* 02BDB2B8 */ cpu->r[28] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000002Cu);
|
|
/* 02BDB2BC */ cpu->r[30] = 0x00000000u;
|
|
L_02BDB2C0: ; // 0x2bdb2c0
|
|
/* 02BDB2C0 */ _t39 = cpu->r[29] + 0x00000028u;
|
|
/* 02BDB2C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BDB2C4 */ cpu->r[11] = cpu->r[9] + cpu->r[28];
|
|
/* 02BDB2C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BDB2C8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB2C8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BDB2C8 */ if (_t41) goto L_02BDB2DC; else goto L_02BDB2CC;
|
|
L_02BDB2CC: ; // 0x2bdb2cc
|
|
/* 02BDB2CC */ _t42 = cpu->r[11] + 0x00000000u;
|
|
/* 02BDB2CC */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
|
|
/* 02BDB2D0 */ _t43 = cpu->r[11] + 0x00000004u;
|
|
/* 02BDB2D0 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
|
|
/* 02BDB2D4 */ _t44 = cpu->r[29] + 0x00000028u;
|
|
/* 02BDB2D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BDB2D8 */ cpu->r[11] = cpu->r[9] + cpu->r[28];
|
|
L_02BDB2DC: ; // 0x2bdb2dc
|
|
/* 02BDB2DC */ _t45 = cpu->r[29] + 0x00000024u;
|
|
/* 02BDB2DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BDB2E0 */ cpu->r[4] = cpu->r[29] + 0x00000018u;
|
|
/* 02BDB2E4 */ cpu->r[3] = cpu->r[29] + 0x00000014u;
|
|
/* 02BDB2E8 */ cpu->r[5] = cpu->r[11] + cpu->r[10];
|
|
/* 02BDB2EC */ Gambit_fn_02B681BC(cpu);
|
|
/* 02BDB2F0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BDB2F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDB2F4 */ cpu->r[28] = cpu->r[28] + 0x0000002Cu;
|
|
/* 02BDB2F8 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB2F8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BDB2F8 */ if (_t47) goto L_02BDB2FC; else goto L_02BDB2C0;
|
|
L_02BDB2FC: ; // 0x2bdb2fc
|
|
/* 02BDB2FC */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB2FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BDB300 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB300 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BDB304 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02BDB304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BDB308 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB308 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BDB30C */ cpu->lr = cpu->r[0];
|
|
/* 02BDB310 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB310 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BDB314 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BDB318 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BDB31C */ return;
|
|
}
|
|
|
|
// fn_02BDB320 @ 0x2bdb320
|
|
void Gambit_fn_02BDB320(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_02BDB320: ; // 0x2bdb320
|
|
/* 02BDB320 */ cpu->r[0] = cpu->lr;
|
|
/* 02BDB324 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BDB324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDB324 */ cpu->r[1] = _t0;
|
|
/* 02BDB328 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB328 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BDB32C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB32C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BDB330 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB330 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BDB334 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB334 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BDB338 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDB33C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB33C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BDB340 */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BDB340 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDB344 */ cpu->r[29] = cpu->r[31] + 0x00000008u;
|
|
/* 02BDB348 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 02BDB34C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB34C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BDB34C */ if (_t8) goto L_02BDB380; else goto L_02BDB350;
|
|
L_02BDB350: ; // 0x2bdb350
|
|
/* 02BDB350 */ cpu->r[28] = 0x00000000u;
|
|
L_02BDB354: ; // 0x2bdb354
|
|
/* 02BDB354 */ cpu->r[12] = cpu->r[30];
|
|
/* 02BDB358 */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 02BDB358 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDB35C */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 02BDB35C */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 02BDB360 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 02BDB360 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 02BDB364 */ _t12 = cpu->r[31] + 0x00000024u;
|
|
/* 02BDB364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDB368 */ cpu->r[4] = cpu->r[31] + 0x00000018u;
|
|
/* 02BDB36C */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 02BDB370 */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02BDB374 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BDB378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 02BDB37C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB37C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BDB37C */ if (_t14) goto L_02BDB380; else goto L_02BDB354;
|
|
L_02BDB380: ; // 0x2bdb380
|
|
/* 02BDB380 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02BDB384 */ Gambit_fn_02B681A4(cpu);
|
|
/* 02BDB388 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB388 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BDB38C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB38C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BDB390 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BDB394 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB394 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BDB398 */ cpu->lr = cpu->r[0];
|
|
/* 02BDB39C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB39C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BDB3A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB3A4 */ return;
|
|
}
|
|
|
|
// fn_02BDB324 @ 0x2bdb324
|
|
void Gambit_fn_02BDB324(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_02BDB324: ; // 0x2bdb324
|
|
/* 02BDB324 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BDB324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDB324 */ cpu->r[1] = _t0;
|
|
/* 02BDB328 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB328 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BDB32C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB32C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BDB330 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB330 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BDB334 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB334 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BDB338 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDB33C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB33C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BDB340 */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BDB340 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BDB344 */ cpu->r[29] = cpu->r[31] + 0x00000008u;
|
|
/* 02BDB348 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 02BDB34C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB34C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BDB34C */ if (_t8) goto L_02BDB380; else goto L_02BDB350;
|
|
L_02BDB350: ; // 0x2bdb350
|
|
/* 02BDB350 */ cpu->r[28] = 0x00000000u;
|
|
L_02BDB354: ; // 0x2bdb354
|
|
/* 02BDB354 */ cpu->r[12] = cpu->r[30];
|
|
/* 02BDB358 */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 02BDB358 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BDB35C */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 02BDB35C */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 02BDB360 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 02BDB360 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 02BDB364 */ _t12 = cpu->r[31] + 0x00000024u;
|
|
/* 02BDB364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDB368 */ cpu->r[4] = cpu->r[31] + 0x00000018u;
|
|
/* 02BDB36C */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 02BDB370 */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02BDB374 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BDB378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 02BDB37C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB37C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BDB37C */ if (_t14) goto L_02BDB380; else goto L_02BDB354;
|
|
L_02BDB380: ; // 0x2bdb380
|
|
/* 02BDB380 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02BDB384 */ Gambit_fn_02B681A4(cpu);
|
|
/* 02BDB388 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB388 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BDB38C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BDB38C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BDB390 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BDB394 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB394 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BDB398 */ cpu->lr = cpu->r[0];
|
|
/* 02BDB39C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB39C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BDB3A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB3A4 */ return;
|
|
}
|
|
|
|
// fn_02BDB3A8 @ 0x2bdb3a8
|
|
void Gambit_fn_02BDB3A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02BDB3A8: ; // 0x2bdb3a8
|
|
/* 02BDB3A8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BDB3A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDB3A8 */ cpu->r[1] = _t0;
|
|
/* 02BDB3AC */ /* nop */
|
|
/* 02BDB3B0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BDB3B4 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDB3B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BDB3B8 */ cpu->r[29] = cpu->r[5];
|
|
/* 02BDB3BC */ cpu->r[27] = cpu->r[3];
|
|
/* 02BDB3C0 */ _t2 = cpu->r[27] + 0x00000020u;
|
|
/* 02BDB3C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BDB3C4 */ cpu->r[28] = cpu->r[4];
|
|
/* 02BDB3C8 */ cpu->r[30] = cpu->r[6];
|
|
/* 02BDB3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BDB3D0 */ cpu->r[24] = cpu->r[7];
|
|
/* 02BDB3D4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB3D4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BDB3D4 */ if (_t4) goto L_02BDB474; else goto L_02BDB3D8;
|
|
L_02BDB3D8: ; // 0x2bdb3d8
|
|
/* 02BDB3D8 */ cpu->r[3] = cpu->r[27] + 0x00000014u;
|
|
/* 02BDB3DC */ Gambit_fn_02B682D4(cpu);
|
|
/* 02BDB3E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BDB3E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BDB3E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB3E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BDB3E4 */ if (_t6) goto L_02BDB3F0; else goto L_02BDB3E8;
|
|
L_02BDB3E8: ; // 0x2bdb3e8
|
|
/* 02BDB3E8 */ _t7 = cpu->r[27] + 0x00000024u;
|
|
/* 02BDB3E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDB3EC */ cpu->r[31] = cpu->r[31] - cpu->r[8];
|
|
L_02BDB3F0: ; // 0x2bdb3f0
|
|
/* 02BDB3F0 */ cpu->r[25] = cpu->r[31] + 0x00000008u;
|
|
/* 02BDB3F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02BDB3F4 */ cpu->r[26] = 0x00000000u;
|
|
/* 02BDB3F8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB3F8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BDB3F8 */ if (_t9) goto L_02BDB410; else goto L_02BDB3FC;
|
|
L_02BDB3FC: ; // 0x2bdb3fc
|
|
/* 02BDB3FC */ cpu->r[3] = cpu->r[25];
|
|
/* 02BDB400 */ cpu->r[4] = 0x00000024u;
|
|
/* 02BDB404 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDB408 */ _t10 = cpu->r[25] + 0x00000010u;
|
|
/* 02BDB408 */ rbrew_write32(cpu->mem, _t10, cpu->r[26]);
|
|
/* 02BDB40C */ _t11 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02BDB40C */ rbrew_write32(cpu->mem, _t11, cpu->r[26]);
|
|
L_02BDB410: ; // 0x2bdb410
|
|
/* 02BDB410 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BDB414 */ cpu->r[4] = cpu->r[27] + 0x00000008u;
|
|
/* 02BDB418 */ cpu->r[3] = cpu->r[27] + 0x00000004u;
|
|
/* 02BDB41C */ Gambit_fn_02B681BC(cpu);
|
|
/* 02BDB420 */ cpu->r[7] = cpu->r[31] + 0x00000008u;
|
|
/* 02BDB420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BDB424 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB424 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BDB424 */ if (_t13) goto L_02BDB474; else goto L_02BDB428;
|
|
L_02BDB428: ; // 0x2bdb428
|
|
/* 02BDB428 */ _t14 = cpu->r[28] + 0x00000000u;
|
|
/* 02BDB428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BDB42C */ _t15 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02BDB42C */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02BDB430 */ _t16 = cpu->r[28] + 0x00000004u;
|
|
/* 02BDB430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BDB434 */ _t17 = cpu->r[7] + 0x00000018u;
|
|
/* 02BDB434 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[26]);
|
|
/* 02BDB438 */ _t18 = cpu->r[7] + 0x00000010u;
|
|
/* 02BDB438 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02BDB43C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BDB440 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02BDB440 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02BDB444 */ _t20 = cpu->r[7] + 0x00000008u;
|
|
/* 02BDB444 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 02BDB448 */ _t21 = cpu->r[7] + 0x00000021u;
|
|
/* 02BDB448 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[26]);
|
|
/* 02BDB44C */ _t22 = cpu->r[7] + 0x00000004u;
|
|
/* 02BDB44C */ rbrew_write32(cpu->mem, _t22, cpu->r[26]);
|
|
/* 02BDB450 */ _t23 = cpu->r[7] + 0x00000020u;
|
|
/* 02BDB450 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[26]);
|
|
/* 02BDB454 */ _t24 = cpu->r[7] + 0x00000014u;
|
|
/* 02BDB454 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 02BDB458 */ _t25 = cpu->r[7] + 0x00000009u;
|
|
/* 02BDB458 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[24]);
|
|
/* 02BDB45C */ /* nop */
|
|
/* 02BDB460 */ _t26 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDB460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BDB464 */ cpu->lr = cpu->r[0];
|
|
/* 02BDB468 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BDB46C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BDB470 */ return;
|
|
L_02BDB474: ; // 0x2bdb474
|
|
/* 02BDB474 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB478 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDB47C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDB480 */ /* nop */
|
|
/* 02BDB484 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BDB488 */ cpu->r[3] = cpu->r[0] | 0x0000942Fu;
|
|
/* 02BDB48C */ _t27 = cpu->r[1] + 0x00000034u;
|
|
/* 02BDB48C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BDB490 */ cpu->lr = cpu->r[0];
|
|
/* 02BDB494 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BDB498 */ return;
|
|
}
|
|
|
|
// fn_02BDB49C @ 0x2bdb49c
|
|
void Gambit_fn_02BDB49C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BDB49C: ; // 0x2bdb49c
|
|
/* 02BDB49C */ cpu->r[0] = cpu->lr;
|
|
/* 02BDB4A0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BDB4A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDB4A0 */ cpu->r[1] = _t0;
|
|
/* 02BDB4A4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB4A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BDB4A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB4A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BDB4AC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB4AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BDB4B0 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BDB4B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BDB4B4 */ cpu->r[10] = cpu->r[3] + 0x00000008u;
|
|
/* 02BDB4B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]);
|
|
/* 02BDB4BC */ cpu->r[31] = cpu->r[3] + 0x00000004u;
|
|
/* 02BDB4C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB4C0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BDB4C0 */ if (_t6) goto L_02BDB57C; else goto L_02BDB4C4;
|
|
L_02BDB4C4: ; // 0x2bdb4c4
|
|
/* 02BDB4C4 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02BDB4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDB4C8 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BDB4CC */ cpu->r[6] = 0x000000FDu;
|
|
L_02BDB4D0: ; // 0x2bdb4d0
|
|
/* 02BDB4D0 */ cpu->r[9] = cpu->r[7] + 0x00000014u;
|
|
/* 02BDB4D4 */ cpu->r[5] = cpu->r[9];
|
|
/* 02BDB4D8 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 02BDB4D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BDB4DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BDB4E0 */ cpu->r[8] = cpu->r[7] + 0x00000008u;
|
|
/* 02BDB4E4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB4E4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BDB4E4 */ if (_t10) goto L_02BDB4E8; else goto L_02BDB570;
|
|
L_02BDB4E8: ; // 0x2bdb4e8
|
|
/* 02BDB4E8 */ _t11 = cpu->r[5] + 0x00000004u;
|
|
/* 02BDB4E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDB4EC */ _t12 = cpu->r[4] + 0x00000004u;
|
|
/* 02BDB4EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDB4F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 02BDB4F4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB4F4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BDB4F4 */ if (_t14) goto L_02BDB4F8; else goto L_02BDB570;
|
|
L_02BDB4F8: ; // 0x2bdb4f8
|
|
/* 02BDB4F8 */ _t15 = cpu->r[8] + 0x00000009u;
|
|
/* 02BDB4F8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[11]);
|
|
/* 02BDB4FC */ cpu->r[12] = 0x10200000u;
|
|
/* 02BDB500 */ _t16 = cpu->r[8] + 0x00000008u;
|
|
/* 02BDB500 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[11]);
|
|
/* 02BDB504 */ _t17 = cpu->r[8] + 0x00000004u;
|
|
/* 02BDB504 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02BDB508 */ _t18 = cpu->r[8] + 0x00000020u;
|
|
/* 02BDB508 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[11]);
|
|
/* 02BDB50C */ _t19 = cpu->r[8] + 0x00000021u;
|
|
/* 02BDB50C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[11]);
|
|
/* 02BDB510 */ _t20 = cpu->r[8] + 0x00000000u;
|
|
/* 02BDB510 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02BDB514 */ _t21 = cpu->r[8] + 0x00000018u;
|
|
/* 02BDB514 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[11]);
|
|
/* 02BDB518 */ _t22 = cpu->r[8] + 0x00000014u;
|
|
/* 02BDB518 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 02BDB51C */ _t23 = cpu->r[12] + 0x000027F0u;
|
|
/* 02BDB51C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BDB51C */ cpu->r[12] = _t23;
|
|
/* 02BDB520 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02BDB520 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02BDB524 */ _t25 = cpu->r[12] + 0x00000004u;
|
|
/* 02BDB524 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BDB528 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFF8u;
|
|
/* 02BDB52C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDB530 */ _t26 = cpu->r[9] + 0x00000004u;
|
|
/* 02BDB530 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 02BDB534 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BDB538 */ _t27 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02BDB538 */ rbrew_write32(cpu->mem, _t27, cpu->r[6]);
|
|
/* 02BDB53C */ Gambit_fn_02B6820C(cpu);
|
|
/* 02BDB540 */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 02BDB540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BDB544 */ cpu->r[4] = cpu->r[31] + 0x00000014u;
|
|
/* 02BDB548 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02BDB54C */ cpu->r[5] = cpu->r[30] + cpu->r[0];
|
|
/* 02BDB550 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BDB554 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BDB558 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB558 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BDB55C */ cpu->lr = cpu->r[0];
|
|
/* 02BDB560 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB560 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BDB564 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB568 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BDB56C */ return;
|
|
L_02BDB570: ; // 0x2bdb570
|
|
/* 02BDB570 */ _t32 = cpu->r[7] + 0x00000004u;
|
|
/* 02BDB570 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BDB574 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]);
|
|
/* 02BDB578 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB578 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BDB578 */ if (_t34) goto L_02BDB57C; else goto L_02BDB4D0;
|
|
L_02BDB57C: ; // 0x2bdb57c
|
|
/* 02BDB57C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB580 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDB584 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDB588 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BDB58C */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB58C */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BDB590 */ cpu->r[3] = cpu->r[0] | 0x00009029u;
|
|
/* 02BDB594 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BDB598 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BDB59C */ cpu->lr = cpu->r[0];
|
|
/* 02BDB5A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB5A4 */ return;
|
|
}
|
|
|
|
// fn_02BDB4A0 @ 0x2bdb4a0
|
|
void Gambit_fn_02BDB4A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BDB4A0: ; // 0x2bdb4a0
|
|
/* 02BDB4A0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BDB4A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BDB4A0 */ cpu->r[1] = _t0;
|
|
/* 02BDB4A4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB4A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BDB4A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB4A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BDB4AC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB4AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BDB4B0 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BDB4B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BDB4B4 */ cpu->r[10] = cpu->r[3] + 0x00000008u;
|
|
/* 02BDB4B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]);
|
|
/* 02BDB4BC */ cpu->r[31] = cpu->r[3] + 0x00000004u;
|
|
/* 02BDB4C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB4C0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BDB4C0 */ if (_t6) goto L_02BDB57C; else goto L_02BDB4C4;
|
|
L_02BDB4C4: ; // 0x2bdb4c4
|
|
/* 02BDB4C4 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02BDB4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDB4C8 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BDB4CC */ cpu->r[6] = 0x000000FDu;
|
|
L_02BDB4D0: ; // 0x2bdb4d0
|
|
/* 02BDB4D0 */ cpu->r[9] = cpu->r[7] + 0x00000014u;
|
|
/* 02BDB4D4 */ cpu->r[5] = cpu->r[9];
|
|
/* 02BDB4D8 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 02BDB4D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BDB4DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BDB4E0 */ cpu->r[8] = cpu->r[7] + 0x00000008u;
|
|
/* 02BDB4E4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB4E4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BDB4E4 */ if (_t10) goto L_02BDB4E8; else goto L_02BDB570;
|
|
L_02BDB4E8: ; // 0x2bdb4e8
|
|
/* 02BDB4E8 */ _t11 = cpu->r[5] + 0x00000004u;
|
|
/* 02BDB4E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDB4EC */ _t12 = cpu->r[4] + 0x00000004u;
|
|
/* 02BDB4EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDB4F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 02BDB4F4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB4F4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BDB4F4 */ if (_t14) goto L_02BDB4F8; else goto L_02BDB570;
|
|
L_02BDB4F8: ; // 0x2bdb4f8
|
|
/* 02BDB4F8 */ _t15 = cpu->r[8] + 0x00000009u;
|
|
/* 02BDB4F8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[11]);
|
|
/* 02BDB4FC */ cpu->r[12] = 0x10200000u;
|
|
/* 02BDB500 */ _t16 = cpu->r[8] + 0x00000008u;
|
|
/* 02BDB500 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[11]);
|
|
/* 02BDB504 */ _t17 = cpu->r[8] + 0x00000004u;
|
|
/* 02BDB504 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02BDB508 */ _t18 = cpu->r[8] + 0x00000020u;
|
|
/* 02BDB508 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[11]);
|
|
/* 02BDB50C */ _t19 = cpu->r[8] + 0x00000021u;
|
|
/* 02BDB50C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[11]);
|
|
/* 02BDB510 */ _t20 = cpu->r[8] + 0x00000000u;
|
|
/* 02BDB510 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02BDB514 */ _t21 = cpu->r[8] + 0x00000018u;
|
|
/* 02BDB514 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[11]);
|
|
/* 02BDB518 */ _t22 = cpu->r[8] + 0x00000014u;
|
|
/* 02BDB518 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 02BDB51C */ _t23 = cpu->r[12] + 0x000027F0u;
|
|
/* 02BDB51C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BDB51C */ cpu->r[12] = _t23;
|
|
/* 02BDB520 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02BDB520 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02BDB524 */ _t25 = cpu->r[12] + 0x00000004u;
|
|
/* 02BDB524 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BDB528 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFF8u;
|
|
/* 02BDB52C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BDB530 */ _t26 = cpu->r[9] + 0x00000004u;
|
|
/* 02BDB530 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 02BDB534 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BDB538 */ _t27 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02BDB538 */ rbrew_write32(cpu->mem, _t27, cpu->r[6]);
|
|
/* 02BDB53C */ Gambit_fn_02B6820C(cpu);
|
|
/* 02BDB540 */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 02BDB540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BDB544 */ cpu->r[4] = cpu->r[31] + 0x00000014u;
|
|
/* 02BDB548 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02BDB54C */ cpu->r[5] = cpu->r[30] + cpu->r[0];
|
|
/* 02BDB550 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BDB554 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BDB558 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB558 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BDB55C */ cpu->lr = cpu->r[0];
|
|
/* 02BDB560 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB560 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BDB564 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB568 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BDB56C */ return;
|
|
L_02BDB570: ; // 0x2bdb570
|
|
/* 02BDB570 */ _t32 = cpu->r[7] + 0x00000004u;
|
|
/* 02BDB570 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BDB574 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]);
|
|
/* 02BDB578 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB578 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BDB578 */ if (_t34) goto L_02BDB57C; else goto L_02BDB4D0;
|
|
L_02BDB57C: ; // 0x2bdb57c
|
|
/* 02BDB57C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BDB580 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BDB584 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BDB588 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BDB58C */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02BDB58C */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BDB590 */ cpu->r[3] = cpu->r[0] | 0x00009029u;
|
|
/* 02BDB594 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BDB594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BDB598 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 02BDB598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BDB59C */ cpu->lr = cpu->r[0];
|
|
/* 02BDB5A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BDB5A4 */ return;
|
|
}
|
|
|
|
// fn_02BDB5A8 @ 0x2bdb5a8
|
|
void Gambit_fn_02BDB5A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BDB5A8: ; // 0x2bdb5a8
|
|
/* 02BDB5A8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BDB5A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BDB5AC */ cpu->r[10] = cpu->r[3] + 0x00000008u;
|
|
/* 02BDB5B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02BDB5B4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB5B4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BDB5B4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BDB5B4 */ goto L_02BDB5B8;
|
|
L_02BDB5B8: ; // 0x2bdb5b8
|
|
/* 02BDB5B8 */ cpu->r[0] = 0x00000000u;
|
|
L_02BDB5BC: ; // 0x2bdb5bc
|
|
/* 02BDB5BC */ _t3 = cpu->r[12] + 0x00000008u;
|
|
/* 02BDB5BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BDB5C0 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 02BDB5C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BDB5C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02BDB5C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB5C8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BDB5C8 */ if (_t6) goto L_02BDB5CC; else goto L_02BDB5BC;
|
|
L_02BDB5CC: ; // 0x2bdb5cc
|
|
/* 02BDB5CC */ return;
|
|
}
|
|
|
|
// fn_02BDB5D0 @ 0x2bdb5d0
|
|
void Gambit_fn_02BDB5D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BDB5D0: ; // 0x2bdb5d0
|
|
/* 02BDB5D0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BDB5D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BDB5D4 */ cpu->r[0] = cpu->r[3] + 0x00000008u;
|
|
/* 02BDB5D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02BDB5DC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB5DC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BDB5DC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BDB5DC */ goto L_02BDB5E0;
|
|
L_02BDB5E0: ; // 0x2bdb5e0
|
|
/* 02BDB5E0 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02BDB5E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
L_02BDB5E4: ; // 0x2bdb5e4
|
|
/* 02BDB5E4 */ _t4 = cpu->r[9] + 0x00000014u;
|
|
/* 02BDB5E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BDB5E8 */ cpu->r[12] = cpu->r[9] + 0x00000008u;
|
|
/* 02BDB5EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]);
|
|
/* 02BDB5F0 */ cpu->r[11] = cpu->r[9] + 0x00000014u;
|
|
/* 02BDB5F4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB5F4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BDB5F4 */ if (_t6) goto L_02BDB5F8; else goto L_02BDB620;
|
|
L_02BDB5F8: ; // 0x2bdb5f8
|
|
/* 02BDB5F8 */ _t7 = cpu->r[11] + 0x00000004u;
|
|
/* 02BDB5F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDB5FC */ _t8 = cpu->r[4] + 0x00000004u;
|
|
/* 02BDB5FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BDB600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]);
|
|
/* 02BDB604 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB604 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BDB604 */ if (_t10) goto L_02BDB608; else goto L_02BDB620;
|
|
L_02BDB608: ; // 0x2bdb608
|
|
/* 02BDB608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BDB60C */ cpu->r[7] = 0x00000001u;
|
|
/* 02BDB610 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB610 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BDB610 */ if (_t12) goto L_02BDB618; else goto L_02BDB614;
|
|
L_02BDB614: ; // 0x2bdb614
|
|
/* 02BDB614 */ cpu->r[7] = 0x00000002u;
|
|
L_02BDB618: ; // 0x2bdb618
|
|
/* 02BDB618 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02BDB618 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 02BDB61C */ return;
|
|
L_02BDB620: ; // 0x2bdb620
|
|
/* 02BDB620 */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02BDB620 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BDB624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02BDB628 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB628 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BDB628 */ if (_t16) goto L_02BDB62C; else goto L_02BDB5E4;
|
|
L_02BDB62C: ; // 0x2bdb62c
|
|
/* 02BDB62C */ return;
|
|
}
|
|
|
|
// fn_02BDB630 @ 0x2bdb630
|
|
void Gambit_fn_02BDB630(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02BDB630: ; // 0x2bdb630
|
|
/* 02BDB630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BDB634 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BDB638 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BDB638 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BDB63C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB63C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BDB63C */ if (_t2) goto L_02BDB64C; else goto L_02BDB640;
|
|
L_02BDB640: ; // 0x2bdb640
|
|
/* 02BDB640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BDB644 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB644 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BDB644 */ if (_t4) goto L_02BDB64C; else goto L_02BDB648;
|
|
L_02BDB648: ; // 0x2bdb648
|
|
/* 02BDB648 */ cpu->r[12] = 0x00000001u;
|
|
L_02BDB64C: ; // 0x2bdb64c
|
|
/* 02BDB64C */ cpu->r[6] = cpu->r[3] + 0x00000008u;
|
|
/* 02BDB650 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BDB654 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BDB658 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]);
|
|
/* 02BDB65C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB65C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BDB65C */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BDB65C */ goto L_02BDB660;
|
|
L_02BDB660: ; // 0x2bdb660
|
|
/* 02BDB660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BDB664 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB664 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BDB664 */ if (_t8) goto L_02BDB6B4; else goto L_02BDB668;
|
|
L_02BDB668: ; // 0x2bdb668
|
|
/* 02BDB668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BDB66C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB66C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BDB66C */ if (_t10) goto L_02BDB6D4; else goto L_02BDB670;
|
|
L_02BDB670: ; // 0x2bdb670
|
|
/* 02BDB670 */ cpu->ctr = cpu->r[5];
|
|
/* 02BDB674 */ cpu->r[10] = cpu->r[4];
|
|
/* 02BDB678 */ cpu->r[11] = cpu->r[8] + 0x00000014u;
|
|
L_02BDB67C: ; // 0x2bdb67c
|
|
/* 02BDB67C */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 02BDB67C */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDB680 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 02BDB680 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDB684 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 02BDB688 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB688 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BDB688 */ if (_t14) goto L_02BDB68C; else goto L_02BDB69C;
|
|
L_02BDB68C: ; // 0x2bdb68c
|
|
/* 02BDB68C */ _t15 = cpu->r[11] + 0x00000004u;
|
|
/* 02BDB68C */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BDB690 */ _t16 = cpu->r[10] + 0x00000004u;
|
|
/* 02BDB690 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BDB694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 02BDB698 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB698 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BDB698 */ if (_t18) goto L_02BDB6B4; else goto L_02BDB69C;
|
|
L_02BDB69C: ; // 0x2bdb69c
|
|
/* 02BDB69C */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02BDB6A0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BDB6A0 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BDB6A0 */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 02BDB6A0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BDB6A0 */ if (_t21) goto L_02BDB67C; else goto L_02BDB6A4;
|
|
L_02BDB6A4: ; // 0x2bdb6a4
|
|
/* 02BDB6A4 */ _t22 = cpu->r[8] + 0x00000004u;
|
|
/* 02BDB6A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BDB6A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]);
|
|
/* 02BDB6AC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB6AC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BDB6AC */ if (_t24) goto L_02BDB6B0; else goto L_02BDB660;
|
|
L_02BDB6B0: ; // 0x2bdb6b0
|
|
/* 02BDB6B0 */ return;
|
|
L_02BDB6B4: ; // 0x2bdb6b4
|
|
/* 02BDB6B4 */ _t25 = cpu->r[8] + 0x00000008u;
|
|
/* 02BDB6B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BDB6B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02BDB6BC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB6BC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BDB6BC */ if (_t27) goto L_02BDB6C0; else goto L_02BDB6C8;
|
|
L_02BDB6C0: ; // 0x2bdb6c0
|
|
/* 02BDB6C0 */ cpu->r[3] = 0x00000002u;
|
|
/* 02BDB6C4 */ return;
|
|
L_02BDB6C8: ; // 0x2bdb6c8
|
|
/* 02BDB6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BDB6CC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB6CC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BDB6CC */ if (_t29) goto L_02BDB6D0; else goto L_02BDB6D4;
|
|
L_02BDB6D0: ; // 0x2bdb6d0
|
|
/* 02BDB6D0 */ cpu->r[3] = 0x00000001u;
|
|
L_02BDB6D4: ; // 0x2bdb6d4
|
|
/* 02BDB6D4 */ _t30 = cpu->r[8] + 0x00000004u;
|
|
/* 02BDB6D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BDB6D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]);
|
|
/* 02BDB6DC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB6DC */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BDB6DC */ if (_t32) goto L_02BDB6E0; else goto L_02BDB660;
|
|
L_02BDB6E0: ; // 0x2bdb6e0
|
|
/* 02BDB6E0 */ return;
|
|
}
|
|
|
|
// fn_02BDB6E4 @ 0x2bdb6e4
|
|
void Gambit_fn_02BDB6E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BDB6E4: ; // 0x2bdb6e4
|
|
/* 02BDB6E4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BDB6E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BDB6E8 */ cpu->r[11] = cpu->r[3] + 0x00000008u;
|
|
/* 02BDB6EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02BDB6F0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB6F0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BDB6F0 */ if (_t2) goto L_02BDB72C; else goto L_02BDB6F4;
|
|
L_02BDB6F4: ; // 0x2bdb6f4
|
|
/* 02BDB6F4 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02BDB6F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
L_02BDB6F8: ; // 0x2bdb6f8
|
|
/* 02BDB6F8 */ _t4 = cpu->r[10] + 0x00000014u;
|
|
/* 02BDB6F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BDB6FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02BDB700 */ cpu->r[12] = cpu->r[10] + 0x00000014u;
|
|
/* 02BDB704 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB704 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BDB704 */ if (_t6) goto L_02BDB708; else goto L_02BDB720;
|
|
L_02BDB708: ; // 0x2bdb708
|
|
/* 02BDB708 */ _t7 = cpu->r[12] + 0x00000004u;
|
|
/* 02BDB708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDB70C */ _t8 = cpu->r[4] + 0x00000004u;
|
|
/* 02BDB70C */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BDB710 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BDB714 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB714 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BDB714 */ if (_t10) goto L_02BDB718; else goto L_02BDB720;
|
|
L_02BDB718: ; // 0x2bdb718
|
|
/* 02BDB718 */ _t11 = cpu->r[10] + 0x00000008u;
|
|
/* 02BDB718 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BDB71C */ return;
|
|
L_02BDB720: ; // 0x2bdb720
|
|
/* 02BDB720 */ _t12 = cpu->r[10] + 0x00000004u;
|
|
/* 02BDB720 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDB724 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02BDB728 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB728 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BDB728 */ if (_t14) goto L_02BDB72C; else goto L_02BDB6F8;
|
|
L_02BDB72C: ; // 0x2bdb72c
|
|
/* 02BDB72C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BDB730 */ return;
|
|
}
|
|
|
|
// fn_02BDB734 @ 0x2bdb734
|
|
void Gambit_fn_02BDB734(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BDB734: ; // 0x2bdb734
|
|
/* 02BDB734 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BDB734 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BDB738 */ cpu->r[10] = cpu->r[3] + 0x00000008u;
|
|
/* 02BDB73C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02BDB740 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB740 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BDB740 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BDB740 */ goto L_02BDB744;
|
|
L_02BDB744: ; // 0x2bdb744
|
|
/* 02BDB744 */ cpu->r[0] = 0x00000000u;
|
|
L_02BDB748: ; // 0x2bdb748
|
|
/* 02BDB748 */ _t3 = cpu->r[12] + 0x00000010u;
|
|
/* 02BDB748 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02BDB74C */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 02BDB74C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BDB750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02BDB754 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB754 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BDB754 */ if (_t6) goto L_02BDB758; else goto L_02BDB748;
|
|
L_02BDB758: ; // 0x2bdb758
|
|
/* 02BDB758 */ return;
|
|
}
|
|
|
|
// fn_02BDB75C @ 0x2bdb75c
|
|
void Gambit_fn_02BDB75C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BDB75C: ; // 0x2bdb75c
|
|
/* 02BDB75C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BDB75C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BDB760 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02BDB764 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BDB768 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB768 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BDB768 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BDB768 */ goto L_02BDB76C;
|
|
L_02BDB76C: ; // 0x2bdb76c
|
|
/* 02BDB76C */ _t3 = cpu->r[11] + 0x00000014u;
|
|
/* 02BDB76C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BDB770 */ cpu->r[7] = cpu->r[11] + 0x00000008u;
|
|
/* 02BDB774 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02BDB774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BDB778 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BDB77C */ cpu->r[10] = cpu->r[11] + 0x00000014u;
|
|
/* 02BDB780 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB780 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BDB780 */ if (_t6) goto L_02BDB784; else goto L_02BDB798;
|
|
L_02BDB784: ; // 0x2bdb784
|
|
/* 02BDB784 */ _t7 = cpu->r[10] + 0x00000004u;
|
|
/* 02BDB784 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BDB788 */ _t8 = cpu->r[4] + 0x00000004u;
|
|
/* 02BDB788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BDB78C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BDB790 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB790 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BDB790 */ if (_t10) goto L_02BDB794; else goto L_02BDB798;
|
|
L_02BDB794: ; // 0x2bdb794
|
|
/* 02BDB794 */ _t11 = cpu->r[7] + 0x00000008u;
|
|
/* 02BDB794 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[5]);
|
|
L_02BDB798: ; // 0x2bdb798
|
|
/* 02BDB798 */ _t12 = cpu->r[11] + 0x00000004u;
|
|
/* 02BDB798 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BDB79C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BDB7A0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BDB7A0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BDB7A0 */ if (_t14) goto L_02BDB7A4; else goto L_02BDB76C;
|
|
L_02BDB7A4: ; // 0x2bdb7a4
|
|
/* 02BDB7A4 */ return;
|
|
}
|
|
|